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

合集下载

软件工程第三章

软件工程第三章

条目格式如下: 数据流名: 组成: 流量:
3.5 需求分析方法 SIT 来源: 去向: · 文件条目。 文件条目主要说明文件由哪些数据项组成,存储方式和
存取频率等。 条目格式如下: 文件名: 组成: 存储方式: 存储频率:
3.5 需求分析方法 SIT · 数据项条目。 数据项名: 类型: 长度: 取值范围: · 加工条目。 加工条目主要说明加工的输入数据、输出数据及其加工
3.2 需求分析任务 SIT
二、分析系统的数据要求 分析系统的数据要求通常采用建立概念模型的方法。
三、导出系统的逻辑模型 综合上述两项分析的结果可以导出系统的详细的逻辑模
型,通常用数据流图、数据字典和主要的处理算法描述这个 逻辑模型。 四、修正系统开发计划
根据在分析过程中获得的对系统的更深入更具体的了解, 可以比较准确地估计系统的成本和进度,修正以前制定的开 发计划。 五、开发原型系统
3.3.2用户需求
用户需求是从用户角度来描述系统功能和非功能需求, 以便让不具备专业技术方面知识的用户能看懂。这样的需求 描述只描述系统的外部行为,要尽量避免对系统设计特性的 描述。
3.3 软件需求分析类型 SIT
3.3.3系统需求
系统需求是比用户需求更详细的需求描述,是系统实现 的基本依据,因此,是一个完全的和一致的系统描述,是软 件工程人员系统设计的起点。
需求描述的结构化是围绕三个主要内容进行的,一是系 统操作对象,二是系统运行的功能,三是系统处理的事件。
3.6 软件需求工程管理 SIT 软件需求管理指的是一个为系统的需求进行启发、组织、
建档的系统方法,一个建立和维护客户和项目团队之间关于 变更系统需求所达成的一致性的过程。
需求模型是指将软件需求的捕获与开发、管理作为一个 工程,以软件需求的捕获与开发、管理为研究对象,抽象化 的工程参考模型,用以指导软件需求的各项实践活动。

自考软件工程第3章知识点总结

自考软件工程第3章知识点总结

2
第3章 软件需求分析
需求分析在软件开发中所处的地位愈加突出,从而也愈加 困难,它的难点主要体现在以下几个方面:
(1) 问题的复杂性。 (2) 交流障碍。 (3) 不完备性和不一致性。 (4) 需求易变性。
软件需求分析与说明的方法的基本原则:
(1) 必须能够表达和理解问题的数据域和功能域。 (2) 可以把一个复杂问题按功能进行分解并可逐层细化。 (3) 建模。
结构化分析(Structured Analysis,简称SA),是面向数 据流进行需求分析的方法。根据软件内部数据传递、变换的关 系,自顶向下逐层分解,描绘出满足功能要求的软件模型。
3.2.1自项向下逐层分解的分析策略
面对一个复杂的问题,采取分解的策略,把一个复杂的问
题划分成若干小问题,然后再分别解决。分解可分层进行,在
(3) 环境需求。 (4) 用户界面需求。
4
第3章 软件需求分析
2. 分析与综合, 导出软件的逻辑模型 分析人员对获取的需求,进行一致性的分析检查,在 分析、 综合中逐步细分软件功能,划分成各个子功能。 3. 编写文档 编写文档的步骤如下: (1) 编写“需求说明书。 (2) 编写初步用户使用手册。 (3) 编写确认测试计划。 (4) 修改完善项目开发计划。
3. 数据项条目 数据项条目是不可再分解的最小数据单位, 其定义格 式及举例如下: 数据项名称: 货物编号 别名: G-No, G-num, Goods-No 简述: 本公司的所有货物的编号 类型: 字符串 长度: 10
取值范围及含义: 第1位: 进口/国产
第2~4位: 类别 第5~7位: 规格
第8~10位: 品名编号
1. 数据流条目
数据流条目给出了DFD中数据流的定义,通常列出该数 据流的各组成数据项。

软件工程第三章 需求分析

软件工程第三章 需求分析



