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

合集下载

[软件工程]CH03-需求分析

[软件工程]CH03-需求分析

2019/11/16
30
3.1.4 需求特性(2)
(7) 可追踪性 需求规格说明书必须将分析后获得的每项需求与用户
的原始需求项清晰地联系起来,并为后续开发和其他 文档引用这些需求项提供便利。
(8) 可修改性 需求规格说明书的格式和组织方式应保证能够比较容
易地接纳后续的增删和修改; 使修改后的说明书能够较好地保持其他各项属性。
2019/11/16
6
3.1.2需求类型(3)
2.按用户的期望分类
① 正常需求 用户陈述的针对系统的目标。 ② 期望需求 隐式的需求,可能由于是非常基础的而用户没有
显示的陈述,如人机交互的容易性、整体的操作 正确性和可靠性,以及软件安装的容易性。 ③ 兴奋需求 在用户的期望范围之外,如果实现将令人愉快和 出乎意料。

第5章 需求工程与需求分析
终止项目
2019/11/16
2
3.1.1 需求分析的任务
【可行性研究】
粗略了解用户的需求。 用较少的成本,在较短的时间内确定是否存在一些
可行的解法。 许多细节被忽略了。
【需求分析】 准确地回答“系统必须做什么?”这个问题。
2019/11/16
3
3.1.1 需求分析的任务
为什么需要建模
从多个视点、多个不同的抽象层次来描述用户需求, 从而更好促进软件的开发
需求建模方法
面向数据流的方法
面向对象的方法
注意
需求建模不要涉及软件设计和实现细节
2019/11/16
36
4.多视点分析
什么是多视点分析
从多个角度、不同层面上分析和描述用户需求
为什么需要多视点分析

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

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

第3章软件需求分析案例3: 图书馆图书信息管理系统“图书馆管理系统”是借助计算机来完成图书馆日常管理工作,能提供借书帐号注册、登录功能,基于图书标题、图书编号、作者、出版社的查询,也可以同时多个选项进行同时查询提供图书状态的查询,如可借和不可借,完成借书登记、还书的登记,能帮助管理人员完成图书信息的管理,如图书信息的修改、新图书的增加、旧图书的删除,图书分类工作,从而使图书馆的日常工作信息化、快捷化,减轻图书馆管理工作的困难。

因此,“图书馆管理系统”对于图书馆的日常管理工作和信息化到至关重要的作用。

【知识导入】通过对本章节内容的学习,掌握软件需求分析的基本内容,需求分析的特征及评审。

能够完成项目的需求分析,确立正确的项目开发思路。

软件需求是一个项目的开端,是整个软件项目开发的基础。

即表示该软件经过可行性分析后确立有此需求,而开发该项目。

因此,需求分析在整个项目建设过程中至关重要,是项目开发的基石,基石的牢固程度决定了后期项目的进展以及项目开发完工后的产品质量的优劣,可以说需求分析的好坏直接影响到软件项目开发的成败。

软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。

IEEE (美国电气和电子工程师协会)是这样对需求分析做定义的:①用户解决问题或达到系统目标所需要的条件②为满足一个协议、标准、规格或其他正式制定的文档,系统或系统构建所需满足和具有的条件或能力③将需求要求条件进行文档化描述。

这个概念全方位阐述了需求的概念,较完整的表达了软件需求的内涵和外延,便于用户的全面理解。

而需求分析最终就是通过对应用问题及其环境的分析与理解采用一系列的分析方法和技术将用户的需求逐步精确化、完全化、一致化,最终形成需求规格说明文档的过程。

系统分析阶段产生的系统规格说明书和项目规划是软件需求分析的基础,分析人员需要从软件的角度对其进行检查和调整,并在此基础上展开需求分析。

需求分析阶段的成果主要是需求规格说明书,该成果又是软件设计、编码、测试直至维护的主要基础。

软件工程PPT课件第3章 软件需求分析

软件工程PPT课件第3章 软件需求分析

–多个来回
6
软件需求分析的通信途径
7
分析建模
结构化分析模型 面向对象分析模型 分析模型描述工具

