开发一个软件应用,假设初步确定了用户需求之后,要编写软件开发的文档,领导要求至少必须得写软件后端的理论性描述开发方面的文档。
领导要求,理论性描述开发方面的文档的内容描述中,有一个要求让我很困扰,就是至少不能提及比较具体的开发内容,例如文档中主要描述的部分不能提及下列内容
( 1 )具体使用的开发语言,
( 2 )具体使用的开发工具,
( 3 )使用了什么通信传输协议( Http,tcp,udp ),
( 4 )使用了什么数据库(可以使用数据库这个词指代数据存储,但是不能提及是用了什么类型的数据库,是文档类型,还是关系类型,还是时序类型,也不能提及具体使用了哪个数据库产品)
总而言之,该类文档注是那种注重于理论性、逻辑方面内容的描述。不能提及开发中比较具体的内容描述。
那么我想问一下各位,按照这样的要求,编写这类文档内容,可以有哪些描述?
既然不能提及具体的开发内容,那我想到的是三个理论性的描述方式
( 1 )理论性描述的应用架构结构图
( 2 )抽象所需要的业务实体,以及业务实体上所需要的关系关联
( 3 )预先设想并罗列可能需要的后端接口 API,至少写出必须提交的参数,请求完成响应的内容,需要哪些认证,以及 API 接口的详细描述说明
假设要做的是学生选课系统。
( 1 )根据用户需求中的功能描述,绘制出理论性描述的应用架构结构图。
( 2 )确定业务上所需要的实体,可以确定至少业务实体有学生实体,教课实体。以及根据业务确定这 2 个实体之间所需要的关联关系
( 3 )罗列后端中可能需要的后端接口 Api,预先定义学生和教课的可能需要后端 API 接口。
除了我所设想的,各位还知道这类开发文档的内容描述,还有哪些比较好的理论性的描述方式?
1
hxndg 2021-02-10 09:43:08 +08:00 via Android
找本操作系统里面的调度,或者看看深入理解 linux 架构里的 lru 就明白了。
|
2
jones2000 2021-02-10 13:07:09 +08:00
不涉及具体内容, 哪不就是画大饼嘛, 使劲吹, 什么技术新就写用什么技术. 网上一大把, 拼一起就可以了.
学生选课系统 区块链数据存储. AI 自动选课. VR 虚拟课堂试听. 人脸识别自动登录, 微服务等等 ......... |
3
imn1 2021-02-10 13:15:01 +08:00
你最好问一下领导是给谁看的
看领导这么说,很笼统的文档描述,应该是给客户看的,就是能让客户信任,不是乱开发而且是自主开发,但又不能太详细让客户可以自行(或者找别家)开发,这个跟一般开发文档不同 软件文档其实有多份的 开发的架构文档,注重原理和各模块的数据如何进出 开发的过程文档,注重版本更替,及更替的原因( Bug 、功能变化等等) 以及用户文档(说明和使用手册分开的话更多) 公司内部保存的文档,不太可能不写具体的使用模块是什么,后续开发的人看会很混乱,所以更像是给客户看的 如果确实是给客户看的,就按着“能看清原理,但不能照着文档自己开发”这个需求写 |
4
Kirsk 2021-02-10 13:52:08 +08:00 via Android
项目概要文档 描述项目整体技术边界
|