软件工程基础:CMM级别划分与过程能力提升

需积分: 37 19 下载量 50 浏览量 更新于2024-08-15 收藏 3.61MB PPT 举报
在2011版王立福自学考试的软件工程课件中,主要讨论了软件开发的各个层次和关键特性。首先,"初始级"被定义为软件开发的初级阶段,这个阶段的组织通常不具备稳定的支持软件开发的环境,项目管理常常因危机而变得混乱,缺乏明确的规划。项目依赖于个人的技术能力和动机,因为软件开发过程不规范,缺乏标准流程,如需求管理和进度控制,导致过程能力不可预测。 在这个阶段,软件开发的特点包括: 1. 非标准化:没有统一的软件开发规范,导致项目执行缺乏透明度。 2. 无序性:软件过程不确定,缺乏计划,往往在出现问题时才转向编码和测试。 3. 依赖个人能力:项目的成功与否很大程度上取决于开发者的技术水平和个人表现,软件性能波动大,难以进行准确预测。 课程进一步深入探讨了软件工程的基础概念,如软件生存周期的划分,它涵盖了软件的整个生命周期,包括需求分析、设计、实现、测试和维护等阶段。软件过程支持过程方向的建立是这一阶段的核心,通过各种方法论如结构化方法、面向对象方法和维也纳开发方法(VDM),提供了实现软件开发路径的途径。 CMM(能力成熟度模型)也被提及,作为衡量软件开发过程能力的一种工具,它帮助组织评估和改进其软件开发过程,以确保最终产品的质量和可靠性。软件开发的本质被理解为问题域(客观事物系统)与不同抽象层次(如数据抽象和过程抽象)之间的映射,这涉及到诸如面向对象方法、结构化方法等具体技术的应用。 课程强调了对软件开发本质的理解和正确的方法论选择对于开发人员的重要性,这既是思想基础,也是实践中的指导。例如,通过对问题空间和解空间的模型化,以及交互图的构建,开发者可以运用面向对象或结构化方法来设计和实现可构造的计算逻辑。 王立福的软件工程课件深入剖析了软件开发的复杂性,提倡在理论与实践中找到合适的平衡,以提升软件质量和开发效率。通过理解和掌握这些基本特征,学生能够更好地应对软件工程的各种挑战。