"从粗放到精细,从分散到集中"
——采用CASE工具管理多个并行应用软件开发项目
www.InnovateDigital.com 整理
IT 支撑着关键业务的发展,从集中到分布,又从分布到集中,从数据集成到应用集成,IT技术发生着巨大变化,其中应用软件系统肩负着更多的业务要求。从支持业务创新,到促进业务创新,应用系统的全生命周期管理需要务实的方法论做指导,需要成熟的CASE工具做辅助,需要降低IT建设的整体风险。
本文重点讨论企业级应用项目,企业级往往指大型的,异构的,多厂商提供的,部分是任务关键的,不允许失败的,时间要求严格的应用项目。
1. 当前遇到的一些问题
在开发企业级项目过程中,甲方(通常指客户)经常会遇到下面问题:
- 如何保证大型项目在划分子项目外包时的合理性;
- 如何保证各个系统间数据接口的完整性;
- 如何保证数据模型的正确性;
- 如何保证开发商对需求的正确理解;
- 适合大型企业的多个IT项目建设及划分,对多个开发商的管理;
- 如何检验乙方(通常指开发商)的承诺是否实现,是如何实现的;
- 如何提高评审的效率,避免评审走过场;
- 如何分析设计灵活的系统结构,以适应业务变化,和促进业务创新;
经过IT的快速发展,在管理开发商和项目时正在逐渐从传统的"粗放的分散式"管理转变为"精细的集中式"管理,
因此我们需要行之有效的开发方法和开发工具帮助。
实践证明,应用软件开发过程极大受到所用软件工具的影响。因此,系统分析员、设计者和开发者转向CASE软件,由于CASE工具自动化了系统开发所需要的大量手工的,重复的,易错的工作,所以只要使用得当,它们不仅能够大大提高系统技术人员的效率,而且还能够增加设计的准确性和系统可靠性。
同时,甲方也可以使用开发方法和开发工具作好精细的集中管理。
2. 开发方法的作用
在开发软件项目(特别是企业级的应用项目)时,我们需要一种指导开发过程的方法,它能够根据业务的原始资料,特别是在分析中所了解的内容,得出业务的需求以及在系统中最终实现的路径。我们希望有一个规范化的过程,在工程结束前几个月就能通过与用户交谈所搜集到的资料预见到用户在工程结束时才能提出的问题。为了避免出现被动的问题,整个开发过程都应该以业务需求驱动。
同时,方法应该为开发过程的每个实际阶段的方方面面提供一种高质量的保证。当然这可以和其他开发方法结合使用。
软件开发并不是顺序的,简单的,线形的过程。项目的范围在任何时候都可能发生变化。在任何时刻都可能发现用户的新需求,甚至有的是在测试阶段发现。通常现实的东西总会超出我们的理论预期。
3. CASE失败的原因
过去,CASE工具一直被视为是一种浪费时间和资源的东西,持有这种看法的项目经理不可能支持其成员进行这方面的学习。如果没有专门的时间学习这些工具,那么在工作中当然不会发挥作用,结果是工期明显拖延或者完全失败。由于这些早期的负面影响,"CASE"被打上了不公正的烙印,许多公司碰都不去碰它。
CASE工程失败的另外一个主要原因是有的CASE用户不了解软件开发过程,完全依赖CASE产品引导他们一步一步地通过开发生命周期。这在当前的工具情况下,有时是可能的。但是我们不能,也不可能完全期望将CASE工具作为完全的驱动。首先"CASE"是"计算机辅助"而不是"计算机驱动"的软件工程。CASE工具并不能完全替代方法,定义了我们的工作过程的是方法而不是工具。
4. 方法的选择
在开发一个系统时,主要精力必须放在开发的方法上。方法的重要任务之一是为工作选择工具。特别是CASE工具对开发方法有重要的影响,因为它们直接涉及工程的各个阶段。正如上文提到的,危险之处在于将CASE工具当成方法。如果工具执行许多开发任务,就很容易会得出它们支持和驱动所有开发任务的结论。这种工具驱动的方法使用户在开发过程中会调过一些重要的步骤。因为这些步骤并不是明确地通过工具处理。
我们都喜欢简单的,傻瓜式的设计过程。喜欢表格、详细的文档和精确的标准,喜欢放弃我们所必须思考做哪些工作的责任。可是,事实上这是不可能的,因为每个系统都是不同的,系统开发是一项充满智力的活动。开发者必须能够回答下面问题:
- 在理论上是否存在一种可靠的方案,该方案可为工程指引正确的方向
- 我们怎么知道某个任务或阶段已经完成了?
- 我们怎样评判项目是否成功?
每个阶段都要回答这几个问题。不过,这些问题都不是通过制定工作计划、交付期限以及紧迫的要求所能解决的。
5. 什么是CADM
CADM是一种传统的系统开发生命周期(SDLC)方法。根据经验,开发者和用户更喜欢在小心地完成分析和设计后就成功结束项目。我们每个人都遇到过尽是败笔的系统,这些失败通常是由于走捷径不当和没有采用合适的方法,或者对正确的方法遵循的不够仔细而造成的。Oracle Designer通过提供存放有大多数分析和设计信息的信息仓储,帮助我们更好地进行分析和设计。
虽然CADM不强调原型开发,但我们确实相信,为了给出某个概念的证明,可以进行原形研究。为了更好地与系统的用户进行沟通,原型开发可以在任何系统的整个生命周期中进行。可以在支出大量经费建造系统之前,向用户提供一些信息,使他们了解建成的系统将会是什么样的。在系统即将建造之时,用户对系统在其生命周期中的演化一直有很大作用。
即使面对当前众多的方法论,我们仍然提倡一种传统的开发方法,或以该方法为主要方法。因为它作的更好,更快和更有效、而且组织更为严密。特别对于大型的,任务关键的,不允许失败的,时间严格的企业级应用,CADM是"不二法门"。这已经和正在被验证着。必须进行仔细和正确的系统分析。如果这样,就能节省宝贵的时间和金钱,不必重复做第一次就应该做对的事。
6. 使用Oracle Designer
Oracle Designer仍然是目前市场上最好的集成CASE产品。它的性能极大地影响CADM(CASE Application Development Method)过程。能够跟踪信息仓库中的数据和处理信息,使其成为一种无价的资源。除了固定的功能和实用程序外,还提供了用户扩展选项和应用程序接口(API)。这些功能使用户可以扩展Oracle Designer的功能以支持ORACLE产品的设计者有意不予实现的功能,或支持用户的特殊需求。
总的来说,Oracle Designer使应用系统开发更为精致和灵活,如图所示,这是因为Oracle Designer提供了一种获取和管理新系统或当前系统的庞大数据的方式。数据有时相当难于管理,以至于系统设计者可能忽略或遗漏关键的业务需求,或者说,花费过多的时间去开发系统,最终丢掉了重要的需求。

(北京铸锐数码科技有限公司 www.InnovateDigital.com)
|