软件工程作业五:模块耦合与设计原则解析
需积分: 0 51 浏览量
更新于2024-08-05
收藏 159KB PDF 举报
一、软件工程基础概念
1. **耦合性排序**:
数据耦合、公共耦合、标记耦合和控制耦合是衡量模块间依赖程度的指标。按照耦合性由低到高,正确的顺序是数据耦合(最低)、标记耦合(次之)、控制耦合(稍高)和公共耦合(最高)。因此,选项B(数据、标记、控制、公共)是正确的。
2. **SD方法的模块划分原则**:
在结构化设计(Structured Design, SD)方法中,模块划分最重要的原则是实现模块的**独立性**,即模块应尽可能降低其内部变化对其他模块的影响,这对应的是选项D,模块独立性。
二、软件测试与分析
3. **黑盒测试方法**:
设计测试用例时,**等价类划分**是最常用的一种黑盒测试技术,它将输入数据划分为不同的类别,以确保每个类别至少有一个测试用例,从而覆盖所有可能的输入情况。
4. **需求分析结果**:
需求分析阶段的最终产物是**需求规格说明书**,它详细描述了用户对软件的需求和期望的功能。
5. **Jackson图中的关系**:
在Jackson图(一种用于描述系统结构的图形工具)中,模块框之间的直线表示它们之间的**调用关系**,即一个模块如何调用另一个模块。
三、软件设计与开发
6. **详细设计任务**:
软件详细设计关注每个模块的**算法和使用的数据结构**,确保这些设计能够实现功能且高效。
7. **编码阶段注意事项**:
为了提高软件可维护性,编码阶段应该注重**模块的独立性**,使代码更易于理解和维护。
四、金融计算与模型
8. **复利计算公式**:
年利率为i,现存入p元,计复利n年后可得金额为p*(1+i)^n,所以选项C正确。
9. **动态模型中的图**:
动态模型关注系统的控制逻辑,其中事件追踪图展示事件序列,而**状态图**则描绘系统在不同时间点的状态转移。
五、面向对象编程
10. **封装性**:
对象实现了数据和操作的结合,通过封装,数据和操作被隐藏在对象的内部,只通过预定义的接口对外提供服务。
六、软件生命周期成本
11. **软件维护费用**:
软件生命周期中,通常**软件维护**阶段的花费最多,因为随着软件的运行和使用,可能会不断出现新需求和问题需要修复。
七、模块相关概念
12. **控制域**:
指模块内一个判断影响的所有模块集合,体现模块间的逻辑关联。
八、软件设计语言
13. **PDL**:
PDL(Pseudo-Code,伪代码)是一种**伪码**,它是一种介于自然语言和编程语言之间的简化表示形式,用于描述算法或程序流程。
九、数据分析与系统设计
14. **中心变换**:
在数据流分析中,找到中心变换是基于**数据流图**来构建系统结构的关键。
十、快速原型开发
15. **快速原型模型特点**:
快速原型模型强调**及早提供工作软件**,以便尽早收集用户反馈并迭代开发。
十一、模块内聚性
16. **内聚性**:
模块内聚性越高,表示模块内部的元素更紧密地联系在一起,减少对外部的依赖,提高模块的独立性和稳定性。
111 浏览量
2022-08-08 上传
2021-12-04 上传
2012-12-01 上传
2022-07-02 上传
2018-03-13 上传
2021-01-10 上传
2021-10-31 上传
2015-06-15 上传
梁肖松
- 粉丝: 32
- 资源: 300
最新资源
- 单片机串口通信仿真与代码实现详解
- LVGL GUI-Guider工具:设计并仿真LVGL界面
- Unity3D魔幻风格游戏UI界面与按钮图标素材详解
- MFC VC++实现串口温度数据显示源代码分析
- JEE培训项目:jee-todolist深度解析
- 74LS138译码器在单片机应用中的实现方法
- Android平台的动物象棋游戏应用开发
- C++系统测试项目:毕业设计与课程实践指南
- WZYAVPlayer:一个适用于iOS的视频播放控件
- ASP实现校园学生信息在线管理系统设计与实践
- 使用node-webkit和AngularJS打造跨平台桌面应用
- C#实现递归绘制圆形的探索
- C++语言项目开发:烟花效果动画实现
- 高效子网掩码计算器:网络工具中的必备应用
- 用Django构建个人博客网站的学习之旅
- SpringBoot微服务搭建与Spring Cloud实践