时间:2022年09月12日
需求是什么?
不同视角下的信息系统
《软件需求最佳实践》徐锋(2013-05出版)
《有效需求分析》徐锋(2017-01-01出版)
书评与概览:需求开发与管理方法框架,SERU过程框架方法论,需求工程,经典,理论学习,PMP,PMBOK
我们并不缺乏软件工程,需求工程的理论,技术,缺乏的是将这些理论和技术有效的应用到实践。
不管是采用结构化的方法还是面向对象的方法,分解是人类控制复杂性,认知复杂事物的最佳实践。
需求问题不仅仅涉及IT技术方面,还涉及业务知识、心理学、公司政治、流程管理、沟通交流等多个领域。
uml图;
sprint思想、lean精益思想核心内容:
SERU: subject area,event,report,use case; 主体域+事件+报表+用例;
SERU模型
· S:Subject Area,表示⼦问题域
其核⼼思想是要通过业务来分解系统,尽量保证业务独⽴和低耦合。
· E:Event,表示业务事件
通过业务事件能够找到流程,通过流程能够找到不同场景和⽤例。
· R:Report,表示报表
统⼀处理查询,分析和统计类需求。
· U:Use Case表示⽤例
需求组织的最⼩单位,到了需求分析阶段的重要活动和产出。
第⼀个阶段是需求定义,重点是主题域划分和业务事件识别。
第⼆个阶段是理清需求框架和脉络,重点是通过业务流程图转到具体的领域类图和⽤例图。
到了第三个阶段重点就是填充需求细节,包括⽤例的详细编写,界⾯和交互设计等。
3阶段:明确目标和范围(开天辟地)=>理清框架和脉络(泾渭分明)=>填充需求细节(天圆地方);
每个阶段的内容:包括主要任务、产物等
【1、明确目标和范围】
1.1核心工作:
划分主题域(若需要)=>用上下文图确定主题域范围=>列出主题域下的业务事件、报表类型列表
1.2主要产物:
构件图(表示主题域关系,1张)=>上下文关系图(表示主题域范围,张数与主域个数相等)=>业务事件列表、报表类型列表
1.3主要访谈对象:
中高层用户代表
1.4重要信息:
组织结构图、分管领导=>有助于划分主题域;部门职责说明=>有利于主题域间服务接口的标识
1.5其他提示:
这阶段时间相对简短,不强求标识全部业务事件和报表类型;重点在于从宏观层面理解业务,标示出最主要的业务事件和报表
【2、理清框架和脉络】
2.1核心工作:
针对业务事件进行流程、业务实体、使用场景分析;
针对每类报表进行业务实体、使用场景分析;
将前面标识出来的所有场景(用例)进行抽象、得到用例模型;
将前面业务实体分析获得的领域模型片段进行合并和抽象;
对设计约束、质量属性进行分析;
2.2主要产物:
活动图(表示业务流程);
领域类图片段(表示每个业务流程、报表类型涉及的业务实体)
用例模型片段(表示每个业务流程中的业务活动、具体报表项)
领域模型(按主题域对领域类图片段进行合并和抽象)
用例模型(按主题域对用例模型片段进行合并和抽象)
部署图(用来描述软硬件环境方面的设计约束)
2.3主要对象:
中层用户代表
2.4重要信息:
业务事件、报表类型列表作为访谈计划的线索;
业务事件、报表类型列表作为需求组织的二级目录
2.5其他提示:
此阶段主要是搭建框架,不要设计太深的内容;目标不在于标识所有用例、所有领域类,而是标志出最重要的部分,此外,在本阶段完成后将对需求进行基线划分。
【3、填充需求细节阶段】
3.1核心工作
针对每个用例(B类、R类、I类)进行捕获、分析;
对流程图上标志的相关文档进行分析,完成领域类的细节填充;
在架构师的支持下,完成技术类用例的描述;
3.2主要产物
业务类用例描述:包括事件流、相关需求、UI原型、规则约束;
报表类用例描述:包括报表概述、报表内容、输入/输出格式;
接口类用例描述:包括使用者概述、内容与格式、实现约束;
领域类描述:包括数据窗口分析、组成与格式、计算规则;
3.3主要访谈对象
操作层(及小部分中层)用户代表
3.4重要信息:
根据上阶段得出的用例模型,按基线安排调研与细化;
根据用例所关联的领域类,安排领域类的分析和细化;