8、软件开发架构与单元测试全解析

软件开发架构与单元测试全解析

1. 操作系统相关决策

在软件开发中,操作系统的选择至关重要。需要回答以下几个关键问题:
- 是否使用操作系统(OS)或实时操作系统(RTOS)?
- 固件是否裸机运行?
- 是否需要线程调度器?

这些决策与线程和进程模型以及性能要求密切相关。当决定使用操作系统后,还需确定操作系统抽象层(OSAL)。OSAL 非常重要,它能实现自动化单元测试和功能模拟器。

2. 第三方软件的考量

在项目中,可能会引入外部软件,这里的“外部”指非当前项目开发的源代码。可以是复用内部软件、集成开源项目、使用板卡或芯片制造商提供的软件,甚至购买商业软件包。例如,是使用第三方 RTOS 还是自己开发?是创建自己的通信协议还是复用之前项目的协议?

需要注意的是,自行开发 RTOS 或通信协议等中间件需谨慎,因为这会让你进入非核心专业领域的软件开发和维护工作。对于使用的所有第三方软件,要明确其许可模式,确保不限制产品的销售或分发方式。很多公司要求在软件发布前,由软件开发经理或架构师填写第三方组件的许可协议表格,这可能会影响软件的发布。建议提前获取空白表格,填写第三方组件名称并纳入架构文档。

一旦开始使用第三方软件,它就会成为项目的硬依赖。可以考虑创建抽象接口层,将应用与第三方软件解耦,以便后续更换软件时无需重构现有代码。

3. 功能模拟器的创建

如果项目需要自动化单元测试,创建功能模拟器是一个直接的过程。因为自动化单元测试促使采用解耦设计,使组件和模块能作为独立于平台的代码进行测试。从项目开始就规划功能模拟器,额外工作量并不大。主要工作是确定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值