第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章 受众需求分析

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

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

可行性研究的任务和目的
➢ 用最小的代价在尽可能短的时间内确 定问题是否能够解决。
➢ 确定问题是否能够解决和值得解决。 ➢ 分析可能的利弊关系。
➢ 对行动方针提出建议(是否可行)。
7
可行性研究的时间与成本
➢ 可行性研究实质上是在较高层次上以抽 象方式进行系统分析和设计的过程。
➢ 可行性研究需要的时间长短取决于工程 的规模。
仔细阅读和分析有关的材料,改正含糊或不正确的叙述, 清晰的描述目标系统。
➢ 识别用户的真正要求?(访问关键人员) ➢技术现状如何? (系统调研) ➢系统配置如何? (分析有关的材料) ➢系统维护能力如何? (系统调研) ➢ 系统配置与外部环境的接口什么样?(限制和约束) ➢ 技术上的风险有哪些? ➢ 是否具备技术资源? ➢ 开发人员是否得到培训? ➢ 是否存在法律责任和政治风险?
21
系统分析的内容
1. 环境分析 2. 物理分析 3. 功能分析 4. 信息分析 5. 动态分析
➢ 了解业务活动状况,特别是活动要点的分析。 ➢ 明确这些要点间什么在流动,如何流动。 ➢ 对物理流量进行分析。 ➢ 模型化,得到实际业务系统的物理模型。
22
系统分析的内容
1. 环境分析 2. 物理分析 3. 功能分析 4. 信息分析 5. 动态分析
➢ 了解系统应解决的问题是什么? ➢ 这些问题是如何提出的? ➢ 了解问题的结构。 ➢ 这些问题如何解决才能满足用户的要求?
17
案例: (库存管理)
找出问题
➢不能及时获得库存信息 ➢库存信息不够准确 ➢无法及时了解车间对库存商品的需求情况
18
系统分析过程
① 分析现实世界,充分理解当前系统,并用一个具体模 型描述,获得当前系统的物理模型。
(管理经济学课件)第3章 需求弹性与需求分析

1、求需求的价格弹性
弧弹性
❖ 如果价格变化的幅度很小,可以用点弹性; ❖ 如果价格变化的幅度比较大,则须用弧弹性。
❖处理方法是,取两点连 线的中点作为衡量价格与 需求量变化的基础。
EP Q (Q2 Q1) • (P2 P1) P (P2 P1) (Q2 Q1)
例
假定在某企业的需求曲线上,当P=2时,Q=20;当 P=5时,Q=5。求价格从2元到5元之间的弧价格弹性。
❖ 产业的收入弹性是影响产业发展的主要因素 之一。
❖ 需求的收入弹性较高的产业,随着人均收入 水平的提高,其发展前景也就会很大。
❖ 应当选择进入需求收入弹性较大的产业。
收入弹性与企业决策
❖ 家用空调普及率与人均可支配收入 ❖ P91,表3-4,收入越高,弹性越小。 ❖ 对于低收入家庭,需求收入弹性大,空调属
需求点弹性的四种类型
图(c) 中,直角 双曲线,K为 大于零的常数, 价格弹性等于
1; 图(d)中,斜率
只有一个。
证明:如果PQ=k,则价格弹性为1.
证明: P
k , dP Q dQ
k Q2
,
dP dQ
k Q2
dQ Q2 Q2 Q , dP k PQ P
EP dQ P 1 dP Q
解:已知Q1=20,Q2=5;P1=2,P2=5;
EP
Q2 Q1 P2 P1
P2 P1 Q2 Q1
5 20 5 2 1.4 5 2 5 20
即价格从2元到5元之间的弧价格弹性为1.4。
需求曲线与价格弹性
❖ 一般地,越平坦的需求曲线,价格弹性越大; 越陡峭的需求曲线,价格弹性越小。
❖ ① dP > 0涨价,则 dQ < 0,可知 dTR < 0,即销 售收入减少;
第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.1 需求分析的任务和步骤
——需求分析的任务
……确定对系统的综合要求
……分析系统的数据要求
……建立软件的逻辑模型
——确定对系统的综合要求
……功能性需求
……非功能性需求:可用性,可靠性……
——分析系统的数据要求
……数据字典——定义数据
……层次方框图——定义数据结构
——建立软件的逻辑模型:数据流图、数据字典、实体-联系图、主要算法
——编写软件需求规格说明书
——需求分析评审
3.2 需求获取的常用方法(5个)
——访谈
——问卷调查
——观察用户工作流程
——建立联合分析小组
——快速原型法
3.3 需求分析的方法(4个)
——功能分解法:软件需求当做一棵倒置的功能树
——结构化开发方法:结构化分析、结构化设计和结构化程序设计
——信息建模方法:实体-联系图
——面向对象的分析
3.4 结构化分析技术
——思路:基于数据流图自顶向下逐层分解
3.5 需求分析图形工具
——实体-联系图(Entity-Relationship Diagram)
……实体定义:对软件必须理解的复合信息的抽象
……属性定义:数据对象的性质
……联系定义:数据对象彼此之间相互连接的方式
——数据字典
……定义:数据字典是关于数据的信息的集合,也就是对数据流图中包含的
所有元素的定义的集合。
……四类元素:数据流,数据流分量(即数据元素),数据存储,处理——层次方框图
……定义:用树型结构的一系列多层次的矩形框描绘数据的层次结构。
——IPO图(Input Process Output)。
第三章 劳动力需求分析

