第5章结构化分析方法
软件项目管理案例教程(第三版)课后习题答案整理(最终版)(1)

项目管理案例教程(第三版)习题及答案第一章软件项目管理概述一、填空题1、实现项目目标的制约因素有(项目范围)、(成本)、(进度计划)、(客户满意度)等。
2、项目管理包括(启动过程组)、(计划过程组)、(执行过程组)、(控制过程组)、(收尾过程组)5个过程组。
二、判断题1、搬家属于项目。
(对)2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。
(错)3、过程管理就是对过程进行管理,目的是要让过程能够被共享、复用,并得到持续的改进。
(对)4、项目具有临时性的特征.(对)5、日常运作存在大量的变更管理,而项目基本保持连贯性的。
(错)6、项目开发过程中可以无限制地使用资源.(错)三、选择题1、下列选项中不是项目与日常运作的区别的是(C)A. 项目是以目标为导向的,日常运作是通过效率和有效性体现的。
B. 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理。
C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识。
D.项目是一次性的,日常运作是重复性的.v2、下列选项中最能体现项目的特征(C)A.运用进度计划技巧B.整合范围与成本C.确定期限D.利用网络进行跟踪3、以下都是日常运作和项目的共同之处,除了(D)A.由人来做B.受限于有限的资源C.需要规划、执行和控制D.都是重复性工作4、项目经理的职责不包括(D)A.开发计划B.组织实施 C.项目控制 D.提供资金5、下列选项中属于项目的是(C)A.上课B。
社区保安C.野餐活动D。
每天的卫生保洁6、下列选项中正确的是(C)A.一个项目具有明确的目标而且周期不限 B.一个项目一旦确定就不会发生变更C.每个项目都有自己的独特性D.项目都是一次性的并由项目经理独自完成7、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。
A.过程B.项目C。
项目群D。
组合8、(B)是一系列伴随着项目的进行而进行,目的是确保项目能够达到期望结果的一系列管理行为。
软件工程第五章课后题

一、选择题
1.软件管理中,需要对软件进行配置,各阶段文档的管理属于()。
D
A.组织管理
B资源管理
C.计划管理
D.版本管理
2.软件开发的结构化方法中,常用数据字典技术,其中数据加工是
其组成内容之一,下述方法()是常采用编写加工说明的方法。
Ⅰ结构化语言Ⅱ判定树Ⅲ判定表
A.Ⅰ
B.Ⅱ
C.Ⅱ、Ⅲ
D.都是
3.在软件工程实施中,产生软件生命周期的概念是由()。
A.方法论所决定的
B.开发技术划分
C.软件开发规律
D.软件工程管理
二、填空题
1.软件计划包括和两个阶段。
2.软件概要设计的成果是。
3.软件的详细设计,也称模块设计。
它要求设计人员为每一个程序模块确定所使用的,,、输出数据等。
4.结构化分析方法是进行分析的方法。
三、解答题
1.什么是软件的可维护性?可维护性的度量的特性是什么?
2.提高可维护性的方法有哪些?
答案:
一、1.D 2.D 3.A
二、
1.总体设计(或概要设计)详细设计
2.软件设计说明书
3.算法数据结构接口细节和输入
4. 面向数据流
三、
1.软件的可维护性:软件能够被理解、校正、适应及增强功能的容易程度。
可维护性的度量的特性是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
2.(1)建立明确的软件质量目标。
(2)利用先进的软件开发技术和工具。
(3)建立明确的质量保证工作。
(4)选择可维护的程序设计语言。
(5)改进程序文档。
大学计算机基础第5章

