对于详细设计说明书,有很多刚入行的小白对此有很多的迷惑,在这里我就接着多年的工作经验,并拿出曾经给负责的一个项目撰写的概要设计说明书来作为案例给大家展示一下,写得不好,其中也有很多欠缺之处,愿朋友们看过之后能够给出很好的批评,咱们在这里相互学习、共同进步!
1.引言1.1修订记录
1.2简述
在这片文档中,我们开始探讨每个模块该如何具体实现,每个实现中需要哪些算法、属性、参数、数据结构、接口,并以此来完成“XXXX管理平台详细设计说明书”的工作。
1.3编写目的
本说明书确定系统的详细功能模块和数据结构,为下阶段开发工作提供依据。
1.4背景
1.6定义
必须保证程序正常的连接到服务器,并保持网络的畅通。
1.8参考资料
根据概要设计说明书中的设计内容,对整个系统所需实现的功能以及系统的功能模块的划分和功能模块的具体实现过程提供详细的说明,为整个系统的开发、测试、评定和移交的提供基础。
2.2详细设计方法和工具
(1)方法
(2)工具
(1)硬件环境
(2)软件环境
在确定目标系统的过程中,主要遵循了以下几个原则:
3.3全局变量
3.4公用控件
(1)用户对象
(2)全局结构
(3)全局函数
(4)公用窗口
3.6主窗口
系统主窗口继承自模板模式。当窗口打开时根据网卡地址获取栏目代码及名称,调用父类函数设置栏目及管理员信息。为减少访问数据库次数,提高查询速度,将常用数据表:功能模块、默认条件、栏目代码、用户代码、管理性质、模块编码、编码设置、编码明细、通用模块、独立功能、列表信息下载到本地缓存中,即将其保存到全局结构中。
3.7主菜单
系统主菜单继承自基础架构。为了方便查询功能的使用及扩展,所有查询功能均不挂在菜单项中,而是通过各功能模块所对应的窗口名称将其打开,因此主菜单只需增加以下项目:
功能:
用户界面采用扁平化的设计风格,美观和简洁的同时,便于用户进行操作,也增加了整个系统运行的稳定性、加载能力。
4.1用户界面设计规则
(1)字体
PingFangSC、HelveticsNeue、Arial、HiraginoSansGB、MicrosoftYahei、微软雅黑、STHeiti、华文细黑、sans-serif,正常体/400微粗体,(12至20)px,黑色/白色(打印文字不在此限)。
(2)风格
采用全屏网页设计,扁平化、视差化的化繁为简的设计思维,让整个网站的整体性、统一性、灵活性、自适应性、流畅性得到了相对的提高,也使得平台的功能处理和管理能力在这些特点的加持之下得到综合性的展示。
(3)色系
(1)控件
1)尺寸
在合理的布局下尽可能多的显示控件内的内容。
2)布局
按照操作流程或浏览顺序自左至右、由上而下的排放各种控件,使界面整体协调、简洁、美观大方。
3)自适应父对象的尺寸改变
控件应具有自适应父对象的尺寸改变的能力,当父对象的尺寸发生变化时,控件应能自动改变自己的尺寸并使界面保持整体协调,尽量减少因父对象的尺寸改变而带来的操作或浏览上的不便。
5.模块结构设计5.1概述
XXXX管理平台主要有用户管理、工程模型、信访管理、进度管理、质量管理、安全管理、风险管理、监测可视化、投资管理、腾地管理、运维管理、文件管理、工程周报、视频监控14个功能模块,根据这些功能模块,以对应的结构图对其进行解析,用更加简单的方式来展示每一个功能模块的基本结构和主要的功能点。
5.2用户管理模块
(1)概述
用户管理模块分为用户列表和用户组列表两个大项,根据项目的实际需求,可创建不同的用户多用户角色,同时该角色可分配相应的操作权限。
(2)模块所涉及的文件
(3)用户管理模块结构图
5.3工程模型
工程模型可以进行web浏览和漫游,可以通过旋转平移等简单操作查看整个模型,并可通过模型树快速点选构件,并可进行隐藏,亦可以通过剖面框、开洞等控件对模型进行多角度多方位的查看。
(3)工程模型模块结构图
5.4信访管理
(3)信访管理模块结构图
5.5进度管理
分析利用WBS编辑器,完成施工段划分、WBS和进度计划创建,建立WBS与MicrosoftProject的双向链接;通过BIM模型,对施工进度进行查询、调整和控制,使计划进度和实际进度既可以用甘特图表示,也可以以动态的3D图形展现出来,实现施工进度的4D动态管理;可提供任意WBS节点或3D施工段及构件工程信息的实时查询、计划与实际进度的追踪和分析等功能。
(3)进度管理模块结构图
5.6质量管理
(3)质量管理模块结构图
5.7安全管理
(3)安全管理模块结构图
5.8风险管理
(3)风险管理模块结构图
5.9监测可视化
(3)监测可视化模块结构图
5.10投资管理
(3)投资管理模块结构图
5.11腾地管理
(3)腾地管理模块结构图
5.12运维管理
目标是为后期的运维提供一套完整的设施和设备信息,便于后期运营过程中使用。
该系统包括设备管理、设施管理两个部分。
(3)运维管理模块结构图
5.13文件管理
对设计方上传的BIM成果进行管理,设计方BIM成果包括市政管线综合、交通碰撞报告等应用成果,按照版本和类别进行管理和调用,方便资料的查找和整理。
(3)文件管理模块结构图
5.14工程周报
基于平台所管理的工程量数,每周对文件进行填报和查看。
(3)工程周报模块结构图
5.15视频监控
(3)视频监控模块结构图
6.平台各模块的设计说明6.1概述
平台各模块的设计说明包括各模块业务流程图、各模块的详细设计说明表、窗口对象说明表、相互关系说明表,从多方面对各个模块的功能、类型、性能、算法逻辑、接口用详细多元精准的表结构进行阐述,以求此种描述方法来让项目文档更加的全面和详细。
6.2用户管理模块
(1)用户管理业务流程图
(2)用户管理设计说明
1)模块详细设计说明
用户管理详细设计说明表:
编号:说明01
2)窗口对象说明
用户管理窗口对象说明表:
编号:窗口01
3)模块相互关系设计说明
用户管理相互关系说明表:
编号:关系01
6.3工程模型模块
(1)工程模型业务流程图
(2)工程模型设计说明
工程模型详细设计说明表:
编号:说明02
工程模型窗口对象说明表
编号:窗口02
工程模型相互关系说明表
6.4信访管理模块
(1)信访管理业务流程图
(2)信访管理设计说明
信访管理详细设计说明表
编号:说明03
信访管理窗口对象说明表
编号:窗口03
信访管理相互关系说明表
编号:关系03
6.5进度管理模块
(1)进度管理业务流程图
(2)进度管理设计说明
进度管理详细设计说明表
编号:说明04
进度管理窗口对象说明表
编号:窗口04
进度管理相互关系说明表
编号:关系04
6.6质量管理模块
(1)质量管理业务流程图
(2)质量管理设计说明
质量管理详细设计说明表
编号:说明05
质量管理窗口对象说明表
编号:窗口05
质量管理相互关系说明表
编号:关系05
6.7安全管理模块
(1)安全管理业务流程图
(2)安全管理设计说明
安全管理详细设计说明表
编号:说明06
安全管理窗口对象说明表
编号:窗口06
安全管理相互关系说明表
编号:关系06
6.8风险管理模块
(1)风险管理业务流程图
(2)风险管理设计说明
风险管理详细设计说明表
编号:说明07
风险管理窗口对象说明表
编号:窗口07
风险管理相互关系说明表
编号:关系07
6.9监测可视化模块
(1)监测可视化业务流程图
(2)监测可视化设计说明
监测可视化详细设计说明表
编号:说明08
监测可视化窗口对象说明表
编号:窗口08
监测可视化相互关系说明表
编号:关系08
6.10投资管理模块
(1)投资管理业务流程图
(2)投资管理设计说明
投资管理详细设计说明表
编号:说明09
投资管理窗口对象说明表
编号:窗口09
投资管理相互关系说明表
编号:关系09
6.11腾地管理模块
(1)腾地管理业务流程图
(2)腾地管理设计说明
腾地管理详细设计说明表
编号:说明10
2)窗口对象说明
腾地管理窗口对象说明表
编号:窗口10
3)模块相互关系设计说明
腾地管理相互关系说明表
编号:关系10
6.12运维管理模块
(1)运维管理业务流程图
(2)运维管理设计说明
运维管理详细设计说明表
编号:说明11
运维管理窗口对象说明表
编号:窗口11
运维管理相互关系说明表
编号:关系11
6.13文件管理模块
(1)文件管理业务流程图
(2)文件管理设计说明
文件管理详细设计说明表
编号:说明12
文件管理窗口对象说明表
编号:窗口12
文件管理相互关系说明表
编号:关系12
6.14工程周报模块
(1)工程周报业务流程图
(2)工程周报设计说明
工程周报详细设计说明表
编号:说明13
工程周报窗口对象说明表
编号:窗口13
工程周报相互关系说明表
编号:关系13
6.15视频监控模块
(1)视频监控业务流程图
(2)视频监控设计说明
视频监控详细设计说明表
编号:说明14
视频监控窗口对象说明表
编号:窗口14
视频监控相互关系说明表
7.文档附录7.1概述
这一部分主要是对详细设计文档中未提及或者有所遗漏的分析内容进行补充,这些和以上部分相比并不是必需的,所以将这些不必需的内容在附录这里进行一一阐述。
7.2数据存储设计描述
(1)结构化数据存储描述
用于存储来自客户端的业务数据,并满足对所存储数据的安全、检索、统计等需求。
结构化数据常使用数据库来存储,数据库目前主要分为以下两大类:
根据业务场景的需要,BIM数据中心的建设选用主流的关系型数据库和非关系型数据库进行搭建。
(2)非结构化数据存储描述
用于存储文件、图片、视频等非结构化数据,并满足用户对这类数据的检索,存取,由于非结构化数据存储要解决的关键问题是:
基于以上问题,非结构化数据的存储解决的核心是协调多块硬盘对文件进行统一的读写,增加单个读写事务性能。
GridFS是MongoDB的一个用来存储/获取大型数据(图像、音频、视频等类型的文件)的规范。它相当于一个存储文件的文件系统,但它的数据存储在MongoDB的集合中。GridFS能存储超过文档尺寸限制(16MB)的文件。
GridFS将文件分解成块,将每块数据保存在不同的文档中,每块大小最高为255KB,通过对分片逻辑结构的管理满足对使得大文件具备分布式存储的能力,借助于MongoDB的分布式管理,提高数据中心对大文件的分布式存储、检索。
(3)日志数据存储描述
ELK架构功能示意图,如下:
Logstash:通过Logstash的日志收集功能,对服务端的硬件性能日志,应用请求的访问、响应日志、数据库CUDI日志进行收集,根据各类日志的格式,在Logstash中编写日志收集规则。
Elasticsearch:存储通过Logstash收集到的日志信息,用于后续查询;ES的使用并不仅限于对日志的收集,所有结构化的数据都可以存储在ES中,ES是一个实时的分布式搜索分析引擎,它能让你以一个之前从未有过的速度和规模,去探索结构化数据。
ES被用作全文检索、结构化搜索、分析以及这三个功能的组合,通过ES存储的数据具备以下能力:
Kibana:是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。
Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。
KibanaDashboard界面截图,如下:
使用Kibana制作图表时所使用的数据检索规则是使用Lucene语句编写的聚合查询规则,Lucene是一套用于全文检索和搜索的开放源代码程序库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程序接口,能够做全文索引和搜索,在Java开发环境里Lucene是一个成熟的免费开放源代码工具。
就其本身而论,Lucene是现在并且是这几年,最受欢迎的免费Java信息检索程序库;
7.3测试计划
对本系统进行单体测试的计划,主要有一下几个方面:
说明准备在本系统中安排的注释,如:
尚未解决的问题
暂无。
结语
如果这篇详细设计文档当您有什么疑问的话,请以以上的参考资料内列出的文档内容一同研读,整体结构请以《XXXX管理平台——概要设计说明书》为基础。
本文由@卧枕江山原创发布于人人都是产品经理。未经许可,禁止转载