统一系统和软件团队:一种系统开发的整体方法

文章作者 100test 发表时间 2007:03:13 22:22:56
来源 100Test.Com百考试题网


本文所述的系统开发方法利用了Murray Cantor使用 IBM Unified Process进行有关系统工程的工作,以及Rational领域组织应用这些技能与技术为解决现实世界问题所作的工作。这些工作包括各种各样的项目,范围从国防程序到电子政务的启动。这些项目最显著和最一般的特点就是它们的规模和复杂度。在每个案例中,关注的焦点不仅仅在于要创建软件产品,而且还要创建完整的系统来支持业务或者任务。

本白皮书描述了 IBM Rational Software进行系统开发所使用的整体方法,包括在系统开发项目中必须执行的重要原则以及 IBM Rational Software提供的特定解决方案两方面。本文通过描述所解决的主要问题,重点介绍了促使遵循使用该方式的因素。

本文所述的系统开发方法利用了Murray Cantor 使用 IBM Unified Process进行有关系统工程的工作,以及Rational领域组织应用这些技能与技术为解决现实世界问题所作的工作。这些工作包括各种各样的项目,范围从国防程序到电子政务的启动。这些项目最显著和最一般的特点就是它们的规模和复杂度。在每个案例中,关注的焦点不仅仅在于要创建软件产品,而且还要创建完整的系统来支持业务或者任务。

本文的目标就是来描述一种创建系统所使用的结合、集成的方式,同时还包括创建这类系统所使用的平台,使团队能够在不断变复杂的环境中进行工作。

简介
一套系统是指"一套能够完成已定义目标的集成元素。其中包括硬件、软件、固件、人员、信息、技术、设备、服务和其他支持元素。 "

我们为什么要重新评估进行信息系统开发的方法与技术呢?业界中存在的问题驱使我们这样做,下面就是一些驱动因素。

  • 企业架构。1996年,美国国会通过了Clinger-Cohen法案,其中特别授权联邦机构开发并维护企业信息技术(IT)的架构。该法案使人们越来越关注政府组织已经开发出的一些应用程序,这些应用程序在成功地部分满足了一套选民的较窄范围需求的同时,不能结合起来满足更广泛的需求。目前,这些组织中的很多都致力于Enterprise Architecture(EA)的研究,使广泛范围内系统实现互操作,从而完成不断增加的任务;这些研究工作包括对不断增加的任务清晰定义,并且描述出这套互操作系统是如何完成这些任务的 。这个系统包括硬件、软件和人员,由于关注的焦点在于整个系统,所以使用传统的以数据或以功能为中心的方法表示企业架构是无效的。它们无法为不断发展的企业提供支持,这一点在架构实施于工作系统之后尤其显得更加明显。
  • 增强软件功能。软件灵活性的增强使引入新的系统功能变得轻松。服务可以由硬件、人员或者--不断增加的比率--软件来提供。在一个系统开发项目中,开发团队使用正确的方法和工具是很关键的,这会使他们能够权衡设计方案。这也增加了分析员、项目经理和系统工程师工作环境的复杂度。在生命周期的较早阶段,就要判定出如何设计才能实现系统功能。
  • 开发生命周期。虽然引入迭代式和敏捷方法进行系统开发会带来大量相关的压力,但是传统的方法--尤其是瀑布式方法--并没有满足以增量的形式发布系统"组块"的需要。
  • 项目与程序的失败。项目失败的实例有很多。Standish Group的一项统计数据尤其明显地表明了这一点,1995 年,美国政府花费了大概 810 亿美元取消软件项目。这也突出了一个事实,即项目和程序正在走向失败,而导致失败的中心因素就是他们使用的系统开发方法。这就使得组织需要重新评估他们的系统开发能力,并参照例如CMMI和ISO的标准为他们的能力设定基准。

系统工程方法都需要些什么呢?
"系统工程是一种跨学科的方法和手段,能够成功地实现系统。它关注于定义客户需求以及开发周期的早期所需的功能,使用文档记录需求,然后在完整考虑问题的同时,从综合设计与系统检验下手:

  • 操作
  • 性能
  • 测试
  • 大量生产
  • 成本与时间表
  • 培训与支持
  • 处理

系统工程将所有学科和专家小组集成于团队,形成了结构化的开发过程,从概念到生产再到操作。系统工程同时考虑了所有客户的业务与技术需求,它的目标就是提供高质量的产品,满足用户的需求。 "

这一定义体现了下面几个重要的概念:

  • 客户需求--在描述系统是如何支持组织的任务或者业务流程时,系统工程方法必须围绕着需要考虑的所有内容。
  • 沟通--系统工程方法涉及并沟通团队中的思想、信息和过程。系统工程方法必须提供抽象的方法,允许向所有的项目干系人沟通每个系统元素,同时提供一种机制,将每个业务流程的需求映射于上述抽象内容。
  • 过程与项目具有真实性--由于系统是在"现实"世界中进行开发的,负有时间和成本的压力,所以要确保您的开发方法没有导致项目的过度开支,这一点是很重要的。
  • 与系统标准保持一致--系统开发的一个重要目标就是您系统中的组件和元素要与系统标准和架构保持一致。
  • 团队协作--任何系统开发方法必须能够使大型或小型工作组中的成员有效地协同进行工作,同时也要和处于分布环境中的其他类似工作组有效地协作。

考虑到所有这些因素,使用"整体"方法作为系统工程方法是大势所趋的。所谓"整体",意思就是一种方法,涉及到系统开发过程中整套的规范:需求、分析、设计和实施,并将这些规范集成于同一过程中。而且,这种方法必须包括一种机制,允许测试系统并将结果与项目干系人进行沟通。


相关文章


软件开发和运营的建模
系统分析师职业指南:CIO生存指南[3]
系统分析师职业指南:CIO生存指南[2]
系统分析师职业指南:CIO生存指南[1]
统一系统和软件团队:一种系统开发的整体方法
系统分析师软件过程概述:个人软件过程
系统分析师软件过程能力度量(下)
系统分析师软件过程能力度量(上)
我是怎样被聘为高工的(项目管理师)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