第3章需求分析

合集下载

第3章 需求分析

第3章  需求分析

3. 画加工的内部
用画0层图同样的方法画出每个加工的DFD子图。
4. 对DFD子图中的每个加工重复第3步的分解
2013-7-16
上海大学计算机学院
7
数据流求精实例
某考务处理系统
① 对考生送来的报名单进行检查; ② 对合格的报名单编好准考证号后将 准考证送给考生,并将汇总后的 考生名单送给阅卷站; ③ 对阅卷站送来的成绩清单进行检查, 并根据考试中心制定的合格标准 审定合格者; ④ 制作考生通知单(内含成绩及合格 /不合格标志)送给考生; ⑤ 按地区、年龄、文化程度、职业、 考试级别等进行成绩分类统计和 试题难度分析,产生统计分析表。
2013-7-16
上海大学计算机学院
13
实体-联系图
◆ 基本成分与符号
数据对象/实体
数据对象间的联系(1:1, 1:N, M:N) 属性(数据对象的性质)
◆ 实例
姓名
教工号
教师
M M
学生
N
职称
教N学课程源自M2013-7-16
上海大学计算机学院
14
其他图形工具
◆层次方框图
◆Warnier图
2013-7-16
第3章
需求分析
◆需求分析的任务
◆需求获取
◆需求描述
◆需求验证
2013-7-16
上海大学计算机学院
1
需求分析的任务
◆ 基本任务
● 准确地回答“系统必须做什么?” ● 分析软件需求和书写软件需求规格说明书
◆ 软件需求 ● 用户解决问题或达到目标所需要的条件或能力(want OR need?) ● 需求层次:业务需求用户需求功能与非功能需求 ◆ 具体任务 ● 确定对系统的综合要求 功能需求、性能需求、可靠性和可用性需求、出错处理需求、 接口需求、约束、逆向需求、扩展需求 ● 分析系统的数据要求 ● 导出系统的逻辑模型 ● 修正系统开发计划 ? 开发原型系统

第3章 需求理论与分析

第3章 需求理论与分析

13
价格弹性
• 富有弹性和缺乏弹性

富有弹性:������������ < −1 缺乏弹性:−1 < ������������ < 0 单元弹性:������������ = −1 弹性无穷大:������������ = −∞ 完全无弹性:������������ = 0 例:线性需求与价格弹性
22
在决策中应用弹性
• A公司是一家爱情小说的出版商。为了确定其产 品的需求,公司雇佣了一位经济学家。经过几 个月的艰苦工作,该经济学家告诉公司这种爱 情小说的需求方程估计为: ������������ = 12 000 − 5 000������������ + 5������ + 500������������ • 根据这个方程,公司经理想要: • 1.确定如果涨价,会对总收入有何影响。 • 2.了解在居民收入上升期间,小说的销售量将 如何变化。 • 3.评估如果竞争对手提高其产品的价格,会给 自己带来什么影响。 • 假定������������ , ������和������������ 初始值分别为5美元、10000美元和 6美元。
15
价格弹性
• 影响价格弹性的因素

是否有替代品 在收入中所占比重 时间的长短
• 美国汽油需求的价格弹性
年数 价格弹性 1 -0.11 2 -0.12 3 -0.32 5 -0.49 10 -0.82 20 -1.17
16
收入弹性
• 需求的收入弹性Fra bibliotek衡量需求量对收入变化的反应程度,因收入变 化1%而引起的需求量变化的百分比。 %∆������ ������������ = %∆������ ������2 −������1 ������2 +������1 弧弹性:������������ = ∙ 点弹性:������������ =

第3章 受众需求分析

第3章  受众需求分析
需求广告弹性:指一定时期内一种商品需 求量变化对于其广告支出水平变化的反应 程度,其弹性指数等于其需求量变化百分 比除以广告支出变化的百分比。
一般情况下,随着广告市场推广活动的进行, 受众对传媒产品的需求量会增加,故需求广告弹 性系数大于0,传媒经营者通过估算需求广告弹 性系数来科学决策广告投放方案。E
3、需求交叉弹性
需求交叉弹性:一定时期内一种商品需求量
变化对于它的相关商品的价格变化的反应程度。 其弹性指数等于其需求量变化的百分比除以相关 商品价格变化的百分比。
交叉弹性的大小取决于所考察的两种商品的相关 关系,若是替代关系,替代性越强弹性系数越大; 如果是互补关系,互补性越强则弹性系数的绝对 值就越大。如果两种商品不相关,弹性系数为零, 相关商品的价格对其没有影响。
受众消费需求是媒介消费者对媒介产品 或服务的需求。
一、受众市场的变化
主动性强 市场化 细分化
1、细分化
社会阶层逐渐分化,社会群体多样化,受众群 体间的差异日趋显著。受众市场由大众向分众乃 至小众甚至一对一转变,细分程度越来越深入。
受众被分成越来越细小的群体。
“每个人都有点喜欢的产品是没有 市场的,只有一部分人非常喜欢的产 品才有市场。”
影响需求的主要因素
价格、收入水平、相关商品价格、消费 偏好和价格预期。
1、商品本身的价格
一般说来,一种商品的价格越高,该商品的需求 量就会越小。相反,价格越低,需求量就会越大。
2、消费者的收入水(Yield)
正常商品 Y
Qd
低劣商品 Y
Qd
3、其它相关商品的价格
互Q1
P
D2
D1 P1
0
Q
Q1
Q2
需求价格弹性

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

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

