3-第三章 需求分析

合集下载

第3章-需求分析课件

第3章-需求分析课件

❖ 2。需求分析
❖ 这个阶段对已收集的需求进行提炼、分析和审查,即对问 题的分析和方案的综合,确保所有的需求含义都被理解, 并找出可能错误,遗漏或不足的地方。
❖ 分析人员在这一步骤中的任务是根据对问题及其环境的理 解与软件开发经验,改正用户需求的模糊性、歧义性和不 一致性,排除由于用户的片面性和短期行为所导致的不合 理要求、挖掘用户尚未提出但具有价值的潜在需求,并在 用户的帮助下对相互冲突的要求进行折衷,使用户需求逐 步精确化、一致化和完全化。
经过评审确认的需求规格说明将成为客户方与开发方的 合同。如果评审未通过,比如发现了遗漏或错误,则必 须进行迭代,直至通过评审为止。
需求分析的任务
与软件实际运行相关的需求分析任务
1、确定对系统的综合要求 2、分析系统的数据要求 3、异出系统的逻辑模型 4、修正项目开发划 5、开发原型系统
3.3.2 需求分析的一般性技术
在分析阶段构筑的模型不应涉及软件实现的细节,以免分散分 析人员的注意力、限制软件设计人员为提高软件质量和效率而 选择实现方法的自由度。
需求分析结束时确立的软件模型是生成需求规格说明的依据, 也是软件设计和实现的基础。
3.3.2.3 快速原型技术
如果按照传统的软件开发方法,需要经过漫长的开 发时间之后用户才能看到目标软件的最初版本。此 时用户常常会提出许多修改意见,有时甚至全盘否 定,导致开发失败。为了降低开发风险,在需求分 析阶段常常采用快速原型技术。
发挥。 ③所提问题汇总后应能反映应用问题及其子问题的全貌、并且
不要过分详细。
2.观察用户工作流程
如果可能,可通过实际观察用户的手工操作过 程来提取新系统的初步用户需求。
观察手工操作过程不是为了模拟手工操作过程, 而是为了获取第一手资料,并从中提取出有价 值的需求。分析人员有了第一手资料,再结合 自己的软件开发和应用的经验,就能够发现不 合理的用户需求、提出用户还没有意识到的潜 在的但却很有价值的用户需求,并能够从软件 的角度改进操作流程和操作规范,从而可获得 用户满意的分析结果。

软件工程第三章-3(需求分析)

软件工程第三章-3(需求分析)

某校教学管理ER图
某校教学管理ER图
3.6 其他图形工具
一、层次方框图
层次方框图用树形结构的一系列多层次的矩 形框描绘数据的层次结构。树形结构的顶层 是一个单独的矩形框,它代表完整的数据结 构,下面的各层矩形框代表这个数据的子集 ,最底层的各个框代表组成这个数据的实际 数据元素(不能再分割的元素)。
(3) 多对多联系(M∶N) 例如,图表示学生与课程间的联系(“学”)是 多对多的,即一个学生可以学多门课程,而 每门课程可以有多个学生来学。
四、实体-联系图的符号
实体-联系图简称为ER图,把ER图描绘的数 据模型称为ER模型。 ER图中包含了实体(即数据对象)、关系和属 性等3种基本成分,通常用矩形框代表实体 ,用连接相关实体的菱形框表示关系,用椭 圆形或圆角矩形表示实体(或关系)的属性, 并用直线把实体(或关系)与其属性连接起来 。
3-4 为方便旅客,某航空公司拟开发一个机 票预订系统。旅行社把预订机票的旅客信息 (姓名、性别、工作单位、身份证号码、旅 行时间、旅行目的地等)输入进该系统,系 统为旅客安排航班,印出取票通知和账单, 旅客在飞机起飞的前一天凭取票通知和账单 交款取票,系统校对无误即印出机票给旅客 分析所述的机票预订系统。请用实体-联系图 描绘本系统中的数据对象并用数据流图描绘 本系统的功能
分析所述的患者监护系统。请用实体-联系 图描绘本系统中的数据对象并用数据流图描 绘本系统的功能,画出本系统的顶层IPO图 。并生成本系统的数据字典
• •
状态迁移图
时序图 Petri网

状态迁移图
图形符号
初态
终态
中间状态
状态转换
图形符号
5、例子
3.8 验证软件需求