DFD、DD和PSPEC(加工规约)
CFD、CSPEC(控制规约)和STD E-R图 用例图,对象-关系图,对象-行为图
8
结构化分析模型
数据对象 说明 E-R图 加工说明 DFD图
44
数据流图
数据流图(DFD)是一种图形化技术,它描绘信息
流和数据从输入移动到输出的过程中所经受的变换 。 在数据流图中没有任何具体的物理部件,它只是 描绘数据在软件中流动和被处理的逻辑过程。 数据流图是系统逻辑功能的图形表示,即使不是 专业的计算机技术人员也容易理解它,因此是分析 员与用户之间极好的通信工具。 此外,设计数据流图时只需考虑系统必须完成的 基本逻辑功能,完全不需要考虑怎样具体地实现这 些功能。
2
需求分析的结构化分析方法准则
(1) 必须理解并描述问题的信息域,根 据这条准则应该建立数据模型。 (2) 必须定义软件应完成的功能,这条 准则要求建立功能模型。 (3) 必须描述作为外部事件结果的软件 行为,这条准则要求建立行为模型。 (4) 必须对描述信息、功能和行为的模 型进行分解,用层次的方式展示细节。
40
分析模型的元素
数据字典(DD):模型核心(中心库) E-R图(ERD): 数据流图(DFD)
指明数据在系统中移动时如何被变换; 描述对数据流进行变换的功能;
DFD中每个功能的描述包含在加工规约 (小说明)。
状态变迁图(STD)
指明作为外部事件的结果,系统将如何 动作。
41
3.4.2 数据建模
4
需求分析的任务和步骤

软件工程导论-第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章 需求分析-软件工程案例教程(第2版)-李军国-清华大学出版社

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

《软件工程》第3章 软件需求分析

《软件工程》第3章 软件需求分析

【本章重点】 本章重点】
需求分析的方法 ; 需求分析的任务和原则 ;
【教学目标】 教学目标】
掌握需求分析的基本概念; 掌握需求分析的基本概念; 掌握如何使用需求获取技术来进行数据采集; 掌握如何使用需求获取技术来进行数据采集; 掌握结构化分析的思想与过程; 掌握结构化分析的思想与过程; 掌握数据流建模技术。 掌握数据流建模技术。
3.2 面向数据流的分析方法
3.2.2 数据流图
1.数据流图中的主要图形元素
3.2 面向数据流的分析方法
2.分层的数据流图
在多层数据流图中,可以把顶层数据流图、 在多层数据流图中,可以把顶层数据流图、底层数 据流图和中间层数据流图区分开来。顶层数据流图仅 据流图和中间层数据流图区分开来。 包含一个加工,它代表被开发系统。 包含一个加工,它代表被开发系统。它的输入流是该 系统的输入数据,输出流是系统的输出数据。顶层数 系统的输入数据,输出流是系统的输出数据。 据流图的作用在于表明被开发系统的范围, 据流图的作用在于表明被开发系统的范围,以及它和 周围环境的数据交换关系。 周围环境的数据交换关系。底层数据流图是指其加工 不须再做分解的数据流图,其加工称为“原子加工” 不须再做分解的数据流图,其加工称为“原子加工”。 中间层数据流图则表示对其上层父图的细化。 中间层数据流图则表示对其上层父图的细化。它的每 一个加工可以继续细化,形成子图。 一个加工可以继续细化,形成子图。中间层次的多少 视系统的复杂程度而定。 视系统的复杂程度而定。
3.2 面向数据流的分析方法
4.数据流图的优缺点
总体概念强,每一层都明确强调“干什么” 总体概念强,每一层都明确强调“干什么”,“需要 什么” 给出什么” 什么”,“给出什么”; 可以反映出数据的流向和处理过程; 可以反映出数据的流向和处理过程; 由于自顶向下分析, 由于自顶向下分析,容易及早发现系统各部分的逻辑 错误,也容易修正; 错误,也容易修正; 容易与计算机处理相对应; 容易与计算机处理相对应; 不直观,一般都要在作业流程分析的基础上加以概括、 不直观,一般都要在作业流程分析的基础上加以概括、 抽象、 抽象、修正来得到

第三章 软件工程 需求分析-基础部分