第三章需求分析一. 填空题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章 需求分析

网上查某 本书<3秒
图书名称 /作者姓 名
按照输入的组 合条件,进行 模糊查询
显示“图书名称、作 者姓名、是否借出、 内容简介”
2
后台查询读 者信息响应 时间 后台查询图 书信息响应 时间
图书 馆借 阅部 图书 馆借 阅部
借阅 操作 员 借阅 操作 员
后台查某 读者信息 <2秒 后台查某 部书<2秒
案例3-3 【案例3-3】网上图书馆信息系统的部分接口列表,如 表3-3所示。 表3-3 目标系统的接口列表(接口模型)
3.2 需求分析的任务及过程
表3-3 目标系统的接口列表(接口模型)
编 号 接口 名称 接口 规范 接口 标准 入口参数 出口参数 传输 速率
1
与财 务系 统接 口
财务 系统 规定 的接 口规 范
3.2 需求分析的任务及过程
图3-2需求分析过程
3.2 需求分析的任务及过程
根据实际项目的规模和特点确定合适的需求分析常规过 程如下。 1.需求获取 2.综合需求与描述 3. 需求验证 4.需求文档
课堂讨论:
(1)需求分析具体任务有哪些? (2)需求分析常规步骤是什么?
3.2 需求分析的任务及过程书信息系统的 部分性能点列表(性能模型),如表 3-2所示。
3.2 需求分析的任务及过程
表3-2 图书馆系统的性能点列表
编号 性能名称 使用 部门 网上 读者 使用 岗位 网上 读者 性能描述 输入 系统响应 输出
1
读者网上查 询图书信息 响应时间
一张 凭证 一次 处理 传送
3.2 需求分析的任务及过程
7.确定系统运行环境及界面 8.修正开发计划和新系统方案 9. 编写需求文档,验证确认需求 【注意】上述任务要具体分析,灵活运用。如果需求 分析之后,对将要实现的新系统,仍然感到不够明确时, 不应签字确认,还需进行进一步深入分析。

软件工程导论第3章

软件工程导论第3章

2.访谈
访谈是最早开始使用的获取用户需求的技术,也是迄今为止仍 然广泛使用的需求分析技术。 访谈有两种基本形式: 正式访谈:系统分析员将提出一些事先准备好的具体问题。 非正式访谈:分析员将提出一些用户可以自由回答的开放性问题, 以鼓励被访问人员说出自己的想法。 调查表是当需要调查大量人员的意见时的一个十分有效的做法。 分析员仔细阅读收回的调查表,然后再有针对性地访问一些用户, 以便向他们询问在分析调查表时发现的新问题。 在访问用户的过程中可以使用情景分析技术。情景分析技术的 用处主要体现在下述两个方面: (1) 它能在某种程度上演示目标系统的行为,从而便于用户理解, 而且还可能进一步揭示出一些分析员目前还不知道的需求。 (2) 由于情景分析较易为用户所理解,使用这种技术能保证用户在 需求分析过程中始终扮演一个积极主动的角色。
(1) 数据对象
数据对象是对软件必须理解的复合信息的抽象。所谓 复合信息是指具有一系列不同性质或属性的事物,仅有单 个值的事物(例如,宽度)不是数据对象。 数据对象可以是外部实体(例如,产生或使用信息的任 何事物)、事物(例如,报表)、行为(例如,打电话)、事件 (例如,响警报)、角色(例如,教师、学生)、单位(例如,会 计科)、地点(例如,仓库)或结构(例如,文件)等。总之,可 以由一组属性来定义的实体都可以被认为是数据对象。 数据对象彼此间是有关联的,例如,教师“教”课程, 学生“学”课程,教或学的关系表示教师和课程或学生和 课程之间的一种特定的连接。
(4)需求验证 由软件开发者和用户一起来进行软件需求规格
说明的复审。确保需求规格说明可作为软件设计和最 终系统验收的依据。
二. 需求获取的常用方法
1. 建立联合分析小组 建立一个由用户、系统分析员和领域专家参加 的联合分析小组,密切合作,共同标识问题,提出 解决方案要素,商讨不同方案并指定基本需求。 这是一种面向团队的需求收集法,又称为简易 的应用规格说明技术。

