- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程详细设计讲述
4/9/2017
第3章 结构化分析与设计之详细设计
4/9/2017
2
主要内容
4/9/2017
3
详细设计的目的和内容
详细设计的目的: 为软件结构图 (SC)
中的每一个模块确定采用的算法和模块内
数据结构,用某种选定的表达工具给出清
晰的描述。
4/9/2017
4
4/9/2017
5
… …
if (A.LT.B) goto 120
if (B.LT.C) goto 110
100 write(6,*) C
goto 140
110 write(6,*) B
goto 140
120 if(A.LT.C) goto 130
goto 100
130 write(6,*) A
140 continue
结构化程序设计
4/9/2017
无节制地使用了GOTO语句所产生的程序流程
4/9/2017
结构化程序设计:背景资料
-提出了信号量和PV原语
-解决了“哲学家聚餐”问题
-最短路径算法的创造者
-第一个Algol60编译器的设计者
-THE操作系统的设计和开发者
-1972年获图灵奖
-与D.E.Knuth并称为我们这个时
代最伟大的计算机科学家
4/9/2017
“goto, 又见goto”
-“the quality of programmers is a decreasing function of the density of goto statements in the programs they produce.”
-“the goto statement should be abolished from all ‘higher level’ programming languages.”
4/9/2017
“goto, 又见goto”
-Java语言中取消了goto语句,而且严格限制了标签的使用范围:标签只能紧靠在循环语句之前
out:
for (i = 0; i m; i ++)
for (j = 0; j n; j ++)
if (a[i][j] == key)
break out;
-很多面向对象语言引入了异常处理
4/9/2017
结构化程序设计
-1966年,B?hm和Jacopini证明,只需要顺序、选择和循环结构就可以写出所有单入单出的程序
-1977年,Mills提出程序应该单入单出
4/9/2017
结构化程序设计:背景资料
-数学家
-IBM客座科学家
-Distinguished Information
Science Award in 1985
-Warnier Prize in 1987
-净室(Cleanroom)软件工程理论
的提出者
4/9/2017
结构化程序设计
-仅通过顺序、选择、循环这3种结构进行连接
-每个模块只有一个入口一个出口
-有助于提高程序可读性和效率的情况下可以使用goto语句
-可以使用break等语句(受限制的goto)
-可以使用do-until,switch-case语句
4/9/2017
界面设计
-自动吸附的Winamp
4/9/2017
界面设计
-按钮跟随鼠标的ACDSee
4/9/2017
界面设计
-Windows左下角的“开始”
-Mac OS界面设计专家Bruce Tognazzini说过:“屏幕上用鼠标最容易指到的5个位置是:屏幕的四个角和鼠标指针当前的位置”
4/9/2017
界面设计
-大学教育存在缺陷:没有开设人机工程学、美学、心理学这些必修课。学生不知道如何设计出易用、美观的界面,甚至想都没有想过。当他们毕业后真正参与软件开发时,只好凭着个人的经验与感觉设计软件的界面,结果往往得不到大众用户的认可
-开发人员还常犯“错位”的毛病,以为只要自己感觉漂亮、使用方便,那么用户也一定会满意
4/9/2017
课件制作人:谢希仁
用户界面设计:基本原则
-软件的功能需要通过用户界面来展现
-例如,对于一个三维建模软件而言,如果用户不能使用鼠标对模型进行旋转、移动、缩放等操作,那么这个软件的用户界面就不适合于软件的功能。如果不改进用户界面的话,即使软件的内核功能很强(如算法很先进),这个软件也很难卖得出去
4/9/2017
18
用户
文档评论(0)