辽工大邱云飞老师需求工程复习资料 - 图文 下载本文

硬数据 文档分析 阅读、研究得到的硬数据,从中发现需求信息 问题域信息 工作流程 业务细节 抽取客户的需求文档中的需求描述 粗粒度需求 客户的需求文档 需求剥离

(2) 在你和Betty谈话的时候,意识到实际上也需要其他的定量文档。列出

你缺少的东西。

二玉哥哥语:看看定量的和定性的就知道了

参考答案:

? 定量硬数据缺少:

数据收集表格:反应组织的信息域,收拾正在使用的每张表格,连同填写和分发说明一起,与填好的表格进行对比 ? 定性硬数据缺少:

? 整个组织的描述文档:Sawder公司的组织结构图 ? 业务指导文档:Sawder公司的工作指南和规章手册 ? 业务备忘:

第10章 需求组织——??

思考2 。

场景方法的作用。与用例驱动的思想的联系。

第三部分 需求分析 第11章 需求分析概述

需求优先级定义方法;优缺点。

累积投票 区域划分 Top-N 数据量化 思考题

1. 分析“结构化分析”和“面向对象分析”的过程,说明它们为什么都开始于

系统的边界定义?

~ 21 ~

解答:二玉哥哥语:和第二章相关:第二章云“软件要完成用户的任务需

要和外界协调互动“开始于边界是因为边界是它们互动的地方。系统分析给自己做个定位的话,是先分析互动的反应,然后分析系统内部的反应,所以框架中有一些叫系统外部行为等,在需求早期阶段都是外部分析,到了后期阶段才会进入内部分析

参考答案:

软件要完成用户的任务需要和外界协调互动,经过问题分析之后一般可以得到高层次的解决方案及系统特性。而一个系统通常会有很多高层次问题,虽然问题分析之后可以得到解系统为了解决某一问题而需要具备的知识片段,却无法将这些片段自动连接为整个系统的概要全图,所以很有必要将各个问题的分析结果进行综合与处理,已确定整个解系统的功能,建立系统的边界。

之所以把系统边界作为需求分析的起点,是因为边界是软件和外界互动的地方。解系统为自己做定位,首先要分析互动的反应,然后分析系统内部的反应,所以,框架中有一些系统的外部行为等。

一般情况下,在需求分析的早期阶段做的都是外部分析,从系统的边界图开始,逐一分析和细化系统和外界的交互,以保证最终产品的行为能够和环境形成互动,以满足用户的需求;然后在需求分析的后期阶段,才会逐渐进入内部分析。

结构化分析:

①分析当前的情况,做出反映当前物理模型的DFD;②推导出等价的逻辑模型的DFD;③设计新的逻辑系统,生 成数据字典和基元描述;④建立人机接口,提出可供选择的目标系统物理模型的DFD;⑤确定各种方案的成本和风险等级,据此对各种方案进行分析;⑥选择一种 方案;⑦建立完整的需求规约。

面向对象分析:

①确定对象和类。这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。②确定结构(structure)。结构是指问题域的复杂性和连接关系。类成员结构反映了泛化-特化关系,整体-部分结构反映整体和局部之间的关系。③确定主题(subject)。主题是指事物的总体概貌和总体分析模型。④确定属性(attribute)。属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。⑤确定方法(method)。方法是在收到消息后必须进行的一些处理方法:方法要在图中定义,并在对象的存储中指定。对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方

~ 22 ~

法本身都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的。

所有建模技术都必须明确系统所涉及的功能,只有明确软件与现实世界的边界,懂得系统的上下文,才有可能建立模型。

2. 列举结构化分析的各种技术,说明它们的数学基础是什么? 解答:形式化方法? 数据流图?结构化建模 有限状态机思想?状态转移矩阵?面向对象建模

二玉哥哥语:有些有基础,而有些是没有基础的,结构化、数据流图、ERD、状态图(结构化的一种)都是有基础的,有些数据流图的细节方法是没

有基础的

参考答案:

结构化分析技术:数据流图、实体联系图、状态转移图、功能实

体矩阵、实体生命历史和事件实体矩阵。

以数据流动为中心,以DFD为核心技术,以λ演算为数学基础。

3. 列举面向对象分析的各种技术,说明它们是对结构化分析技术的继承和借鉴吗?如果是,那么说明它们借鉴了哪些结构化分析技术,如果不是,那么说明它们的数据基础是什么?

二玉哥哥语:很明显是,怎么是的看看发展历史的那张表

参考答案:

面向对象技术:用例图、类图、交互图、活动图、对象约束语言状态图和工作流

借鉴的结构化分析技术:实体关系图、数据流图、状态转移图

~ 23 ~

4. “事件”和“事物”一直是进行需求分析的一个重要思路,你对此如何评价?

解答:二玉哥哥语:有作用却也有局限性。事物和事件正好对应着结构化

方法的两条路径,一个是DFD,一个是ERD,可参考书上结构化分析有两条路径这块内容,在结构化分析方法那章。但在面向对象里就不太好用了,因为面向对象的核心是多对象协同,多对象协同既不是事件,也不是事物,所以面向对象开始使用场景。事件就是行为,就是DFD;事物就是数据,就是ERD。

参考答案:

? 事件: 可以描述、值得记录的在某一特定时间和地点发生的事情。

通过对事件的分析可以将复杂的系统需求分解成易处理并能更好理解的小单元。

事件可分为以下几类:外部事件、临时事件、状态事件。 ? 事物: 在面向对象的编程中,这些事物是在系统中相互交互的对象。 事物的类型:实物;角色;组织部门;设备;突发事件、事件或交互;地点/位置 ? 结构化分析:事物和事件正好对应着结构化方法的两条路径,一个是DFD,

一个是ERD

~ 24 ~