欢迎来到天天文库
浏览记录
ID:38314297
大小:938.81 KB
页数:99页
时间:2019-06-09
《软件工程导论(第6章)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1第六章详细设计第一部分:结构设计,回答用什么方法进行详细设计。第二部分:人机界面设计第三部分:过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树等)第四部分:面向数据结构的设计方法(Jackson方法)第五部分:程序复杂程度的定量度量23详细设计的目标详细设计阶段的根本目标是确定怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。详细设计的目标:设计出的处理过程应该尽可能简明易懂。46
2、.1结构程序设计结构程序设计的概念最早由E.W.Dijkstra提出。1965年,他在一次会议上指出:“可以从高级语言中取消GOTO语句”,“程序的质量与程序中所包含的GOTO语句的数量成反比”。1966年Bohm和Jacopini证明了,只用三种基本的控制结构就能实现任何单入口单出口的程序。这三种基本的控制结构是“顺序”、“选择”和“循环”。1972年IBM公司的Mills进一步提出,程序应该只有一个入口和一个出口,从而补充了结构程序设计的规则。5三种基本的控制结构顺序结构,先执行A再执行BIF_T
3、HEN_ELSE型选择(分支)结构DO_WHILE型循环结构:在循环控制条件成立时,重复执行特定的加工。实际上用顺序结构和循环结构(又称DO_WHILE结构)完全可以实现选择结构(又称IF_THEN_ELSE结构),因此,理论上最基本的控制结构只有两种。6三种基本的控制结构7结构程序设计的定义结构程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。在总体设计阶段采用自顶向下逐步求精的方法:把一个复杂问题的解法分解和细化成一个由许多模块组成的层次结构的软件系统。详细设
4、计或编码阶段采用自顶向下逐步求精的方法:可以把一个模块的功能逐步分解细化为一系列具体的处理步骤或某种高级语言的语句。8结构程序设计的优点可以显著提高软件开发工程的成功率和生产率。程序有清晰的层次结构,因此容易阅读和理解。开发时比较容易保证程序的正确性,即使出现错误也比较容易诊断和纠正。源程序清晰流畅,易读易懂而且容易测试。程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量最大。程序的逻辑结构清晰,有利于程序正确性证明。9扩充的控制结构为了实际使用方便起见,常常还允许使用DO_CASE型多分
5、支结构和DO_UNTIL型循环结构。有时需要立即从循环(甚至嵌套的循环)中转移出来,如果允许使用LEAVE(或BREAK)结构,则不仅方便而且会使效率提高很多。10扩充的控制结构11结构程序设计经典的结构程序设计:只允许使用顺序、IF_THEN_ELSE型分支和DO_WHILE型循环这三种基本控制结构。扩展的结构程序设计:还允许使用DO_CASE型多分支结构和DO_UNTIL型循环结构。修正的结构程序设计:再加上允许使用LEAVE(或BREAK)结构。126.2人机界面设计人机界面设计是接口设计的一个
6、重要的组成部分。人机界面的设计质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,因此,必须对人机界面设计给予足够重视。136.2.1设计问题在设计人机界面的过程中,几乎总会遇到下述4个问题:系统响应时间、用户帮助设施、出错信息处理和命令交互。许多设计者直到设计过程后期才开始考虑这些问题,这样做往往导致出现不必要的设计反复、项目延期和用户产生挫折感。最好在设计初期就把这些问题作为重要的设计问题来考虑,这时修改比较容易,代价也低。141.系统响应时间定义:系统响应时间指从用户完成某个控制
7、动作(例如,按回车键或点击鼠标),到软件给出预期的响应(输出信息或做动作)之间的这段时间。系统响应时间有两个重要属性,分别是长度和易变性:1、长度:如果系统响应时间过长,用户就会感到紧张和沮丧。系统响应时间过短也不好,这会迫使用户加快操作节奏,从而可能会犯错误。15易变性指系统响应时间相对于平均响应时间的偏差。即使系统响应时间较长,响应时间易变性低也有助于用户建立起稳定的工作节奏。162.用户帮助设施常见的帮助设施可分为集成的和附加的两类。1、集成的帮助设施从一开始就设计在软件里面,通常,它对用户工作
8、内容是敏感的,因此用户可以从与刚刚完成的操作有关的主题中选择一个请求帮助。显然,这可以缩短用户获得帮助的时间,增加界面的友好性。2、附加的帮助设施是在系统建成后再添加到软件中的,在多数情况下它实际上是一种查询能力有限的联机用户手册。17具体设计帮助设施时,必须解决下述的一系列问题(1)在用户与系统交互期间,是否在任何时候都能获得关于系统任何功能的帮助信息?有两种选择;提供部分功能的帮助信息和提供全部功能的帮助信息。(2)用户怎样请求帮助?有3种选择:帮助
此文档下载收益归作者所有