修订历史记录
1 引言
1.1 目的
该文档首先给出了整个系统的整体网络结构和功能结构的概貌,试图从总体架构上给出整个系统的轮廓,然后又对功能需求、性能需求和其它非功能性需求进行了详细的描述。其中对功能需求的描述采用了UML的用例模型方式,主要描述了每一用例的基本事件流,若有备选事件流则描述,否则则省略。而且还给出了非常直观的用例图。这些文字和图形都为了本文档能详细准确地描述用户的需求,同时也为用户更容易地理解这些需求的描述创造了条件。
该文档详尽说明了这一软件产品的需求和规格,这些规格说明是进行设计的基础,也是编写测试用例和进行系统测试的主要依据。同时,该文档也是用户确定软件功能需求的主要依据。
1.2 文档格式
本文档按以下要求和约定进行书写:
(1)页面的左边距为2.5cm,右边距为2.0cm,装订线靠左,行距为最小值20磅。
(2)标题最多分三级,分别为黑体小三、黑体四号、黑体小四,标题均加粗。
(3)正文字体为宋体小四号,无特殊情况下,字体颜色均采用黑色。
(4)出现序号的段落不采用自动编号功能而采用人工编号,各级别的序号依次为(1)、1)、a)等,特殊情况另作规定。
1.3 预期的读者和阅读建议
本文档的主要内容共分4部分:综合描述、系统特性、和非功能性需求和外部接口描述。综合描述部分主要对系统的整体结构进行了大致的介绍;系统特性部分对系统的功能需求进行了详细描述,是本文的主要部分;非功能性需求部分对非功能需求进行了详细的描述;外部接口需求部分对用户界面、软件接口、硬件接口和通讯接口等进行了描述。
本文档面向多种读者对象:
(1)项目经理:项目经理可以根据该文档了解预期产品的功能,并据此进行系统设计、项目管理。
(2)设计员:对需求进行分析,并设计出系统,包括数据库的设计。
(3)程序员:配合《设计报告》,了解系统功能,编写《用户手册》。
(4)测试员:根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试。
(5)销售人员:了解预期产品的功能和性能。
(6)用户:了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商。
(7)其他人员:如部门领导、公司领导等可以据此了解产品的功能和性能。
在阅读本文档时,首先要了解产品的功能概貌,然后可以根据自身的需要对每一功能进行适当的了解。
1.4 范围
该产品是在积累了丰富业务经验的基础上进行开发的,在需求上,充分考虑了具体用户的实际情况。本产品将主要适用于江苏省各高级中学的成绩管理,主要完成学生成绩录入、批量导入、学生成绩分析与统计等业务,也可作为学校学生与教务管理系统的一个子模块。
1.5 术语
1.6 参考文献
2 系统概述
2.1 概述
高级中学对学生的考核主要还是对学生各科成绩的考核,考试类别多、课程多,而且要随高考制度的变化不断地改变,学生多,工作量大,尤其对学生成绩的分析(如排名)统计要及时,所以成绩管理一直是学校管理中的一个重要子系统。好的管理系统可以简少老师在成绩管理上的工作量,学生可以及时查询学习成绩,学校可以快速获得考试结果,掌握教学情况,改进教学活动。
2.2 功能
图一 成绩管理系统功能
2.3 运行环境
该系统为B/S三层结构,它的运行环境分客户端、应用服务器端和数据库服务器端三部分。
以下是系统的软件环境。
(1)客户端
操作系统:Windows2000 Professional/XP或更新版本。
浏览器:IE6以上,其它常见浏览器如FireFox。
(2)应用服务器端
操作系统:Windows2000 Server或更新版本。
应用服务器:Tomcat 5.5或更新版本。
数据库访问:JDBC。
(3)数据库服务器端
操作系统:Windows2000 Server或更新版本。
数据库系统:SQLServer 2000或更新版本。
2.4 假设与依赖
本项目是否能够成功实施,主要取决于以下的条件:
(1)苏州中学能够积极地与安博配合,为了项目的开发和实施,在必要时对现有的业务流程进行合理的调整。
(2)苏州中学为安博的调研、开发和实施过程提供必要的工作环境和系统运行环境,这些环境有助于安博开展工作。
(3)苏州中学为安博提供完整的功能和性能需求资料,以便于安博对其进行分析,从而形成完善的软件需求。
(4)苏州中学为软件系统的运行提供必要的且能够满足系统运行条件的硬件环境和通讯环境,不合适的硬件环境和通讯环境将会影响系统的性能。
(5)安博掌握先进的能够适用于该项目的技术,这是系统的性能是否优化和项目能否成功的保证。
(6)苏州中学与安博具有相对稳定的项目团队,不稳定的团队将影响项目的进度和质量。
3 系统特性
3.1 系统角色
本系统主要用于学校的以下几类人员:
(1)系统管理员,完成系统管理与维护,例如,维护学生、教师及数据字典等的维护。
图二 用例图一
(2)教师,维护课程与成绩,查询所教课程的所有学生的成绩。
(3)学生则可查询自已的成绩。
图三 用例图二
3.2 学生管理
3.2.1 增加学生信息
使用者:学校有学生管理功能角色的用户。
目的:单个添加学生基本信息。
基本事件流:
1、用户进入增加单个学生界面,本用例开始;
2、系统显示学生信息输入界面,用户输入学生姓名、学号、性别、出身日期、入学日期、班级、政治面貌、籍贯。
3、用户确认输入信息,系统检查学号是否唯一,若唯一,则增加学生信息,本用例结束。否则,提示用户重新输入。
3.2.2 修改学生信息
3.2.3 删除学生信息
3.2.4 导入学生信息
使用者:学校有学生管理功能角色的用户
目的:批量导入学生信息,也可以将其他系统中学生信息按照规定的格式导入本系统。
基本事件流:
1、用户进入批量导入学生界面,本用例开始;
2、系统显示导入文件类型、格式说明、并提供导入的模板文件下载。
3、用户按照导入文件格式要求填写或生成对应文件,然后将文件上传,点击确定。
4、系统检查文件的合理性,如果文件格式有误或有数据冲突,给出详细提示列表(错误所在行、错误原因),用户修改文件后再上传,如果上传文件合理,系统将学生信息导入系统。
5、本用例结束。
3.3 教师管理
使用者:学校有教师管理功能角色的用户
目的:单个添加教师基本信息。
基本事件流:
1、用户进入增加单个教师界面,本用例开始;
2、系统显示教师信息输入界面,用户输入教师姓名、工号、性别、出身日期、工作开始日期、职务、政治面貌、籍贯。
3、用户确认输入信息,系统检查工号是否唯一,若唯一,则增加教师信息,本用例结束。否则,提示用户重新输入。
3.3.1 增加教师信息
3.3.2 修改教师信息
3.3.3 删除教师信息
3.3.4 导入教师信息
使用者:学校有教师管理功能角色的用户
目的:批量导入教师信息,可以将其他系统中教师信息按照规定的格式导入本系统。
基本事件流:
1、用户进入批量导入教师界面,本用例开始;
2、系统显示导入文件类型、格式说明、并提供导入的模板文件,供下载。
3、用户按照导入文件格式要求填写或生成对应文件,然后将文件上传,点击确定。
4、系统检查文件的合理性,如果文件格式有误码或有数据冲突,给出详细提示列表(错误所在行、错误原因),用户修改文件后再上传,如果上传文件合理,系统将教师信息导入系统。
5、本用例结束。
3.4 课程管理
3.4.1 增加课程基本信息
使用者:教师或学校有课程管理角色的用户
目的:创建新课程。
基本事件流:
1、用户进入创建新课程页面,本用例开始;
2、系统显示创建课程页面,用户输入课程名称、学期、开始日期、结束日期,并选择任课教师。
3、用户确认创建课程,系统保存新创建的课程。本用例结束。
3.4.2 修改课程基本信息
3.4.3 删除课程基本信息
3.4.4 维护课程学生信息
使用者:教师或学校有课程管理角色的用户。
目的:将学生加入已创建的课程。
基本事件流:
1、用户维护课程学生信息界面,本用例开始;
2、系统显示课程列表,用户选择要加入学生的课程,系统显示该课程已存在的学生;
3、用户选择加入新学生,系统显示学生列表,用户可通过搜索列表显示班级下的学生,用户选择要加入课程的学生
4、系统将所选学生加入前面选定的课程,本用例结束。
3.5 成绩查询
3.5.1 学生查询成绩
3.5.2 教师查询成绩
3.6 成绩分析与统计
3.6.1 考试成绩表
某学期某次考试的单个班级的考试成绩表
3.6.2 班级各科平均成绩表
某学期某次考试单个年级的各科平均成绩表
3.6.3 年级成绩排名表
某学期某次考试单个年级的年级排名表
3.7.1 数据字典维护
4 非功能性需求
4.1 性能需求
(1)客户端一般响应时间(除报表统计、数据导入)不超过1秒。
(2)报表统计时间不超过30秒。
(3)支持2000名学生信息的一次性导入,导入时间不超过300秒。
(4)支持5000名用户(高级中学可达到的规模)并发使用,并保证性能不受影响。
4.2 安全性需求
(1)权限控制
根据不同用户角色,设置相应权限,用户的重要操作都做相应的日志记录以备查看,没有权限的用户禁止使用系统。学生只可查看自已的学习成绩,教师只可查看所教课程的学生成绩
(2)重要数据加密
本系统对一些重要的数据按一定的算法进行加密,如用户口令、重要参数等。
(3)数据备份
允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失。
(4)记录日志
本系统应该能够记录系统运行时所发生的所有错误,包括本机错误和网络错误。这些错误记录便于查找错误的原因。日志同时记录用户的关键性操作信息。
4.3 可用性需求
(1)方便操作,操作流程合理
尽量从用户角度出发,以方便使用本产品。如:新增学生信息时,敲入回车键光标的自动跳转、输入法的自动转换,信息检索时输入汉语简拼快速检索到结果等。可以通过快速键方便用户录入信息,所有操作可仅通过键盘完成。
(2)支持没有计算机使用经验、计算机使用经验较少及有较多计算机使用经验的用户均能方便地使用本系统。
(3)控制必录入项
本系统能够对必须录入的项目进行控制,使用户能够确保信息录入的完整。同时对必录入项进行有效的统一的提示。
(4)容错能力
系统具有一定的容错和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证正常运行,并有足够的提示信息帮助用户有效正确地完成任务。
(5)操作完成时有统一规范的提示信息
例如删除操作时,系统可提示警示框“您确认删除记录吗?操作不可恢复!”,用户点击确认后,系统才执行删除操作,删除后可直接返回相关页面。
(6)用户可自定义
为了满足业务的不断变化,一些重要的参数应该可以灵活设置。
(7)联机帮助与操作指南。
4.4 用户文档
同本软件一起发行的用户文档包括:
(1)安装手册:Word格式文件。
(2)用户手册:Word格式文件。
(3)在线帮助:HTML Help格式文件,联机式。
4.5 其它需求
(1)支持多浏览器。
(2)系统安装方便,易于维护。
5 外部接口需求
5.1 用户接口
本系统采用B/S架构,所有界面使用WEB风格,用户界面的具体细节将在概要设计文档中描述。
5.2 硬件接口
服务器端建议使用专用服务器。
5.3 软件接口
无特殊需求。
5.4 通信接口
无特殊需求。
第二篇:软件需求规格说明书(范例)
项目管理协作支撑系统
软件需求规格说明书
目 录
1. 引言.......................................................................................................................................................................................... 4
1.1 目的................................................................................................................................................................................. 4
1.2 适用范围........................................................................................................................................................................ 4
1.3 参考资料........................................................................................................................................................................ 4
1.4 术语和缩略语................................................................................................................................................................ 4
2. 系统概述................................................................................................................................................................................ 4
2.1 产品描述........................................................................................................................................................................ 4
2.2 产品功能........................................................................................................................................................................ 5
2.3 一般约束........................................................................................................................................................................ 5
3. 功能性需求分类.................................................................................................................................................................. 5
3.1 功能描述1..................................................................................................................................................................... 8
3.2 功能描述2..................................................................................................................................................................... 8
4. 产品的非功能性需求......................................................................................................................................................... 9
4.1 外部接口说明................................................................................................................................................................ 9
4.1.1 用户接口.................................................................................................................................................................... 9
4.1.2 软件接口.................................................................................................................................................................... 9
4.2 性能需求........................................................................................................................................................................ 9
4.2.1 硬件的限制............................................................................................................................................................... 9
4.3 属性................................................................................................................................................................................. 9
4.3.1 友好性........................................................................................................................................................................ 9
4.3.2 安全性........................................................................................................................................................................ 9
4.3.3 可维护性.................................................................................................................................................................... 9
4.3.4 可转移/换性........................................................................................................................................................... 10
4.4系统的运行环境............................................................................................................................................................... 10
4.5 其他需求...................................................................................................................................................................... 10
4.5.1 用户操作需求......................................................................................................................................................... 10
附录A:需求确认...................................................................................................................................................................... 10
1. 引言
1.1 目的
编写此文档的目的是进一步定制软件开发的细节问题,希望能使本软件开发工作更具体。
是为使用户、软件开发者及分析人员对该软件的初始规定有一个共同的理解,它说明了本产品的各项功能需求、性能需求和数据要求,明确标识各功能的实现过程,阐述实用背景及范围,提供客户解决问题或达到目标所需的条件或权能,提供一个度量和遵循的基准。
1.2 适用范围
在各个行业中,当我们接受到用户的商业项目后,在项目运行的全过程中充满了不确定因素,只有有效的运用项目管理的科学和艺术,才有可能使项目取得成功。对以上方面要想达到有效的管理水平,必须有一套科学的管理方法,但是即使有了科学的管理方法,由于项目干系人之间的沟通、协作不到位,往往达不到预期的结果。鉴于这种情况我们开发一套项目管理协作支撑系统,旨在为项目干系人提供一个交流、协作以及项目的进度跟踪监控、项目的质量控制、项目相关资源的管理的软件平台,从而提高项目管理水平,实现了工作的协同化、提高了工作效率。
1.3 参考资料
1.4 术语和缩略语
2. 系统概述
2.1 产品描述
本项目的目标是:
<1>决策支持: 根据项目的需求及时提供所需信息,并在一定阶段对各模块的进度进行追踪及提示,实现工作的协同化、提高了工作效率。
<2>提高效率:利用软件进行管理,避免人工管理的失误以及延迟性,从而实现高效率的管理。
本系统主要在软件开发行业使用,也可对其他行业项目能够做到粗粒度支撑。使用者包括项目管理人员,软件编程人员,测试人员等,这些人员在计算机的应用、使用上不存在障碍,都在、计算机的操作和使用方面得到过相关的培训根据业务的频繁程度。
本体统的功能接受如下图所示:
2.2 产品功能
2.2.1 系统用例模型
2.2.2 业务流模型:
业务流程模型说明:项目管理员注册项目站点,对项目站点进行管理,对项目管理分为三个阶段。
2.3 一般约束
假定:用户能够提供交付测试的环境;用户能够参与到需求的核准工作;
约束:本系统的最后的交付日期是20##-10-08;
设计和实现上的限制: 基于.NET架构进行开发;使用SqlServer2000数据库;
3. 功能性需求分类
3.1 项目管理员管理站点
项目管理员根据所需项目功能选择适合自己的模版,设计自己喜欢的风格界面。
3.1.1 项目通告通知信息的发布及管理
1. 功能说明:
项目管理员可以把与项目相关的信息或者相关新闻根据该功能发布给项目成员;
2. 参与者:项目管理员,项目成员;
3. 功能用例图:
3.1.2 项目的任务分配管理及信息发布
1. 功能说明:
项目管理员根据项目需求创建项目任务,再向项目成员分配项目任务,把分配任务以信息的形式发布给项目成员;
2. 参与者: 项目管理员,项目成员;
3. 功能用例图:
3.1.3 项目的文档管理
1. 功能说明:
项目管理员根据项目需求把与项目相关的项目文档(需求规格说明书,数据库分析说明书,用例图等)发布,项目成员可以把相关的项目文档下载到本地,项目管理员可以指派项目成员管理项目文档(添加,修改)。
2. 参与者:项目管理员,项目成员;
3. 功能用例图:
3.1.4 项目的进度规划及跟踪监控
1. 功能说明:
项目管理员根据项目需求将项目分配给项目成员后,在完成项目的过程当中,项目成员定时提交项目完成的百分比(按条状图显示),项目管理者随时了解项目成员的完成情况,可以有效把握项目进度,使项目能够按时提交用户。
1. 参与者:项目管理员,项目成员;
2. 功能用例图:
3.1.5 项目成员的工作日志发布及管理
1. 功能说明:
项目成员在每一天工作结束的时候把自己在这一天所做的工作情况向项目管理者汇报,再把明天计划要做的东西也要向项目管理者汇报。
2. 参与者:项目成员;
3. 功能用例图:
3.1.6 项目bug发布及跟踪
1. 功能说明:
当项目进行到测试阶段,测试人员根据项目需求测试项目,如有错误,测试人员将bug信息发布到bug公布栏,其状态为‘待修改’。当程序员看到bug信息,及时修改项目当中存在的bug,修改完成后再将项目bug信息的状态修改为‘待测试’,测试人员再进行二次测试,直到测试通过,状态修改为‘通过测试’。
2. 参与者: 测试人员,项目成员;
3. 功能用例图:
3.1.7 项目邮件子系统
1. 功能说明:
该模块有两种功能:
1.向任何人(如163,搜狐等)发电子邮件.
2.向项目成员内部发消息(纸条),发送消息时可以选择接收人员,当发送者发出消息后,接收者打开站点时提示有未读消息,阅读后改成以读消息。
2. 参与者:项目管理员,项目成员;
3. 功能用例图:
3.1.8 项目相关主题讨论发布及管理
1. 功能说明:
项目管理员或者项目成员可以利用该功能发布项目相关的讨论主题,其他人员可以对其主题进行相关的讨论(和网上的论坛有点相似)。
2. 参与者:站点内部人员;
3. 功能用例图:
3.1.9 项目应用资料发布及管理
1. 功能说明:
项目管理员和项目成员可以随时将项目相关资料(参考资料)发布,项目成员可以阅读或下载。
2. 参与者: 项目管理员,项目成员;
3. 功能用例图:
3.1.10 项目网络会议白板系统
1. 功能说明:
项目管理员可以根据项目完成情况在项目成员间进行交流讨论,也可以邀请其他人员参加会议,相当于一个网上会议。
2. 参与者: 站点内部人员,被邀请人员;
3. 功能用例图:
3.1.11 项目名片共享
……
4. 产品的非功能性需求
4.1 外部接口说明
4.1.1 用户接口
【提供用户使用软件产品时的接口需求。】
4.1.2 软件接口
【在此要指定需使用的其他软件产品,以及同其他应用系统之间的接口。】
4.2 性能需求
【从整体来说,本条应具体说明软件、或人与软件交互的静态或动态数值需求。
a.静态数值需求可能包括:
1)支持的终端数;
2)支持并行操作的用户数;
3)系统响应的时间特性;
b.动态数值需求可能包括:欲处理的事务和任务的数量,以及在正常情况下和峰值工作条件下一定时间周期中处理的数据总量。】
4.2.1 硬件的限制
【本项包括在各种硬件约束下运行的软件要求,例如,应该包括:
a.硬件配置的特点(接口数,指令系统等);
b.内存储器和辅助存储器的容量。】
4.3 属性
【在软件的需求之中有若干个属性,以下指出其中的几个】
4.3.1 友好性
【指的是用户对界面的要求,程序界面友好度,可操作性等友好性信息】
4.3.2 安全性
【指的是保护软件的要素,以防止各种非法的访问、使用、修改、破坏或者 泄密。这个领域的具体需求必须包括:
a. 利用可靠的密码技术;
b. 掌握特定的记录或历史数据集;
c. 给不同的模块分配不同的功能;
d. 计算临界值的检查。】
4.3.3 可维护性
【规定若干需求以确保软件是可维护的。】
4.3.4 可转移/换性
【利用开发平台提供的数据转换功能,可以实现跨平台数据转换,实现不同数据库数据间的数据转换,如:FoxPro、Access、Microsoft SQL Server间的数据转换。】
4.4系统的运行环境
【系统的起始运行时间,结束运行时间,运行的时限,运行的周期等。】
4.5 其他需求
4.5.1 用户操作需求
【这里说明用户要求的常规的和特殊的操作。
a.在用户组织之中各种方式的操作。例如,用户初始化操作;
b.数据处理运行功能;
c.后援和恢复操作。】
5. E-R图和数据字典抽取
5.1 E-R图
根据以上的分析,把在整个系统过程中出现的实体及各个实体之间的关联画成E-R图,以更好的从整体角度了解系统中所有的实体。比如:
5.2 数据字典
对系统中出现的各个实体的属性进行整理,形成数据字典,此可以做为后继开发过程中数据结构设计、数据库设计、数据库表结构设计的主要来源。格式如下例所示: