第4章总体设计_第1页
第4章总体设计_第2页
第4章总体设计_第3页
第4章总体设计_第4页
第4章总体设计_第5页
已阅读5页,还剩178页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Email:liangsun@大连理工大学计算机科学与技术学院1总体设计主讲:

孙亮第3章课程回顾

知识点回顾软件客户-包括提出要求、支付款项、选择、具体说明或使用软件产品的项目风险承担者(stakeholder)或是获得产品所产生结果的人模型-对对象系统的形式化的特征抽象,概括性或近似地表示结构化分析方法(StructuredAnalysis,SA)-70年代中期提出的一种面向数据流、自顶向下、逐步求精进行需求分析的方法2第3章课程回顾各种需求分析方法所应遵循的准则包括必须理解并描述问题的信息域,建立数据模型必须定义软件应完成的功能,建立功能模型必须描述作为外部事件结果的软件行为,建立行为模型必须对描述信息、功能和行为的模型进行分解,用层次的方式展开细节3第3章课程回顾需求分析的具体任务包括:确定软件系统的综合需求分析系统的数据需求用E-R图、层次方框图等工具建立数据模型导出软件系统的逻辑模型:用数据流图、ER图、状态转换图等工具建立逻辑模型修正系统的开发计划验证软件需求分析的正确性编写软件需求规格说明书4第3章课程回顾软件的综合要求一般包括内容功能需求:系统必须提供的服务性能要求:系统必须满足的定时约束或容量约束等可靠性和可用性需求出错处理需求:系统对环境错误应该怎样响应接口需求:系统与其他的环境通信格式要求约束:设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件:精度/工具/语言/设计/标准/平台5第3章课程回顾逆向需求:说明软件系统不应该做什么将来可能提出的要求需求获取的常用方法访谈面向数据流自顶向下求精简易的应用规格说明技术6第3章课程回顾需求分析阶段中常用的模型主要有:数据流图(DFD):用于建立功能模型实体-联系图(ERD):用于建立数据模型类图:用于建立结构模型时序图:用于建立行为模型状态图:用于建立行为模型协作图:用于建立行为模型7第3章课程回顾结构化分析方法中使用的主要建模工具结构化分析方法中使用的建模工具主要包括:数据流图、数据字典、结构化语言、判定标和判定树数据模型的画法数据模型也称ER模型,它包括三要素:数据对象、数据属性和数据联系数据对象:存在且可区分的事物,用矩形框表示数据对象是指具有一系列不同性质或属性的事物,仅具有单个值的事物不是数据对象8第3章课程回顾属性定义了实体或联系所具有的性质。用圆角矩形/椭圆形表示联系表示数据对象彼此之间相互连接的方式联系可以是一对一、一对多、多对多。用菱形框表示联系也可以有属性状态转换图的画法简称状态图通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为9第3章课程回顾状态图包括3个主要状态,即初态/初始状态:仅1个,用实心圆表示终态/最终状态:0-N个,用一对同心圆(内圆为实心圆)表示中间状态/用圆角矩形表示状态图可以表示系统循环运行过程,这时不关心如何启动该状态状态图可以表示系统单程生命期,这时需标明初始状态和最终状态10第4章

