当前位置: 首页 > news >正文

Shane版详细设计书 文档模板

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

XXXX 详细设计书

本文我也发表在 CSDN ,地址为:http://blog.csdn.net/shanelooli/article/details/7792865
在 ITeye 发表地址为:http://surmounting.iteye.com/blog/1608870

1 XXXX介绍
1.1 背景与目的
<先介绍整体行业背景,再介绍项目开发背景,然后介绍开发此产品的目的,最后是编写本文档的目的>

1.2 适用范围
<包括XXXX的适用范围以及本文档的适用范围。其中本文档适用范围是指适用于什么角色的人做什么事情时候参考或据此作为标准>

1.3 参考资料
< 列举了编写本文档所参考的资料或其他资源。在这里应该给出详细的信息,包括标题的名称、作者、版本号、日期、出版单位或资料来源,以方便读者查阅这些文 献。必要时应说明何时以及如何得到的这些参考资料。需求分析说明书的参考文献可能包括用户界面风格指导、合同、标准、系统需求规格说明、使用实例文 档>

1.4 相关文档
<以相关的每个文档全名为三级标题。其中需要指明和本文档的关系。>

1.5 术语和缩略语
<列出本文档中用到的术语及缩写词,可以给出简要说明。
对文档中用到的重要符号或者格式约定给出定义和说明。
如果比较多,采用表格方式进行说明。>



2 系统综述
2.1 系统描述
2.1.1 功能
<根据需求分析总结的系统功能简述>
2.1.2 预期的环境
<包括剩余工程过程、实施过程的环境。包括编程开发环境、实施环境。这其中要指明有关各种约束;约束内容应遵循需求分析中的假定约束分析。>

2.2 预期执行情况
<对系统访问频率,实施之后系统运行情况进行描述;并指出希望能达到的效果。这其中包括一些核心子系统被频繁访问的并发度,以及适应实施过程中系统热迁移的有关考虑。>

2.3 针对性能需求的设计
<根据需求说明书中有关性能需求的内容,提出针对性的设计保证>

2.4 系统结构
<如果有条件应附带一份系统结构图。
包括对外交互、可访问和可被访问的接口等。>


2.5
总编程原则
<描述在编码规范基础上,针对本系统特别的编码原则。比如由于本系统将用于缺内存区域所以尽可能重用对象并使用无空数组型列表;或者由于访问对速度要求较高所以应尽可能多做数据缓存减少存储设备的输入输出等。>


3 素材详细设计
3.1 自建数据结构详细设计
3.1.1 自建数据结构一览
3.1.2 数据结构甲
3.1.2.1 数据结构甲概述
<包括这个数据结构是做什么用的,有什么要求>
3.1.2.2 设计思路
<描述如何根据概述中提到的此数据结构作用,而进行设计。可以引用常见的模式范例,或者描述设计此数据结构时产生的灵感。如必要,可以引入表格;事实上,多数数据结构的设计思路都非常简单,就是简单的“记录”二字。>
3.1.2.3 调用方法——接口方案
<描述此数据结构的实体应该怎么在程序中被使用。一般来说,对于爪哇语言(Java),这里甚至可以说“其仅仅使用空构造方法新建对象”即可。>
3.1.2.4 测试使用方案
<给出一个能够充分表现出次数据结构体效果的测试方案。可以是与其替代的传统数据结构进行比较,可以是并发模拟以验证其线程安全,等。>
3.1.2.5 程序结构
<用语言和算法表达式(伪代码)来描述数据结构程序体中具体的程序。描述粒度不应太大。应充分结合编码人员的工作能力,不造成编码人员过多的思考,也不产生详细设计人员过多的描述工作量。>
3.1.3 数据结构乙
<同 数据结构甲>

3.2 信息模型设计
< 信息模型是指通过可编程的数学方法描述业务问题的方法。比如业务是为用户赠送礼物,要求对更容易留住的用户进行赠送。那么可能需要抽取出一个“忠实度”的 值,通过用户日常登录次数、登录时间差的方差一类计算方法,形成一个函数。这种抽取过程称为“信息建模”。信息模型描述本系统需要用到的信息建模结 果。>

3.3 素材甲设计
3.3.1 素材甲概述
<描述素材甲的作用>
3.3.2 接口方案
<这包括素材甲需要建立的对外接口,以及素材甲和别的素材对接的程序内部接口。内部接口很可能依赖某些数据结构。>
3.3.3 测试方案
<设计测试程序以及测试方法,用来检测素材甲,以保证其能够达到使用要求。>
3.3.4 程序设计
<用语言和算法表达式(伪代码)来描述素材程序体中具体的程序。描述粒度不应太大。应充分结合编码人员的工作能力,不造成编码人员过多的思考,也不产生详细设计人员过多的描述工作量。
程序设计一般包括以下内容:
甲、程序结构描述。若是面向对象编程,则为描述各个对象的功能以及存在状态。
乙、程序详细过程描述:具体算法与程序逻辑。
丙、设备访问或输入输出调用方法、时机,调用时产生的数据流动方法与内容。
丁、异常、日志的处理方法。
戊、开发之前应明确但暂未明确的问题,称为“尚未解决的问题”,需专门指出>


