软件工程需求分析模板.docx
《软件工程需求分析模板.docx》由会员分享,可在线阅读,更多相关《软件工程需求分析模板.docx(21页珍藏版)》请在冰豆网上搜索。
软件工程需求分析模板
软件开发的过程
需求分析->概要设计->详细设计->编码->测试->产品提交->维护
需求分析基本结构
需求调查:
《用户需求说明书》
需求分析:
需求确认:
产品需求规格说明书
1.需求分析
1.导言
1.1目的:
编写目的,预期读者
1.2背景:
待开发的产品名称,项目的任务提出者、开发者、用户,该系统同其他系统的关系。
1.3缩写说明
1.4术语定义
1.5引用标准
1.6参考资料
1.7版本更新信息
2.系统定义
2.1项目来源及背景
2.2用户特点
2.3项目目标:
项目要达到的目标,如市场目标、技术目标等。
2.5假定和约束
3.运行环境
硬件环境、软件环境、网络环境等。
4.需求规定
4.1角色确认
4.2用例识别
4.3功能描述
功能类别
功能名称、标识符
描述
功能
说明
企业数据管理
企业信息修改
招聘信息浏览、删除、添加、修改
应聘信息浏览、查看、回复
个人数据管理
个人简历
技能信息
职位申请列表、删除
系统管理
企业管理(浏览、添加、删除、修改)
新闻管理
个人用户管理(浏览、删除)
信息查询
职位信息
企业信息
人才信息
新闻查看
用户管理
个人用户注册
登录验证
密码修改
对功能的定义:
定义系统的组成部分分别描述其功能。
用UML:
角色定义
用例图
用例简介,具体描述如下:
用例描述
执行者
前置条件
后置条件
基本路径
用例名称
用例ID
参与者
描述
风险
优先级
难度
启动
前置条件
后置条件
主事件流
用户
系统
异常流
4.4非功能性需求
4.4.1对性能的规定
精度,可靠性,时间特性要求,灵活性,安全性,输入输出要求等。
4.4.2界面需求
运行环境
需求分析样例
网上人才招聘系统需求规格说明书
1.引言
1.1目的
该文挡是关于用户对于网上招聘系统的功能和性能的要求,重点描述了网上招聘系统的功能需求。
预期的读者是设计人员,开发人员,项目管理人员,测试人员,用户。
1.2背景
产品名称:
网上招聘系统。
项目提出者:
北京市某公司。
项目开发者:
YSL公司。
最终用户:
企业人力管理人员及网上用户。
1.3缩写说明
HR:
HumanResource(人力资源管理)缩写
JSP:
JavaServerPage(Java服务器页面)缩写,一个脚本化的语言。
UML:
UnifiedModelingLanguage(统一建模型语言)缩写,一种标准的建模语言。
1.4术语定义
无
1.5引用标准
《企业文档格式标准》北京YSL软件有限公司
《需求规格说明书格式标准》北京YSL软件有限公司
1.6参考资料
《UML说明》北京YSL软件有限公司
《需求规格说明书格式标准》北京YSL软件有限公司
1.7版本更新信息
本文档的更新记录如表A-1所示。
表A-1版本更新记录
修改编号
修改日期
修改后版本
修改位置
修改内容概述
001
2008-8-10
0.1
全部
初始发布版本
002
2008-9-6
0.2
第2.1节
修改
2.系统定义
我们分别阐述一下项目的来源、背景,项目的用户特点和目标。
2.1项目来源及背景
本项目是为某公司开发的一个网上人才招聘系统。
2.2用户特点
本系统的用户都是网络用户,包括两大类,一类是应聘者,他们的差异比较大,有的学历很高,有的可能很低;有的经验很丰富,有的可能没有经验等。
另外一类用户是管理用户,他们是公司内部的人,主要是人力资源管理人员和系统管理人员。
人力资源管理人员对招聘业务很熟悉,系统管理人员对系统很熟悉。
2.3项目目标
本项目设定的目标如下:
●系统能够提供友好的用户界面,是操作人员的工作量最大限度地减少;
●系统具有良好的运行效率,能够达到提高生产率的目的;
●系统应有良好的可扩充性,可以容易地加入其他系统的应用;
●平台的设计具有一定的超前性、灵活性,能够适应企业生产配置的变化;
●通过这个项目可以锻炼队伍,提高团队的开发能力和项目管理能力。
3应用环境
3.1系统运行的网络环境
系统的网络运行图如图A-2所示。
无论是客户端的应聘者还是管理者都可以通过网络登录到本系统中。
4.功能规格
我们采用面向对象分析作为主要的系统建模型方法,使用UML做为建模语言。
通过识别角色,描述用例类明确系统的功能。
4.1角色定义
角色或者执行者指与系统产生交互的外部用户或者外部系统。
系统用户有三大类,应聘者,企业人力资源管理者,系统管理员。
外部系统主要是数据库。
应聘者是指在这个网络招聘系统中通过客户端提交简历信息的人员,这个角色主要参与客户端的职位查询、填写简历、回答问题、提交简历等功能。
HR(人力资源)管理者和系统管理员。
HR管理者是指在网络招聘系统中通过管理端参与公司人力资源管理工作的人员。
系统管理员是指对网络招聘系统尽心相关设置、进行系统维护的人员,他也是通过管理端登录对用户进行设置、分配权限等,他们的管理如图A-3所示。
4.2系统主要用例
网上招聘系统可以分为两个主要的组成部分,一个是客户端子系统,一个是管理端子系统。
客户端子系统功能主要是指应聘者通过登录招聘网站进行操作的功能,即应聘功能。
管理端子系统是招聘公司管理人员发布招聘职位,整理招聘者简历,面试等功能。
系统主要用例图如图A-4所示。
4.3客户子系统
应聘者通过进入到招聘网站,可以查看网站新闻,查询企业信息,查询职位信息,注册用户。
登录用户还可以申请职位,修改个人数据和密码。
图A-是它的用例图。
活动图如A所示。
客户端子系统用例图
4.3.1查询企业信息
应聘者进入到招聘网站可以浏览、查询企业信息。
用例描述:
信息浏览;
执行者:
应聘者;
前置条件:
应聘者进入网站,不需要登录。
如果要查看具体信息,需要先登录。
后置条件:
找到企业后可以查看该企业的信息也可以进一步地查看该企业发布的招聘职位。
基本路径:
4.3.2查询职位信息
应聘者进入到招聘网站可以浏览、查询招聘职位信息。
用例描述:
查询职位信息;
执行者:
应聘者;
前置条件:
应聘者进入网站,不需要登录。
如果要查看具体信息,需要先登录。
后置条件:
找到招聘职位后可以查看招聘职位。
基本路径:
4.3.3新闻查看
应聘者进入到招聘网站可以查看网站的新闻。
用例描述:
新闻查看;
执行者:
应聘者;
前置条件:
应聘者进入网站,不需要登录。
后置条件:
浏览新闻,选择后查看新闻内容。
基本路径:
4.3.1注册
应聘者进入到招聘网站可以浏览、查询招聘职位信息。
用例描述:
查询职位信息;
执行者:
应聘者;
前置条件:
应聘者进入网站,不需要登录。
后置条件:
找到招聘职位后可以查看招聘职位。
基本路径:
4.3.2登录
4.3.3职位申请
应聘者登录后,可以通过浏览信息功能,找到所需要的招聘职位,可以职位进行。
用例描述:
职位申请;
执行者:
应聘者;
前置条件:
应聘者已登录到系统,找到招聘职位。
后置条件:
申请职位,对个人数据进行适当调整,提交。
基本路径:
4.3.2个人数据修改
应聘者登录后,可以通过浏览信息功能,找到所需要的招聘职位,可以职位进行。
用例描述:
职位申请;
执行者:
应聘者;
前置条件:
应聘者已登录到系统,找到招聘职位。
后置条件:
申请职位,对个人数据进行适当调整,提交。
基本路径:
修改个人简历
编辑技能信息
编辑个人经历
编辑自我评价
修改个人密码
职位申请:
功能类别
功能名称、标识符
描述
2.2对性能的规定
精度,可靠性,时间特性要求,灵活性,安全性,
2.3输入输出要求
2.4其他要求
4.开发环境及运行平台
硬件平台:
❑CPU:
P41.8GHz。
❑内存:
512MB以上。
❑硬盘:
80G以上
软件平台:
❑操作系统:
WindowsXP/Windows2000。
❑数据库:
SQLServer2005。
❑开发工具包:
JDKVersion1.5。
❑JSP服务器:
Tomcat。
❑浏览器:
IE5.0,推荐使用IE6.0。
分辨率:
最佳效果1024×768像素。
系统设计与设计
系统结构
体系结构
模块划分
用户界面
视图名称
标识符
描述
数据库
模块
网上人才招聘系统概要设计说明书
1.引言
1.1目的
该文挡是关于用户对于网上招聘系统的功能和性能的要求,重点描述了网上招聘系统的功能需求。
预期的读者是设计人员,开发人员,项目管理人员,测试用户,用户。
1.2背景
产品名称:
网上招聘系统。
项目提出者:
北京市某公司。
项目开发者:
YSL公司。
最终用户:
企业人力管理人员及网上用户。
1.3缩写说明
HR:
HumanResource(人力资源管理)缩写
JSP:
JavaServerPage(Java服务器页面)缩写,一个脚本化的语言。
UNL:
UnifiedModelingLanguage(统一建模型语言)缩写,一种标准的建模语言。
1.4术语定义
无
1.5引用标准
《企业文档格式标准》北京YSL软件有限公司
《需求规格说明书格式标准》北京YSL软件有限公司
1.6参考资料
2系统结构
适应性、可靠性、安全性、可维护性、可扩展性.
2.1功能设计
网上人才招牌系统
2.2模块划分
2.2体系结构
1.分层体系结构
MVC
2.包和文件夹划分
3.接口与类图
3.数据模型
3.1概念结构模型设计
实体、属性、关系
3.2逻辑结构模型设计
对ER图进行分解、合并后重新组织起来形成数据库全局数据结构。
Admin
AdminId
管理员ID
Pwd
管理员密码
Company
Cname
用户名
Pwd
密码
Company
公司名
FormTime
成立时间
Contactor
联系人
EmplNum
员工数
Location
省份
Telephone
电话
Fax
传真
Address
地址
ZipCode
邮政编码
Homepage
主页
Email
邮件地址
Introduce
简介
PostDate
注册时间
3.3物理结构设计
SQL脚本
CREATEDATABASEJob
GO
USEJob
GO
CREATETABLEAdmin(
AdminIdVarchar(20)PRIMARYKEY,
PwdVarchar(20)
)
GO
INSERTINTOAdminVALUES('Admin','111111')
go
CREATETABLECompany(
CNameVarchar(20)NOTNULL,
PwdVarchar(20),
CompanyVarchar(100),
TypeVarchar(50),
FormTimeVarchar(50),
ContactorVarchar(50),
EmplNumIntNULL,
LocationVarchar(50),
TelephoneVarchar(50),
FaxVarchar(50),
AddressVarchar(200),
ZipCodeVarchar(10),
HomepageVarchar(50),
EmailVarchar(50),
IntroduceText,
PostDateDatetime
)
go
CREATETABLEPerson(
UserNameVarchar(20)PRIMARYKEY,
PwdVarchar(20)NOTNULL,
RealNameVarchar(50)NOTNULL,
SexBitNOTNULL,
BirthVarchar(50),
IDCardVarchar(20),
NatureVarchar(20),
MarriedVarchar(10),
HuKouVarchar(20),
LocationVarchar(20),
EducationVarchar(20),
CollegeVarchar(50),
TelephoneVarchar(50),
MobileVarchar(50),
EmailVarchar(50),
AddressVarchar(200),
PostTimeDatetime
)
GO
CREATETABLESkill(
SIdIntIDENTITYPRIMARYKEY,
AppTitleVarchar(200)NOTNULL,
EnglishVarchar(100),
ComputerVarchar(100),
MainText,
UserNameVarchar(20)
)
GO
CREATETABLEJob(
JobIdIntIDENTITYPRIMARYKEY,
UserNameVarchar(20),
TitleVarchar(100),
TypeVarchar(20),
EducationVarchar(20),
SexVarchar(20),
AgeVarchar(50),
WorkTimeVarchar(50),
WorkPlaceVarchar(50),
JobNumIntDEFAULT0,
CommentText,
PostTimeDatetime
)
GO
CREATETABLEApplication(
AppIdIntIDENTITYPRIMARYKEY,
JobIdInt,
UserNameVarchar(20),
PostDateDatetime,
ResponseText,
RspDateDatetime
)
go
CREATETABLENews(
IdIntIDENTITYPRIMARYKEY,
TitleVarchar(50)NOTNULL,
PostTimeDatetimeNOTNULL,
ContentTextNOTNULL
)
GO
5开发框架
5.1struts+JDBC基本要求
Struts+Spring+JDBC提高要求(简化代码)
Struts+Spring+Hibernate最高要求(简化代码数据
5.2环境搭建
详细设计
系统功能简介
系统详细设计描述
各个模块的分层划分
详细设计
2.引言
1.1目的
1.2范围
该文档确定系统的结构和单元接口,但未确定单元的实现方法。
1.3缩写说明
1.4术语定义
1.5引用标准
1.6参考文献
1.7版本更新信息
2.系统设计概述
整体结构
3.模块设计概述
模型用途,功能,特别约束等
4模块程序结构
4.1表现层
界面
文件
功能描述
4.2控制层
事件
Action
入口
出口
4.3数据模型
组件
描述
4.4业务逻辑层设计
4.5持久化层设计
4.6其他
5.模块具体设计
5.1界面设计
5.2数据模型设计
5.3控制组件设计
5.4业务逻辑组件设计
5.5持久化类设计
实现描述/算法描述(可以通过流程图或者伪代码方式实现)
9.配置文件