软件工程模块结构优化与设计原则探讨

需积分: 23 15 下载量 144 浏览量 更新于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) 是评估和改进软件开发过程能力的重要工具,旨在确保软件产品的质量。 软件工程是一个系统性的学科,涵盖了从需求获取到软件维护的全过程,并强调正确的方法和过程对于软件开发的成功至关重要。理解并掌握这些核心知识点,有助于提升软件开发的效率和质量。