background image

 

量其进度。

” “

  所谓的 软件工程 就是要这种过程 可视化 、定量化 ,把看不见的思维活

 

动变成看得见的 文档 或者其他看得见的东西。
  

2

 

软件工程方法和技术

  

30 多年来,软件工程的研究和实践取得了长足的进展,尽管目前离彻底解

决 软件危机 还有相当的差距

(对是否能彻底解决目前也存在争议),但软件工

程的方法对软件产业

发展

是起到了很大的推动作用。从

20 世纪 60 年代以

来,陆续出现了结构化程序设计技术、计算机辅助软件工程

(CASE)、面向对象语

言和方法、软件过程及软件过程改善研究等一系列成果,并应用到实践中。目前

 

软件工程中主要使用的方法和技术可以分成技术和管理两类。
  

2.1

 

技术的角度

  主要包括:软件开发范型、软件设计方法。软件开发范型关注软件工程的方

向,即如何才是正确的编写满足需求的软件;软件设计方法关注软件工程的 途

 

径 ,即研究怎样完成从高层概念模型到低层概念模型的映射。
  软件工程理论在实践中应用时重点放在软件复用上。

参考

前成熟的工业产

品的开发模式,软件复用可以在软件开发中避免重复劳动,它以已有的成果为
基础,充分利用过去开发应用系统中积累的知识和经验,将开发的重点集中于
新应用的特有构成成分上。通过使用软件复用技术,开发应用系统时可以充分利
用已有的开发成果,消除软件生命周期中的许多重复劳动,提高软件开发的效
率。同时,复用高质量的已有成果,可以避免重新开发时引入的错误,从而提高

 

软件质量。
  实现软件复用的关键技术包括软件构件技术
(softwarecomponenttechnology)、领域工程(domainen—gineering)、软
件体系结构

(softwarearchitecture)

 

等。

  软件构件是指应用系统中可以明确辨识的构成成分,可复用构件是指具有
相对独立功能和可复用价值的构件。目前,构件的概念即包括源代码,也包括需
求、需求规约、系统和软件的体系结构、文档、测试计划、测试用例和数据以及其他
对开发活动有用的信息,这些信息都可以称为可复用软件构件。软件构件技术是
支持软件复用的核心技术,其主要研究内容包括:如何有目的的进行构件生产
和从已有系统中挖掘提取构件;构件的本质特征及构件间的关系是什么样的;
如何描述构件;如何对构件进行分类、组织及检索等。

研究实践表明,由于某个特定领域需要的软件具有相似的需求,因此软件复用
在特定领域内更容易获得成功,由此出现了领域工程。领域工程是为一组相似或
相近系统的应用工程建立基本能力和必备基础的过程,它涵盖了建立可复用软
件构件的所有活动。包括美国卡内基

·梅隆大学软件工程研究所(CMU/SEI)在内

 

的许多研究机构已经提出了一些领域分析方法。
  如果软件复用仅停留在代码阶段,开发人员得到的好处是有限的。软件体系
结构技术使软件复用从代码复用

发展

到设计复用和过程复用。在建筑工程领域人

们用体系结构表达建筑的整体结构,软件工程研究中引人体系结构这个术语,
其核心内容是软件系统的结构,它包括如下一些实体:构件、构件之间的交互关
系、限制、构件和连接件构成的拓扑结构、设计原则与指导方针。

  

  

2.2

 

工程管理的角度

  

参考

他成熟工程领域中的做法,软件工程也研究

理学

理论在软件工程