软件工程----详细设计

详细设计的任务(重点)

过程设计–任务
  • 确定模块算法
  • 确定模块使用的数据结构
  • 确定模块接口(系统外部接口,用户界面,内部模块间接口细节,输入数据和输出数据)
  • 详细设计示意图

结构化程序设计

结构化程序设计技术是过程设计----关键技术

  • 经典定义:程序代码通过顺序,选择,循环三种控制结构连接,单入口单出口
  • 扩展定义:可限制使用GOTO语句,DO-UNTIL和DO-CASE
  • 修正定义:LEAVE和REAK,可从循环中转移出来

用户界面设计

设计问题

1.系统响应时间:两个重要属性:长度和易变性,过长用户不安0.1-1秒 变换鼠标形象1-10秒 过短迫使用户加快操作节奏,导致出错
易变性:指响应时间相对平均响应时间偏差,越低越好,否则会让用户认为系统异常
2. 用户帮助措施:手册和联机帮助(不离开用户界面)

  • 连接件帮助:分为集成帮助(设计在软件里面,可用性更强)和附加帮助

  • 请求帮助:帮助菜单,HTPP命令,特殊命令键

  • 显示帮助信息:独立窗口
    参考文档
    固定位置产生简短提示

  • 组织帮助信息:平面结构,通过关键字访问
    层次结构,查更详细信息
    超文本结构

3.出错信息处理

  • 以用户可用理解术语
  • 提供清楚,易理解的报错信息(出错位置,原因)
  • 从错误中恢复的建设性意见
  • 信息用颜色等在视觉上引人注目
  • 可能造成负面后果

4.命令交互
建议保留命令交互方式

  • 控制序列:Ctrl-C(拷贝)
  • 功能键
  • 键入命令
  • 命令宏机制:用户定义名字代表一个常用命令序列
设计指南

1.一般交互

  • 保持人机界面菜单选择,命令输入,数据显示风格一致
  • 提供有意义的数据反馈:双向通信
  • 破坏性动作前要确认
  • 允许取消大多数操作
  • 减少两次操作间的记忆量
  • 提高对话,移动,思考的效率
  • 允许用户犯错误,减少致命错误造成破环
  • 按功能对动作分类,设计屏幕布局
  • 提供帮助措施
  • 用简单的动词或动词短语做为命令名

2.信息显示

  • 显示与当前工作有关的信息
  • 简单易懂表示数据(图形,图表)
  • 建议使用一致的标记,标准缩写,预知颜色
  • 产生有意义的出错信息
  • 使用模拟方式显示信息

3.数据输入

  • 要尽量减少用户输入动作:鼠标选择,滑动标尺
  • 使当前不适用命令不起作用
  • 交互灵活,保留各种输入方式
  • 让用户控制交流
  • 对所有输入提供帮助
  • 消除冗余输入:数据单位,钱数,小数点位,提供缺省值等。

详细设计工具(重点)

程序流程图

历史最悠久,使用最广泛的过程设计工具

  1. 顺序型
    几个连续的加工依次序排列
    2.选择型
    由判断的取值决定选择两个加工中一个
    3.当型循环
    4.直到型循环
    5.多情况选择型

在这里插入图片描述
计算n阶乘的程序流程图
计算n阶乘的程序流程图

优点:对控制流程描绘直观,便于初学者掌握
缺点:

  • 不是逐步求精好工具,过早考虑控制流程,非整体结构
  • 用箭头代表控制流,程序员随意转移控制(要用GOTO语句不符合)
  • 不宜表示数据结构和调用关系
N-S图(盒图)(建议使用

在这里插入图片描述
计算n阶乘的N-S图
在这里插入图片描述
特点:

  • 功能域明确(特定控制结构的作用域)
  • 不可能任意转移控制(一定是结构化的)
  • 容易确定局部和全局的作用域
  • 容易表达嵌套关系也可表示模块的层次结构
PAD图

在这里插入图片描述
二维结构:既纵向也横向

计算n阶乘的PAD图
在这里插入图片描述
优点

  • 设计的程序必然是结构化程序(没提供控制流线)
  • 程序结构十分清晰
  • 逻辑易读,易懂,易记
  • 支持自顶向下逐步求精
  • 在这里插入图片描述
判定表

能清晰表示复杂组合与应做动作间对应关系
四部分:
左上部列出所有条件
左下部所有可能做的动作
右上部表示各种条件组合的一矩阵
右下部是和每种条件组合相对应的动作
在这里插入图片描述

判定树

在这里插入图片描述
优点:形式简单,易看出含义,易于掌握和使用
缺点:简洁性不如判定表,建议用判定表

伪码

用正文形式表示数据和处理过程设计工具
PDL具有严格关键字外部语法,定义控制结构和数据结构
PDL表示实际操作和条件的内部语法灵活自由,适应各种工程项目需要

程序复杂度

详细设计的方法(Jackson方法)(难点)

详细设计规格说明书(重点)

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值