软件工程(第二版)-电子教案-卢潇 第5章详细设计

上传人:E**** 文档编号:89451818 上传时间:2019-05-25 格式:PPT 页数:52 大小:183KB
返回 下载 相关 举报
软件工程(第二版)-电子教案-卢潇 第5章详细设计_第1页
第1页 / 共52页
软件工程(第二版)-电子教案-卢潇 第5章详细设计_第2页
第2页 / 共52页
软件工程(第二版)-电子教案-卢潇 第5章详细设计_第3页
第3页 / 共52页
软件工程(第二版)-电子教案-卢潇 第5章详细设计_第4页
第4页 / 共52页
软件工程(第二版)-电子教案-卢潇 第5章详细设计_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《软件工程(第二版)-电子教案-卢潇 第5章详细设计》由会员分享,可在线阅读,更多相关《软件工程(第二版)-电子教案-卢潇 第5章详细设计(52页珍藏版)》请在金锄头文库上搜索。

1、详细设计的任务 详细设计的原则 详细设计的方法和工具 详细设计的规格说明与复审 界面设计 软件体系结构 几种新型的软件体系结构 软件体系结构与操作系统,第5章 详细设计,详细设计的基本任务: 1、为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。 2、对模块内的数据结构进行设计。对需求分析、概要设计确定的概念性的数据结构进行确切的定义。 3、对数据库进行物理设计。确定数据库的物理结构(数据库存储记录格式、存储记录的安排、存储方法等,这些取决于使用何种数据库系统)。 4、其它设计。如代码设计、输入/输出格式设计、人机对话设计等。 5、模块测试用例设计

2、。 6、编写详细设计说明书。 7、评审。,详细设计的任务,详细设计的原则: (1) 模块的逻辑描述要清晰易读、正确可靠。 (2)详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。 (3)选择恰当描述工具来描述各模块算法。,详细设计的原则,1 、 详细设计的方法 结构程序化设计方法(SP方法) 是详细设计的逻辑基础。 在对“GOTO”语句争论中产生结构程序设计方法学并广泛应用。 定义:结构化程序设计是一种设计程序的技术,它采用自顶向下、逐步求精的设计方法。而且任何程序都可以通过顺序、分支、重复3种基本结构的复合实现。 结构化程序设计的宗旨是,通过

3、始终保持各级程序单元的单入口单出口控制结构,使设计出来的程序结构清晰,容易阅读,容易修改和容易验证。,详细设计的方法和工具,结构化程序设计方法基本要点: 1、采用自顶向下、逐步求精的程序设计方法。在设计某模块的内部处理过程中,仍逐步求精,降低处理细节的复杂程度。 2、采用三种基本控制结构构造程序。任何程序都可由顺序、选择、重复三种基本控制结构构造。(三种基本控制结构的共同点是单入口、单出口)。对一个模块处理过程细化时,开始是模糊的,可用以下方法进行分解: 用顺序方式对过程分解,确定各部分的执行顺序; 用选择方式对过程分解,确定某部分的执行条件; 用循环方式对过程分解,确定某部分进行重复的开始和

4、结束条件; 对处理过程仍然模糊的部分,反复使用以上分解方法,最终确定细节。 3、主程序员组的组织形式。,详细设计的方法和工具,结构化程序设计方法在设计处理过程时,要注意以下几点: 首先考虑程序完成的主要功能,细节问题(如出错处理、例外情况等)放在求精的步骤中考虑。 要考虑判断处理和重复处理的问题,特别是判断的条件、重复开始和终止的条件,把这些条件要写在算法中,可借助判定表把判定的条件及动作整理出来,不至于有漏掉及冗余的情况。 要考虑数据对程序的影响,外部数据一般在数据字典中有定义,而模块内部定义的数据,不会在数据字典中出现,应列出表来,有利于算法的理解。 三种基本控制结构只能按顺序出现或完整嵌

5、套,不能出现相互交叉的情况,否则算法就是非结构化的,不易于理解与修改。,详细设计,2、 详细设计的工具 图形工具:利用图形工具可将过程的细节用图形描述出来; 表格工具:可以用一张表来描述过程的细节,在表中列出各种可能的操作和相应的条件; 语言工具:用某种高级语言(称之为伪码)来描述过程的细节。 下面介绍一些有代表性的详细设计工具:,详细设计的方法和工具,2、 详细设计的工具 下面介绍一些有代表性的详细设计工具: (1)程序流程图 程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。它的主要优点是独立于任何一种程序设计语言,能够比较直观和清晰地描述过程的控制流程,易于学习掌握。