(完整版)第三章需求分析习题及答案

(完整版)第三章需求分析习题及答案

第三章需求分析一. 填空题1.需求分析的步骤 , , , 。

2.需求分析阶段需编写的文档有,,。

3.系统规格说明,数据要求,, ,这四份文档资料是在书写文档阶段必需完成的。

4.在书写文档阶段,数据要求主要包括通过需求分析建立起来的,以及描绘数据结构的层次方框图。

5.对于计算机程序处理的数据,其数据域应包括 , , 和数据结构。

6.数据内容即是。

7.把一个功能分解成几个子功能,并确定 , 就属于横向分解。

8.软件需求的逻辑视图给出 , 而不是实现的细节。

9. 功能一般用 , 来表示。

10.结构化分析方法是 , 进行需求分析的方法.11.描述结构化分析方法的工具有,,,判定表,判定树。

12. SA方法中自顶向下的分析策略主要是和。

13.数据流图的基本组成部分有,,,。

14.数据流图的特性,,,。

15.数据流图和数据字典共同构成了系统的模型,是需求规格说明书的主要组成部分。

16.分析员通过需求分析,逐步细化对软件的需求,描述软件主要处理的,并给软件开发提供一种可转化为,和的数据与功能表示。

17.需求分析阶段研究的对象是软件项目的。

18.数据流图的基本符号包括,,,。

19.在需求分析阶段常用的图形工具有,,。

20.需求分析应交付的主要文档是。

二. 选择题1. 需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模2. 需求分析阶段的任务是确定()A.软件开发方法 B.软件开发工具C.软件开发费 D.软件系统的功能3. 需求分析阶段最重要的技术文档之一是非曲直()。

A.项目开发计划 B.设计说明书 C.需求规格说明书 D.可行性分析报告4.需求分析阶段建立原型的目的是()。

A.确定系统的功能和性能的需求 B.确定系统的运行要求C.确定系统是否满足用户需求 D.确定系统是否满足开发人员需要5.需求分析阶段研究的对象是()A.用户需求 B.分析员要求 C.系统要求 D.软硬件要求6.系统流程图用于可行性分析中的_____的描述。

第3章需求分析详解

第3章需求分析详解
分析小组成员主要包括领域专家、系统分析员;
客户访谈 问题分析与确认
20
与用户沟通的方法
1、访谈
2、面向数据流自顶向下求精
3、简易的应用规格说明技术 4、快速建立软件原型
21
3.2.1.访谈
正式的访谈:具体问题的问答形式; 非正式的访谈:开放式、交互性的问答。 书面调查:调查大量人员意见; 情景分析技术:对用户将来使用目标系统解决某个具 体问题的方法和结果进行分析。 1)能在某种程度上演示目标系统的行为,便于理解; 2)用户在需求分析过程中始终扮演积极主动的角色。
某出版社系统调查表
编号 提出问题
1
2 3 4 5 6 7 8 9
您在哪个部门工作?
出版业务流程是什么? 您每日都处理那些文件、数据、报表? 工作中手工处理特别麻烦的事情是什么? 工作中手工处理什么问题解决不了?影响效率的问题有哪些? 您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些 办法? 您的部门需要成本核算和统计的内容有哪些? 您的部门采用计算机管理工作情况如何? 如何改进业务流程使之更合理?
消除数据冗余的程度。
3.1.3.导出系统的逻辑模型
导出详细的系统逻辑模型。
数据流图 数据字典 实体-联系图
姓名
性别
编号
教 师
1 教 N
状态转换图
主要的处理算法
课程名
课 程
学时
学分
3.1.4.修正系统的开发计划
修正在可行性分析阶段制定的初步的开发计划。
3.2 与用户沟通获取需求的方法
图:软件需求分析的通信途径
3.2.3.简易的应用规格说明技术
前两种方法中,用户比较被动。ቤተ መጻሕፍቲ ባይዱ

软件工程第3章_需求分析