第三章 软件工程 需求分析-基础部分
7
3.1.4 需求分析的过程
分析与综合 从信息流和信息结构出发,逐步细化所有的软件功能, 从信息流和信息结构出发,逐步细化所有的软件功能,找 出系统各元素之间的关联,接口特性和设计上的约束, 出系统各元素之间的关联,接口特性和设计上的约束,分 析它们是否满足功能要求,是否合理. 析它们是否满足功能要求,是否合理.剔除其不合理的部 增加其需要部分.最终综合成系统的解决方案, 分,增加其需要部分.最终综合成系统的解决方案,给出 目标系统的详细逻辑模型. 目标系统的详细逻辑模型. 常用的分析方法 面向数据流的结构化分析方法 面向数据流的结构化分析方法 (SA) 面向数据结构的Jackson方法 面向数据结构的Jackson方法 (JSD) 面向数据结构的结构化数据系统开发方法 面向数据结构的结构化数据系统开发方法 (DSSD) 面向对象的分析方法 面向对象的分析方法 (OOA) 等
16
3.2.1 需求获取技术
需求调查对象 对组织的高层管理者, 对组织的高层管理者,进行组织管理目标或经营方针等 组织战略问题的调查 对中层的管理者, 对中层的管理者,进行全部业务流的调查 对业务工作人员, 对业务工作人员,进行详细业务信息的调查 市场调查 了解市场对待开发软件有什么样的要求; 了解市场对待开发软件有什么样的要求;了解市场上有 无与待开发软件类似的系统 考察现场 了解用户实际的操作环境,操作过程和操作要求. 了解用户实际的操作环境,操作过程和操作要求.对照用 户提交的问题陈述,对用户需求可以有更全面, 户提交的问题陈述,对用户需求可以有更全面,更细致的 认识. 认识. 观察用户工作流程 用户和开发人员共同组成联合小组
具体化 表 达 需 求
3
目标系统
物理模型
实例化
逻辑模型

软件工程 第3章需求分析

软件工程 第3章需求分析
名字:定货报表 别名:定货信息 描述:每天一次送给采购员的 逐一确定 需要定货的零件表 元素的来 定义:定货报表 = 零件编号 +零件名称+ 源 定货数量+目前价格+主要供应 商+次要供应商
位置:定货报告 定货信息 库存清单
面向数据流方法的分析的应用
6 D1 库存清单 事务 1 包含零件编 号、名称、 目前价格
深入调查
外部输入或系 统生成
3.2.2 面向数据流的自顶向下求精
• 回溯时常遇到的问题:为了得到某个数据元素需要 用到数据流图中还没有的数据元素,或者得出这个 数据元素要用的算法尚不完全清楚。 • 因此,需要向用户等有关人员请教,他们的回答使 分析员对目标系统的认识更深入具体,系统中更多 的数据元素被划分出来,更多的算法搞清楚了。 • 把分析过程中得到的有关数据元素的信息记录在数 据字典中,把对算法的简明描述记录在IPO图中。 通过分析而补充的数据流、数据存储和处理,应该 添加到数据流图的适当位置上。
• 主要目标:把数据流和数据存储定义到元 素级别(不可分解为止)
数据的来源、去 向、数据结构定 义等
可行性 分析忽 略了细 节
3.2.2 面向数据流的自顶向下求精
自顶向下,逐 层细化的方法
• 结构化分析方法是一种什么方法呢? • 从数据流图的输出端着手分析,这是因为系 统的基本功能是产生这些输出的关键原因。 • 输出数据决定了系统必须具有的最基本的组 成元素(包括功能和数据结构组成)。
3.4.1 数据对象
• 它的范畴很大,可以是外部实体(例如,产生 或使用信息的任何事物)、事物(例如,报表)、 行为(例如,打电话)、事件(例如,响警报)、 角色(例如,教师、学生)、单位(例如,会计 科)、地点(例如,仓库)或结构(例如,文件) 等。 • 总之,可以由一组属性来定义的实体都可以 被认为是数据对象。

软件工程第三章需求应用全面分析

软件工程第三章需求应用全面分析

结构化英语、判定树、判定表用于描述数据流 图中的处理逻辑说明。
• SA方法的实质*:是采用一组分层数据流图及数据
字典作为系统的模型,从总体来看,是一种依赖数
据流图的自顶向下的建模方法。
2020/11/25
5
数据流图:分层扩展的功能模

