1.软件设计的启发规则有哪些?

答:一、改进软件结构提高模块独立性
即通过模块分解或合并,降低耦合提高内聚。
两个方面:
1、模块功能完善化。一个完整的模块包含:执行规定的功能的部分、出错处理的部分、返回一个“结束标志”
2、消除重复功能,改善软件结构。完全相似和局部相似
二、模块规模应该适中
一般说来,分解后不应该降低模块独立性。
过小的模块开销大于有效操作,而且模块数目过多将使系统接口复杂
三、深度、宽度、扇出和扇入都应适当
四、模块的作用域应该在控制域之内
在一个设计得很好的系统中,所有受判定影响的模块应该都从属于做出判定的那个模块,最好局限于做出判定的那个模块本身及它的直属下级模块。
五、力争降低模块接口的复杂程度
模块接口复杂是软件发生错误的一个主要原因。应该仔细设计模块接口,使得信息传递简单并且和模块的功能一致。
六、设计单入口单出口的模块
警告软件工程师不要使模块间出现内容耦合。当从顶部进入模块并且从底部退出来时,软件是比较容易理解的,因此也是比较容易维护的。
七、模块功能应该可以预测
模块的功能应该能够预测,但也要防止模块功能过分局限。

2. 层次图,HIPO图和结构图有那些不同?

答:​层次图(H图)
层次图用来描绘软件的层次结构。很适于在自顶向下设计软件的过程中使用。
HIPO图
HIPO图是美国IBM公司发明的“层次图+输入/处理/输出图”的英文缩写。
为了能使HIPO图具有可追踪性,在H图(层次图)里除了最顶层的方框之外,每个方框都加了编号。
和H图中每个方框相对应,应该有一张

软件工程-----------启发规则相关推荐

  1. (软件工程复习核心重点)第十章面向对象设计-第二节:启发规则和软件重用

    文章目录 一:启发规则 (1)设计结果应该清晰易懂 (2)一般一特殊结构的深度适当 (3)设计简单的类 (4)使用简单的协议 (5)使用简单的服务 (6)把设计变动减至最小 二:软件重用 (1)概述 ...

  2. (软件工程复习核心重点)第四章总体设计-第三节:启发规则

    文章目录 (1)改进软件结构提高模块独立性 (2)模块规模应该适中 (3)深度.宽度.扇入和扇出应适当 (4)模块的作用域应该在控制域之内 A:定义 B:规则 C:修改方法(了解) (5)力争降低模块 ...

  3. 软件工程中的启发规则

    1.改进软件结构提高模块独立性 2. 模块规模应该适中 3.深度.宽度.扇出和扇入都应适当 4.模块的作用域应该在控制域之内 5.力争降低模块接口的复杂程度 6.设计单入口单出口的模块 7.模块功能应 ...

  4. 面向对象设计启发规则

  5. 软件工程结构化建模的方法和工具_2020年6月——北京大学《软件工程》笔记

    1软件工程概述 一.软件的定义 计算机系统种的程序及其文档. 程序:计算机任务的处理对象和处理规则的描述. 文档:为了便于理解程序所需要的阐明性资料. ●软件是无形的.不可见的逻辑实体 ●软件是设计开 ...

  6. 看这玩意复习你还会挂科?《软件工程2篇》

    第一章: 软件工程定义: 1968年10月,Fritz Bauer 首次提出了"软件工程"的概念,并将"软件工程"定义为:为了经济地获得能够在实际机器上有效运行 ...

  7. 软件工程复习提纲——第四章

    软件工程复习提纲,期末.考研的学霸笔记 第四章--总体设计 第四章总体设计 1.总体设计/概要设计/初步设计的目的:"概括地说,系统应该如何实现?"How to do?   启发规 ...

  8. 软件工程导论 05章总体设计

    1.典型的总体设计步骤: ①确定最佳方案 ②功能分解 ③体系结构设计 ④模块设计 ⑤数据结构与数据库设计 ⑥用户界面设计 ⑦设计完成设计文档 ⑧评审 总体设计的目的:概括地回答系统应该如何实现这个问题 ...

  9. 软件工程概论期末复习笔记

    文章目录 Chapter01-软件工程学概述 Chapter02-可行性研究 Chapter03-需求分析 功能模型的构建 DFD绘制 数据模型的构建 数据字典 ER图 Chapter04-总体设计 ...

最新文章

  1. Windows软件调试学习笔记(1)
  2. JavaFX图表(六)之条形图
  3. HTTP协议状态码详解
  4. Ubuntu16.04 sudo apt-get install lib***-dev安装失败,无法锁定文件,sudo apt-get update 更新失败也无法解决
  5. 网络流24题之最长k可重区间集问题
  6. 00后网购消费报告:超九成用户跟好友拼过单 手机数码花销最大
  7. 动态ip、静态ip、pppoe拨号的区别
  8. 4~20mA变送器量程与输入电流、输出电流的关系
  9. 测试linux内核工具,多种测试linux内核的方法
  10. Spring源码解析目录
  11. xjoi9235区间翻转
  12. 世界一流学科排名计算机科学,2021软科世界一流学科排名:计算机科学与工程...
  13. Visual C++实现推箱子游戏的核心算法设计与实现(附源码和和资源)
  14. flex:1是什么?
  15. win10快捷方式变成空白图标怎么办?
  16. JAVA语言程序设计教程张席_Java语言程序设计教程
  17. 杜邦分析模型 java_如何用java报表工具Style Report 制作财务分析杜邦分析
  18. DeprecationWarning: use options instead of chrome_options self.driver = webdriver.Chrome(chrome_op
  19. 多项式朴素贝叶斯分类器_多项式朴素贝叶斯分类器的主题预测
  20. 倾我万缕柔情,共你一帘幽梦

热门文章

  1. java有个策略龙蛋的什么游戏_我的世界龙蛋怎么孵化 龙蛋孵化详细攻略
  2. 借花献佛!一文了解OOM及解决方案,终局之战
  3. linux 下gz文件解压命令,Linux解压gz文件的命令怎么写
  4. Redis LRU算法
  5. html幻灯片图片轮播w3,W3.CSS Slideshow (幻灯片)
  6. JQuery获取多选框内容
  7. Linux防火墙添加端口
  8. linux中的env命令,Linux env命令详解
  9. 所谓情商高,就是懂得好好说话
  10. 蓝牙耳机什么牌子好?分享四款市面上音质好的蓝牙耳机