软件工程导论-第3章_需求分析_(第五版)(张海藩编著)_a_百度文库

软件工程导论-第3章_需求分析_(第五版)(张海藩编著)_a_百度文库
求互相矛盾。
(2) 完整性:需求必须是完整的,规格说明书应该包括用户需要的
每一个功能或性能。
(3) 现实性:指定的需求应该是用现有的硬件技术和软件技术基本
上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步 则很难做出预测,只能从现有技术水平出发判断需求的现实性。
(4) 有效性:必须证明需求是正确有效的,确实能解决用户面对的
成功来之不易
31%
(取消)
16.2%
(成功地完成)
53.8%
(受到挑战) Source: Standish Group
2
软件项目失败的原因
软件项目失败的最重要的五个主要原因:
需求不完整 缺少客户的参与 缺少资源 期望值过高 缺少高层的支持
0% 5% 10% 15%
3
需求错误的成本
4
软件需求的重要性: •软件需求分析是决定软件成功开发的一个关键因素
3.1.4 修正系统开发计划
根据在分析过程中获得的对系统的更深入更具体 的了解,可以比较准确地估计系统的成本和进度,修 正以前制定的开发计划。
补充:与用户沟通获取需求的方法
3.2 与用户沟通获取需求的方法
需求获取的困难:
-用户通常并不真正知道自己希望计算机系统做什么 用户通常使用业务语言表达需求,开发人员缺乏相关 的领域知识和经验,难以准确理解这些需求 -不同的用户提出不同的需求,可能存在矛盾和冲突 管理者可能出于增加影响力的原因而提出特别的需求 -由于经济和业务环境的动态性,需求经常发生变更
图3.7 IPO图的一个例子图
模块编号:c.5.5.8
图3.7 IPO图的一个例子图
图3.8 改进的IPO图的形式
本书建 议使用 一种改 进的 IPO图 (也称 为IPO 表 ),

第三章 软件需求分析基础

第三章 软件需求分析基础



逆向需求:说明软件系统不应该做什么。理论 上有无限多个逆向需求,我们应该仅选取能澄 清真实需求且可消除发生误解的那些逆向需求; 将来可能提出的要求:应该明确地列出那些虽 然不属于当前系统开发范畴,但是据分析将来 很可能会提出来的要求。
另一种分类


功能性需求 产品的范围 功能与数据需求 非功能性需求 观感需求 易用性 性能 限制条件
第三章 软件需求分析基础
主要内容

需求分析的概念和原则 传统的软件需求分析基础
3.1 需求分析的概念和原则

需求分析的基本任务是准确地回答“系统必须做什 么?”这一核心问题。 需求分析是发现、求精、建模和规约的过程。这一过 程包括:详细精化最初由系统分析员建立在软件项目 计划中确定的软件范围,创建所需数据流、控制流以 及操作行为的模型,在此基础上选择解决方案。

例2. 客户希望得到指明什么零件从库存中取出、 以及还剩余多少相似零件的日报表。客户指明 一旦当该零件离开仓库时库存管理员就该记载 每个零件的标号。通过对当前问题和希望的信 息(输入和输出)进行的评估,系统分析员开 始综合一个或多个解决方案。为了便于开始, 必须详细地定义系统的数据、处理功能和行为。

操作需求 可维护性和可移植性需求 安全性需求 文化与政策 法律需求

需求的质量



完整性 正确性 可行性 必要性 划分优先级 无二义性 可验证性 设计无关性
2.需求分析的任务




需求分析的任务是借助于当前系统的物理模型 导出目标系统的逻辑模型,解决目标系统“做 什么”的问题。 所要做的工作是深入描述软件的功能和性能, 确定软件设计的限制和软件同其他系统元素的 接口细节,定义软件的其他有效性需求。 必须全面理解用户的各项要求,但只能接受合 理的要求。 要将软件的需求准确地表达出来,形成软件需 求说明书。

第3章 需求分析

