软件需求分析报告

北京联合大学 信息学院

软件工程

实验报告

称:         网上教务管理系统            

姓名(学号):

       业:         计算机科学与技术            

间:            20##-04-05               

师:                       

北京联合大学-信息学院编制


软件需求分析报告文档模板

1. 引言.... 11

1.1 编写目的... 11

1.2 项目风险... 11

1.3预期读者和阅读建议... 11

1.4 产品范围... 12

2. 综合描述.... 12

2.1 产品的状况... 12

2.2 产品的功能... 13

2.3 用户类和特性... 13

2.4 运行环境... 13

3. 外部接口需求.... 14

3.1 用户界面... 14

4. 系统功能需求.... 16

4.1输入/输出数据... 17

5. 其它非功能需求.... 17

5.1 性能需求... 17

5.2 安全性需求... 18

6. 分析模型.... 20

1. 引言

商品经济化的高效益,计算机的应用已普及到经济和社会生活的各个领域.计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动.为了适应现代社会人们高度强烈的时间观念,学生成绩管理系统为教学办公带来了极大的方便. 为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。该学生成绩管理系统是以ASP网页编程+ACCESS数据库+SQL数据查询语言编写,其系统功能在内部IIS服务器上运行.系统管理员,教师,学生只需通过简单的操作,用户都可以了解本系统软件的基本工作原理.用户只需进行输入一些简单的汉字,数字,或用鼠标点击即可达到自己想要的目标。

1.1 编写目的

在完成了针对“网上教务管理系统”软件市场的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,我们提出了“网上教务管理系统”软件需求规格说明书。它全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。

高校开发一个“网上教务管理系统”,目标是建立及时、准确、全面、丰富的教学管理信息平台。系统针对教务教学信息管理的实际,紧贴用户需求,全面覆盖教学教务管理各个方面,提供强大的教学教务管理功能,充分发挥院、系教务管理的职能,提高管理水平、质量、效率,为学校宏观决策提供有力支撑。

系统分析人员首先与学校主要教学管理人员进行交流,了解学校的规模、管理的任务范围、管理情况。通过交流了解到学校各级领导和主管教学的副校长信息意识较强,大部分管理人员有一定的信息素质。

项目小组已完成了全面的市场调查和分析,同时与目标用户进行了多次深入沟通,并在此基础上着手开发《名址录》软件。

1.2 项目风险

¨         项目提出方:北京联合大学。

所要承担的主要风险:

¨         开发者:张三,李四 王五,

所要承担的主要风险:

¨         用户:在校全体学生。

所要承担的主要风险:

¨         项目与其他软件或其他系统的关系:从属与北京联合大学的校园网

1.3 预期读者和阅读建议

描述文档中,其余部分的内容及其组织结构,并且针对每一类读者提出最适合的文档阅读建议。

●  用户:在校全体学生

文档阅读建议:

●  开发人员:*******************

●  项目经理;

●  营销人员;

●  测试人员;

●  文档编写入员。

1.4 产品范围

该软件产品及其开发目的的简短描述:

利益和目标:把软件产品开发与企业目标,或者业务策略相联系。

描述产品范围时需注意:可以参考项目视图和范围文档,但是不能将其内容复制到这里。

随着业务逐渐扩大,各高校与其他院校联系将更为广泛和密切,传统的人工选课与老师录入成绩已经难以满足快节奏、高效率的现代学习生活的需求。经常发生要在几十甚至上百个同学的成绩单中找出某一个同学成绩或选课的情况,若由手工完成效率十分低。当需求扩大后,传统的手工录入非常不方便,不易查询、修改、存放,不易保密,容易遗失数据。

由计算机来管理庞大而繁杂的网上教务是非常合适的,不仅查询和修改方便,并且效率高,速度快,完全能够满足现代化公共关系活动的要求,同时也更利于实现全面办公自动化。

2. 综合描述

这一部分概述了正在定义的软件产品的作用范围以及该软件产品所运行的环境、使用该软件产品的用户、对该软件产品己知的限制、有关该软件产品的假设和依赖。

2.1 产品的状况

描述了在软件产品需求分析报告中所定义的软件产品的背景和起源。说明了该软件产品是否属于下列情况:

●  是否是产品系列中的下一成员;

●  是否是成熟产品所改进的下一代产品;

●  是否是现有应用软件的替代品(升级产品);

●  是否是一个新型的、自主型的产品。

如果该软件产品需求分析报告定义的软件系统是:

●  大系统的一个组成部分;

●  与其它系统和其它机构之间存在基本的相互关系。

