软件工程模块结构优化与设计原则探讨
需积分: 23 176 浏览量
更新于2024-08-15
收藏 3.53MB PPT 举报
"王立福教授讲解的2011年软件工程自考课程内容,主要探讨了软件开发的本质、过程、需求分析、开发方法学以及CMM模型,强调了软件生存周期过程的重要性。"
在软件工程中,模块结构图的设计是软件开发初期的关键步骤。根据王立福教授的讲解,对于初始的模块结构图,有以下几个重要的知识点:
1. **模块合并原则**:为了减少模块间的关联并提高模块的内聚性,应将具有相同或类似功能的模块合并。比如,将提供相同物理输出的模块整合在一起。在例子中,左侧的三个“显示”模块被合并为一个显示模块,而"PUT mpg"和"生成显示",以及"PUT mph"和"PUT里程"分别与它们相关的显示模块融合,形成了更简洁的模块结构。
2. **模块求精规则**:遵循类似于输入处理的原则进行模块的细化。教授建议将“PUT 加/减速”模块与它的两个子模块合并,以及将“PUT 超速量”模块与其下属的两个模块整合,这样可以提高模块的独立性和易理解性。
3. **软件开发的本质**:软件开发的本质是将问题域中的概念和逻辑映射到不同的抽象层,实现问题空间与解空间的转化。这包括数据抽象和过程抽象。数据抽象涉及需求分析,用面向对象方法将问题空间的概念转化为模型化概念;过程抽象则通过结构化方法,将问题空间的处理逻辑转换为可构造的计算逻辑。
4. **软件过程**:软件开发不仅仅是一系列活动,还涉及到这些活动的组织和顺序。软件生存周期过程的支持和管理技术是确保开发质量和效率的关键。
5. **软件需求与规约**:软件需求是开发的起点,也是系统和产品确认的依据。系统/产品需求规约定义了软件开发的目标和边界。
6. **软件开发方法学**:结构化方法、面向对象方法、面向数据结构方法以及维也纳开发方法等,提供了实现开发过程的不同路径。每种方法学都有其适用的场景和原则。
7. **CMM模型**: Capability Maturity Model (CMM) 是评估和改进软件开发过程能力的重要工具,旨在确保软件产品的质量。
软件工程是一个系统性的学科,涵盖了从需求获取到软件维护的全过程,并强调正确的方法和过程对于软件开发的成功至关重要。理解并掌握这些核心知识点,有助于提升软件开发的效率和质量。
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
顾阑
- 粉丝: 21
- 资源: 2万+
最新资源
- Lotus关于获取URL字符串参数
- jsp数据库经典案例
- 基于LabVIEW步进电机PID控制系统的设计
- GNU映像原理-映像文件及执行机理
- 编程错误中英对照.txt
- 一个智能卡相关的类 PCSC.txt
- CDMA2000系统中的鉴权分析
- Oracle日期时间(Date/Time)操作
- PL/SQL 库程序设计语言介紹
- 什么是RUIM卡,可移动用户识别模块
- 转自名为“来自我心”的博客《中国移动面经、薪酬全攻略》
- 毕业论文—jsp技术实现的系统
- Matlab神经网络工具箱应用介绍
- Office SharePoint Server 2007 规划和基础架构 -2.pdf
- 开源技术选型手册精选版.pdf
- J2EE完全参考手册-J2EE概述-pdf.pdf