(软件工程复习核心重点)第四章总体设计习题
文章目录
- 选择题
- 填空题
- 名词解释
- 简答题
- (1)必考
- (2)了解
- 画图题/应用题
选择题
填空题
总体设计的设计原理包括
- 模块化
- 抽象
- 逐步求精
- 信息隐藏和局部化
- 模块独立性
请按照耦合度从低到高写出常见耦合方式
- 完全独立
- 数据耦合
- 特征耦合
- 控制耦合
- 外部耦合
- 公共耦合
- 内部耦合
耦合设计原则为:
内聚由低到高为
- 偶然内聚
- 逻辑内聚
- 时间内聚
- 过程内聚
- 通信内聚
- 顺序内聚
- 功能内聚
一个完整的模块包括
- 执行规定的功能部分
- 出错处理部分
- 返回一个结束标志
名词解释
- 模块:模块是由边界元素限定的相邻程序元素所组成的序列,而且有一个总体标识符代表它。模块是构成程序的基本构件
- 模块化:模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能以满足用户的需求
- 模块独立性:开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立
- 抽象:抽出事物的本质特性而暂时不考虑它们的细节
- 逐步求精:逐步求精是软件工程技术的基础,为了能集中精力解决主要问题而尽量推迟对问题细节的考虑
- 信息隐藏:指一个模块内包含的信息对于不需要这些信息的模块来说是不能访问的,主要是指模块的实现细节
- 局部化:指把一些关系密切的软件元素物理地放得彼此接近,有助于实现信息隐藏
- 耦合:是对一个软件结构内不同模块间互连程序的度量。耦合强度取决于模块接口的复杂程度、通过接口的数据等。耦合度越高,模块独立性越弱
- 内聚:是用来度量一个模块内部各个元素彼此结合的紧密程度。内聚度越高,紧密程度越高
- 深度:表示软件结构中控制的层数,能粗略地标志一个系统的大小和复杂程度
- 宽度:是软件结构内同一个层次上的模块总数的最大值
- 扇出:是一个模块直接控制的模块数目
- 扇入:表明有多少个上级模块直接调用它。扇入越大则共享该模块的上级模块数目越多。但是,不能违背模块独立原理单纯追求高扇入
简答题
(1)必考
1.总体设计的相关概念
【答案】
总体设计的定义:总体设计的基本目的就是回答“系统应该如何实现”这个问题,又称为概要设计或初步设计
总体设计的任务:确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系
总体设计的概括:
总体设计的必要性:可以站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统
2.总体设计的步骤
【答案】
3.简述设计原理(这一部分中的内容基本会分散在名词解释和填空题中记忆)
- 模块独立性的重要性
【答案】
- 具有独立模块的软件比较容易开发出来
- 独立的模块比较容易测试和维护
5.请简述耦合方式
【答案】
6.请简述内聚方式
【答案】
7.请简述启发式规则
【答案】
- 改进软件结构以提高模块独立性
- 模块的规模应该适当
- 深度、宽度、扇入、扇出数目应该适当
- 模块的作用域应该在控制域之内
- 力争降低模块接口的复杂程度
- 设计单入口单出口的模块
- 模块的功能应该可以预测但要防止过分局限
- 简述层次图和HIPO图
【答案】
- 层次图:层次图用于描绘软件的层次结构,其中一个矩形框代表一个模块,方框间的连线表示调用关系而不像层次方框图那样表示组成关系层次图很适于在自顶向下设计软件的过程中使用。通常用层次图作为描绘软件结构的文档
- HIPO图:HIPO图本质就是层次图加编号。也即HIPO图=层次图+输入/处理/输出图
9.简述结构图
【答案】
(2)了解
1.简述一般的抽象过程和软件工程抽象工程
【答案】
画图题/应用题
(软件工程复习核心重点)第四章总体设计习题相关推荐
- (软件工程复习核心重点)第二章可行性研究习题
文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 四:简答题 (1)必考 1. 关于可行性研究 2. 关于数据流图 3. 关于数据字典 (2)了解 五:应用题/画图题 一:选择题 二:填空题 ...
- (软件工程复习核心重点)第一章软件工程概论-第四节:软件过程及相关模型
文章目录 一:软件过程概念 (1)定义 (2)构成 二:主要模型 (1)瀑布模型 A:定义 B:特点 C:优缺点 D::适用范围 E:实际的瀑布模型 (2)快速原型模型 A:定义 B:原理 C:优缺点 ...
- (软件工程复习核心重点)第二章可行性研究-第四节:数据字典
文章目录 一:相关概念 (1)定义 (2)作用 (3)意义(了解) 二:内容 三:定义数据的方法 (1)数据元素组成数据的方式 (2)符号表示 四:数据字典示例 五:用途 一:相关概念 (1)定义 数 ...
- (软件工程复习核心重点)第一章软件工程概论习题
这一章题目主要以简答和名词解释为主 文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 (2)了解 四:简答题 (1)必考 1.关于软件危机 2.关于软件工程 3. 关于软件生命周期 4.关于 ...
- (软件工程复习核心重点)第二章可行性研究-第三节:数据流图
文章目录 一:数据流图的定义(DFD) 二:数据流图的特点 三:数据流图的符号 (1)符号 (2)注意(了解) 四:数据流图示例 (1)示例1 A:首先从题目中提取四种成分 B:画数据流图 (2)示例 ...
- (软件工程复习核心重点)第九章软件项目管理
文章目录 一:估算软件规模 (1)代码行技术 (2)功能点技术 二:工作量估算 三:进度计划 (1)甘特图(Cantt图) (2)工程网络 四:人员组织 五:质量保证 六:软件配置管理 七:能力成熟度 ...
- (软件工程复习核心重点)第一章软件工程概论-第三节:软件生命周期
文章目录 一:软件定义 (1)问题定义 (2)可行性研究 (3)需求分析 二:软件开发 (1)总体设计 (2)详细设计 (3)编码和单元测试 (4)综合测试 三:软件维护 一:软件定义 (1)问题定义 ...
- (软件工程复习核心重点)第一章软件工程概论-第二节:软件工程
文章目录 一:软件工程 (1)软件工程的定义 (2)软件工程的本质特征 (3)软件工程基本原理 二:软件工程方法学 (1)概念 (2)分类 一:软件工程 (1)软件工程的定义 软件工程:采用工程的概念 ...
- (软件工程复习核心重点)第一章软件工程概论-第一节:软件和软件危机
文章目录 一:软件的概念.特点与发展 (1)软件发展的三个阶段 (2)软件的概念 (3)软件的特点 二:软件危机 (1)软件危机的概念 (2)软件危机的表现 (3)软件危机产生的原因 A:主观原因 B ...
- (软件工程复习核心重点)第九章面向对象分析-第二节:面向对象分析之建立对象模型
文章目录 一: 基本概念 (1)对象模型 (2)先建立对象模型的原因 (3)信息来源 (4)典型的建模步骤 二:确定类与对象 (1)找出候选的类与对象 A:客观事物分类 B:非正式分析 C:提取隐含的 ...
最新文章
- Gantt Chart in JavaScript (HTML5) | FusionCharts
- 两个对于Apriltag图片处理问题讨论
- Sqlserver2008 FileStream解决图片存储问题
- 函数计算支持应用中心功能
- C语言调试技巧:stdin,stdout,stderr
- python socket监听端口_Python 用socket模块实现检测端口和检测web服务
- Java 并发(JUC 包-02)
- Flink java模拟生成自定义流式数据
- Linux添加1G虚拟内存,Linux下怎样增加虚拟内存
- Android基础(三) 数据库SQLite
- 程序设计导引【总述】
- 如何便捷的获取AD(Altium Designer)封装、以及如何从PCB工程中导出封装库、封装库安装
- android拆轮子系列之一步一步教你写微信抢红包插件
- error LNK2005: public: virtual __thiscall CMemDC::~CMemDC(void) (??1CMemDC@@UAE@XZ) already de
- Java学习笔记 第一天
- TI CC1310 sub1G的SDK开发之入门
- [读书笔记] 蔡康永的说话之道
- 1.1 硅、玻璃和石英微流控芯片的制作
- 微信发的文件怎么从服务器删除,怎么删除微信里已发的文件
- 大战AV终结者(一)……AV简介
热门文章
- 德不配位,势必遭殃!人事斗争,劝你不要参与!
- 是的,我不做技术经理了
- 代码敲慢一点,学得会快一点
- 程序员的数学_数学公式太晦涩,不如用代码写出来:这是程序员学数学的独特方式...
- 高薪招聘生物信息工程师-中国科学院深圳先进技术研究院合成所合成生物大设施...
- 无代码调整聚类热图分支顺序
- Ubuntu的简单远程控制和远程桌面
- 高一数学集合知识点整理_高一 | 数学 “集合”知识点总结及归纳~
- 1.5 编程基础之循环控制 20 球弹跳高度的计算
- RTX5 | 内存池04 - 共享内存用于线程之间的通讯(阻塞方式)- 使用信号量