软件工程第三章

合集下载

自考软件工程第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中数据流的定义,通常列出该数 据流的各组成数据项。

软件工程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
需求分析的任务和步骤

软件工程--第三章 生命周期方法学

软件工程--第三章 生命周期方法学
《软件工程导论》讲义 2015 版:第三章 生命周期方法学
Hale Waihona Puke 第三章 生命周期方法学一、 生命周期方法学的阶段划分
生命周期方法学是最传统也是最经典的软件开发方法学, 它严格按照软件生 命周期的阶段划分将软件开发过程划分为多个阶段:软件定义划分为问题定义、 可行性研究、需求分析三个阶段,软件开发划分为总体设计、详细设计、编码实 现、综合测试四个阶段,再加上软件维护阶段。 用图表表示即为: 问题定义 软件定义 可行性研究 需求分析 软件开发
P
F ,F 是 n 年后的收入,P 是折算为当前收入 (1 i ) n
有了对投入成本和效益的估算,就可以评价投资的价值了。一般来说,投资 收益主要的评价指标有以下几项: 投资回收期 投资回收期是指所开发的软件投入运行或者进行销售后,多长时间 能够全部收回投资。一旦收回投资,以后的收入就是纯收入;而在收回 投资之前的时间,对项目本身来说都是负债经营的。 任何一个应用软件项目都有一定的预期寿命,软件运行一定时间之 后,必然会因为跟不上技术的进步和应用的要求而被淘汰,被废弃。由 于激烈的市场竞争,商品软件的寿命会更短。因此,投资回收期是一个 软件项目投资的重要经济指标, 越早收回投资, 也就越早能够开始盈利, 在整个软件的生命周期中也能够获得越多的效益。如果投资回收期超过 了软件的预期寿命,那就是一个失败的投资。 纯收入 纯收入是软件在整个生命周期中得到的收益(注意:收益应当是考 虑了货币的时间价值后折合成现值的收益) 与开发这个软件的投入之差。 如果没有纯收入,因为投入开发是有风险的,因此也不应该实施这个项 目。纯收入首先必需能够对投资者的风险进行补偿。为了比较不同投资 项目之间的收益情况,还应该使用投资收益率,即纯收入与投入之比来 表示单位投入能够产生的效益。 投资回收率 投资回收率表示的是单位时间内单位投入能够产生的效益,它能够 更准确地体现出投资于一个项目的效益,并且可以与同样的资金进行别 的投资的收益进行比较。对于投资回收率,可以按照投资利息的方式来 理解。也就是说,投资回收率相当于我们将资金投入软件项目后,单位 时间(一般是年)可以得到的利率。计算投资回收率可以使用以下的方 程。

《软件工程》第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章用例图及其应用
《软件工程建模工具,能够帮助我们更好地理解系统需求 和功能。本章介绍用例图的概念、基本元素、符号表示方法以及应用场景。
用例图的概念和作用
用例图是一种描述系统功能和用户行为的图形化工具。它帮助开发人员和利 益相关者理解系统的需求,并作为沟通和验证的工具。用例图能够直观地展 示系统功能,帮助识别系统的边界和行为。
用例图的基本元素
用例图包含参与者、用例和关系三个基本元素。参与者代表系统的外部角色, 用例代表系统的功能或服务,而关系则表示参与者和用例之间的交互和依赖 关系。
用例图的符号和表示方法
用例图使用参与者图标、椭圆形表示的用例以及连接线表示关系。参与者图标通常表示为人的图 标,用例图标则是一个椭圆形,并用文字描述用例的名称。
用例图在软件工程中的重要性
用例图在软件工程中起到了至关重要的作用。它不仅帮助开发人员了解系统 需求和功能,还能够引导需求分析和测试的工作,并作为可视化的沟通工具, 促进不同角色之间的合作交流。
结论
用例图作为软件工程中常用的建模工具,具有直观、易理解的特点。通过用例图,我们能够更好 地理解和沟通系统需求,提高系统开发的质量和效率。
用例图的绘制步骤
绘制用例图的步骤包括:确定系统的边界和参与者、识别系统的用例、绘制参与者和用例的图标、 添加关系和标注信息、进行审查和验证。
用例图的应用场景
用例图在软件工程中有广泛的应用场景,例如需求分析、系统设计、测试规 划等。通过用例图,开发人员和利益相关者能够共同理解系统功能和用户需 求,从而有效地进行软件开发。

