详细设计说明书
2. 子模块1设计描述 2.1. 类xxx的设计 2.1.1. 简介
如果在概要设计中未说明,则在此详细描述类的职责和功能,可使用顺序图、协作图、状态图来详细描述。必要时,可描述本类与相关类之间的静态动态关系。
2.1.2. 类图
图1 类图xxx-class
2.1.3. 状态设计(可选)
可以用状态图来描述类的状态信息。
2.1.4. 属性
可先定义相关的数据结构,再对属性进行描述。 也可以不使用表格、而使用伪代码格式。
表2. 类XXX的属性
可见性 Private Public Protected
属性名称 类型 说明(对属性的简短描述) 2.1.5. 方法 1. 方法xxx
1)
方法描述
Java的函数头注释采用JavaDoc自动生成的格式: /**
* @functions 增删改查XXX * @param String name 名字
* @return true 如果不为空则返回真,false 如果为空返回假 * @throws 无 */
C++使用以下格式:
第 6 页 共 10 页
详细设计说明书
表3. 方法描述xxx-function
函数原型 功能描述 被调函数 主调函数 输入参数 输出参数 返回值 抛出异常 2)
实现描述
方法的声明,包含可见性 描述本方法的功能 被本函数调用的函数清单(非系统函数) 调用本函数的函数清单(非系统函数), 可选 描述每个输入参数的含义、内存管理原则(谁分配、谁释放) 描述每个输出参数的含义、内存管理原则(谁分配、谁释放) 描述返回值的含义 描述可能抛出的异常 (使用伪代码、流程图等来描述本方法的详细实现。这部分是详细设计的重点。可以在开发工具中编写后再将文件嵌入到文档中。伪代码请直接写成注释格式,减少编码阶段的注释工作量)
initial()getValue()noyesvalue > 1 ?NewActivity2NewActivity3
图2 流程图xxx-function
void TestTask::iMapTaskCmdRecv (CmdMSG *CmdMsg) {
_US command = CmdMsg->CmdCode;
第 7 页 共 10 页
详细设计说明书
//生成应答数据帧空间
//获得任务的ID
Switch (command) {
case 0x01:
//填写对应的业务字段和数据 break;
case 0x02:
//填写对应的业务字段和数据 break;
default: break; }
//发送应答数据帧
//设置任务状态为TASK_STATE_WAITNEXT }
2. 方法xxx
1)
方法描述
第 8 页 共 10 页
详细设计说明书
3. 数据库详细设计(可选)
描述存储过程、触发器等的详细实现。
3.1. 存储过程#/触发器#的名称 1. 描述
原型 功能描述 使用的数据库对象 输入参数 输出参数 返回值 原型描述 描述实现的功能 说明使用到的相关数据库对象(表、其它存储过程、视图等) 描述每个输入参数的含义 描述每个输出参数的含义 描述返回值的含义 2. 实现描述
使用伪代码来描述详细实现。
第 9 页 共 10 页
详细设计说明书
4. 错误处理 4.1. 系统错误
比如:内存分配失败、任务创建失败等错误是如何被处理的
4.2. 接口错误
描述将要产生并给外部实体用的错误码
4.3. 协议错误
描述在协议中没有描述的情况如何处理。(可选)
第 10 页 共 10 页