软件工程基础:王立福课件中的特征与开发方法

需积分: 37 19 下载量 54 浏览量 更新于2024-08-15 收藏 3.61MB PPT 举报
“特征Feature列表-2011版王立福自学考试的软件工程课件” 在软件工程中,特征(Feature)是指一个新的项目及其相关的简要描述,它是应用系统潜在抽象层的一部分。特征列表用于明确地列出软件系统应具备的功能或特性,帮助开发者理解用户的需求并进行系统设计。例如,在教育管理系统的场景中,特征可能包括计算学生的期末考试平均成绩、统计不及格人数以及分析分数分布等。 软件工程是一门学科,旨在通过科学的方法和工具有效地进行软件开发和评估。北京大学软件工程国家工程研究中心的王立福教授强调了理解软件开发的本质和基本手段的重要性。软件生存周期过程是软件工程的核心,它涵盖了软件从需求分析、设计、实现、测试到维护的全过程。 在软件开发过程中,需求及系统/产品需求规约是起点,它们定义了软件应满足的功能和非功能需求,也是后期测试和确认的标准。软件开发方法学则提供了不同的开发途径,如结构化方法、面向对象方法、面向数据结构方法和维也纳开发方法等,每种方法都有其适用的场景和原则。 CMM(Capability Maturity Model for software)是一种评估和改进软件开发过程成熟度的框架,旨在确保正确产品的产出。软件开发的本质在于将问题域中的概念和计算逻辑映射到不同抽象层,这涉及到数据抽象和过程抽象等抽象过程。 数据抽象是将现实世界中的对象转化为模型化概念,例如,将学生张山作为一个对象,通过需求分析,使用面向对象方法,基于数据抽象原理来构建。而过程抽象则是将问题空间的处理逻辑转化为解空间的可执行逻辑,如计算学生成绩的过程,可以采用结构化方法,基于过程抽象原则,设计出清晰的处理流程。 交互图是需求分析和设计阶段的重要工具,它能展示系统中不同组件如何相互作用,如计算学生成绩的交互过程,可以借助面向对象方法进行描绘和设计。 软件工程是一门综合性的学科,涵盖了需求获取、系统设计、编码、测试和维护等多个方面,而特征列表作为需求分析的一部分,对于理解和构建符合用户需求的软件系统至关重要。