软件工程第三章

软件工程第三章

SIT
3)着重强调的是数据流程而不是控制流程。
数据流程图中的基本符号有: 1、数据流
数据流是有名字有流向的数据,在数据流程图中,数据 流用标有名字的箭头来表示。
3.5 需求分析方法
2、加工 加工又称处理逻辑,表示数据所进行的加工或变换,以 标有名字的圆圈代表加工。指向加工的数据流是该加工的输 入数据,离开加工的数据流是该加工的输出数据。 3、文件
SIT
3.1 概述
目标系统的逻辑模型:分析当前系统与目标系统逻辑上 的差别,明确目标系统要“做什么”的实质工作,从当前系 统的逻辑模型导出目标系统的逻辑模型。 目标系统的物理模型:确定待开发系统的系统元素,将 功能和数据结构分配到系统元素中。它的具体物理模型则是 由它的逻辑模型经实例化后,具体到某个业务领域得到的。
3.3.2用户需求
用户需求是从用户角度来描述系统功能和非功能需求, 以便让不具备专业技术方面知识的用户能看懂。这样的需求 描述只描述系统的外部行为,要尽量避免对系统设计特性的 描述。
3.3 软件需求分析类型
3.3.3系统需求
系统需求是比用户需求更详细的需求描述,是系统实现 的基本依据,因此,是一个完全的和一致的系统描述,是软 件工程人员系统设计的起点。 自然语言时常被用来书写系统需求描述,但被用来做更 详细的描述时,深层次的问题就暴露出来,主要有:
3.5 需求分析方法
3.建立行为模型 分析建模是实现真实世界模型向计算机模型转换的核心 环节,也是一种处理软件复杂性的有效手段。在需求开发阶 段,分析建模的关键是针对用户需求建立抽象的分析模型, 从而有助于开发人员理解用户需求,同时增强自然语言的需 求规格说明。分析模型往往采用一些图形化的表示方式,从 数据、功能和行为等不同角度表达用户需求。

《软件工程》第3章用例图及其应用

《软件工程》第3章用例图及其应用
用例与参与者之间存在关联关系,表示参与者可以参与用例的执行。这种关系有助于明确系统的边界和 交互方式。
用例图在软件开发中重要性
1
用例图是软件开发过程中的重要工具之一,它能 够帮助开发团队更好地理解用户需求,明确系统 的功能范围。
2
通过用例图,开发团队可以对系统的交互方式进 行模拟和验证,从而发现潜在的问题和缺陷,提 高软件的质量。
用例图的更新可以及时地反映到自 动化测试脚本中,保证测试脚本的 实时性和准确性。
评估测试覆盖率
用例图可以帮助测试人员评 估测试的覆盖率,确保所有 重要的功能和业务流程都被
测试到。
通过对比用例图和已执行的 测试用例,可以找出未被测 试到的功能和业务流程,从
而完善测试计划。
测试覆盖率的评估有助于提 高测试的质量和效率,降低 漏测的风险。
02
针对每个测试场景,细化出具体的测试用例,包括输
入数据、预期结果和测试步骤。
03
用例图可以帮助测试人员更好地理解系统需求,从而
设计出更全面的测试用例。
指导自动化测试脚本编写
用例图提供了系统的功能框架和业务流 程,为自动化测试脚本的编写提供了指 导。
测试人员可以根据用例图中的元素和关系, 编写出对应的自动化测试脚本。
验证设计满足原始需求
01 用例图是需求分析和设计阶段源自重要产物,它描 述了用户期望的系统功能和行为。
02 在系统设计完成后,可以通过与原始用例图进行 对比,验证设计是否满足原始需求。
03 如果设计不符合原始需求,则需要重新调整设计, 直到满足所有需求为止。
评估系统可扩展性和可维护性
用例图可以帮助评估系统的可扩展性和可维护性。
扩展关系
02
03