第3章 需求分析
6
软 件 工 程
4. 出错处理需求
这类需求说明系统对环境错误应该怎样响应。例如,如果它接收到 从另一个系统发来的违反协议格式的消息,应该做什么?注意,上述这 类错误并不是由该应用系统本身造成的。 在某些情况下,“出错处理”指的是当应用系统发现它自己犯下一 个错误时所采取的行动。但是,应该有选择地提出这类出错处理需求。 我们的目的是开发出正确的系统,而不是用无休止的出错处理代码掩盖 自己的错误。总之,对应用系统本身错误的检测应该仅限于系统的关键 部分,而且应该尽可能少。 3.7.6 故障处理 a. 内部故障处理 在开发阶段可以随即修改数据库里的相应内容。 b. 外部故障处理 对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运 行,在需求调用时出错,有错误提示,重试。
(1)必须理解并描述问题的信息域,根据这条准则应该建 立数据模型。 (2)必须定义软件应完成的功能,这条准则要求建立功能 模型。 (3)必须描述作为外部事件结果的软件行为,这条准则要 求建立行为模型。 (4)必须对描述信息、功能和行为的模型进行分解,用层 次的方式展示细节。
12
第 3 章 需 求 分 析
据存储(可行性研究得到的高层数据流图)定义到元素级。
沿数据流图从输出端往输入端回溯着手分析。
第 3 章 需 求 分 析
图3.1 面向数据流自顶向下求精过程
15
3.2.3 简易的应用规格说明技术 软 件 工 简易的应用规格说明技术(面向团队的而求收集法)提倡用户 程 与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同
18
软 件 工 程
3.3.2 软件需求规格说明
通过需求分析除了创建分析模型之外,还应该写出软件 需求规格说明书,它是需求分析阶段得出的最主要的文档。 通常用自然语言完整、准确、具体地描述系统的数据要 求、功能需求、性能需求、可靠性和可用性要求、出错处理 需求、接口需求、约束、逆向需求以及将来可能提出的要求。 自然语言的规格说明具有容易书写、容易理解的优点,为大 多数人所欢迎和采用。 为了消除用自然语言书写的软件需求规格说明书中可能 存在的不一致、歧义、含糊、不完整及抽象层次混乱等问题, 有些人主张用形式化方法描述用户对软件系统的需求,第4章 将简要地介绍形式化说明技术。

第3章 需求分析及功能建模方法

第3章 需求分析及功能建模方法

第3章需求分析及功能建模方法3.1 需求分析概述3.1.1 需求分析概念1、所谓需求分折:就是对待开发的系统要做什么,完成什么功能的全面描述。

2、需求分析的工作:通过对需求的调查、了解、观察和分析,通过对原始数据的收集、分类和抽象,并采用有效的技术、工具,对原始资料进行加工整理,描述开发目标、实现的功能及其相互关系等活动的集合;3、需求的定义:客户对一个待开发的系统在实现目标、完成功能、应达到的性能、安全性、可靠性等方面的期望和要求的集合;4、需求获取的困难:(1) 软件功能复杂;(2) 需求的可变性;5、需求分析阶段的主要任务:分析当前的业务流程,包括体系结构,各职能部门完成的主要任务、关系及其交流的信息。

6、需求分析的结果通常以模型等建模工具和方法描述系统的信息流、功能结构及完成各功能需要的数据。

7、功能模型和软件需求规格说明书是软件开发的依据,将指导后续的开发工作。

8、需求分析工作是系统分析员与用户不断交互的过程中完成的。

3.1.2 系统分析员的职能1、系统分析员的主要要任务:是确定应用信息系统及软件产品应该达到的各项功能性要求和非功能性要求,即用户要做什么。

2、系统分析员应该具备的素质:(1) 获取需求的能力;(2) 管理及沟通能力;(3) 技术素养;3.1.3 需求获取的方法常用的几种获取需求的方法:(1)面谈;(2)实地观察;(3)问卷调查;(4)查阅资源;3.1.4 需求分析过程1、标识问题:(1) 需求分析的第一步,通过对问题的识别和标识获得所求解问题及其运行环境的理解;(2) 标识问题从现行系统的业务流程做起,理解现行系统的业务流程;(3) 在标识理解需求的同时,还要注意确定系统的人机界面;2、建立需求模型:(1) 模型是对现实原形所作的一种抽象,其本质是只关心与研究内容有关的因素,而忽略无关的因素,其目的是把复杂的事物变得简单,便于认识和分析;(2) 目前常用的模型方法主要有DFD数据流图和IDEFO,都属于结构化分析方法,其特征是抽象和分解;(3) 首先对应用领域进行全面的分析,发现并找出同类事物的本质,用抽象方法把这类事物的非主要方面剔除,把握住事物的内部规律或本质,就可以找到解决办法;然后采用自上而下逐步求精的方法对复杂的问题进行分解;(4) 结构化分析及建模方法的主要优点:(A) 不过早陷入具体的细节;(B) 从整体或宏观入手分析问题;(C) 通过图形化的模型对象直观地表示系统要做什么,完成什么功能;(D) 图形化建模方法方便系统分析员理解和描述系统;(E) 模型对象不涉及太多的技术术语,便于用户理解;3、描述需求:(1) 需求描述的目标:对软件项目功能性和非功能性的需求全面描述;(2) 功能性需求:指需要计算机实际解决的问题或实现的具体功能,明确描述系统必须做什么,实现什么功能以及输入输出等;(3) 非功能性需求:软件项目对实际运行环境的要求;(4) 需求描述主要由需求模型和需求说明书组成,说明书侧重文字说明,内容如下:需求概述;功能需求;信息需求;性能需求;环境需求;其他需求;(5) 在对需求进行分析过程中,系统分析员要经常考虑的问题:(A) 描述的需求是完全的吗?(B) 需求描述是正确的和一致的吗?(C) 描述的这些需求是可行的、实际可操作的吗?(D) 描述中的每一条需求都是客户需要的吗?4、确认需求:1、评审委员会审核下列内容:功能需求;数据需求;性能;数据管理;其他需求。