时期 阶段
任务
文档
需求分析 系统的目标及应完成的工作 需求规格说明书
开发
总体设计 软件设计
详细设计 软件编码 编写程序代码
总体设计说明书 详细设计说明书 程序、数据注释
黑盒测试、白盒测试、单元 测试后的软件、
软件测试 测试、集成测试、确认测试、大纲、方案与结
系统测试
果
运行 软件维护 运行和维护
维护后的软件
1)软件生命周期模型:是描述软件开发过程 中各种活动如何执行的模型。 2)常见的软件生命周期模型有:瀑布模型、 增量模型、螺旋模型、喷泉模型、变换模型及 基于知识的模型等。
上图是软件生存周期的瀑布模型。
5、软件工具与软件开发环境
软件工具:就是帮助开发软件的软件。 软件开发环境(或称软件工程环境):是全面支 持软件开发全过程的软件工具的集合,这些软 件工具按照一定的方法和模式组合起来,共同 支持软件生命周期内的各个阶段和各项任务的 完成。
结构化方法的软件开发过程
软件计划后 结构化分析
结构化设计
编码并测试 结构化程序设计
面向对象方法的软件开发过程
软件计划后 面向对象分析
面向对象设计
软件测试 面向对象编程
1、结构化分析方法
1)结构化分析(简称SA)方法是面向数据流 进行需求分析的方法。该方法使用简单易读 的符号,运用抽象的概念模型,根据软件内 部数据传递、变换的关系,自顶向下逐层分 解,描绘出满足功能要求的软件模型
DFD图的数据流可分为两种类型:变换流和事务流 变换流:信息沿着输入通路进入系统,同时将信息的外
部形式转换成内部形式,通过变换中心处理之 后,再沿着输出通路转换成外部形式输出 事务流:信息沿着输入通路到达一个事务中心,事务中 心根据输入信息的类型在若干个动作序列中选 择一个来执行,这种信息流称为事务流
第五章结构化分析与建模

结构化分析模型
系统模型从以下不同的角度表述系统:
从外部来看,它是对系统分析上下文或系统环境建模; 从行为上看,它是对系统行为建模; 从结构上看,它是对系统的体系结构和系统处理的数 据结构建模。
系统行为模型:
结构化的需求分析模型有:
数据流模型,用来描述系统中的数据处理过程。 状态转换模型,用来描述系统如何对事件做出响应。
数据流图举例
假设我们要开发一个学生管理系统。 其中开发小组通过进行进一步的需求调查,明 确了该系统的主要功能是进行学籍管理,包括 学生报到、入学、毕业的管理,学生上课情况 的管理。 通过详细的信息流程分析和数据收集后,生成 了该子系统的数据流图。
将0层 DFD中的加工“1.0报到”分解成1层DFD中的3个子 加工:“ 1.1 核对录取通知书”、“ 1.2 核对体检结果”和 “1.3同意入学”。保留0顶层DFD加工边界中的7个数据流。 随着加工的分解,新增两个数据流“已核对的录取通知书” 和“已核对的体检结果”。
数据流图举例:飞机机票预订系统:旅行社把预订机票的旅客信 息输入机票预订系统。系统为旅客安排航班,打印出取票通知单 (附应交的帐款)。旅客在飞机起飞的前一天凭取票通知等交款 取票,系统检验无误,输出机票给旅客。
旅行社
订票单 分类并检查
有效订票单 订票
航班 取票单 有效取 票单 记账文件 机票准备 账单 记账 取票通知单 航班目录
旅客
机票
机票文件
旅行社
数据流图举例(分层)
设一个工厂采购部每天需要一张定货报表。定货 的零件数据有:零件编号、名称、数量、价格、 供应者等。零件的入库、出库事务通过计算机终 端输入给定货系统。当某零件的库存数少于给定 的库存量临界值时,就应该再次定货。 数据流分析:
软件工程概述-第5章 结构化需求分析

实体 属性 联系
用矩形表示,矩形内写 明实体名
用椭圆形表示,并用无 向边将其与对应实体连 接起来
用菱形表示,并用无向 边分别与有关实体连接 起来,同时在无向边旁 标上联系的类型。
E-R 图表示图示 例 2-1 中的例子
练习
例:简单的学生选课系统:
(1)学生 属性有学号,姓名, 性别,年龄,所在系
x
1.1
1.2
1.3
1
3
2
2.1 2.3
2.2
1.1 1.3
目录
1
5.1结构化分析
2
5.2数据流图
3
5.3数据字典
4
5.4 实体关系图
5
5.5 状态转换图
数据流图
数据流图(Data Flow Diagram,DFD)是描述系统中数据 流程的图形工具,它描述了将系统的逻辑输入转换为逻辑输出 所需的加工处理过程。
(2)课程 属性有课程号,课程 名称,先修课程号,学分
实体之间的联系:
一个学生可同时选修多门 课程,而一门课程可以同时被 若干学生选修。用成绩来表示 某个学生学习某门课程的成绩 。
分解:对于一个复杂的系统,为了将复杂性降 低到可以掌握的程度,可以把大问题分解成若 干小问题,然后分别解决。
抽象:分解可以分层进行,即先考虑问题最本 质的属性,暂把细节略去,以后再逐层添加细 节,直至涉及到最详细的内容,这种用最本质 的属性表示一个系统的方法就是“抽象”
结构化分析
结构化分析方法基本思想 “分解”和“抽象”
取值范围:数据项的取值范围,例如,职工年龄 的取值范围定义为18至60岁,表示为18..60。
初始值:数据项的初始值,例如,为了操作简便, 软件定义借书日期的初始值默认为系统的当前日 期。
软件工程实用教程(2版)-第2、3、4、5章-习题与参考答案(人民邮电大学出版社 郭宁主编)