数据流图(DFD)是SA方法中用于建立系统逻辑模型 的一种工具,它以图形的方式描绘数据在系统中处理的流 动过程。由于它只反映系统需要完成的逻辑功能,所以它 是一种功能模型。*
配件库存
顾客
订货单 发货单
1
处理 业务Biblioteka 订货单 发货单供应 商
2020/11/25
15
数据流图: DFD绘制步骤(续)
* (2)再绘制二层DFD:是顶图的分解,表明子系统划分及其 边界。 • 系统划分几个子系统,一个子系统在二层图中只有一个处理逻辑(需
求来源是业务子系统或用例图中的用例); • 每一子系统析取所有的外部项、输入输出数据流和主要数据存储; • 各子系统之间的依赖关系(数据流直接依赖,数据存储缓存依赖)。
软件工程 Software Engineering
第三章 需求应用全面分析
2020/11/25
1
本章主要内容
• 3.1 软件需求概念
-软件需求的问题、定义、层次、来源、依据、目标
• 3.2 需求工程过程
- 需求开发:需求获取、需求分析、规格说明、需求验证 - 需求管理:覆盖需求开发全过程
• 3.3 需求获取技术
数据存储可以是一个文件,也可以是文件的一部分或 数据库记录的一部分。数据可以存储在磁盘、磁带、存储 器等任何介质上。指向数据存储的箭头可以是单向的,也 可以是双向的。

《软件工程实用教程》第3_章_结构化需求分析

《软件工程实用教程》第3_章_结构化需求分析

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

软件工程导论第五版张海藩第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章 需求分析-答案

《软件工程学》第3章 需求分析-答案

3.1 需求分析的任务和步骤1.需求分析阶段产生的文档是软件需求规格说明书。

2.需求分析的任务是要建立软件的逻辑模型。

3.分析系统的数据要求是软件需求分析阶段的一个重要的任务。

4.需求分析的任务不包括(B)。

A.问题分析B.系统设计C.需求描述D.需求评审5.需求规格说明书是在计划时期可行性研究阶段产生的文档。

(×)6.需求分析阶段的成果主要是需求规格说明,但该成果与软件设计、编码、测试直至维护关系不大。

(×)7.软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。

(√ )8.需求分析中的性能要求是指系统的技术性能指标,包括:存储量、响应时间、精确度和安全保密等方面。

(√ )3.2 需求分析获取的常用方法3.3 需求分析的方法3.4 结构化分析技术1.要将一个复杂的系统分析清楚,常用方法的结构化分析方法就是( A )A.面向数据流自顶向下逐步求精的方法B.由内向外进行分析的方法C.先局部后整体的分析方法D.使用IPO图形工具分析的方法2.结构化程序设计的一种基本方法是( D )。

A.筛选法B.递归法C.归纳法D.逐步求精法3.结构化程序设计主要强调的是( A )。

A.程序易读性B.程序的效率C.程序的规模D.程序设计语言的先进性4.下列各种叙述中,哪一个不是结构化方法的特征?( C )A.严格定义需求B.划分开发阶段C.提供运行模型D.制定规范文档5.通常所说的结构化设计(SD)是属于基于( B )的设计方法。

A.数据结构B.数据流C.对象D.以上均可6.通常所说的结构化设计方法就是基于数据流的设计方法。

7.结构化程序设计强调模块采用自上而下逐步求精设计方法,单入口、单出口。