那么必须说明软件产品需求分析报告定义的这部分软件是怎样与整个大系统相关联的,或者(同时)说明相互关系的存在形式,并且要定义出两者之间的全部接口。

2.2 产品的功能

因为将在需求分析报告的第4部分中详细描述软件产品的功能,所以在此只需要概略地总结。仅从业务层面陈述本软件产品所应具有的主要功能,在描述功能时应该针对每一项需求准确地描述其各项规格说明。如果存在引起误解的可能,在陈述本软件产品主要功能的作用领域时,也需要对应陈述本软件产品的非作用领域,以利读者理解本软件产品。

为了很好地组织产品功能,使每个读者都容易理解,可以采用列表的方法给出。也可以采用图形方式,将主要的需求分组以及它们之间的联系使用数据流程图的顶层图或类图进行表示,这种表示方法是很有用的。

参考用户当前管理组织构架,了解各个机构的主要职能,将有助于陈述软件产品的主要功能。

1功能:实现综合管理,包括课表查询,成绩查询,考试报名,教室课表查询,学生信息查询,打印课表。

2性能:要求性能稳定,不能出现数据丢失等情况。

3输出:要求将各种输出数据以表单形式打印。

4输入:要求系统各模块具有添加新数据的功能。

5安全与保密要求:要求系统软件具有权限功能,使不同的用户具有不同的权限,建立后的数据库需要加密。

6与软件相关的其他系统:本软件应使用Windows 98、Windows 20##、Windows XP操作系统。

7完成期限:本软件应在5个月内设计完成。

该系统的用户分两类:学生、教师。

提供给学生选课相关功能,包括网上选课、网上退课、查询选课结果、课表打印等功能;此外,还可以提供学生成绩查询、学籍录入、网上教学评估等功能。 提供给教师的功能:选课名单查询打印、学生成绩录入。

技术要求以及限定条件:学生成绩录入可以用EXCEL表导入

网上教学评估只可以对任课教师评分,非该班学生任课教师,不能对其评分。

2.3 用户类和特性

确定有可能使用该软件产品的不同用户类,并且描述它们相关的特征。往往有一些软件需求,只与特定的用户类有关。描述时,应该将该软件产品的重要用户类与非重要用户类区分开。

用户不一定是软件产品的直接使用者,通过报表、应用程序接口、系统硬件接口得到软件产品的数据和服务的人、或者机构也有他们的需求。所以,应该将这些外部需求视为通过报表、应用程序接口、系统硬件接口附加给软件产品的附加用户类。

2.4 运行环境

描述了本软件的运行环境,一般包括:

●  硬件平台;

486或更高档PC台式机,笔记本电脑,或WindowsCE;

运行时占用内存:1MB;

安装所需硬盘:5MB;

打印机:可选。

●  操作系统和版本;

●  支撑环境(例如:数据库等)和版本;

●  其它与该软件有关的软件组件;

可选软件平台:

l  中文Windows95

l  Windows95、Windows NT 4.0或更高版本 + 中文之星2.0;

l  WindowsCE + 中文平台

●  与该软件共存的应用程序。

2.5 设计和实现上的限制

确定影响开发人员自由选择的问题,并且说明这些问题为什么成为一种限制。可能的限制包括下列内容:

●  必须使用的特定技术、工具、编程语言和数据库;

●  避免使用的特定技术、工具、编程语言和数据库;

●  要求遵循的开发规范和标准

例如,如果由客户的公司或者第三方公司负责软件维护,就必须定义转包者所使用的设计符号表示和编码标准;

●  企业策略的限制;

●  政府法规的限制;

●  工业标准的限制;

●  硬件的限制

例如,定时需求或存储器限制;

●  数据转换格式标淮的限制。

3. 外部接口需求

通过本节描述可以确定,保证软件产品能和外部组件正确连接的需求。关联图仅能表示高层抽象的外部接口,必须对接口数据和外部组件进行详细描述,并且写入数据定义中。如果产品的不同部分有不同的外部接口,那么应该把这些外部接口的全部详细需求并入到这一部分实例中。

注意:必须将附加用户类的特征与外部接口需求加以区分,附加用户类的特征描述的是通过接口取得软件产品的数据和服务的人的需求;而外部接口需求描述的是接口本身的需求。

3.1 用户界面

陈述需要使用在用户界面上的软件组件,描述每一个用户界面的逻辑特征。必须注意,这里需要描述的是用户界面的逻辑特征,而不是用户界面。以下是可能包括的一些特征:

●  将要采用的图形用户界面(GUl)标准或者产品系列的风格;