第3章 需求分析-大纲

第3章 需求分析-大纲

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

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

——IPO图(Input Process Output)。

第3章 结构化需求分析

第3章  结构化需求分析
第3章 需求分析
为了开发出真正满足用户需求的软件 产品,首先必须知道用户的需求。 产品,首先必须知道用户的需求。
教学目的
掌握需求分析的任务 理解E-R图、数据流图、数据字典的编制 理解 图 数据流图、 理解解需求规格说明的制作
对软件需求的深入理解是软件开发工 作获得成功的前提和关键, 作获得成功的前提和关键,不论我们把设 计和编码工作做得如何出色, 计和编码工作做得如何出色,不能真正满 足用户需求的程序只会给用户带来失望, 足用户需求的程序只会给用户带来失望, 给开发者带来烦恼。 给开发者带来烦恼。
在非正式的访谈中, 在非正式的访谈中,将提出一些可以 自由回答的开放性问题, 自由回答的开放性问题,以鼓励被访问的 人员表达自己的想法,例如, 人员表达自己的想法,例如,询问用户为 什么对目前正在使用的系统感到不满意。 什么对目前正在使用的系统感到不满意。
当需要调查大量人员的意见时, 当需要调查大量人员的意见时,向被 调查的人员分发调查表是一个十分有效的 做法。 做法。
在对用户进行访谈的过程中使用情景 分析技术往往非常有效。 分析技术往往非常有效。所谓情景分析就 是对用户运用目标系统解决某个具体问题 是对用户运用目标系统解决某个具体问题 的方法和结果进行分析。 的方法和结果进行分析。
3.2.2 术
简易的应用规格说明技
这种方法提倡用户与开发者密切合作, 这种方法提倡用户与开发者密切合作, 共同标识问题,提出解决方案的要素, 共同标识问题,提出解决方案的要素,商 讨不同的方法并指定基本的需求。今天, 讨不同的方法并指定基本的需求。今天, 简易的应用规格说明技术已经成为信息系 统界使用的主流技术。 统界使用的主流技术。
快速原型应该具备的第二个特性是 容易修改” “容易修改”。如果原型的第一版不是用 户所需要的, 户所需要的,就必须根据用户的意见迅速 地修改它,构建出原型的第二版, 地修改它,构建出原型的第二版,以更好 地满足用户的需求。 地满足用户的需求。

软件工程导论第五版张海藩第03章-需求分析

软件工程导论第五版张海藩第03章-需求分析
第3章 需求分析
3.1 需求分析的任务 3.2 与用户沟通获取需求的方法 3.3 分析建模与规格说明 3.4 实体-联系图 (?) 3.5 数据规范化(?) 3.6 状态转换图+有穷状态机 3.7 其他图形工具 3.8 验证软件需求 3.9 小结
需Байду номын сангаас分析的意义
软件需求的深入理解是软件开发工作获得成 功的前提条件,不论我们把设计和编码做得如何 出色,不能真正满足用户需求的程序只会令用户 失望,给开发带来烦恼。
软件需求规格说明书,是需求分析阶段得出的最主要 的文档。
软件需求说明书的编写提示(GB856T—88)
1 引言 1.1 编写目的 1.2 背景 1.3 定义 1.4 参考资料
2 任务概述 2.1 目标 2.2 用户的特点 2.3 假定和约束
软件需求说明书的编写提示(GB856T—88)
3 需求规定
建模方法
在过去的数年中,人们提出了许多种分析建模的方法,其中两种 在分析建模领域占有主导地位:
第一种是结构化分析 (Structured Analysis,SA),70年代末由 DeMarco等人提出,这是传统的建模方法。该方法不是被所有的使用 者一致地使用的单一方法,众多科学家对其进行了扩充,因此它是发 展了超过30年的一个混合物。
2) 项目相关人员用自己的语言表达需求,这些 语言包含很多工作中的专业术语和专业知识。系统分 析员没有这些知识和经验,而他们又必须了解这些需 求。
3)不同的项目相关人员有不同的需求,可能以 不同的方式表达,分析人员必须发现所有潜在的需求 资源,而且能发现这些需求的相容或冲突之处。
4)经济和业务环境决定了分析是动态的,需求 在分析过程中会发生变更。个别需求的重要程度会改 变,新的需求会从新的项目相关人员那里得到。

第3章 需求分析29029.ppt

第3章 需求分析29029.ppt

