(软件工程)第一堂课详细设计.ppt

* * 用户、任务和环境分析 界面设计 实现 界面确认 * 详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。因此,详细设计的结果基本上决定了最终的程序代码的质量。考虑程序代码的质量时必须注意,程序的“读者”有两个,那就是计算机和人。 在软件的生命周期中,设计测试方案、诊断程序错误、修改和改进程序等等都必须首先读懂程序。实际上对于长期使用的软件系统而言,人读程序的时间可能比写程序的时间还要长得多。因此,衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要的是要看它是否容易阅读和理解。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。结构程序设计技术是实现上述目标的关键技术,因此是详细设计的逻辑基础。 * * * * * 实际上用顺序结构和循环结构(又称DO-WHILE结构)完全可以实现选择结构(又称IF-THEN-ELSE结构),因此,理论上最基本的控制结构只有两种。 Bohm和Jacopini的证明给结构程序设计技术奠定了理论基础。 1968年Dijkstra再次建议从一切高级语言中取消GO TO语句,只使用3种基本控制结构写程序。他的建议引起了激烈争论,经过讨论人们认识到,不是简单地去掉GO TO 语句的问题,而是要创立一种新的程序设计思想、方法和风格,以显著地提高软件生产率和降低软件维护代价。 1971年IBM公司在纽约时报信息库管理系统的设计中成功地使用了结构程序设计技术,随后在美国宇航局空间实验室飞行模拟系统的设计中,结构程序设计技术再次获得圆满成功。这两个系统都相当庞大,前者包含83 000行高级语言源程序,后者包含40万行源程序,而且在设计过程中用户需求又曾有过很多改变,然而两个系统的开发工作都按时并且高质量地完成了。这表明,软件生产率比以前提高了一倍,结构程序设计技术成功地经受了实践的检验。 1972年IBM公司的Mills进一步提出,程序应该只有一个入口和一个出口,从而补充了结构程序设计的规则。 上述经典定义过于狭隘了,结构程序设计本质上并不是无GO TO语句的编程方法,而是一种使程序代码容易阅读、容易理解的编程方法。在多数情况下,无GO TO语句的代码确实是容易阅读、容易理解的代码,但是,在某些情况下,为了达到容易阅读和容易理解的目的,反而需要使用GO TO语句。因此,下述的结构程序设计的定义可能更全面一些: * 五种基本的结构化控制结构(程序流程图表示 ) * * * * * * 用户从界面提取到的信息需要存入人的记忆中,供以后回忆和使用。在设计人机界面时不能要求用户记住复杂的操作顺序。 大多数人遇到问题时不进行形式的演绎和归纳推理,而是使用一组启发式策略,这组策略是以往对类似问题的处理中逐渐获得的。因此,设计人机界面时应便于用户积累有关交互工作的经验,同时要注意启发式策略的一致性,不宜受特殊交互的影响。如,undo、exit等有统一的含义、位置和表示。 * * * * * * * * 以上几种可测量的人性因素并不是每种都能在设计中保持在最佳状态,在设计时,必须根据实际情况进行取舍。 如果要维持比较低的出错率,那么系统的效率可能就要变差;如果要保证系统的效率,那么用户的学习时间就要增加,记忆时间也会减少。 在进行人机界面设计时,就要针对系统的用户集合和任务集合对设计目标进行论证或折衷。 * * * * * * * ? 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档