总体设计4.1设计过程4.2设计原理4.3启发规则4.4描绘软件结构的图形工具4.5面向数据流的设计方法4.6体系结构设计优化4.7总体设计报告书写11第4章总体设计总体设计又称为概要设计或初步设计开发阶段的开始:“怎么做?”基本目的:“概括地说,系统如何实现?”确定系统中每个程序由哪些模块组成以及这些模块相互间的关系12第4章总体设计在总体设计阶段,主要任务:划分物理元素:物理元素内容包括:程序/文件/数据库/人工过程和文档等物理元素分解程度:黑盒子级确定软件结构:整个软件的程序组成134.1设计过程每个程序的模块组成模块之间的关系总体设计的必要性全局性分析,选最佳方案和最合理的软件结构总体设计过程分两个阶段系统设计:确定系统的具体实现方案结构设计:确定软件结构144.1设计过程实施总体设计的过程包括9个步骤:1.设想供选择的方案:从数据流图(DFD)出发区分各种处理、并分组考虑各种处理的实现策略设想、列出方案,但不评价154.1设计过程实际例讲评:《口算高手》部分方案选择164.1设计过程[1]输入数据类型的选择unsignedpara1,para2,output;unsignedpara1,para2,intoutput;intpara1,para2,output;intpara1,para2,longintoutpout;[2]试题数据保存方法的选择选用数组临时保存st_para1[100],st_para2[100],st_output[100]选用Delphi自带数据库选Foxpro/Oracle数据库/SQLserver等……174.1设计过程实例讲评:《客房管理系统》局部方案选择184.1设计过程[1]预定请求类型的选择只接受电话预定只接受网上预定只接受上门预定接受上述三种方案的任意组合预定[2]夜审时间与餐费列入方法的确定中午12点早晨8点餐费列入住宿费……194.1设计过程2.选取合理的方案分析员应提供的相关资料系统流程图物理元素清单成本效益分析进度计划考虑需求规格说明书要求,并征求用户意见204.1设计过程实例讲评:《口算高手》系统流程图214.1设计过程实例讲评:《口算高手》物理元素清单一个程序六个模块:输入模块、校验模块、退出模块、计算模块、打印模块、显示模块实例讲评:《口算高手》成本/效益分析:略实例讲评:《口算高手》实现进度计划可行性分析:0.5天,需求分析:0.5天总体设计:1天,详细设计与编码:1天软件测试:3天,文档资料编写、审议:1天224.1设计过程3.推荐最佳方案系统分析员推荐最佳方案用户和专家审查通过使用部门负责人认可完成系统设计,进入结构设计以上为总体设计过程的系统设计阶段234.1设计过程4.功能分解先结构设计:确定模块组成、相互关系。属于总体设计确定软件有哪些模块组成模块之间的关系后过程设计:确定每个模块的处理过程。属于详细设计分解后的每个功能对于程序员而言,是明显易懂的244.1设计过程实例讲评:《口算高手》模块组成254.1设计过程5设计软件结构:用层次图或结构图来描述6.设计数据库:模式设计:确定物理数据库结构满足第三范式关系数据库模型解决数据库管理系统的结构约束264.1设计过程实例讲评:《路灯管理系统》部分层次图274.1设计过程实例讲评:《路灯管理系统》数据库结构实例284.1设计过程子模式设计:用户使用的数据视图:非物理数据直接反映的数据完整性和安全性设计内容完整性使用安全性操作安全性优化:模式和子模式的优化:利于存取294.1设计过程实例讲评:国家标准《数据库设计说明书》1