软件工程第三章需求工程

软件工程第三章需求工程

软件工程第三章需求工程在软件工程中,需求工程是至关重要的一环。

它就像是一座建筑的蓝图,为后续的设计、开发、测试等工作指明了方向。

如果需求工程做得不好,就好比在没有清晰规划的情况下盲目施工,结果必然是混乱和低效的。

需求工程主要包括需求获取、需求分析、需求规格说明和需求验证这几个关键步骤。

需求获取是需求工程的起点。

这可不是一件简单的事情,它需要与各种利益相关者进行有效的沟通和交流。

这些利益相关者可能包括客户、用户、业务经理、技术专家等等。

他们对于软件系统的期望和需求各不相同,因此获取到全面、准确的需求信息是一个挑战。

在与利益相关者交流时,我们需要运用各种技巧。

比如,倾听是非常重要的。

要让他们能够畅所欲言,表达出自己的真实想法和需求。

同时,提问也是必不可少的。

通过有针对性的问题,可以引导他们深入思考,挖掘出一些潜在的需求。

此外,观察他们的工作流程和操作习惯,也能为获取需求提供有价值的线索。

需求分析是对获取到的需求进行深入理解和梳理的过程。

这就像是把一堆杂乱无章的拼图碎片整理成一幅完整的画面。

我们需要识别出需求中的关键元素,理解它们之间的关系,并且找出可能存在的冲突和不一致。

为了进行有效的需求分析,我们常常会使用一些工具和技术。

比如,用例图可以帮助我们清晰地描述系统的功能和用户与系统之间的交互。

数据流图则能够展示数据在系统中的流动和处理过程。

状态转换图可以用于描述系统中对象的状态变化。

通过这些工具,我们能够更直观地理解需求,发现潜在的问题。

需求规格说明是将分析后的需求以一种清晰、准确、无歧义的方式记录下来。

它就像是一份合同,明确了软件系统应该具备的功能和性能。

需求规格说明通常包括功能需求、非功能需求、约束条件等内容。

功能需求描述了系统应该完成的具体任务和操作。

非功能需求则关注系统的性能、可靠性、可维护性、安全性等方面的要求。

约束条件可能包括技术限制、预算限制、时间限制等。

在编写需求规格说明时,语言要简洁明了,避免使用模糊不清的词汇和语句。

《软件工程学》第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 需求分析图形工具。

软件工程第三章

软件工程第三章

3.2.1、结构化分析(SA) 3.2.1、结构化分析(SA)方法
2、数据流图 (1)、数据流图的组成 “ 四大组成部分:外部实体(也就是数据的源点或终 点)、处理、数据流和数据存储
3.2.1、结构化分析(SA) 3.2.1、结构化分析(SA)方法
2、数据流图 (2)、数据流图的符号 “ a、基本符号 b、附加符号: * ——表示数据流之间是“与”的关系。 + ——表示数据流之间是“或”的关系。 ⊕ ——表示只能从中选一个(互斥关系)。
数据流图实例:××培训中心管理系统

3.2.1、结构化分析(SA) 3.2.1、结构化分析(SA)方法
数据流图实例:××培训中心管理系统

3.2.1、结构化分析(SA) 3.2.1、结构化分析(SA)方法
3、数据字典 数据字典是关于数据的信息的集合,也就是对数据 “ 流图中包含的所有元素的定义的集合。当数据流图 和对数据流图中每个元素的精确定义(数据字典)放 在一起时,才能共同构成系统的规格说明
1、Jackson系统开发方法 前期(20 世纪70 年代): “ 主要研究以处理数据为主的结构化程序设计,称 JSP(Jackson Structured Programming)方法 后期(20世纪80 年代): 集中研究软件系统的开发,称JSD(Jackson System Development)方法
3.2.4、Jackson系统开发方法 Warnier方法 3.2.4、Jackson系统开发方法、Warnier方法 系统开发方法、
1、Jackson系统开发方法 基本思想是从数据结构出发建立对应的程序结构, “ 适合于设计企事业事务管理类的数据处理系统。
3.2.4、Jackson系统开发方法 Warnier方法 3.2.4、Jackson系统开发方法、Warnier方法 系统开发方法、

