软件工程之Java实现策略

由于Java语言具有的诸多特性以及Internet和嵌入式系统的普及,对已经投入应用的使用C++语言编写的软件进行Java移植,在软件活动中的比例越来越大以及这一活动过程的特殊性,针对其过程进行的管理控制与开发方法和传统软件活动有所不同,因此讨论了针对移植的策略,并以一个移植项目---LED航显系统移植为例,证明这些策略的有效性?

关键词: 软件工程;移植;Java;软件方法

第1章 绪论

由于Java具有的解释性?可移植性?平台无关性和安全性等特性,使得Java在网络应用?嵌入式系统等对跨平台和安全性有很高要求的领域有了越来越广泛的应用?对于企事业单位来讲,对原有系统进行JAVA化移植,一方面可以避免系统重新开发造成的高成本?长周期?系统融合等不利因素,另一方面可以实现系统的平滑过渡,以较小的成本实现系统的升级?因此,采用软件工程策略来指导整个系统移植的过程是非常有意义的?

第2章 移植方案

移植方案大体可分为3类:功能移植,系统结构移植和实现的完全移植?

(1)功能移植:抛弃所有逻辑和语言结构,重新使用目标语言实现源工程的功能?功能移植产生的目标工程的特性独立于源工程,有利于产生高质量的代码和易于维护的工程?但功能移植更像是一个全新的开发过程而不是一个移植过程?它的管理和传统软件过程是类似的,各种生存周期模型和面向对象的软件方法都可以使用?

(2)系统结构移植:在类?包级别上保留源工程的大致接口和逻辑结构,对它们的具体实现进行重写?对于一个经历了整个生命周期的源工程,系统逻辑结构是基本满足要求的,针对系统结构的移植能够在保留源工程的基本结构的基础上,使目标工程达到较高的质量?但必须对结构的功能及其之间的联系有深刻的理解,值得注意的是,如果程序员的理解产生了偏差,结果可能是灾难性且难以修复的?

(3)实现的完全移植:在保留源工程逻辑结构的基础上尽量保留其实现的语言结构?源工程的代码复用度高,移植工作机械简单?程序员只需要对整体结构作一般了解,其注意力就可以完全集中于自己的工作?开发进度可以精确度量,周期短?效率高?但是,使用实现的完全移植生成的目标工程的质量不会优于源工程?如果缺乏有效的管理,就难以保证工程的质量?基于以上理由,本文主要讨论实现的完全移植策略?没有特殊说明,下文中的移植活动均指实现的完全移植?

第3章 预处理

如果仅仅移植源工程一部分功能,使用代码界定保留需要移植的结构,可以有效地减少需要移植的代码数量?这个过程是简单的,只需针对源工程的所有保留功能进行结构走通并记录调用结构,凡是没有记录下的均可界定在移植范围之外?

定义1:step-代码中去除注释?空行后的有效代码行数,它是系统规模的简单度量?

LED航显系统移植项目采用这种界定方式,工程代码量从原来的13362steps,缩减到界定后的11069steps?有效地减少了工作量?

应当注意的是,如果有源工程的开发人员被指派为移植的程序员,这一过程的时间可以大大缩短,甚至略过这一过程?LED航显系统移植项目中,我们使用了1人/月来进行这一阶段得到了足以保证正确移植的有关知识?

时间: 2025-01-20 14:38:06

软件工程之Java实现策略的相关文章

JavaWeb基础教程之Java基础加强版_java

1.myeclipse的安装和使用 * eclipse:是一个免费的开发工具 * myeclipse:是一个收费的插件,破解myeclipse, ** 安装目录的要求: 不能有中文和空格 ** 安装完成之后,选择一个工作空间 ,这个工作空间不能有中文和空格 * 破解myeclipse ** 运行run.bat文件,但是运行之前,必须要安装jdk,通过配置环境变量 * myeclipse的使用 * 创建一个工程 - 类型 java project web project - 选择依赖的jdk,可以

Oracle与JCP执行委员会分享了他们的Java EE策略