引言1.1编写目的说明编写这份数据库设计说明书的目的,指出预期的读者1.2背景说明说明待开发的数据库的名称和使用此数据库的软件系统的名称列出该软件系统开发项目的任务提出者、用户以及将安装该软件和这个数据库的计算站(中心)30补充:数据库设计说明书(GB8567-88)主要内容1.3定义列出本文件中用到的专门术语的定义、外文首字母组词的原词组1.4参考资料列出有关的参考资料本项目的经核准的计划任务书或合同、上级机关批文属于本项目的其他已发表的文件本文件中各处引用到的文件资料,包括所要用到的软件开发标准列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源31补充:数据库设计说明书(GB8567-88)主要内容2外部设计2.1标识符和状态联系用途,详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。如果该数据库属于尚在实验中、尚在测试中或暂时使用的,则要说明这一特点及其有效时间范围2.2使用它的程序列出将要使用或访问此数据库的所有应用程序,对于这些应用程序的每一个,给出它的名称和版本号32补充:数据库设计说明书(GB8567-88)主要内容2.3约定陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定和用于标识库内各个问卷、纪录、数据项的命名约定等2.4专门指导向准备从事此数据库的生成、从事此数据库的测试、维护人员提供专门的指导,例如将被送入数据库的数据的格式和标准、送入数据库的操作规程和步骤,用于产生、修改、更新或使用这些数据文卷的操作指导。如果这些指导的内容篇幅很长,列出可参阅的文件资料的名称和章条33补充:数据库设计说明书(GB8567-88)主要内容2.5支持软件简单介绍同此数据库直接有关的支持软件,如数据库管理系统、存储定位程序和用于装入、生成、修改、更新数据库的程序等说明这些软件的名称、版本号和主要功能特性,如所用数据模型的类型、允许的数据容量等列出这些支持软件的技术文件的标题、编号及来源34补充:数据库设计说明书(GB8567-88)主要内容3.结构设计3.1概念结构设计说明本数据库将反映的显示世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、纪录、系、文卷的标识符、定义、类型、度量单位和值域,建立本数据库的每一幅用户视图3.2逻辑结构设计说明把上述原始数据进行分解、合并后重新组织起来的数据库全逻辑结构,包括所确定的关键字和属性、重新确定的纪录结构和文卷结构、所建立的各个文卷之间的相互关系,形成本数据库的数据库管理员视图35补充:数据库设计说明书(GB8567-88)主要内容3.3物理结构设计建立系统程序员视图,包括:数据在内存中的安排,包括对索引区、缓冲区的设计所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分访问数据的方式方法36补充:数据库设计说明书(GB8567-88)主要内容4.运用设计4.1数据字典设计对数据库设计中涉及到的各种项目,如数据项、纪录、系、文卷、模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。在本节中要说明对此数据字典设计的基本考虑4.2安全保密设计说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑374.1设计过程7制定测试计划测试方法选择:白盒测试/黑盒测试测试内容设计:模块测试/功能测试/性能测试测试条件:人员/设备/。。。测试用例设计测试人员安排测试时间进度实例讲评:国家标准《测试计划》38补充:测试计划(GB8567-88)主要内容1.引言1.1编写目的本测试计划的具体编写目的,指出预期的读者范围1.2背景说明测试计划所从属的软件系统的名称该开发项目的历史,列出用户和执行此项目测试的计算中心,说明在开始执行本测试计划之前必须完成的各项工作39补充:测试计划(GB8567-88)主要内容1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组1.4参考资料列出要用到的参考资料,如:本项目的经核准的计划任务书或合同、上级机关的批文;属于本项目的其他已发表的文件本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。40补充:测试计划(GB8567-88)主要内容2.计划2.1软件说明提供一份图表,并逐项说明被测软件的功能、输入和输出等质量指标,作为叙述测试计划的提纲2.2测试内容列出组装测试和确认测试中的每一项测试内容的名称标识符、这些测试的进度安排以及这些测试的内容和目的,例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等41补充:测试计划(GB8567-88)主要内容2.3测试1(标识符)给出这项测试内容的参与单位及被测试的部位2.3.1进度安排:包括进行测试的日期和工作内容(如熟悉环境、培训、准备输入数据等)2.3.2条件陈述本项测试工作对资源的要求,包括:设备所用到的设备类型、数量和预定使用时间软件列出将被用来支持本项测试过程而本身又并不是被测软件的组成部分的软件,如测试驱动程序、测试监控程序、仿真程序、桩模块等等42补充:测试计划(GB8567-88)主要内容人员列出在测试工作期间可由用户和开发任务组提供的工作人员的人数。技术水平及有关的预备只是,包括一些特殊要求,如倒班操作和数据键入人员2.3.3测试资料列出本项测试所需的资料,如:有关本项任务的文件被测试程序及其所在的媒体测试的输入和输出举例有关控制此项测试的方法、过程的图表43补充:测试计划(GB8567-88)主要内容2.3.4测试培训说明或引用资料说明为被测软件的使用提供培训的计划。规定培训的内容、受训人员及从事培训的工作人员2.4测试2(标识符)用与本测试计划2.3条相类似的方式说明用于另一项及其后各项测试内容的测试工作计划44补充:测试计划(GB8567-88)主要内容3.测试设计说明3.1测试1(标识符)说明对第一项测试内容的测试设计考虑3.1.1控制说明本测试的控制方式,如输入是人工、半自动或自动引入、控制操作的顺序以及结果的纪录方法3.1.2输入说明本项测试中所使用的输入数据及选择这些输入数据策略45补充:测试计划(GB8567-88)主要内容3.1.3输出说明预期的输出数据,如测试结果及可能产生的中间结果或运行信息3.1.4过程说明完成此项测试的一个个步骤和控制命令,包括测试的准备、初始化、中间步骤和运行结束方式3.2测试2(标识符)用与本测试计划3.1条相类似的方式说明第2项及其后各项测试工作的设计考虑46补充:测试计划(GB8567-88)主要内容4.评价准则4.1范围说明所选择的测试用例能够检查的范围及其局限性4.2数据整理陈述为了把测试数据加工成便于评价的适当形式,使得测试结果可以用同已知结果进行比较而要用到的转换处理技术,如手工方式或自动方式;如果是用自动方式整理数据,还要说明为进行处理而要用到的硬件、软件资源47补充:测试计划(GB8567-88)主要内容4.3尺度说明用来判断测试工作是否能通过的评价尺度,如合理的输出结果的类型、测试输出结果与预期输出之间的允许偏离范围、允许中断或停机的最大次数484.1设计过程8.书写文档:1.系统说明:系统流程图:系统构成方案组成的物理元素清单成本/效益分析最佳方案概述精化的数据流程图软件结构:层次图或结构图模块算法:IPO等工具494.1设计过程2.用户手册:修改/更正初步用户手册3.测试计划:测试策略测试方案预期测试结果测试进度计划4.详细的实现计划5.数据库设计结果504.1设计过程9.检查和复审实例讲评:国家标准《用户手册》实例奖评:国家标准《概要设计说明书》514.2设计原理1.模块化模块(module)是数据说明和可执行语句等程序对象的集合,每个模块单独命名并且可以通过名字对模块进行访问把大型软件按照规定的原则划分为一个个较小的、相对独立但又相关的模块的设计方法,叫做模块化设计(modulardesign)实现模块化设计的重要指导思想是功能分解、信息隐藏和模块独立性524.2设计原理模块是由一定功能的可以用名词调用的程序语句集合,如:C语言的子程序独立的汇编程序COBOL的段和节Pascal的过程FORTRAN的子程序汇编的宏面向对象方法学中的对象等534.2设计原理分解设函数C(x)定义问题x的复杂程度,函数E(x)确定解决问题x所需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2),