6、为使流程图支持结构化程序设计,限制在流程图中只能使用下述的五种基本控制结构。,详细设计的方法和工具,程序流程图:是使用最广泛、历史最悠久的描述程序逻辑结构的工具。,详细设计的方法和工具,顺序,选择,多分支选择,“当型”循环,“直到型”循环,F,T,T,F,注: 其中A或B为: 非转移语句(可以为空)。 三种基本结构之一。,2、 详细设计的工具 (1)程序流程图 程序流程图的主要缺点如下: 程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构; 程序流程图使用的符号不规范,图中用箭头代表控制流,程序员不受任何约束,可以完全不顾结构程序设计的原则,随

7、意转移控制; 程序流程图不易表示数据结构; 对于大型软件而言,流程图过于琐碎,不容易阅读和修改。,详细设计的方法和工具,(2)N-S图:是一种符合结构化程序设计原则的图形描述工具。在n-s图中,为了表示五种基本控制结构,规定了五种图形构件 。,详细设计的方法和工具,顺序,多分支选择,WHILE重复型,注: 其中P为循环条件,S为循环体。,选择,DO-UNTIL P,S,S,UNTIL重复型,2、 详细设计的工具 (2)N-S图有下述特点: 功能域(一个特定控制结构的作用域)明确,图中每个矩形框(除CASE构造中表示条件取值的矩形框外),就是功能域。 不可能任意转移控制,约束设计人员必须遵守结构

8、化程序设计的要求。 在盒图上很容易确定局部和全程数据的作用域。 很容易表现嵌套关系,也可以表示模块的层次结构。,详细设计的方法和工具,(3)PAD图:问题分析图。是日本日立公司1979年提出的一种算法描述工具,它的结构是由左向右展开的二维树型结构。,详细设计的方法和工具,选择,顺序,F,T,条件,多分支选择,A,C,B,CASE 值1,值2,值n,PAD基本控制结构,(3)PAD图:,详细设计的方法和工具,def,“当型”循环,“直到型”循环,定义A(对A细化),PAD基本控制结构,PAD图举例:将数组A(1)到A(10)进行选择法排序的算法描述。,详细设计的方法和工具,PAD图的控制流程为自

9、上而下、从左到右。,PAD图举例:将数组A(1)到A(10)进行选择法排序的算法描述。,详细设计的方法和工具,PAD图的控制流程为自上而下、从左到右。,PAD图的优点: 1、清晰地反映了程序的层次结构。图中的竖线为程序的层次线,最左边的竖线是程序的主线,其后一层一层展开,层次关系一目了然。 2、支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐步细化。 3、易读易写,使用方便。 4、支持结构化的程序设计原理。 5、可以自动生成程序。PDA图有对照FORTRAN、Pascal、C等高级语言的标准图式,因此,在有PDA系统的计算机上(如日立公司的系列机),可以直接输入PDA图,由计算

10、机自动通过走树的方法生成源程序代码,为软件的自动生成提供了有力的工具。,详细设计的方法和工具,详细设计的方法和工具,(4) PDL(过程设计语言) PDL:过程设计语言,又称程序描述语言。 PDL与需求分析中采用的结构化语言统属于伪码。伪码的结构分为内外两层,外语法应符合一般程序设计语言常用的语法规则,而内层语法则用一些简单的句子、短语和通用的数学符号。 由于它们的作用不同,故抽象程度不同,模糊程度也不同。“结构化语言”是描述加工“做什么”的,且要能使开发人员和用户都能看懂,因此无严格的外语法,内层自然语言描述较抽象、较概括。 而PDL是描述处理过程“怎样做”的细节,故外层语法更为严格,更趋于

11、形式化,内层自然语言描述实际操作更详细。,详细设计的方法和工具,PDL作为一种用于描述程序逻辑的语言,具有以下特点: 有固定的关键字外语法,提供全部结构化控制结构、数据说明和模块特征 内语法使用自然语言来描述处理特性,为开发者提供方便,提高可读性。 具有数据说明机制,包括简单的(如标量和数组)与复杂的(如链表和层次结构)的数据结构。 具有子程序定义与调用机制,用以表达各种方式的接口说明。 提供的机制比图形全面,为保证详细设计与编码的质量创造了有利条件。 可作为注释,也可同高级语言一样进行编辑、修改,便于维护。 可自动生成代码,提高软件生产率。,详细设计的方法和工具,PDL表示的程序结构有如下几

