background image

软件工程的应用与实践

   【摘要】文章主要介绍 ISO/IEC 12207 标准的剪裁方法与架构和软件一体化过程 RUP 及其
相关的工程软件活动本文从介绍软件工程的基本原理、概念、方法和技术开始,重点讲述了
软件工程在实践环节的应用。由于目前软件开发已经普遍使用面向对象的技术,因此,本书
加强了这方面的内容,特别是面向对象的需求获取、面向对象的系统分析和设计、面向对象
的实现,每个环节都给出了具体的活动和产品。

 

  【关键词】

ISO/IEC 12207 标准;一体化软件过程;RUP 软件工程 

  

 

  一、前言

 

  回顾

20 世纪的技术进展,大家一致认为信息技术是发展最快的技术之一,特别是信息

技术应用的渗透性,几乎在各个领域中都可以看到它的身影。软件作为信息技术的灵魂,更
是扮演了极其重要的角色。软件产业在全球经济中所占的地位越来越重要,为了加速软件的
工程化生产,自

20 世纪中期以来,大家对软件工程学的研究越来越深入和广泛,新的学科 、

新的技术、方法和工具不断涌现。

 

  二、软件的分类

 

  软件的分类有许多方法,不同的人员由于不同的目的可能有不同的划分原则。通常的划
分方法是按软件的功能划分和按软件规模划分。此外,软件还可以按重要性划分为关键软件
和非关键性软件。按处理方式可划分为实时软件、交互软件、批处理软件。按销售市场可划分
为项目软件、产品软件。按使用频率可划分为高使用频率和低使用频率软件等。不同类型的软
件的开发要求不同,所遵循的开发标准也不同。例如,关键软件是指关系到人的生命安全、
国家财产、国家机密的软件,这类软件必须具有高可靠性。

 

  

1、按软件功能划分 

  按照软件的功能可以将软件划分为系统软件、支撑软件、应用软件。

 

  系统软件通常是与计算机硬件密切相关的那些比较底层的支持软件。这些软件的规模通
常比较大,并且与硬件的结构和性能密切相关。例如,操作系统、设备驱动软件、网络通信软
件等。它们的作用是保障计算机各个部件能够正常运行,使相关的软件和数据协调、高效地
工作。这部分软件在任何应用中都是必不可少的,也是首先要确定的软件。只有确定了系统
软件的类型和版本后,才能够考虑支撑软件和应用软件。支撑软件是支持软件开发和运行的
工具性软件。其中包括数据库管理系统、软件开发环境、软件辅助设计工具、软件辅助测试工
具、中间件、程序库等。这类软件非常多,分类也更加细致。应用软件是为特定应用目的而开
发、提供某些特定服务的软件。应用软件可谓是规模各异,种类繁多。不同的领域有不同的应
用软件,有大规模的应用软件,例如字处理软件、计算机辅助设计与制造软件、军事指挥系
统、导弹防御系统,也有微型软件,例如,只有几条指令的微型控制软件。

 

  

2、按软件规模划分 

  根据软件开发所投入的人力和时间等资源,以及软件交付的文档和源程序的数量。软件
可划分为微型软件、小型软件、中型软件、大型软件、超大型软件和巨型软件

 

  三、

ISO/IEC 12207 标准的架构与剪裁方法 

  软件是一种逻辑实体,具有抽象性。这个特点使它与其他工程对象有着明显的差异。人
们可以把它记录在纸上、内存、磁盘、光盘上,但却无法看到软件本身的形态,必须通过观察、
思考、分析、判断,才能了解它的功能和性能。因为软件是一种逻辑实体,所以软件在使用过
程中,没有磨损、老化的问题。软件在使用过程中不会因为磨损而老化,但为了适应硬件、系
统环境以及需求的变化可能要不断修改,这些修改不可避免地会引入错误,导致软件失效
率升高,从而使得软件可靠性下降。当修改的成本变得难以接受时,软件就被抛弃。