软件工程第3章_需求分析
ALGOL68,FORTRAN77等; • 4GL是按计算机科学理论指导设计出来的结构化语言,如
ADA,MODULA-2,SMALLTALK-80,JAVA,VB, VC,VF等。
(2) 可重用的软件构件
• 另外一种快速构建原型的方法,是使用一组已有的软件构 件(也称为组件)来装配(而不是从头构造)原型。
确定对系统的综合要求
功能需求 性能需求 可靠性和可用性需求 出错处理需求 接口需求 约束 逆向需求 将来可能提出的要求
3.1 需求分析的任务
分析系统的数据要求
建立数据模型(实体— 联系图) 分析数据结构(层次方框图、Warnier图) 规范数据结构(范式)
导出系统的逻辑模型
LOGO
第三章 需求分析
主讲:李 辉
第3章 需求分析
3.1 需求分析的任务 3.2 与用户沟通获取需求的方法 3.3 分析建模与规格说明 3.4 实体-联系图 3.5 数据规范化 3.6 状态转换图 3.7 其他图形工具 3.8 验证软件需求
为什么要进行需求分析
软件需求分析是软件开发的基础。在需求阶 段修复一个错误的费用是编码阶段的1/5-1/10, 是维护阶段修复费用的1/100-1/200,即设计错误 的修复费用要远远高于编码错误的修复费用。
(3)反复进行上述两个过程,分析员通过功能分解完成 数据流图的细化。最终得到对系统数据和功能要求的满意 了解。
示意图
图3.1 面向数据流自顶向下求精过程
简易的应用规格说明技术
是一种面向团队的需求收集法。
访谈或面向数据流自顶向下求精方法定义需求 时,用户处于被动地位。由于不能像同一个团队 的人那样齐心协力地识别和精化需求,这两种方 法的效果有时并不理想。

软件工程v3_课件_03_需求分析_

软件工程v3_课件_03_需求分析_

正常使用主观题需2.0以上版本雨课堂
作答
主观题 10分
2.为方便旅客,某航空公司拟开发一个机票预订 系统。旅行社把预订机票的旅客信息(姓名、性 别、工作单位、身份证号码、旅行时间、旅行目 的地等)输入进该系统,系统为旅客安排航班, 印出取票通知和账单,旅客在飞机起飞的前一天 凭取票通知和账单交款取票,系统校对无误即印 出机票给旅客。请绘制该系统的ER图。
3.2 与用户沟通获获取需求的方法
面向数据流自顶向下求精 3.数据流分析的结果 • 清晰地定义了可实际操作的个数据元素; • 明确地展现了数据的来源与去处; • 初步描绘了数据处理的可能算法(方法)。 4.数据流描述方法 • 数据流图:数据及其处理关系 • 数据字典:数据元素 • IPO图:处理算法
可靠性Reliability:系统失效时间间隔的描述,以发生的失 效个数为驱动 可用性Availability:系统可供使用时间的描述,以丢失的 时间为驱动 4. 出错处理需求:如何响应环境错误 5. 接口需求:与环境通信的格式 6. 约束:应遵守的限制条件,精度、工具、标准、硬件平台 7. 逆向需求:不应该做什么 8. 未来的需求:不属于当前系统的开发范畴
析重要性
① 数据决定了需要的处理和算法,数据是需求分析的出 发点
② 信息系统的基本模型:输入数据 数据处理 输出数 据
③ 数据在流动中被处理,数据决定了处理所需的算法
3.2 与用户沟通获获取需求的方法
面向数据流自顶向下求精 1.基于数据流图的结构化分析方法 ① 结构化分析方法就是面向数据流自顶向下逐步求精进 行需求分析的方法
需求分析的原则
基本原则 P56 尽管目前有许多不同的用于需求 分析的结构化分析方法,但是所有 这些方法都遵循下述原则

3第三章 需求分析

