1.4 软件工程
1.4.1 需求分析
1.需求层次
- 业务需求:指反映企业或客户对系统高层次的一个目标追求,通常来自项目投资人、购买产品的客、客户单位的管理人员、市场营销部门或产品策划部门等。
- 用户需求:用户需求描述的是具体的目标,或者用户要求系统必须能完成的任务,也就是说,用户需求描述了用户能用系统来做什么。通常采用用户访谈和调查问卷等方式,对用户使用的场景进行调整,从而建立用户需求。
- 系统需求:是指从系统的角度来说明软件的需求,包括功能需求,非功能需求的设计约束。
2.质量功能部署
定义:质量功能部署(QFD)是一种将用户需求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。
分类:
- 常规需求:用户认为系统应该实现的功能或性能,实现越多用户越会满意。
- 期望需求:用户想当然以为系统应具备的功能和性能,但并不能正确认识自己想要得到的这些功能或性能需求。如果期望需求没有得到实现,会让用户感动不满意。
- 意外需求:也称为兴奋需求,是用户要求范围外的功能或性能。
3.需求获取
需求获取方法:
- 用户访谈
- 调查问卷
- 采样
- 情节串联板:使用工具向用户说明或演示系统如何适合企业的需要,并说明系统将如何运转
- 联合需求计划:通过高度组织的群体会议来分析企业内的问题,并获取需求的过程,相对成本较高,但十分有效。
4.需求分析
需求特性:
- 无二义性
- 完整性
- 一致性
- 可测试性
- 确定性
- 可跟踪性
- 正确性
- 必要性
需求分析工作:分析人员把杂乱无章的用户要求和期望转换为用户需求。
分析方法:
- 结构化分析(SA):建立的模型的核心式数据字典;**三个层次的模型
- 面向对象分析(OOA):用例模型;分析模型
**三个层次的模型:
- 数据模型:E-R图
- 功能模型:数据流图(Data Flow Diagram)DFD
- 行为模型(状态模型):状态图(State Transform Diagram)STD
5.软件需求规格说明书
定义:软件需求规格说明书(Software Requirement Specification)SRS,是需求开发活动的产物,编制该文档的目的是使项目干系人与开发团队对系统的初始规定有一个共同的理解,使之成为整个开发工作的基础。
SRS包括内容:
- 范围
- 引用文件
- 需求
- 合格性规定
- 需求可追踪性
- 尚未解决的问题
- 注解
- 附录
6.需求验证
定义:需求验证也称为需求确认
需求验证确认的内容:
- SRS正确描述了预期的、满足项目干系人需求的系统行为与特性。
- SRS中的软件需求是从系统需求、业务规格和其他来源中正确推导而来的。
- 需求是完整和高质量的
- 需求的表示在所有地方都是一致的
- 需求为继续进行系统设计、实现和测试提供了足够的基础
需求验证的方法:
- 需求评审:对SRS进行技术评审
- 需求测试
7.UML
定义:UML是一种定义良好,易于表达、功能强大且普遍适用的建模语言。
1)UML的结构
- 构造块
- 规则
- 公共机制
2)UML中事物的关系
- 依赖:一个事物发生改变会影响到另外一个事物的语义。
- 关联:关联描述一组对象之间连接的结构关系。
- 泛化:泛化是一般化和特殊化的关系,描述特殊元素的对象可替代的一般元素的对象。
- 实现:实现是类与类之间的语义定义关系,其中一个类指定了由另外一个类保证执行的契约。
3&