版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本章要点本章要点l 结构化设计任务、工作内容及步骤结构化设计任务、工作内容及步骤l 总体设计的过程总体设计的过程l 设计原则、启发规则设计原则、启发规则l 面向数据流的设计方法面向数据流的设计方法l 详细设计任务及原则详细设计任务及原则l 代码及用户界面设计代码及用户界面设计l 基于组件的设计方法基于组件的设计方法l 结构化设计说明书结构结构化设计说明书结构结构化设计概述结构化设计概述p结构化设计是结构化设计是面向数据流面向数据流的传统软件开发方法,的传统软件开发方法,以数据流为中心构建软件的分析和设计模型。其工以数据流为中心构建软件的分析和设计模型。其工具:具:n结构图结构图-通过使用矩形和
2、连接线来表示系统的不同模块通过使用矩形和连接线来表示系统的不同模块以及其活动和子活动的工具。适用于变换型结构和事务以及其活动和子活动的工具。适用于变换型结构和事务性结构的目标系统。性结构的目标系统。n伪代码伪代码自然语言和程序设计语言共同表示程序结构。自然语言和程序设计语言共同表示程序结构。结构化设计的任务结构化设计的任务n任务:任务:在设计阶段,主要是将需求分析阶段得到在设计阶段,主要是将需求分析阶段得到的的DFD转换为转换为 软件结构和数据结构。软件结构和数据结构。n目标:目标:划分子系统并使子系统之间是高内聚低耦划分子系统并使子系统之间是高内聚低耦合的,从而提高软件的可理解性和可维护性。
3、合的,从而提高软件的可理解性和可维护性。q根据用信息域表示的软件需求,以及功能和性能根据用信息域表示的软件需求,以及功能和性能需求,进行需求,进行详细设计阶段详细设计阶段概要设计阶段概要设计阶段体系结构设计体系结构设计模块设计模块设计数据库设计数据库设计用户界面设计用户界面设计需求开发需求开发实现与测试实现与测试数据结构与算法设计数据结构与算法设计系统设计过程示意图结构化设计的工作内容及步骤结构化设计的工作内容及步骤p结构化设计的工作内容:结构化设计的工作内容:n结构化设计首先是根据数据流图类型将问题分析划分结构化设计首先是根据数据流图类型将问题分析划分为事务型问题和(或)变换型问题,分别将它
4、们映射为事务型问题和(或)变换型问题,分别将它们映射成事务型或变换型结构图;成事务型或变换型结构图;n然后对映射得到的结构图进行综合和评价改进;然后对映射得到的结构图进行综合和评价改进;n最后按照有关规范编写总体设计说明书进行复审。最后按照有关规范编写总体设计说明书进行复审。p结构化设计的工作步骤结构化设计的工作步骤n图图4-1所示所示结构化总体设计结构化总体设计p准则准则:n模块化模块化n抽象与逐步求精抽象与逐步求精n信息隐蔽和局部化信息隐蔽和局部化n模块独立性模块独立性p目标目标:n概括地回答系统应该如何实现。概括地回答系统应该如何实现。总体设计过程总体设计过程设计原则设计原则p软件系统的
5、模块化是指整个软件被划分成若干单独软件系统的模块化是指整个软件被划分成若干单独命名和可编址的部分,称之为命名和可编址的部分,称之为模块模块。这些模块可以。这些模块可以被组装起来以满足整个问题的需求。被组装起来以满足整个问题的需求。p抽象抽象软件系统进行模块设计时,可有不同的抽象层次。软件系统进行模块设计时,可有不同的抽象层次。在最高的抽象层次上,可以使用问题所处环境的语言概在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。括地描述问题的解法。在较低的抽象层次上,则采用过程化的方法。在较低的抽象层次上,则采用过程化的方法。p信息隐蔽信息隐蔽n由由 parnas parnas 方
6、法提倡的方法提倡的信息隐蔽信息隐蔽是指,是指,每个模块的实现每个模块的实现细节对于其它模块来说是隐蔽的。细节对于其它模块来说是隐蔽的。也就是说,模块中所也就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。信息的模块使用。 p一致性一致性n整个软件系统(文档和程序)的各个模块均应使用一致整个软件系统(文档和程序)的各个模块均应使用一致的概念、符号、术语;接口一致;规格说明与系统行为的概念、符号、术语;接口一致;规格说明与系统行为一致;设计工具、方法和编码风格一致等。一致;设计工具、方法和编码风格一致等。总体设计的启发规
7、则总体设计的启发规则面向数据流的设计方法面向数据流的设计方法p系统结构的两种典型形式:系统结构的两种典型形式:p系统数据流的两种形式:系统数据流的两种形式:p变换型结构变换型结构p事务型结构事务型结构p变换型数据流变换型数据流p事务型数据流事务型数据流由输入、变由输入、变换中心和输换中心和输出三部分组出三部分组成成具有在多种具有在多种事务中选择事务中选择执行某类事执行某类事物的能力物的能力T T大型系统大型系统DFDDFD中中, ,变换型变换型和和事务型事务型结构往结构往往共存往共存ACBX,YZZACB21入入出出ZX,YZ21A根据内部判断决定是否调用BA按另一判定结果选择调用C或DABC
8、A根据内在的循环重复调用B、C等模块27步骤:步骤:(1)(1)区分传入、变换中心、区分传入、变换中心、 传出部分,传出部分,在在 DFD DFD 上标明分界线。上标明分界线。BCADEQPRWUVabcedrpuwv(2)(2)第一级分解第一级分解( (建立初始建立初始SCSC框架框架) ) 设计顶层和第一层模块。设计顶层和第一层模块。c,ec,e u,wu,w事务分析事务分析(1)(1)在在DFDDFD上确定事务中心、接收部分和发送部分。上确定事务中心、接收部分和发送部分。(2)(2)画出画出SCSC框架,把框架,把DFDDFD上的三部分分别映射为事务上的三部分分别映射为事务控制模块、接收
9、模块和动作发送模块。控制模块、接收模块和动作发送模块。(3)(3)分解细化接收分支和发送分支,完成初始分解细化接收分支和发送分支,完成初始SCSC。3233混合型分析混合型分析p在实际应用中,一些大型问题往往是两种混合在在实际应用中,一些大型问题往往是两种混合在一起的混合型问题。一起的混合型问题。p对于混合型问题,一般以对于混合型问题,一般以 变换型问题为主,首先变换型问题为主,首先找出变换中心,设计出结构图的上层;然后根据找出变换中心,设计出结构图的上层;然后根据数据流图的各部分具体类型分别映射得到它们的数据流图的各部分具体类型分别映射得到它们的结构图。结构图。p一般在设计阶段对软件结构进行
10、优化。一般在设计阶段对软件结构进行优化。结构结构 化总体设计的工具化总体设计的工具p系统流程图 表4-1pHIPO图 图4-19系统流程图符号:系统流程图符号:系统流程图的作用系统流程图的作用u制作系统流程图的过程是系统分析员全面了解系制作系统流程图的过程是系统分析员全面了解系统业务处理概况的过程,是分析员作进一步分析统业务处理概况的过程,是分析员作进一步分析的依据。的依据。u系统流程图是系统分析员、管理人员、业务操作系统流程图是系统分析员、管理人员、业务操作人员相互交流的工具。人员相互交流的工具。u系统分析员可直接再系统流程图上拟出可以实现系统分析员可直接再系统流程图上拟出可以实现计算机处理
11、的部分。计算机处理的部分。u可利用系统流程图来分析业务流程的合理性。可利用系统流程图来分析业务流程的合理性。绘制注意事项绘制注意事项p物理部件的名称写在图形符号内,用以说明该部物理部件的名称写在图形符号内,用以说明该部件的含义;件的含义;p系统流程图中不能出现控制流;系统流程图中不能出现控制流;p用以表示信息流用以表示信息流 的箭头符号不需要标注名称。的箭头符号不需要标注名称。p对于复杂的系统一般采用分层的方式进行描绘。对于复杂的系统一般采用分层的方式进行描绘。39p层次方框图是用树形结构的一系列多层次层次方框图是用树形结构的一系列多层次的矩形框描述数据的层次结构。的矩形框描述数据的层次结构。
12、p树形结构的顶层是一个单独的矩形框,代树形结构的顶层是一个单独的矩形框,代表完整的数据结构,下面的各层矩形框代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分组成这个数据的实际数据元素(不能再分隔的元素)。隔的元素)。40产品产品软件软件服务服务硬件硬件系系统统软软件件处处理理设设备备应应用用软软件件软软件件服服务务硬硬件件维维修修培培训训存存储储器器处处理理机机操作系统操作系统编译程序编译程序软件工具软件工具IPO表表p层次方框图值说明了软件由哪些模块组成及其控制层次结构,并未说明模块间的信息传递
13、及模块内部的处理。因此需要借助IPO表。见p105 表4-2。模块的结构设计模块的结构设计p模块包含的模块包含的4种属性种属性n输入输入/出出n逻辑功能逻辑功能-表明模块能做什么事表明模块能做什么事n运行程序运行程序-如何用程序实现其逻辑功能如何用程序实现其逻辑功能n内部数据内部数据-模块自己的数据模块自己的数据p理想模块的特点理想模块的特点n每个理想模块只解决一个问题;每个理想模块只解决一个问题;n每个理想模块的功能都应该明确,易理解;每个理想模块的功能都应该明确,易理解;n理想模块之间的连接关系简单,具有独立性;理想模块之间的连接关系简单,具有独立性;n由理想模块构成的系统,易理解、编程、
14、测试、修改由理想模块构成的系统,易理解、编程、测试、修改和维护。和维护。p假设假设C(x)C(x)为描述问题为描述问题x x的复杂度的函数,的复杂度的函数,E(x) E(x) 为解决问题为解决问题x x的代价函数。根据经验,对于两个问题的代价函数。根据经验,对于两个问题p1p1和和p2p2,如果,如果 C(p1) C(p1) C(p2)C(p2),p那么那么 E(p1) E(p2)E(p1) E(p2)。p 进一步得出如下推论:进一步得出如下推论:p C(p1+p2) C(p1) + C(p2)C(p1+p2) C(p1) + C(p2)p E(p1+p2) E(p1) + E(p2) E(p
15、1+p2) E(p1) + E(p2)p 因此推断,如果问题因此推断,如果问题P P能够分解为能够分解为n n个子问题,那么解决个子问题,那么解决n n个子问题的总代价肯定低于直接解决个子问题的总代价肯定低于直接解决P P的代价,因为的代价,因为P P太复杂了太复杂了,简直让人无从下手!,简直让人无从下手! 44成成本本或或工工作作量量模块数量模块数量软件总成本软件总成本接口成本接口成本成本成本/ /模块模块M最小成本区域最小成本区域模块独立性模块独立性p模块的独立性模块的独立性n模块独立性模块独立性, 是指软件系统中每个模块只是指软件系统中每个模块只涉及软件要求的具体的子功能涉及软件要求的具
16、体的子功能, 而和软件而和软件系统中其它的模块的接口是简单的系统中其它的模块的接口是简单的n一般采用两个准则度量模块独立性。即一般采用两个准则度量模块独立性。即模块间模块间耦合性耦合性和模块和模块内聚性内聚性n耦合耦合是模块之间的互相连接的紧密是模块之间的互相连接的紧密程度的度量。程度的度量。n 内聚内聚是模块功能强度是模块功能强度( (一个模块内一个模块内部各个元素彼此结合的紧密程度部各个元素彼此结合的紧密程度) )的的度量。度量。n 模块独立性比较强的模块应是模块独立性比较强的模块应是高内高内聚低耦合聚低耦合的模块。的模块。48 两个模块之间没有直接关系,它们之两个模块之间没有直接关系,它
17、们之间的联系完全是通过主模块的控制和间的联系完全是通过主模块的控制和调用来实现的。调用来实现的。非直接耦合的非直接耦合的模块独立性最模块独立性最强。强。49 一个模块访问另一个模块时,彼此之间一个模块访问另一个模块时,彼此之间是通过是通过简单数据参数简单数据参数 (不是控制参数、公共数不是控制参数、公共数据结构或外部变量据结构或外部变量) 来交换输入、输出信息的来交换输入、输出信息的。 一组模块通过一组模块通过参数表参数表传递传递记录信息记录信息,就是,就是标记耦合。这个记录是某一数据结构的子结构标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。,而不是简单变量。50如果一个模块通过如
18、果一个模块通过传送开关、标志、名传送开关、标志、名字等控制信息,明显字等控制信息,明显地控制选择另一模块地控制选择另一模块的功能,就是的功能,就是控制耦控制耦合合。 控制耦合往往是多控制耦合往往是多余的,通常可用数据余的,通常可用数据耦合来代替。耦合来代替。51525354 c 内容耦合是最高程度的耦合,应该坚决避免使用内容耦合内容耦合是最高程度的耦合,应该坚决避免使用内容耦合(c)(c)多入口模块多入口模块55 一个模块中各个部分都是一个模块中各个部分都是完成某一具完成某一具体功能体功能必不可少的组成部分,或者说该模块必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协中所
19、有部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割的。则称该模同工作,紧密联系,不可分割的。则称该模块为功能内聚模块。块为功能内聚模块。56这种模块这种模块完成多个功能完成多个功能,各个功能都在各个功能都在同一数据结构上操作同一数据结构上操作,每一项功能有一个唯一,每一项功能有一个唯一的入口点。这个模块将根据不同的要求,确定的入口点。这个模块将根据不同的要求,确定该执行哪一个功能。由于这个模块的所有功能该执行哪一个功能。由于这个模块的所有功能都是基于同一个数据结构(符号表),因此,都是基于同一个数据结构(符号表),因此,它是一个信息内聚的模块。它是一个信息内聚的模块。5758n信息内
20、聚模块可以看成是多个功能内信息内聚模块可以看成是多个功能内聚模块的组合,并且达到信息的隐蔽聚模块的组合,并且达到信息的隐蔽。即把某个数据结构、资源或设备隐。即把某个数据结构、资源或设备隐蔽在一个模块内,不为别的模块所知蔽在一个模块内,不为别的模块所知晓。晓。59如果模块中所有元素都使用同如果模块中所有元素都使用同一个输入数据和(或)产生同一个一个输入数据和(或)产生同一个输出数据,则称之为通信内聚模块输出数据,则称之为通信内聚模块。通常,通信内聚模块是通过数据。通常,通信内聚模块是通过数据流图来定义的。流图来定义的。6061626364数据存储设计数据存储设计p常用三种数据存储管理:常用三种数
21、据存储管理:n数据文件数据文件:由操作系统提供的存储形式,应用系统将:由操作系统提供的存储形式,应用系统将数据按字节顺序存储,并定义如何以及何时检索数据数据按字节顺序存储,并定义如何以及何时检索数据。n关系数据库关系数据库:数据以表的形式存储在预先定义好的称:数据以表的形式存储在预先定义好的称为为Schema的类型中。的类型中。n面向对象数据库面向对象数据库:将对象和关系一起进行存储。:将对象和关系一起进行存储。数据存储文件设计过程数据存储文件设计过程p文件的逻辑设计文件的逻辑设计总体设计阶段总体设计阶段n整理必需的数据元素整理必需的数据元素n分析数据间的关系分析数据间的关系n确定文件的逻辑设
22、计确定文件的逻辑设计p数据存储的物理设计数据存储的物理设计详细设计阶段详细设计阶段n理解数据存储文件的特性理解数据存储文件的特性n确定数据的存储媒体确定数据的存储媒体n确定文件的组织形式确定文件的组织形式n确定文件的记录格式确定文件的记录格式结构化详细设计结构化详细设计p详细设计目标:确定具体地实现所要求的系统,详细设计目标:确定具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成某种从而在编码阶段可以把这个描述直接翻译成某种程序设计语言书写的程序。程序设计语言书写的程序。n算法设计算法设计n数据结构设计数据结构设计n物理设计物理设计n其他设计其他设计n编写详细说明书编写详细说明书6
23、8详细设计原则详细设计原则p模块逻辑描述清晰易读、正确可靠模块逻辑描述清晰易读、正确可靠p采用结构化设计方法,改善系统的控制结构,降低采用结构化设计方法,改善系统的控制结构,降低程序的复杂度。程序的复杂度。结构化详细设计工具结构化详细设计工具程序流程图程序流程图程序流程图标准符号程序流程图标准符号7374问题分析图问题分析图(PAD)757677 条件条件1 1 条件条件2 2 结果结果 7 79,9, 订票量订票量20:20: 15%15% 1212月月 订票量订票量20:20: 5%5% 1 16,6, 订票量订票量20:20: 30%30% 10,1110,11月月 订票量订票量20:2
24、0: 5%5%787980p衡量准则是看其所产生的过程描述是否易于理解衡量准则是看其所产生的过程描述是否易于理解、复审和维护,过程描述能否自然地转换为代码、复审和维护,过程描述能否自然地转换为代码,并保证设计与代码完全一致,其选择工具具有,并保证设计与代码完全一致,其选择工具具有属性:属性:n模块化模块化n间接性间接性n易编辑易编辑n可读性可读性n可维护性可维护性n强制结构化强制结构化n自动产生报告自动产生报告n数据表示数据表示n逻辑验证逻辑验证n可编码能力可编码能力81p代码的定义和作用代码的定义和作用n数据代码是为了对数据进行识别、分类、排序等操作所使数据代码是为了对数据进行识别、分类、排
25、序等操作所使用的数字、文字或符号。其具有识别、分类和排序三项功用的数字、文字或符号。其具有识别、分类和排序三项功能。能。p代码的特性代码的特性n间接性间接性n保密性保密性n可扩充性可扩充性n持久性持久性82p标准化标准化p唯一性唯一性p可扩充性可扩充性p简单性简单性p规范性规范性p适应性适应性 另如果有两特征值则可选用逻辑值代码、数字另如果有两特征值则可选用逻辑值代码、数字、字母混用时注意区分相似的符号等、字母混用时注意区分相似的符号等用户界面设计用户界面设计-特性特性8586用户界面设计原则用户界面设计原则p用户控制用户控制p界面一致性界面一致性p界面容错性界面容错性p界面美观性界面美观性p
26、界面可适应性界面可适应性用户交互方式用户交互方式p直接操作直接操作p菜单选择菜单选择p命令命令p表格填写表格填写p自然语言自然语言信息显示及用户支持信息显示及用户支持p信息表示信息表示n文本方式文本方式n图形方式图形方式p用户支持用户支持n错误信息错误信息n帮助系统帮助系统8990p (a)(a)顺序结构顺序结构 (b)(b)选择结构选择结构 (c)(c)重复结构重复结构 使用使用JSDJSD方法的步骤如下方法的步骤如下: :p实体动作分析:实体动作分析:从问题的简单描述中,选出软件系统要产生和运用的实体从问题的简单描述中,选出软件系统要产生和运用的实体( (人、物或组织人、物或组织) ),以
27、及现实世界作用于实体上的动作,以及现实世界作用于实体上的动作( (事件事件) )。实体从名词中选。实体从名词中选出,动作从动词中选出。当然,只有与问题求解直接有关的实体和动作才能被出,动作从动词中选出。当然,只有与问题求解直接有关的实体和动作才能被选出做进一步的分析。选出做进一步的分析。p实体结构分析:实体结构分析:把作用于实体的动作或由实体执行的动作,按时间发生的把作用于实体的动作或由实体执行的动作,按时间发生的先后次序排序,并用一个层状的先后次序排序,并用一个层状的JacksonJackson结构图表示结构图表示。p 定义初始模型:定义初始模型:把实体和动作表示成一个过程性的模型,定义模型
28、与现实世把实体和动作表示成一个过程性的模型,定义模型与现实世界的联系。模型系统的规格说明可用系统规格说明图界的联系。模型系统的规格说明可用系统规格说明图SSDSSD来表示。来表示。p 功能描述:功能描述:详细说明与已定义的动作相对应的功能。详细说明与已定义的动作相对应的功能。p 决定系统时间特性:决定系统时间特性:对进程调度特性进行评价和说明。对进程调度特性进行评价和说明。p 实现:实现:设计组成系统的硬件和软件。设计组成系统的硬件和软件。p JSDJSD方法的前三步属于需求分析阶段,后三步属于软件设计阶段。方法的前三步属于需求分析阶段,后三步属于软件设计阶段。 92pWarnierWarnier方法又称为逻辑地构造程序的方法,简称方法又称为逻辑地构造程序的方法,简称LCP(logical construction of programs)LCP(logical construction of programs)方法。方法。pWarnierWarnier方法的原理和方法的原理和JacksonJackson方法类似,也是从方法类似,也是从数据结构出发设计程序,但是这种方法的逻辑更数据结构出发设计程序,但是这种方法的逻辑更严格。严格。 pJ JD DWarnierWarnier提出的软件开发方法与提出的软件开发方法与JacksonJacks
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉真有趣说课稿部编版
- 滴滴司服经理述职报告
- 医疗物联网科技公司劳动合同
- 剧场版编剧合作协议样本
- 通讯技术助理聘用合同
- 农村供水工程招投标制度研究
- 渔业发展项目鱼塘施工合同模板
- 仓储物流区域副总招聘协议
- 特种设备应急演练
- 2022年大学生物科学专业大学物理二期末考试试卷D卷-含答案
- 拖欠工程款起诉状
- 智慧交通车辆测速实验
- 单位消防安全管理应知应会参考题库300题(含答案)
- 初三化学上学期氧气-课件
- 《跟上兔子》绘本三年级第1季This-Is-My-Family课件
- 主题班会-团结友爱
- 等离子体产生技术课件
- 1~2岁儿童动作发展与训练-精细动作
- 小学语文五年级上册第八单元“读书明智”单元作业设计
- 10kV隔离开关技术规范书
- 方城县城市运行管理服务平台(智慧城管)项目方案汇报
评论
0/150
提交评论