3第三章 需求分析
张建伟 制作
私有课件请勿传播
第三章 需求分析
3.1 3.2 3.3 3.4 3.5 需求分析的任务 分析过程 概念模型和规范化 图形工具 验证软件需求
张建伟 制作
私有课件请勿传播
3.1 需求分析的任务
什么是软件需求和需求分析?
用户对目标软件系统在功能、行为、性能、设 计约束等方面的期望,即软件需求。 通过对软件需求的理解,使其一致化、精确化、 完全化,形成需求规格说明
张建伟 制作
私有课件请勿传播
需求分析是软件定义的最后一个阶段,它的基本任 务是准确地回答“系统必须做什么?”这个问题。对目 标系统提出完整、准确、清晰、具体的要求。 1. 确定对系统的综合要求(四个方面) 1)系统功能要求 2)系统性能要求—响应时间,所需存储容量及后 援存储,安全性和简便性。 3)运行要求---------系统运行环境 4)将来可能提出的要求 2. 分析系统的数据要求 3. 导出系统的逻辑模型(数据流图+数据字典+主要 的处理算法) 4. 修正系统开发计划 5. 开发原型系统
图3.2 参考当前系统建立目标系统模型
张建伟 制作
私有课件请勿传播
1、获得当前系统的物理模型 所谓当前系统可能是数据处理系统,也可能是 人工的数据处理过程。了解当前系统的组织机构、 输入输出、资源利用情况和日常数据处理过程,并 用一个具体模型来反映自己对当前系统的理解。这 一模型应客观地反映现实世界的实际情况。 2、抽象出(导出) 当前系统的逻辑模型 在理解当前系统"怎样做"的基础上,抽取其"做 什么"的本质,从而从当前系统的物理模型抽象出当 前系统的逻辑模型。
私有课件请勿传播
计算机科学与技术系
张建伟

第三章:需求分析PPT课件

第三章:需求分析PPT课件

-
3.2 获取需求的方法
1、访谈
访谈有两种基本形式,分别是正式的和非正式的访谈。
当需要调查大量人员的意见时,向被调查人分发调查表 是一个十分有效的做法。
在访问用户的过程中使用情景分析技术往往非常有效。
情景分析技术的用处主要体现在下述两个方面:
(1) 它能在某种程度上演示目标系统的行为,从而便于用户 理解,而且还可能进一步揭示出一些分析员目前还不知道 的需求。
一般使用第三范式。
17
-
3.6 状态转换图
在需求分析过程中应该建立起软件系统的行为模型。状态转换图(简 称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统 的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例 如,处理数据)。
1、状态
状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种 行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可 以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是 既改变状态又做动作。
7.其它需求
-
3.4概念模型
最常用的表示概念性数据模型的方法:实体—联 系方法(Entity-Relationship Approach),简称ER模型。
E-R模型包含三个基本成分:“实体”、“联 系”、“属性”
(1)实体:是客观世界中存在的且可相互区分的事物。 它可以是人或物,也可以是具体事物或抽象事物。 – 例如:教师、学生、课程是实体。 实体用矩形框表示,如: 教师
在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态) 和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。
状态图既可以表示系统循环运行过程,也可以表示系统单程生命期。

第3章需求分析

第3章需求分析
状态转换图(STD)
需求分析的任务
5、编写需求规格说明书和开发计划 根据上述的阶段性成果,汇总为“软件
需求规格说明书”,以提交评审 在可行性分析的基础上,较准确地估计
系统的开发成本和进度 修正开发计划
需求分析的任务--举例
馆长和馆员
配合 走 访 客 户 , 调 研 业务流程
调研 分析师
记录调研过程资料
与用户沟通获取需求的方法
需求获取是否彻底与成功,直接关系到软 件开发的成败。
需求获取为什么难?
(1)用户需求具有动态性,即需求的不稳定性:在整个软 件生命周期内,需求会随着时间的进展而有所变化。
(2)用户需求具有模糊性:由于用户的需求表达不很清楚 也不够明确。
与用户沟通获取需求的方法
1、需求获取技术
回溯时常遇到的问题:为了得到某个数据元素需要 用到数据流图中还没有的数据元素,或者得出这个 数据元素要用的算法尚不完全清楚。
因此,需要向用户等有关人员请教,使分析员对目 标系统的认识更深入具体,更多的数据元素被划分 出来,更多的算法搞清楚了。
把分析过程中得到的数据元素记录在数据字典中, 把对算法的简明描述记录在IPO图中,并添加到数据 流图的适当位置上。
与用户沟通获取需求的方法
数据流图是帮助用户复查需求的极好工具; 分析员向用户解释数据的来源(组成和处理,反映
了分析员对系统已有的认识。) 用户要及时纠正和补充分析员的认识
它验证了已知的元素,补充了未知的元素,填补了 文档中的空白;
分析员对系统的认识是一个螺旋式上升的过程。
与用户沟通获取需求的方法
外部输 入或系 统生成
与用户沟通获取需求的方法
输入数据
加工: f g k
输出数据