初步访谈,写出产品需求 列出对象及其服务 讨论列表,并且组合列表 分组制定小型规格说明 一整套确认标准,经讨论,起草完整的软 件需求规格说明书。
工作流程
当前系统 当前系统
用户 调查
具体模型
逻辑 抽象
逻辑模型
计算 机化
目标系统 系统模型
目标系统 初始模型
用户
评审 修改
正式模型
完善 细节
补售 教材
缺书登记表
F2
1.4
登记 缺书
教材存量表
F1
补售 书单
暂缺书单
学 生
无效书单
1.1
审查 有效性
有效书单
1.2
开发票
发票
1.3
登记并开 领书单
领书单
购书单
学 生
各班用书表
F3
售书登记表
F4
第 3 层
教材存量表
购书单 领书单
学 生
1 销售
进书通知
2 采购
缺书单 进书通知
保 管员 第 2层
采购 子系统
需求分析的步骤

绘制系统关联图 创建用户接口(界面)原型 分析需求可行性 确定需求的优先级别 为需求建立模型 创建数据字典 使用质量功能调配(QFD)

明确哪些是客户最关心的特征
编制需求规格说明的过程



采用软件需求规格说明(SRS)模版 指明需求的来源 为每项需求注上标号 记录业务规范(操作原则) 创建需求跟踪矩阵
外部实体
第 1 层
教材存量表 F1
学 生
购书单 领书单
1 销售
进书通知
2 采购

软件工程第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 需求获取技术
数据存储可以是一个文件,也可以是文件的一部分或 数据库记录的一部分。数据可以存储在磁盘、磁带、存储 器等任何介质上。指向数据存储的箭头可以是单向的,也 可以是双向的。

