详细设计


详细设计阶段的根本目标:确定应该怎样具体地实现所要求的系统,在此阶段得出对目标系统的精确描述,在编码阶段可以把这个描述直接翻译成程序设计语言书写的程序。除了应该保证软件的可靠性之外,使将来编写出来的程序可读性好,容易理解,容易测试,容易修改和维护也是详细设计阶段最重要的目标


详细设计的记过基本上决定了最总的程序代码的质量,衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要的是看它是否容易阅读和理解


人机界面的设计:人机界面的设计质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,因此必须对人机界面设计予以重视

人机界面设计问题:

  1. 系统响应时间:长度,易变性

  2. 用户帮助设施:

    1. 提供部分功能还是全部功能的帮助信息?

    2. 用户怎么请求帮助?

    3. 怎么显示帮助信息?

    4. 用户怎么返回到正常的交互方式?

    5. 怎样组织帮组信息?

  3. 出错信息处理:

    1. 信息应该用胡勇可以理解的术语描述问题

    2. 信息应该提供有助于从错误中恢复的建设性意见

    3. 信息应该指出可能导出那些负面后果,以便用户检查是否出现了这些问题,并在确实出现问题时及时解决

    4. 信息应该伴随听觉上或视觉上的提示。

    5. 信息不能带有指责色彩

  4. 命令交互:




人机界面设计指南

  1. 一般交互指南:

    1. 保持一致性

    2. 提供有意义的反馈

    3. 在执行有较大破坏性的动作之前要求用户确认

    4. 允许取消绝大多数操作

    5. 减少在两次操作之间必须记忆的信息量

    6. 提高对话,移动和思考的效率

    7. 允许犯错误

    8. 按功能对动作分类,并据此设计屏幕布局

    9. 提供对用户工作内容敏感的帮助设施

    10. 用简单的动词或动词短语作为命令名

  2. 信息显示指南:

    1. 只显示与当前工作内容有关的信息

    2. 不要用数据淹没用户,应该用便于用户迅速信息的方式来表示数据

    3. 使用一致的标记,标准的缩写和可预知的颜色

    4. 允许用户保持可视化的语境

    5. 产生有意义的出错信息

    6. 使用大小写,缩进和文本分组以帮助理解

    7. 使用窗口分割不同类型的信息

    8. 使用”模拟“显示方式表示信息

    9. 高效率地使用显示屏

  3. 数据输入指南:

    1. 尽量减少用户输入动作

    2. 保持信息显示和数据输入的一致性

    3. 允许用户自定义输入

    4. 交互应该是灵活的

    5. 使在当前动作语境中不适用的命令不起作用

    6. 让用户控制交互流

    7. 对所有输入动作都提供帮助

    8. 消除冗余的输入



过程设计的工具:

  1. 程序流程图

  2. 盒图

  3. PAD图

  4. 判定表

  5. 判定树




面向数据结构的设计方法:

  1. Jackson图

  2.  改进的Jackson图



McCabe方法:

  1. 流图:实际上是退化了的程序流程图,它仅仅描述程序的控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件

  2. 计算环形复杂度的方法:

    1. 流图中线性无关的区域数等于环形复杂度

    2. V=E-N+2    E是流图中的边, N是结点数

    3. V =P+1   P是流图中判定结点的数目

  3. 环形复杂度的作用:说明了程序结构的复杂程度,模块规模以V(G)<=10为宜














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值