软件工程讲义:对象-关系建模与OOA方法

需积分: 49 3 下载量 79 浏览量 更新于2024-08-20 收藏 7.33MB PPT 举报
"本资源是一份关于软件工程的讲义,重点介绍了OOA(对象导向分析)方法中的对象-关系建模,包括泛化、关联、聚集和合成以及依赖这四种关系。此外,还提到了课程学时分配、学习考核方式以及软件工程的发展历程和软件危机的相关内容。" 在软件工程领域,OOA(Object-Oriented Analysis,对象导向分析)是设计和开发软件的一种重要方法。这份讲义主要关注的是对象-关系建模,这是OOA的核心部分。首先,我们来看四种基本的关系类型: 1. 泛化(Generalization)关系:这是一种继承关系,通常表现为一个超类(父类)和若干个子类(子类)。这种关系允许子类继承超类的属性和行为,使得代码复用和模块化得以实现。 2. 关联(Association)关系:关联描述了模型元素之间的语义联系,比如类与类之间的合作关系。它可以是双向的,也可以是单向的,并且可以有不同的关联度,如一对一、一对多或多对多。 3. 聚集(Aggregation)和合成(Composition)关系:这两种关系都是关联的特殊情况,体现了整体与部分的概念。聚集是“has-a”的关系,相对较弱,表示部分可以独立于整体存在。而合成(Composition)是“part-of”的关系,更加强烈,意味着部分与整体有相同的生命周期,如果整体被销毁,部分也会随之消失。 4. 依赖(Dependency)关系:这是一种较弱的关联,一个类的改变可能会影响到另一个类,通常通过接口的调用来体现。 讲义中还提到了课程的设置,包括48个学时的分配,其中32学时用于讲解,16学时用于实践操作。课程成绩由平时成绩、上机表现和期末考试三部分组成。此外,简述了软件工程的产生,从早期的程序设计阶段到现在的软件工程阶段,强调了软件危机的存在,如开发周期长、成本高、错误频繁等问题,并指出软件工程是解决这些问题的关键途径。 软件工程学涵盖了软件的定义、性质以及软件工程学的定义和发展。软件不仅仅是程序,还包括数据结构和文档,其特性包括复杂性、难以描述性、不可见性、变化性、风险性和强合作性。软件工程学试图通过系统化、定量的方法来管理和开发软件,以应对软件危机。