软件工程第三章习题及参考答案

软件工程第三章习题及参考答案

第三章习题及参考答案1、用逐步求精方法解决下述得更新顺序主文件得问题。

美国某杂志社需要一个软件,以更新存有该杂志订户姓名、地址等数据得顺序主文件。

共有插入、修改与删除等3种类型得事务,分别对应于事务代码1、2与3。

也就就是说,事务类型如下:类型1:INSERT(插入一个新订户到主文件中)类型2:MODIFY(修改一个已有得订户记录)类型3:DELETE(删除一个已有得订户记录)事务就是按订户名字得字母顺序排序得。

如果对一个订户既有修改事务又有删除事务,则已对那个订户得事务排好次序了,以便使修改发生在删除之前。

2.分析图3、1所示得层次图,确定每个模块得内聚类型。

3.分析图3、2,确定模块之间得耦合类型。

在图3、2中已经给模块之间得接口编了号码,表3、1描述了模块间得接口。

4、假设您在一所职业高中工作,负责该校信息系统得建设与维护。

财务科长请您研究用学校拥有得微型计算机生成工资明细表与各种财务报表得可能性。

请详细描述您用结构化分析方法分析上述问题得过程。

用面向数据流方法设计工资支付系统得软件结构。

5.用3种方法计算图3、3所示流图得环形复杂度。

6、图3、4就是用程序流程图描绘得程序算法,请把它改画为等价得盒图。

7、某交易所规定给经纪人得手续费计算方法如下:总手续费等于基本手续费加上与交易中得每股价格与股数有关得附加手续费。

如果交易总金额少于1000元,则基本手续费为交易金额得8、4%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额得5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额得4%加上134元。

当每股售价低于14元时,附加手续费为基本手续费得5%,除非买进、卖出得股数不就是100得倍数,在这种情况下附加手续费为基本手续费得9%。

当每股售价在14元到25元之间时,附加手续费为基本手续费得2%,除非交易得股数不就是100得倍数,在这种情况下附加手续费为基本手续费得6%。

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

