JAVA企业应用:软件工程之Java实现策略
http://tech.ddvip.com 2007年10月29日 社区交流
内容摘要:讨论了针对移植的策略,并以一个移植项目---LED航显系统移植为例,证明这些策略的有效性?
(3)实现的完全移植:在保留源工程逻辑结构的基础上尽量保留其实现的语言结构?源工程的代码复用度高,移植工作机械简单?程序员只需要对整体结构作一般了解,其注意力就可以完全集中于自己的工作?开发进度可以精确度量,周期短?效率高?但是,使用实现的完全移植生成的目标工程的质量不会优于源工程?如果缺乏有效的管理,就难以保证工程的质量?基于以上理由,本文主要讨论实现的完全移植策略?没有特殊说明,下文中的移植活动均指实现的完全移植?
第3章 预处理
如果仅仅移植源工程一部分功能,使用代码界定保留需要移植的结构,可以有效地减少需要移植的代码数量?这个过程是简单的,只需针对源工程的所有保留功能进行结构走通并记录调用结构,凡是没有记录下的均可界定在移植范围之外?
定义1:step-代码中去除注释?空行后的有效代码行数,它是系统规模的简单度量?
LED航显系统移植项目采用这种界定方式,工程代码量从原来的13362steps,缩减到界定后的11069steps?有效地减少了工作量?
应当注意的是,如果有源工程的开发人员被指派为移植的程序员,这一过程的时间可以大大缩短,甚至略过这一过程?LED航显系统移植项目中,我们使用了1人/月来进行这一阶段得到了足以保证正确移植的有关知识?
第4章 任务分配和管理
定义2:如果某个语言结构A(例如类)的实现依赖于其它语言结构B的实现,则称A在工程中的层次高于B。这种依赖既可能是被继承,方法被调用,也可能作为成员变量或参数的数据耦合等。
在安排工作时,以类作为划分工作的单位,按照层次由高到低的顺序完成,则称之为自顶向下的软件构造方式;反之,则称之为自底向上的软件构造方式。采用自底向上的构造方式只要能保证在某个类代码编写结束之前,它所依赖的类已经完全实现,测试的方式就是简单直观的。所以在LED航显系统移植项目中采用了自底向上的构造方式。
责编:豆豆技术应用