项目开发流程 —— 需求文档和设计文档的区别
需求文档是根据用户需求转化而来的技术实现需求,需要针对用户提出的产品目标进行细分,总结出具体的每一个功能点,再针对每一个功能点细分为各种不同的操作流程,对每一个操作流程进行技术化定义。也就是说,需求文档是站在用户的角度来描述软件需要实现的功能、各个模块和其重要性、以及业务流程等。而系统设计文档则是站在开发人员的角度来软件需要实现的功能、各个模块和其重要性、以及业务流程等。
设计文档分为三部分:总体设计、概要设计、详细设计
总体设计:设计阶段的目标主要是对待开发系统的构架进行分析和设计,并建立系统构架的基线,梳理业务逻辑且抓住核心需求,设计稳定可扩展的业务系统,评估业务开发周期和开发成本,有效的规避风险,以便为之后的实施工作提供一个稳定的基础。
概要设计:概要设计的目的是描述系统的每个模块的内部设计,对总体设计和详细设计承担承上启下的作用。概要设计按照结构化设计方法进行设计。结构化设计方法的基本思路是:按照问题域,将软件逐级细化,分解为不必再分解的的模块,每个模块完成一定的功能,为一个或多个父模块服务(即接受调用),也接受一个或多个子模块的服务(即调用子模块)。
详细设计:详细设计阶段就是依据概要设计阶段的分解,设计每个模块内的算法、流程,为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。详细设计这个阶段,各个模块可以分给不同的人去并行设计。设计者的工作对象是一个模块,根据概要设计赋予的局部任务和对外接口,设计并表达出模块的算法、流程、状态转换等内容。这里要注意,如果发现有结构调整(如分解出子模块等)的必要,必须返回到概要设计阶段,将调整反应到概要设计文档中,而不能就地解决,不打招呼。详细设计文档最重要的部分是模块的流程图、状态图、局部变量及相应的文字说明等。一个模块对应一篇详细设计文档。
总结:内容基本都一样!只是表现形式不一样!阅读对象不一样!
项目开发流程 —— 需求文档和设计文档的区别相关推荐
- 需求文档和设计文档的区别
需求文档和设计文档的区别 需求文档是根据用户需求转化而来的技术实现需求,需要针对用户提出的产品目标进行细分,总结出具体的每一个功能点,再针对每一个功能点细分为各种不同的操作流程,对每一个操作流程进行技 ...
- Java-GUI编程实战之管理系统 Day1【项目开发流程、软件三层架构、项目需求、项目结构分析】
视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...
- IT项目实施流程及每个阶段输出的文档
IT项目实施流程及每个阶段输出的文档
- 对 VR 项目开发流程的调研
0. 参考资料 学习参考自以下资料: 一个 VR 游戏 DEMO 的开发历程是怎样的 http://tech.163.com/16/0726/08/BSSSPPT600097U7U.html 虚拟现实 ...
- 软件项目开发流程以及人员职责
软件项目开发流程以及人员职责 实行软件工程项目管理: ▲ 项目经理(负责人):项目经理(负责人)对整个项目负完全责任,是指导.控制.管理和规范某个软件和软/硬件系统建设的人,项目经理(负责人)是最终对 ...
- 技术总监之路——App项目开发流程
App项目开发流程 一. 需求阶段 1. 初期由leader或者项目责任人和PM沟通下阶段开发计划,确认需求的可行性和优先级等初步达成共识 2. 接下来PM提供详细UE文档(需求颗粒感尽可能小)发起三 ...
- 项目开发流程及开发模式
项目开发阶段 整体阶段:需求分析.设计.编码.测试.维护. 需求阶段:通常定义系统的需求,明白系统的目标. 设计阶段:通常确定系统使用什么数据库,系统模块的划分,各个模块的功能. 编码阶段:用编程语言 ...
- web前端不用怕,外卖平台的项目开发流程,大全!!
项目开发流程 1. 创建客户端项目 1.1 使用 vue-cli(脚手架)搭建项目 #在Github新建Vue-MintShop项目,然后clone到本地 git clone git@github.c ...
- Java Web项目开发流程
1.Web项目开发流程图解 2.Web项目开发的细节(转载) 任何一个项目或者系统开发之前都需要定制一个开发约定和规则,这样有利于项目的整体风格统一.代码维护和扩展.由于Web项目开发的分散性.独立性 ...
- 软件项目开发流程及人员职责
一 软件项目开发流程 概括来说分为一共分了6个过程 项目启动阶段->需求分析阶段->设计阶段->开发阶段->测试阶段->常规文档 1.1 项目启动阶段 A. 产品经理和项 ...
最新文章
- 总监说,20、30岁年轻人面临人生抉择,早点知道这个法则,会少一些遗憾!
- 程序员整理的各种不错的工具
- k8s集群部署之环境介绍与etcd数据库集群部署
- 【Linux】一步一步学Linux——ls命令(29)
- React开发(272):try...catch..捕获
- LeetCode MySQL刷题——day2
- 安装使用sublime 对比工具sublimerge
- C++11多线程のfuture,promise,package_task
- bootstrap table 分页只显示分页不显示总页数等数据
- python自学网-python自学网
- python运维平台开发_python运维平台的设计
- 从零开始搭建自己的vue组件库——01创建
- 2022年,尽量还是别裸辞了吧···
- 【操作系统概念-作业4】Threads
- 刚开始做软件测试,一般工资范围是多少?
- python二进制文件对比_二进制文件 .VS. 文本文件 > python
- javascript动态添加、修改、删除对象的属性和方法
- 郑莉java课后答案,Java语言程序设计(郑莉)第三章课后习题答案
- Xamarin iOS 让图片动起来,做一个简单的俄罗斯轮盘
- 宏观人类工效学(人因工程学)