1993,未能协调不一致的需求
不一致需求的管理问题
LASDS(伦敦救护车服务派遣系统),1992,社会
服务领域糟糕的需求分析
需求不清晰的问题
ATC(空中交通控制系统),1.8亿£,1998-2001,
缺乏健壮的需求规格说明
需求未明确就开始
后续工作的问题
2021/3/8
3
需求的重要性
需求错误的高代价性
需求管理
需求获取
需求分析 需求规格说明 需求验证
3.1.3 需求的开发与管理
1. 需求获取 需求获取是从人、文档或者环境当中获取需求的过程 需求工程师必须要利用各种方法和技术来“发现”需求
2. 需求分析 建模来整合各种信息,以使得人们更好的理解问题 为问题定义出一个需求集合,这个集合能够为问题界定 一个有效的解决方案
检查需求当中存在的错误、遗漏、不一致等各种缺陷, 并加以修正
需求获取和需求分析是交织在一起的
3.1.3 需求的开发与管理
3. 需求规格说明
获取的需求需要被编写成文档,主要目的是为了 在系统涉众之间交流需求信息
业务需求被写入项目前景和范围文档
用户需求被写入用户需求文档(或者用例文档)
系统需求被写入需求规格说明 4. 需求验证
软件开发方法 结构化开发方法 面向对象开发方法 形式化开发方法 ……
需求分析技术
1、结构化方法(Structure Method) 结构化方法由结构化分析、结构化设计和结构化程
序设计构成,也称Yourdon方法。 最早的、最传统的软件开发方法 指导思想是自顶向下、逐步求精 面向数据流的开发方法 基本原则是功能的分解与抽象 出现较早,适用于数据处理领域 不适用于规模大以及特别复杂的项目

第三章 需求分析--消费者均衡理论

第三章 需求分析--消费者均衡理论

I.C.C.
• • • E
E1
2
E3
I2 B3 I3
I1 B1 B2
X
三、价格总效应分析(price effect)
1、价格消费线(P.C.C.,price-consumption curve) 表示在消费者偏好、货币收入和其他商品价格不变的 条件下,某种商品价格变化引起消费者均衡点(无差异线 与预算线切点)移动的轨迹。
(3)不相交:任意两条无差异曲线都不可能相交。
(4)凸向原点:因为边际替代率递减。
3、边际替代率(MRS,marginal rates of substitution) (1)定义:在保持效用水平相同时,增加一单位某商品的消 费,必须放弃的另一种商品的消费量。
• 边际替代率,实际上又是无差异曲线斜率的绝对值。
(2)商品用途多样性
思考:价值悖论(Paradox of value) “为什么像水那样对生命如此不可缺少的东西具有很低的 价格,而对于生命并非必不可少的钻石却具有如此高的 价格呢?”
200 年前,这一悖论困扰着亚当 · 斯密。现在,我们知 道如何解答这一问题了:
商品的价格并不取决于该商品的使用价值或总效用, 而取决于它的边际效用。尽管水的使用价值很高,但 水资源相当丰富,即使最初几滴水相当于生命自身的 价值,但最后的一些水仅仅用于浇草坪或洗汽车,即 最后一单位水带给消费者的边际效用很低,所以水只 能以很低的价格出售。相反,钻石是十分稀缺的,多 得到1单位钻石的成本很高,对消费者来说,边际效用 高,所以价格高昂。 因而,经济学中的价值论并不难懂,只要你记住:在 经济学中,是狗尾巴摇动狗身子。摇动价格和数量这 个狗身子的是边际效用这条狗尾巴。
Y
I
0
X
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

系统性能要求—应就具体系统而定 , 系统性能要求 应就具体系统而定, 例如 应就具体系统而定 可靠性、联机系统的响应时间、存储容量、 可靠性、联机系统的响应时间、存储容量、安 全性能等。 全性能等。 系统可靠性和可用性要求—可靠性需求是 系统可靠性和可用性要求 可靠性需求是 定量地指定系统的可靠性。 定量地指定系统的可靠性。可用性和可靠性密 切相关,它量化了用户使用系统的程度。 切相关,它量化了用户使用系统的程度。 出错处理要求—这类需求说明系统对环境 出错处理要求 这类需求说明系统对环境 错误应该如何响应。 错误应该如何响应。 接口需求—接口需求描述系统与环境通信 2 接口需求 接口需求描述系统与环境通信 的格式,常见的接口有:用户接口需求、 的格式,常见的接口有:用户接口需求、硬件 接口需求、软件接口需求、通信接口需求。 接口需求、软件接口需求、通信接口需求。
3.1 需求分析的任务 需求分析阶段的任务:在可行性分析的基础上, 需求分析阶段的任务:在可行性分析的基础上, 进一步了解确定用户需求。 进一步了解确定用户需求。准确地回答 “系统必 须做什么? 的问题。 须做什么?” 的问题。对目标系统提出完整、准 确、清晰、具体的要求。获得需求规格说明书。 获得需求规格说明书 获得需求规格说明书。 需求分析的具体任务: 需求分析的具体任务: 1、确定系统的综合要求 系统功能要求—这是最主要的需求, 系统功能要求 这是最主要的需求,确定系 这是最主要的需求 统必须完成的所有功能。 统必须完成的所有功能。
性别
职务 职务 教师 学号
姓名
性别

