软件工程-----------启发规则
1.软件设计的启发规则有哪些?
答:一、改进软件结构提高模块独立性
即通过模块分解或合并,降低耦合提高内聚。
两个方面:
1、模块功能完善化。一个完整的模块包含:执行规定的功能的部分、出错处理的部分、返回一个“结束标志”
2、消除重复功能,改善软件结构。完全相似和局部相似
二、模块规模应该适中
一般说来,分解后不应该降低模块独立性。
过小的模块开销大于有效操作,而且模块数目过多将使系统接口复杂
三、深度、宽度、扇出和扇入都应适当
四、模块的作用域应该在控制域之内
在一个设计得很好的系统中,所有受判定影响的模块应该都从属于做出判定的那个模块,最好局限于做出判定的那个模块本身及它的直属下级模块。
五、力争降低模块接口的复杂程度
模块接口复杂是软件发生错误的一个主要原因。应该仔细设计模块接口,使得信息传递简单并且和模块的功能一致。
六、设计单入口单出口的模块
警告软件工程师不要使模块间出现内容耦合。当从顶部进入模块并且从底部退出来时,软件是比较容易理解的,因此也是比较容易维护的。
七、模块功能应该可以预测
模块的功能应该能够预测,但也要防止模块功能过分局限。
2. 层次图,HIPO图和结构图有那些不同?
答:层次图(H图)
层次图用来描绘软件的层次结构。很适于在自顶向下设计软件的过程中使用。
HIPO图
HIPO图是美国IBM公司发明的“层次图+输入/处理/输出图”的英文缩写。
为了能使HIPO图具有可追踪性,在H图(层次图)里除了最顶层的方框之外,每个方框都加了编号。
和H图中每个方框相对应,应该有一张
软件工程-----------启发规则相关推荐
- (软件工程复习核心重点)第十章面向对象设计-第二节:启发规则和软件重用
文章目录 一:启发规则 (1)设计结果应该清晰易懂 (2)一般一特殊结构的深度适当 (3)设计简单的类 (4)使用简单的协议 (5)使用简单的服务 (6)把设计变动减至最小 二:软件重用 (1)概述 ...
- (软件工程复习核心重点)第四章总体设计-第三节:启发规则
文章目录 (1)改进软件结构提高模块独立性 (2)模块规模应该适中 (3)深度.宽度.扇入和扇出应适当 (4)模块的作用域应该在控制域之内 A:定义 B:规则 C:修改方法(了解) (5)力争降低模块 ...
- 软件工程中的启发规则
1.改进软件结构提高模块独立性 2. 模块规模应该适中 3.深度.宽度.扇出和扇入都应适当 4.模块的作用域应该在控制域之内 5.力争降低模块接口的复杂程度 6.设计单入口单出口的模块 7.模块功能应 ...
- 面向对象设计启发规则
- 软件工程结构化建模的方法和工具_2020年6月——北京大学《软件工程》笔记
1软件工程概述 一.软件的定义 计算机系统种的程序及其文档. 程序:计算机任务的处理对象和处理规则的描述. 文档:为了便于理解程序所需要的阐明性资料. ●软件是无形的.不可见的逻辑实体 ●软件是设计开 ...
- 看这玩意复习你还会挂科?《软件工程2篇》
第一章: 软件工程定义: 1968年10月,Fritz Bauer 首次提出了"软件工程"的概念,并将"软件工程"定义为:为了经济地获得能够在实际机器上有效运行 ...
- 软件工程复习提纲——第四章
软件工程复习提纲,期末.考研的学霸笔记 第四章--总体设计 第四章总体设计 1.总体设计/概要设计/初步设计的目的:"概括地说,系统应该如何实现?"How to do? 启发规 ...
- 软件工程导论 05章总体设计
1.典型的总体设计步骤: ①确定最佳方案 ②功能分解 ③体系结构设计 ④模块设计 ⑤数据结构与数据库设计 ⑥用户界面设计 ⑦设计完成设计文档 ⑧评审 总体设计的目的:概括地回答系统应该如何实现这个问题 ...
- 软件工程概论期末复习笔记
文章目录 Chapter01-软件工程学概述 Chapter02-可行性研究 Chapter03-需求分析 功能模型的构建 DFD绘制 数据模型的构建 数据字典 ER图 Chapter04-总体设计 ...
最新文章
- Windows软件调试学习笔记(1)
- JavaFX图表(六)之条形图
- HTTP协议状态码详解
- Ubuntu16.04 sudo apt-get install lib***-dev安装失败,无法锁定文件,sudo apt-get update 更新失败也无法解决
- 网络流24题之最长k可重区间集问题
- 00后网购消费报告:超九成用户跟好友拼过单 手机数码花销最大
- 动态ip、静态ip、pppoe拨号的区别
- 4~20mA变送器量程与输入电流、输出电流的关系
- 测试linux内核工具,多种测试linux内核的方法
- Spring源码解析目录
- xjoi9235区间翻转
- 世界一流学科排名计算机科学,2021软科世界一流学科排名:计算机科学与工程...
- Visual C++实现推箱子游戏的核心算法设计与实现(附源码和和资源)
- flex:1是什么?
- win10快捷方式变成空白图标怎么办?
- JAVA语言程序设计教程张席_Java语言程序设计教程
- 杜邦分析模型 java_如何用java报表工具Style Report 制作财务分析杜邦分析
- DeprecationWarning: use options instead of chrome_options self.driver = webdriver.Chrome(chrome_op
- 多项式朴素贝叶斯分类器_多项式朴素贝叶斯分类器的主题预测
- 倾我万缕柔情,共你一帘幽梦