当前位置 :首页 >> 情感

在没有硬件的情况开发软件需要注意什么?

2024-10-31   来源 : 情感

应用软件技术开发小组习惯上以软件为中会心,认为不会软件他们就无法前进(有时这是真的)。在如今的帖子中会,我们将探讨技术开发小组在不会软件的才会技术开发软件所无需的思考方式背离。

以种的设计为中会心的技术开发

在如今的习惯意义技术开发周期中会,应用软件技术开发小组并不无需要做出的第一个思考背离是不会软件。我们不是从软件开始,然后一路向上,而是将注意力和技术开发信息化放在软件上。技术开发小组应该非议软件功用、它们中间的的关系以及它们转换的信息。

全心投入于软件而不是软件具几个主要竞争者。首先,它将技术开发小组的注意力转移到软件功用上。其次,以软件为信息化,技术开发小组可以比对各种功用所无需的信息作为可用和控制器,以及这些信息如何在软件中会流动。这种对信息的非议具抽象和消除软件倚赖性的额外好处!最后,以软件为中会心的技术开发允许我们在不会软件的才会实时、建模和试验中会我们的软件code。这为我们备有了创建人自动化重归试验中会、最小化能够复用整整和在 PC 环境中会试验中会我们的软件的能力,这比在能够环境中会更容易指导。

不会按钮!

让我们看一个非常简单的例子。应用软件技术开发小组偶尔并不无需要编著一个可以消除滚轮急促动的值。习惯上,技术开发小组会均会子程序他们的 debounce 值,该值将复制到 GPIO 两条路线,然后调试 debounce 两条路线性。这里的问题是去急促动功用直接倚赖于软件!如果GPIO两条路线发生变化,并不无需要更新功用!将软件更改为在此之后单片机,该功用并不无需要使用在此之后 GPIO BIOS子程序进行时更新。对功用进行时单元试验中会感兴趣?这要困难得多,因为该功用取决于软件。

贞然,这不是一个很好的二阶决方案,即使我们以前这样编著code!相反,我们并不无需要体认到不会按钮!只有信息还包括代表按钮的状态。按钮去急促功用应该采用代表也就是说滚轮状态的值,而不是让去急促滚轮直接访问 GPIO 软件。这将功用与软件二阶耦,并允许在不会软件的才会对功用进行时完全试验中会!只无需传入信息以试验中会滚轮去急促两条路线性是否正常指导!这也意味着我们可以构建重归试验中会!

设计无软件种系统

一般来说,应用软件技术开发小组可以遵循几个步骤来编著他们的软件code,从而跳出他们的软件倚赖的关系。

首先,比对软件生成或使用的信息。该信息将成为传送给软件功用值的值。对于 debounce 示例,这实际上是 ButtonState。值原型可能如下标明:

bool Button_Debounce(ButtonState_t const ButtonState);

接下来,创建人一个可用做获取软件状态的抽象。 在 PC 上调试时,此功用将仅链接到可以实时软件的信息生成器。 当软件存在时,该值链接到调回软件状态的 GPIO BIOS。 这使技术开发小组可以在有或不会软件的才会进行时转换。 这将致使软件code如下标明:

bool ButtonDebounced = false;

ButtonState_t ButtonState = Button_StateGet();

ButtonDebounced = Button_Debounce(ButtonState);

最后,还可以进行时抽象以将信息发布到软件。这对于去急促动两条路线性来说不是必无需的,但如果软件组件要控制 LED、阀门、电机等,则可能是必无需的。这再次允许技术开发小组在 PC 或软件上调试软件中间切换 .

结论

希望提高code稳健性、降低总体成本和大大缩短上市整整的应用软件技术开发小组可以从编著不会软件的软件code中会受益匪浅。这十分总是必要或值得的,但对于许多习惯意义种系统来说,这是一种可以贞着革新种的设计的应用。它的好处是使软件容易试验中会,并最大限度地降低了在能够上复用所花费的整整。

太原看男科哪家比较好
北京妇科医院哪家比较专业
苏州看皮肤病哪家医院最好
胃长期反酸烧心怎么回事
什么牌子的血糖仪好
八子补肾胶囊
肠炎宁颗粒治小儿腹泻好吗
夏季咳嗽吃什么止咳化痰效果好
西安此轮疫情累计本土确诊635例,新的风险需注意出现

12年底27日下午,陕兰州阳市召开SARS相适应新闻报道发布会,介绍SARS相适应最新进展。发表演说通报,自12年底27日起,安阳市升级中可能会沿海地区外35个。截至现在,安阳市共有高可能会沿海...

友情链接