DFD图转化为变换型与事务型SC图
传统的设计方法
变换 中心
传入流
传出流
变换流
传入
传出 时间
系统由传入路径、变换中心和传出路径组成,对应的数据流 为:传入流、变换流和传出流。当数据流在系统中流动时, 除主要逻辑加工在变换中心完成外,在传入路径和传出路径 上都有可能对数据进行加工。
事务型结构的DFD
接受路径 事务中心 动作路径
系统由接受路径、事务中心和若干条动作路径组成。这类系 统的工作特征是,当外部信息沿接受路径进入系统后,由事 务中心处理获得某一特定值,根据此值确定启动某一动作路 径。在数据处理系统中,该事务型结构经常遇到。
SC图中的模块调用
简单调用
选择调用 A B C A D
循环调用 B
C
数据流图的类型与SD方法
DFD图的类型
变换型结构 事务型结构
从DFD图到SC图的映射步骤
复审DFD图,必要时可再次进行修改或细化 鉴别DFD图的结构特征:事务?变换? 按照规则,把DFD图映射为初始的SC图 改进初始的SC图
变换型结构的DFD
过程设计工具- PDL
PDL (Program Design Language)是一种 用于描述功能模块的算法设计和加工细 节的语言。称为设计程序用语言。它是 一种伪码。 伪码的语法规则分为“外语法”和“内 语法”。 PDL具有严格的关键字外语法,用于定义 控制结构和数据结构,同时它的表示实 际操作和条件的内语法可使用自然语言 的词汇。
编外人员 工 资
税收 扣款
编外人员 税 收
常规 扣款
编外人员 扣 款
例子:扇出
计 算 实发工资
塔型结构
取 得 工资数据
计时工人 实发工资
计薪工人 实发工资
DFD图转化为变换型与事务型SC图
数据流图(DFD)变换型与事务型转化为初始软件布局图解析在体系解析阶段,我们采取布局化解析办法获得了由数据流图、数据字典和加工申明等构成的体系的逻辑模型。
如今,可按照一些规矩从数据流图导出体系初始的模块布局图。
经管信息体系的数据流图凡是也可分为两种典范的布局,即变换型布局和事务型布局。
变换型布局的数据流图呈一种线性状况,见图6-4-4所示,它所描述的工作可默示为输入、主处理惩罚及输出。
事务型布局的数据流图则呈束状,见图6-4-5所示,即一束数据流平行流人或流出,可能同时有几个事务请求处理惩罚。
图6-4-4 变换型布局的数据流图图6-4-5 事务型布局的数据流图这两种典范的布局分别可经由过程“变换解析”和“事务解析”技巧,导出“变换型”和“事务型”初始的模块布局图。
这两种办法的思惟是起首设计顶层模块,然后自顶向下,慢慢细化,最后获得一个满够数据流图所默示的用户请求的体系的模块布局图,即体系的物理模型。
初始布局图的技巧1.从变换型数据流图导出初始布局图的办法因为变换型布局由输入、主处理惩罚和输出三项目组构成,所以从变换型布局的数据流图导出变换型模块布局图,可分三步进行。
(1)找出体系的主加工为了处理惩罚便利,先不推敲数据流图中的一些支流,如失足处理惩罚等。
凡是在数据流图中多股数据流的汇合处往往是体系的主加工。
若没有明显的汇合处,则可先断定哪些数据流是逻辑输入和逻辑输出,从而获得主加工。
从物理输入端一步步向体系中心移动,直至达到如许一个数据流,它再不克不及被作为体系的输入,则其前一个数据流就是体系的逻辑输入,即离物理输入端最远的,但仍可视为是体系输入的那个数据流就是逻辑输入。
用类似办法,从物理输出端一步步向体系中心移动,则离物理输出端最远的,但仍可视为体系输出的那个数据流就是逻辑输出。
结构化设计
⑷.按照设计改进原则细化和改进初始的SC图,获得最 终SC图。
⑸.给出模块接口描述。例如,进出模块的参数表,外
界输入输出以及从全程数据(区)得到的信息项等, 此外还要注明它的调用模块和被调用模块。
⑹.复审,如有错误,转⑵修改完善,否则进入详细 设计。
2 SD方法设计步骤
“事务”
区分事务中心和数据接 受通路
(2) 盒图(N—S图)
盒图是为了满足结构化需要,特别 是取消了程序流程图随意跳转规则后而 提出的。
软件工程
5种控制结构N—S图的符号
(2) 盒图(N—S图)
与程序流程图相比较,盒图具有如下明显的优点: l 在盒图中不能任意转移控制。 l 特定控制逻辑的作用范围明确,可以从盒图上一目了然。 l 很容易确定局部和全程数据的作用域。 l 很容易表现嵌套关系,也容易表示模块的层次结构。 l 所有的程序结构均用方框表示。因此程序的结构非常清晰。 l 程序只有一个入口、一个出口,完全能够满足单人口单出口的结 构化程序设计要求。 l 盒图形象直观,具有良好的可视性。循环的范围、条件语句的控 制范围等都是一目了然的。 l 盒图简单,易学易用。 主要缺点是: 当程序内嵌套的层数增多时,内层方框会越来越小,一方 面会增加画图难度,另一方面会影响图形的清晰度。
PDL的缺点:不如图形描述形象直观,很容易使人陷入 程序的具体细节中去,因此人们常常将PDL描述与具体的 图形描述结合起来使用。
软件工程
(5) 判定表
在进行软件设计时如遇到复杂的条件选择,有 必要使用一种描述机制来清晰地表示复杂的条件 组合与动作间的对应关系,判定表就是解决这一 问题的有力工具。
一张判定表由4部分组成。左上部列出所有条 件;左下部列出所有可能做的工作;右上部每一 列表示出各种条件的一种可能组合,填入“T” 表示条件成立,填入“F”表示条件不成立,空 白表示条件成立与否不影响。所以所有列表示条 件组合全部可能情况;右下部的每一列是和每一 种条件组合相对应的工作,填入“×”表示在该 列上部规定的条件下做该行左边列出的那项工作, 空白表示不做该项工作。
DFD图转化为变换型与事务型SC图
数据流图(DFD)变换型与事务型转化为初始软件布局图解析在体系解析阶段,我们采取布局化解析办法获得了由数据流图、数据字典和加工申明等构成的体系的逻辑模型。
如今,可按照一些规矩从数据流图导出体系初始的模块布局图。
经管信息体系的数据流图凡是也可分为两种典范的布局,即变换型布局和事务6-4-58220;&#1.从变换型数据流图导出初始布局图的办法因为变换型布局由输入、主处理惩罚和输出三项目组构成,所以从变换型布局的数据流图导出变换型模块布局图,可分三步进行。
(1)找出体系的主加工为了处理惩罚便利,先不推敲数据流图中的一些支流,如失足处理惩罚等。
凡是在数据流图中多股数据流的汇合处往往是体系的主加工。
若没有明显的汇合处,则可先断定哪些数据流是逻辑输入和逻辑输出,从而获得主加工。
从物理输入端一步步向体系中心移动,直至达到如许一个数据流,它再不克不及被作为体系的输入,则其前一个数据流就是体系的逻辑输入,即离物理输入端最&#的为每一个逻辑输出画一个输出模块,其功能是把主模块供给的数据输出。
③为主处理惩罚画一个变换模块,其功能是把逻辑输入变换成逻辑输出。
至此,布局图第一层就完成了。
在作图时应重视主模块与第一层模块之间传送的数据,要与数据流图相对应(如图5-21所示)。
(3)设计中、基层模块因为输入模块的功能是向调用它的模块供给数据,所以它自已也须要一个数据6-4-7就步调而言,该办法与变换解析办法大项目组类似,首要差别在于由数据流图到模块布局的映射体式格式不合。
进行事务解析时,凡是采取以下四步:(1)断定以事务为中间的布局,包含找出事务中间和事务起原。
以图6-4-8的典范事务型数据流布局为例进行申明。
图6-4-8事务型中间数据流图实例(2)按功能划分事务,将具备雷同功能的事务分为同一类,建树事务模块。
(3)为每个事务处理惩罚模块建树全部的操纵层模块。
其建树办法与变换解析办法类似,但事务处理惩罚模决可以共享某些操纵模块。
软件工程大作业(2)(答案)
软件工程大作业(2)(答案)软件工程作业第二部分一、填空1.结构化分析方法的分析策略是___自顶向下逐步求精_______。
2.衡量模块独立性的两个定性标准是_耦合性与内聚性________。
3.软件集成测试的方法主要有两种,它们是___渐增式与非渐增式测试_______。
4.继承性是子类自动共享其父类的__数据结构和方法____________机制。
5.在面向对象方法中,人们常用状态图描述类中对象的___动态行为________。
6.规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为____容错_____软件。
7.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_是否值得开发_。
8.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是__功能需求_。
9.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是__维护_____阶段。
10.对象之间进行通信叫做__消息_____。
11.计算机辅助软件工程这一术语的英文缩写为_CASE_______。
12.McCall提出的软件质量模型包括______11________个软件质量特性。
13.为了便于对照检查,测试用例应由输入数据和预期的___输出结果____两部分组成。
14.软件结构是以____模块__________为基础而组成的一种控制层次结构。
15.结构化语言(PDL)是介于自然语言和____形式语言____之间的一种半形式语言。
16.软件概要设计的主要任务就是__软件结构的设计______。
17.结构化程序设计方法是使用___三种基本控制结构____构造程序。
18.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个__自底向上或相反顺序 _____集成的过程。
19.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和__数据存储对象_____。
二、选择1.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法2.面向对象的开发方法中,(B)将是面向对象技术领域内占主导地位的标准建模语言。
DFD(数据流图)
1DFD(数据流图)(2006-09-02 14:46:15)转载分类:精品转载3.3 数据流图(DFD)数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
下图是一个飞机机票预订系统的数据流图,它反映的功能是:旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。
系统为旅客安排航班,打印出取票通知单(附有应交的账款)。
旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。
3.3.1 基本图形符号数据流图有四种基本图形符号::箭头,表示数据流;〇:圆或椭圆,表示加工;= :双杠,表示数据存储;□:方框,表示数据的源点或终点。
(1) 数据流。
数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。
如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。
由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
(2)加工(又称为数据处理)。
对数据流进行某些操作或变换。
每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。
在分层的数据流图中,加工还应编号。
(3)数据存储(又称为文件),指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
(4)数据源点或终点,是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。
一般只出现在数据流图的顶层图。
3.3.2画数据流图的步骤(1)首先画系统的输入输出,即先画顶层数据流图。
顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。
顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。
下图为飞机机票预订系统的顶层图。
(2)画系统内部,即画下层数据流图。
1软件设计一般分为总体设计和详细设计
选择题1.软件设计一般分为总体设计和详细设计,它们之间的关系是( )。
A.全局和局部 B.抽象和具体c.总体和层次 D.功能和结构2.软件结构使用的图形工具,一般采用( )图。
A.DFD B.PADC SC D.ER3.属于软件设计的基本原理是( )。
A.数据流分析设计 B.变换流分析设计C.事务流分析设计 D.模块化4.在软件结构的后处理中,下列说法错误的是( )。
A.为模块写的处理说明及接口说明可采用IPO图B.数据结构的描述可用Warnier图或Jackson图c. 给出设计约束或限制。
如数据的边界值、数据类型、格式、内存容量及时间的限制 D. 在概要设计评审中,应着重评审软件需求是否得到满足及软件结构的质量等E.设计的优化工作主要放在软件结构设计的后处理阶段5.在基于IDEF0图的设计方法中,下列说明错误的是( )。
A.IDEF0图以系统的功能模型和信息结构为基础设计系统的软件结构B.IDEF0图按照自顶向下逐层对系统进行分解c. IDEF0图对系统每一功能的输入、输出、约束、机制都进行了全面的描述D. 在系统概要设计时,一般按照DFD图的分解层次,逐层将其转换成软件结构图6.将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是( )的。
A.逻辑性 B.瞬时性c.功能性 D.通信性7.模块内的某成分的输出是另一成分的输入,该模块的内聚度是( )的。
A.功能性 B.顺序性C.逻辑性 D.瞬时性8.在分层数据流图映射成软件结构的设计中,下列说法错误的是( )。
A.分层的数据流图映射成软件结构图也应该是分层的B.软件结构图的物理收入与输出部分放在主图中较为合适C.分层DFD图的映射方法:主图是变换型,子图是事务型;或主图是事务型,子图是变换型D. 变换型通常用于高层数据流图的转换,而事务型通常用于较低层数据流图的转9.软件设计阶段一般又可分为( )。
A.逻辑设计与功能设计 B.概要设计与详细设计C.概念设计与物理设计 D.模型设计与程序设计10.模块中所有成分引用共同的数据,该模块的内聚度是( )的。
DFD图转换为结构图
“事务”
流类型
“变换”
区分事务中心和 数据接收通路
区分输入/处理/ 输出分支
映射成事务结构
映射成变换结构
用启发式设计过 则精化软件结构
事务分析 变换Βιβλιοθήκη 析导出接口描述和 全程数据结构
复查
详细设计
具有混合结构的DFD片段设计过程
具有变换结构的DFD片段设计过程
因为变换型结构由输入、主处理和输出三部分 组成,所以从变换型结构的数据流图导出变换型模 块结构图,可分三步进行。
具有变换结构的DFD片段设计过程
(1)找出系统的主加工 为了处理方便,先不考虑数据流图中的一些支流,如出错处理等。 逻辑输入的确定:从物理输入端一步步向系统中间移动,直至到达 这样一个数据流,它再不能被作为系统的输入,则其前一个数据流就是系 统的逻辑输入,即离物理输入端最远的,但仍可视为是系统输入的那个数 据流就是逻辑输入。 逻辑输出的确定:从物理输出端一步步向系统中间移动,则离物理 输出端最远的,但仍可视为系统输出的那个数据流就是逻辑输出。 主加工:逻辑输入和逻辑输出之间的加工就是我们要找的主加工。
具有混合结构的DFD片段设计过程
在规模较大的实际系统中,其数据流图往往是变 换型和事务型的混合结构。
具有混合结构的DFD片段设计过程
精化数据流图
此时可把变换分析和事 务分析应用在同一数据流图 的不同部分。例如,可以以 “变换分析”为主,“事务 分析”为辅进行设计。先找 出主处理,设计出结构图的 上层,然后根据数据流图各 部分的结构特点,适当选用 “变换分析”或“事务分析” 就可得出初始结构图的某个 方案。
具有变换结构的DFD片段设计过程
(3) 设计中、下层模块 因为输入模块的功能是向调用它的模块提供数据,所以它自已也需要 一个数据来源。此外,输入模块必须向调用模块提供所需的数据,因此它 应具有变换功能,能够将输入数据按模块的要求进行变换后,再提交该调 用模块。从而,我们为每个输入模块设计两个下层模块,其中一个是输入 模块,另一个是变换模块。 同理,也为每个输出模块设计两个下层模块。一个是变换模块,将调 用模块所提供的数据变换成输出的形式;另一个是输出模块,将变换后的 数据输出。 该过程由顶向下递归进行,直到系统的物理输入端或物理输出端为止。 每设计出一个新模块,应同时给它起一个能反映模块功能的名字。
【课程练习】习题解答-第四章-概要设计
第四章概要设计1.什么是软件概要设计?该阶段的基本任务是什么?软件概要设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现,即把软件需求转换为软件包表示的过程。
基本任务:(1)设计软件系统结构(简称软件结构)a.采用某种设计方法,将一个复杂的系统按功能划分成模块(划分)b.确定模块的功能。
(功能)c.确定模块之间的调用关系。
(调用)d.确定模块之间的接口,即模块之间传递的信息。
(接口)e.评价模块结构的质量。
(质量)(2)数据结构及数据库设计a.数据结构设计b.数据库设计:(概念设计、逻辑设计、物理设计)(3)编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、用户手册、修订测试计划)(4)评审2.软件设计的基本原理包括哪些内容?软件设计的基本原理:(1)模块化(四个属性:接口、功能、逻辑、状态) (2)抽象(3)信息隐蔽 (4)模块独立性(两个定性的度量标准:耦合性与内聚性)3.衡量模块独立性的两个标准是什么?它们各表示什么含义?两个定性的度量标准:耦合与内聚性耦合性:也称块间联系。
指软件系统结构中各模块间相互联系紧密程度的一种度量。
模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
内聚性:也称块内联系。
指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
模块内元素联系越紧密,内聚性越高。
4.模块间的耦合性有哪几种?它们各表示什么含义?耦合性有六种:无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合无直接耦合:两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。
(无直接关系)数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。
(数据值)标记耦合:指两个模块之间传递的是数据结构。
(数据结构)控制耦合:指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的值有选择地执行块内某一功能(控制变量)公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。
软件工程_综合题2
平时作业和2010两张卷子里的综合题作业2:类图、对象模型、用例图(1)类图(使用对象模型描述类对象所具有的属性,以及公司类对象提供的服务)依赖,聚合依赖:①《include》包含依赖:源包含目的②《extend》扩展依赖:源是目的的扩展。
聚合:共享,整体消失后部分仍然存在。
复合:部分与整体的关系,整体消失后部分也消失。
关联,复合关联、继承(泛化)关联、依赖(2)对象图书p81①对象名:类名②属性=属性值③对象间的链可以使类之间关联的实例(3)对象模型对象模型的描述工具:对象图。
0,1:表示有0个或1个。
1+:表示多个不写:表示有且仅有一个。
(4)用例图(参与者,用例,调用关系)画图步骤:(a)(b)(c)(d)作业3:Jackson系统方法(用jackson图可以表示数据结构、程序结构)参考:jackson作业试用Jackson方法编写一程序,要求能依次完成下列工作:——统计起始卡以前的卡片张数,存入A;——打印起始卡的内容;——统计起始卡以后出现的K1卡和K3卡总批数,存入B;——统计起始卡以后出现的K1卡的张数,存入C;——统计起始卡以后出现的K3卡的批数,存入D;——打印终了卡的内容;——打印A,B,C,D 4个统计值。
第一步:画出数据结构图第二步:画程序结构图(基于数据结构图画)第三步:写出程序的过程性表示(伪码)打开卡片文件;读卡片;A:=0;处理前置部分iteruntil出现K1卡;处理非K1卡seqA:=A+1读卡片;处理非K1卡end;处理前置部分end;打印起始卡;B:=0;C:=0;D:=0;读卡片;处理批部分iteruntil出现K2卡;处理批seq统计总批数; {B:=B+1}处理批类select是K1卡处理K1批iterwhile出现K1卡;处理K1卡seqC:=C+1;读卡片;处理K1卡end;处理K1批end;处理批类or是K3卡处理K3批seq;D:=D+1;处理批体iterwhile出现K3卡;读卡片;处理批体end;处理K3批end;处理批类end;处理批end;处理批部分end;打印终止卡;打印A,B,C,D;关闭卡片文件;卡片分析程序end;作业4:画出数据流图(DFD)。
软件工程综合应用例题(题)
综合应用例题第一部分传统软件开发方法1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的X围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。
请用等价类划分法设计测试用例。
2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
int GetMax(int n, int datalist[ ]){int k=0;for ( int j=1; j<n; j++ )if ( datalist[j] > datalist[k] ) k=j;return k;}画出该程序的程序流程图,并计算其McCabe复杂度。
3、有下列伪码程序:STARTINPUT (M,N)IF M>=10THEN X:=10ELSE X:=lENDIFIF N>=20THEN Y:=20ELSE Y:=2ENDIFPRINT(X,Y)STOP设计该程序的语句覆盖和路径覆盖测试用例。
4、根据伪码程序画出程序流程图,盒图(N-S图)。
STARTaIF x1 THENREPEAT UNTIL x2bEND REPEATELSEBLOCKcdEND BLOCKEND IFSTOP5、根据下列描述,画出教材征订系统的第一层数据流图。
学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。
各种资金往来通过学校的会计科办理。
6、画出下列伪码程序的程序流程图,盒图(N-S图)。
STARTIF p THENWHILE q DOFEND DOELSEBLOCKgnEND BLOCKEND IFSTOP7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe 复杂度。
WHILE P DOIF A>O THEN A1 ELSE A2 ENDIF;IF B>0 THEN B1;IF C>0 THEN C1 ELSE C2 ENDIFELSE B2ENDIF;B3ENDWHILE;8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。
DFD图的画法
DFD图的画法概念----数据流图(DFD)数据流图(date flow diagram , DFD),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
数据流图是从数据的角度来描述一个系统的,而流程图则是从对数据加工的角度来描述系统的;数据流图中的箭头是数据流,而流程图中的箭头则是控制流,它表达的是程序执行的次序;数据流图适合于宏观地分析一个组织业务概况,而程序流程图只适合于描述系统中某个加工的执行细节。
一、数据流图的基本组成成分数据流:是由一组固定成分的数据组成,表示数据的流向。
值得注意的是,数据流图中描述的是数据流,而不是控制流。
除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。
加工:加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。
每个加工都有一个名字和编号。
编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。
数据存储:数据存储表示暂时存储的数据。
每个数据存储都有一个名字。
外部实体:外部实体是存在于软件系统之外的人员或组织,他指出数据所需要的发源地或系统所产生的数据的归属地。
二、分层数据流图的设计方法1、画子系统的输入输出把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。
这张图称为顶层图。
2、画子系统的内部把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。
这张图称为0层图。
从一个加工画出一张数据流图的过程就是对加工的分解。
确定加工的方法:在数据流的组成或值发生变化的地方应该画出一个加工,这个加工的功能就是实现这一变化,也可以根据系统的功能决定加工。
软件工程——9.面向数据流的设计精品文档
传入模块 ─ 从下属模块取得数据,经过某些 处理,再将其传送给上级模块。它传送的数 据流叫做逻辑输入数据流。
传出模块 ─ 从上级模块获得数据,进行某些 处理,再将其传送给下属模块。它传送的数 据流叫做逻辑输出数据流。
9.1 SD方法的基本概念和设计过程
传入模块
从下属模块取得数据,进行某些处理,再 将其结果传给上级模块。在此,将它传送的数据 流称为逻辑输入数据流。
– 发展:SP (structured Programming) →SD→SA。[55]P107;[2]P96;[57]中册 P253~255。
9.1 SD方法的基本概念和设计过程
二、SD的基本思想
结构图SC描述一个软件系统由哪些模块组 成,以及模块之间的调用关系。
结构图SC的基本成分有:模块、调用和数
状态转换图 控制 规 格说明
过程设计 接口设计 体系结构设计 数据设计
相关概念回顾
软件设计的任务
从管理和技术两个不同角度对设计的认识
相关概念回顾
软件设计任务
工程管理观点
– 概要设计,将软件需求转化为数 据结构和软件的系统结构。
– 详细设计,即过程设计。通过对 结构表示进行细化,得到软件的 详细的数据结构和算法。
相关概念回顾
软件设计的目标和任务
Aim/Goal:
– 以SRS为依据,设计出能满足SRS中定 下的各项需求的软件实现方案,并力求 使方案达到最佳。该设计方案是后继阶 段(编码实现)的依据。
(设计方案也将为问题的软件解 solution或软件表示representation)
相关概念回顾
据。
a,d MS f
a,d f
变换型数据流图
顶层
u,w c,e u,w
MT
中心变 换模块
ME
第一层
传出模块
第一级分解后的SC(另一种画法) 第一级分解后的 (另一种画法)
MC
p
c
eeBiblioteka c,pr rP
w,u
u,w
w
ME1 ME2
MA1 MA2
Q
R
传入分 支模块
中心加工 分支模块
传出分 支模块
变换分析设计方法步骤
(3)第二级分解 分解SC各分支) SC各分支 (3)第二级分解(分解SC各分支)
自顶向下分解, 自顶向下分解,设计出每个分 支的中、 支的中、下层模块
传 入 分 支 的 分 解
(1)
c
C
b
c,e MA
e
E
d
B
a
D
A
Get C Get E c d d e b b Get B B to C Read D D to E b a a (2) Read D A to B
传 入 分 支 的 分 解
a
B
b
变换中心 C
传入 部分
c
P
r
R p Q u
w
W 传出 部分
d D
E
e
v U
V
变换分析设计方法步骤 (2)第一级分解(建立初始SC框架 框架) (2)第一级分解(建立初始 框架) 第一级分解
设计顶层和第一层模块
第一级分解的方法
MC MA MT ME
第一级分解后的SC 第一级分解后的SC
MC c,e MA
变换流示意图
信息
外部 表示
信息流
输入流 交换流 输出流
软件工程期中试卷
一、判断正误(错误的需要改正。
每个2分,共10分)1. [ ] 如果通过软件测试没有发现错误,则说明软件是正确的。
2. [ ] 软件工程学研究的内容包括软件开发技术和软件工程管理。
3. [ ] 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
4. [ ] 软件就是程序,编写软件就是编写程序。
5. [ ] Jackson方法的目的就是要编写结构良好的数据字典。
二、名词解释(每个3分,共15分)1、软件过程2、软件3、模块耦合性4、软件危机5、β测试三、简答(每个6分,共30分)1、简述从DFD图导出SC图的步骤。
2、什么是白盒测试和黑盒测试?3、传统的瀑布模型把生存周期划分为哪些阶段?瀑布模型软件开发有哪些特点?4、什么是模块化?简述模块化的优点。
5、简单描述软件需求所包含的三个层次的内容四、简单应用(共45分)1、对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1) and (z=0) then x:=x/y;if (y=2) or (x=l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。
答题要求:(1)画出流程图。
(7分)(2)用白盒法设计条件组合覆盖测试用例并写出执行路径(8分)2、假设对顾客的订货单按如下原则处理:(10分)将顾客的信用度分三个档次:欠款时间不超过30天;欠款时间超过30天但不超过100天;欠款时间超过100天。
对于上述三种情况,分别根据库存情况来决定对顾客订货的态度。
情况之一(欠款时间≤30天),如果需求数≤库存量,则立即发货,如果需求数>库存量,则只发现有库存,不足部分待进货后补发。
情况之二(30天<欠款时间≤100天),如果需求数≤库存量,则要求先付款再发货,如果需求数>库存量,则不发货。
情况之三(欠款时间>100天),则通知先付欠款,再考虑是否发货。
软件工程导论简答题
1.软件工程旳七条基本原理是什么?答:软件工程旳七条基本原理是:用分阶段旳是旳生存周期计划严格管理;坚持进行阶段评审;严格实行旳产品控制;采用现代程序技术;成果应能清晰地审查;开发小组旳组员应当少而精;承认不停改善软件工程旳必要性。
2.良好旳编码风格应具有哪些条件?答:应具有如下条件:(1)使用原则旳控制构造;(2)有限制地使用GOTO语句;(3)源程序旳文档化(应具有如下内容)①故意义旳变量名称——“匈牙利命名规则”。
②合适旳注释——“注释规范”。
③原则旳书写格式:——用分层缩进旳写法显示嵌套构造旳层次(锯齿形风格);——在注释段旳周围加上边框;——在注释段与程序段、以及不一样程序段之间插入空行;——每行只写一条语句;——书写体现式时,合适使用空格或圆括号等作隔离符。
(4)满足运行工程学旳输入输出风格。
3.简述文档在软件工程中旳作用。
答:(1) 提高软件开发过程旳能见度(2) 提高开发效率(3) 作为开发人员阶段工作成果和结束标志(4) 记录开发过程旳有关信息便于使用与维护;(5) 提供软件运行、维护和培训有关资料;(6) 便于顾客理解软件功能、性能。
4.可行性研究包括哪几方面旳内容?答:(1)经济可行性:与否有经济效益,多长时间可以收回成本;(2)技术可行性:既有技术能否实现本系统,既有技术人员能否胜任,开发系统旳资源能否满足;(3)运行可行性:系统操作在顾客内部行得通吗?(4)法律可行性:新系统开发与否会侵犯他人、集体或国家利益,与否违反国家法律。
5.构造化旳需求分析描述工具有哪些?答:有数据流图(DFD)、数据字典(DD)、鉴定表、鉴定树、构造化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制阐明(CSPEC)、状态转换图(STD)和实体—关系图(E—R)等。
6.一般面向对象分析建模旳工具(图形)有哪些?答:用例图、类/对象图、对象关系图、实体—关系图(E—R)、事件轨迹图(时序图)和状态转换图(STD)等7.UML统一建模语言有哪几种图形?用例图、类图、对象图、构件(组件)图、布署(配置)图、状态图、活动图、次序(时序)图、合作(协作)图等九种图。
事务性结构数据流程图转变为控制结构图
四、数据处理结果(结论) 事务性结构数据流程图转变为控制结构图:
TOP
A
B
C
D
E
F
精品word文档值得下载值得拥有精品word文档值得下载值得拥有实验项目控制结构图的绘制一实验仪器设备microsoftofficeproject2003microsoftvisualstudio2008二实验原理数据流图通常可以分为两种典型结构
实验项目 一、实验仪器设备 Microsoft Office Project 2003 Microsoft Visual Studio 2008
思想是先了解作用范围和控制范围这两个概念。
控制范围包括模块本身及其下属模块(直接调用或间接调用的模块)。 作用范围是与模块中的条 件判定相联系的概念。判定的作用范围是指该判定所在的模块和以各种方式受该判定影响的模块 的集合。 一个良好的软件结构控制范围与模块中判定的作用范围应该满足下面的准则: (1) 一个模块内条件判定的作用范围应该在该模块的控制范围之内。 (2) 判定所在的模块应与受判定影响的模块在层次上尽量靠近可以分为两种典型结构: (1)变换型结构(2)事务性结构。变换型 结构的数据流程图,有明显的输入输出;事务性的数据流程图,是根据事物条件判断 发生结果。 事务分析:在数据流程图中,如果数据沿输入通道到达某个处理 T,处理 T 根据输 入数据的类型在若干个动作序列中选出一个来执行,则处理 T 就称为事务中心。 三、实验内容或步骤 任务 1:根据模块的作用范围与控制范围的原则,判定 a、b 两图的正确性,将错误的改正。
辽宁科技大学课程教学大纲
辽宁科技大学课程教学大纲课程名称:软件工程英文名称:Software Engineering课程编号:x2050721学时数:64其中实验(实训)学时数:8 课外学时数:0学分数:4.0适用专业:网络工程一、课程的性质和任务软件工程是网络工程本科生的一门专业课程。
软件工程课程的任务是培养学生计算机软件开发与应用的综合能力。
介绍软件的基本概念和软件工程的目标,通过对传统的面向过程的软件开发方法和面向对象的软件开发方法的介绍,使学生掌握开发高质量软件的方法;通过对软件开发过程和过程管理技术的学习,使学生了解如何进行软件度量和管理,怎样进行质量保证活动,从而能够有效地策划和管理软件开发活动。
为今后从事软件开发和应用打下良好的基础。
结合传统教学内容要注重新技术、新知识的介绍,扩充知识面,引导学生走向求新、创新的境界。
二、课程教学内容的基本要求、重点和难点(一)软件工程概述理解软件的概念和了解软件危机产生及表现;了解软件工程产生的背景,理解软件工程的定义、目标;了解软件开发方法学、软件工具、软件工程环境及软件工程管理;重点:软件、软件危机、软件工程的概念。
难点: 软件工程与软件过程的区别和联系。
(二) 软件开发模型理解生存周期的概念及引入生成周期的目的;了解常见的几种软件开发模型;了解当今流行的RUP、XP开发模型;理解可行性研究的目的、任务和方法;掌握三个可行性:技术可行性,经济可行性,社会可行性(法律可行性)。
重点:生存周期概念,瀑布模型的各个阶段,可行性研究的内容和步骤。
难点:软件开发方法学中的演进、往复、叠代、风险控制、阶段评审等思想,问题定义与可行性研究的区别和联系。
(三)需求工程理解需求分析概述部分:需求分析的必要性,步骤,原则,理解需求管理的内容及工具;掌握需求分析的任务。
重点:需求分析的任务。
难点:贯穿需求分析过程是遵循分层、抽象、分解的思想原则(四)结构化分析与设计理解面向结构分析建模技术,掌握结构化分析方法:数据流图DFD,数据字典DD,加工说明PSPEC ,实体关系图;了解结构化总体设计中的几种图形工具:层次(H)图、 HIPO图和结构(SC)图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据流图(DFD)变换型与事务型转化为初始软件布局图解析
在体系解析阶段,我们采取布局化解析办法获得了由数据流图、数据字典和加工申明等构成的体系的逻辑模型。
如今,可按照一些规矩从数据流图导出体系初始的模块布局图。
经管信息体系的数据流图凡是也可分为两种典范的布局,即变换型布局和事务型布局。
变换型布局的数据流图呈一种线性状况,见图6-4-4所示,它所描述的工作可默示为输入、主处理惩罚及输出。
事务型布局的数据流图则呈束状,见图6-4-5所示,即一束数据流平行流人或流出,可能同时有几个事务请求处理惩罚。
图6-4-4 变换型布局的数据流图
图6-4-5 事务型布局的数据流图
这两种典范的布局分别可经由过程&#8220;变换解析&#8221;和&#8220;事务解析&#8221;技巧,导出&#8220;变换型&#8221;和&#8220;事务型&#8221;初始的模块布局图。
这两种办法的思惟是起首设计顶层模块,然后自顶向下,慢慢细化,最后获得一个满够数据流图所默示的用户请求的体系的模块布局图,即体系的物理模型。
初始布局图的技巧
1.从变换型数据流图导出初始布局图的办法
因为变换型布局由输入、主处理惩罚和输出三项目组构成,所以从变换型布局的数据流图导出变换型模块布局图,可分三步进行。
(1)找出体系的主加工
为了处理惩罚便利,先不推敲数据流图中的一些支流,如失足处理惩罚等。
凡是在数据流图中多股数据流的汇合处往往是体系的主加工。
若没有明显的汇合处,则可先断定哪些数据流是逻辑输入和逻辑输出,从而获得主加工。
从物理输入端一步步向体系中心移动,直至达到如许一个数据流,它再不克不及被作为体系的输入,则其前一个数据流就是体系的逻辑输入,即离物理输入端最远的,但仍可视为是体系输入的那个数据流就是逻辑输入。
用类似办法,从物理输出端一步步向体系中心移动,则离物理输出端最远的,但仍可视为体系输出的那个数据流就是逻辑输出。
逻辑输入和逻辑输出之间的加工就是我们要找的主加工。
如图
6-4-6所示。
图6-4-6 在数据流图中找体系的主加工(2)设计顶层模块和第一层模块
起首在与主加工对应的地位上画出主模块(如图6-4-7所示),主模块的功能就是全部体系要做的工作,主模块又称为主把握模块。
主模块是模块布局图的&#8220;顶&#8221;,如今我们就可按&#8220;自顶向下,慢慢细化&#8221;的思惟来画模块布局图顶下的各层了。
每一层均需按输入、变换、输出等分支来处理惩罚。
模块布局图第一层的画法如下:
为每一个逻辑输入画一个输入模块,其功能是向主模块供给数据。
为每一个逻辑输出画一个输出模块,其功能是把主模块供给的数据输出。
&#9314; 为主处理惩罚画一个变换模块,其功能是把逻辑输入变换成逻辑输出。
至此,布局图第一层就完成了。
在作图时应重视主模块与第一层模块之间传送的数据,要与数据流图相对应(如图5-21所示)。
(3)设计中、基层模块
因为输入模块的功能是向调用它的模块供给数据,所以它自已也须要一个数据起原。
此外,输入模块必须向调用模块供给所需的数据,是以它应具有变换功能,可以或许将输入数据按模块的请求进行变换后,再提交该调用模块。
从而,我们为每个输入模块设计两个基层模
块,此中一个是输入模块,另一个是变换模块。
同理,也为每个输出模块设计两个基层模块。
一个是变换模块,将调用模块所供给的数据变换成输出的情势;另一个是输出模块,将变换后的数据输出。
该过程由顶向下递归进行,直到体系的物理输入端或物理输出端为止(如图6-4-7所示)。
每设计出一个新模块,应同时给它起一个能反应模块功能的名字。
应用上述办法,就可获得与数据流图相对应的初始布局图。
图6-4-7 由变换型数据流图导出的初始模块布局图
2.从事务型数据流图导出初始布局图的办法
当数据流图浮现&#8220;束状&#8221;布局时,应采取事务解析的设计办法。
就步调而言,该办法与变换解析办法大项目组类似,首要差别在于由数据流图到模块布局的映射体式格式不合。
进行事务解析时,凡是采取以下四步:
(1)断定以事务为中间的布局,包含找出事务中间和事务起原。
以图6-4-8的典范事务型数据流布局为例进行申明。
图6-4-8 事务型中间数据流图实例
(2)按功能划分事务,将具备雷同功能的事务分为同一类,建树事务模块。
(3)为每个事务处理惩罚模块建树全部的操纵层模块。
其建树办法与变换解析办法类似,但事务处理惩罚模决可以共享某些操纵模
块。
(4)如有须要,则为操纵层模块定义响应的细节模块,并尽可能使细节模块被多个操纵模块共享。
例如,图6-4-8是一个以事务为中间的数据流图,显然,加工&#8220;断定事务类型&#8221;是它的事务中间,由该数据流图经事务解析所获得的模块布局图如图6-4-9所示。
图6-4-9 事务型模块布局图实例
3.混淆布局的解析
在范围较大的实际体系中,其数据流图往往是变换型和事务型的混淆布局,如图6-4-10所示。
此时可把变换解析和事务解析应用在同一数据流图的不合项目组。
例如,可以以&#8220;变换解析&#8221;为主,&#8220;事务解析&#8221;为辅进行设计。
先找出主处理惩罚,设计出布局图的上层,然后按照数据流图各项目组的布局特点,适被选用&#8220;变换解析&#8221;或&#8220;事务解析&#8221;就可得出初始布局图的某个规划。
图6-4-10 变换型和事务型混淆布局的数据流图
图6-4-11 变换解析与事务解析的混淆应用
如图6-4-11所示,此中第一层是用变换解析获得的,而模块&#8220;使b变成d&#8221;及基层模块和模块&#8220;变d为g&#8221; 及基层模块则是采取事务解析获得的。
从数据流图导出初始的模块布局图的办法就介绍到这里。
必须指出的是,因为开辟人员的本质、经验和小我懂得程度不合,采取上述办法导出的初始模块布局图也不是独一的。
事实上,满足体系申明书请求的任何模块布局图都可以作为初始布局图。