正在加载图片...
面向对象软件工程实践指南 Hore为代表的数学观,以Bertrand Meyer为代表的工程观,以Ivar Jacobson为代表的建模 观等。而在现实生活中,许多程序员还认为软件开发是个手工艺活,还有一些人甚至把软件 开发看做是一门“艺术”一不同的人发挥自己的创造力写出迥然不同的代码。因而,要使得 软件开发逐步成熟,要大力传播软件工程的思想,同时软件工程自身还需要不断发展完善。 1.2软件工程基本思想 无论是传统软件工程还是面向对象软件工程,它们都体现了一些共同的思想,这些思 想主要有:抽象,分解,分类,复用。 1.2.1抽象 抽象,是人类解决复杂问题的通用方法。抽象从众多的事物中抽取出共同的、本质性 的特征,而舍弃其非本质的特征。通过硬件基础上运行的软件来解决实际问题时,软件中的 概念和实际问题中的概念是有区别的,因此必须采用抽象来实现实际问题在软件世界中的映 射。在传统软件工程中,问题被映射成函数、数据结构、算法等软件概念,而在面向对象软 件工程中,问题被映射成对象,类以及它们之间的关系,由于对象、类模拟了现实世界,这 种抽象更容易理解。为了实现从问题领域到软件领域的映射,软件工程把软件开发分为了多 个阶段,每一个阶段中提供了多种模型来完成任务,而模型本身就是一种抽象表达。 1.2.2分解 分解,也是人类解决复杂问题的通用方法。所谓分解,就是把复杂的系统变成小的系 统,采用“各个击破”的原则逐一解决。由于软件本身比较复杂,作为一个整体开发存在一 定困难,因此,把软件系统分解成一个个小系统,这样就可以大大降低开发难度。传统的软 件工程在分解时,从功能角度出发,各个子系统都对应了一部分功能:而面向对象的软件工 程中,把系统分解为一个个对象,通过定义对象间的交互来完成所有的功能。分解也促进了 软件重用,由于每一个小的单元(子系统、模块、类、函数)具备一定的功能,在未来的软 件开发中可以被再次使用,那些具有一定通用性的软件,甚至可以构成一个可重用软件库。 1.2.3复用 复用,就是利用已有的代码,或者已有的知识、经验编写代码,以进行新的软件开发。 复用可以节省很大一部分时间和精力,从而提高开发效率。复用的软件大多经过很长时间的 检验,这样可以减少开发过程中可能出现的错误。小部分的创新加上大部分的己有成果来完 成新项目,因此利用复用可以高效而又高质量地完成软件开发工作。 复用的形式有多种多样,主要的形式为程序库、类库、软件服务、应用框架、设计模 6面向对象软件工程实践指南 6 Hore 为代表的数学观,以 Bertrand Meyer 为代表的工程观,以 Ivar Jacobson 为代表的建模 观等。而在现实生活中,许多程序员还认为软件开发是个手工艺活,还有一些人甚至把软件 开发看做是一门“艺术”——不同的人发挥自己的创造力写出迥然不同的代码。因而,要使得 软件开发逐步成熟,要大力传播软件工程的思想,同时软件工程自身还需要不断发展完善。 1.2 软件工程基本思想 无论是传统软件工程还是面向对象软件工程,它们都体现了一些共同的思想,这些思 想主要有:抽象,分解,分类,复用。 1.2.1 抽象 抽象,是人类解决复杂问题的通用方法。抽象从众多的事物中抽取出共同的、本质性 的特征,而舍弃其非本质的特征。通过硬件基础上运行的软件来解决实际问题时,软件中的 概念和实际问题中的概念是有区别的,因此必须采用抽象来实现实际问题在软件世界中的映 射。在传统软件工程中,问题被映射成函数、数据结构、算法等软件概念,而在面向对象软 件工程中,问题被映射成对象,类以及它们之间的关系,由于对象、类模拟了现实世界,这 种抽象更容易理解。为了实现从问题领域到软件领域的映射,软件工程把软件开发分为了多 个阶段,每一个阶段中提供了多种模型来完成任务,而模型本身就是一种抽象表达。 1.2.2 分解 分解,也是人类解决复杂问题的通用方法。所谓分解,就是把复杂的系统变成小的系 统,采用“各个击破”的原则逐一解决。由于软件本身比较复杂,作为一个整体开发存在一 定困难,因此,把软件系统分解成一个个小系统,这样就可以大大降低开发难度。传统的软 件工程在分解时,从功能角度出发,各个子系统都对应了一部分功能;而面向对象的软件工 程中,把系统分解为一个个对象,通过定义对象间的交互来完成所有的功能。分解也促进了 软件重用,由于每一个小的单元(子系统、模块、类、函数)具备一定的功能,在未来的软 件开发中可以被再次使用,那些具有一定通用性的软件,甚至可以构成一个可重用软件库。 1.2.3 复用 复用,就是利用已有的代码,或者已有的知识、经验编写代码,以进行新的软件开发。 复用可以节省很大一部分时间和精力,从而提高开发效率。复用的软件大多经过很长时间的 检验,这样可以减少开发过程中可能出现的错误。小部分的创新加上大部分的已有成果来完 成新项目,因此利用复用可以高效而又高质量地完成软件开发工作。 复用的形式有多种多样,主要的形式为程序库、类库、软件服务、应用框架、设计模
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有