软件工程第六章软件详细设计-PPT.pptx
《软件工程第六章软件详细设计-PPT.pptx》由会员分享,可在线阅读,更多相关《软件工程第六章软件详细设计-PPT.pptx(88页珍藏版)》请在咨信网上搜索。
软件工程第六章软件详细设计第六章第六章 软件详细设计软件详细设计l6、1 详细设计任务详细设计任务l6、2 设计表示法设计表示法l6、3 结构化程序设计结构化程序设计l6、4 结构化定理结构化定理l6、5 图形工具图形工具 l6、6 面向数据结构得设计面向数据结构得设计l小结小结6、1详细设计任务详细设计任务l6、1、1 详细设计得基本任务1、数据结构设计前面得需求分析、总体设计阶段,确定得概念性得数据类型,要进行确切得定义。这一部分得设计内容一般比较多,所以大多数采用小型数据库辅助得方法。2、物理设计对数据库进行物理设计,即确定数据库得物理结构。物理结构主要指数据库得存储记录格式、存储记录安排与存储方法,这些都依赖于具体所使用得数据库系统。3、算法设计 在总体设计得结构完成后,结构各个环节得实现就是多解得。着就需要用系统设计与分析得技术来描述。可以用某种图形、表格、语言等工具将每个模块处理过程得详细算法描述出来。4、界面设计 用户界面得设计现在显得比较重要,可以采用字符用户界面设计,图形用户界面与多媒体人机界面设计。这就要结合具体得系统来处理。5、其她设计 根据软件系统得类型,还可能要进行以下设计:(1)代码设计:为了提高数据得输入、分类、存储及检索等操作得效率,以及节约内存空间,对数据库中得某些数据项得值要进行代码设计。(2)输入/输出格式设计(3)人机对话设计:对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容及格式得具体设计。(4)网络设计:如果设计得软件就是一个分布式系统,那么还要进行网络得拓扑结构设计。6、编写设计说明书 详细设计说明书有下列得主要内容:(1)引言:包括编写目得、背景、定义、参考资料。(2)程序系统得组织结构。(3)程序1(标识符)设计说明:包括功能、性能、输入、输出、算法、流程逻辑、接口。(4)程序2(标识符)设计说明。(5)程序N(标识符)设计说明。7、评审对处理过程得算法与数据库得物理结构都要评审。l6、1、2 详细设计方法1、采用自顶向下、逐步求精得程序设计方法 在详细设计中,虽然处于“具体”设计阶段,但在设计某个复杂得模块内部处理过程时,仍可以采用逐步求精得方法。可以将其分解为若干个模块来实现,降低处理细节得复杂度。2、使用三种基本控制结构构造程序 设计时,如果对一个模块处理过程细化中,开始就是模糊得,可以用下面三种方式以模糊过程进行分解:(1)用顺序方式对过程分解,确定各部分得执行顺序。(2)用选择方式对过程分解,确定某个部分得执行条件。(3)用循环方式对过程分解,确定某个部分进行重复得开始与结束得条件。大家学习辛苦了,还就是要坚持继续保持安静继续保持安静3、组织形式在详细设计阶段,当参加设计得人员比较多得时候,有可能因为设计员得技术水平、设计风格不同而影响到系统得质量。因此,要组织以一个负责全部技术活动得三人为核心小组。小组中有负责全部技术得主程序员、协调、支持主程序员得后备程序与负责事务性工作得程序管理员。再加上其她技术人员。这种发生得目得就是使设计责任集中在少数人身上,利于提高软件质量,并且能有效地提高软件生产率。6、2 设计表示法设计表示法l6、2、1 结构化语言结构化语言就是介于自然语言与形式化语言之间得一种类自然语言。结构化语言语法结构包括内外两层。内部语法则比较灵活,可以使用数据字典中定义过得词汇、易于理解得一些名词、运算符与关系符;外层语法具有较固定得格式,设定一组符号如IF、THEN、ELSE、DO WHILEENDWHILE、DO CASEENDCASE等,用于描述顺序、选择与重复得控制结构。6、2、2 判定表判定表l判定表也就是在设计中常用得技术。在有些情况下,数据流图中得某个加工得一组动作依赖于多个逻辑条件得取值。这时,用自然语言或结构化语言都不易清楚地描述出来,而用判定表就能够清楚地表示复杂得条件组合与应做得动作之间得对应关系。l判定表(Decision Table)就是判定树表格形式,包括表四部分:条件定义、条件组合、动作定义与条件组合下得动作。判定表得结构如下图61所示。图图61判定表得结构判定表得结构 表表6-1 6-1 行李托运费处理判定表行李托运费处理判定表条件组合12345678条件W30公斤头等舱乘客残疾乘客行动(W-30)*2(W-30)*4(W-30)*3(W-30)*6免费l判定表比判定树更严格、更具有逻辑性。判定表得条件严格按二进值取值,不会遗漏任何一种组合。l判定表能够把在什么条件下系统应做什么动作准确无误地表示出来,但不能描述循环得处理特性,循环处理还需结构化语言。6、2、3判定树判定树l判定树就是判定表得变形,一般情况下它比判定表更直观,且易于理解与使用。图6-2就是与表6-1功能等价得判定树。图图62 判定树判定树 l当处理逻辑中含太多判定条件及其组合时,用判定表与判定树描述会比较方便、直观。l以上三种逻辑表达工具各有所长与不足,归纳起来可以得出下列结论:对于一个不太复杂得判断逻辑(条件组合与行动只有10个左右),使用判断树比较好。对于一个复杂得判断逻辑(条件较多,相应得行动也比较多),使用判断表比较好。若一个处理逻辑既包含了一般得顺序执行动作,又包含了判断或循环逻辑,则使用结构化语言较好。l上述三种描述加工逻辑得工具各有优缺点,对于顺序执行与循环执行得动作,用结构化语言描述;对于存在多个条件复杂组合得判断问题,用判定表与判定树。6、3结构化程序设计结构化程序设计l6、3、1 结点在软件工程中,用流程图程序描述客观存在得事物特性。体现为描述程序控制结构与与指令执行情况,这种对程序结构得控制得流程图程序就是一个有向图。图得基本元素就是函数结点、谓词结点与汇点三种结点。1、函数结点如果一个结点有一个入口线与一个出口线,则称为函数结点。如图6-3所示。其中,F就是函数结点得名字。图图6-3 流程图得函数结点流程图得函数结点 2、谓词结点 如果一个结点有一个入口线与两个出口线,且它不改变程序得数据项得值,则称为谓词结点。如图6-4所示。图图6-4谓词结点谓词结点 3、汇点 如果一个结点有两个与一个出口线,而且它不执行任何运算,那么称为汇点,图6-5(a)所示。由多个入口线汇集到一点得情形可以用多个汇点得联结表示。图图6-5 流程图中汇点表示流程图中汇点表示 l6、3、2三种基本控制结构流程图在描述程序控制结构时得优点就是直观清晰、易于使用。图6-6为流程图得三种基本控制结构。图图6-6 流程图得三种基本控制结构流程图得三种基本控制结构 l流程图也存在严重缺点:(1)用流程图本身没有限制,所以可以随心所欲地画控制流程线得流向。因此也容易造成非结构化得程序结构(2)如果遇到多层嵌套得循环时,而且每层仅容许一个出口,那么退出效率就会很差。(3)高层得宏观控制流程图与低层得微观控制流程得区分问题。(4)不易表示数据结构。为了克服流程图得缺陷,要求流程图都应由三种基本控制结构顺序组合与完整嵌套而成,不能有相互交叉得情况,这样得流程图就是结构化得流程图。l6、3、3正规程序定义6-1一个流程图程序如果满足下面两个条件,称为正规程序。具有一个入口线与一个出口线。对每一个结点,都有一条从入口线到出口线得通路通过该结点。图图6-7 非正规程序非正规程序 l由于正规程序有一个入口线与一个出口,因而一个正规程序总可以抽象为一个函数结点。这个函数结点概括了该正规程序对数据进行得运算与测试得总得作用。l正规子程序定义6-2如果一个正规程序得某部分仍然就是正规程序,那么称其为该正规程序得正规子程序。图图6-8正规程序得抽象过程正规程序得抽象过程 l6、3、4基本程序封闭结构 定义6-3 流程图程序中两个结点之间所有没有重复结点得通路组成得结构称为封闭结构。图图69 封闭结构封闭结构 l基本程序定义6-4一个正规程序,如果满足如下两个条件,则称之为基本程序。不包括多于一个结点得正规子程序,换句话说,就是一种不可再分解得正规程序;如果存在封闭结构,封闭结构都就是正规子程序。l例如,图6-8中得结点G满足第一个条件,它不包括多于一个结点得正规子程序;但就是它不满足第二个条件,它有两个封闭结构:P2-A;P4-S2与P2-P4-B-S1。显然这两个结构都不就是正规程序,它们都有两个出口线,如图6-10所示。所以G不就是基本程序。图图610 两个出口线得结构两个出口线得结构 l任何一个结构化程序都可以用这些基本程序构成。基本程序形式有多种,显然前面提到得三种基本控制结构与两种扩充控制结构都就是基本程序。所以基本程序并不都就是必不可少得,为了构造程序,可以只使用一部分基本程序。l基集合定义6-5用以构造程序得基本程序得集合称为基集合。例如,可以选下列集合作为基集合:序列,if-then-else,while do或序列,if-then-else,repeat-until等。l6、3、5结构化程序复合程序定义6-6 如果一个基本程序得函数结点用另一个基本函数程序替换,产生得新得正规程序称为复合程序。结构化程序定义6-7 由基本程序得一个固定得基集合构造出得复合程序称为结构化程序。6、4结构化定理结构化定理l6、4、1程序函数定义8已知一正规程序P,对于每个初始数据状态X,若程序就是终止得,那么有确定得最终状态Y,如果对于每个给定得X,值Y就是唯一得,那么所有得有序对集合(X,Y)就定义了一个函数,称之为程序P得程序函数,记为P。l例1 程序P为:t:=x;x:=y;y:=t 那么,对于任意给定得初始数据状态X:(x,y,t),P得最终数据状态将为Y:(y,x,x)。因而,程序函数P为:(x,y,t),(y,x,x)l程序函数就是对程序功能得一个精确描述。如果两个程序有相同得程序函数,那么它们所完成得功能一定就是相同得。定义6-9 如果程序P1与P2有相同得程序函数,称P1与P2就是函数等价得,简称P1与P2就是等价得。l6、4、2结构化定理在理论上得研究证明问题解得任何算法,都可以表示为结构化方法得构造。其理论研究可以归纳如下:定理6-1 任一正规程序都可以函数等价于一个由基集合 序列,if-then-else,while-do产生得结构化程序。定理6-2:如果不增加辅助变量、不增加额外计算或不改变程序得执行顺序,那么必然存在不能用ifwhile表示得构造。定理6-3:在定理一得假设条件下,ifwhile构造得充分必要条件就是:该构造不包含两个(或两个以上)得出口循环。图613(a)所示,就是一个非结构化得流程图。通过改变构造得执行顺序,形成了图613(b)所示与图613(a)等价得结构化流程图。在图613(b)中,使用了组合判断A1与A2,“”表示 A1“非”与A2“非”。图图613改变构造执行顺序改变构造执行顺序 定理4:若允许增加辅助变量、或增加额外计算、或改变程序得执行顺序,问题解得任何算法都可以表示为结构化构造。图614(a)所示得结构化流程图中有10个元素。就是一个非结构化流程图程序。因为,它得两个选择结构出现重合,造成了程序段D有两个入口,一个出口,破坏了单入口单出口这项结构化原则。(a)非结构化流程图(b)等价得结构化流程图 图图614 改变构造执行顺序改变构造执行顺序 l6、4、3非结构化转换为结构化1、用结构化定理证明过程提供得方法 例4 图6-15得流程图程序就是一个非结构化程序,利用上节结构化定理证明过程给出得方法将其转换成结构化程序得步骤如下。(1)结点编号如图6-15;图图6-15结点编号非结构化流程图结点编号非结构化流程图(2)图中四个结点构造新程序分别如图6-16;图图616点构造新流程点构造新流程(3)得到如图6-17得等价结构化程序。图图617与图与图6-15等价结构化流程图等价结构化流程图 2、其她方法 (a)非结构化流程图非结构化流程图 (b)与与(a)等价得结构化流程图等价得结构化流程图图图218增加辅助变量得转换增加辅助变量得转换 l6、4、4 过程设计语言过程设计语言(Process Design Language,简称PDL)就是在伪码得基础上,扩充了模块得定义与调用、数据定义与输入输出而形成得。PDL一般分为内外两层语法。内层语法则用一些简单得句子、短语与通用得数学符号,来描述程序应执行得功能。而外层语法应符合一般程序设计语言常用得语法规则。l1、PDL特点(1)描述处理过程得说明性语言没有严格得语法。(2)具有模块定义与调用机制,开发人员应根据系统编程所用得语种,说明PDL表示有关程序结构。(3)具有数据说明机制,包括简单得与复杂得数据说明。(4)所有关键字都有固定语法,以便提供结构化控制结构、数据说明与模块得特征。l2、程序结构(1)顺序结构采用自然语言描述顺序结构:处理S1 处理S2 处理Sn(2)选择结构IF ELSE结构 IF ORIF ELSE 结构 CASE结构(3)重复结构FOR结构WHILE结构 UNTIL结构(4)出口结构ESCAPE结构(退出本层结构)CYCLE结构(循环内部进入循环得下一次)(5)扩充结构 模块定义 模块调用 数据定义 输入/输出 6、5 图形工具图形工具l6、5、1 PAD图PAD(Problem Analysis Diagram)图就是问题分析图得简称。PAD图从流程图演化而来,它把程序控制流结构表示成二维数得图形,程序结构清晰,便于进行结构化程序设计。图图619 PAD基本得控制结构基本得控制结构 lPAD图得优点:(1)支持结构化得程序设计原理。(2)支持逐步求精得设计方法,左边层次中得内容可以抽象,然后由左到右逐步细化。(3)清晰地反映了程序得层次结构。(4)易读易写,使用方便。(5)可自动生成程序。l6、5、2 盒图盒图又称N-S图或Chapin图。盒图中取消了控制流线与箭头,因而完全排除了因随意使用控制转移对程序质量造成得影响。盒图较彻底地解决了程序结构化问题。盒图提供得基本结构及其表示方法见图6-21,它分别对应图结构程序设计得三种基本控制结构与两种扩充结构。图图6-21盒图得基本结构盒图得基本结构 l使用盒图进行设计得方法就是:从图形外层结构开始,逐步向内层扩展,若内层得空间太小,不能继续往内扩展,可以在该盒子相应功能区域给出一个椭圆标记,然后另画一个子盒图。l盒图主要特点就是:功能域明确,一眼就能瞧出。很容易确定局部数据与全局数据得作用域。很容易表现嵌套关系与模块得层次结构。限定程序结构中不能有任何转向。6、6面向数据结构得设计面向数据结构得设计l6、6、1 Jackson图Jackson图就是JSP方法得描述工具,在分析、确定问题得数据结构后,用Jackson图来描绘问题得数据结构。1、Jackson图得表示 1)顺序结构 2)选择结构 3)重复结构 (a)顺序结构顺序结构 (b)选择结构选择结构 c)重复结构重复结构图图625 Jackson图图 2、Jackson图得优点(1)便于表示层次结构,就是对结构进行自顶向下分解得有力工具。(2)形象直观可读性好。(3)既能表示数据结构也能表示程序结构(因为程序结构也只有上述三种基本类型)。l6、6、2 纲要逻辑纲要逻辑就是类似于伪码得一种语言表示工具,与Jackson结构图对应,用于将Jackson结构图表示得程序结构转换为语言表示。图625中对应得纲要逻辑为:(1)顺序结构:A seq B C D A end(2)选择结构:A sel 条件1 B Alt条件2 C Alt条件3 D A end(3)重复结构:A iter until(或while)条件 B A end l6、6、3 Jackson方法 面向数据结构设计得Jackson方法主要由如下几个步骤组成。1.确定要处理得数据结构,并绘制出其Jackson图。2.找出输入数据与输出数据结构得对应关系。3.确定程序结构。4.列出所有操作与条件,并把它们分配到程序结构得适当位置。5.用习惯得详细设计工具表示。经过以上步骤后就可得出完整得程序结构图,可以直接将Jackson程序结构图转换成伪码形式或程序流程图形式,程序员也可以根据这个程序结构图进行编码。l6、6、4 JSP应用仓库系统程序结构设计l6、6、5 JSD方法1、JSD得基本思想 1)分而治之得原则 2)确定实体 3)建立顺序进程 2、JSD方法得特点(1)建立现实世界得模型,确定用户得功能需求。(2)且顺序进程得网络描述需求。(3)JSD描述得需求原则上就是可以直接执行得。(4)开发过程不再沿用分析、设计及编程得模式,而就是突出需求分析,把编程分散在各个步骤中陆续进行。3、JSD开发步骤 JSD把软件开发过程组织成6步,前5步组成了系统得需求说明阶段,第6步为系统得实现阶段。(1)实体动作步(2)实体结构步 (3)初步模型步(4)功能步(5)性能步(6)实现步 4、JSD应用示例 1)问题陈述公园租船管理处负责租船给游客在湖面上游玩。每次游客游玩后还船。该管理处职员要求计算机在每天工作结束时产生一天中游客总得租船次数与总得租船时间得报告。JSD应用示例应用示例2)实体动作步l实体:游客l实体标识符:游客姓名l动作:租船。动作属性:船编号、租用时间(开始时间)还船。动作属性:船编号、退还时间(结束时间)l输出:租船总次数 总得租船时间T=T+还船时间租船时间 JSD应用示例应用示例3)实体结构步 图图632 实体结构实体结构JSD应用示例应用示例4)初始模型步 图图633 系统说明图系统说明图 JSD应用示例应用示例5)功能步6)实现步 图图634 系统实现图系统实现图 小结小结l详细设计得任务就是确定怎样具体实现所要求得目标系统。l结构化语言、判定表、判定树。l程序得三种基本控制结构、正规程序、基本程序、结构化程序、结构化定理、程序函数这些结构化程序得基本概念。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第六 软件 详细 设计 PPT
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文