惠州学院 软件工程导论 第六章__详细设计 刘宇芳老师
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章 详细设计
一、详细设计概述
1、目的:为软件系统的H图/SC图中的每一个模块确定采用的算法(处理流程)和模块内数据结构,用某种选定的表达工具给出清晰的描述。
2、任务:
用一定的工具精确描述
目标系统
,从而方便在编码阶段可以把这种描述直接翻译成用某种程序设计语言书写的程序。
(1) 确定每一模块的算法(处理流程)
(2) 确定每一模块使用的数据结构
(3) 确定本模块的外部接口和用户界面
(4) 为每一模块设计一组测试用例(单元测试计划)
详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。因此,详细设计的结果基本上决定了最终的程序代码的质量。考虑程序代码的质量时必须注意,程序的“读者”有两个,那就是计算机和人。详细设计不仅要逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程容易阅读和理解
。
二、结构化程序设计
1、什么是结构化程序设计
(1) 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块是单入口、单出口的,则称这个程序是结构化的。
(2) 结构化程序设计是尽可能少用GO TO语句的程序设计方法。最好仅在检测出错误时才使用GO TO语句,而且应该总是使用前向GO TO语句。
(3) 如果允许使用LEAVE(或BREAK)结构,则不仅方便而且会使效率提高很多。LEAVE或BREAK结构实质上是受限制的GO TO 语句,用于转移到循环结构外面的语句。
(4) 如果只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构,P5,则称为经典的结构程序设计;如果除了上述3种基本控制结构之外,还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构,则称为扩展的结构程序设计;如果再加上允许使用LEAVE(或
BREAK)结构,则称为修正的结构化程序设计。
2、结构化程序设计中基本的控制流程
三、人机界面的设计
1、重要性
人机界面设计是接口设计的一个重要的组成部分。对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。近年来,人机界面在系统中所占的比例越来越大,在个别系统中人机界面的设计工作量甚至占总设计量的一半以上。
人机界面的设计质量直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,因此,必须对人机界面设计给予足够重视。
2、涉及到的4个问题:
系统响应时间P14~15
用户帮助设施P15~17
出错信息处理P18~19
命令交互P20~22
3、界面设计过程
用户界面设计中原型设计是一种主要的方法,它是一个迭代的过程:通常先创建设计模型,再用原型实现这个设计模型。用户试用并评估该原型,直接向设计者表述对界面的评价;设计者根据用户意见修改设计并实现下一级原型。上述评估过程持续进行下去,直到用户感到满意,不需要再修改界面设计时为止。
4、人机界面设计指南----是总结众多设计者的经验得出的
一般交互指南----涉及信息显示、数据输入和系统整体控制,因
此,这类指南是全局性的,忽略它们将承担较大风险。
P122,P28~30
信息显示(输出)指南----如果人机界面显示的信息是不完整的、含
糊的或难于理解的,则该应用系统显然不能满足用户的需求。可以用多种不同方式“显示”信息:用文字、图形和声音;按位置、移动和大小;使用颜色、分辨率和省略。 P123,P31~33
信息输入指南----用户的大部分时间用在选择命令、键入数据和向
系统提供输入。在许多应用系统中,键盘仍然是主要的输入介质,但是,鼠标、数字化仪和语音识别系统正迅速地成为重要的输入手段。P123~124,P34~36
在图形界面(或Web界面)环境下,在详细设计中要为每个功能模块设计页面流程图(界面迁移图),并详细设计页面中的每个项目(为每个数据项写数据字典或说明;为每个命令按钮、菜单命令写处理流程。)
四、过程设计的工具
描述程序处理过程的工具称为过程设计工具,它们可以分为图形、表格、和语言3类。不论是哪类工具,对它们的基本要求都是能提供对设计的无歧义的描述。即:应该能指明控制流程、处理功能、数据组织,以及其他方面的实现细节,从而在编码阶段能把对设计的描述直接翻译成程序代码。
以下介绍多种工具,设计时可根据模块的特点选择其中某一种或某几种。
1、程序流程图
基本符号(较完整的符号集合P125图6.3)
可表示的控制结构见前图(结构化程序设计中基本的控制流程)。
举例
优缺点 P38~39
2、盒图(N-S图)
基本符号和表示的结构
举例
特点:P40
3、PAD图
基本符号和表示的结构 P44
举例 P47
优缺点 P43~P46
4、判定表和判定树
判定表的组成: P48
举例:
航空公司托运行李例 P49~50
另例:
特点:
(1) 可以清楚表示条件组合和动作组合之间的关系
(2) 判定树:是判定表的变化形式 P52~54
(3) 不是通用的过程设计工具,宜作为辅助测试工具
5、过程设计语言(PDL)
用伪码表示过程算法;伪码是用英文保留字if … then …
else …end if和while…do …end do等表示的控制结构和设计者本土语言文字所构成算法描述。也就是计算机算法描述中常提到的类高级语言(如类C语言)。
优点:更接近于程序
缺点:作为算法描述,不如框图形象
举例: