Edgard

导航

软件开发之原型构造

    今天,我想谈谈原型构造。在实际工作中,我们重视原型吗?当我深入研读原型的很多论文,再结合自己的项目实践,发现原型在软件研发过程中有举足轻重的作用。编写原型可以作为技术探索、可行性验证和辅助理清思路的手段。但是,显然,选择“编写原型”的时机往往比编写原型本身难,那是因为,我们常常都没有在规范的软件研发流程指导下工作。在我总结的软件研发核心工作流程中,我把原型构造放在全局设计阶段之后是有特殊的原因:第一,经历一次或多次的迭代后,每一次迭代,一个“分析局部”都演化为一个“设计局部”。第二,全局设计阶段着眼于总的视图, 归纳了多个 “设计局部”,这一阶段的设计模型有以下特点:

l         层次架构稳健。

l         包与包的关联关系稳定。

l         类与包的关联关系稳定。

l         类与类的关系基本稳定,但是,关联关系的强弱还不确定。

l         类的职责是明确的,但是,类的职责还不是具有严格语义的方法签名。

 
因此基于全局设计阶段而构造的原型有以下特点:

l         层次架构稳健。

l         命名空间与命名空间的关联关系稳定。

l         类与命名空间的关联关系稳定。

l         类与类关联关系不稳定,原型程序员根据需要可以调整关联关系的强弱,比如:把聚合调整为依赖。

l         类的方法签名不稳定,原型程序员根据需要可以调整方法的名称、参数及返回类型等。

 
在另一个时间要求苛刻的项目中,我总结了选取原型的策略,
第一:舍弃原型,依据法则有:

l         开发原型是技术探索的手段,

l         开发原型进行可行性验证,

l         把开发原型作为辅助理清思路的手段。

 结果,这种我们最终能从这种原型进行代码级复用。

 

第二:沿用原型,依据法则有:

l         开发原型并但并不进行技术探索,

l         开发原型也不是要进行可行性验证,

l         开发原型无助于辅助理清思路

l         基于规范的设计来编写原型。

 

结果,这种原型是我们工作产品的一部分,只是处于 “原型”阶段而已。我们能从这种原型复用以下内容:

l         原型的层次架构。

l         原型的命名空间与命名空间的稳定的关联关系。

l         原型类与命名空间的稳定的关联关系。

l         原型类与类的稳定的关联关系。

l         原型类的方法实现逻辑。

希望对大家有所帮助,欢迎反馈!

posted on 2005-11-29 13:53  Edgard  阅读(1630)  评论(1编辑  收藏  举报