(4)几个相关概念
边际产品(MP):一个单位的某种投入所带来的 实物产出变化。 劳动的边际产品(边际产量): 在资本保持 不变的情况下,劳动投入的数量单位变化 (ΔL)所导致的实物产出变化(ΔQ)。 MPL=ΔQ/ΔL
边际收益(MR):一个单位的某种投入所 带来的收益变化。在完全竞争的产品市场 上,厂商每个单位的产出的边际收益等于 产品价格(P)。 边际收益产品(MRP):一个单位的某种投 入所产生的边际收入。 MRP=MP×MR 劳动力的边际收益产品 MRPL=MPL×MR= ΔTR/ΔL= ΔQ/ΔL × ΔTR/ΔQ
(2)成本既定条件下的产量最大
K Q1 Q2 a Ke Kb
Q3
e
b C1
O
Le
Lb
L
我们同样考察上图发现:均衡点由等成本线与 等产量线切点决定,在均衡点实现了成本既定 条件下的常量最大。 根据等成本线与等产量线的特点,我们也可得 到在均衡点有下列等式成立:
MPL W MP K R
上述等式的含义即为企业实现利润最大化的条 件,也是企业长期劳动力需求必须遵循的条件。
3.2.1 பைடு நூலகம்全竞争的基本假设
(1) 市场条件假设 完全竞争市场的假设条件是: 其一,产品市场、劳动力市场有为 数众多的供给者和需求者,市场上任何 一个主体的供给量与需求量所占市场的 比例很小,从而任何一种交易无法影响 市场的价格。
其二,商品和服务生产中仅使用两 种同质的生产要素,即劳动力和资本。 其三,资源完全自由流动,企业和 劳动者均可以自由地进入或退出某个行 业。 其四,市场主体具有完全信息,且 获得信息的成本为零。
3.3.1 长期劳动力需求的基础知识
(1)等产量曲线:技术水平不变条件下生产同 一产量的两种生产要素的投入量的不同组合的轨 迹。 斜率为负 凸向原点(边际技术替代率递减) 密集性 离原点越远,产量越大 不能相交
第3章需求分析

