软件工程(十一)
2016-05-15 21:55
295 查看
详细设计
目标:确定如何具体实现所要求的系统。
不是具体编写程序,而是设计程序的“蓝图”。
详细设计的结果决定最终程序代码的质量。
结构程序设计
E.W.Dijkstra 最早提出结构程序设计:程序质量与程序中包含的Goto语句的数量成反比(1965)。
1966 ,Bohm, Jacopini ,证明了只用“顺序”、“选择”、“循环”控制结构就能实现任何单入口单出口程序。
1968年,Dijkstra建议从一切高级语言中取消GO TO语句,只用3种基本控制结构写程序。
理论上,最基本的控制结构只有两种:顺序、循环结构(选择结构可由其两者构造)。
学界认识到,不是简单去掉Goto语句的问题,而是要创立一种新的程序设计方法。
——结构化程序设计(IBM率先成功运用),随后在美国宇航局空间实验室飞行模拟系统的设计中,结构化程序设计技术再获成。
结构程序设计:
一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。
使用结构程序设计技术的好处:
1)提高软件开发工程的成功率和生产率;
2)系统有清晰的层次结构,容易阅读理解;
3)单入口单出口的控制结构,容易诊断纠正;
4)模块化可以使得软件可以重用;
5)程序逻辑结构清晰,有利于程序正确性证明。
经典的结构程序设计:只允许使用顺序、IF_THEN_ELSE选择和DO_WHILE循环;
扩展的结构程序设计:除了三种基本控制结构,还使用DO_CASE和DO_UNTIL循环;
修正的结构程序设计:除了三种基本控制结构和两种扩充结构,还使用BREAK等结构。
人机界面设计
交互式系统中,人机界面设计和数据库设计、体系结构设计及过程设计一样重要。
6.2.1 设计问题
1. 系统响应时间;
系统响应时间重要属性:长度、易变性(系统响应时间相对于平均响应时间的偏差)
2. 用户帮助;
帮助分类:集成的(设计在软件里边)、附加的(联机用户手册)
3. 出错信息处理;
4. 命令交互
(1)是否每个菜单选项都有对应的命令?
(2)采用何种命令形式?(功能键、输入命令、控制系列)
(3)学习和记忆命令的难度?忘了命令怎么办?
(4)用户是否可以定制或缩写命令?
(1)信息应该用用户可以理解的术语描述
(2)信息应该提供有助于从错误中恢复的建设性意见
(3)信息应该指出错误可能导致那些负面后果,以便
用户检查是否出现问题,并在确实出现问题时及时解决。
(4)信息应该伴随着听觉上或视觉上的提示。
(5)信息不能带有指责色彩,不能责怪用户。
设计过程
用户界面设计是一个迭代的过程。(先创建设计模型,再用原型实现这个设计模型,并由用户试用和评估,然后根据用户意见修改)
评估标准:
(1)系统及其界面的规格说明书的长度和复杂程度,预示了用户学习使用该系统所需工作量
(2)命令或动作的数量、命令的平均参数个数或动作中单个操作的个数,预示了系统的交互时间和总体效率
(3)设计模型中包含的动作、命令和系统状态的数量,预示了学习使用该系统时需要记忆的内容的多少。
(4)界面风格、帮助设施和出错协议,预示了界面的复杂程度及其接收该界面的程度。
人机界面设计指南
1. 一般交互指南;(涉及信息显示、数据输入和系统整体控制)
2. 信息显示指南;(信息的不完整、含糊的或难于理解的)
3. 数据输入指南。(选择命令、输入数据和向系统提供输入)
欢迎关注我的微信个人订阅号
每天多学一点0.0
目标:确定如何具体实现所要求的系统。
不是具体编写程序,而是设计程序的“蓝图”。
详细设计的结果决定最终程序代码的质量。
结构程序设计
E.W.Dijkstra 最早提出结构程序设计:程序质量与程序中包含的Goto语句的数量成反比(1965)。
1966 ,Bohm, Jacopini ,证明了只用“顺序”、“选择”、“循环”控制结构就能实现任何单入口单出口程序。
1968年,Dijkstra建议从一切高级语言中取消GO TO语句,只用3种基本控制结构写程序。
理论上,最基本的控制结构只有两种:顺序、循环结构(选择结构可由其两者构造)。
学界认识到,不是简单去掉Goto语句的问题,而是要创立一种新的程序设计方法。
——结构化程序设计(IBM率先成功运用),随后在美国宇航局空间实验室飞行模拟系统的设计中,结构化程序设计技术再获成。
结构程序设计:
一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。
使用结构程序设计技术的好处:
1)提高软件开发工程的成功率和生产率;
2)系统有清晰的层次结构,容易阅读理解;
3)单入口单出口的控制结构,容易诊断纠正;
4)模块化可以使得软件可以重用;
5)程序逻辑结构清晰,有利于程序正确性证明。
经典的结构程序设计:只允许使用顺序、IF_THEN_ELSE选择和DO_WHILE循环;
扩展的结构程序设计:除了三种基本控制结构,还使用DO_CASE和DO_UNTIL循环;
修正的结构程序设计:除了三种基本控制结构和两种扩充结构,还使用BREAK等结构。
人机界面设计
交互式系统中,人机界面设计和数据库设计、体系结构设计及过程设计一样重要。
6.2.1 设计问题
1. 系统响应时间;
系统响应时间重要属性:长度、易变性(系统响应时间相对于平均响应时间的偏差)
2. 用户帮助;
帮助分类:集成的(设计在软件里边)、附加的(联机用户手册)
3. 出错信息处理;
4. 命令交互
(1)是否每个菜单选项都有对应的命令?
(2)采用何种命令形式?(功能键、输入命令、控制系列)
(3)学习和记忆命令的难度?忘了命令怎么办?
(4)用户是否可以定制或缩写命令?
(1)信息应该用用户可以理解的术语描述
(2)信息应该提供有助于从错误中恢复的建设性意见
(3)信息应该指出错误可能导致那些负面后果,以便
用户检查是否出现问题,并在确实出现问题时及时解决。
(4)信息应该伴随着听觉上或视觉上的提示。
(5)信息不能带有指责色彩,不能责怪用户。
设计过程
用户界面设计是一个迭代的过程。(先创建设计模型,再用原型实现这个设计模型,并由用户试用和评估,然后根据用户意见修改)
评估标准:
(1)系统及其界面的规格说明书的长度和复杂程度,预示了用户学习使用该系统所需工作量
(2)命令或动作的数量、命令的平均参数个数或动作中单个操作的个数,预示了系统的交互时间和总体效率
(3)设计模型中包含的动作、命令和系统状态的数量,预示了学习使用该系统时需要记忆的内容的多少。
(4)界面风格、帮助设施和出错协议,预示了界面的复杂程度及其接收该界面的程度。
人机界面设计指南
1. 一般交互指南;(涉及信息显示、数据输入和系统整体控制)
2. 信息显示指南;(信息的不完整、含糊的或难于理解的)
3. 数据输入指南。(选择命令、输入数据和向系统提供输入)
欢迎关注我的微信个人订阅号
每天多学一点0.0
相关文章推荐
- 数据结构上机测试2-2:单链表操作B
- 破译A盾禁止加载驱动失效之谜
- LeetCode-1.Two Sum
- Debian中如何切换默认Python版本
- 如何利用Google成为一个更好的程序员
- 框架知识(2)--iBatis基础知识
- 虚拟云平台网址
- HttpURLConnection编写方法
- 梦断代码阅读笔记01
- maven搭建mybatis--入门程序--001
- hdu 1671
- 97. Maximum Depth of Binary Tree
- 问答系统--站内爬虫
- system V消息队列的使用
- 用sort给字符串排序
- 另类阻止驱动加载
- 小组项目:社团管理系统(1)
- MVP for Android
- maven权威指南archetype创建简单项目报错解决
- substance