软件工程:第06章详细设计.ppt
《软件工程:第06章详细设计.ppt》由会员分享,可在线阅读,更多相关《软件工程:第06章详细设计.ppt(101页珍藏版)》请在三一办公上搜索。
1、第六章 详细设计,How to do detailedly?,详细设计,详细地确定怎样具体地实现系统。给出目标系统的详细描述。设计模块内部的处理过程。结构化程序设计是详细设计的逻辑基础。为编码实现、测试方案设计提供蓝图。,第6章 详细设计,6.1 结构程序设计6.2 人机界面设计6.3 过程设计的工具6.4 面向数据结构的设计方法6.5 程序复杂程度的定量度量,6.1 结构程序设计,结构化程序设计“结构程序设计是尽可能少用GO TO语句的程序设计方法。最好仅在检测出错误时才使用GO TO语句,而且应该总是使用前向GO TO语句”,“程序的质量与程序中所包含的GO TO 语句的数量成反比”。E.
2、W.Dijkstra,1965。基本的程序控制结构Bohm和Jacopini证明了:3种基本的控制结构(顺序,选择,循环)就能实现任何单入口单出口的程序。实际上,顺序结构和循环结构理论上是的最基本的控制结构。,三种基本的控制结构,图6.1 3种基本的控制结构,顺序结构,分支结构,循环结构,其他常用的控制结构,图6.2 其他常用的控制结构,多项选择结构,后置循环结构,结构程序设计指导准则,经典的结构程序设计:只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构;扩展的结构程序设计:除了上述3种基本控制结构之外,还允许使用DO-CASE型多分支结构和DO-UNT
3、IL型循环结构;修正的结构程序设计:除上述结构以外,还允许使用LEAVE(或BREAK)结构。使用GO TO语句的原则:结构程序设计是不使用(或尽可能少用)GO TO语句的程序设计方法。仅在检测出错误时才使用GO TO语句,而且总是使用后向GO TO语句。,6.2人机界面设计,6.2.1设计问题6.2.2设计过程6.2.3人机界面设计指南,6.2.1设计问题,1.系统响应时间 响应时间的长度:适中相应时间的易变性:同一类操作的响应时间不要差异太大。2.用户帮助设施 脱机帮助手册附加的联机帮助集成的联机帮助上下文相关的联机帮助3.出错信息(及警告信息)处理 如何办,用户心理4.命令交互多媒体(图
4、,文,声,光)自定义宏指令控制序列(CTRL+字母),6.2.2设计过程,迭代的设计过程创建设计模型原型实现评估复审进一步精化评估复审的准则系统规格说明书的长度和复杂程度动作、命令中的包含的平均参数个数及操作个数设计模型中包含的动作、命令、状态的数量界面风格、帮助设施、出错处理的友好性,6.2.3人机界面设计指南,界面的类别界面应具有的基本特性界面设计指南界面设计的任务界面的基本形式(举例),用户界面的类别,一般交互界面“一般交互”包括信息显示、数据输入、系统整体控制。这一部分指南具有全局性意义,对系统界面好坏影响极大。信息显示界面指显示信息时要注意的问题。显示的信息应该是完整的、无二义的、好
5、理解的,这样才能满足用户要求。信息“显示”的不同方式:文字/图形/声音;不同位置/移动;不同大小;不同颜色/分辨率;等等。数据输入界面数据输入界面,是系统的重要组成部分。主要从输入效率和减少出错率考虑。用户一般会花费大量的时间在命令操作和数据输入操作,因此友好的数据输入操作非常必要。不同输入手段(介质/设备):键盘、鼠标、数字化仪、扫描仪、语音、照片、视频等等。,1、可使用性 使用简单 用户界面中所用术语的标准化和一致性 具有HELP功能 快速的系统响应和低的系统成本 具有容错能力2、灵活性 考虑用户的特点、能力、知识水平。提供不同的系统响应信息。提供根据用户需求制定和修改界面。3、界面的复杂
6、性与可靠性复杂性界面规模及组织的复杂程度。应该愈简单愈好。可靠性指无故障使用的时间间隔。用户界面应该能够保证用户正确、可靠地使用系统,及程序、数据的安全。,用户界面应具有的基本特性,一般交互界面设计指南,保持界面格式的一致性提供有意义的反馈信息重要操作要确认:如新增0次确认、修改1次确认、删除2次确认为大部分操作提供“回退”(Undo)减少两次操作之间的记忆的信息量(自动补充缺省值)提高操作效率:思考、对话、按键、光标移动等效率容许错误操作,出错后不会对系统造成严重影响操作功能/动作分类,屏幕合理布局提供操作的帮助设施简单易懂的命令名,信息显示界面设计指南,只显示当前工作相关的信息以合适的形式
7、显示信息:图形?图表?清单?以统一的风格显示信息:统一的标记、标准的缩写、预定的颜色、确定的位置等提供可视化的显示环境产生有意义的出错信息使用格式化的显示板式:大小写、缩进、文本分段等使用窗口分隔不同类型信息使用“模拟”显示方式表示信息:数字仪表盘技术合理高效地使用物理显示屏,数据输入界面设计指南,尽量减少用户的输入动作,使按键最少,如对相同内容输入设置默认值、自动填入、列表选择或点击选择等。保持信息显示和数据输入一致性:视觉效果一致容许用户自定义输入:为专家级用户提供的机制提供灵活的交互方式:键盘、鼠标等,适应不同用户休眠(disable)当前动作语境中不用的命令让用户控制交互流:灵活的操作
8、顺序和恢复机制对所有输入动作都提供帮助消除冗余的输入,用户界面设计的任务,1、用户特性分析 用户模型 了解所有用户的技能和经验,针对用户能力设计或更改界面。从以下方面分析:用户类型通常分为:外行型、初学型、熟练型、专家型。用户特性度量与用户使用模式和用户群体能力有关。包括:用户使用频度、用户用机能力、用户的知识、思维能力等。2、用户界面的任务分析 任务模型(DFD图)是对系统内部活动的分解,不仅要进行功能分解(用DFD图描述),还要包括与人相关的活动(人工操作)。每个加工即一个功能或任务。3、确定用户界面类型从用户角度出发,用户界面设计的类型主要有问题描述语言,数据表格、图形与图标、菜单、对话
9、框及窗口等。每一种类型都有不同的特点和性能。,用户界面的基本形式举例,菜单程序中功能的选择、数据的选择图象将数据可视化地展示图表显示统计数据、对比的数据仪表盘动态变化的数据、仿真的数据对话框初始数据、任意数据的输入窗口综合界面,可包含数据输入、信息显示、功能选择操作等。,菜单(menu),图3.54 混合菜单,图3.55 固定及下拉菜单,固定菜单,下拉菜单,按照显示方式正文菜单、图标菜单、正文和图标混合菜单,如:开始菜单按屏幕位置和操作风格固定位置、浮动位置(弹出)、下拉式、嵌入式,在用户界面中,加入丰富多彩的画面,将能够更加行象地为用户提供有用的信息,以达到可视化的目的。主要的处理操作有:图
10、象的隐蔽和再现、屏幕滚动和图案显示、动画等。,图象,图表,图表主要形式:折线图、直方图、饼图等图表的用途:显示时间变化数据、统计数据、对比数据等,仪表盘,仿真仪表面板,直观、动态地显示数据适合于动态数据、性能参数、比较数据的显示,对话框是在需要时,显示在屏幕上一个矩形区域内的图形和正文信息。通过对话,实现系统和用户之间的通信。对话框显示的方式与弹出式菜单类似,即瞬时弹出。同时,系统还应将对话框所覆盖的原图象进行保存,以便在对话结束后能立即恢复。有三种对话形式:,必须回答式如图3.58所示无需回答式 如图3.59所示警告式 如图4.58所示,图3.58 必须回答式对话框,图3.59 无需回答式对
11、话框,图3.60 警告式对话框,对话框,即视图区(Viewport),视为虚拟屏幕。一个实用窗口,可包含部件:菜单区(menu bar)图标区(icon bar)标题区(title bar)移动区(move bar)大小区(size bar)退出区(quit bar)用户工作区(users work bar)横向滚动区(horizontal scroll bar)纵向滚动区(vertical scroll bar),图3.61 窗口,窗口(window),用户界面实例,系统信息管理仪表盘界面设计,系统实时动态运行界面设计,6.3 过程设计的工具,6.3.1 程序流程图6.3.2 盒图(N-S图
12、)6.3.3 问题分析图(PAD图)6.3.4 判定表6.3.5 判定树6.3.6 过程设计语言(PDL),6.3.1 程序流程图,程序流程图的作用程序流程图(Progran flowchart)作为一种算法表达工具,是人们对解决问题的方法、思路或算法的一种描述。国家标准GB1525-89:信息处理-数据流程图,程序流程图,系统流程图,程序网络图和系统资源图的文件编制符号及约定国际标准化组织标准ISO5807-85:Information processing-Documentation symbols and comventions for data,program and system f
13、lowcharts,program network charts and system resources charts优点采用简单规范的符号,画法简单;结构清晰,逻辑性强;便于描述,容易理解。缺点本质上不是“自顶向下、逐步求精”的设计工具(容易引导过早关注细节)不是结构化设计工具(流向线可以随意连),程序流程图的基本符号,起始框终止框执行框判别框流线,程序流程图的符号,图6.3 程序流程图中使用的符号,程序流程图的符号(续),(a)判断(菱形)只有一个入口,但可以有一个或二个出口,在出口流线上注明判断的条件(真、假)(b)注解符(纵边线和虚线构成)用以标识注解的内容。(c)特定处理(带有双纵
14、边线的矩形)表示已命名的特定处理.该处理为在另外地方已得到详细说明,如子例行程序。(d)多重选择(多出口菱形)只有一个入口,但可以有多个可供选择的出口。在出口流线上注明满足选择条件的值。(e)端点符(扁圆形)表示转向外部环境或从外部环境转入.如程序流程的起始或结束,数据的外部使用起点或终点.(f)准备(六边形符号)它表示修改一条指令或一组指令以影响随后的活动.例如,设置开关,初始化例行程序.(g-h)循环界限(去角矩形)表示循环的开始和循环的结束.一对符号内应注明同一循环标识符。,程序流程图的符号(续),(i)虚线用于表明被注解的范围或连接被注解部分与注解正文。.(j)省略符(三点构成)若流程
15、图中有些部分无需给出符号的具体形式和数量,可用省略符。(k)并行方式(一对平行线)表示同步进行两个或两个以上并行方式的操作.。(l)处理(矩形)表示各种处理功能.例如,执行一个或一组特定的操作,矩形内可注明处理名。(m)数据(平行四边形)表示数据,其中可注明数据名,来源,用途或其它的文字说明。(n)连接符(圆形)用以表明转向流程图的它处,或从流程图它处转入.它是流线的断点,在圆形内注明断编号(符号)。(o)连接符(锥形)用以表明转向另一流程图,或从另一流程图转入.它是流线图的断点,在锥形内注明流程图编号(名称)。(p).流线(箭头直线)表示控制流的流向.,a,b,X1,X2,X7,X6,X4,
16、X3,X5,h,i,g,f,e,d,c,j,F,T,F,F,F,T,T,T,多分支选择结构,先判定型循环结构,选择结构,后判定型循环结构,程序流程图例,6.3.2 盒图(N-S图),盒图盒图(N-S图)是一种符合结构化程序设计(SP)的图形工具。其结构化具有强制性。N-S图的基本结构N-S图仅含有图6.4的5种基本成分,它们分别表示SP方法的几种标准控制结构。N-S图的数据盒和模块盒用NS图作为详细设计的描述手段时,常需用两个盒子:数据盒和模块盒。前者描述有关的数据,包括全程数据、局部数据和模块界面上的参数等,后者描述执行过程。N-S图的主要特点:每种结构的功能域明确不可能任意转移(go to
17、)控制很容易确定局部和全局数据作用域很容易表现结构的嵌套关系和模块的层次结构简单、易学易用NS图的缺点手工修改比较麻烦,这是有些人不用它的主要原因。,盒图,NS图基本结构,图6.4 盒图的基本符号,顺序,选择,多重选择,前置/后置条件循环,调用子程序,a,b,条 件 1,T,F,Case Xi,i=2,3,4,X2,X3,X4,当条件3成立,条 件 2,直到条件4成立,直 到 条 件 成立,c,d,e,f,g,h,i,j,顺序结构,选择结构,多分支选择结构,先判定型循环结构,后判定型循环结构,F,T,T,F,NS图举例,N-S图举例,模块的数据盒和过程盒,6.3.3 问题分析图(PAD图),P
18、ADPAD(Problem Analysis Diagram,问题分析图)是日立公司创立的一种采用二维(平面)、树形结构表示程序的控制结构的结构化设计方法。PAD为多种高级程序设计语言(Fortran、Cobol、Pascal等)根据其语言结构特点都设计了一套符号。PAD的优点结构化:采用结构化的PAD设计出的程序必定是结构化的。程序结构清晰:垂直(竖线)方向表明了结构的顺序,水平方向(结构)表明了结构嵌套的层次及深度(竖线的数目)。程序逻辑清晰:很好地表现程序逻辑,易读、易懂、易记。自上而下、从左向右执行,可遍历程序的所有节点(图论中的“广度优先”遍历)。易于转换成高级程序设计语言的源程序:
19、PAD规范,易于自动转换,有利于提高软件可靠性和生产率。表达能力强:既可容易地表达程序逻辑,也可表达数据结构。支持“自顶向下、逐步求精”的设计方法:在上层进行抽象,使用“def”符号在下层逐步细化。PAD的不足水平嵌套层次太深时,表达显得有点凌乱。,PAD图的基本控制结构,(a)顺序结构(b)选择结构(c)多分枝选族结构(d)前置条件循环结构(e)后置条件循环结构(f)语句标号(g)定义,图6.5 PAD图的基本符号,PAD使用“def”逐步求精示例,图6.6 使用PAD图提供的定义功能来逐步求精的例子,PAD示例,BEGIN FIRST:=K1;SECOND:=0;FOR I:=2 TO N
20、 DO BEGIN IF KISECOND THEN BEGIN IF KIFIRST THEN BEGIN SECOND:=FIRST;FIRST:=KI END ELSE SECOND:=KI END ENDEND.,FIRST=KISECOND=0,SECOND=FIRSTFIRST=KI,SECOND=KI,PASCAL源程序段,对应PAD图,PAD应用示例,算法功能:在数组K1.N中(所有元素不小于0),找出最大(FIRST)和次大(SECOND)的数。,6.3.4 判定表,判定表表达复杂的条件组合与需执行的动作之间的对应关系的一种关系表。判定表由四部分组成:基本条件条件组合矩阵(规
21、则,或条件表达式)基本动作动作组合矩阵(条件组合对应要执行的动作)判定表特点可准确地表达“规则-操作”条件表达式(规则)可简化只适用于此,作为其他设计工具的补充,规则,动作,判定表:示例1,假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。,判定表:示例2,假设某大学要从学生中挑选男子篮球队队员,基本条件是:各门课程的平均分在70分以上,身高超过180米,体重超过75千克。需要从学生
22、登记表中挑选出符合上述条件的男同学,并列出他们的姓名和住址,以便进一步选拔。,6.3.5 判定树,判定树用树型结构表示条件组合与应做的动作之间的关系。是判定表的变种。判定树的特点与判定表相比,能更清晰地表达复杂的条件组合关系。形式简单,易于使用,易于理解所表达的条件-动作关系的含义。,判定树例,图6.6 用判定树表示计算行李费的算法,6.3.6 过程设计语言(PDL),PDL(Procedure Design Language)过程设计语言PDL也称为“伪码”或“伪语言”,是一种介于自然语言和程序设计语言之间的软件设计语言。PDL是非形式化比较灵活结构化的语言,用于描述模块内部过程的具体算法,
23、以便在开发人员之间比较精确的进行交流。PDL的语法PDL的语法是开放式的,其外层语法是确定的,采用类似于一般程序设计语言控制结构和关键字。为了区别关键字,关键字一律大写,其它单词一律小写。而内层语法则不确定,一般使用自然语言(或半形式化语言)来描述处理特性。内语法比较灵活,只要写清楚就可以,不必考虑语法错,以利于人们可把主要精力放在描述算法的逻辑上。这种语法一般称为“类-程序设计语言”,如Like-C,Like-JAVA,Like-Pascal等。,PDL特点、优点和缺点,PDL特点结构描述:固定的关键字词法;固定的程序结构语法;结构化的控制结构;模块化。处理描述:采用自然语言或半形式化语言描
24、述操作、处理。数据描述:规范的数据说明(定义),包括简单数据结构(如标量、数组)和复杂数据结构的定义(如记录、链表)。PDL优点PDL程序易于编写和编辑,使设计人员关注程序的逻辑而不是程序的语法。PDL程序转化成程序设计语言程序时,可用作很好的注释,提高了程序的可读性、可维护性。存在将PDL转化成程序代码的自动化工具。PDL缺点描述有些算法不如图形化工具形象直观。描述复杂的条件组合与动作间的对应关系时,不如判定表清晰简单。,PDL控制结构语法例,顺序结构p1;P2;pn,多分支选择结构DO CASE OF c c1:p1 c2:p2 cn:pn otherewise:pn+1ENDCASE,前
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 06 详细 设计
链接地址:https://www.31ppt.com/p-6063565.html