3.2.2 面向数据流自顶向下求精
借助数据流图、数据字典、 图等, 借助数据流图、数据字典、据流图,等到各处理环节对应的功能。 细的数据流图,等到各处理环节对应的功能。
需要分解 有补充修正 分析追踪数 据流图 无补充 修正 细化数据流 不需分解 图
用户复查
5. 接口需求
用户接口、硬件接口、软件接口、通信接口等。 用户接口、硬件接口、软件接口、通信接口等。
6. 约束
精度、工具和语言、设计约束、硬件约束、标准等。 精度、工具和语言、设计约束、硬件约束、标准等。
7. 逆向需求 8. 将来可能提出的要求
3.1.2 分析系统的数据要求
通过建立数据模型来分析,如数据字典、层次方框图、 通过建立数据模型来分析,如数据字典、层次方框图、 Warnier图,并将数据结构规范化。 图 并将数据结构规范化。
图3.1 需求分析基本过程
3.2.3 简易的应用规格说明技术
面向团队的需求收集法: 用户与开发者配合) 面向团队的需求收集法: (用户与开发者配合) 1)初步访谈; )初步访谈; 2)开发者和用户分别写出“产品需求”; )开发者和用户分别写出“产品需求” 3)开会讨论,各自展示需求列表; )开会讨论,各自展示需求列表; 4)得出一致意见,为需求列表制定小型规格说明; )得出一致意见,为需求列表制定小型规格说明; 5)根据会议成果,起草完整的软件需求规格说明。 )根据会议成果,起草完整的软件需求规格说明。
3.2.4 快速建立软件原型
快速建立能演示目标系统主要功能的程序。 快速建立能演示目标系统主要功能的程序。 (1)第四代技术 ) (2)可重用的软件构件 ) (3)形式化规格说明和原型环境 )
3.3 分析建模与规格说明
3.3.1 分析建模
第3章 结构化需求分析

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

第3 章 結構化需求分析
(2)分析與綜合 從資訊流和資訊結構出發,逐步細化軟 體的所有功能,找出系統各個元素之間 的聯繫、介面特性和對設計的限制,判 斷是否存在因片面性或短期行為而導致 的不合理需求,判斷是否有用戶尚未提 出的確實有價值的潛在需求,從而提出 其中不合理的部分,增加真正需要的部 分。
第3 章 結構化需求分析
2.系統需求:系統需求是比用戶需求更具有技 術特性的需求陳述,是提供給開發者或用戶 方技術人員閱讀的,並將作為軟體開發人員 設計系統的起點與基本依據。系統需求需要 對系統的功能、性能、數據等方面進行規格 定義。
第3 章 結構化需求分析
(1)功能需求 功能需求是軟體系統的最基本的需求表述,包 括對系統應該提供的服務,如何對輸入做出 反應,以及系統在特定條件下的行為描述。 在某些情況下,功能需求還必須明確系統不 應該做什麼,這取決於開發的軟體類型、軟 體未來的用戶、以及開發的系統類型。所以, 功能性的系統需求,需要詳細地描述系統功 能特徵、輸入和輸出介面、異常處理方法等。
第3 章 結構化需求分析
需求開發活動: 將系統級的需求分為幾個子系統,並 將需求中的一部份分配給軟體組件。 瞭解相關品質屬性的重要性。 商討實施優先順序的劃分。 將所收集的用戶需求編寫成規格說明 和模型。 評審需求規格說明
第3 章 結構化需求分析
需求管理活動包括: 定義需求基線 評審提出的需求變更、評估每項變更 的可能影響從而決定是否實施它。 以一種可控制的方式將需求變更融入 到專案中。 使當前的專案計畫與需求一致。 估計變更需求所產生影響並在此基礎 上協商新的承諾(約定)。
第3 章 結構化需求分析
本章學習內容: 1.掌握需求分析的基本概念 2.明確需求分析應遵循的原則 3.掌握如何使用需求獲取技術來進行數據 採集 4.掌握結構化分析的思想與過程 5.掌握數據流建模技術
软件工程第3章--软件需求分析

