在做CMMI认证时,需求分析人员应采用自然语言(和应用域术语)来表达用户需求,相对于软件产品需求分析而言比较粗略,不够详细。主要完成以下内容:
² 分离技术需求和非技术需求;
² 系统需求分析,根据情况,采用面向对象的分析方法或结构化分析方法,并辅与相应的图形化分析方法。
² 抽象系统需求,并要求能够覆盖所有的业务需求;
² 确定系统需求的范围;
² 从软件工程师的角度,确定每个系统需求用例的IPO,并逐一进行分析。
以下给出建议方法:
n 集中讨论,列出用例的执行人/角色
n 集中讨论,尽可能列出用例的所有用户目标
n 考虑业务需求,编写概要用例,增加、减少或合并用户目标
n 确定系统需求之间的前后置关系、包含关系和扩展关系
n 选择一个用例进行扩展
n 确定相关人员和利益、前提条件、最小保证和成功保证
n 编写主成功场景
n 集中讨论,尽可能列出所有的扩展条件
n 编写扩展处理的步骤
n 重复5-9,对所有用例进行扩展
n 抽取复杂的处理流程作为子用例;合并琐碎的子用例
n 重新调整用例集;进行必要的增加、减少和合并
² 确定系统需求的优先级;
² 从程序员(软件工程师)的角度,定义非功能性需求,包括性能需求、输入输出需求、数据管理能力要求、故障处理要求;
n 系统架构师针对项目关注的质量属性要求,验证系统需求点符合要求。
² 用户业务基本需求分析的细化,更多地采用计算机语言和图形符号来刻画需求,产品需求是软件系统设计的直接依据。
n 分析基本需求分析中的用例;
n 划分系统模块;
n 细化用例,发掘系统的功能点(也称为特性);
n 归纳、提炼、定义获得的功能点;
n 验证功能点,确保获得的功能点是:明确、完整、一致和无歧义、可验证;
n 重复前5个步骤,直至能够合理描述系统的功能点。
n 对功能点进行唯一性标识和优先级定义。使用 “必须的”、“重要的”和“可选的”的方式确定需求级别。
n 定义系统的非功能需求。
如何建立操作场景和操作概念的
在做需求分析时,如何建立操作场景和操作概念的?