《软件工程导论》第3章需求分析ppt课件

《软件工程导论》第3章需求分析ppt课件
3.1.3 导出系统的逻辑模型
包括完善的数据流图、实体-联系图、状态转换图、 数据字典、主要的处理算法(IPO图)等。
3.1.4 修正系统开发计划
修订前期制定的开发进度计划、等。
3.2 与用户沟通获取需求的方法
3.2.1 访谈
正式访谈:系统分析员提出事先准备好的问题。 非正式访谈:提出一些用户可以自由回答的开放性问
题,鼓励被访者说出自己的想法。 需要访问大量人员时,利用调查表访问较佳。 情景分析技术:对用户将来使用目标系统解决某个具
体问题的方法和结果进行分析。
3.2.2 面向数据流自顶向下求精
借助数据流图、数据字典、IPO图等,细化、完善详
细的数据流图,等到各处理环节对应的功能。
需要分解
有补充修正
分析追踪数 据流图
3.6.2 事件
事件是某个特定时刻发生的事情,它是引起系
统做动作或状态转换的控制信息。 3.6.3 符号 初态:实心圆 终态:同心圆(内圆为实心园) 中间态:圆角矩形,分为上、中、下三部分
状态名称 状态变量 活动表
状态变量的名字和值 事件名(参数表)/动作表达式 标准事件:entry, exit, do
1.引言
1.1 目的 1.2 文档的约定 1.3 预期的读者和阅读建议 1.4 产品的范围 1.5 参考文献
2. 综合描述
2.1 产品的远景 2.2 产品的功能 2.3 用户类和特性 2.4 运行环境 2.5 设计和实现的限制
需求规格说明书
3. 外部接口
3.1 用户界面 3.2 硬件接口 3.3 软件接口 3.4 通信接口
用户接口、硬件接口、软件接口、通信接口、等。 6. 约束
精度、工具和语言、设计约束、硬件约束、标准,等。 7. 逆向需求 :软件系统不应该做什么 8. 将来可能提出的要求 :为将来的修改和扩充做准备。

第3章 需求分析-大纲

第3章 需求分析-大纲

第三章需求分析
3.1 需求分析的任务和步骤
——需求分析的任务
……确定对系统的综合要求
……分析系统的数据要求
……建立软件的逻辑模型
——确定对系统的综合要求
……功能性需求
……非功能性需求:可用性,可靠性……
——分析系统的数据要求
……数据字典——定义数据
……层次方框图——定义数据结构
——建立软件的逻辑模型:数据流图、数据字典、实体-联系图、主要算法
——编写软件需求规格说明书
——需求分析评审
3.2 需求获取的常用方法(5个)
——访谈
——问卷调查
——观察用户工作流程
——建立联合分析小组
——快速原型法
3.3 需求分析的方法(4个)
——功能分解法:软件需求当做一棵倒置的功能树
——结构化开发方法:结构化分析、结构化设计和结构化程序设计
——信息建模方法:实体-联系图
——面向对象的分析
3.4 结构化分析技术
——思路:基于数据流图自顶向下逐层分解
3.5 需求分析图形工具
——实体-联系图(Entity-Relationship Diagram)
……实体定义:对软件必须理解的复合信息的抽象
……属性定义:数据对象的性质
……联系定义:数据对象彼此之间相互连接的方式
——数据字典
……定义:数据字典是关于数据的信息的集合,也就是对数据流图中包含的
所有元素的定义的集合。

……四类元素:数据流,数据流分量(即数据元素),数据存储,处理——层次方框图
……定义:用树型结构的一系列多层次的矩形框描绘数据的层次结构。

——IPO图(Input Process Output)。

3-第三章 需求分析

3-第三章 需求分析

第三章需求分析§1 需求分析的任务软件系统的开发指导思想:从当前系统逻辑模型导出目标系统逻辑模型. 演变过程如下:怎么做做什么需求分析的任务:由当前系统的逻辑模型转化到表达需求的逻辑模型,对系统提出完整、准确、清晰、具体的要求,准确回答“系统必须做什么?”。

核心任务是:建立系统模型和描述系统模型。

