0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

增量式软件现代化可最大限度地降低风险,降低成本

星星科技指导员 ? 来源:嵌入式计算设计 ? 作者:DR. KEVIN NILSEN ? 2022-11-08 10:59 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

实际上,软件现代化包括用更好的替换坏的渐进过程。选择专注于软件可移植性而不是条件编译是现代化不可或缺的一部分。

考虑与部署平台现代化相关的工作。假设最初在Windows上使用C++语言开发的应用程序现在需要集成到运行专有操作系统ARM处理器的现代智能手机中。移植活动需要标识并替换 Microsoft 基础类上的所有依赖项。它还必须分析和解决对Microsoft编译器和Microsoft Windows实现的底层线程调度模型的所有依赖关系。虽然其中一些移植问题是由手机供应商的编译器和链接器输出的诊断消息识别的,但 Microsoft 和智能手机编译器的代码生成方法之间的细微差异只能通过对各自技术进行广泛的测试和/或仔细审查和分析来检测。同样,Microsoft 和智能手机操作系统对线程调度队列、互斥锁和优先级反转避免策略的处理之间的差异必须取决于对各自操作系统和应用程序源代码以及任何可用应用程序设计文档的广泛测试和/或仔细审查和分析。

请注意,通过独立开发的可重用软件组件的模块化组合来构建新应用程序的能力取决于这些组件的可移植性。因此,实现软件可移植性对于开发新系统和维护现有系统至关重要。

条件编译增加了复杂性

对于典型的C++移植工作,必须更改以支持新平台的代码量相对较小,通常不到总代码的 10%。找出必须更改的 10% 的线路是任何移植工作的最大障碍之一。随着各种移植障碍的识别和解决,尽职尽责的软件工程师通过插入有条件编译的代码块并创建文档来帮助阐明将此代码移植到另一个平台(如 Linux、INTEGRITY 或 VxWorks)可能需要的额外工作,从而使应用程序现代化。当然,不能保证从Windows到智能手机的端口可以识别到另一个操作系统或处理器的后续端口可能出现的所有问题。但是,从第一个端口中吸取的经验教训为其他端口提供了宝贵的指导。

软件现代化的一个相互冲突的目标是减少纠正错误、解决性能缺陷或随着系统需求的发展添加增量新功能所需的工作量。通过插入条件编译指令和每个新端口要考虑的问题的文档列表来使应用程序变得可移植,这很难发展。如果对原始应用程序的更改影响有条件编译的代码,则必须将更改传播到表示对每个相关平台的支持的所有有条件编译的代码块中。此外,每个增量更改都必须使用合法条件编译选项的每个组合进行测试。这大大增加了与常见软件维护活动相关的工作量。

可移植语言避免条件编译

使用条件编译指令的一种流行的替代方法是使用更可移植的编程语言实现软件。Java通常是首选,许多人使用短语“软件现代化”来描述将Ada,C或C++软件迁移到Java语言的过程。Java,包括某些实时版本的Java,解决了Java运行时环境(所谓的虚拟机)本身的可移植性问题,而不是要求应用程序中的条件编译指令。Java 语言甚至提供了用于解决多处理问题的特殊控制结构,包括用于识别互斥代码区域的语法以及各个处理器缓存之间的一致性。通过抽象这些可移植性注意事项,Java 语言在典型的软件维护活动中节省了大量成本。一个开发团队报告说,与 C 语言相比,在一个项目中节省了 20 倍的成本,该项目包括组装独立开发的现成软件组件以部署到新的嵌入式平台上。

