一、名词解释
名词 | 含义 |
需求收集 | 收集业务原始需求,主要是从参与者的角度表达用户需要达成的业务功能,一般以业务用例的形式体现。 |
业务需求 | 业务需求是需求收集过程的产出物,主要以用例的形式体现。 |
需求分析 | 需求分析是在业务需求的基础上,进行细化、分类、整理并产出系统需求的过程。 |
业务架构 | 业务架构是业务需求细化、分类的基础上,对复杂业务需求进行重新组织,业务架构以业务组件和系统需求的方式体现。 |
业务组件 | 大块的业务需求,按照内在逻辑的关联性,组织在一起,具有一定业务属性和业务功能的组件。 |
业务用例 | 业务用例指业务执行者希望通过和组织交互达到的,而且组织能提供的价值。 |
系统需求 | 业务组件的功能描述就是系统需求。 |
系统用例 | 系统用例指系统能够提供的系统价值。 |
二、项目过程和架构
软件项目过程一般包含需求、架构设计、开发测试、发布等过程。
一般意义上的软件架构是指在概要设计阶段对系统进行划分,主要是指应用架构。广义上的软件架构其实作用于项目过程的各个阶段,包含业务架构、应用架构、基础架构、数据架构等。
实施阶段 | 解决问题 | 输入 | 输出 | 产出人 | |
业务架构 | 需求分析 | 业务复杂性,组织业务需求,便于理解。 | 业务需求说明书 | 需求规格说明书 业务组件 | 业务架构师 |
应用架构 | 架构设计 | 系统复杂性 | 需求规格说明书 | 概要设计说明书 应用组件 | 应用架构师 |
基础架构 | 发布 | 部署复杂性,高可靠。 | 概要设计 详细设计 | 系统部署文档。 | 基础架构师 |
三、需求收集
需求收集是把生成业务需求说明书的需求开发过程,输入是业务人员的原始想法或愿景,输入是业务需求说明书,主要过程如下:
- 收集业务人员的业务想法或者业务愿景。
- 完善整理业务人员的业务想法,并以一定的形式(一般为用例)表达出来,每个业务用例都代表一个业务场景,实现一个完整的业务功能。
- 按照业务功能的范围进行横向拆分组织,减少后期需求分析的问题规模,并形成业务需求说明书。
四、需求分析
4.1 定义
需求分析是业务需求进行拆解,组合,形成系统需求的过程,需求分析是在纵向对业务需求进行拆分,并进行概念建模,形成系统需求的过程。
4.2 拆分原则
业务需求拆分成系统需求是为了便于理解,拆分是不是合理,所以有两个比较简单的判断标准。
- 拆分是不是满足业务场景。
- 拆分出来的模块是不是足够明确,让系统分析人员能够很好的进行分析。
拆分是个不断持续的过程,一直拆分到所有的需求的粒度都足够合适,是否合适完全根据团队的经验能力,并没有统一量化的标准。
五、参考资源