2.4.4 用途
画数据流图的基本目的是利用它作为交流信息的工 具。分析员把他对现有系统的认识或对目标系统的 设想用数据流图描绘出来,供有关人员审查确认。 由于在数据流图中通常仅仅使用4种基本符号,而 且不包含任何有关物理实现的细节,因此,绝大多 数用户都可以理解和评价它。
数据流图应该分层,并且在把功能级数据流图细化 后得到的处理超过9个时,应该采用画分图的办法, 也就是把每个主要功能都细化为一张数据流分图, 而原有的功能级数据流图用来描绘系统的整体逻辑 概貌。
2.5 数据字典
数据字典是关于数据的信息的集合,也就是对数据 流图中包含的所有元素的定义的集合。
任何字典最主要的用途都是供人查阅对不了解的条 目的解释,数据字典的作用也正是在软件分析和设 计的过程中给人提供关于数据的描述信息。
数据流图和数据字典共同构成系统的逻辑模型,没 有数据字典数据流图就不严格,然而没有数据流图 数据字典也难于发挥作用。只有数据流图和对数据 流图中每个元素的精确定义放在一起,才能共同构 成系统的规格说明。
5. 接口需求
接口需求描述应用系统与它的环境通信的格式。常 见的接口需求有:用户接口需求;硬件接口需求; 软件接口需求;通信接口需求。
6. 约束
设计约束或实现约束描述在设计或实现应用系统时 应遵守的限制条件。在需求分析阶段提出这类需求, 并不是要取代设计(或实现)过程,只是说明用户或 环境强加给项目的限制条件。常见的约束有:精度; 工具和语言约束;设计约束;应该使用的标准;应 该使用的硬件平台。
3.4 实体-联系图
为了把用户的数据要求清楚、准确地描述出来,系 统分析员通常建立一个概念性的数据模型(也称为 信息模型)。概念性数据模型是一种面向问题的数 据模型,是按照用户的观点对数据建立的模型。它 描述了从用户角度看到的数据,它反映了用户的现 实环境,而且与在软件系统中的实现方法无关。
L-第三章-软件工程课件需求分析

教学要求
教学目的:了解需求分析的任务和步骤、评 审标准和过程;掌握基本技术,理解需求规 格说明书的作用与组成。 教学重点:基本技术、需求规格说明书的作 用与组成。 教学难点:基本技术。
7
需求分折简介
软件需求指用户对所开发的软件在功能、 性能、环境、可靠性等各方面的要求。
需求分析主要回答待开发的系统必须 “做什么”,并用 《 需求规格说明书 》 的 形式准确、详细、规范地表达出来。
8
注意
①需求分析阶段,系统分析员的主要关注点 是“做什么( what ) ” ,不是“怎样做 ( how)”; ②需求分析阶段,系统分析员应该给出软件 求规格书。
9
§3.1需求分析的任务
四项主要任务: 1 、确定对系统的综合要求 2 、分析系统的数据要求 3 、导出系统的逻辑模型 4 、修正系统开发计划
34
一、基本概念(2)
联系:客观事物之间的联系。联系分为三种: 一对一( 1 : 1 ) .班级和班长 一对多联系( 1 : N ) .班级和学生,系与教师,学生与宿舍 多对多联系( M : N ) 课程与学生,教师和课程,学生和学会 二、 E 一 R 图的结构 三种基本元素:
35
例:教学E-R图
46
注意的原则 ( 1 )
数据流图上所有图形符号只限于前述四种基本图 形元素; 数据流图的主图必须包括前述四种基本元素,缺 一不可; 数据流图的主图上的数据流必须封闭在外部实体 之间; 每个数据处理至少有一个输入数据流和一个输出 数据流; 在数据流图中,需按层给数据处理框编号。编号 表明该处理所处层次及上下层的亲子关系;
36
例
仓库,职工,零件和供应商的ER图
37
三、如何建立实体一联系图?
第3 章 结构化需求分析