在一次整体式工作中将整个遗留应用程序重写为 Java 语言在经济上很少可行。当今的典型应用程序由数十万或数百万行代码组成;因此,以增量步骤对旧版应用程序进行现代化改造更为常见。随着每个功能的添加,新功能都在Java中实现,并固定在现有的遗留系统上。如果维护活动显示遗留应用程序的特定方面难以移植或发展,则应用程序的一部分将替换为更现代的 Java 实现。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 智能手机
    +关注

    关注

    66

    文章

    18636

    浏览量

    184464
  • 操作系统
    +关注

    关注

    37

    文章

    7190

    浏览量

    126203
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    密封测试仪:提高测试效率,降低成本

    降低成本方面表现出显著优势。通过集成先进的传感器技术和智能控制系统,自动密封测试仪可以快速准确地检测产品的气密性。与传统的手动测试方法相比,密封测试仪可以大大缩短
    的头像 发表于 03-07 11:52 ?554次阅读
    密封测试仪:提高测试效率,<b class='flag-5'>降低成本</b>

    TLV757P 具有使能功能的 1A、低 IQ 高精度低压差 (LDO) 稳压器数据手册

    各种应用进行了优化。为了最大限度降低成本和解决方案尺寸,该器件提供 0.6V 至 5V 的固定输出电压。该系列支持现代微控制器 (MCU) 的较低内核电压。此外,TLV757P具有低 IQ 和启用
    的头像 发表于 03-03 09:36 ?851次阅读
    TLV757P 具有使能功能的 1A、低 IQ 高精度低压差 (LDO) 稳压器数据手册

    TLV755P 500mA 高 PSRR 低 IQ带使能功能的低压差稳压器数据手册

    应用进行了优化。为了最大限度降低成本和解决方案尺寸,该器件提供 0.6V 至 5V 的固定输出电压,以支持现代微控制器 (MCU) 的较低内核电压。此外,TLV755P 具有低 IQ 和使能功能,
    的头像 发表于 02-28 17:32 ?769次阅读
    TLV755P 500mA 高 PSRR 低 IQ带使能功能的低压差稳压器数据手册

    租用站群服务器时如何降低成本?

    在租用站群服务器时,降低成本是许多站群管理者关注的重要问题。主机推荐小编为您整理发布租用站群服务器时如何降低成本,以下是一些实用的策略和建议,有助于在保持性能的同时降低租用成本
    的头像 发表于 01-22 10:45 ?392次阅读

    中国AI企业创新降低成本打造竞争力模型

    在中国,面对美国实施的芯片限制以及相较于西方企业更为有限的预算,人工智能(AI)公司正积极寻求降低成本的方法,以开发出具有市场竞争力的模型。初创公司如01.ai(零一万物)和DeepSeek(深度求索)等,通过聚焦小数据集进行AI模型训练,并聘请价格适中但技术熟练的计算机工程师,成功
    的头像 发表于 10-22 14:56 ?1079次阅读

    最大限度地提高MSP430? FRAM的写入速度

    电子发烧友网站提供《最大限度地提高MSP430? FRAM的写入速度.pdf》资料免费下载
    发表于 10-18 10:09 ?1次下载
    <b class='flag-5'>最大限度</b>地提高MSP430? FRAM的写入速度

    最大限度地减少TPS53355和TPS53353系列器件的开关振铃

    电子发烧友网站提供《最大限度地减少TPS53355和TPS53353系列器件的开关振铃.pdf》资料免费下载
    发表于 10-15 11:17 ?0次下载
    <b class='flag-5'>最大限度</b>地减少TPS53355和TPS53353系列器件的开关振铃

    在饱和状态下运行UCC2888x离线降压以降低成本

    电子发烧友网站提供《在饱和状态下运行UCC2888x离线降压以降低成本.pdf》资料免费下载
    发表于 10-14 09:47 ?0次下载
    在饱和状态下运行UCC2888x离线降压以<b class='flag-5'>降低成本</b>

    降低成本城域网

    电子发烧友网站提供《降低成本城域网.pdf》资料免费下载
    发表于 10-12 11:46 ?0次下载
    <b class='flag-5'>降低成本</b>城域网

    最大限度地提高GSPS ADC中的SFDR性能:杂散源和Mitigat方法

    电子发烧友网站提供《最大限度地提高GSPS ADC中的SFDR性能:杂散源和Mitigat方法.pdf》资料免费下载
    发表于 10-10 09:16 ?0次下载
    <b class='flag-5'>最大限度</b>地提高GSPS ADC中的SFDR性能:杂散源和Mitigat方法

    利用智能eFuses最大限度地缩短系统停机时间

    电子发烧友网站提供《利用智能eFuses最大限度地缩短系统停机时间.pdf》资料免费下载
    发表于 09-25 10:25 ?0次下载
    利用智能eFuses<b class='flag-5'>最大限度</b>地缩短系统停机时间

    最大限度地减少UCC287XX系列的待机消耗

    电子发烧友网站提供《最大限度地减少UCC287XX系列的待机消耗.pdf》资料免费下载
    发表于 09-25 09:35 ?0次下载
    <b class='flag-5'>最大限度</b>地减少UCC287XX系列的待机消耗

    CC2340系统降低成本的方案剖析

    电子发烧友网站提供《CC2340系统降低成本的方案剖析.pdf》资料免费下载
    发表于 08-27 09:43 ?0次下载
    CC2340系统<b class='flag-5'>降低成本</b>的方案剖析

    通过优化补偿最大限度地减少导通时间抖动和纹波

    电子发烧友网站提供《通过优化补偿最大限度地减少导通时间抖动和纹波.pdf》资料免费下载
    发表于 08-26 11:34 ?0次下载
    通过优化补偿<b class='flag-5'>最大限度</b>地减少导通时间抖动和纹波

    低电容探头最大限度降低对电路操作的影响

    本应用指南介绍了泰克高带宽、低电容无源电压探头怎样降低示波器用户的总拥有成本、改善性能和测量精度、节省用户设置时间。大多数示波器标配的无源电压探头都提供了低成本通用探测解决方案。一般来说,这些探头
    的头像 发表于 08-19 10:49 ?630次阅读
    低电容探头<b class='flag-5'>最大限度</b>地<b class='flag-5'>降低</b>对电路操作的影响