具体表述如下:一.确定系统的综合需求1.系统功能要求,划分出系统必须完成的所有功能;2.系统性能要求:系统的响应时间、系统需要的存储容量及安全性等;3.系统运行要求:对系统运行环境的要求,如(1)支持系统运行的软件环境:工具软件、系统软件;(2)支持系统运行的硬件环境;(3)通信接口、输入和输出等外部设备。

4.将来可能提出的要求,为系统将来的扩充做准备.二.分析系统的数据要求1.利用数据字典全面准确的定义数据;2.借助图形工具(如层次方框图、Warnier图)辅助描绘数据结构;3.将系统中需短期或长期保存的各种信息以一定的方式组织并存储在数据库或文件中。

三.导出系统的逻辑模型使用DFD、数据字典和主要处理的算法等工具导出系统的逻辑模型.四.修改系统的开发计划根据系统的逻辑模型,在加深对系统具体了解的基础上,准确估计系统的成本和进度,修改可行性研究中提出的系统开发计划.五.开发原型系统(“样机”),显示系统的主要功能.1.检验关键设计方案的正确性;2.系统是否真正满足用户要求;3.沟通用户与系统分析员之间的通信;4.通过直观的系统模型,获得实践经验.利用已有的工具可以快速建立原型系统.六.写出需求规格说明书它是需求分析的成果,是软件开发、验收和管理的依据。

§2 实现需求分析任务的方法需求分析的方法是实现需求分析任务的具体实现。

需求分析的基本过程如下:可行性分析获得目标系统的高层DFD,需求分析的目的之一就是把DF和数据存储定义到元素级。

需求分析的方法具体如下:一.沿DFD从输出端到输入端回溯(1)确定每一个数据元素的来源;(2)为得到某个数据元素补充DFD中还没有的DF;(3)初步定义有关的算法;(4)将通过分析补充的DF、数据存储和处理添加到DFD的适当位置上。

管理经济学-第三章需求分析

管理经济学-第三章需求分析

06
需求的收入弹性
定义
需求的收入弹性是指当消费者的收入发生变化时,需 求量变动的程度。具体来说,它衡量了需求量对收入 变动的敏感程度。
需求的收入弹性通常用需求量变动的百分比与收入变 动的百分比的比值来表示。
分类
01
正常品
需求的收入弹性大于零的商品, 即随着收入的增加,需求量也相 应增加。
劣等品
非线性需求函数
非线性需求函数是指需求量与价格之间呈非线性关系,通常表示为:Qd = f(P) 其中,f(P)是一个关于P的函数,可以 是二次函数、三次函数或其他形式的函数。
指数需求函数
指数需求函数是指需求量与价格之间呈指数关系,通常表示为:Qd = e^(-aP) 其中,a是常数,Qd和P 分别代表需求量和价格。
具体计算时,需要先确定商品B需求变化量 以及商品A价格变化量,然后带入公式进行
计算。
应用场景
交叉弹性在市场营销中具有重要应用价值。例如,当企业分析其产品与竞争对手产品之间的关系时,可以利用交叉弹性来评 估产品之间的替代或互补程度,从而制定有效的营销策略。
另外,交叉弹性也可以用于分析不同产品之间的关联程度,帮助企业了解市场需求和消费者行为,从而更好地制定产品定价 、促销和分销策略。
05
需求的交叉弹性
定义
交叉弹性是指一种商品的需求量对另一种商品价格变动的反 应程度。具体来说,它衡量了一种商品价格变化百分之一时 ,另一种商品需求量变化的百分比。
交叉弹性可以分为正交叉弹性和负交叉弹性,正交叉弹性表 示两种商品为替代品,负交叉弹性表示两种商品为互补品。
计算方法
交叉弹性 = (商品B需求变化量 / 商品B原始 需求量) / (商品A价格变化量 / 商品A原始价 格)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章需求分析
§1 需求分析的任务
软件系统的开发指导思想:从当前系统逻辑模型导出目标系统逻辑模型. 演变过程如下:
怎么做做什么
需求分析的任务:由当前系统的逻辑模型转化到表达需求的逻辑模型,对系统提出完整、准确、清晰、具体的要求,准确回答“系统必须做什么?”。

核心任务是:建立系统模型和描述系统模型。