3.4 素材乙设计
<同 素材甲设计>


4 界面详细设计
4.1 风格样例
<此处描述整体界面风格。通过罗列各个风格样例的样图使设计方案具体化。>

4.2 通用控件
<通用控件是指诸如按钮、标题、分割线等界面控件的样子。这里所说的“样子”包括颜色、渐变方式、边角、阴影等。>

4.3 界面布局(各界面)
<给出每个界面需要摆放的内容以及布局。可以通过坐标尺寸或相对尺寸来进行描述。布局设计应做到界面制作人员可以根据设计方案直接写出界面。>

4.4 特殊界面(各)
<此处描述具有特殊视觉效果的界面。这些界面不由通用控件组成。比如某系统用到,宇宙星空图,并从宇宙星空图转到各个星座的问答;这其中宇宙星空图就是特殊界面。>


5 XX子系统详细设计
5.1 程序结构
<描述子系统中各个模块的组合方式,以及素材的搭配方法。>

5.2 接口方案
<每个子系统的接口描述说明可参照以下格式:
接口编号、接口名称、输入、处理逻辑、输出
这里所说的接口特指此子系统对外的数据进入、传出途径,包括可被外界调用的方法,提供的服务以及输入输出方式。>


5.3 X模块设计
5.3.1 综述
<主要是说明此模块在子系统中的具体作用>
5.3.2 单元测试方案
<模块编写需要在测试程序指导下进行。测试程序是用程序模拟此模块的出入口,以检测模块是否能正确运行且性能达标。>
5.3.3 数据方案
<可以有数据流转图,一般用工具画,一定要屡清每个模块的数据流向,从哪儿到哪儿,做怎样处理等等>
5.3.4 界面选用
<如果本模块涉及到界面,这里指明选用的界面布局和具体控件>
5.3.5 组合方式
<根据概要设计分析出的功能块进行拆解,选择合用的素材。可以使用业务流程图配合时序图什么的…
需要给出程序调用、流转的过程,以指导编程人员做出符合设计的正确程序。>


5.4 Y模块设计
<同 X模块>


6 XY子系统详细设计
<同 XX子系统详细设计>

转载于:https://my.oschina.net/shane1984/blog/69357

相关文章:

  • 简比:三大电商巨头的平台、支付、物流
  • VC++ 如何让ScrollView视图显示滚动条
  • android自定义View的用法
  • Unsupported major.minor version 51.0(jdk版本错误)
  • 最近读cocoaui源代码有感
  • 【原创】MySQL 5.5 新增SIGNAL异常处理
  • 在VMware Update Manager(VUM)里添加HP的补丁源
  • 命令和工具的宿主控件ToolBarControl控件
  • android ViewStub使用
  • [CareerCup] 14.5 Object Reflection 对象反射
  • Windows Phone 应用发布技巧汇总
  • spring xmlns配置
  • 杭电 2680 Choose the best route
  • 【转】已知一个数出现的次数严格超过了一半,请用O(n)的复杂度的算法找出这个数...
  • 常怀谦卑惭愧心
  • Android单元测试 - 几个重要问题
  • codis proxy处理流程
  • ES6核心特性
  • Java比较器对数组,集合排序
  • vue学习系列(二)vue-cli
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 分类模型——Logistics Regression
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 软件开发学习的5大技巧,你知道吗?
  • 我与Jetbrains的这些年
  • 项目实战-Api的解决方案
  • 正则学习笔记
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • (arch)linux 转换文件编码格式
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (三)docker:Dockerfile构建容器运行jar包
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)程序员技术练级攻略
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .Net 垃圾回收机制原理(二)
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [1] 平面(Plane)图形的生成算法
  • [AR]Vumark(下一代条形码)
  • [IE编程] IE中对网页进行截图的编程接口
  • [iphone-cocos2d]关于Loading的若干处理和讨论
  • [LeetCode]Pow(x,n)
  • [LLM]大模型八股知识点(一)
  • [luogu4162 SCOI2009] 最长距离(最短路)
  • [nginx] LEMP 架构随笔
  • [NOI2022] 众数 题解
  • [NOIP2004] 提高组 洛谷P1090 合并果子
  • [P7885][Android13] 解决5G信号良好状态栏信号只有两格的问题
  • [three.js]UV动画
  • [Windows编程] 取得Vista/Win7 下的 “下载” 目录路径
  • [WPF系列]-基础 TextBlock