软件工程之Java实现策略 - 编程入门网
软件工程之Java实现策略时间:2011-01-06由于Java语言具有的诸多特性以及Internet和嵌入式系统的普及,对已经投入应用的使用C++语言编写的软件进行Java移植,在软件活动中的比例越来越大以及这一活动过程的特殊性,针对其过程进行的管理控制与开发方法和传统软件活动有所不同,因此讨论了针对移植的策略,并以一个移植项目---LED航显系统移植为例,证明这些策略的有效性? 关键词: 软件工程;移植;Java;软件方法 第1章 绪论 由于Java具有的解释性?可移植性?平台无关性和安全性等特性,使得Java在网络应用?嵌入式系统等对跨平台和安全性有很高要求的领域有了越来越广泛的应用?对于企事业单位来讲,对原有系统进行JAVA化移植,一方面可以避免系统重新开发造成的高成本?长周期?系统融合等不利因素,另一方面可以实现系统的平滑过渡,以较小的成本实现系统的升级?因此,采用软件工程策略来指导整个系统移植的过程是非常有意义的? 第2章 移植方案 移植方案大体可分为3类:功能移植,系统结构移植和实现的完全移植? (1)功能移植:抛弃所有逻辑和语言结构,重新使用目标语言实现源工程的功能?功能移植产生的目标工程的特性独立于源工程,有利于产生高质量的代码和易于维护的工程?但功能移植更像是一个全新的开发过程而不是一个移植过程?它的管理和传统软件过程是类似的,各种生存周期模型和面向对象的软件方法都可以使用? (2)系统结构移植:在类?包级别上保留源工程的大致接口和逻辑结构,对它们的具体实现进行重写?对于一个经历了整个生命周期的源工程,系统逻辑结构是基本满足要求的,针对系统结构的移植能够在保留源工程的基本结构的基础上,使目标工程达到较高的质量?但必须对结构的功能及其之间的联系有深刻的理解,值得注意的是,如果程序员的理解产生了偏差,结果可能是灾难性且难以修复的? (3)实现的完全移植:在保留源工程逻辑结构的基础上尽量保留其实现的语言结构?源工程的代码复用度高,移植工作机械简单?程序员只需要对整体结构作一般了解,其注意力就可以完全集中于自己的工作?开发进度可以精确度量,周期短?效率高?但是,使用实现的完全移植生成的目标工程的质量不会优于源工程?如果缺乏有效的管理,就难以保证工程的质量?基于以上理由,本文主要讨论实现的完全移植策略?没有特殊说明,下文中的移植活动均指实现的完全移植? 第3章 预处理 如果仅仅移植源工程一部分功能,使用代码界定保留需要移植的结构,可以有效地减少需要移植的代码数量?这个过程是简单的,只需针对源工程的所有保留功能进行结构走通并记录调用结构,凡是没有记录下的均可界定在移植范围之外? 定义1:step-代码中去除注释?空行后的有效代码行数,它是系统规模的简单度量? LED航显系统移植项目采用这种界定方式,工程代码量从原来的13362steps,缩减到界定后的11069steps?有效地减少了工作量? 应当注意的是,如果有源工程的开发人员被指派为移植的程序员,这一过程的时间可以大大缩短,甚至略过这一过程?LED航显系统移植项目中,我们使用了1人/月来进行这一阶段得到了足以保证正确移植的有关知识? 软件工程之Java实现策略(2)时间:2011-01-06第4章 任务分配和管理 定义2:如果某个语言结构A(例如类)的实现依赖于其它语言结构B的实现,则称A在工程中的层次高于B。这种依赖既可能是被继承,方法被调用,也可能作为成员变量或参数的数据耦合等。 在安排工作时,以类作为划分工作的单位,按照层次由高到低的顺序完成,则称之为自顶向下的软件构造方式;反之,则称之为自底向上的软件构造方式。采用自底向上的构造方式只要能保证在某个类代码编写结束之前,它所依赖的类已经完全实现,测试的方式就是简单直观的。所以在LED航显系统移植项目中采用了自底向上的构造方式。 在对移植过程 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |