软件工程(5) CSDN花神生涯


软件详细设计(过程设计)

描述程序处理过程的工具称为详细设计工具,可以分为图形,表格,和语言3类

详细设计的目的和任务

  • 根本目的:确定应该怎样具体实现所要求的目标系统,将总体设计阶段得到的模型用详细设计工具描述出来
  • 目的:不仅仅逻辑上正确地实现每个模块的功能,因此是详细设计的基础

结构程序设计技术 是实现上述目的的关键技术,因此是详细设计的逻辑基础

  • 确定模块算法和模块内数据结构
  • 确定模块接口(系统外部接口,用户界面,内部模块间接口细节,输入数据和输出数据)

结构化程序设计(关键技术)

  • 结构化程序概念:目的是为了从高级语言中限制goto语句提出的
  • 在E.W.Dijkstra在1965年召开的IFIP(国际信息处理联合会)上提出
  • 结构化程序设计所使用的结构有顺序,条件,重复3种,可以实现单入口单出口,且无死循环,死语句的程序
  • 结构化程序设计采用自顶向下,逐步求精的设计方法和单入口单出口的控制结构

图形

详细设计工具-程序流程图(程序框图)

  • 历史最悠久,使用最广泛的过程设计工具,它易学,表达算法直观,缺点是不够规范
  • 顺序型:几个连续的加工依次序排列
  • 选择型:由某个判定的取值决定选择两个加工中一个
  • 当型循环型:当循环控制条件成立时,重复执行特定的加工
  • 直到型循环型:重负执行特定的加工,直到循环控制条件的成立
  • 多情况选择型:列出多种加工情况,根据控制变量的取值,选择执行其一
程序流程图的主要缺点
  • 程序流程图本质上不是逐步求精的好工具,它诱使程序员过早考虑控制流程
  • 程序流程图中用箭头代表控制流,因此程序员不受任何约束,随意转移控制,容易造成非结构化的程序结构
  • 程序流程图不易表示数据结构和层次结构
  • 在这里插入图片描述

盒图(N-S图)

  • 主要特点:只能描述结构化程序所允许的标准结构(3种)
N-S图的优点
  • 功能域表达明确,功能域从盒式图上可以明显看出来
  • 数据盒:描述有关数据
  • 模块盒,:描述执行过程
  • 很容易确定局部和全局数据的作用域
  • 不可能随意转移控制
  • 很容易表达模块的层次结构和容易表现嵌套关系
  • 使得软件设计人员遵守结构化程序设计的规定,养成良好的程序设计风格
    在这里插入图片描述

问题分析图(PAD图)

它采用 由左向右展开的二维树型结构图来描述程序的逻辑

PAD图的优点
  • 用PAD图设计出来的程序必然时结构化程序
  • 描绘的程序结构十分清晰,最左面的竖线时程序的主线,PAD图中竖线的总条线就是程序的层次数
  • 支持自顶向下,逐步求精的方法
  • 表示的程序逻辑易读易懂,易记,使用方便
  • 可自动生成程序,利用软件工具自动生成,省去人工编码,有利于提高软件可靠性和软件生产率
    PAD图

表格

过程设计-判定表

能清晰表示复杂的条件组合域应做动作间对应关系
在这里插入图片描述

过程设计-判定树

判定表变种,表示复杂的条件组合域应做动作间对应关系
缺点:简洁性不如判定表

过程设计语言-伪码(PDL)

一种描述模块算法设计和处理细节的语言,用正文形式表示数据和处理过程设计工具

  • 具有严格的关键字外层语言,用于定义控制结构和数据结构
  • 表示实际操作和条件的内层语法(描述具体操作)又是零花自由的,以便可以适应各种工程项目的需要,因此PDL是一种混杂语言
  • 提供机制比图形全面,有利于保证软件详细设计与编码的质量
  • 可以作为注释直接插在原程序中间作为程序的文档,有利于软件的维护并保证文档和程序的一致性,提高文档的质量
  • 可自动生成代码。提高软件生产率

PDL 与实际高级设计语言的区别:

  • PDL的语句嵌有字然语言的叙述,故PDL时不能被编译的

人机界面设计

通过界面,用户可以和软件进行交互,良好的人机界面设计要充分考虑用户的感受,理解用户的意图,以用户为中心

人机界面设计问题

系统响应时间
  • 系统响应时间时许多交互式系统用户经常抱怨的问题
  • 系统响应时间:指从用户完成某个控制动作(例如,按回车键或点击鼠标),到软件给出预期响应(输出信息或做动作)之间的这段时间
  • 系统响应时间有两个重要属性,分别是长度和易变性
  • 长度:超过一秒会让用户注意到延迟,过短使用户加快操作节奏,导致出错
  • 易变形:指系统响应时间相对于平均响应时间的偏差,越低越好,稳定在一秒的响应时间比0.1s-2.5s变化的响应时间要好
用户帮助设施
  • 手册和联机帮助(不离开用户界面)
  • 联机帮助分为集成帮助和附加帮助
  • 集成帮助:设计在软件里面,可用性更强
  • 附加帮助:帮助设施实在系统建成后,加到软件中

具体设计帮助设施时,要解决的问题?

  • 请求帮助:帮助菜单,特殊功能键。HELP命令
  • 显示帮助信息:独立窗口和屏幕固定位置显示作简短提示
  • 组织帮助信息:平面结构:通过关键字,层次结构:查更详细信息和超文本结构
出错信息处理

出错信息和警告信息,有效的出错消息能提高交互式系统的质量,减轻用户的挫折感

命令交互
  • 曾经时用户和系统软件交互的最常用方式,建议保留
  • 三种命令形式:控制序列,功能键(F1),键入命令
  • 人机界面设计者提供了“命令宏机制”,使用这个命令序列时,用户无需依此键入每个命令,只需输入命令宏的名字就能顺利执行它所代表的全部命令

人机界面设计原则

  • 原则:界面简洁,控件摆放规范,颜色统一符合用户习惯
    黄金“指导准则
  • 让用户驾驭软件,而不是软件驾驭用户
  • 尽可能减少用户的记忆负担
  • 保持界面的一致性

人机界面设计过程

  • 建立任务的目标和意图
  • 目标和意图明确后,建立界面需求规格模型
  • 以界面需求模型维依据创建用户界面模型
  • 用户试用并评估界面原型
  • 设计者根据用户意见修改
  • 不断进行,直到用户满意
  • 上述步骤,以界面原型创建界面设计迭代

至此,得到详细设计说明书

花神博客生涯之软件工程(5)结束了哦~
接下来会持续更新(⊙o⊙)!
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值