尽管GJB438B中对软件设计说明的编写已经有了比较详细的要求,但是,很多GJB5000成熟度较低的组织仍然不会编写设计说明。
软件设计说明的编写有以下几个难点——设计决策、执行方案和详细设计,这里给出一些示例(PS:以下示例为嵌入式软件),希望对这些内容仍然存在疑惑的设计师有帮助。
设计决策
GJB438B中已经明确了“CSCI级设计决策”这里的设计决策是指忽略软件内部单元的实现方法,直接描述如何实现软件外部特性(如输入/输出,处理行为等)和非功能的关键需求(如安全性、保密性和可靠性等)的方法。
示例:
1)CSCI输入/输出的设计决策
这里应描述软件与外部接口的输入/输出方法。
软件的输入设计决策表见下图:
软件的输出设计决策表见下图:
2)CSCI对每个输入的处理行为设计决策。
这里应逐一描述CSCI对各输入信息的处理方法。
CSCI处理行为设计决策表见下图:
3)CSCI安全性设计决策。
软件的安全性是指防止合法用户使用该软件时对系统或其中的信息造成不良影响,这里应针对软件需求规格说明中描述的安全性需求,逐一描述其采取的防护措施和方法。
软件的安全性设计决策表见下图;
4)CSCI保密性设计决策
软件的保密性主要是防止非法用户对软件的攻击。这里应针对软件需求规格说明中描述的保密性需求,逐一描述其采取的防护措施和方法。
软件保密性设计决策表见下图:
执行方案
执行方案是用来说明软件单元间的动态关系,即软件运行期间各单元间的相互作用情况,可以使用流程图、数据流图、状态转换图、时序图等来描述。
示例:
根据软件的特点,将本软件的执行方案按照以下几个控制过程进行描述:10ms定时器中断、100ms定时器中断、CAN接收中断和主程序。
软件的控制过程见下图:
软件的数据流图见下图:
各控制过程具体如下:……
详细设计
在详细设计中应分小节对每个软件单元进行设计决策(如使用的算法)、处理流程、内部数据和异常处理等的详细说明。
示例:
1)设计决策
这里描述软件单元的实现方法,如数据的输入/输出方法,数据处理的方法,使用的算法等。
软件单元的输入设计决策表见下图:
软件单元的输出设计决策表见下图:
2)处理流程
这里用流程图和文字的形式描述软件单元对每个输入的处理流程。
电源控制器软件CAN发送单元处理流程见下图:
3)内部数据
这里描述软件单元内部暂存的数据,包括临时数据、计算中间数据、接口缓存数据、数据库数据等。表现形式是软件单元内部数据表,内容应包括软件单元名称、软件单元标识符、内部数据元素说明、数据元素名称、标识符、数据类型、数据格式、值域范围、暂存形式等。
4)异常与错误处理
这里用流程图和文字的形式描述软件单元对每项异常与错误的处理流程。
电源控制器软件CAN发送单元接收到的系统复位信息0 XCF11527,总线数据应满足协议要求,0字节0~3位数据为0或1,超出范围不做接收处理。
这正是:
设计说明不易写,难点总是有几个
他山之石可攻玉,给出示例去学习
参考书目:装甲车辆嵌入式软件开发方法,作者:刘勇,王英胜,陈中伟,出版社:北京理工大学出版社
联系客服