软件工程项目的基本目标和原则

发表于:2009-04-29来源:作者:点击数: 标签:软件工程项目目标原则
组织实施软件工程项目,最终希望得到项目的成功。所谓成功指的是达到以下几个主要的目标: ·付出较低的开发成本; ·达到要求的软件功能; ·取得较好的软件 性能 ; ·开发的软件易于移植; ·需要较低的维护费用; ·能按时完成开发工作,及时交付使用。
   组织实施软件工程项目,最终希望得到项目的成功。所谓成功指的是达到以下几个主要的目标:

  ·付出较低的开发成本;

  ·达到要求的软件功能;

  ·取得较好的软件性能

  ·开发的软件易于移植;

  ·需要较低的维护费用;

  ·能按时完成开发工作,及时交付使用。

        在具体项目的实际开发中,企图让以上几个目标都达到理想的程度往往是非常困难的。

 

图1软件工程目标之间的关系

  图1表明了软件工程目标之间存在的相互关系。其中有些目标之间是互补关系,例如,易于维护和高可靠性之间,低开发成本与按时交付之间。还有一些目标是彼此互斥的,例如,低开发成本与软件可靠性之间,提高软件性能与软件可移植性之间,就存在冲突。

  软件工程的原则

  以上的软件工程基本目标适合于所有的软件工程项目。为达到这些目标,在软件开发过程中必须遵循下列软件工程原则。

  ·抽象:抽取事物最基本的特性和行为,忽略非基本的细节。采用分层次抽象,自顶向下、逐层细化的办法控制软件开发过程的复杂性。

  ·信息隐蔽:将模块设计成“黑箱”,实现的细节隐藏在模块内部,不让模块的使用者直接访问。这就是信息封装,使用与实现分离的原则。使用者只能通过模块接口访问模块中封装的数据。

  ·模块化:模块是程序中逻辑上相对独立的成分,是独立的编程单位,应有良好的接口定义。如C语言程序中的函数过程,C++语言程序中的类。模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。

  ·局部化:要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块之间具有松散的耦合,模块内部具有较强的内聚。这有助于控制解的复杂性。

  ·确定性:软件开发过程中所有概念的表达应是确定的、无歧义性的、规范的。这有助于人们之间在交流时不会产生误解、遗漏,保证整个开发工作协调一致。

  ·一致性:整个软件系统(包括程序、文档和数据)的各个模块应使用一致的概念、符号和术语。程序内部接口应保持一致。软件和硬件、操作系统的接口应保持一致。系统规格说明与系统行为应保持一致。用于形式化规格说明的公理系统应保持一致。

  ·完备性:软件系统不丢失任何重要成分,可以完全实现系统所要求功能的程度。为了保证系统的完备性,在软件开发和运行过程中需要严格的技术评审。

  ·可验证性:开发大型的软件系统需要对系统自顶向下、逐层分解。系统分解应遵循系统易于检查、测试、评审的原则,以确保系统的正确性。

  使用一致性、完备性和可验证性的原则可以帮助人们实现一个正确的系统。

 

原文转自:http://www.ltesting.net