软件工程第4章 软件需求工程基础

1.为什么要有需求工程?

获取和分析需求是软件开发的前提。

需求工程(requirements engireering, RE)是系统工程和软件工程之间的重要桥梁。

2.何为软件需求?

软件本身的角度,是用于解决问题时所表现出的功能和性能要求;

软件利益相关者的角度,是对软件系统的功能和质量以及软件运行环境、交付进度等方面提出的期望和要求。

3.软件系统的利益相关者:

用户、客户、其他系统、开发者群体

4.软件需求的类别:

1)功能需求(functional requirements, FR)

2)软件质量需求(quality requirements)

包括内部质量需求和外部质量需求。

3)软件开发约束需求(constraint requirements):开发成本、交付进度等。

5.需求工程:对系统应该提出的服务和所受到的约束进行理解、分析、建立文档、检验的过程。

将获得高质量的软件需求视为一项工程,有其明确的任务和目标。

6.需求工程的一般性过程:

获取 -> 分析 -> 文档化 -> 确认和验证

7.需求工程的方法学:抽象、建模、分析。

20世纪70年代,产生了DFD建模语言,面向数据流的需求分析方法学,可绘制对应的DFD图。

20世纪90年代,产生了面向对象建模语言UML,绘制软件的用例图、交互图、分析类图。

8.SA方法(结构化需求分析方法学)(structured analysis)

基本思想:分解和抽象。自顶向下、逐步求精、模块化设计

以DFO(dataflow-oriented)方法为例, 首先给出了一系列图形化符号。

数据流:有向边表示

转换:圆形或者椭圆形

外部实体:矩形框

数据存储:两条水平线

9.DFO需求分析步骤和策略:

1)建立顶层DFD图

2)精化转换,产生下一层DFD图

3)建立数据字典(DD)

数据字典:每一个条目用于详细描述各个数据流、外部实体、数据存储、不再被精化的转换。

10.面向对象分析(object-oriented analysis, OOA)方法学:

OOD,object-oriented design, 面向对象设计

OOP, object-oriented program, 面向对象编程

基础概念:

1)对象

2)类

3)消息

4)继承

5)关联

6)多态:

7)覆盖:

8)重载

11.面向对象建模语言UML(unified modeling language)

基于以上概念及抽象,提供图形化的符号,用来表示软件系统的一种语言。

本质上就是画图。

UML的多视角建模:

1)结构观点:包图,类图,对象图,构件图

2)行为观点:交互图、状态图、活动图

3)部署观点:部署图

4)用例观点:用例图

12. OOA的需求分析步骤和策略:

1)明确问题边界,获取软件需求,建立用例模型

2)开展用例分析,精化软件需求,建立分析模型

3)汇总需求模型,撰写需求文档,评审软件需求

13.软件需求制品:

软件需求模型

软件需求文档

软件原型

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值