[软件工程] 详细设计

详细设计

详细设计的基本目的就是回答“详尽、精确地描述系统各模块的具体实现方法”。
详细设计的结果基本决定了最终程序代码的质量,其中包括:正确性、可读性、效率。

一、 结构程序设计

结构程序设计的经典定义:“如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。”

消灭GOTO语句!
  仅用3种基本结构,称为经典的结构程序设计;
  若还允许使用DO-CASE(多分支循环)、DO-UNTIL(直到型循环),成为扩展结构程序设计;
  如果在允许使用LEAVE(或BREAK,中断)结构,则称为修正结构程序设计。

二、 人机界面设计

对于交互式系统来说,人机界面设计数据设计体系结构设计及过程设计一样重要。

  • 直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命。
  • 人机界面目前所占的工作量越来越大

(一) 设计问题

在设计人机界面常会遇到下述4个问题:

  • 系统响应时间
  • 用户帮助设施
  • 出错信息处理
  • 命令交互

上述问题,最好在设计初期作为重要的设计问题来考虑,这时修改比较容易,代价也低。

1. 系统响应时间
  • 系统响应时间是指从用户完成某个控制动作(例如,按回车键或点击鼠标),到软件给出预期的响应(输出信息或做动作)之间的这段时间。
  • 系统响应时间有两个重要属性,分别是长度和易变性。
    响应时间过长,会感到沮丧;
    响应时间过短,会迫使用户加快节奏,会犯错。
  • 易变性指系统响应时间相对于平均响应时间的偏差。一般稳定较好,若发生变化,用户往往比较敏感,担心系统工作出现了异常。
2. 用户帮助设施

几乎交互式系统的每个用户都需要帮助,大多数现代软件都提供联机帮助设施,这使得用户无须离开用户界面就能解决自己的问题。
  常见的帮助设施可分为集成的(根据当前的应用进行的帮助)和附加的(需查询使用)两类。集成的帮助优于附加的帮助设施。
  具体设计帮助设施时,必须解决下述的一系列问题。
   (1) 帮助的程度:全部还是部分;
   (2) 如何实现帮助:菜单、功能键和HELP命令;
   (3) 怎样显示帮助信息:独立窗口、指出参考某个文档(不理想)、显示简短;
   (4) 使用帮助后,如何返回原交互方式中:返回按钮、功能键;
   (5) 如何组织帮助信息:平面结构、信息的层次结构和超文本结构。

3. 出错信息处理

交互式系统的出错信息或警告信息,应该具有下述属性:
  (1) 信息应该使用用户可以理解的术语描述问题;
  (2) 信息应该提供有助于从错误中恢复的建设性意见;
  (3) 信息应该指出错误可能导致哪些负面后果(例如,破坏数据文件);
  (4) 信息应该伴随着听觉上或视觉上的提示,强化出现异常;
  (5) 信息不能带有指责用户的内容。
  
当确实出现了问题的时候,有效的出错信息能提高交互式系统的质量,减轻用户的挫折感。

4. 命令交互

在多数情况下,用户既可以从菜单中选择软件功能,也可以通过键盘命令序列调用软件功能。
在提供命令交互方式时,必须考虑下列设计问题:
  (1) 是否每个菜单选项都有对应的命令;
  (2) 采用何种命令形式:控制序列(如Ctrl+P)、功能键、键入命令。
  (3) 命令的难度有多大,忘记了命令怎么办;
  (4) 用户是否可以定制或缩写命令。

(二) 设计过程

用户界面设计是一个迭代的、原型实现过程,各种用于界面设计和原型开发的软件工具较多,它们为简化窗口、菜单、设备交互

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值