Anil Gaur是Oracle集团负责Java EE和WebLogic Server的副总裁.他受邀在上一次的JCP执行委员会会议上发表了演讲,透露了有关Java EE未来发展的一些信息.他所传达的信息和Oracle之前的说法一致:企业编程正在发生变化,Oracle希望适应这种变化.然而,执行委员会成员后续的提问突出了Oracle计划里的缺陷. 大约六个周之前,在Oracle产品开发总裁Thomas Kurian就有关Java EE的话题接受了采访之后,我们很明显可以知道,Oracle正在制定

网络工程之Windows

网络工程之Windows Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开.实现域名与其对应的IP地址的映射.当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析.Hosts文件在C:\WINDOWS\system32\drivers\etc目录下. ping ip 可检查网络是否连通:ping 域名 可以得到dns解析后的IP地址. n

敏捷开发的道与术---MPD软件工作坊培训感想(上)

注:由麦思博(MSUP)主办的2013年亚太软件研发团队管理峰会(以下简称MPD大会)分别于6月15及6月22日在北京.上海举办,葡萄城的部分程序员参加了上海的会议,本文是参会的一些感受和心得. 这次MPD软件工作坊培训,最大的收获就是培训者引导你了解了为什么,而不是直接告诉你该怎么做.其实只要清楚目标在哪,无论怎么走都是可以到的. 随便百度一下,我们可以了解到项目管理的定义是"在有限资源限定条件下,实现或超过设定的需求和期望".一句话形成了项目管理的铁三角,需求是范围,资源包括时间和

java中策略模式深入分析及示例

策略模式(Strategy Pattern)中体现了两个非常基本的面向对象设计的原则 –封装变化的概念 –编程中使用接口,而不是对接口的实现 策略模式的定义 –定义一组算法,将每个算法都封装起来,并且使它们之间可以互换. –策略模式使这些算法在客户端调用它们的时候能够互不影响地变化 策略模式的编写步骤 –1.对策略对象定义一个公共接口. –2.编写策略类,该类实现了上面的公共接口 –3.在使用策略对象的类中保存一个对策略对 象的引用. –4.在使用策略对象的类中,实现对策略对象 的set和get

java软件安装问题-java程序能通过编译却运行成功

问题描述 java程序能通过编译却运行成功 public class helloworld { public static void main(String[] args) { System.out.println("helloworld!"); } } 我是一个初学者,之前卸载了这个软件 现在又重新安装后,完成环境配置: 在dos里通过编译却不能运行,好像是环境配置出来问题 但是由于配置次数太多搞得很凌乱不知道哪出错了, 希望大家可以帮帮我的忙 今天就想配置好,尝试着用java软件.

杨叙:正制定英特尔软件应用商店中国发展策略

1月8日下午消息,英特尔公司副总裁兼中国区总裁杨叙透露,正在制定英特尔上网本软件应用商店在中国的发展策略,不久后将会有相关信息发布. 杨叙说:"不同于苹果的应用程序商店,英特尔的应用程序商店是一个横向的运营模式."他拒绝透露进一步的详细内容. 英特尔公司今天发布了酷睿i7.i5.i3处理器.这是英特尔的首批32纳米处理器,部分处理器直接集成显卡.杨叙是在该处理器发布会上接受媒体专访时做上述表示的. 在1月8日的美国拉斯维加斯国际消费电子展上,英特尔公司总裁兼CEO保罗·欧德宁公布了测试

Java设计模式--策略模式

策略模式(别名:政策) 定义一系列算法,把它们一个个封装起来,并且使它们可相互替换.本模式使得算法可独立于使用它的客户而变化. Strategy Pattern(Another Name: Policy) Define a family of algorithms, encapsulate each one, and make them inter changeable. Strategy lets the algorithm vary independently from clients th

IBM软件公布最新在华策略:软实力开启新商业

大数据和分析.移动.社交.云计算为代表的前沿趋势的创新实践,社交商务.智慧商务和智慧城市等行业应用在中国本土的落地.这不仅是IBM软件在中国的最新发展策略,也是国内外软件企业都在追逐的热点.4月11日,IBM软件集团大中华区发布了2013年策略,延续了"软实力"的核心,如何汲取大数据和分析.移动为代表的创新技术的"新智慧",成为焦点. 会上,IBM软件集团分享了在2012年全球和中国软件市场上获取的业绩,大会以"软实力.新智慧.新格局"三大关键词