软件工程自学:生存周期模型选择与方法学探索

需积分: 42 14 下载量 10 浏览量 更新于2024-08-16 收藏 3.53MB PPT 举报
"实施参考-软件工程自学考试(全程学习版)",主要涵盖了软件工程的基础、过程、需求、开发方法学以及能力成熟度模型(CMM)等关键知识点,旨在帮助自学者理解软件开发的本质和实践。 一、软件工程基础 软件工程是一门科学,它系统地应用工程原则、方法和技术来开发、运行和维护软件。王立福在讲解中强调了了解软件开发的本质和基本手段的重要性。软件开发的本质是将问题域的概念和计算逻辑映射到不同的抽象层,这涉及到数据抽象和过程抽象。 二、软件过程 软件过程定义了软件开发的各个阶段和活动,包括需求获取、分析、设计、实现、测试和维护。Alexander和Davis提出的方法遵循IEEE的过程模型,通过建立项目轮廓并对比准则,选择最适合的生命周期模型。 三、软件需求及系统/产品(需求)规约 需求是软件开发的起点,它们定义了软件应满足的功能和非功能特性。需求规约作为产品/系统确认的标尺,确保开发的产品符合预期。 四、软件开发方法学 开发方法学指导开发活动的进行,包括结构化方法、面向对象方法、面向数据结构方法、维也纳开发方法等。这些方法学提供了实现开发过程的路径。 五、CMM(Capability Maturity Model for software) CMM是评估和改进软件开发过程能力的框架,旨在确保能产出正确的产品。它为软件组织提供了一个逐步改进的过程成熟度模型,以提升质量和效率。 六、软件工程中的活动与定序 软件工程过程支持和管理技术涉及活动的顺序安排,如需求分析、设计、编码、测试等,这些活动依据一定的顺序和相互依赖关系进行。 通过以上内容,自学者可以系统地学习到软件工程的核心概念,掌握从需求分析到软件实现的整个流程,同时理解不同开发方法学的应用场景和价值。此外,CMM的引入有助于理解如何提高软件开发的质量和效率,为实际项目实施提供指导。