具体表述如下:
一.确定系统的综合需求
1.系统功能要求,划分出系统必须完成的所有功能;
2.系统性能要求:系统的响应时间、系统需要的存储容量及安全性等;
3.系统运行要求:对系统运行环境的要求,如
(1)支持系统运行的软件环境:工具软件、系统软件;
(2)支持系统运行的硬件环境;
(3)通信接口、输入和输出等外部设备。

4.将来可能提出的要求,为系统将来的扩充做准备.
二.分析系统的数据要求
1.利用数据字典全面准确的定义数据;
2.借助图形工具(如层次方框图、Warnier图)辅助描绘数据结构;
3.将系统中需短期或长期保存的各种信息以一定的方式组织并存储在数据库或文件中。

三.导出系统的逻辑模型
使用DFD、数据字典和主要处理的算法等工具导出系统的逻辑模型.
四.修改系统的开发计划
根据系统的逻辑模型,在加深对系统具体了解的基础上,准确估计系统的成本和进度,修改可行性研究中提出的系统开发计划.
五.开发原型系统(“样机”),显示系统的主要功能.
1.检验关键设计方案的正确性;
2.系统是否真正满足用户要求;
3.沟通用户与系统分析员之间的通信;
4.通过直观的系统模型,获得实践经验.
利用已有的工具可以快速建立原型系统.
六.写出需求规格说明书
它是需求分析的成果,是软件开发、验收和管理的依据。

§2 实现需求分析任务的方法
需求分析的方法是实现需求分析任务的具体实现。

需求分析的基本过程如下:
可行性分析获得目标系统的高层DFD,需求分析的目的之一就是把DF和数据存储定义到元素级。

需求分析的方法具体如下:
一.沿DFD从输出端到输入端回溯
(1)确定每一个数据元素的来源;
(2)为得到某个数据元素补充DFD中还没有的DF;
(3)初步定义有关的算法;
(4)将通过分析补充的DF、数据存储和处理添加到DFD的适当位置上。

(5)将分析中得到的有关数据元素的信息记录到数据字典中,把对算法的简明描述记录到
IPO(输入/处理/输出)图中.
二.用户复查
(1)分析员借助DFD、数据字典和简明算法向用户解释:输入数据怎么一步一步转化成输
出数据的;
(2)用户根据分析员提供的资料和描述提出纠正和补充意见;
(3)分析员根据用户的意见修改系统的描述。

三. 细化DFD
分析员通过功能分解完成DFD的细化,其方法是:结构化的分析方法(SA方法),即“自顶向下、逐步求精”的方法。

细化过程中要注意的如下问题.
(1)分层细化时必须保持信息的连续性,即细化前后的输入/输出数据必须相同;
(2)当把一个功能进一步分解成子功能后,若能简要写出这些功能的程序代码时,对该功能
就不需再分解了.
四.书写文档
文档资料的具体内容包括:
(1)系统规格说明:目标系统概貌、功能、性能、运行要求及将来可能的要求,含必要的
DFD、IPO图等;
(2)数据要求:数据字典及描绘数据结构的层次方框图或Warnier图;
(3)用户系统描述:系统功能和系统性能的扼要描述,包括使用系统的步骤、方法及系统
用户责任等;
(4)修正开发计划:成本估计、资源的使用、进度计划等。

五.审查和复审。

§3 需求分析的技术
为实现需求分析的任务常采用的方法有如下几种。

一.结构化分析技术
1.结构化分析:使用数据流程图、数据字典、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档—需求规格说明书。