《软件工程实用教程》第2、3、4、5章习题与参考答案第2章软件生存周期及开发模型1.简述什么是软件生存周期?根据国家标准《计算机软件开发规范》,软件生存周期主要包括哪几个阶段?答案要点:软件生存周期是指软件产品从功能确定、设计、开发成功、投入使用,并在使用中不断修改、完善,直至被新的软件所替代,而停止该软件使用的全过程。
国家标准GB8566-1988《计算机软件开发规范》将软件生命周期划分为几个阶段:可行性研究、项目计划、需求分析、总体设计、详细设计、编码实现(包括单元测试)、集成测试、确认测试、系统运行和维护。
这几个阶段又可以归纳为3个大的阶段,即软件定义阶段,软件开发阶段和软件运行维护阶段。
2.瀑布模型有哪些特点?对于里程碑,你有哪些认识?答案要点:瀑布模型是一种基于里程碑的阶段过程模型,它所提供的里程碑式的工作流程,为软件项目按规程管理提供了便利。
例如,按阶段制定项目计划,分阶段进行成本核算,进行阶段性的评审等。
这为提高软件产品质量提供了有效保证。
瀑布模型的特点:•阶段性:前一阶段工作完成以后,后一阶段工作才能开始,前一阶段的输出文档是后一阶段的输入文档。
•阶段评审:在每一阶段工作完成后都要进行评审,以便尽早发现问题,避免后期的返工,如果评审不合格,则不开始下一阶段的工作。
•文档管理:在每阶段都规定了要完成的文档,没有完成文档,就认为没有完成该阶段的任务。
3.试说明原型模型的两种实现方案各有什么特点?各适用于什么情况?答案要点:原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求分析上的模糊认识。
将模拟的手段引入需求分析的初期阶段,通过建立原型缩短用户与分析人员之间的距离。
快速原型方法具有以下一些特点。
•快速原型是用来获取用户需求的,或是用来试探某种设计是否有效。
一旦需求或设计确定下来,原型就将被抛弃。
因此快速原型要求快速构建、容易修改,以节约原型创建成本,加速开发速度。
快速原型往往采用软件生成工具来创建,例如,4GL语言。
面向数据流的分析方法
⾯向数据流的分析⽅法外部实体位于软件系统边界之外的信息⽣产者或消费者转换变换数据流的处理过程,⼜称泡(bubble )为⼀个或多个转换提供数据源或数据存储服务的缓冲区、⽂件或数据库数据存储在转换之间定向流动的数据项或数据项集合第5章⾯向数据流的分析⽅法⾯向数据流的分析⽅法(dataflow-oriented analysis method )与⾯向对象、⾯向数据的分析⽅法,都是需求建模⽅法。
它们均有⼀组规范的语⾔表达机制,需求分析⼈员⽤来表达⽤户需求、构造软件系统模型。
此外,它们还含有⼀些规则和经验知识,指导分析⼈员提取需求信息,促进⽤户需求精确化、完全化和⼀致化。
⾯向数据流的分析⽅法是结构化分析⽅法系列中的⼀⽀,具有明显的结构化特征。
结构化分析⽅法的雏形出现于20世纪60年代后期。
但是,直到1979年才由DeMarco 将其作为⼀种需求分析⽅法正式提出。
由此,结构化分析⽅法得到了迅速发展和⼴泛应⽤。
本章主要介绍⼴为使⽤的⾯向数据流的分析⽅法及其需求分析CASE ⼯具。
5.1 数据流图与数据字典⼀个基于计算机的信息处理系统就是对数据流进⾏⼀系列加⼯的处理过程,⽽这些加⼯将输⼊数据流变换为输出数据流。
数据流图就是⽤来刻画数据流和加⼯的信息系统建模技术。
数据字典是与数据流图配套使⽤的,⽤来定义系统中数据元素的有机集合体。
5.1.1 数据流图数据流图(Data Flow Diagram ,DFD )描述输⼊数据流到输出数据流的转换(即加⼯),⽤于对系统的功能建模。
1.数据流图的基本图形元素数据流图中的基本图形元素包括:数据流、转换、数据存储以及外部实体,如图5-1所⽰。
数据流、转换、数据存储⽤于构建软件系统内部的数据处理模型;外部实体表⽰存在于系统边界之外的对象,⽤来帮助我们理解软件系统数据的来源和去向。
图5-1 数据流图的基本图形元素需要说明的是,DFD 图形元素还可以⽤其他描述符号来表⽰,如⽤圆⾓矩形表⽰转换,⽤开放箭头表⽰数据流等。
王芳-数字档案馆学-第五章 数字档案馆系统的分析与设计
第一节信息系统开发方法介绍
一、结构化生命周期法 (二)结构化分析与结构化设计 3、结构化设计的概念
结构化设计的核心是模块分解设计。结构化设计 运用一套标准的设计准则和工具,对系统控制层 次关系和模块进行分解。模块化显著提高了系统 的可修改性和可维护性,同时,为系统设计工作 的有效组织和控制提供了方便条件。结构化设计 最重要的概念包括模块化、内聚与耦合
第一节信息系统开发方法介绍
一、结构化生命周期法 (二)结构化分析与结构化设计 2、结构化设计 结构化设计是软件生命周期的重要组成部分, 是指把通过数据、功能和行为模型展示的软件 需求传送给设计阶段,由设计阶段产生体系结 构设计、接口设计、数据设计和过程设计
第一节信息系统开发方法介绍
一、结构化生命周期法 (二)结构化分析与结构化设计 2、结构化设计
第一节信息系统开发方法介绍
二、原型法
原型法的主要优点表现为:原型法的开发过程是 一个循环往复的反馈过程,符合用户对计算 机 应用的认识逐步发展、螺旋式上升的规律。 原 型法很具体,使用户能很快接触和使用系统,容 易为不熟悉计算机应用的用户所接受,可提 高 用户参与系统开发的积极性。
第一节信息系统开发方法介绍
第五章数字档案馆系统的分析与设计
本章要点
介绍了信息系统开发的一般方法,包括结构化 生命周期法、原型法、面向对象的开发方法以 及计算机辅助设计工程CASE;分析了档案信息 系统的规划方法和可行性研究;最后阐述了档 案信息系统设计的步骤和方法
关键词
档案信息系统 结构化生命周期法 原型法
面向对象的开发方法
第一节信息系统开发方法介绍
一、结构化生命周期法 (二)结构化分析与结构化设计 1、结构化分析 结构化分析方法适合于数据处理类型软件的需求 分析。由于利用图形表达需求显得清晰、简 明 ,易于学习和掌握。具体来说,结构化分析 方 法就是用抽象模型的概念,按照软件内部数 据 传递、变换的关系,自顶向下逐层分解,直 到 找到满足功能要求的所有可实现的软件为止。
软件工程第五章结构化设计
服务注册中心
发现
注册
服务消费者 调用
服务提供者
并发系统的集中式控制模型
传感器进程 用户界面Fra bibliotek传动装置进程 系统控制器
计算进程 故障处理器
系统控制模型
事件驱动系统
广播模型:发生的事件广播到所有子系统,任何能处理 该事件的子系统都会响应。该模型适用于基于网络的分 布式系统。
广播模型中的子系统注册其感兴趣的特别事件 广播模型的优点是进化比较简单
软件模块化设计
模块是一个独立命名的,拥有明确定义的输入、输出 和特性的程序实体。
软件的模块化设计(Modular Design)。系统是有 一个个模块组装而成。
软件模块化设计优点
可以简化软件的设计和实现 提高软件的可理解性和可测试性 软件更容易得到维护。
软件模块化设计缺点
结构化设计阶段 数据流设计方法 面向数据的设计 结构化程序设计 案例分析
结构化设计概述
结构化设计方法(Structured Design, SD)是基于模 块化、自顶向下细化、结构化程序设计等程序设计技 术基础上发展起来的。
结构化设计方法用模块结构图来表达程序模块之间的 关系。
缺点是子系统都知道是否和什么时候处理事件,这可能会引 起冲突。
中断驱动模型:由中断处理器对来自外部的中断进行检 测,然后在其他组件中处理这些中断。该模型适用于对 定时有严格要求的实时系统。
只用在硬件实时系统中,要求对一些事件能做出及时响应
总线架构
像水管一样随意接入 像PCI总线一样即插即用
第三部分软件设计与建模
结构化软件设计
阳王东
回答问题
什么是软件设计?有哪些阶段和任务? 什么是模块化设计?有哪些原理? 什么是软件结构和体系结构?二者有什么区别? 数据流有哪些类型?如何区分? 数据流映射的步骤是什么? 什么是结构化程序设计?有哪些工具? 什么是JSD方法?具体步骤是什么?
第五章 数据库设计
运动会方面,实体集包括:运动员(编号,姓名,性别,队 伍号),比赛项目(项目名,比赛场地)。其中,一个比赛项 目可供多名运动员参加,一名运动员可参加多个项目。
根据上述条件,分别设计运动队和运动会两个局部E-R图。
第三节 概念结构设计 参赛项目 性别 队伍号 队伍名 教练名 运动员 性别 队伍号 运动员 m 参加 n n 属于
第三节 概念结构设计 分解变换。如果实体集的属性较多,可以进行分解。例如, 对于员工实体集,其属性为员工号、姓名、性别、生日、(所 属)支行名、岗位、工资、奖金。 性别 生日 支行名 岗位 工资 奖金
姓名 员工号 员工
第三节 概念结构设计 可以把员工信息分解为两部分,一部分属于固定信息,一部 分属于变动信息。为了区别这两部分信息,产生一个新的实体 和一个新的联系。
在视图合并阶段,设计者把所有视图有机地合并成统一的概 念模型,这个最终的概念模型支持所有的应用。
第三节 概念结构设计 概念结构设计的策略主要分为自顶向下、自底向上、自内向 外和混合策略四种。 这些方法中最常用的是自底向上方法:首先设计局部概念模 式,然后综合局部概念模式成全局概念模式,最后对全局概念 模式进行评估和优化。
P2 P1 D2明细 D3账目 E2会 E1客 D1付款 打印账目 账务处理 单 户 计
第二节 需求分析 元数据是描述数据的数据,通常由数据结构的描述组成,主 要描述数据及其使用环境,例如数据精度、来源、产生时间、 使用范围、注解等。 数据字典是一种用户可以访问的、记录数据库和应用程序元 数据的集合,通常是用来解释数据表、数据字段等数据结构的 意义,数据字段的取值范围、数据值代表的意义等。 简而言之,数据字典是描述数据的信息集合,是系统中所有 数据的定义集合。
数据字典通常由数据项、数据结构、数据流、数据存储和处 理过程组成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考生通知单
由于“正式成绩清单”中缺少“考生通知单”中的姓 名、通信地址等数据,这些数据也无法由加工2.3自己产 生,因此,加工2.3不满足数据守恒的条件
分解原则
• 分解应自然,概念上要合理、清晰。
• 上层可分解得快些,而下层应分解得慢些。 • 在不影响可读性的前提下,应适当多分解成几部分,以减少分解层数。
功能需求
◦ 1.对考生送来的报名单进行检查 ◦ 2.对合格的报名单编好准考证号后将准考证送给考生, 并将汇总后的考生名单送给阅卷站 ◦ 3.对阅卷站送来的成绩清单进行检查,并根据考试中心 制订的合格标准审定合格者 ◦ 4.制作考生通知单送给考生 ◦ 5.进行成绩分类统计(按地区、年龄、文化程度、职业、 考试级别等分类)和试题难度分析,产生统计分析表
数据流图的画法
5.1 结构化分析方法概述
5.2 数据流图
5.3 数据字典 5.4 加工逻辑说明 5.5 实例:供销管理系统的需求
发展历史
◦ 提出:20世纪60年代末到70年代初 ◦ 成熟:20世纪70年代末到80年代中期
一种面向数据流的传统软件开发方法 以数据流为中心、构建软件的分析模型和设计模型
结构化系统软件开发方法主要包括
◦ 结构化分析(Structured Analysis,SA) ◦ 结构化设计(Structured Design,SD)
◦ 结构化程序设计(Structured Programming)
核心思想:抽象与分解 (控制复杂性的两个基本手 段)
◦ 抽象:在每个抽象层次上忽略问题的内部复杂性,只关注 整个问题与外界的联系 ◦ 分解:将问题不断分解为较小的问题,直到每个最底层的 问题都足够简单为止
部分数据流的组成
◦ 报名单:地区+序号+姓名+文化程度+职业+考试级别+通信地 址
◦ 正式报名单:准考证号+报名单
◦ 准考证:地区+序号+姓名+准考证号+考试级别+考场 ◦ 考生名单:{准考证号+考试级别} 其中{w}表示w重复多次 ◦ 考生名册:正式报名单 ◦ 统计分析表:分类统计表+难度分析表 ◦ 考生通知单:准考证号+姓名+通信地址+考试级别+考试成绩+ 合格标志
核心思想:抽象与分解
◦ 抽象:从作为整体的软件系统开始(第一层),每一抽象层次 上只关注于系统的输入输出 ◦ 分解:将系统不断分解为子系统、模块……
X
3
4
1
2
随着分解层次的增 加,抽象的级别越 来越低,也越接近 问题的解(算法和数 据结构)
2.2 2.4
1.1
2.1
1.2
1.3
2.3
基本特征 :“数据流图”
注意:
新文件(首次出现的文件)至少应有一个加工为其写入记录,同 时至少存在另一个加工来读该文件的记录
从父图中继承下来的文件在子图中可能只对其进行读,或只 进行写
0层图
◦ 确定源和宿
0层图和其它子图中通常不必画出源和宿 有时为了提高可读性,可以将顶层图中的源和宿画在0层图中
不合格报名单 考生通知单
注意
当数据处理可用一页纸明确表述时,或数据处理只有单一输入/输出数 据流时(出错处理不包括在内),就应停止对该数据处理的分解。 对数据流图中不再做分解的数据处理(即功能单元),必须做出详细的数 据处理说明,并且每个数据处理说明的编号必须与功能单元的编号一致。
分成多个级别,如初级程序员、程序员、高级程序 员、系统分析员等,凡满足一定条件的考生都可参 加某一级别的考试 考试的合格标准将根据每年的考试成绩由考试中心 确定 考试的阅卷由阅卷站进行,因此,阅卷工作不包含 在软件系统中
顶层图
◦ 确定源或宿:考生、阅卷站和考试中心
它们都既是源又是宿
◦ 顶层图唯一的加工:软件系统(考务处理系统) ◦ 确定数据流:系统的输入/输出信息
输入数据流:报名单(来自考生)、成绩清单(来自阅卷站)、合 格标准(来自考试中心) 输出数据流:准考证(送往考生)、考生名单(送往阅卷站)、考 生通知书(送往考生)、统计分析表(送往考试中心)
需求分析是承上启下(衔接可行性分析与系统设计)的重要活动 在项目需求阶段发现并修复错误所花费的成本与维护阶段发现并修复 错误的成本比例可能达:1:200
需求工程是建立并使用完善的工程化方法,以较经济的手段获得准确 表达用户需求的软件需求规格说明的一个学科
需求工程的主要关注点:需求开发和需求管理 需求开发的四步:需求获取、需求建模与分析、需求文档化、需求评 审 需求管理主要包括:需求变更控制、需求版本控制、需求跟踪、需求 状态跟踪
同一个源或加工可以有多个数据流流向一个加工,如果它们不是 一起到达和一起加工的,那么可以将它们分成若干个数据流,例 如:
读取 银行卡信息 银行卡数据 密码
客户
0层图
◦ 确定文件
如果父图中该加工存在读写文件的数据流,则相应的文件和 数据流都应画在子图中 在分解子图中,如果需要保存某些中间数据以备后用,则可 以将这些数据组成一个新的文件
描述一个加工的多个数据流之间的关系
◦ 星号(*):表示数据流之间存在“与”关系
所有输入数据流同时存在时,才能进行加工处理 或加工处理的结果是同时产生所有输出数据流
◦ 加号(+):表示数据流之间存在“或”关系
至少存在一个输入数据流时才能进行加工处理 或加工处理的结果是至少产生一个输出数据流
◦ 异或(⊕):表示数据流之间存在“异或”(互斥)关系
必须存在且仅存在一个输入数据流时,才能进行加工处理 或加工处理的结果是产生且仅产生一个输出数据流
不可能将全部的加工和数据流放在一张图中,需要 按照问题的层次结构逐步进行分解,从简单到复杂 ,以分层的数据流图反映出这种关系。
体现了抽象和信息隐藏 分层DFD 图包括顶层DFD、中间层DFD 和底层 DFD
•子图的父图号就是父图中相应数据处 4)尽量简化加工间的联系
数据不守恒的实例
成绩清单 2.1 检查 成绩清单 2.5 分析 试题难度 难度分析表
错误成绩清单 正 确 成 绩 清 单 试题得分清单 2.4 分类 统计成绩 分类统计表
考生名册 正式成绩清单 2.3 制作 通知单
合格标准
2.2 审定 合格者
输入数据流
转换
输出数据流
数据流用带有数据流标识的箭头表示,表示系统处理的数 加工也称为数据处理或数据变换,是对数据进行处理的逻辑单元。 外部实体:数据源或终点 据对象和数据流动的方向。 动词短语:打印发票、计算总金额、验证订货单
数据流的方向可以是:
◦ 从一个加工流向另一个加工; ◦ 从加工流向数据存储(写)或数据存储流向加工(读); ◦ 从源点流向加工或从加工流向终点。
对数据流的表示有以下约定:
◦ 数据流至少有一个端点必须与数据处理符号连接。 ◦ 对流入或流出数据存储的数据流可以不标注名字。 ◦ 数据流不允许同名。 ◦ 两个数据处理之间可以有几股不同的数据流。 ◦ 数据流图描述的是数据流而不是控制流。
数据存储在数据流图中起保存数据的作用。 数据存储是计算机系统中的外部或者内部文件、文件的一 部分、数据库的元素或记录的一部分等,还可以是一个人 工系统中的表册、账单等。分层数据流图中,通常是局部 于某一分解层次的。数据存储可用名词或名词短语命名
1) 父图与子图平衡 2)局部数据存储 •子图中的编号为父图号和子数据处理
分解应自然,概念上要合理、清晰。 3)合理的编号 的编号组成。
• 上层可分解得快些(即分解成的子数据处理 个数多些),这是因为上层是综合性描述, 理的编号。 5)分解的程度 对可读性的影响小。而下层应分解得慢些。 • 在不影响可读性的前提下,应适当多分解 成几部分,以减少分解层数。
神奇的数字7加减2:人们在一段时间内的短期记忆 似乎限制在5~9件事情之内
--------George Miller
根据自顶向下逐层分解的思想将数据流图画成层次 结构
每个层次画在独立的数据流图中,加工个数可大致 控制在“7加减2”的范围中
由外向里,自顶向下,逐层细化,完善求精
◦ 步骤一:找外部实体,确定系统边界,确定数据源点和数 据终点。 ◦ 步骤二:从数据源出发,按照系统的逻辑需要,逐步绘制 出一系列逻辑加工框,直至数据终点。 ◦ 步骤三:对数据流图进行复审求精。
第四步:为目标系统的逻辑模型作补充
数据流图(Data Flow Diagram,DFD) 数据字典(Data Dictionary,DD)
结构化语言、判定表和判定树。
实体—关系图 、状态转换图。
数据字典:核心,包含了软件使用和产生所有 数据的描述 数据流图:功能建模,描述系统的输入数据流 如何经过一系列的加工变换逐步变换成系统的 输出数据流
额外的输出流(考虑系统的健壮性):不合格报名单(返回给考 生),错误成绩清单(返回给阅卷站)
◦ 顶层图通常没有文件
顶层图
不合格报名单 统计分析表 考务 处理系 统 考 生 名 单 成 绩 清 单 错 误 成 绩 清 单
考生
报名单
准考证 考生通知单
考试中心ቤተ መጻሕፍቲ ባይዱ
合格标准
阅卷站
0层图
◦ 确定加工:将父图中某加工分解成子加工 ◦ 根据功能分解来确定加工:将一个复杂的功能分解成若干 个较小的功能,较多应用于高层DFD中的分解 ◦ 根据业务处理流程确定加工:分析父图中待分解加工的业 务处理流程,业务流程中的每一步都可能是一个子加工 ◦ 特别注意:在业务流程中数据流发生变化或数据流的值发 生变化的地方,应该存在一个加工,例如: