分类: 嵌入式
2017-02-06 14:52:15
1. 系统分层(开发架构)
(1) 交互层:系统对外的接口层,如sdk、串口调试模块
(2) 业务层:内部逻辑实现,如各类业务模块
(3) 数据层:负责文件读写、数据库访问等。如日志、参数配置、数据存取模块。
加上库文件、基础组件等便构成了整个系统。
项目的开发结构(开发目录)可以根据分层来设计。
2. 逻辑架构
(1) 基本原理:有哪些子系统,子系统如何分工、协作,实现整个系统的功能。
(2) 逻辑设计:各子系统有分别包含哪些模块,每个模块实现什么功能,该模块与其他模块交互图,及交互需求明确。
a. 逻辑框图
b. 单个模块的对外交互图
c. 单个模块的I/O接口需求明确
3. 运行架构
运行架构关注进程、线程等运行单元,以及以及这些单元的并发,同步,通信等问题。
(1) 有几个进程,每个进程又有几个线程
(2) 各线程的优先级、分配堆栈大小、执行频率(sleep时间)等。
(3) 通过何种方式实现同步?
其他两种架构,嵌入式软件开发开始时考虑较少。
4. 物理架构:物理架构关注“目标程序及其依赖的运行库和系统软件”最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性,可伸缩性等要求。
5. 数据架构:数据架构关注持久化数据的存储方案,不仅包括实体及实体关系的存储格式、还包括数据传递,数据复制,数据同步等策略。