软件工程基础与关联关系探讨-王立福教授讲座

需积分: 32 23 下载量 185 浏览量 更新于2024-08-20 收藏 3.86MB PPT 举报
"关联(association)是软件工程中的一个重要概念,描述了类目之间的结构关系,表现为对象之间的连接。关联可以是二元的,即连接两个类目,也可以是n元的,涉及多个类目。此外,该资料还涵盖了软件工程的基础知识,包括软件过程、需求分析、开发方法学以及软件质量成熟度模型(CMM),强调了软件开发的本质是将问题域的概念和处理逻辑映射到不同的抽象层,并讨论了不同开发方法如结构化、面向对象等在软件工程中的应用。" 在软件工程中,关联(association)是一种重要的关系类型,它定义了类与类之间的相互作用。这种关系反映了类目之间的结构联系,即对象如何通过链接相互连接。例如,在一个简单的关联中,一个学生可能属于一个班级,班级就是学生的一个关联对象。关联可以是二元的,如上述例子,也可以是多对多或者一对一的关系,即n元关联,例如,一个教师可以教导多个班级,而一个班级也可能有多个教师。 软件过程是指软件开发涉及的一系列活动和这些活动的组织方式。它包括需求获取、设计、编码、测试和维护等阶段,旨在确保软件产品的质量和效率。软件需求及系统/产品(需求)规约是软件开发的起点,它们为产品的功能和性能设定标准,同时也是后续测试和验证的依据。 软件开发方法学探讨了如何有效地进行软件开发活动。这包括传统的结构化方法,面向对象方法,面向数据结构的方法,以及特定的开发框架,如维也纳开发方法(VDM)。每种方法学都提供了实现软件开发过程的不同途径,并提供了相应的支持技术和管理策略。 CMM(Capability Maturity Model for software)软件能力成熟度模型,关注的是软件开发过程中过程能力的提升,旨在确保能够按照预算和时间表开发出满足用户需求的高质量产品。 软件开发的本质是将问题域的概念转化为不同抽象层次的概念和计算逻辑。例如,从实际问题到需求的抽象,再到设计、实现和部署等不同阶段的转换。软件模型帮助我们理解和映射这种抽象过程,包括问题空间、需求模型、设计模型、实现模型和部署模型。 软件工程不仅涉及技术实现,还包括对问题的理解、需求分析、设计策略、实现技术以及过程管理,这些都是保证软件开发成功的关键要素。