




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程软件工程,第六章软件详细设计,6.1详细设计任务6.2设计表示6.3结构化程序设计6.4结构化定理6.5图形工具6.6面向数据结构的设计总结,6.1详细设计任务,6.1.1详细设计的基本任务1需求分析和数据结构设计前的总体设计阶段,以及确定的概念数据类型应准确定义。该部分设计内容较多,所以大部分采用小型数据库辅助的方法。物理设计数据库的物理设计意味着确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录排列和存储方法,这些都取决于所使用的具体数据库系统。3算法设计总体设计结构完成后,结构的各个环节的实现是多解的。它需要用系统设计和分析技术来描述。每个模块处理过程的详细算法可
2、以用图形、表格和语言等工具来描述。4界面设计现在用户界面的设计更加重要,可以采用字符用户界面设计、图形用户界面设计和多媒体人机界面设计。这应该结合特定的系统来处理。其他设计根据软件系统的类型,可能需要进行以下设计:(1)代码设计:为了提高数据输入、分类、存储和检索的效率并节省存储空间,数据库中某些数据项的值应该通过代码来设计。(2)输入/输出格式的设计(3)人机对话的设计:对于实时系统,用户经常与计算机交谈,因此需要进行对话模式、内容和格式的具体设计。(4)网络设计:如果设计的软件是分布式系统,就要设计网络拓扑。设计说明书的编写详细的设计说明书有以下主要内容:(1)引言:包括编写目的、背景、定
3、义和参考资料。(2)项目体系的组织结构。(3)程序1(标识符)的设计描述:包括功能、性能、输入、输出、算法、过程逻辑和接口。(4)程序2(标识符)设计说明。(5)程序设计描述(标识符)。应审查处理算法和数据库的物理结构。详细设计方法1。详细设计采用自上而下、逐步细化的方法。虽然它处于“具体”设计阶段,但在设计模块复杂的内部处理过程时,仍可采用逐步细化的方法。它可以分解成几个模块,以降低处理细节的复杂性。在用三种基本控制结构构造程序设计时,如果一个模块的过程在开始时是模糊的,它可以用模糊过程分解为以下三种方式:(1)分解过程以确定各部分的执行顺序。(2)有选择地分解过程,以确定某一部分的执行条件
4、。(3)循环分解过程,确定重复某一部分的开始和结束条件。组织形式在详细设计阶段,当有许多人参与设计时,系统的质量可能会受到设计者不同的技术水平和设计风格的影响。因此,有必要组织一个三人核心小组负责所有技术活动。在团队中,有负责所有技术的主程序员,协调和支持主程序员的备份程序,以及负责事务工作的程序管理员。加上其他技术人员。这样做的目的是将设计责任集中在少数人身上,这有利于提高软件质量,有效地提高软件生产率。6.2设计表示,6.2.1结构化语言结构化语言是介于自然语言和形式语言之间的一种自然语言。结构化语言的语法结构包括内层和外层。内部语法灵活,可以使用数据字典中定义的词汇,一些容易理解的名词、
5、运算符和关系字符;外部语法有一个固定的格式,以及一组符号,如IF、THEN、ELSE、DO WHILEENDWHILE、DO CASEENDCASE等。用来描述顺序、选择和重复的控制结构。6.2.2判断表,这也是设计中常用的技术。在某些情况下,数据流图中某个进程的一组动作取决于多个逻辑条件的值。此时,很难用自然语言或结构化语言清楚地描述,但是条件和要做的动作的复杂组合之间的对应关系可以在决策表中清楚地表达出来。决策表是决策树的一种表格形式,它包括四个部分:条件定义、条件组合、动作定义和条件组合下的动作。决策表的结构如下图61所示。图61判断表结构,表6-1行李处理费判断表,判断表比决策树更严格
6、、更符合逻辑。判断表的条件严格基于二进制值,不会省略任何组合。决策表可以准确地显示系统在什么条件下应该做什么动作,但是它不能描述循环的处理特征,并且循环处理需要结构化语言。6.2.3决策树是决策表的变形,比一般的决策表更直观、更容易理解和使用。图6-2是功能上等同于表6-1的决策树。图62中的决策树。当处理逻辑中有太多的决策条件及其组合时,用决策表和决策树来描述它们会更加方便和直观。以上三种逻辑表达工具各有优缺点,可以得出以下结论:对于不太复杂的判断逻辑(只有大约10个条件和动作的组合),最好使用判断树。对于复杂的判断逻辑(更多的条件和更多的对应动作),最好使用判断表。如果处理逻辑既包含一般的
7、顺序执行动作又包含判断或循环逻辑,那么最好使用结构化语言。以上三种描述处理逻辑的工具各有优缺点,顺序执行和循环执行的动作都是用结构化语言描述的,对于多条件复杂组合的判断问题,使用了决策表和决策树。6.3结构化程序设计,6.3.1节点在软件工程中,客观存在的事物的特征用流程图程序来描述。在描述程序控制结构和指令执行时,用于控制程序结构的流程图程序是有向图。图的基本元素是函数节点、谓词节点和汇节点。功能节点如果一个节点有一条入口线和一条出口线,它被称为功能节点。如图6-3所示。其中f是功能节点的名称。图6-3流程图的功能节点,2。谓词节点如果一个节点有一个入口行和两个出口行,并且它不改变程序数据项
8、的值,它被称为谓词节点。如图6-4所示。图6-4谓词节点,3,接收器如果一个节点有两个和一个出口线,并且它不执行任何操作,它被称为接收器,如图6-5 (a)所示。多条入口线汇聚到一个点的情况可以用多个汇的组合来表示。图6-5流程图中的交汇点表明,三种基本控制结构流程图在描述程序控制结构方面的优势是直观、清晰和易用的。图6-6显示了流程图的三个基本控制结构。图6-6中流程图的三个基本控制结构也有严重的缺点:(1)使用流程图本身没有限制,所以你可以随意绘制和控制流程线的流向。因此,很容易造成非结构化的程序结构。(2)如果遇到多个嵌套循环,并且每层只允许一个出口,出口效率将非常低。(3)宏观控制流程
9、图的高层次和微观控制流程图的低层次的区别。(4)数据结构难以表达。为了克服流程图的缺陷,要求流程图由三个基本控制结构组成,这三个基本控制结构依次组合并完全嵌套,不应有重叠。这样的流程图是结构化的流程图。常规程序的定义6-1如果流程图程序满足以下两个条件,则称为常规程序。具有入口管线和出口管线。对于每个节点,都有一条从入口线到出口线穿过该节点的路径。图6-7非正式程序,因为普通程序有一个入口线和一个出口,所以普通程序总是抽象的本功能节点总结了数据操作和测试的正常程序的一般功能。常规子程序的定义6-2如果常规程序的一部分仍然是常规程序,它被称为常规程序的常规子程序。图6-8正常程序的抽象过程6.3
10、.4基本程序的封闭结构的定义6-3由流程图程序中两个节点之间没有重复节点的所有路径组成的结构称为封闭结构。图69封闭结构定义6-4如果一个正常程序满足以下两个条件,则称之为基本程序。不包含一个以上节点的普通子程序,换句话说,就是不能再分解的普通程序;如果有一个封闭结构,这个封闭结构就是一个普通的子程序。例如,图6-8中的节点g满足第一条件,该条件不包括该节点的一个以上的正常子例程;但它不满足第二个条件,它有两个封闭的结构:P2-阿;P4-S2和P2-P4-S1。显然,这两个结构不是正式的程序,它们都有两条退出线,如图6-10所示。所以g不是一个基本程序。图610两条退出线的结构,任何结构化程序
11、都可以由这些基本程序组成。有许多形式的基本程序。显然,上述三种基本控制结构和两种扩展控制结构都是基本程序。因此,并非所有的基本程序都是必要的。为了构造程序,只能使用一些基本程序。基本集定义6-5用于构造程序的一组基本程序称为基本集。例如,下列集合可以被选择为基本集合:序列、如果-然后-否则、进行中或序列、如果-然后-否则、重复-直到等。6.3.5结构化程序复合程序定义6-6如果一个基本程序的功能节点被另一个基本功能程序取代,新的正常程序称为复合程序。结构化程序定义6-7由一组固定的基本程序构成的复合程序称为结构化程序。6.4结构化定理,6.4.1程序函数定义8一个正常的程序P是已知的。如果值Y
12、对于每个给定的X是唯一的,那么所有有序对(X,Y)定义一个函数,该函数被称为程序P的程序函数,并且被表示为P,示例1程序P是:t :=X;x:=y。Y:=t然后,对于任何给定的初始数据状态x: (X:(x,y,t),p的最终数据状态将是y: (y,X,X)。因此,程序函数p是:(x,y,t),(y,x,x),这是程序函数的精确描述。如果两个程序具有相同的程序功能,它们执行的功能必须相同。定义6-9如果P1和P2的程序具有相同的程序功能,那么P1和P2在功能上是等同的。结构化定理的理论研究证明,任何问题求解算法都可以表述为结构化方法的构造。理论研究可以概括如下:定理6-1任何正常程序在功能上可以
13、等同于由基集序列产生的结构化程序,如果-那么-否则,当-做。定理6-2:如果不添加辅助变量,不添加额外的计算或不改变程序的执行顺序,那么一定有一个不能用ifwhile表示的结构。定理6-3:在定理1的假设下,ifwhile构造的充要条件是该构造不包含两个(或更多)退出循环。如图613(a)所示,是一个非结构化流程图。通过改变构造的执行顺序,形成了图613(b)所示的结构化流程图,相当于图613(a)。在图613(b)中,A1和A2通过组合来判断,并且“是”意味着A1“否”和A2“否”。图613改变了构造的执行顺序。定理4:如果允许添加辅助变量、添加额外的计算或改变程序的执行顺序,问题解决方案的
14、任何算法都可以表示为结构化构造。在图614(a)所示的结构化流程图中有10个元素。是一个非结构化的流程图程序。由于它的两个选择结构重叠,导致程序段D有两个入口和一个出口,破坏了单一入口和单一出口的结构原理。(a)非结构化流程图,(b)等效结构化流程图,图614将6.4.3非结构化的施工执行顺序更改为结构化1。用结构化定理证明过程提供的方法示例4图6-15中的流程图程序是一个非结构化程序,使用上一节用结构化定理证明过程给出的方法将其转化为结构化程序的步骤如下。(1)节点编号如图6-15所示;图6-15节点号非结构化流程图,(2)图中构造四个节点的新步骤分别如图6-16所示;在图6的第16点构建一
15、个新的流程。(3)获得如图6-17所示的等效结构化程序。图617和图6-15是等效的结构化流程图;2.其他方法,(a)非结构化流程图;(b)等效的结构化流程图;218增加辅助变量的转换;6.4.4过程设计语言(PDL)在伪代码的基础上扩展了模块的定义和调用。PDL一般分为内部和外部语法。内部语法使用一些简单的句子、短语和一般的数学符号来描述程序应该执行的功能。外部语法应该符合通用编程语言中常用的语法规则。1的特征。PDL (1)描述加工过程的描述性语言没有严格的语法。(2)通过模块定义和调用机制,开发人员应该解释PDL根据系统编程中使用的语言来表示相关的程序结构。(3)具有数据描述机制,包括简
16、单数据描述和复杂数据描述。(4)所有关键字都有固定的语法,以便提供结构控制结构、数据描述和模块特征。程序结构(1)序列结构用自然语言描述序列结构:处理S1处理S2处理sn,(2)选择结构如果否则结构如果否则结构案例结构(3)重复结构为结构而结构直到结构,(4)退出结构转义结构(退出该层结构)循环结构(进入循环内的下一个循环)(5)扩展结构模块定义模块调用数据定义输入/输出,6.5图形工具,6.5.1 PAD图(问题分析图)是问题分析图的简称。PAD图由流程图演变而来,将程序控制流的结构表示为二维图形,程序结构清晰,便于结构化程序设计。图619 PAD的基本控制结构。PAD的优点:(1)支持结构化编程的原理。(2)支持渐进细化的设计方法。左层次的内容可以被抽象,然后从左到右逐渐细化。(3)它清楚地反映了程序的层次结构。(4)易于读写,易于使用。(5)程序可以自动生成。箱线图,箱线图也叫南北图或查潘图。控制流线和箭头在方框图中被消除,从而完全消除了控制转移的随机使用对程序质量的影响。箱线图彻底解决了程序结构的问题。箱线图提供的基本结构及其表示见图6-21,分别对应图结构编程的三种基本控制结构和两种扩展结构。图6-21箱线图的基本结构使用箱线图的设计方法是从图的外部结构开始,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保护边境人员管理办法
- 仓库盘点管理办法流程
- 企业仓储物资管理办法
- 仓库货物出租管理办法
- 保税仓储收费管理办法
- 保险日常活动管理办法
- 产业资金扶持管理办法
- 临沂档案查询管理办法
- 传媒集团管理办法细则
- 企业委托安全管理办法
- 小学生卫生健康知识讲座
- 自尊主题班会课件
- 基金公司印章管理办法
- 海洋经济政策效果评估
- 工厂安全生产吹哨人制度模板
- 煤矿井下工程预算课件
- 徳龙全自动咖啡机ECAM 22.110.SB 中文使用说明书
- 2025江苏扬州大数据集团子公司管理人员招聘1人笔试备考题库及一套完整答案详解
- 高三一轮复习学案 铁及其重要化合物(课中案)
- 单刀赴会课本剧:演绎三国英雄的高光时刻
- 同等学力申硕临床医学学科综合水平考试历年真题题库-上(A1题)
评论
0/150
提交评论