软件工程:模块结构优化与开发方法详解

需积分: 31 73 下载量 45 浏览量 更新于2024-08-20 收藏 3.53MB PPT 举报
在王立福教授的《软件工程》自考课件中,对于初始模块结构图的优化通常遵循以下几个原则: 1. 合并相似物理输出模块: 为了减少模块间的耦合度,将具有相同或类似功能的物理输出(如多个“显示”模块)合并为一个,例如,将左边前三个“显示”模块合并为一个显示模块,同时将“PUT mpg”和相关显示模块,以及“PUT mph”和里程显示模块分别整合。 2. 求精规则:类似输入部分的处理,可以将子模块与它们的上级模块合并,比如“PUT 加/减速”和其下属模块,以及“PUT 超速量”及其下属模块。 3. 软件工程基础:课程覆盖了软件开发的各个方面,包括软件过程、需求分析、软件开发方法学(如结构化方法、面向对象方法、数据结构方法等)、CMM模型,旨在提供全面的软件生命周期支持。理解软件开发的本质,即问题域到不同抽象层次的映射,如数据抽象(对象设计)和过程抽象(流程设计),是课程的核心思想。以问题空间的概念和解空间模型化、问题空间处理逻辑与解空间逻辑映射为例,说明如何通过面向对象方法和结构化方法进行抽象和设计。 4. 方法学的应用:结构化方法强调严格的逻辑顺序和文档化,而面向对象方法则更注重封装和继承,适用于处理复杂的问题。VDM(维也纳开发方法)则提供了一种形式化的软件开发途径。 5. 软件过程的支持与管理:课程还关注软件工程的支持与管理技术,这些技术旨在确保软件开发过程的有效性和质量,如软件生存周期模型的建立和过程方向的确定。 综上,王立福教授的《软件工程》课程不仅涵盖了软件开发的基础理论,还提供了具体实践中的工具和技术选择,帮助学生理解并掌握软件开发的各个环节,提升软件开发能力和产品质量。通过学习,学生可以学会如何根据问题的特点和需求,灵活运用各种方法和工具,进行有效的软件设计和实现。