2.结构化分析技术:将软件系统抽象为一系列的逻辑加工单元,各单元之间以数据流发生关联.
3.结构化分析过程:
(1)项目说明;
(2)画分层数据流图;
(3)编写数据字典:数据流、文件和加工说明等;
(4)复审.
二.面向对象的分析(OOA)技术
对象:是作为现实世界实体的抽象表示,它是外界实体的属性和容许服务的抽象. 在面向对象的分析中,对象和它们的服务被看成一个固有的整体.
对象类:具有相同属性和服务抽象的的一系列对象的总称. 在面向对象的模型中,可以包含若干对象类,它对应于生成模型不同层次上的抽象.
面向对象的分析由五个主要步骤构成:
1.标识对象(类):对确定的对象设立一个对象名,其格式:名词/形容词+名词;
2.标识结构
(1)分类结构:表示一般和特殊的关系,用以描述一个对象类是另一对象类的子类或超类;
(2) 组装结构:表示组装、容纳和包含关系, 用以描述一个对象是由另一个或多个称之为成分的对象组成的.
3.标识主题:对每一个结构(或对象)增加一个相应的主题,当主题个数超过7 2时,将紧密耦合的主题合在一起,提炼新主题,以便得到一个更好的模型概观.最后列出主题及主题层上各主题之间的消息连接.
4.定义属性:属性是描述对象或分类结构实例的数据单元. 定义属性的步骤:
(1)标识属性:找出适用于指定对象或分类结构的所有事例的属性.
(2)属性定位:利用分类结构中的继承机制确定属性的位置,把通用属性放在结构的高层,特殊的属性放在底层.
(3)标识和定义实例连接(实例映射关系)
A.如果连接适用于所有的实例,则在分类结构的通用层相连接,否则只能在特殊的专
用层连接;
B.定义多重性:在每一个方向上建立单重或多重连接;
C.定义参与性:在每一个方向上定义连接是任选的或是强制的.
(4)修正对象:重新修订一些对象或分类结构.
D.如果某些属性不适合于一个对象的所有实例或分类结构的某个特定实例,可考虑
引入附加的分类结构;
E.如果对象或分类结构实例只有一个属性,则应修改模型以反应更高一层的抽象,将
单个的属性直接放入与该属性所描述的对象相关联的对象,然后删除这个多余的
对象;
F.若一个对象实例的某个属性有多个重复值,则应考虑增加新的对象;
G.对无着落的适应性变化参数,将其作为属性..
H.说明属性和实例连接的约束.
5.定义服务:为每一个对象和分类结构定义所需要的行为,并确定对象实例之间必要的通信,即消息连接.定义服务的步骤(略).
三.原型开发技术
1.原型开发技术的基本思想:在获得一组基本需求说明后,快速使其”实现”,通过原型反馈加深对系统的理解,并对需求说明进行补充和敬化.
2.采用原型开发的目的:当系统需求复杂时,采用原型开发可以减少因系统需求的可能性错误而导致的损失。

3.原型开发技术的具体内容
(1)功能选择
(2)构造原型
(3)评价和确认
(4)进一步使用
4.原型开发技术的过程
§4 需求分析的描述工具
数据流图、数据字典、判定表、判定树和结构化自然语言都是需求分析的描述工具,除此之外还有如下几种描述工具。

一.层次方框图
采用树形结构的多层次矩形框描绘数据的层次结构。

顶层是一个单独的矩形框,代表完整的数据结构,下面各层的矩形框代表数据的子集,最底层的矩形框代表组成这个数据的实际数据元素(不能再分割的元素)。

这种模式很适合于结构化分析。

例如,描述一家公司的计算机产品的数据结构的层次方框图如下:
二.Warnier图
它是表示数据结构的另一种层次结构的图形工具。

与层次方框图很类似。

如上例中的计算机产品中的软件产品采用Warnier图表示如下:
操作系统
编译系统
系统软件编辑程序
软件工具
图形生成程序
软件产品
MIS系统
应用软件 CAD
OA系统
三.IPO图
IPO图是输入/处理/输出图的简称,是描述加工说明的图形工具。

它由左中右三个框组成,左框列出所有输入数据,中框列出所有处理,右框列出输出数据,三个框中间用粗箭头指出数据通信情况。

例主文件更新的IPO图如下:
输入处理输出其中处理框中的处理次序表示执行次序.
为了把加工说明表达更清楚、更具体,将IPO图作如下的改进。

四.需求描述语言
需求描述语言是对需求分析进行描述的工具。

该语言用来描述用户对系统功能的需求,它具有形式化的语法,能方便地描述系统中各个目标的性质和目标之间的联系,实现对繁琐的人工需求分析趋于工程化和标准化。

例1977年美国密执安大学开发的PSL/PSA(问题陈述语言/问题陈述分析程序)系统具有下述功能:
1.描述任何应用领域的信息系统(系统信息流、系统结构、数据结构、数据导出、系统
规模、系统动态、系统性质和系统管理等方面);
2.创建一个数据库保存对该信息系统的描述符;
3.对描述符施加增加、删除和修改操作;
4.产生格式化的文档和关于规格说明书的各种分析报告。

相关文档
最新文档