问一个菜有关问题 , 开发中的详细开发文档要达到什么程度

问一个菜问题 , 开发中的详细开发文档要达到什么程度 ?
问一个菜问题 , 开发中的详细开发文档要达到什么程度 ?
具体有哪些项目 ? 要达到哪些具体要求 ?

谢谢

------解决方案--------------------
公司一般都会有自己固定的模版,你可以借用下;当然你也可以从网络上查询一些资料。


详细设计说明书
1.引言
1.1编写目的
[说明编写这份详细设计说明书的目的,指出预期的读者。]
1.2背景
a. [待开发系统的名称;]
b. [列出本项目的任务提出者、开发者、用户。]
1.3定义
[列出本文件中用到的专门术语的定义和外文首字母组词的原词组。]
1.4参考资料
[列出有关的参考资料。]
2. 系统的结构
[给出系统的结构框图,包括软件结构、硬件结构框图。用一系列图表列出系统内的每个模块的名称、标识符和它们之间的层次结构关系。]
3.模块1(标识符)设计说明
[从本章开始,逐个地给出各个层次中的每个模块的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。]
3.1模块描述
[给出对该基本模块的简要描述,主要说明安排设计本模块的目的意义,并且,还要说明本模块的特点。]
3.2功能
[说明该基本模块应具有的功能。]
3.3性能
[说明对该模块的全部性能要求。]
3.4输入项
[给出对每一个输入项的特性。]
3.5输出项
[给出对每一个输出项的特性。]
3.6设计方法(算法)
[对于软件设计,应详细说明本程序所选取用的算法,具体的计算公式及计算步骤。]
[对于硬件设计,应详细说明本模块的设计原理、元器件的选取、各元器件的逻辑关系,所需要的各种协议等。]
3.7流程逻辑
[用图表辅以必要的说明来表示本模块的逻辑流程。]
3.8接口
[说明本模块与其它相关模块间的逻辑连接方式,说明涉及到的参数传递方式。]
3.9存储分配
[根据需要,说明本模块的存储分配。]
3.10注释设计
[说明安排的程序注释。]
3.11限制条件
[说明本模块在运行使用中所受到的限制条件。]
3.12测试计划
[说明对本模块进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件、驱动程序及桩模块等的规定。]
3.13尚未解决的问题
[说明在本模块的设计中尚未解决而设计者认为在系统完成之前应解决的问题。]
4.模块2(标识符)设计说明
[用类似第3条的方式,说明第2个模块乃至第N个模块的设计考虑。]



------解决方案--------------------
详细设计文档意义不大,可读性好的代码就是详细设计。

如果非要写文档的话,我建议画好类图,以及序列图和活动图,从静态和动态两方面说明你的设计。
然后对重要方法的关键算法重点说明即可。

我个人喜欢提供一份较为详细的uml图。


当然,对于那些整合数据的项目、数据仓库的项目等,需要说明的是数据的处理了。


那些iso的详细设计模版实际上根本没什么价值。

------解决方案--------------------
同意jiezhi的观点,我再说说另外一种方法:
UML+文档
结合UML简洁明了的优点+文档脉络清晰,表达直观的优点,这样一份设计文档不仅在开发人员角度(会看UML),也从boss角度(看设计文档语言描述)把一个系统的详细设计描述清楚了!

------解决方案--------------------
感觉详细设计挺重要
1:封面
2:概要:写清相关联的数据源和其他画面
3:画面整体效果图
从三层架构分析:
4:view层--画面项目:各控件名,控件种类,入力方式,文字种类,文字范围数,是否必须,文字位置,控件初期值,控件对应的内容,最后是控件的参考内容。
5:focus移动顺序,键的移动[Tab,Shift,Enter,up ,down,left,right]
6:view层--功能键的说明
7:view层--事件的说明:画面中控件的种类和事件,以及事件的内容
8:controller层:与view,logic层的转换
9:logic层:初期动作处理,各种模式下的数据处理,与其他画面处理相关联的ER图
10:msg:整个画面中报出的所有msg整理