软件工程(3)讲述
软件工程第三章
条目格式如下: 数据流名: 组成: 流量:
3.5 需求分析方法 SIT 来源: 去向: · 文件条目。 文件条目主要说明文件由哪些数据项组成,存储方式和
存取频率等。 条目格式如下: 文件名: 组成: 存储方式: 存储频率:
3.5 需求分析方法 SIT · 数据项条目。 数据项名: 类型: 长度: 取值范围: · 加工条目。 加工条目主要说明加工的输入数据、输出数据及其加工
3.2 需求分析任务 SIT
二、分析系统的数据要求 分析系统的数据要求通常采用建立概念模型的方法。
三、导出系统的逻辑模型 综合上述两项分析的结果可以导出系统的详细的逻辑模
型,通常用数据流图、数据字典和主要的处理算法描述这个 逻辑模型。 四、修正系统开发计划
根据在分析过程中获得的对系统的更深入更具体的了解, 可以比较准确地估计系统的成本和进度,修正以前制定的开 发计划。 五、开发原型系统
3.3.2用户需求
用户需求是从用户角度来描述系统功能和非功能需求, 以便让不具备专业技术方面知识的用户能看懂。这样的需求 描述只描述系统的外部行为,要尽量避免对系统设计特性的 描述。
3.3 软件需求分析类型 SIT
3.3.3系统需求
系统需求是比用户需求更详细的需求描述,是系统实现 的基本依据,因此,是一个完全的和一致的系统描述,是软 件工程人员系统设计的起点。
需求描述的结构化是围绕三个主要内容进行的,一是系 统操作对象,二是系统运行的功能,三是系统处理的事件。
3.6 软件需求工程管理 SIT 软件需求管理指的是一个为系统的需求进行启发、组织、
建档的系统方法,一个建立和维护客户和项目团队之间关于 变更系统需求所达成的一致性的过程。
需求模型是指将软件需求的捕获与开发、管理作为一个 工程,以软件需求的捕获与开发、管理为研究对象,抽象化 的工程参考模型,用以指导软件需求的各项实践活动。
软件工程-第3章-需求分析-3
6
DOA需求分析方法的实际
DOA有各种各样的类型,例如:
对于企业ER/图业D务F「D图所并应行有的的方样法子,」通,常最会初出绘现制两ER图的从上 向下的方者法的。差异过大,发生两个小组为争夺主
从现行业导务权的而文进件行和无数休据止库地、争画论面,、从报而表导中致,项抽出数据 项目,并目将迟其迟规不范能化进的入基设础计上阶绘段制。ER图,再将新系统所
部数据项,将它们登录到数据字典中去。遇到没有用过的数据项, 或者「同词异义」,或者「异词同义」的情况下,此阶段不要整理, 直接登录到数据字典中即可。 这些数据项都是从现有系统向新系统转换过程中的非常重要的信息。
26
基于IBM-DOA的需求分析
下图是IBM-DOA需求分析工作的标准步骤。
P3建立「DFD现逻辑模型」
16
基于IBM-DOA的需求分析
下图是“DFD四套件”的例子。
「数据流说明」可以和后续的画面、报表 的设计相关联。
17
基于IBM-DOA的需求分析
下图是“DFD四套件”的例子。
「处理功能说明」可以和后续的程序的功 能规格的做成相关联。
18
基于IBM-DOA的需求分析
总而言之,下述三项规格说明,都可以和后续的设计阶 段的工作直接关联,因此,在这里花费的精力绝不是徒 劳的。
下图是IBM-DOA需求分析工作的标准步骤。
P5 实施需求的获取与分析
将在用户获取过程中明确的问题点或需求进行分析・整理
的基础上,把它们整理・记录到「需求分析票」上。
31
基于IBM-DOA的需求分析
下图是「需求分析票」 的例子。
在此主要记录的内容有: 将新功能/改善对象场所(现有物理模型中何处需要改善)/
软件工程导论_第三章
• 后勤部涉及到的实体及实体之间的联系如下:
• 学生:属性有学号、姓名、性别、年龄、专业和入学时间 • 宿舍:楼号、房间、档次 • 学生与宿舍的联系是一个学生只能住在一个宿舍,一个 宿舍能住多个学生,学生住宿要交租金。
教务处涉及到的实体及实体之间的联系如下:
• 学生:属性有学号、姓名、性别、年龄、专业和入学时 间 • 教师:属性有教师号、姓名、性别、职称、专业 • 课程:属性有课程号、课程名、学时数、专业 • 各实体关系描述如下:一个学生可以选多门课,一门课 可以由多个学生选修;一个教师可以教多门课,一门课也 可以由多个老师教;学生选修某门课有一个成绩;教师教 某门课有一个质量评价
结构化分析模型的组成
加 数 工 据 数据流图 说 对 E-R图 数据字典 (DFD) 明 象 (DD) 说 明 状态转换图
(STD图)
控制说明
需求描述:规格说明
• 规格说明文档或规约(specifications)
– 明确地描述产品的功能,即明确说明产品做什 么,并且列出产品要满足的任何约束。包括产 品的输入和要求的输出
4. 修正系统开发计划
根据以上三点修正以前制定的开发计划
需求分析的步骤
• • • • 需求获取:问题识别 需求提炼:分析建模(导出软件逻辑模型) 需求描述:编写<需求规格说明书> 需求验证:需求分析评审
涉及的问题1
• 如何识别、获取需求? • 你能够采取何种手段与用户进行交流沟通?
3.2需求获取
解:描述仓库和商品之间的E-R图可如下图所示
仓库号 地点 面积
仓库
1
数量
存放
n
商品
商-3】两个实体集之间的多对多的联系的绘制方法。
软件工程(第3版)第2章 人民邮电出版社PPT课件
6条“最佳实践” 10个“流程要素”
可重用方法内容及流程构建块的框架
可以在定义自己的开发方法和过程
底层方法及流程定义语言
统一方法架构元模型 UML
RUP最佳实践
迭代式开发 需求管理 使用基于组件的架构 可视化建模 验证软件质量 控制软件变更
问题定义 可行性研究 需求分析 概要设计 详细设计 编码和单元测试 集成测试(综合测试) 软件维护
瀑布模型
收集需求 分析 设计 编码 测试 维护
瀑布模型 - 加入迭代过程
收集需求 分析 设计 编码 测试 维护
快速原型法
快速建立一个反映用户 主要需求的原型系统
可视化编程工具的广泛 使用
架构和组件
软件架构(Software Architecture)
构成系统的组件 组件之间的关联和交互
架构刻画了系统的整体设计
去掉了细节部分 突出了系统的重要特征
可视化建模
由于应用领域不同,模型可以有文字、图形或数学 表达式等多种形式,一般说来,使用可视化的图形 更容易令人理解。
验证软件质量
用户故事 需求
测试用例 新用户故事
差错
隐喻 架构试探
制定交付 交付计划 计划
不确定的估计
确定的估计
最新版本
用户认可
迭代开发
验收测试
下一次迭代
小交付
难点试探
XP(极限编程Extreme Programming)的整体开发过程
极限编程
未完成的任务 用户故事 交付计划 项目速率
新用户故事 新项目速率
共享的信息
能力成熟度模型的结构
能力成熟度等级
初始级 可重复级 已定义级 已管理级 优化级
软件工程3(软件目标)
4.第四代软件工程 — 构件为工传统程的软件工程。
5) 软件工程的发展历史
40年来,软件工程已经历了四个重要发展阶 段:
1.第一代软件工程 — 传统的软件工程
2.第二代软件工程 — 对象工程
3.第三代软件工程 —的方过法80程与年工技代术中程得到到90发年展代,,研面究向的对重象
6) 软件工程面临的挑战
• 遗留系统的问题
–遗留系统是指那些过时或存在问题的计算 机系统,通常是许多年以前开发的
–挑战:既要以合理的成本维护和更新系统, 又要能够继承系统中重要的商业信息和服 务
6) 软件工程面临的挑战
• 软件开发方式的变化 –网络时代带来的冲击 •开源软件开发技术 •Web 工程 –挑战:研究分布式的软件体系结构和开发 模式,探索与之相适应的软件工程策略
点转移到面向对象的分析与设计,
4.第四代软件工程 —演化构为件一工种完程整的软件开发方法和
系统的技术体系,称0年来,软件工程已2经0世历纪了80年四代个中重开始要,发人展们在软
阶段:
件开发的实践过程中认识到:提高软
件生产率,保证软件质量的关键是
1.第一代软件工程“—软件传过统程”的,软是件软件工开程发和维护中
可复用构件组装完成,而无需从头开始
2.第二代软件工程构成造本—,的以目对此的象达。工到称提为程高构效件率工和程质。量,降低
3.第三代软件工程 — 过程工程
4.第四代软件工程 — 构件工程
6) 软件工程面临的挑战
• 异构系统的问题
–网络环境下包含不同的硬件平台和软件系 统
–挑战:需要提出新的开发技术,能够使所 开发的软件系统运行在不同的硬件平台和 系统环境下
《软件工程》第3章 软件需求分析
【本章重点】 本章重点】
需求分析的方法 ; 需求分析的任务和原则 ;
【教学目标】 教学目标】
掌握需求分析的基本概念; 掌握需求分析的基本概念; 掌握如何使用需求获取技术来进行数据采集; 掌握如何使用需求获取技术来进行数据采集; 掌握结构化分析的思想与过程; 掌握结构化分析的思想与过程; 掌握数据流建模技术。 掌握数据流建模技术。
3.2 面向数据流的分析方法
3.2.2 数据流图
1.数据流图中的主要图形元素
3.2 面向数据流的分析方法
2.分层的数据流图
在多层数据流图中,可以把顶层数据流图、 在多层数据流图中,可以把顶层数据流图、底层数 据流图和中间层数据流图区分开来。顶层数据流图仅 据流图和中间层数据流图区分开来。 包含一个加工,它代表被开发系统。 包含一个加工,它代表被开发系统。它的输入流是该 系统的输入数据,输出流是系统的输出数据。顶层数 系统的输入数据,输出流是系统的输出数据。 据流图的作用在于表明被开发系统的范围, 据流图的作用在于表明被开发系统的范围,以及它和 周围环境的数据交换关系。 周围环境的数据交换关系。底层数据流图是指其加工 不须再做分解的数据流图,其加工称为“原子加工” 不须再做分解的数据流图,其加工称为“原子加工”。 中间层数据流图则表示对其上层父图的细化。 中间层数据流图则表示对其上层父图的细化。它的每 一个加工可以继续细化,形成子图。 一个加工可以继续细化,形成子图。中间层次的多少 视系统的复杂程度而定。 视系统的复杂程度而定。
3.2 面向数据流的分析方法
4.数据流图的优缺点
总体概念强,每一层都明确强调“干什么” 总体概念强,每一层都明确强调“干什么”,“需要 什么” 给出什么” 什么”,“给出什么”; 可以反映出数据的流向和处理过程; 可以反映出数据的流向和处理过程; 由于自顶向下分析, 由于自顶向下分析,容易及早发现系统各部分的逻辑 错误,也容易修正; 错误,也容易修正; 容易与计算机处理相对应; 容易与计算机处理相对应; 不直观,一般都要在作业流程分析的基础上加以概括、 不直观,一般都要在作业流程分析的基础上加以概括、 抽象、 抽象、修正来得到
软件工程(第3版)齐治昌—第4章需求获取
示信息
和密码
提示信息
名和密码
动作 订票者进入火车票网上订票系统 订票者输入用户名和密码 订票者提交输入的信息 系统对订票者的用户名和密码进行有效的
系统记录并显示当前的订票者 2a 订票者的用户名错误
2a1 系统给出用户名或密码错误的提
2a2 订票者离开或者重新输入用户名
2b 订票者的密码错误 2b1 系统给出用户名或密码错误的
<<include>>
<<include>> <<include>>
<<include>>
用户身份验证 检测课程设置冲突
搜索课程和教师信息
<<include>> <<include>> <<include>>
BillingSystem
用图 例 图课
程 注 册 管 理 系 统 的
12
➢ 4.1
(一)执行者与用例之间的关系
第四章 需求获取
4.1 软件需求的初始表示 4.2 需求获取的过程模型 4.3 定义软件问题 4.4 创建框架用例 4.5 精化用例 4.6 评审用例模型
2020/4/30
1
第四章 需求获取
➢ 需求获取的目标:完整地收集、整理利益相关 方对目标软件系统的需求,并以其容易理解的 业务语言阐述这些需求,形成文档。
➢ 内容包括: ➢ 用例名称 ➢ 用例的功能或其业务目标 ➢ 与用例有关的执行者 ➢ 用例执行的触发条件(可
选) ➢ 用例执行的前置条件(可
选) ➢ 基本交互动作过程 ➢ 扩展交互动作过程(可选) ➢ 用例执行完毕时的后置条
软件工程 第3章需求分析
位置:定货报告 定货信息 库存清单
面向数据流方法的分析的应用
6 D1 库存清单 事务 1 包含零件编 号、名称、 目前价格
深入调查
外部输入或系 统生成
3.2.2 面向数据流的自顶向下求精
• 回溯时常遇到的问题:为了得到某个数据元素需要 用到数据流图中还没有的数据元素,或者得出这个 数据元素要用的算法尚不完全清楚。 • 因此,需要向用户等有关人员请教,他们的回答使 分析员对目标系统的认识更深入具体,系统中更多 的数据元素被划分出来,更多的算法搞清楚了。 • 把分析过程中得到的有关数据元素的信息记录在数 据字典中,把对算法的简明描述记录在IPO图中。 通过分析而补充的数据流、数据存储和处理,应该 添加到数据流图的适当位置上。
• 主要目标:把数据流和数据存储定义到元 素级别(不可分解为止)
数据的来源、去 向、数据结构定 义等
可行性 分析忽 略了细 节
3.2.2 面向数据流的自顶向下求精
自顶向下,逐 层细化的方法
• 结构化分析方法是一种什么方法呢? • 从数据流图的输出端着手分析,这是因为系 统的基本功能是产生这些输出的关键原因。 • 输出数据决定了系统必须具有的最基本的组 成元素(包括功能和数据结构组成)。
3.4.1 数据对象
• 它的范畴很大,可以是外部实体(例如,产生 或使用信息的任何事物)、事物(例如,报表)、 行为(例如,打电话)、事件(例如,响警报)、 角色(例如,教师、学生)、单位(例如,会计 科)、地点(例如,仓库)或结构(例如,文件) 等。 • 总之,可以由一组属性来定义的实体都可以 被认为是数据对象。
软件工程3-史济民概要
结构化分析与设计的由来
• 瀑布模型的首次实践
• 瀑布模型由传统的生存周期过程演变而来。 作为一种系统开发方法,结构化分析与设计 是瀑布模型的首次实践。该模型一般可划分 为以下阶段: • 需求定义与分析→总体设计→详细设计→编 码→测试→使用维护
结构化分析与设计的由来
• SA与SD的流程
• 系统的整个开发流程可简明表示为: • 结构化分析(工具:DFD、PSPEC) (分层DFD图)+ SRS • 结构化设计(工具:SC图) 映射 模型(初始SC图) • 初始设计模型(初始SC图) 优化 模型(最终SC图)
分析模型 初始设计 最终设计
• SA与SD的流程是为待开发系统建立分析模型和 设计模型的过程。
结构化分析与设计的由来
• 基本任务与指导思想
• 结构化分析
• 建立分析模型:功能模型、数据模型、行为模型 • 编写需求说明:软件需求规格说明书(SRS)标准 的主要内容为引言、信息描述、 功能描述、行为 描述、质量保证、接口描述等。 SRS标准强调SRS 应具有准确性、应防止二义性、应直观易改。 • 主要指导思想:抽象与分解。
• 自顶向下对系统进行功能分解,画出分层DFD图 • 由后向前定义系统的数据和加工,编制DD和PSPEC • 最终写出SRS
数据流图的层次结构
数据流图的层次结构
• 在多层数据流图中,顶层流图仅包含一 个加工(处理) ,它代表被开发系统。 它的输入流是该系统的输入数据,输出 流是系统所输出数据。 • 底层流图是指其加工不需再做分解的数 据流图,它处在最底层。 • 中间层流图则表示对其上层父图的细化 。它的每一加工可能继续细化,形成子 图。
2. 画出SC图框架
• DFD图的三个部分分别映射为事务控制模块,接 受模块和动作发送模块
软件工程-第3章第3节
3.3.2 软件结构设计准则
如图3.5(a)(符号◇表示模块内有判定功能,阴影表示模块 的作用范围)所示,模块D的作用范围是C、D、E和F,模块D的 控制范围是D、E、F,作用范围超过了控制范围,这种结构最 差。因为D的判定作用到了C,必然有控制信息通过上层模块B 传递到C,这样增加了数据的传递量和模块间的耦合。若修改D 模块,则会影响到不受它控制的C模块,这样不易理解与维护。
3.3.2 软件结构设计准则
2.控制范围与作用范围之间的准则 一个模块的作用范围应在其控制范围之内,且条件判
定所在的模块应与受其影响的模块在层次上尽量靠近。 在软件结构中,由于存在着不同事务处理的需要,某
一层上的模块会存在着判断处理,这样可能影响其他层的 模块处理。为了保证含有判定功能模块的软件设计的质量 ,引入了模块的作用范围(或称影响范围)与控制范围的概 念。
3.3.1 软件结构图
(1) 模块:用方框表示,并用名字标识该模块,名字应体现该 模块的功能。 (2) 模块的控制关系:两个模块间用单向箭头或直线连接表示 它们的控制关系,如图3.2所示。按照惯例,图中位于上方的 模块调用下方的模块,所以不用箭头也不会产生二义性。调用 模块和被调用模块的关系称为上属与下属的关系,或者称为“ 统率”与“从属”的关系。如图3.4所示,模块M统率模块A、 B、C,模块D从属于模块A,也从属于M。 (3) 模块间的信息传递:模块间还经常用带注释的短箭头表示 模块调用过程中来回传递的信息。有时箭头尾部带空心圆的表 示传递的是数据,带实心圆的表示传递的是控制信息,如图 3.2所示。
软件工程(第3版)pdf(一)
软件工程(第3版)pdf(一)引言概述软件工程是一门关于开发高质量软件的学科,它涉及到软件的规划、设计、开发、测试和维护等方面。
本文档将介绍《软件工程(第3版)pdf》的内容,分为五个大点进行阐述。
正文内容一、软件工程的基本概念1. 软件工程的定义和目标2. 软件工程的发展历程3. 软件工程的主要特性和关键原则4. 软件工程的生命周期模型5. 软件工程的重要性和应用场景二、软件开发流程1. 需求分析和规划a. 需求获取和分析方法b. 需求规格说明和需求管理c. 项目规划和进度控制2. 软件设计和架构a. 设计原则和模式b. 架构设计和模块划分c. 接口设计和数据结构选择3. 软件编码和测试a. 编码规范和代码复用b. 软件测试的类型和方法c. 质量保证和缺陷管理4. 软件部署和运维a. 软件安装和配置b. 系统集成和部署测试c. 故障排除和性能优化5. 软件维护和升级a. 缺陷修复和功能更新b. 版本控制和升级策略c. 用户支持和培训三、软件工程的工具与技术1. 编程语言和开发环境2. 集成开发环境(IDE)和版本控制系统3. 自动化构建和测试工具4. 软件项目管理和团队协作工具5. 软件性能分析和调试工具四、软件工程的项目管理1. 软件项目计划和资源分配2. 风险管理和质量评估3. 项目进度和里程碑管理4. 项目沟通和团队协作5. 项目评估和总结五、软件工程的发展趋势和前景1. 云计算和移动应用2. 大数据和人工智能3. 微服务和容器化4. 高可靠和高性能系统5. 软件工程的可持续发展总结本文档简要介绍了《软件工程(第3版)pdf》的内容,并分别从软件工程的基本概念、软件开发流程、工具与技术、项目管理以及发展趋势和前景进行了详细阐述。
通过学习和应用软件工程知识,能够提高软件的质量和开发效率,适应快速变化的技术环境,从而为解决实际问题提供可靠的解决方案。
软件工程第3章newOK
软件工程第3章newOK在软件工程的世界里,每一章都像是一座蕴藏着知识宝藏的山峰,等待着我们去攀登和探索。
而这第 3 章,更是有着独特的魅力和重要的价值。
第 3 章通常会聚焦于软件开发过程中的一些关键环节和技术。
比如说,需求分析这个至关重要的部分。
需求分析就像是为一座建筑绘制蓝图,如果在这个阶段出现偏差或者误解,后续的工作就可能像在沙滩上建高楼,摇摇欲坠。
在需求分析中,我们需要与各种利益相关者进行深入的交流。
这可能包括项目的投资方、最终的用户,以及开发团队中的各个角色。
通过与他们的沟通,我们要尽可能清晰地了解他们对软件系统的期望和需求。
这可不是一件轻松的事情,因为每个人的想法和需求都可能不同,甚至相互冲突。
我们需要像一个协调者一样,将这些纷繁复杂的需求进行梳理和整合,形成一份清晰、明确、完整的需求文档。
除了需求分析,第 3 章还可能会涉及到软件设计的初步概念。
软件设计就像是给一个建筑搭建框架,决定了软件的结构和模块划分。
一个好的软件设计应该具有高内聚、低耦合的特点。
这意味着软件的各个模块内部应该紧密相关,而模块之间的联系则应该尽量减少。
这样可以使得软件系统更加易于维护和扩展。
比如说,如果我们要开发一个在线购物系统,可能会将用户管理、商品管理、订单管理等功能划分为不同的模块。
每个模块都有自己明确的职责和功能,相互之间通过定义良好的接口进行交互。
这样,当我们需要对某个功能进行修改或者扩展时,就不会影响到其他的模块,从而降低了开发的风险和成本。
在软件设计的过程中,还需要考虑到软件的性能、安全性、可扩展性等非功能性需求。
这些需求虽然不像具体的功能那样直观,但却对软件的质量和用户体验有着至关重要的影响。
另外,第 3 章可能还会探讨一些软件开发方法和模型。
比如瀑布模型、敏捷开发模型等等。
不同的开发模型有着各自的优缺点,适用于不同的项目和场景。
瀑布模型是一种线性的开发过程,每个阶段都有着明确的输入和输出,并且只有在前一个阶段完成并通过审核后,才能进入下一个阶段。
软件工程3分析
软件工程 3分析第一点:软件工程的基本概念和方法软件工程是一门研究如何系统地开发、维护和演化软件的学科。
它关注软件开发的各个方面,包括需求分析、设计、实现、测试和维护等。
软件工程的目标是提高软件的质量、提高开发效率、降低开发成本,并使软件开发成为一个可预测的过程。
软件工程的基本方法包括面向过程的方法、面向对象的方法和面向框架的方法。
面向过程的方法强调按照软件开发的生命周期,分阶段地进行软件开发。
面向对象的方法将软件划分为对象,通过对象之间的交互来实现软件功能。
面向框架的方法则是基于预定义的软件框架进行开发,可以快速构建复杂的软件系统。
在软件工程中,还有一些重要的原则和方法,如模块化、抽象化、封装、继承和多态性等。
模块化是将软件划分为独立的模块,每个模块负责实现特定的功能。
抽象化是将复杂的系统简化为简单的模型,以便于理解和开发。
封装是将数据和相关的操作封装在一起,提高系统的安全性和可维护性。
继承是允许新的对象类从现有的类中继承属性和方法。
多态性是指同一个方法在不同类型的对象上具有不同的行为。
第二点:软件工程的重要技术和工具软件工程中使用了许多重要的技术和工具,以提高软件开发的效率和质量。
这些技术和工具可以分为几个类别,包括需求分析工具、设计工具、编程工具、测试工具和项目管理工具等。
需求分析是软件开发的第一步,它涉及到理解和描述用户的需求。
需求分析工具可以帮助开发团队更好地理解用户的需求,包括需求建模、需求验证和需求管理等功能。
常见的需求分析工具有Use Case图、活动图、时序图等。
设计是软件开发的关键步骤,它涉及到确定软件的架构和组件。
设计工具可以帮助开发团队更好地设计和规划软件的结构,包括类图、组件图、部署图等。
常见的设计工具有UML(统一建模语言)工具、设计模式库等。
编程是软件开发的核心工作,它涉及到将设计转换为实际的代码。
编程工具可以提供代码编辑、编译、调试和版本控制等功能。
常见的编程工具有集成开发环境(IDE)、代码编辑器、版本控制系统等。
软件工程课件 第三 软件设计共56页PPT
谢谢
11、越是没有本领的就越加自命不凡。——邓拓 12、越是无能的人,越喜欢挑剔别人的错儿。——爱尔兰 13、知人者智,自知者明。胜人者有力,自胜者强。——老子 14、意志坚强的人能把世界放在手中像泥块一样任意揉捏。——歌德 15、最具挑战性的挑战莫过于提升自我。——迈克尔·F·斯特在使用得当时很 少遇到 抵抗。 ——塞 ·约翰 逊 2、权力会使人渐渐失去温厚善良的美 德。— —伯克
3、最大限度地行使权力总是令人反感 ;权力 不易确 定之处 始终存 在着危 险。— —塞·约翰逊 4、权力会奴化一切。——塔西佗
5、虽然权力是一头固执的熊,可是金 子可以 拉着它 的鼻子 走。— —莎士 比
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 面向数据流的分析方法
结 构 化 的 分 析 模 型
2018/1/2
描述
加工
象
規约
据对
实体-关系图
数据流图
PS P
数
EC
数据字典
实体关系图
状态-变迁图
控制規约CSPEC
6
第五章 面向数据流的分析方法
结构化的分析模型
核心 数据字典 描述软件工程项目的所有数据对象 中间层 实体-关系图、数据流图、状态-变迁图 实体-关系图 描述数据对象之间的关系 数据流图 功能建模的基础 系统或子系统对数据实施的变换、变换的功能 提供信息分析的信息 状态-变迁图 行为建模的基础 系统的行为模式(称“状态”)以及状态变迁的方 式
2018/1/2
4
第五章 面向数据流的分析方法
1 数据流图与数据字典 2 实体一关系图 数据对象、属性与关系 实体一关系图 3 数据流图的实时系统扩充 Ward & Mellor扩充 Hatley & Pirhai扩充 4 基于数据流的分析方法 创建数据流模型 创建控制流模型 创建过程规格说明 5 基于数据流图的需求分析CASE工具。 语言机制 动态分析 基于CASE工具的需求分析 以“家庭保安系统”为例展示结构化分析方法的使用过程。
图上每个元素都必须有名字 数据流图中不可夹带控制流 初画时可以忽略琐碎的细节,以集中 精力于主要数据流
2018/1/2
24
基本加工逻辑说明
对数据流图的每一个基本加工,必 须有一个基本加工逻辑说明 基本加工逻辑说明必须描述基本加 工如何把输入数据流变换为输出数 据流的加工规则 加工逻辑说明必须描述实现加工的 策略而不是实现加工的细节 加工逻辑说明中包含的信息应是充 足的,完备的,有用的,无冗余的
2018/1/2 7
第五章 面向数据流的分析方法
结构化的分析模型
最外层 数据对象描述、加工规格说明PSPEC、控制规格说明 CSPEC 数据对象 表示实体-关系图中每个数据对象的属性 加工规格说明PSPEC 描述数据流图的每个功能。 控制规格说明CSPEC 描述软件控制的附加信息
2018/1/2 8
2018/1/2 13
5.1数据流图与数据字典
顶层数据流图
随着需求 分析活动的 深入,较高 抽象级别的 复杂加工逐 步精化为一 系列相互关 联的数据流 和子加工。
2018/1/2
14
5.1数据流图与数据字典
数据流图的精化与平衡
逐层精化必须保 持数据流图的平 衡 数据流与加工精 化必须保持一致 需求分析活动只 求对问题全面、 清晰的理解,不 考虑软件设计细第一层数据流图
2018/1/2
19
加细每一个加工框
销售细化
2018/1/2
20
采购细化
2018/1/2
21
检查和修改数据流图的原则
数据流图上所有图形符号只限于前 述四种基本图形元素 数据流图的主图必须包括前述四种 基本元素,缺一不可 数据流图的主图上的数据流必须封 闭在外部实体之间 每个加工至少有一个输入数据流和 一个输出数据流
六十年代未、七十年代初结构化设计盛行, 结构化分析以结构化设计附产品的身份出现。 七十年代未期 Douglas Ross提出结构化分析 的术语 DeMarco[DEM79] 进行推广,给出分析员 可以创建信息流模型的主要图形记号,建议 将“数据字典”和“处理说明”作为信息流 模型的补充,並提供方法应用的实例;
2018/1/2
3
结构化分析方法
八十年代初期 Page-Jones[PAG80],Gane[GAN82] 等 人提出结构化分析方法的一些变种,用于信息系统 的开发; 八 十 年 代 中 期 Ward、Mellor[WAR85]、Hatiy 和 Pirbhai[HAT87]对结构化分析进行扩充支持实时、 控制和嵌入式系统的开发; Harel & Pnueli 研制了面向复杂实时反应式系 统(Complex Real-time Reactive System)的开 发环境 STATEMATE。
2018/1/2
15
结构化分析方法功能建模的步骤 商店业务处理系统
2018/1/2
16
这个数据流图只是一个高层的系统逻辑 模型,它反映了目标系统要实现的功能
数据流图绘制步骤
首先确定系统的输入和输出
根据商店业务,画出顶层数据流图, 以反映最主要业务处理流程
2018/1/2
17
经过分析,商店业务处理的主要功 能应当有销售、采购、会计三大项。 主要数据流输入的源点和输出终点 是顾客和供应商。 然后从输入端开始,根据商店业务 工作流程,画出数据流流经的各加 工框,逐步画到输出端,得到第一 层数据流图
2018/1/2 9
5.1数据流图与数据字典
数据流图标记
2018/1/2
10
数据流与数据加工之间的关系
2018/1/2
11
分层的数据流图
2018/1/2 12
在多层数据流图中,顶层流图仅包含一 个加工,它代表被开发系统。它的输入 流是该系统的输入数据,输出流是系统 所输出数据 底层流图是指其加工不需再做分解的数 据流图,它处在最底层 中间层流图则表示对其上层父图的细化。 它的每一加工可能继续细化,形成子图。
第五章 面向数据流的分析方法
5.1 数据流图与数据字典
基于计算机的信息处理系统由数据流和一系列 的加工构成,这些加工将输入数据流加工为输 出数据流 数据流图描述数据流和加工 数据流图用图形符号表示数据流、加工、数据 源及外部实体 数据流图具有层次结构,支持问题分解、逐步 求精的分析方法 它是数据驱动的数据流图既可以表示基于计算 机的系统,也可以表示软件
22
2018/1/2
在数据流图中,需按层给加工框编号。 编号表明该加工所处层次及上下层的 亲子关系 规定任何一个数据流子图必须与它上 一层的一个加工对应,两者的输入数 据流和输出数据流必须一致。此即父 图与子图的平衡 可以在数据流图中加入物质流,帮助 用户理解数据流图
2018/1/2 23
需求建模
需求建模方法
结构化分析方法 面向数据流的分析方法 面向数据的分析方法 面向对象的分析方法
2018/1/2
1
需求建模
需求建模方法的组成
一组语言机制 供需求分析人员表达用户需求、构造软件模型。 规则和经验 指导分析人员提取需求并使用户需求精确化、全 面化、一致化。
2018/1/2
2
结构化分析方法