条目格式如下: 数据流名: 组成: 流量:
3.5 需求分析方法 SIT 来源: 去向: · 文件条目。 文件条目主要说明文件由哪些数据项组成,存储方式和
存取频率等。 条目格式如下: 文件名: 组成: 存储方式: 存储频率:
3.5 需求分析方法 SIT · 数据项条目。 数据项名: 类型: 长度: 取值范围: · 加工条目。 加工条目主要说明加工的输入数据、输出数据及其加工
3.2 需求分析任务 SIT
二、分析系统的数据要求 分析系统的数据要求通常采用建立概念模型的方法。
三、导出系统的逻辑模型 综合上述两项分析的结果可以导出系统的详细的逻辑模
型,通常用数据流图、数据字典和主要的处理算法描述这个 逻辑模型。 四、修正系统开发计划
根据在分析过程中获得的对系统的更深入更具体的了解, 可以比较准确地估计系统的成本和进度,修正以前制定的开 发计划。 五、开发原型系统
3.3.2用户需求
用户需求是从用户角度来描述系统功能和非功能需求, 以便让不具备专业技术方面知识的用户能看懂。这样的需求 描述只描述系统的外部行为,要尽量避免对系统设计特性的 描述。
3.3 软件需求分析类型 SIT
3.3.3系统需求
系统需求是比用户需求更详细的需求描述,是系统实现 的基本依据,因此,是一个完全的和一致的系统描述,是软 件工程人员系统设计的起点。
需求描述的结构化是围绕三个主要内容进行的,一是系 统操作对象,二是系统运行的功能,三是系统处理的事件。
3.6 软件需求工程管理 SIT 软件需求管理指的是一个为系统的需求进行启发、组织、
建档的系统方法,一个建立和维护客户和项目团队之间关于 变更系统需求所达成的一致性的过程。
需求模型是指将软件需求的捕获与开发、管理作为一个 工程,以软件需求的捕获与开发、管理为研究对象,抽象化 的工程参考模型,用以指导软件需求的各项实践活动。
3.5 需求分析方法 SIT
2.建立数据模型 软件系统本质上是信息处理系统,因此,在软件系统的 整个开发过程中都必须考虑两方面的问题——“数据”及对数 据的“处理”。在需求分析阶段则既要分析用户的数据要求, 又要分析用户的处理要求 。 为了把用户的数据要求清晰明确地表达出来,系统分析 员通常建立一个概念性的数据模型(也称为信息模型)。概念性 数据模型是一种面向问题的数据模型,是按照用户的观点来 对数据和信息建模。 最常用的表示概念性数据模型的方法,是实体一联系方 法 ,用这种方法表示的概念性数据模型又称为ER模型。
数据流程图,又称数据流图,它是以图形的方式来表达 数据处理系统中信息的变换和传递过程。
数据流程图有三个重要属性:
3.5 需求分析方法 SIT
数据流程图有三个重要属性: 1)可以表示任何一个系统(人工的、自动的或混合的)中 的信息流程。 2)每个圆圈可能需要进一步分解以求得对问题的全面理 解。 3)着重强调的是数据流程而不是控制流程。 数据流程图中的基本符号有: 1、数据流 数据流是有名字有流向的数据,在数据流程图中,数据 流用标有名字的箭头来表示。
3.5 需求分析方法 SIT
2、加工 加工又称处理逻辑,表示数据所进行的加工或变换,以 标有名字的圆圈代表加工。指向加工的数据流是该加工的输 入数据,离开加工的数据流是该加工的输出数据。 3、文件 文件是数据暂存的处所,可对文件进行必要的存取,在 图中以标有名字的双直线段表示。 4、数据源及数据终点 表明数据处理过程的数据来源或数据去向的标志称为数 据源及数据终点,在数据流程图中均以命名的方框来表示。
符号
描述
结构化自然语
该方法以来于定义标准格式或模板来表达需
言 设计描述语言 图形化符号
数学描述
求描述 该方法使用一种类似于程序设计语言的语
言,但是具有更多的抽象特征,以文本注释来定义系统的 功能需求。一个早期的实例是 SADT(Ross,1977; Schoman 和 Ross,1977)。后期的是基于用例的描 述(Jacobsen 等,1993)。
3.5 需求分析方法 SIT 3.建立行为模型
分析建模是实现真实世界模型向计算机模型转换的核心 环节,也是一种处理软件复杂性的有效手段。在需求开发阶 段,分析建模的关键是针对用户需求建立抽象的分析模型, 从而有助于开发人员理解用户需求,同时增强自然语言的需 求规格说明。分析模型往往采用一些图形化的表示方式,从 数据、功能和行为等不同角度表达用户需求。
1.功能需求 功能需求描述系统所预期提供的功能或服务。 2.非功能需求 非功能需求,是指那些不直接与系统具体功能相关的一 类需求。它们与系统的总体特性相关,如可靠性、反应时间 和储存空间等。
3.3 软件需求分析类型 SIT 图3.3 非功能需求的类型
3.3 软件需求分析类型 SIT
3.领域需求 领域需求起源于系统的应用领域而不是系统的用户需要。 它们可能是一个新的特有的功能需求、对已存在的功能需求 的约束或者是需要实现的一个特别计算。
3.5 需求分析方法 SIT
3.面向对象方法中的继承机制有力支持软件的复用在同 一应用领域的不同应用系统中。
3.5.3结构化语言描述
结构化自然语言是书写系统需求时对自然语言所做的严 格的格式。这个方法的好处是:保持了自然语言中绝大部分 好的性质,包括表现能力和易懂性,同时又在不同程度上对 描述做了一致性的约束。
逻辑等。 条目格式如下: 加工名: 输入数据: 输出数据: 加工逻辑:
3.5 需求分析方法 SIT
3.5.2面向对象分析方法
面向对象方法是一种把面向对象的思想应用于软件开发 过程中,指导开发活动的系统方法,简称OO方法,它是建立 在对象概念(对象、类和继承)基础上的方法。
1.面向对象方法符合人们对客观世界的认识规律。 2.面向对象方法开发的软件系统由对象类组成,对象的 封装性很好地体现了抽象和信息隐蔽的特征。对象以属性及 操作作为接口(界面),使用者只可通过接口访问对象(请求其 服务),对象的具体实现细节对外是不可见的。这些特征使得 软件系统的体系结构是模块化的,易于理解、扩充和修改。
自然语言时常被用来书写系统需求描述,但被用来做更 详细的描述时,深层次的问题就暴露出来,主要有: 自然语言的二义性会造成语义理解的偏差。 自然语言书写的需求描述随意性大。 没有一个简单的方法使自然语言书写的需求模块化。
替代的描述方式如表3.2所示:
3.3 软件需求分析类型
SIT
表3.2:可以替换自然语言的方法
3.1 概述
SIT
目标系统的逻辑模型:分析当前系统与目标系统逻辑上 的差别,明确目标系统要“做什么”的实质工作,从当前系 统的逻辑模型导出目标系统的逻辑模型。
目标系统的物理模型:确定待开发系统的系统元素,将 功能和数据结构分配到系统元素中。它的具体物理模型则是 由它的逻辑模型经实例化后,具体到某个业务领域得到的。
3.5 需求分析方法 SIT
ER模型中包含“实体”、“联系”和“属性”等三个基 本成分:1.实体
实体是客观世界中存在的且可相互区分的事物,实体可 以是人也可以是物;可以是具体事物也可以是抽象概念。在 ER图中用矩形框代表实体。
2.联系 客观世界中的事物彼此间往往是有联系的,联系可分为 三类: (1)一对一联系(1︰1) (2)一对多联系(1︰N) (3)多对多联系(M︰N)
3.1 概述
SIT
所谓“需求分析”,是指对要解决的问题进行详细的分析,弄清楚 问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什 么。
软件开发项目过程可以用图3.1开发过程模型来说明。
怎么
做什
模型