显然E(P1)>E(P2)

根据人类解决一般问题的经验,如果一个问题由P1和P2两个问题组合而成,那么它的复杂程序大于分别考虑每个问题时的复杂程度之和,即:

C(P1+P2)>C(P1)+C(P2)

综上所述

E(P1+P2)>E(P1)+E(P2)544.2设计原理模块化和软件成本554.2设计原理控制结构(程序结构)控制结构是软件模块间关系的表示控制结构图示564.2设计原理控制结构的层次规则只有一个顶层(0层)模块除0层外任一模块都会在它的邻层存在一模块与它有关同层模块间不发生联系574.2设计原理软件结构度量术语584.2设计原理宽度:软件结构内同一个层次伤的模块总数的最大值扇出:一个模块直接控制/调用的模块数。平均扇出为3或4扇入:一个模块扇入表明有多少个上级模块直接调用它深度:一个模块包含自身及其它模块的层数594.2设计原理实例奖评:软件结构度量术语实例604.2设计原理2.抽象抽象的含义:反映本质特征,忽略细节多层次抽象最高层:使用问题环境语言,概括问题解法较低抽象层:更过程化的方法,面向问题,面向实现的解法最底层:直接实现的方式,叙述问题解法614.2设计原理3.信息隐藏(InformationHiding)模块内部的数据与过程,应该对不需要了解这些数据与过程的模块隐藏起来。只有那些为了完成软件的总体功能而必须在模块间交换的信息,才允许在模块间进行传递信息隐蔽原理:使一个模块内部包含的信息对于不需要这些信息的模块来说,是不能访问的624.2设计原理“隐藏”意味着有效的模块化可以通过定义一组独立的模块而实现,这些独立的模块彼此间仅仅交换那些为了完成系统功能而必须交换的信息。这一指导思想的目的是为了提高模块的独立性,即当修改或维护模块时减少把一个模块的错误扩散到其他模块中的机会局部化:指把一些关系紧密地软件元素物理地放得彼此靠近。例:局部变量634.2设计原理实例奖评:隐藏与局部化644.2设计原理4.模块独立性(moduleindependence)概括了把软件划分为模块时要遵守的准则,也是判断模块构造是否合理的标准。一般地,坚持模块独立性是获得良好设计的关键两个定性度量标准-内聚和耦合耦合用于衡量不同模块彼此之间相互依赖(连接)的紧密程度654.2设计原理内聚用于衡量一个模块内部各个元素间彼此结合的紧密程度模块独立的概念:模块化、信息隐蔽和局部化的直接结果完成特定功能模块之间关系简单需要模块独立的原因易开发易测试664.2设计原理耦合强度取决于模块接口的复杂程度、通过接口的数据等应该追求尽可能松散耦合的系统:影响系统的可理解性、可测试性、可靠性和可维护性耦合的七种类型674.2设计原理耦合强度非直接耦合/无耦合:最低数据耦合:低耦合/可以只包括该耦合控制耦合:中耦合/通常模块分解可以用数据耦合公共环境耦合:全程变量、共享通信区、内存公共覆盖区、存储介质上文件或设备等;复杂程度随耦合模块个数变化;/一读一取;属松散耦合;既读又取;介于数据耦合与控制耦合之间684.2设计原理内容耦合:最高程度耦合无直接耦合:两个模块没有直接关系(模块1和模块2),模块独立性最强694.2设计原理实例讲评:无直接耦合示例704.2设计原理数据耦合:一模块调用另一模块时,被调用模块的输入、输出都是简单的数据(若干参数)。属松散耦合实例讲评:数据耦合示例714.2设计原理实例讲评:数据耦合程序示例724.2设计原理特征耦合也称标记耦合(复合型耦合)如两个模块通过传递数据结构(不是简单数据,而是纪录、数组等)加以联系,或都与一个数据结构有关系,则称这两个模块之间存在标记耦合734.2设计原理实例讲评:特征耦合示例744.2设计原理实例讲评:特征耦合示例754.2设计原理实例讲评:特征耦合示例764.2设计原理将特征耦合修改为数据耦合举例774.2设计原理实例讲评:将特征耦合修改为数据耦合示例784.2设计原理控制耦合模块向下属模块传递的信息(开关量、标志等控制被调用模块决策的变量)控制了被调用模块的内部逻辑794.2设计原理实例讲评:控制耦合示例804.2设计原理去除模块间控制耦合的方法控制耦合增加了理解和编程的复杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖将被调用模块内的判定上移到调用模块中进行被调用模块分解成若干单一功能模块814.2设计原理改控制耦合为数据耦合举例824.2设计原理实例讲评:改控制耦合为数据耦合示例834.2设计原理外部耦合一组模块与同一外部环境关联(例如,I/O模块与特定的设备、格式和通信协议相关联),它们之间便存在外部耦合外部耦合必不可少,但这种模块数目应尽量少公共耦合(公共数据区耦合)一组模块引用同一个公用数据区(也称全局数据区、公共数据环境)公共数据区指:全局数据结构、共享通讯区,内存公共覆盖区等844.2设计原理实例讲评:公共耦合实例854.2设计原理实例讲评:公共耦合示例864.2设计原理公共耦合存在的问题软件可理解性降低诊断错误困难软件可维护性差软件可靠性差(公共数据及全程变量无保护措施)慎用公共数据区和全程变量!!!874.2设计原理内容耦合884.2设计原理耦合设计原则尽量使用数据耦合少用控制耦合限制公共环境耦合范围完全不用内容耦合894.2设计原理内聚概念:衡量一个模块内部各元素彼此结合的紧密程度简单地说,理想内聚的模块只做一件事情。设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多。但是,坚决不要使用低内聚904.2设计原理内聚类型:七种类型低内聚:偶然内聚:出现错误的概率比其他类型的模块要高/0分;914.2设计原理偶然内聚(巧合内聚)实例讲评:偶然内聚示例924.2设计原理逻辑内聚:把几种相关功能(逻辑上相似的功能)组合在一模块内,每次调用由传给模块的参数确定执行哪种功能修改困难/1分934.2设计原理实例讲评:逻辑内聚示例944.2设计原理时间内聚时间内聚,比逻辑内聚好一些/3分。模块完成的功能必须在同一时间内执行,这些功能只因时间因素关联在一起实例讲评:时间内聚示例例如:初始化系统模块、系统结束模块、紧急故障处理模块等均是时间性聚合模块954.2设计原理实例讲评:时间内聚:初始化模块964.2设计原理过程内聚(顺序性组合)过程内聚:程序流程图作为工具设计软件时得到模块/5分模块内各处理成分相关,且必须以特定次序执行属中内聚974.2设计原理实例讲评:过程内聚:定时器与中断标志984.2设计原理实例讲评:过程内聚994.2设计原理通信内聚模块内各部分使用相同的输入数据,或产生相同的输出结果通信内聚:7分属中内聚1004.2设计原理实例讲评:通信内聚示例1014.2设计原理实例讲评:通信内聚示例1024.2设计原理顺序内聚数据流图作为工具设计软件时得到的模块/9分信息内聚模块完成多个功能,各功能都在同一数据结构上操作,每一功能有唯一入口属高内聚1034.2设计原理实例讲评:顺序内聚示例1044.2设计原理功能内聚最高内聚/理想内聚只做一件事/10分模块仅包括为完成某个功能所必须的所有成分模块所有成分共同完成一个功能,缺一不可内聚性最强属高内聚1054.2设计原理实例讲评:功能内聚示例1064.2设计原理内聚设计原则:力求高内聚中等内聚也可以采用低内聚不要用与耦合关系:高内聚意味松耦合实践表明,内聚更重要,应该把更多注意力集中到提高模块的内聚程度上1074.3启发规则常用启发规则(1)改进软件结构,提高模块独立性降低耦合,提高内聚(2)模块规模适中模块过大,分解不充分模块过小,接口过于复杂,通信开销过大(3)深度、宽度、扇出和扇入应适中1084.3启发规则宽度:软件结构内同一个层次上的模块总数的最大值扇出:一个模块直接控制/调用的模块数。平均扇出为3或4宽度越大,系统越复杂扇入:一个模块扇入表明有多少个上级模块直接调用它深度:一个模块包含自身及其他模块的层数深度表示软件结构中控制的层数,能粗略地标志一个系统的大小和复杂程度通常顶层扇出比较高,中层扇出比较小,底层扇入比较高1094.3启发规则实例讲评:深度为3的示例1104.3启发规则实例讲评:深度为1的示例1114.3启发规则实例讲评:深度为4的示例1124.3启发规则(4)模块的作用域应该在控制域之内作用域:收该模块内一个判断影响的所有模块集合控制域:该模块本身以及所有直接或间接从属于它的模块的集合作用域应是控制域的子集改变作用域与控制域的方法:判断点上移/作用域对象下移1134.3启发规则实例讲评:A2的作用域为B1,B2,C1,C2,BM;A2的控制域应小于上述集合1144.3启发规则(5)力争降低模块接口的复杂程度实例讲评:一元二次方程求解函数接口复杂或不一致:紧耦合或低内聚>>重新分析模块独立性(6)设计单入口、单出口的模块:易理解(7)模块功能应该可以预测1154.4描绘软件结构的图形工具层次图层次图(也称H图)是总体设计阶段最常使用的图形工具之一,它用于描绘软件的层次结构矩形代表一个模块连线表示调用关系适于在自顶向下设计软件的过程中使用与层次方框图类似1164.4描绘软件结构的图形工具实例讲评:层次图举例1174.4描绘软件结构的图形工具HIPO图HIPO:是IBM公司发明的“层次图加输入/处理/输出图”的缩写为了能使HIPO图具有课跟踪性,在H图里除了最顶层的方框之外,每个方框都加了编号和H图中的每个方框相对应,有一张IPO图描述这个方框代表的模块的处理过程。IPO图能够方便地描述数据输入、数据处理和数据输出之间的关系1184.4描绘软件结构的图形工具实例讲评:HIPO层次图举例1194.4描绘软件结构的图形工具结构图Yourdon提出的一种软件结构设计工具一个方框/矩形代表一个模块箭头连线/直线表示调用关系带有注释的箭头表示模块调用过程中来回传递的信息1204.4描绘软件结构的图形工具实例讲评:产生最佳解功能结构图SC实例1214.4描绘软件结构的图形工具结构化设计(SD)方法概述首先研究、分析和审查数据流图,从软件的需求规格说明中弄清数据流加工的过程然后根据数据流图决定问题的类型,即确定是变换型还是事务型。针对两种不同的类型分别进行分析处理由数据流图推导出系统的初始结构图利用一些试探性原则来改进系统的初始结构图,直到得到符合要求的结构图为止修改和补充数据词典制定测试计划1224.4描绘软件结构的图形工具SD方法在概要设计中的主要表达工具约定:1234.4描绘软件结构的图形工具结构图(SC,StructureChart):四种模块1244.4描绘软件结构的图形工具SC中的选择调用1254.4描绘软件结构的图形工具SC中的循环调用1264.4描绘软件结构的图形工具SC设计优化在不考虑时间因素的前提下开发并精化软件结构在详细设计阶段选出最耗费时间的那些模块,仔细地设计它们的处理过程,以求提高效率使用高级程序设计语言编写程序必要时重新设计或用依赖于机器的语言重写上述大量占用资源的模块的代码,以求提高效率在软件中孤立出那些大量占用处理机资源的模块1274.4描绘软件结构的图形工具实例讲评:医院管理系统SC实例1284.4描绘软件结构的图形工具实例讲评:酒店管理信息系统功能结构图实例1294.4描绘软件结构的图形工具实例讲评:零售管理信息系统功能结构图实例130回顾设计过程、设计原理、启发规则与图形工具1314.5面向数据流的设计方法结构化设计方法是基于数据流的设计方法SD以数据流图为基础,它定义了把DFD变换成软件结构的不同映射方法1324.5面向数据流的设计方法系统结构特征可归纳为两种典型形式变换型结构事务型结构数据流图可分为两种类型变换型数据流事务型数据流1334.5面向数据流的设计方法1344.5面向数据流的设计方法数据流图基本模型1354.5面向数据流的设计方法变换型数据流举例1364.5面向数据流的设计方法事务型数据流图举例1374.5面向数据流的设计方法大型系统DFD中,变换型和事务型结构往往共存1384.5面向数据流的设计方法面向数据流设计方法的设计步骤(1)精化DFD(2)确定DFD类型(3)把DFD映射导系统模块结构,设计出模块结构的上层(4)基于DFD,逐步分解高层模块,设计出下层模块(5)根据模块独立性原理,精化模块结构(6)模块接口描述1394.5面向数据流的设计方法1404.5面向数据流的设计方法SD方法的两种映射过渡方法1414.5面向数据流的设计方法初始的SC1424.5面向数据流的设计方法变换分析设计方法(1)区分传入、变换中心、传出部分,在DFD上标明分界线(2)第一级分解(建立初始SC框架),设计顶层和第一层模块(3)第二级分解(分解SC各分支),自顶向下分解,设计出每个分支的中、下层模块1434.5面向数据流的设计方法1444.5面向数据流的设计方法1454.5面向数据流的设计方法1464.5面向数据流的设计方法传入分支的分解(1)1474.5面向数据流的设计方法传入分支的分解(2)1484.5面向数据流的设计方法传出分支的分解1494.5面向数据流的设计方法加工中心分支的分解1504.5面向数据流的设计方法事务分析设计方法任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时(有一个明显的事务中心),以采用事务分析方法为宜1514.5面向数据流的设计方法步骤在DFD上确定事务中心、接收部分和发送部分画出SC框架,把DFD上的三部分分别映射为事务控制模块、接收模块和动作发送模块分解细化接收分支和发送分支,完成初始SC1524.5面向数据流的设计方法实例讲评:用户命令交互子系统DFD1534.5面向数据流的设计方法事务分析的映射方法1544.5面向数据流的设计方法用户命令交互子系统初始SC1554.5面向数据流的设计方法实例讲评:用户命令子系统DFD1564.5面向数据流的设计方法用户命令子系统的SC1574.5面向数据流的设计方法实例讲评:用户命令子交互子系统1584.5面向数据流的设计方法1594.5面向数据流的设计方法事务流设计举例1604.5面向数据流的设计方法1614.5面向数据流的设计方法动作分支的典型结构1624.5面向数据流的设计方法1634.5面向数据流的设计方法事务流设计举例(另一种画法)1644.5面向数据流的设计方法混合流设计举例1654.5面向数据流的设计方法1664.6体系结构设计优化体系结构设计优化将初始SC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论