"该资源是一份关于软件工程的课件,涵盖了软件工程的起源、发展、软件危机以及软件工程学的基本概念。同时,它强调了在软件开发中定义系统中对象间关系的重要性,如归纳关系、聚集关系、关联关系、消息传递和链接,并提到了确定系统主题和绘制主题图在建立对象模型过程中的作用。课程还包括了学时分配、成绩考核方式等内容。"
在软件工程中,定义系统中对象之间的关系是至关重要的一步,这关乎到软件的结构和功能设计。关系的类型包括:
1. 归纳关系(一般-特殊关系):这种关系表示一种分类层次,其中一般类(父类)包含特殊类(子类)的所有特性。例如,所有动物都是生物,而狗是一种动物,这里动物是狗的一般类别。
2. 聚集关系(整体-部分关系):这是一种表示整体与部分之间关系的结构,其中一个对象由多个其他对象组成。例如,汽车由发动机、轮胎等多个部件组成,汽车是这些部件的整体。
3. 关联关系:关联关系描述了对象之间的相互作用,它们可能是一对一、一对多或多对多的关系。比如,学生可以关联到多个课程,反之亦然。
4. 消息传递:在面向对象编程中,对象通过发送消息来实现交互。消息传递是对象间通信的方式,一个对象可以向另一个对象发送请求或提供信息。
5. 链接:在图形化建模工具中,链接用于表示对象之间的连接,它可能携带数据或者仅仅表明两个对象之间有某种联系。
确定系统的主题并绘制主题图是建立对象模型的一部分,主题图有助于可视化系统的主要组成部分及其相互关系,这对于理解和设计复杂的软件系统非常有用。软件工程学是解决软件危机的一种方法,通过应用工程原则,规范化软件开发过程,以提高软件的质量、可维护性和可靠性。
软件工程的产生是由于早期软件开发中出现的诸多问题,如软件开发周期过长、成本高昂、易出错且难以维护,这些问题被称为“软件危机”。为了应对这些挑战,软件工程学应运而生,它涵盖了软件的定义、性质、开发方法、使用和维护的系统化过程。软件不仅包括程序,还包含数据结构和文档,具有复杂性、难以描述性、不可见性、变化性、风险性等特征。
软件工程学的定义随着时间的发展而不断演进,从最初的强调工程化原理到包括技术、度量和研究的全面框架。软件工程的目标是经济有效地开发和维护软件,通过使用定量方法、工程原理和最佳实践来减少风险并确保软件的有效运行。