【IT168 分析评论】
在应用开发生命周期中分析与设计阶段完成后,就应是应用系统的建立阶段了吗?即有了正确的分析与设计结果就可以正式的进入编程实现阶段了吗?回答是肯定的。那么为什么还要制作原型呢?下面我们讨论原型在开发中能够起到哪些作用:
通常分析设计人员并不是某一问题域的专家,他们可能对问题域的理解并不充分,而且采用的分析设计方法并不十分有效,再加上同用户的交流不够,这样就会产生错误的分析与设计,通过原型的制作可以及时发现这些错误并将它们反馈给分析与设计人员,这样避免了当开发进行到中途时再进行修改。另外,通过原型的制作还可以使开发变的更快更容易。开发人员可以在原型的基础上添加实现细节来开发出完整的应用系统,因为有了原型可以减少编码量从而提高开发速度。
恰当合理的使用原型有利于发现设计中的问题,例如,过分要求减少数据冗余导致连接查询的时间过于长,以及许多数据库设计中看似功能强大的维护触发器却导致程序无法正常录入数据等等类似的设计问题。
原型利于尽可能早的将程序提供给用户使用。在系统开发中开发人员会受到极大的压力,用户要求早日提供一些系统功能,即使是系统的一部分也行。而传统的软件生命周期与这种人际关系处境有着明显的差距。通过制作原型可以提供给用户一些最终能够使用的功能,但是这些原型大部分缺少安全性。
原型的制作能使用户对应用开发者产生一种信赖;既在概念上证明了系统设计能实际工作;也证明了项目组有能力作出一些有实际意义的东西。即使完整的应用系统不能提早交付,这对项目组与用户的交流上也是极有益处的。
由此来看,原型在开发中是提高效率的一个很好的手段,运用恰当可以收到事半功倍的效果。既然如此,为什么在使用PowerBuilder开发应用系统的过程中很少看到开发人员制作原型呢?总体来看原因有以下两个方面:
第一、应用系统开发人员将所有的精力都投入到了PowerBuilder这一开发工具的使用当中了,认为只要将该工具使用好即可解决所有问题了。
第二、对Sybase公司提供的与PowerBuilder相关的其它工具的功能不了解或了解不深,无法综合利用PowerBuilder开发工具包提供的各种工具,互相配合完成复杂的系统设计。
下面我们为读者介绍三种原型制作工具,它们都是PowerBuilder软件包中提供的,读者可以根据需要选用:
1、应用模型生成工具AppMdelerforPowerBuilder与AppMdelerforWeb。这两个工具是随PowerBuilder一同推出的原型设计工具。
他们是Sybase公司的PowerDesigner产品系列中的设计检测工具。因为PowerDesigner是Sybase公司设计的实体--关系建模工具,用户通过该工具将对现实世界的分析结果(这里采用的分析方法是结构化方法)转换成为实体—关系模型。最终将该模型生成到实际的后台数据库中。至于所生成的表以及表间的关系正确与否,由于没有经过实际应用的检验,所以还不能得出十分客观评价结果。而AppMdelerforPowerBuilder与AppMdelerforWeb就是通过生成应用模型的方式检验最终的实体—关系模型正确性的工具。
AppMdelerforPowerBuilder与AppMdelerforWeb能够生成基于PowerBuilder的应用模型,还可以生成基于Web的应用模型。由于他们是用来检验数据库设计是否合理的工具,所以生成的模型十分灵活。他们可以针对某张表、某几张表、某个关系以及某张表中的具体某些列进行模型生成;当需要时,他们还可以将不同表中的不同列进行组合,不论他们是否有联系。这些功能主要是为了测试数据库的设计是否合理而准备的,但是对于应用的开发同样具有极为重要的意义。当应用系统中有涉及表中具体列乃至不同表中不同列的操作需求时,就可以采用如上工具产生出模型。这些模型是基于PowerBuilderPFC生成的,所以开发人员可以通过PowerBuilder对其进行补充和修改。
2、快速原型开发工具InfoMaker。这个软件是与PowerBuilder同步推出的数据挖掘工具,它不仅打包到了PowerBuilder工具包中,而且所有购买Sybase数据库产品的用户同样会得到这个软件。它主要有如下特点:
InfoMaker有与PowerBuilder完全相同的数据库接口。
通过InfoMaker可以不编写任何程序直接生成针对任意数据库表的数据录入(包括单表形式和主细目形式)窗口、报表输出窗口以及数据管道功能窗口。
生成的系统可以通过InfoMaker直接编译成.EXE文件交付用户使用。
所有通过InfoMaker生成的对象都可以被PowerBuilder直接打开,并且可以对设计结果进行修改和引用。
InfoMaker生成应用系统的功能来源于一个模板文件,这个模板文件是一个PBL文件,PowerBuilder程序员可以利用PowerBuilder修改这个模板,为模板添加新的功能使其不断壮大以适应新的应用原型制作要求。
由于InfoMaker具有以上的功能,所以它是采用PowerBuilder开发系统时的首选原型制作工具,开发人员可以利用它先设计出应用的录入和报表功能,然后将精力投入系统中相对复杂的功能实现上,最后再将这些功能引入系统并对这些窗口做一定的修饰即可,这样可以大大加快开发速度。唯一美中不足的是生成的原型界面和菜单是英文的,不过程序员可以在引用这些功能时对其进行汉化;另外还可以一次性的对模板进行汉化,虽然花费的精力较多,但是今后设计出的原型将是中文界面可以直接使用。
3、系统分析、设计及应用生成工具HOW。HOW是PowerBuilder6.0软件包中新增加的一个软件开发工具,它是由Riverton公司提供的学习版软件。该开发工具有如下的特点:
利用它可以完成需求分析与设计,并且分析与设计过程完全是按照面向对象方式进行的。
该工具可以将分析与设计结果直接转换成PowerDesigner或ERWin的概念模型。然后由这些CASE工具将概念模型转换成物理模型并生成到数据库中。
此工具可以在分析与设计的基础上,不编写程序直接设计生成基于基础类库的应用系统。该系统可实现复杂的业务需求功能甚至分布式应用系统。并且生成的系统也可以被PowerBuilder打开和修改,但是要想使这个生成的应用系统正常运行必须有PowerBuilder的基础类库配合。(有关基础类库将在重用部分介绍。)
HOW可以生成一整套完整的正规的文档。从而免除了手工录入。
以上是HOW这一工具的主要功能,还有其它的实现细节读者可以在使用中慢慢体会。
由于PowerBuilder软件包中提供的HOW是学习版,有许多功能无法实现,例如,分析和设计时只能包含24个对象等约束。所以在应用开发中它仅能作为一个良好的检验工具,检验分析是否合理。另外,HOW还可以实现相对复杂的应用原型以检验设计是否合理,如果正确无误再投入PowerBuilder的正式开发。这样可以少走弯路。
以上提到的三个工具是PowerBuilder软件包中提供的,通过以上的介绍不难发现它们的功能各有侧重,在制作原型时只要选择恰当,可以将应用的开发效率提高到一个新的水平