●  有关屏幕布局或者解决方案的限制;

●  将要使用在每一个屏幕(图形用户界面)上的软件组件,可能包括:

n  选单;

n  标准按钮;

n  导航链接;

n  各种功能组件;

n  消息栏;

●  快捷键;

●  各种显示格式的规定,可能包括:

n  不同情况下文字的对齐方式;

n  不同情况下数字的表现格式与对齐方式

n  日期的表现方法与格式;

n  计时方法与时间格式;

n  等等。

●  错误信息显示标准;

对于用户界面的细节,例如:一个特定对话框的布局,应该写入具体的用户界面设计说明中,而不能写入软件需求规格说明中。

如果采用现成的、合适的用户界面设计规范(标准),或者另文描述,可以在这里直接说明,并且将其加入参考文献。

4. 系统功能需求(用语言描述系统的详细的功能需求)

需要进行详细的需求记录,详细列出与该系统功能相关的详细功能需求,并且,唯一地标识每一项需求。这是必须提交给用户的软件功能,使得用户可以使用所提供的功能执行服务或者使用所指定的使用实例执行任务。描述软件产品如何响应己知的出错条件、非法输入、非法动作。

如果每一项功能需求都能用一项,也只需要用一项测试用例就能进行验证,那么就可以认为功能需求已经适当地进行描述了。如果某项功能需求找不到合适的测试用例,或者必须使用多项测试用例才能验证,那么该项功能需求的描述必然存在某些问题。

功能需求是根据系统功能,即软件产品所提供的主要服务来组织的。可以通过使用实例、运行模式、用户类、对象类或者功能等级来组织这部分内容,也可以便用这些元素的组合。总而言之,必须选择一种是读者容易理解预期产品的组织方案。

用简短的语句说明功能的名称,例如:“4.1系统参数管理”。按照服务组织的顺序,逐条阐述系统功能。无论说明的是何种功能,都应该针对该系统功能重复叙述4.1~ 4.3这三个部分。

可以通过各种方式来组织这一部分内容,例如采用:使用实例、运行模式、用户类、对象类、功能等级等,也可以采用它们的组合。其最终目的是,让读者容易理解即将开发的软件产品。一般来说,每个使用实例都对应一个系统功能,因而按照使用实例来组织内容比较容易让用户理解。

对应一些被共享的独立使用实例,可以定义一些公用系统功能。

必须特别注意的是,在2.2节“产品的功能”中描述的全部需求,以及它们的规格说明;必须在某个系统功能描述中有所反映,而且不应重复。

4.1 输入/输出数据

列出输入数据(用户输入、来自外部接口的输入或者其它输入)并且定义针对这些输入数据的处理(计算)方法,以及相应地输出数据,描述对应区别:输入数据和输出数据。

当有大量数据需要描述时,也可以分类描述数据,并且注明各项数据的输入、输出属性。

对于每一项数据,均需要描述:

●  数据名称;

●  实际含义;

●  数据类型;

●  数据格式;

●  数据约束;

对于复杂的处理方法,仅仅给出算法原理是不够的,必须描述详细的计算过程,并且列出每一步具体使用的实际算式;如果计算过程中涉及查表、判断、迭代等处理方法,应该给出处理依据和相关数据。如果计算方法很简单,也可以将其从略,不加描述。

5. 其它非功能需求

在这里列举出所有非功能需求,主要包括可靠性、安全性、可维护性、可扩展性、可测试性等。

5.1 性能需求

阐述不同应用领域对软件产品性能的需求,并且说明提出需求的原理或者依据,以帮助开发人员做出合理的设计选择。尽可能详细地描述性能需求,如果需要,可以针对每个功能需求或者特征分别陈述其性能需求。在这里确定:

●  相互合作的用户数量;

●  系统支持的并发操作数量;

●  响应时间;

●  与实时系统的时间关系:

●  容量需求

n  存储器;

n  磁盘空间;

n  数据库中表的最大行数。

5.2 安全性需求

详尽陈述与系统安全性、完整性问题相关的需求,或者与个人隐私问题相关的需求。这些问题将会影响到软件产品的使用,和软件产品所创建或者使用的数据的保护。定义用户身份认证,或备授权需求。明确软件产品必须满足的安全性或者保密性策略。也可以通过称为完整性的质量属性来阐述这些需求。一个典型的软件系统安全需求范例如下:“每个用户在第一次登录后,必须更改他的系统预置登录密码,系统预置的登录密码不能重用。”

6. 分析模型

包括或涉及到相关的分析模型,例如:

●  数据流程图;

●  实体-关系图。

相关推荐