软件工程结构化建模的方法和工具_软件工程系列-结构化设计方法2

本系列文章为笔记,内容根据北京大学《软件工程》MOOC

初始化模块结构图精化的启发式规则

常见的启发式规则

  • 什么叫做“启发式”
    • 根据设计准则,从长期的软件开发实践中,总结出来的规则
    • 既不是设计目标,也不是设计时应该普遍遵循的原理
  • 常见的六种启发式规则
    • 改进软件结构,提高模块独立性
      • 通过模块的分解和合并,力求降低耦合,提高内聚
    • 模块规模适中-每页60行语句
      • 最好控制在一页纸内
      • 分解过大的模块
    • 深度、宽度、扇入和扇出适中
      • 扇入:表示有多少个上级模块直接调用它
      • 扇出:一个模块控制的下级模块的数量
      • 好的系统:顶层扇出高,中层扇出少,底层扇入高,系统呈“葫芦”型

  • 降低模块接口的复杂性
    • 使得信息传递简单并且和模块的功能一致
    • 接口复杂或不一致容易增加耦合
  • 模块功能应该可以预测
    • 相同的输入有相同的输出

输入部分的精化

变换部分的精化
对于变换部分的求精,是一项具有挑战性的工作。其中主要是根据设计准则,并要通过实践,不断地总结经验,才能设计出合理的模块结构

接口设计

分类

  • 模块间的接口设计(内部接口)
  • 软件与其他软硬件系统之间的接口设计(外部接口)
  • 软件与用户之间的交互设计

系统的接口设计是由穿过系统边界的数据流定义的
在最终的系统中,数据流将成为用户界面中的表单、 表或与其它系统进行交互的文件或通信 人机交互界面
在设计阶段,必须根据需求把交互细节加入到用户界面设计中,包括人机交互所必须的实际显示和输入
用户界面应具备的特性

  • 可使用性:是用户界面设计最重要的目标。包括使用简单、界面一致、充分提示、快速响应、低运行成本、健壮性等
  • 灵活性:考虑到用户特点。应该使用户接口满足不同用户的要求。对不同的用户,应有不同的界面形式,但不同的界面不应该影响功能
  • 可靠性:用户界面的可靠性是指无故障使用的间隔时间。用户界面应能保证用户正确、可靠地使用系统,保证程序和数据的安全性

界面设计类型

  • 外行型
  • 初学型:需要很多界面支持
  • 熟练型:需要较少的界面支持,但不能处理意外错误
  • 专家型:需要为他们提供能够修改和扩充系统能力的复杂界面

选用界面形式(表格,图形,菜单,对话,窗口等)的时候,应该考虑每种类型的优点和限制,可以从以下方面考察

  • 使用的难易度
  • 学习的难易度
  • 操作速度
  • 复杂程度
  • 控制:人机交互时,由计算机还是由人发起和控制接口
  • 开发的难易程度:该界面设计是否有难度,工作量多大

一个界面的设计通常使用一种以上的设计类型,每种类型与一个或一组任务相匹配
设计原则

  • 一致性
  • 操作步骤少
  • 不要“哑播放”
  • 提供Undo功能
  • 减少用户记忆负担
  • 提高学习效率

数据设计

在设计阶段必须对要存储的数据及其格式进行设计 文件设计
适合选择文件存储的情况:

  • 数据量较大的非结构化数据(多媒体)
  • 数据量大,信息松散(历史记录、档案)
  • 非关系层次化数据(系统配置文件)
  • 对数据的存取速度要求极高的情况
  • 临时存放的数据

文件设计的主要工作就是根据使用要求、处理方式、存储的信息量、数据的活动性以及所提供的设备条件等确定文件类型,选择文件媒体,决定文件组织方法,设计文件记录格式,并估算文件的容量 数据库设计
在结构化设计中,很容易将结构化分析阶段建立的数据字典和 实体-关系 模型映射到关系数据库中

  • 数据对象的映射
  • 关系的映射

相关资源:…dummy:虚拟RPM,用于哑的oracle-instantclient软件包-其它代码…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月1日
下一篇 2020年10月1日

相关推荐