软件需求工程大作业.docx
- 文档编号:8312896
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:22
- 大小:204.27KB
软件需求工程大作业.docx
《软件需求工程大作业.docx》由会员分享,可在线阅读,更多相关《软件需求工程大作业.docx(22页珍藏版)》请在冰豆网上搜索。
软件需求工程大作业
论文要求:
(1)对所选系统进行严密的需求获取以及需求分析。
(2)给出所选系统的各层次需求,包括业务需求,用户需求,功能需求以及非功能需求。
(3)论文中给出所要实现系统的需求规格说明书。
(4)需求规格说明书要详尽,必须包括以下内容:
引言,总体描述,功能需求,接口需求以及其它非功能性需求等,符合需求规格说明书各项细则。
(5)附录中给出所选系统需求规格说明书中各图表,或者图表的获取过程.例如数据字典的具体描述或者是UML建模中图的获取过程。
(6)请根据自己的理解与体会谈谈软件需求工程过程的重要性。
也可以以软件需求工程中某知识点谈谈自己的理解与看法。
一、项目开发计划
1、引言
1.1编写目的
为了能高效的,有计划设计企业人事管理系统,此项目计划书目的是让软件程序设计人员能确定详细的项目实施范围、定义递交的工作成果、评估实施过程中的主要风险、制定项目实施的进度计划、成本和预算计划、人力资源计划等。
本报告的主要作用是确定各个项目模块的设计情况和主要的负责人的负责任务,以便每个项目模块的负责人阅读,做到及时协调,按步有序进行项目的开发.减少设计中的不必要损失。
进而能更好的更高效的完成本系统的开发。
1.2背景
(1)项目名称:
公司人事管理系统
(2)项目任务提出者:
12软件范维
(3)项目开发者:
XX团队
(4)用户:
XX公司人事管理部门
(5)实现软件中心:
XX软件设计中心
(6)项目与其他软件或其他系统的关系
此系统仅是总系统中的一个组成部分,该系统与企业的员工培训管理系统、考勤管理系统、工资管理系统等系统存在数据共享等关系。
与其他数据库可以建立链接,为其他模块相应功能的实现提供信息来源和依据。
1.3参考资料
《软件工程导论》(第5版)编著:
张海藩出版社:
清华大学出版社
《软件需求工程》编著:
毋国庆梁正平袁梦霆李勇华出版社:
机械工业出版社
2、项目概述
2.1工作内容
(1)定义阶段:
此阶段主要是立项和需求分析和计划部分,需要做出的报告和计划书:
《项目立项报告》《需求定义书》、《项目开发计划》、《配置管理计划》、《测试计划》;
(2)开发阶段:
此阶段主要是设计、编码和测试三个部分,各个部分需要做出相应的设计书或说明书:
《系统结构图》、《概要设计说明书》、《详细设计书》、《数据库设计说明书》、《数据库设计规范》、《测试报告书》;
(3)维护阶段:
此阶段主要是运行和维护部分需要做出的说明书:
《用户操作手册》和《项目部署手册》。
2.2主要参加人员
XX团队
2.3产品
2.3.1程序
系统名称:
企业人事管理系统
使用的语言:
C++
存储形式:
磁盘
2.3.2文件
项目计划书,可行性研究报告,需求分析报告,概要设计说明书,详细设计文档,测试分析报告,测试计划文档,项目开发总结报告书,系统问题报告
2.3.3服务
(1)用户登录功能
(2)人事部门信息发布功能
(3)系统管理功能
(4)员工管理功能
(5)员工自助功能
2.3.4非移交的产品
项目组内部的文档:
有《需求规格说明书》,《概要设计说明书》、《详细设计说明书》、《源代码清单》、《代码接口说明》、《测试策略》、《测试计划》、《系统测试用例》、《缺陷报告》和《最终测试结果报告》。
2.4验收标准
系统能正常运行且功能能达软件需求说明书中定义的全部功能、性能、可靠性等需求。
整个系统是否达到客户的要求,且试运行阶段不会出现两次以上故障。
2.5完成项目的最迟期限
2015年6月1日
2.6本计划的批准者和批准日期
2014年11月20日
3、实施计划
3.1工作任务的分解与人员分工
任务阶段
具体任务划分描述
负责人
计划阶段
项目开发计划
测试用例计划
配置管理计划
需求分析阶段
调研分析系统主要任务
需求规定
运行环境规定
《需求定义书》
设计阶段
接口设计、概要设计、系统出错处理设计、《概要设计说明书》
结构设计、数据库设计、运行设计、《数据库设计说明书》
实现阶段
数据库实现模块
终端控制模块
数据同步模块
后天管理中心控制模块
测试与维护
界面测试与数据确认测试
接口测试与代码走读
集成测试
测试报告书
项目交付与技术支持
用户培训
用户使用手册
项目部署手册
3.2接口人员
(1)负责本项目同用户的接口人员:
XXX
(2)负责本项目同本单位计划管理部门接口人员:
XXX
(3)负责本项目同本单位财务部门接口人员:
XXX
(4)负责本项目同本单位质量管理部门接口人员:
XXX
(5)负责本项目同各分合同负责单位的接口人员:
XXX
3.3进度
编号
任务阶段
开始日期
完成日期
所需资源
标志性事件
1
计划阶段
2
需求分析阶段
3
设计阶段
4
实现阶段
5
测试与维护
6
项目交付与技术支持
3.4预算
总体预算10,000RMB
3.5关键问题
如何提高系统的运行效率以及可靠性,应采用高效率搜索算法以及模块化设计,减少各模块之间的耦合。
对于数据库设计,应尽量减少数据冗余。
4、支持条件
团队成员:
N人
硬件设备:
电脑N台
4.1计算机系统支持
软件设备:
MicrosoftXP、SqlSever2005
本系统打算使用AdobeDreamweaverCS3作为界面和功能开发工具,使用MySQL作为后台数据库,并利用其提供的各种面向对象的开发工具进行界面和数据库开发。
系统开发过程要结合快速原型模型与增量模型的优点:
首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成可行系统。
4.2需由用户承担的工作
用户需要明确的需求说明,当有需求改动的时候需要及时提醒。
4.3需由外单位提供的条件
无
5、专题计划要点
(1)数据库模块设计
(2)数据库操作模块的实现
(3)网络同步模块的设计
(4)网络同步模块模型的实现
(5)客户终端程序接口的设计与实现
(6)后台控制中心接口设计与实现
6、交付期限
2015年6月1日
二、需求获取
1、确定需求开发计划
对于一个公司主管来说,管理整个公司是非常困难的事情。
人员复杂,变数很大。
为了让一个公司的管理更加有条理,需要一个软件将所有人员信息记录,并能做出及时修改,相信很多公司都需要这样一个软件,增加公司的管理水平与工作效率。
2、建立项目范围和目标
(1)开发商角度:
a.为客户提供便利的人事管理系统
b.将产品的功能做的齐全
c.简洁有效的产品来吸引更多的客户
d.产品的高可靠性来赢得更好的口碑
(2)开发人角度
a.使用更先进的开发技术
b.建立更完善更健全的系统
(3)使用者的管理层角度
a.对公司管理更为方便快捷
b.有效地记录员工奖惩状况与假期加班情况
3、确定调查对象
可选择的调查对象:
公司的一些基层员工
公司管理部门经理
公司总经理
4、实地收集用户需求信息
实地收集需要分析员体验公司工作环境,长期收集后得到较好的信息。
此分析过于麻烦,本此分析将不使用。
5、确定非功能需求和约束条件
安全性:
公司成员信息是公司机密,一旦泄露将有可能造成非常大的损失,所以安全性是本软件必须考虑的需求
可维护性:
如果一次故障造成整个系统瘫痪,这将导致整个公司的人员管理遇到障碍。
系统需要能被及时纠正,以便不妨碍整体的其他部分的工作。
三、需求分析
1、建立系统关联图
2、分析需求可行性
本软件应考虑的几项软件风险类型:
性能风险:
中,软件主要为数据管理功能
安全风险:
高,安全风险较为重要,这关系到一个企业的利益与机密
过程风险:
中
实现技术风险:
中
数据库风险:
高,数据库是一个公司的机密,尤其是工资和人员分配等
日程风险:
低
外部接口风险:
中
稳定风险:
高
3、确定需求的优先级
软件需求优先级从高到低的排序:
员工资料
人事管理
统计管理
系统管理
工资管理
4、需求过程
4.1业务需求:
(1)系统操作简单,界面友好。
(2)规范、完善的基础信息设置。
(3)支持多人操作,可以将权限进行分配。
(4)系统支持多条件查询。
(5)对员工信息在需要时打印不同需要的报表。
(6)支持数据更新与改变。
(7)系统存有原始数据,防止丢失。
4.2用户需求:
4.2.1员工可以实现的功能:
(1)用户注册:
主要实现员工的注册,创建自己的帐户密码
(2)用户登录:
登陆应用程序查看自己的信息
(3)修改密码:
修改用户自己的密码
4.2.2管理员实现的功能:
(1)员工调动:
查看修改员工的调动信息
(2)基本信息:
统计与查询员工基本信息
(3)员工考评:
记录员工考评信息
(4)人员调薪:
管理员工的薪水调整
(5)职称评定:
评定和记录员工的职称信息
(6)培训管理:
管理员工的培训信息
(7)报表输出:
将需要的信息以报表形式输出打印
(8)数据备份:
管理员备份数据
(9)数据恢复:
病毒,黑客等破坏数据库后对数据进行恢复
(10)系统管理:
主要对用户的密码、管理权限的设置等。
4.3功能需求
4.3.1员工信息:
统计与查询员工基本信息
4.3.2调薪信息:
管理员工的薪水调整
4.3.3培训信息:
管理员工的培训信息
4.3.4考评信息:
记录员工考评信息
4.3.5奖惩信息:
记录员工奖惩信息
4.4非功能需求
(1)软件必须严格按照设定的安全权限机制运行,并有效防止非授权用户进入本系统。
(2)软件必须提供对系统中各种码表的维护、补充操作。
(3)软件必须按照需求规定记录各种日志。
(4)软件对用户的所有误操作或不合法操作进行检查,并给出提示信息。
(5)用户必须对系统中的材料成本信息进行维护,以便软件能取得
5、建立数据字典
四、需求规格说明书
1、引言
1.1编写目的:
对于一个公司主管来说,管理整个公司是非常困难的事情。
人员复杂,变数很大。
为了让一个公司的管理更加有条理,需要一个软件将所有人员信息记录,并能做出及时修改,相信很多公司都需要这样一个软件,增加公司的管理水平与工作效率。
该软件是针对公司管理部门对公司所有员工进行详细的数据管理。
在该软件中,管理人员可以对所有数据进行修改和输入,同时,每一位员工也可以登陆后查看自己的信息。
管理人员可以对信息进行很多功能的修改与删除,例如,管理员工的薪水调整,管理员工的培训信息,记录员工考评信息和记录员工奖惩信息等,每一位员工均需要在该软件上存有信息。
1.2文档约定
使用MicrosoftOfficeWord文档编写需求规格说明书,按照文字两端对齐、表格居中对齐的排版约定进行编写。
字体大小要求合理,复合各个层级的关系。
1.3预期的读者和阅读建议
对于开发人员,应主要关注需求分析部分,了解客户对产品的要求;对于公司主管,则应关注功能分析模块,注意软件可操作项;对于经理,主要关注产品的综合描述部分,对产品的主要大致功能进行了解;对于普通员工,应主要对管理系统的各个部分关注,了解自己的哪些信息被着重记录,以便能更好的表现出色。
建议不同的身份按照目录进行部分章节的重点查看。
1.4产品的范围
本软件将主要是对某个公司的员工情况进行登记,扩大使用将失去其管理效果。
1.5参考文献
《软件工程导论》(第五版)2008年2月张海藩编著清华大学出版社
《软件需求工程》2008年8月毋国庆等编著机械工业出版社
《UML和模式应用》(第三版)2009年3月CraigLarman著机械工业出版社
2、综合描述
2.1产品的前景
本产品是根据公司的人事管理灵感开发出来,还不算比较成熟,在今后的开发中将会有进一步的升级,软件应该也会有更多的扩充功能。
相比前一个版本,此版本的功能更加多样,操作也会较之前更为流畅些。
2.2产品的功能
本产品的主要功能是人事管理,记录每一位员工的详细信息以及家庭的部分情况,并根据表现对员工情况有更好的了解。
例如哪些员工有获得过表彰,那些成员有得到惩罚,迟到等状况,薪水分配以及涨薪水等等细节部分都可以记录在软件中,每位员工可以通过登录查看自己的信息,管理人员也可方便地对每一位成员进行管理。
同时,高层领导也可以清晰地了解企业具体的状况。
2.3用户类和特征
用户类主要分为三类:
管理者,对所有成员进行事务标记
普通成员:
对自己的情况进行查看
领导层:
对总体信息进行查看,无实际操作权限。
2.4运行环境
Windows平台均可运行,几乎不与其他软件冲突。
2.5设计和实现的限制
开发时间比较短,机器限制,开发人员的数目少、经验也不足,是开发系统中主要问题管理不完善,设计时没能全得到考虑,系统的数据多处理难度高,安全保密方面的问题都会影响本项目的开发进程。
2.6假设和依赖
(1)预计开发期限:
2015年6月1日
(2)预计开发经费:
10,000RMB
3、外部接口需求
3.1用户界面
用户界面设计:
最小分辨率为800*600,最大分辨率为1366*768.界面在浏览器中居中全屏显示。
3.2硬件接口
采用USB接口方式与外部设备相连接。
3.3软件接口
这里,主要考虑软件与操作系统、数据库管理系统的接口,以及局域网和互联网软件之间的数据交换。
考虑到文档处理时有可能需要较常用的办公软件。
例如Microsoft的Office系列,所以应尽量实现它们之间的数据格式的自动转换。
3.4通信接口
该系统为了实现公司人员之间互相联系,需要在局域网下使用软件(以让每位用户能进行登录和查看),不需要再互联网中运行。
4、系统特性
4.1说明和优先级
以下是对部分功能进行的优先级的评定(1-9优先级是一次上升)
(1)用户注册:
主要实现员工的注册,创建自己的帐户密码9
(2)用户登录:
登陆应用程序查看自己的信息9
(3)修改密码:
修改用户自己的密码7
(4)员工调动:
查看修改员工的调动信息6
(5)基本信息:
统计与查询员工基本信息7
(6)员工考评:
记录员工考评信息5
(7)人员调薪:
管理员工的薪水调整5
(8)职称评定:
评定和记录员工的职称信息5
(9)培训管理:
管理员工的培训信息4
(10)报表输出:
将需要的信息以报表形式输出打印4
(11)数据备份:
管理员备份数据8
(12)数据恢复:
病毒,黑客等破坏数据库后对数据进行恢复8
(13)系统管理:
主要对用户的密码、管理权限的设置等。
9
4.2功能需求
(1)员工信息:
统计与查询员工基本信息
(2)调薪信息:
管理员工的薪水调整
(3)培训信息:
管理员工的培训信息
(4)考评信息:
记录员工考评信息
(5)奖惩信息:
记录员工奖惩信息
5、其他非功能需求
5.1性能需求
(1)软件必须严格按照设定的安全权限机制运行,并有效防止非授权用户进入本系统。
(2)软件必须提供对系统中各种码表的维护、补充操作。
(3)软件必须按照需求规定记录各种日志。
(4)软件对用户的所有误操作或不合法操作进行检查,并给出提示信息。
(5)用户必须对系统中的材料成本信息进行维护,以便软件能取得。
5.2安全设施需求
系统需要进行操作确认前保护,如果用户在使用系统时,系统突然退出(例如断电),则在编辑前的数据应得到恢复,以至于不会完全丢失。
5.3安全型需求
每位用户在查看信息时必须登录。
为防止信息得到外部泄露,每位用户注册时将需要输入公司约定的口令,以防止外人恶意进入系统。
管理员进入软件系统要有短信验证,同时,管理员修改信息是需要多位人员一致确认才可生效。
5.4软件质量属性
(1)可维护性强,要求软件的组成程序组构较为简单,因此,需要的电子设备简单易于管理和维护,具体到软件时数据库数据结构简单但庞大,参与操作的人员数量多的话,维护起来也比较简单,出错也容易修复。
(2)数据处理的功能较强,因为系统中的数据交流比较平凡且要求反应速度快、不易出错出现意外是系统的恢复能力强。
5.5业务规则
只有管理人员才能查看所有信息,只有当多位管理者确认后,某位管理员修改的信息才能得到保存。
员工要修改自己的信息或想改正错误的惩罚,需要提交申请。
管理员将在看到申请后决定是否修改员工具体信息(这可能需要员工与管理者私下协调)。
5.6用户文档
编写在线系统帮助文档和用户手册,提供在线咨询,方便用户对改系统的使用,增加界面的友好性。
6、其他需求
(1)软件用户界面系统采用对话框的方式,多功能窗口运行。
对于给出的请求,要尽量在短时间内完成解决。
(2)软件仅供公司内部使用。
任何组织和个人不得将软件传播,或者用于其他用
途,软件涉及到的相关信息将严格保密,绝对不可以泄露。
(3)软件必须按照需求规定记录各种日志
五、附录
A、词汇表
系统流程图
说明:
系统流程图是描述物理系统的工具,所谓物理系统,就是一个具体实现的系统,也就是描述一个单位、一个组织的信息处理的具体实现的系统
数据流图
说明:
数据流图(DataFlowDiagram,简称DFD),是结构化(Structured)方法中用于表示系统逻辑模型的一种工具,它描述系统由哪几部分组成,各部分之间有什么联系等,它以图形的方式描绘数据在系统中流动和处理的过程。
DFD只反映系统必须完成的逻辑功能。
数据字典
说明:
数据字典(DataDictionary,简称DD)定义了数据流图中的数据和加工,是对各个数据流、加工及数据存储的详细说明,它包含4类条目:
数据流条目、数据存储条目、数据项条目和加工条目。
B.分析模型
只将部分模型画出
用户登录
员工简历
职工信息
数据流图
薪资管理
考勤管理
C.数据字典
1、主要的数据流定义:
数据流名称:
职员情况
定义:
职员情况=职员编号+姓名+性别+年龄+电话+身份证号码+婚姻状况
数据流量:
根据公司的员工具体录用情况而定
说明:
要对每一位被聘用的新员工进行唯一编号
数据流名称:
工资查询
定义:
工资查询=工资编号+员工号+基本工资+罚款+提成+发薪日期
数据流量:
根据公司的具体情况而定
说明:
根据员工号和发薪编号可以唯一确定一个工资记录
数据流名称:
部门情况
定义:
部门记录=部门编号+部门名称+员工号+姓名+入职日期+离岗日期+调动情况
数据流量:
视公司具体情况而定
说明:
对部门的人员变动进行记录
数据流名称:
操作记录情况
定义:
操作记录情况=操作记录编号+用户编号+操作内容+发生操作的时间
数据流量:
视用户具体操作情况而定
说明:
记录每一次对数据库的操作
数据流名称:
系统用户情况
定义:
系统用户情况=用户编号+员工编号+密码+登录系统时间
数据流量:
按实际情况而定
说明:
对每一个系统用户设定唯一编号
2、主要的数据存储定义
数据存储编号:
员工记录
数据结构:
员工记录=姓名+性别+出生日期+民族+学历+职称+员工编号+部门编号
数据流量和存取频度:
根据公司具体情况而定
说明:
员工编号具有唯一性和非空性;性别:
[男|女],部门编号未外键
数据存储编号:
工资记录
数据结构:
工资记录=工资编号+员工编号+基本工资+罚款+提成+发薪日期
数据流量:
看具体情况
说明:
主码是工资编号和员工编号,外码是员工号
数据存储编号:
部门记录
数据结构:
部门记录=部门编号+部门名称+部门负责人
数据流量:
根据公司具体情况而定
说明:
记录公司的部门信息,主码设为部门编号
数据存储编号:
操作记录
数据结构:
操作记录=用户编号+操作记录编号+内容+时间
数据流量:
视用户操作具体情况而定 说明:
存储用户操作信息
数据存储编号:
用户记录
数据结构:
用户记录=用户编号+员工编号+登录密码
数据流量:
是实际情况而定。
说明:
用户编号为主键,员工号为外键
3、主要的处理:
处理名:
档案管理
输入:
用户身份、员工记录、员工情况
输出:
员工记录
处理说明:
根据员工的聘用、解聘建立或删除员工记录,以及在后续的过程中,以管理员的身份对员工的记录进行修改。
处理名:
工资管理
输入:
用户身份、工资记录
输出:
工资记录、工资查询
处理说明:
根据员工目前的工资情况进行调薪的操作
处理名:
用户管理
输入:
用户身份、用户记录、操作记录
输出:
用户记录、操作记录情况
处理说明:
增加用户;通过用户名和口令,确认用户身份
处理名:
部门管理
输入:
部门情况,部门记录、操作记录
输出:
部门记录,操作记录情况
处理说明:
根据上级的调度,对现有的公司的部门进行管理。
六、总结与感悟
软件需求工程是个非常不同寻常的学科,如果没有了解过这一方面的知识就去开发软件,将会让整个软件制造变得杂乱而没有条理。
甚至不会知道有这么一项专业的学科。
这个学科学习完时,不会感觉到有多大的感悟,但是当自己真正进入软件开发阶段时,才会发现原来这些对自己的技能是有很大帮助的。
下面是我对部分知识的理解:
需求分析是项看起来简单但又非常重要的过程,需求分析要贯穿软件开发的整个阶段,我们要向得到客户满意的产品,而且不做太多无用功,就需要实时了解客户的想法,一步步确定客户需要的东西是什么样的。
客户有时候也并不知道自己需要的是什么,与他们一步步进行沟通,慢慢进行需求分析,最后给出一份详细的规格说明,让客户更了解自己该怎样操作。
更重要的一点是,对一个个产品进行需求分析,将会非常有效地帮助开发团队进步,下次会做出更好的分析,效率会变得更高,这一点也是影响团队的经济收益的。
需求获取有一个重要的身份——需求分析员。
需求分析员的工作就是将客户与开发团队联系起来,作为两方的中间人。
对需求分析员的要求也是很高的,他最好什么都能懂,有比较全面的知识。
需求分析员可以来自开发方,可以来自客户方,甚至可以来自于两个身份之外的人员。
分析能力,协调能力,观察能力,组织能力,人际交往能力,组织能力等都是需要的。
一个好的需求分析员将会让双方的利益最大化。
最后,我认为学好需求分析还是需要实际中的锻炼,这份需求分析报告中很多问题填写起来都比较吃力,有些需要借助之前的模板才能够掌握操作与制作方式。
相信需求分析的学习也是一个漫长的过程,在实际需求分析中慢慢体验会让我对产品的需求分析工作更加熟练。
本科课程论文评分标准
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 工程 作业