软件工程中的整体与部分关系解析-王立福《软件工程》

需积分: 31 73 下载量 46 浏览量 更新于2024-08-20 收藏 3.53MB PPT 举报
"王立福教授的《软件工程》自考课件,讲解了软件开发中的重要概念,特别是关于整体与部分的关系——聚合。课件强调理解软件开发的本质和手段,涵盖软件过程、需求分析、开发方法学以及CMM成熟度模型等内容。" 在软件工程中,整体与部分的关系——聚合,是一个重要的概念。聚合是一种特殊类型的关联关系,它描述了整体对象(如学校)和部分对象(如学生或系)之间的关系。在描述这种关系时,要注意整体和部分的生命周期以及它们之间的强度。例如,一所学校可以有0到多个学生,而学生则可以属于1个或多个学校,这就是一个典型的聚合关系。同样,学校与系之间也是聚合关系,一个学校可以包含1个或多个系,而每个系只能隶属于1所学校。 在聚合关系中,还存在多种复杂情况。如描述中提到的Department(系)与Instructor(教师)之间的关系,可以是教师被指派到一个或多个系工作,这体现了一种弱聚合;而系主任的角色则表明了一个系与一名特定教师之间的强关联,这可能是更具体的职责分配,而非单纯的聚合。 软件开发的本质是将问题域(即实际问题所在的领域)中的概念和逻辑映射到解空间(即计算机处理的逻辑和模型)中。这个映射过程包括数据抽象和过程抽象。数据抽象关注问题空间的概念如何转化为模型化概念,如通过面向对象方法将“张山”映射为对象。过程抽象则关注问题空间的处理逻辑如何转化为可执行的计算逻辑,例如,将计算学生平均成绩的过程抽象为结构化的处理逻辑。 软件开发过程涵盖了多个阶段,包括需求分析、系统/产品需求规约、开发方法学的选择(如结构化方法、面向对象方法等)以及CMM(软件能力成熟度模型),这些都旨在确保软件开发的质量和效率。CMM提供了一套评估和改进软件开发过程成熟度的框架,以确保能够生产出正确的系统或产品。 此外,课件中还提到了软件生存周期模型和支持过程,它们为软件工程提供了指导,定义了开发活动及其顺序,以及使用各种方法和技术来支持和管理软件开发过程。这些基本知识构成了软件工程的基础,对于有效地进行软件开发和测评至关重要。