抽象

当前系
物理模型
化 逻辑模型



具体
目标系 化
物理模型
逻辑模型



实例


度。第一范式(1 NF)数据冗余程度最大,第五范式(5 NF)数 据冗余程度最小。但是,范式级别越高,存储同样数据就需 要分解成更多张表,因此,“存储自身”的过程也就越复杂。
3.5 需求分析方法 SIT
从实用角度看来,在大多数场合选用第三范式都比较恰 当。
1.第一范式 每个属性值都必须是原子值,即仅仅是一个简单值而不 含内部结构。 2.第二范式 满足第一范式条件,而且每个非主属性完全依赖于某个 候选键(而不是部分依赖于某个候选键) 3.第三范式 符合第二范式的条件,所有非主属性即不部分依赖于某 个候选键,也不传递依赖于某个候选键。
软件需求管理过程主要分为以下几个阶段的工作:
定义需求 当完成用户需求调查后,首先对《用户需求说明书》进
行细化,对比较复杂的用户需求进行建模分析,以帮助软件 开发人员更好地理解需求。
3.6 软件需求工程管理 SIT 当完成需求的定义及分析后,需要将此过程书面化,要
3.5 需求分析方法 SIT 在ER图中,用连接相关实体的菱形框表示联系。 3.属性 属性是实体或联系所具有的性质。通常一个实体由若干
个属性来刻画。 在ER图中用椭圆形或圆角矩形表示实体(或联系)的属性,
并用无向边把实体(或联系)与其属性连接起来。 4.范式 通常用“范式(Normal Forms)”定义消除数据冗余的程
SIT
《 软件工程 》讲稿
第二部分 课程内容
第三章软件需求工程
SIT
学习目标 : 了解软件需求分析的任务与重要性,理解其中的重要 概念,如SRS,里程碑,可提交物等; 掌握软件需求分析的步骤、方法; 了解软件需求分析内容与后续工作的关系; 理解软件需求工程知识; 掌握软件需求分析文档的撰写; 需求分析阶段存在的常见问题。
3.2 需求分析任务 SIT
软件需求分析阶段研究的对象是软件项目的用户要求, 如何准确表达用户的要求,怎样与用户共同明确将要开发的 是一个什么样的系统,是需求分析要解决的主要问题。
相关文档
最新文档