姓名
学生
年级
教 工 号 教
1 N
课程
N

成绩
M
课 程 号
课名
学时
学分
教师、学生及课程三者之间的ER图
3.5 数据规范化
规范化理论是数据库逻辑设计的指南和工具,那 么在概念设计阶段,也要用规范化理论为工具消 除E-R图中冗余的联系。数据库中用“范式”来 定义消除数据冗余的程度。分为5个范式。第一 范式数据冗余程度最大,第五范式数据冗余程度 最小,但是范式级别越高,存储自身的过程的越 复杂。第二,随着范式级别的提高,数据的存储 结构与基于问题域的结构间匹配程度也随之下降, 所以当需求发生变化时数据的稳定性就差。第三, 范式级别越高需要访问的数据表越多,访问速度 就越低。从实用来说,一般选用第三范式比较恰 当。
第三 章
软件需求分析
软件需求分析是软件生命期中重要的一步, 软件需求分析是软件生命期中重要的一步 , 也 是决定性的一步。 是决定性的一步 。 它的基本任务是准确地回答 “系统必须做什么?”。 系统必须做什么?
软件需求分析是在可行性的基础上进行的更细致 的分析工作, 的分析工作,是对软件计划阶段所确定的系统目 标和功能做进一步的求精和细化。 标和功能做进一步的求精和细化。对目标系统提 出完整、准确、清晰、具体的要求。 出完整、准确、清晰、具体的要求。在可行性阶 段的文档是系统需求分析的出发点。 段的文档是系统需求分析的出发点。在需求分析 阶段分析员必须仔细研究这些文档并将它们细化。 阶段分析员必须仔细研究这些文档并将它们细化。
需求分析的原则: •1.必须能够理解和表达问题的数据域,根据这 条准则应该建立数据模型 数据模型。 数据模型 •2.必须定义软件应该完成的功能根据这条准则 功能模型。 应该建立功能模型 功能模型 3.必须描述作为外部事件结果的软件行为,根 据这条准则应该建行为模型 行为模型。 行为模型 4.必须对数据、功能和行为的模型进行分解和 不断细化,建立问题的层次结构 。 层次结构
图3.1 面向数据流自顶向下求精过程
简易的应用规格说明技术( 3. 简易的应用规格说明技术 ( 面向团队的需求 收集法) 收集法) 使用前两种方法定义需求时并不理想。因此,人 们提出一种简易的应用规格说明技术,它是一 种面向团对的需求收集间技术。这种方法提倡 用户与开发者密切合作,共同标识问题,提出 解决方案,商讨不同的方案并指定基本需求, 目前,这种技术已经成为信息系统领域使用的 主流技术
3、导出系统的逻辑模型 通常系统的逻辑模型 导出系统的逻辑模型—通常系统的逻辑模型 DFD图来描述 图来描述。 用DFD图来描述。 4、修正系统的开发计划 通过需求对系统的成 修正系统的开发计划—通过需求对系统的成 本及进度有了更精确的估算, 本及进度有了更精确的估算,可进一步修改开 发计划。 发计划。
状态图既可以表示系统的循环运行过程,也可 以是系统的单程生命期 。 事件: 事件:在特定时刻发生的事情,它是对引起系 统做动作或从一个状态转换到另一个状态的外 界事迹的抽象。 状态图中符号 在状态图中,处态用实心圆表示,终态用同心圆 (内圆用实心圆)表示,中间状态用圆角矩形表 示,可以用两条水平横线把它分成上、中、下3 个部分,分别放置状态名、状态变量的名字和值 和活动表。其中,状态变量和活动表是可选的。
2、分析系统的数据要求 软件系统本质上是信息处理系统,因此, 软件系统本质上是信息处理系统,因此, 必须分析系统的数据要求, 必须分析系统的数据要求,这是软件需求分析的 一个重要任务。 一个重要任务。分析系统的数据要求通常采用建 立数据模型的方法。必须考虑: 立数据模型的方法。必须考虑: 数据 பைடு நூலகம்需要哪些数据、数据间联系、数据性 需要哪些数据、数据间联系、 结构) 质、结构) 处理的类型、处理的逻辑功能) 数据处理 (处理的类型、处理的逻辑功能)
3.2与用户沟通获取需求的方法 3.2与用户沟通获取需求的方法
1.客户访谈 访谈是最早开始使用的获取用户需求的一种方法,也 是最常用的一种方法。 访谈有两种基本形式,分别是正式和非正式的访谈。 当需要调查大量人员的意见时,请被调查人填写调查 表是十分有效的做法。 在访问用户的过程中使用情景分析技术往往非常有效, 所谓情景分析就是对用户将来使用目标系统解决某个 具体问题的方法和结果进行分析,系统分析员利用情 景分析技术,往往能够获知用户的具体需求。
3.3.2 软件需求规格说明
通过需求分析除了创建分析模型之外,还应该 写出软件需求规格说明书,它是需求分析阶段 得出的最主要的文档。 通常用自然语言完整、准确、具体地描述系统 的数据要求、功能需求、性能需求、可靠性和 可用性要求、出错处理需求、接口需求、约束、 逆向需求以及将来可能提出的要求。自然语言 的规格说明具有容易书写、容易理解的优点, 为大多数人所欢迎和采用。
活动表的语法格式如下: 活动表的语法格式如下: 事件名(参数表) 事件名(参数表)/动作表达式 其中,事迹名可以是任何事件的名称, 其中,事迹名可以是任何事件的名称,在活动 表中常使用3种标准事件 种标准事件: 表中常使用 种标准事件:entry\exit\do,而entry 而 事件表示进入该状态的动作, exit事件表示退出 事件表示进入该状态的动作, exit事件表示退出 该状态的动作, 事件表示在该状态下的动作 事件表示在该状态下的动作, 该状态的动作,do事件表示在该状态下的动作, 需要时可以为事迹指定参数表, 需要时可以为事迹指定参数表,活动表中的动 作表达式描述做的具体动作。 作表达式描述做的具体动作。它是一个过程表 达式,当状态转换开始时执行该表达式。 达式,当状态转换开始时执行该表达式。
2.面向数据流自顶向下求精 结构化分析方法就是面向数据流自顶向下逐步 分解求精,在可行性研究阶段描绘出了目标系 统的高层数据流图,但对数据考虑的不详,在这 个阶段必须细化。通常把分析过程中得到的数 据元素的信息记录在数据字典中,把对算法的 简明描述记录在IPO图中。 最后,分析员要对分析得出的结果即数据流图 请用户进行仔细复查。
下图给出了状态图中使用的主要符号
实例: 实例:
为了具体说明怎样用状态图建立系统的行为模 型,下面举一个人们非常熟悉的电话系统的状 态图例子。见书57页图 页图3.4 态图例子。见书 页图
• 状态图中使用的主要符号
3.7其它图形工具 3.7其它图形工具 3.7.1层次方框图: 层次方框图: 层次方框图 层次方框图是用树形结构的一系列多层次的矩 形框描绘数据的层次结构。数形结构的顶层是 一个单独的矩形框,它代表一个完整的数据结 构,下面各层矩形框代表这个数据的组成部分, 最低层的各个框代表组成这个数据的实际数据 元素。 例如:描绘一个计算机公司全部产品的数据结 构可以用下图表示:
•数据对象(实体): 客观世界中存在的且可区 数据对象(实体) 数据对象 分的事物。 • 联系 客观事物之间的联系(三类--1:1,1: 联系: N,M:N) • 属性: 实体或联系所具有的性质。 属性
实体实体-联系图的符号 用矩形框代表实体,用连接相关实体的菱形框 表示关系,用椭圆形或圆角矩形表示实体的属 性。并直线把实体或联系与其属性连接起来。
事件表达式的语法如下: 事件表达式的语法如下: 事件说明[守卫条件]/ 动作表达式 其中事件说明语法为:事件名(参数表) 守卫条件是一个布尔表达式,如果同时使用事 件说明和守卫条件,则当且仅当事件说明和守 卫条件为真时,状态转换才发生。如果只有守 卫条件没有事件说明,则只当守卫条件为真时, 状态转换才发生。
3.4 实体-联系图 为了把用户的数据要求清楚、准确地描述出 来,系统分析员通常建立一个概念数据模型 (也称为信息模型)。概念性数据模型是一种 面向问题的数据模型,是按照用户的观点对 数据建立的模型。它描述了从用户角度看到 的数据,它反映了用户的现实环境。 数据模型中包含3种相互关联的信息:数据 对象、数据对象的属性及数据对象间的联系。
约束—描述在设计或实现应用系统时应遵守的 约束 描述在设计或实现应用系统时应遵守的 限制条件, 限制条件,常见的约束有精度 、工具和语言约 使用的标准、使用的硬件平台。 束、使用的标准、使用的硬件平台。 逆向需求—逆向需求说明软件系统不应该做什么 逆向需求 逆向需求说明软件系统不应该做什么 需求。 需求。 将来可能提出的要求—对将来可能提出的扩充及 将来可能提出的要求 对将来可能提出的扩充及 修改作预准备。 修改作预准备。
相关文档
最新文档