软件工程导论第五版张海藩第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)。
10
Байду номын сангаас
图3.2 学生购买教材的具体模型
11
图3.3 学生购买教材的逻辑模型
12
图3.4 计算机售书系统的逻辑模型
13
3.3 需求分析方法和原则
为了保证项目的正常实施和顺利的完成,必须加强 项目管理和重视项目分析工作。只有从实际出发,切切 实实地把握用户需求、把握用户需求目标、把握用户将 来功能界定,才能保证我们开发工作正确性方向。
1
模型表达软件将要实现的需求,并以“软件需求规 格说明书”的形式作为本阶段工作的结果,为下一阶段 的软件设计提供设计基础。因此,需求分析过程实际上 是一个调查研究、分析综合的过程,是一个抽象思维、 逻辑推理的过程。随着软件系统复杂性的提高及规模的 扩大,需求分析在软件开发中的所处的地位日益突出, 从而也更加困难。
14
(1)软件需求分析理论 如果我们用数学方法来描述软件需求分析,可以将 一个应用软件定义为S,可能应用软件涉及功能性问题 非常广,我们用抽象化理论分析,可以划分为各个功能 域,可以用D1,D2,…,Dn表示,那么,我们可以用一 个表达式描述为:
15
(2)有效性软件需求分析三步法 由于在进行需求分析过程中,常存在客户说不清楚 需求、需求自身经常变动、分析人员或客户理解用户需 求有误等事实。因此,需求分析工作方法,应该定位在 “三个阶段”(也称“三步法”)。 (3)常用的需求分析方法 1)结构化分析方法 2)面向对象的分析方法
6
3.2 需求分析的步骤
3.2 需求分析的步骤 软件开发过程的目的就是要实现目标软件的物理模 型,也就是要确定构成软件系统的系统元素,并将功能 和信息结构分配到这些系统元素中。需求分析的任务之 一就是导出系统的逻辑模型,以解决目标系统“做什么” 的问题。导出逻辑模型有2种途径:一是分析员利用自 己丰富的经验,依据实际调查和分析的结果直接导出; 二是借助于当前系统的逻辑模型推导出目标系统的逻辑 模型(如图3.1所示)。
2
3.1 需求分析的任务
需求分析的主要任务就是要通过软件开发人员与用 户的交流和讨论,准确地获取用户对系统的具体要求。 在正确理解用户需求的前提下,软件开发人员还需要将 这些需求准确地以文档的形式表达出来,作为设计阶段 的依据。需求分析阶段结束时需要提交的主要文档是软 件需求规格说明书。 需求分析的主要任务大致包含以下内容:
4
(2)分析系统的数据要求 任何一个软件系统本质上都是信息处理系统,系统 必须处理的信息和系统应该产生的信息在很大程度上决 定了系统的面貌,对软件设计有深远影响,因此,必须 分析系统的数据要求,这是软件需求分析的一个重要任 务。 分析系统的数据要求通常采用建立数据模型的方法。 复杂的数据由许多基本的数据元素组成,数据结构表示 数据元素之间的逻辑关系。利用数据字典可以全面准确 地定义数据,但是数据字典的缺点是不够形象直观地表 达。为了提高可理解性,常常利用图形工具辅助描绘数 据结构。常用的图形工具有层次方框图和Warnier图。
5
(3)导出系统的逻辑模型 综合上述两项分析的结果可以导出系统的详细的逻辑模型。 常用数据流图、实体联系图、状态转换图、数据字典和主要的处 理算法描述这个逻辑模型。 (4)编制需求阶段文档 ①编写“需求规格说明书”,把双方共同的理解与分析结果 用规范的方式描述出来,作为今后各项工作的基础。 ②编写初步用户使用手册,着重反映被开发软件的用户功能 界面和用户使用的具体要求,用户手册能强制分析人员从用户使 用的角度来考虑软件。 ③编写确认测试计划,作为今后确认和验收的依据。 ④修改完善软件开发计划。
7
图3.1 借助于当前系统的逻辑模型 推导出目标系统的逻辑模型
8
(1)通过调查研究,获取用户的需求 获取需求是需求分析的基础。软件开发人员只有通 过认真细致的调查研究,才能获得进行系统分析的原始 资料。为了能有效地获取需求,开发人员应该采取科学 的需求获取方法。在实践中,获取需求的方法有很多种, 比如,问卷调查、访谈、实地操作、建立原型和研究资 料等。 (2)去除非本质因素,确定系统的真正需求 对于获取的原始需求,软件开发人员需要根据掌握 的专业知识,运用抽象的逻辑思维,找出需求间的内在 联系和矛盾,去除需求中不合理和非本质的部分,确定 软件系统的真正需求。
16
图3.5 “自顶向下、逐层分解”示意图
9
(3)描述需求,建立系统的逻辑模型 在获得确定的系统需求后,软件开发人员应该对问 题进行分析抽象,并在此基础上通过现有的需求分析方 法及工具对其进行清晰、准确的描述,建立无二义性的、 完整的系统逻辑模型。模型是对事物高层次的抽象,通 常由一组符号和组织这些符号的规则组成。常用的模型 图有数据流图、E-R图、用例图和状态转换图等,不同 的模型从不同的角度或不同的侧重点描述目标系统。绘 制模型图的过程,既是开发人员进行逻辑思考的过程, 也是开发人员更进一步认识目标系统的过程。 (4)书写需求规格说明书,进行需求复审
3
(1)确定系统的综合需求 这是需求分析中最重要的一项任务。分析的目的在 于透过现象看本质,找出需求间的内在联系及矛盾所在, 而综合就是剔除那些非本质的东西,找出解决矛盾的办 法。对于一个软件系统来说,对需求的分析就是从目标 系统的数据流和数据结构入手,找出系统元素之间的内 在联系,看它们是否能够满足功能实现的需要,随后依 据功能需求和性能需求等,剔除其不合理的部分,增加 其需要部分,最终给出目标系统的逻辑模型、设计约束 及有效性准则等。
第3章 软件需求分析
为了开发出真正满足用户需求的软件产品,首先必 须知道用户的需求。需求分析是软件定义时期的最后一 个阶段,是关系到软件开发成败的关键步骤。需求分析 的基本任务是准确地回答“系统必须做什么?”这个问题, 不是确定系统该怎样完成它的工作,而仅仅是确定系统 必须完成哪些工作,也就是对目标系统提出完整、准确、 清晰、具体的要求。软件需求分析工作的主要目的是, 在综合分析用户对系统提出的一组需求(功能、性能、 数据等方面)的基础上,构造一个从抽象到具体的逻辑
相关文档
最新文档