软件工程基础与开发方法探索 - 王立福

需积分: 23 15 下载量 43 浏览量 更新于2024-08-15 收藏 3.53MB PPT 举报
"这篇资料是2011年王立福关于软件工程自考的学习内容,强调了理解和掌握软件开发的本质和方法的重要性。内容涵盖了软件工程的基础、软件过程、需求分析、开发方法学以及能力成熟度模型(CMM),并提到了多种软件开发方法,如结构化、面向对象等。此外,还探讨了问题域与运行平台之间的映射关系,以及在需求分析、设计阶段使用的数据抽象和过程抽象等概念。" 在软件工程中,理解软件开发的本质至关重要。它涉及到将问题域中的客观事物系统转换为不同抽象层的概念和计算逻辑,这个过程包括数据抽象和过程抽象。数据抽象是指将问题空间的概念转化为解空间的模型化概念,这在需求分析阶段使用面向对象方法来实现,目的是形成计算的客体。例如,将具体的人物张山抽象为一个对象。 另一方面,过程抽象是将问题空间的处理逻辑转化为解空间的处理逻辑,这通常在需求分析阶段使用结构化方法来完成,旨在构建可执行的计算逻辑。以计算学生平均成绩为例,这个过程涉及对原始数据进行操作,以得出新的信息。 软件过程是软件开发中的关键环节,它定义了开发活动中涉及的各项任务及其组织方式。软件需求及系统/产品需求规约是软件开发的起点,它们为产品的测试和确认提供了标准。开发方法学则提供了如何进行开发活动的指导,包括结构化方法、面向对象方法、面向数据结构方法以及维也纳开发方法等多种选择。 CMM(Capability Maturity Model for software)是确保软件开发过程能力的一种框架,旨在提升软件产品质量和过程效率。通过遵循CMM,团队可以逐步改进其软件开发流程,达到更高效、更可靠的软件产品生产。 软件生存周期过程的建立和形成是软件工程的重要组成部分,它包括了从需求获取、设计、实现、测试到维护的各个阶段,并在每个阶段都可能使用到相应的图形表示工具,如对象图、构件图、包图、部署图、组合结构图以及USE CASE图、活动图、通讯图、交互概观图和定序图等。这些图表有助于可视化和理解软件系统的不同方面。 总结来说,软件工程是一门涉及广泛的知识体系,涵盖理论、方法和实践,它要求开发者不仅要知道如何开发软件,还要理解为什么要这样做,以及如何通过有效的过程管理和技术手段来提高软件质量。