(√ )3.5 需求分析图形工具。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.1.3 需求的描述方法
分析系统的数据要求,这是软件需求分析的 一个重要任务。分析系统的数据要求通常采 用建立数据模型的方法 (1)结构化语言 (2)图形化表示 (3)数学描述(形式化描述)
3.1.4需求分析的过程
1、对问题的识别和理解——需求获取
是一个调查研究的过程 分析人员需要具有较高的技能
3.1.2 需求的内容
1. 功能需求 这方面的需求指定系统必须提供的服务。通过需求 分析应该划分出系统必须完成的所有功能。 2. 性能需求 性能需求指定系统必须满足的定时约束或容量约束 ,通常包括速度(响应时间)、信息量速率、主存容 量、磁盘容量、安全性等方面的需求。
3. 可靠性和可用性需求 可靠性需求定量地指定系统的可靠性。 4. 出错处理需求 这类需求说明系统对环境错误应该怎样响应 5. 接口需求 接口需求描述应用系统与它的环境通信的格 式。常见的接口需求有:用户接口需求;硬 件接口需求;软件接口需求;通信接口需求
另外也可以先画出系统的输入数
据流和输出数据流,沿数据流图 从输出端往输入端回溯,可以确 定每个数据元素的来源,逐渐定义 出系统的详细功能。每一个加工 也是先画其输入输出,再考虑其 内部。
第一层数据流图
加细每一个加工框
销售细化
采购细化
4、检查和修改数据流图的原则
数据流图上所有图形符号只限于
数据流与数据加工之间的关系
2、数据流图的层次结构
为了表达数据处理过程的数据加
工情况,需要采用层次结构的数 据流图。按照系统的层次结构进 行逐步分解,并以分层的数据流 图反映这种结构关系,能清楚地 表达和容易理解整个系统
图 数据流图的分解
在多层数据流图中,顶层流图仅
包含一个加工,它代表被开发系 统。它的输入流是该系统的输入 数据,输出流是系统所输出数据 底层流图是指其加工不需再做分 解的数据流图,它处在最底层 中间层流图则表示对其上层父图 的细化。它的每一加工可能继续 细化,形成子图。
面向对象分析(OOA)
现实世界
面 向 OOA 对 象 开 OOD 发 方 法 OOP
结 构 化 开 发 方 法
结构化 分析
结构化 设计
结构化 编程
计算机世界
结构化分析模型的组成结构
加 数 据 E-R图 数据流图 工 说 ( DFD ) 对 数据字典 明 象 (DD) 说 明 状态变迁图 (STD图)
3、结构化分析方法步骤示例
商店业务处理系统
数据流图绘制步骤 首先确定系统的输入和输出 根据商店业务,画出顶层数据
流图,以反映最主要业务处理 流程
经过分析,商店业务处理的主
要功能应当有销售、采购、会计 三大项。主要数据流输入的源点 和输出终点是顾客和供应商。 然后从输入端开始,根据商店 业务工作流程,画出数据流流经 的各加工框,逐步画到输出端, 得到第一层数据流图
计算机教材管理系统的逻辑模型
需求分析过程示意
(4) 对目标系统的逻辑模型进行改进与优化
(5) 需求分析的验证
§3.4 需求分析建模方法
3.4.1分析建模方法 分析建模是使用文本 和图表形式的组合,以 相对容易理解和能直接评审正确性、完整性 和一致性的方式来描述数据、功能和行为的 需求。
结构化分析SA(传统建模方法)
图上每个元素都必须有名字, (1)数据流名应代表整个数据流的内容,而不是它的 某 些成分 ; (2)如果为某个数据流命名困难,可能分解不当,尝 试重新分解 (3)加工名一般为动宾词组 (4)如果用两个动词组成的加工,最好分解为两个加 工 (5)如果对加工命名困难,尝试重新分解
流图中不能出现判断分支的控制流,
3.3.2需求分析的过程
(1) 通过对现实环境的调查, 获得当前系统的物理模型
购 书 购 领 交 申 书 书 款 书 请 单 单 学 教务科 会计室 单 出纳员 教材科 107 206 206 生 现 李 赵 张 王

学 生
学生购买教材的实际处理流程—当前系统物理模型
(2) 去掉具体模型中的非本质因素,
如果需要每个分支必须单独出现 流图中可以出现封闭在局部的实体和 存储文件 初画时可以忽略琐碎的细节,以集中 精力于主要数据流
三.数据字典(DD,DataDictionary)
DD是对数据流图中所有定义的数据 元素、数据结构、数据文件、数据流等 进行严密而精确的一个有组织的列表, 以及精确的、严格的定义,使得用户和 系统分析员对于输入、输出、存储成分 和中间计算有共同的理解
抽取现实系统的实质,抽象出当前系统 的逻辑模型。
购 书 申 学 请

审查 有效性
购 书 单
交 款 开领 单 开交款单 书单
领 书 单 发书

学 生
学生购买教材的逻辑模型
(3) 分析当前系统与目标系统的差别, 建立目标系统的逻辑模型
无效书单
学 生
购书单
审查并 开交款单
交款单
开领 领书单 学 书单 生
前述四种基本图形元素 数据流图的数据流必须封闭在外 部实体之间 每个加工至少有一个输入数据流 和一个输出数据流
在数据流图中,需按层给加工框
编号。编号表明该加工所处层次 及上下层的亲子关系 规定任何一个数据流子图必须与 它上一层的一个加工对应,两者 的输入数据流和输出数据流必须 一致。此即父图与子图的平衡
3.3 需求建模
3.3.1需求表达的途径 一、建模
所谓模型,就是为了理解事物而 对事物做出的一种抽象,是对事 物的一种无歧义的书面描述。通 常,模型由一组图形符号和组织 这些符号的规则组成。
模型化或模型方法是通过抽象、概 括和一般化,把研究的对象或问题转化 为本质(关系或结构)相同的另一对象 或问题,从而加以解决的方法。
6. 约束 设计约束或实现约束描述在设计或实现应用 系统时应遵守的限制条件。常见的约束有: 精度;工具和语言约束;设计约束;应该使 用的标准;应该使用的硬件平台。 7. 逆向需求 逆向需求说明软件系统不应该做什么。 8. 将来可能提出的要求 应该明确地列出那些虽然不属于当前系统开 发范畴,但是据分析将来很可能会提出来的 要求。
需求获取面临的挑战

