嵌入式软件概要设计模板.docx
- 文档编号:28568120
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:15
- 大小:195.80KB
嵌入式软件概要设计模板.docx
《嵌入式软件概要设计模板.docx》由会员分享,可在线阅读,更多相关《嵌入式软件概要设计模板.docx(15页珍藏版)》请在冰豆网上搜索。
嵌入式软件概要设计模板
嵌入式软件概要设计(模板)
模板使用说明:
1、本模板发布后,新产品一律使用本模板撰写;
2、本模板中的蓝色字是对模板内容的说明,用于指导作者理解并按照模板要求进行编写,具体编写时,可删除;
3、本模板中的各个要点,在具体编写时如果不涉及,应在相关章节内写“无”或“不涉及”,而不能直接将相关章节删除;
1前言
1.1编写目的
本文根据XX产品需求规格说明,对XX软件系统的总体结构设计,功能模块划分,模块接口设计,以及Web页面框架设计进行描述;同时对XX产品软件的非功能性需求,包括出错处理,可维护性等加以描述;以便指导详细设计和软件编码。
本文档适用于系统设计师、软件设计者、软件开发者、软件测试工程师等相关人员阅读和使用。
1.2项目背景
软件名称:
软件英文名称:
软件标签:
软件版本号:
1.3定义
1.4参考资料
2版本变更说明
首次设计时可写“无”,后续设计本文档的修改,均应按以下表格对修改内容进行说明:
版本号
变更原因/目的
关联产品
受影响的功能模块
兼容性说明
受影响的测试用例
3任务概述
3.1目标
完成的软件设计,确定软件的总体结构,关键操作处理流程,功能模块划分。
3.2嵌入式软件运行环境
软件环境
硬件环境
4总体设计
4.1系统描述
根据《产品系统总体方案》和《硬件概要设计》的内容,总结出对嵌入式软件的设计要求
4.1.1系统主要输入
4.1.2系统主要输出
4.1.3系统主要功能及安全关键功能识别
除描述系统主要功能外,还需要分析这些功能中哪些属于安全关键功能,安全关键功能指对系统安全性具有重大影响的功能。
本文档识别出安全关键功能后,针对这些功能的设计可在详细设计文档中进行
4.1.4系统主要性能
4.2设计约定
本嵌入式软件设计需要遵守的总体要求
4.2.1编程语言约定
开发本程序所使用开发语言、平台及版本
4.2.2数据类型定义
常用数据类型
新类型名
变量名称前缀
typedefunsignedchar
BYTE
by
typedefchar
CHAR
c
typedefunsignedshort
WORD
w
typedefshort
SWORD
ssw
4.2.3接口函数约定
供外部模块调用的函数接口命令方式:
模块名称+功能名称
共内部模块调用的函数接口命名方式:
模式名称+功能名称
4.2.4代码组织约定
代码文件的组织方式按照物理器件和逻辑功能来划分,即每一个设备器件分配一个文件,每一逻辑单元功能分配一个文件,对于需要集中管理的信息则单独分配文件,如寄存器定义,板卡配置信息等则单独分配文件,便于信息的查找和修改。
4.3总体结构
描述嵌入式软件总体结构
4.3.1系统结构图
根据对本系统的需求分析结果,对本系统的组成进行设计及相关内容的描述,以下样例供使用者参考:
样例1、系统结构图:
样例2、消息处理方式设计:
样例3、组件调用关系:
4.3.2模块划分
根据本软件需要实现的需求对软件功能模块进行划分。
样例:
4.3.3模块功能描述
针对上一章节的模块划分结果,对模块需要完成的功能进行描述。
样例:
WebUI应用层主要处理和用户的交互信息,由安全管理、系统配置、业务操作、系统管理、系统告警、系统升级、在线诊断、用户帮助等组件组成,给用户提供可视化的业务操作和图形化的信息显示。
该模块只和业务处理层有接口交互,主要以消息交互的方式进行信息交互。
该模块首先接收用户发出的操作指令,然后转换成业务请求服务消息发送给业务处理层,并接收业务处理层的响应,最后将结果以图形化的形式反馈给用户。
4.3.4系统兼容性说明
说明本软件与现有硬件的兼容关系,以及是否向下兼容。
出现不兼容的情况,需说明哪部分不兼容,对生产、服务、销售、市场有何影响。
4.4处理流程
描述主要业务的处理流程
样例:
4.4.1业务1处理流程
4.4.2业务2处理流程
4.4.3业务N处理流程
5安全关键部件的设计
5.1识别安全关键部件
对于以下软件部件,应作为安全关键部件加以识别,并在设计中进行可靠性设计:
a.故障检测的优先级结构及安全性控制或校正逻辑、处理相应响应故障的模块;
b.中断处理程序、中断优先级模式及允许或禁止中断的例行程序;
c.产生对硬件进行自主控制信号的软件;
d.产生直接影响硬件部件运动或启动安全关键功能的信号的软件;
e.显示硬件状态的软件
5.2安全关键部件设计
对安全关键软件,必须列出可能的不期望事件,分析导致不期望事件的可能原因,提出相应的软件处理需求。
例如中断处理程序期望每5秒钟收到一次中断,那么要考虑如果5秒时没有中断时,应如何处理
6接口设计
对本嵌入式软件所有接口进行设计
6.1接口示意图
6.1.1界面接口
描述界面上需要体现的功能接口以及与下层软件的接口关系
样例:
6.1.2业务类接口
根据系统功能图和系统结构图,对所需的业务接口进行定义,不同的业务接口由各种具体的业务类来实现。
样例:
6.1.3非业务类接口
系统中的非业务接口则由各种具体的功能类来实现,其中告警接口由告警类和事件类来共同实现。
样例:
6.1.4内部接口
可以将系统中较复杂的操作抽象成内部接口,使得系统既可以保持业务处理框架的稳定性,又降低了业务处理模块的复杂性。
6.1.5算法接口
如果系统中的算法较多,考虑到算法的可扩展性,可将系统中关键业务算法抽象出一个算法接口,并且都由相关的算法类来实现,这样既保持了接口的稳定性,又增强了系统算法的可扩展性。
样例:
6.2用户接口设计
对于用户交互相关的接口进行设计,主要包括界面布局、UI设计等。
6.3外部接口设计
根据6.1中定义的系统外部接口类,进行详细定义,包括接口输入/输出信息
样例:
接口名称
接口描述
事件日志查询
日志查询格式为:
槽位号,查询开始时间,查询结束时间。
返回数据包格式:
错误状态码,事件个数,发生事件槽位号,事件编码,事件ID,事件描述,发生时间,事件参数信息。
事件自动上报
自动上报的数据为错误状态码,发生事件槽位号,事件编码,事件ID,事件描述,发生时间,事件参数信息。
6.4内部接口设计
根据6.1中定义的系统内部接口、算法接口进行详细定义
样例:
接口名称
接口描述
窗口查询
根据窗口句柄遍历窗口联表,查询是否存在指定窗口
获取开窗信号通道
根据窗口跨屏的数量以及处理单元信息计算通道参数
6.5通信接口设计
对通信类接口进行详细设计
样例:
6.6硬件接口设计
与硬件的总线的接口进行说明:
样例:
接口名称
通信协议
Data总线宽度
备注
I2C
串行总线协议
8bit
7运行设计
7.1系统启动设计
描述嵌入式软件启动过程
8异常信息记录及处理设计
8.1异常情况分析
对嵌入式系统可能出现的故障进行分析并定义类别,通常分提示性错误、一般错误、严重错误、致命错误
8.2异常处理对策
系统对异常情况必须做出处理,包括返回、告警提示等,系统作出处理应考虑实时性和有效性
8.3异常信息记录
设计时应考虑故障信息的记录方法,例如有文件系统的,应该提供日志功能;如果没有文件系统的,可以提供网络远程记录
9容错设计
对可靠性要求很高的系统应同时考虑硬件和软件的容错设计,而不能只考虑硬件容错设计
10维护设计
为了便于跟踪错误和调试代码,以便软件出现故障时提供有价值的参考信息,提高分析问题和解决问题的效率,对调试信息的管理做出的设计。
10.1调试信息的缓冲区管理
调试信息缓冲区的大小为128*16*1024bytes,每条信息的长度固定为128个字节,总共可存储16K条的输出信息。
当调试信息的长度超过127个字节的长度时,第128个字节到最后一个字节的内容将被丢弃;当输出信息的数量超过可存储的大小时,将自动覆盖最旧的打印信息。
10.2调试策略
为了方便问题发生现场和开发等不同场合的调试,对程序中的调试信息的输出方式做了
动态策略设计。
系统中将定义四类输出信息策略,调试时可任意选择其中的一种策略。
1、直接丢弃:
该策略适用于对大量调试信息的过滤和筛选
2、直接输出到控制台:
该策略适用于实时观察调试信息
3、输出到日志缓冲区:
该策略适用于对错误的回溯跟踪调试
4、输出到控制台和日志缓冲区:
该策略适用于有前后时间关联的错误调试
10.3调试信息级别
根据调试信息的重要程度将调试信息进行级别划分。
可自行定义等级,如:
1、错误,2、警告,3、调试,4、详细。
数值越低表示的级别越高,信息的重要程度也越高。
也可参考linux内核对调试信息所定的级别进行定义:
#defineKERN_EMERG"<0>"/*systemisunusable*/
#defineKERN_ALERT"<1>"/*actionmustbetakenimmediately*/
#defineKERN_CRIT"<2>"/*criticalconditions*/
#defineKERN_ERR"<3>"/*errorconditions*/
#defineKERN_WARNING"<4>"/*warningconditions*/
#defineKERN_NOTICE"<5>"/*normalbutsignificantcondition*/
#defineKERN_INFO"<6>"/*informational*/
#defineKERN_DEBUG"<7>"/*debug-levelmessages*/
开发人员可根据调试信息的重要程度对不同级别的调试信息采用不同的处理策略,以平衡调试信息和程序执行之间的矛盾
10.4调试API
10.5软件可测性设计
针对系统的主要性能指标,依据已定义的整体系统方案,分析这些性能指标是否能够验证,并在相关模块中预留接口
10.6软硬件版本信息在线上报/在线加载
硬件----版本在线上报或查询(硬件PCB;单板软件;可编程逻辑;制成板版本;)、在线加载接口;单板软件在线擦除/在线加载。
软件----版本在线上报或查询;在线加载;在线补丁;
10.7数据设定与操作
数据校验、数据一致性检查、重要数据修改警示性提示、数据格式转换、数据在线修改/在线加载、数据设定方式、数据设定工具、调试工具
10.8保密性设计
系统设计应能防止越权或意外的存取或修改软件,例如文件传输需要考虑自定义格式、涉及知识产权的软件需要考虑加密。
另外模块内的数据结构,外部模块如果需修改此数据,必须通过模块提供的接口函数修改,不允许直接修改
11软件生产及升级方式设计
11.1软件包结构
描述发布时,软件包所包含的所有软件的内容
11.2软件烧录方式
母片烧录/在线烧录
11.3软件升级方式
对软件销售后的升级处理方式进行设计,包括公司服务人员的升级、客户升级等不同情况
12嵌入式软件概要设计评审checklist
由交付件责任人完成自检,发给评审成员完成检查并反馈结果,负责人汇总各成员反馈的结果,评审会议上确定评审结果及评审问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 软件 概要 设计 模板