12、种: 1、顺序结构:采用自然语言描述。 2、选择结构:IF-ELSE结构; IF-ORIF- ELSE结构; CASE结构。 3、重复结构:FOR结构; WHILE UNTIL结构。 4、出口结构:ESCAPE结构(退出本层循环); CYCLE结构(循环内部进入下一次循环)。 5、模块定义与调用:PROCEDURE-RETURN CALL 模块名 6、数据定义:DECLARE 属性 变量名 7、输入/输出:GET(输入变量名表),PUT (输出变量名表),详细设计的方法和工具,3、详细设计工具的选择 为满足过程描述易于理解、复审和维护进而过程描述能够自然地转换成代码,并保证详细设计与代码完全一

13、致的原则,要求设计工具具有下述属性。 (1)模块化:支持模块化软件的开发,并提供描述接口的机制。 (2)简洁:设计描述易学、易用和易读。 (3)便于编辑:支持后续设计和维护以及在维护阶段对设计进行的修改。 (4)机器可读性:设计描述能够直接输入,并且很容易被计算机辅助设计工具识别。 (5)可维护性:详细设计应能够支持各种软件配置项的维护。,详细设计的方法和工具,3、详细设计工具的选择 (6)自动生成报告:设计者通过分析详细设计的结果来改进设计。通过自动处理器产生有关的分析报告,进而增强设计者在这方面的能力。 (7)强制结构化:详细设计工具能够强制设计者采用结构化构件,有助于采用优秀的设计。 (

14、8)数据表示:详细设计具备表示局部数据和全局数据的能力。 (9)逻辑验证:软件测试的最高目标是能够自动检验设计逻辑的正确性,所以设计描述应易于进行逻辑验证,进而增强可测试性。 (10)编码能力:可编码能力是一种设计描述,研究代码自动转换技术可以提高软件效率和减少出错率。,详细设计规格说明与复审,1、 详细设计说明 详细设计说明书是程序工作过程的描述。 详细设计说明的内容主要包括: (1)表示软件结构的图表; (2)对逐个模块的程序描述,包括算法和逻辑流程,插入输出项,与外部接口等。,详细设计规格说明与复审,2、 设计复审 设计复审是指对设计文档的复审。 复审的指导原则 一般情况下不邀请用户和其

15、他领域的代表; 应该欢迎别人提出批评和建议 复审中提出的问题应详细记录,但不谋求当场解决。 复审结束前做出本次复审能否通过的结论。 复审分正式与非正式两种方式。,界面设计,软件的用户界面是用来实现用户与系统的交互的重要桥梁。界面设计的好坏直接影响用户对该软件的印象。 好的用户界面应具有的特点: 易操作性 用户界面中的术语标准化和一致性 拥有“帮助”子系统 系统复杂度的可控性 较短的响应时间和较低的实现成本,界面设计,一般软件的用户界面设计应该达到如下目标: 用户问题和求解要求表现的完整性; 用户接口的专业用语和标识符具有可理解性、易用性和用户习惯表现方式接近; 操作命令简便和用户对软件运行的可

16、控性; 用户接口有容错能力; 快速的系统响应和较低的系统消耗。,界面设计,常规的用户界面设计的步骤是: (1)标识输入文件。 (2)设计输入文件上抽象的数据类型、数据结构以及表格形式。 (3)设计由输入文件转换成软件内部数据结构的算法。 (4)设计装机及初始化操作。 (5)对批处理操作,设计启动点、检查点及重新启动点;对交互式操作,实施进程分割,设计每一进程正确运行的辨认格式及选择下一进程的准则,中间输入的描述格式及启动命令。 (6)设计输出中间结果和最终结果的图表和正文的格式,并确认输出设备。 (7)以用户欢迎的方式和他们易理解的语言缩写“使用手册”初稿。,界面设计,字符界面设计 字符界面是基于命令行方式的用户界面,是交互式计算机系统传统的用户界面, 设计时应考虑以下原则: (1)命令的设计应该适合预期用户的专业水平,针对用户的不同情况,考虑 规则。 (2) 提供风格一致性的命令格式结构 。 (3)命令名字 时应意义明确,简短

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号