问题的复杂性和对问题空间 理解的不完备性与不一致性
交流障碍 需求易变性
3.2.2需求获取的常用方法
(1)个别访谈和召集会议
(2)观察用户工作流程 (3)利用原型 (4)使用实例(用例):用例把系统分 成一组逻辑的、互相联系很少的部分,每 一部分都描述了系统运行的某种方式。因 此容易理解每个用例达到的功能。
2、对需求信息的分析和综合——需求规约
充分理解需求,包括功能、性能和数据需求
采用需求分析方法
3、编制“需求规格说明书”
需求规格说明书使用的语言
书写要求
4、需求分析的复审
§3.2 需求获取
3.2.1 需求获取的目的
清楚地理解所要解决的问题 完整准确地表达用户的需求
控制说明
• 数据字典:包含了软件生产或使用的所有数据 对象描述的中心存储库。 • 实体-关系图(ERD):描述数据对象间的关 系,每个对象的属性由“数据对象描述”来描述。 • 数据流图(DFD)用于两个目的: ①指明数据在系统中移动时如何被变换; ②反映对数据流进行变换的功能(和子功能); 在DFD中出现的每个功能的描述包含在“加工 规约”中。 • 状态转换图(STD):指明作为外部事件的结 果系统将如何动作,有哪些行为。软件控制方面的 附加信息包含在“控制规约”中。
某出版社系统调查表
编 号
1 2 3 4 5
6
提出问题
您在哪个部门工作? 出版业务流程是什么? 您每日都处理那些文件、数据、报表? 工作中手工处理特别麻烦的事情是什么? 工作中手工处理什么问题解决不了?影响 效率的问题有哪些?
您认为提高工作效率,节省工作时间,减 轻工作强度可采取哪些办法?
某出版社系统调查表
第三章 软件需求分析
需求分析概述
准确地定义未来系统的目标,确定为了 满足用户的需求,系统必须做什么。用 <需求 规格说明书> 规范的形式准确地表达用户的 需求。 在需求分析阶段,系统分析员的主要焦 点是 “做什么(what)” ,不是 “怎样做 (how)”
下面是一组漫画 这组漫画形象地刻画了一个事实 获取完整正确的需求是一项十分困难的工 作
2、数据元素定义举例
例1.日期 名字:日期 = (年、月、日) 说明:年 = (1990~2010) 月 = (1~12) 日 = (1~31) 例2.账号 名字:账号 说明:(00000~999说明: M = 已婚 S = 未婚 D = 离婚
从以上例子可以看出,说明信息就是给出数据元素的 取值范围或内容。 数据元素的说明信息除了主要说明以上内容外,还应 考虑包含:别名、数据元素长度、相关的数据元素和 数据结构、编辑方面的要求等。
3.1 需求分析的任务
3.1.1 需求的概念
需求(requirements) Jones 定义为用户所需要的软件必须达 到的目标和能力。 Lethbridge定义为需求是关于系统将要 完成什么工作的一段描述,他们必须经过 所有相关人员的认可,其目的是彻底的解 决用户的问题。
• 需求是一段描述…:意思是每个需求是相 对短小简明的一段信息,表现为一个事实。它可 以是一段话或用各种图表示。一组需求的集合成 为需求文档。 •关于系统将要完成什么工作…:需求描述了 系统应当完成的任务,不描述系统将如何实现。 •必须经过所有相关人员的认可…:意指需求 必须经过评审,才能成为正式的需求。 •其目的是彻底的解决用户的问题。有助于解 决用户的问题,该需求才有存在的价值。
软件开发过程实际是:人通过抽象、归纳把客 观系统变换到软件系统,并保证软件系统的解等价 客观系统的解。 客观系统 变换 解的等价 客观系统的解 软件系统的解 软件系统
相关文档
最新文档