软件工程评审与评估:王立福教授讲解

需积分: 32 23 下载量 14 浏览量 更新于2024-08-20 收藏 3.86MB PPT 举报
"北大王立福教授的软件工程2012研修班课件,主要探讨了软件评审与评估的重要任务,包括对软件产品和计划的评价,以确保满足需求,以及对过程执行期间的工作进行评估,以达成目标和完成计划。课程还涵盖了软件工程的基础知识,如软件过程、需求规格、开发方法学以及软件成熟度模型CMM。" 在软件工程领域,评审与评估是关键环节,它们确保软件项目的质量和效率。首先,对软件产品和计划的评价是为了验证是否符合预设的需求,这是软件开发的核心,因为软件的功能性和适用性应基于用户需求来构建。这一阶段通常涉及需求分析,通过与利益相关者沟通,明确并记录软件应实现的具体功能和性能指标。 其次,对过程执行期间的活动、产品和任务的评估,旨在检查是否达到了既定的目标和计划。这涵盖了设计、实现、集成、部署和维护等软件生命周期的不同阶段。评估过程可能包括代码审查、测试结果分析和项目进度监控,以确保所有工作都按照预定的质量标准和时间表进行。 软件过程是软件开发的骨架,它定义了开发活动的顺序和结构。软件工程不仅仅是编程,还包括需求获取、需求分析、系统设计、编码、测试和维护等一系列步骤。每个步骤都有其特定的任务和产出,这些产出物构成了软件开发的各个模型,例如概念模型、设计模型、实现模型和部署模型,它们分别对应问题域的不同抽象层。 软件需求及系统/产品(需求)规约是软件开发的起点,它们为后续的开发工作提供了清晰的指导。需求规格文档是测试和确认软件是否正确实施的关键依据,因为它规定了产品应具备的特性和行为。 软件开发方法学,如结构化方法、面向对象方法、面向数据结构方法和维也纳开发方法,提供了不同的开发策略和工具,以适应不同的项目和团队。选择合适的方法学有助于提高开发效率,确保软件的可维护性和扩展性。 CMM(Capability Maturity Model for software)是评估和改进软件开发过程能力的一种模型,它强调通过逐步改进达到更高的成熟度级别,以保证软件项目的成功率和产品质量。 总结来说,软件工程是一门综合性的学科,它利用计算机科学原理、技术以及工程管理原则,按照预算和时间表开发满足用户需求的软件产品。软件开发的本质在于将问题域的概念映射到不同的抽象层,并通过合适的开发方法、工程支持和有效管理来确保软件的成功实施。