第3 章 结构化需求分析
3.1.2 需求分析的过程 (2)分析与综合 从信息流和信息结构出发, 从信息流和信息结构出发,逐步细化软 件的所有功能, 件的所有功能,找出系统各个元素之间 的联系、接口特性和对设计的限制, 的联系、接口特性和对设计的限制,判 断是否存在因片面性或短期行为而导致 的不合理需求, 的不合理需求,判断是否有用户尚未提 出的确实有价值的潜在需求, 出的确实有价值的潜在需求,从而提出 其中不合理的部分, 其中不合理的部分,增加真正需要的部 分。
第3 章 结构化需求分析
采用“自顶向下,逐步求精”的方式, 系统被分解成 系统被分解成3 采用“自顶向下,逐步求精”的方式,X系统被分解成 个子系统 :
第3 章 结构化需求分析
3.3.2 结构化分析方法 指导性原则: 指导性原则: 在开始建立分析模型之前先理解问题, 在开始建立分析模型之前先理解问题 ,而不应 急于求成,甚至在问题未被很好地理解之前, 急于求成 ,甚至在问题未被很好地理解之前, 就产生了一个解决错误问题的软件; 就产生了一个解决错误问题的软件; 开发模型,使用户能够了解将如何进行人机交 开发模型, 互; 记录每个需求的起源和原因, 记录每个需求的起源和原因 ,这样能有效地保 证需求的可追踪性和可回溯性; 证需求的可追踪性和可回溯性; 使用多个需求分析视图,建立数据、 使用多个需求分析视图,建立数据、 功能和行 为模型。 为模型。
第3 章 结构需求分析
3.1.2 需求分析的过程
第3 章 结构化需求分析
3.1.2 需求分析的过程 (1)调查研究 对目标系统的运行环境、功能要求、 对目标系统的运行环境、功能要求、非 功能性要求与用户达成共识。 功能性要求与用户达成共识。 问题研究集中在以下3个方面: 问题研究集中在以下3个方面: 经济可行性: 经济可行性: 技术可行性: 技术可行性: 操作可行性: 操作可行性:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章需求分析一、填空题(30小题)1、需求分析的困难主要体现在4个方面:问题的复杂性、( )、( )、需求易变性。
答案:交流障碍、不完备性和不一致性2、由于数据流是流动中的数据,所以必须有( )。
除了与( )之间的数据流不用命名外,数据流应该用名词或名词短语命名。
答案:流向、数据存储3、需求分析是指,开发人员要准确理解( ),进行细致的( ),将用户非形式的需求陈述转化为( ),再由( )转换到相应的形式功能规约(需求规格说明)的过程。
答案:用户的要求、调查分析、完整的需求定义、需求定义4、建立数据字典一般的两种形式是( )和( )。
答案:手工建立、利用计算机辅助建立并维护5、在进行可行性研究和软件计划以后,如果确认开发一个新的软件系统是必要的而且是可能的,那么就进入( )阶段。
答案:需求分析6、结构化语言是介于自然语言(英语和汉语)和形式化语言之间的一种半形式语言。
它的结构可分成外层和内层两层,外层用来描述( ),采用( )、( )、( )三种基本结构。
答案:控制结构、顺序、选择、重复7、在SA的需求描述工具中,( )描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等。
( )定义了数据流图中每一个图形元素。
结构化语言、判定表和判定树则详细描述数据流图中不能被再分解的( )。
答案:数据流图、数据字典、每一个加工8、IDEF方法分为以下三部分。
IDEF0:用来描述系统的( ),建立系统的( )。
IDEF1:用来描述系统的( ),建立系统的( )。
IDEF2:用来进行系统的( ),建立系统的( )。
答案:功能活动及联系、功能模型、信息及其联系、信息模型、模拟、动态模型9、三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用( )描述。
对于存在多个条件复杂组合的判断问题,用( )和( )。
答案:结构化语言、判定表、判定树10、经过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义了系统的数据,描述了处理这些数据的基本策略。
将这些共同的理解进行整理,最后形成文档( )。
答案:需求说明书( )的问题。
答案:新系统的目标、“做什么”12、数据字典中的加工逻辑主要描述该加工( ),即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变量变换为输出数据流的( )。
答案:“做什么”、加工规则13、数据字典就是用来定义数据流图中的( )的。
它和数据流图共同构成了系统的( ),是( )的主要组成部分。
答案:各个成分的具体含义、逻辑模型、需求说明书14、在分析需求阶段要进行以下几方面的工作:问题识别、( )、( )、( )。
答案:分析与综合、导出软件的逻辑模型、编写文档15、传统的SA方法主要用于( )的问题,主要工具DFD体现了系统的( )功能,但它仅是一个( ),没有处理的顺序,即( )。
答案:数据处理方面、“做什么”、静态模型、控制模型16、流向数据存储的数据流可理解为( )文件或( )文件,从数据存储流出的数据可理解为从文件( )数据或得到( )结果。
答案:写入、查询、读、查询17、在数据流图中,( )是数据在系统内传播的路径,因此由一组( )组成。
加工(又称为数据处理),是对数据流进行某些( )。
答案:数据流、成分固定的数据项、操作或变换18、在有些情况下数据流图中的某个加工的一组动作依赖于多个逻辑条件的取值。
这时,用自然语言或结构化语言都不易清楚地描述出来。
而用( )就能够清楚地表示复杂的条件组合与应做的动作之间的对应关系。
答案:判定表19、数据存储条目的主要内容有( )、( )、( )、( )、( )等。
答案:数据存储名称、别名、简述、组成、组织方式、查询要求20、数据项条目的主要内容有( )、( )、( )、( )、( )、( )及含义。
答案:数据项名称、别名、简述、类型、长度、取值范围21、数据流图有4个基本成分:( )、( )、( )和( )。
答案:数据流、加工(又称为“数据处理”)、数据存储、数据的源点或终点22、数据字典有以下4类条目:( )、( )、( )和( )。
( )是组成数据流和数据存储的最小元素。
答案:数据流、数据项、数据存储、基本加工、数据项23、形式化是软件自动化发展的基础。
形式化方法是将需求规格说明用( )来描述。
典型的有( )及( )。
答案:形式规约语言、基于模型的Z语言、VDM开发方法(维也纳开发方法)24、结构化分析方法是面向( )进行需求分析的方法。
25、加工逻辑也称为“小说明”,常用的加工逻辑的描述工具有:( )、( )、( )。
答案:结构化语言、判定表、判定树26、近几年来已提出许多软件分析与说明的方法,每一种分析方法必须能够表达和理解问题的数据域和功能域。
数据域包括( )、( )和( ),而功能域反映上述三方面的( )。
答案:数据流、数据内容、数据结构、控制信息27、需求分析阶段所要编写的文档有:( )、( )、( )。
答案:需求规格说明书、初步用户使用手册、确认测试计划28、在需求分析阶段,首先进行问题识别,即双方确定对问题的综合需求,这些需求包括:( )、( )、( )、( )。
另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。
答案:功能需求、性能需求、环境需求、用户界面需求29、SA方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书中的主要部分。
这些描述工具是( )、( )、( )、( )、( )。
答案:数据流图、数据字典、描述加工逻辑的结构化语言、判定表、判定树30、IDEF0方法中,将系统功能称为( ),将表示系统功能的图形称为( )。
在活动图形中,用( )和( )表示系统的各种活动及相互间的关系。
在系统分解的某一层次,可能有多个活动,每个活动编号注在( )。
答案:活动、活动图形、方框、箭头、方框的右下角二、单项选择题(50小题)1、数据字典是对数据定义信息的集合,它所定义的对象都包含于( )。
A、数据流图B、程序框图C、软件结构D、方框图答案:A2、在软件需求分析中,开发人员要从用户那里解决的最重要的问题是( )。
A、要让软件做什么B、要给该软件提供哪些信息C、要求软件工作效率怎样D、要让软件具有何种结构答案:A3、软件设计中,Jackson方法是一种面向数据结构的设计方法,它将数据结构表示为三种基本结构,分别为( )。
A、分支结构、选择结构和控制结构B、顺序结构、选择结构和循环结构C、顺序结构、分支结构和嵌套结构D、顺序结构、选择结构和重复结构答案:D4、软件开发的原型化方法是一种动态定义软件需求的方法,下述( )条件是实施原型化方法所必备的。
①成熟的原型化人员②快速的成型工具③需求了解的准确性A、①和②B、②和③C、全部D、③答案:A5、需求分析阶段研究的对象是软件项目的( )。
A、用户要求B、合理要求C、模糊要求D、功能要求答案:A6、IDEFO的图形表示中,连在方框上的箭头有4种类型:输入、输出、控制和机制。
下列说法正确的是( )。
A、输入指完成某项活动所需的数据,用连在方框右边的箭头表示B、输出指执行活动时产生的数据,用连在方框左边的箭头表示C、机制指所受到的约束条件,用连在方框下边的箭头表示D、控制活动指活动是由谁来完成的,用连在方框上边的箭头表示答案:D7、需求分析是( )。
A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的答案:A8、数据字典的任务是对于数据流图中出现的所有被命名的数据元素,在数据字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的( )。
A、对象B、解释C、符号D、描述答案:D9、分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( )。
A、细节B、输入与输出C、软件的作者D、绘制的时间答案:B10、软件设计将涉及软件的结构、过程和模块的设计,其中软件过程是指( )。
A、模块间的关系B、模块的操作细节C、软件层次结构D、软件开发过程答案:B11、需求分析阶段不适于描述加工逻辑的工具是( )。
A、结构化语言B、判定表C、判定树D、流程图答案:D12、软件开发的结构化方法中,常应用数据字典技术,其中数据加工是其组成内容之一,下述( )方法是常采用编写加工说明的方法。
①结构化语言②判定树③判定表A、只有①B、只有②C、②和③答案:D13、软件设计中划分模块的一个准则是( 1 )。
两个模块之间的藕合方式中,( 2 )的耦合度最高,( 3 )的藕合度最低。
一个模块内部的聚敛种类中( 4 )内聚的内聚度最高,( 5 )的内聚度最低。
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、过程答案:C|D|B|D|A14、理想的模块应该有内聚强而耦合弱的特点。
下列选项中,最强的内聚是( 1 ),最弱的藕合是( 2 )。
1.A、过程性内聚 B、通信性内聚C、顺序性内聚D、功能性内聚2.A、非直接藕合 B、数据藕合C、特征藕合D、控制藕合答案:D|A15、在软件需求规范中,( )可以归类为过程要求。
A、执行要求B、效率要求C、可靠性要求D、可移植性要求答案:A16、通过( )可以完成数据流图的细化。
A、结构分解B、功能分解C、数据分解D、系统分解答案:B17、需求规格说明书的作用不应包括( )。
A、软件设计的依据B、用户与开发人员对软件要做什么的共同理解C、软件验收的依据D、软件可行性研究的依据18、软件需求分析一般应确定的是用户对软件的( )。
A、功能需求B、非功能需求C、性能需求D、功能需求和非功能需求答案:D19、各种分析方法都有它们共同适用的( )。
A、说明方法B、描述方法C、准则D、基本原则答案:D20、数据存储和数据流都是( )仅仅所处的状态不同。
A、分析结果B、事件C、动作D、数据答案:D21、对软件进行分解,是为了( )。
A、降低模块的复杂程度B、降低模块间接口的复杂程度C、降低模块的复杂程度,并降低模块间接口的复杂程度D、降低模块的复杂程度,并提高模块间接口的复杂程度答案:A22、结构化分析方法使用的描述工具( )定义了数据流图中每一个图形元素。
A、数据流图B、数据字典C、判定表D、判定树答案:B23、模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )。
A、抽象和信息隐蔽B、局部化和封装化C、内聚性和耦合性D、激活机制和控制方法答案:C24、在软件工程中,常使用的两种软件开发方法是结构化生命周期方法和原型化方法,这两种方法的差别和联系可分别表述为( )。