标签:
掌握好需求分析,需要掌握三个问题的解决方式。
其中概念化阶段一般都要完成愿景分析、风险评估、可行性分析及项目进度和成本的粗略估算,输出《愿景与范围文档》;需求分析阶段则完成需求捕获、需求分析,得到《软件需求规格说明书》,一个关键的思路是需求捕获与需求分析是迭代着进行的,完成需求捕获之后再统一进行需求分析的思路是不具备可信性的;架构设计阶段完成通过关键需求确定、概念架构设计、细化架构设计和架构验证,得到架构设计说明书。
愿景分析的目的是明确愿景,即针对系统目标、功能范围、主要特性及成功要素等进行构思并达成一致。产出为《愿景与范围文档》,有的产品型公司会称之为《市场需求文档》MRD,有的产品型公司则称之为《产品需求文档》PRD,项目型公司则可能称之为《项目立项书》。
愿景=业务目标+范围+特性+上下文图。
需求分析的过程是需求捕获和需求分析迭代进行的过程,而不是“需求捕获->需求分析”的线性过程。
需求捕获是获取知识的过程,要求理解用户所从事的工作,并了解用户和客户希望软件系统在哪些方面帮助他们。需求捕获的输出是一系列的“需求采集卡”,记录需求类型、需求描述、需求北京、需求提出者等信息。
需求分析则是挖掘和整理知识的过程,在通过需求捕获所掌握的知识基础上进行,使得需求更系统、全面、有条理。需求分析的输出是《软件需求规格说明书》,精确阐述一个系统必须提供的功能、必须达到的质量属性及必须遵守的约束。一般使用用例技术来进行需求分析,对于重要需求,除用例图外,还需给出详细的用例规约。
使用二维需求矩阵来判断需求是否全面。这个是目前我见到的最具可操作性的方法。
一方面,需求是分层次的,根据涉众的不同,可将需求分为三个客户级需求(也称组织级需求)、用户级需求和开发级需求;另一方面,需求可分为功能、质量和约束三个方面。通过检查层次-方面的二维矩阵,即可较好的判断需求是否全面。
|
功能 |
质量 |
约束 |
客户需求 |
业务目标 |
快、好、省 |
技术性约束 标准性约束 法规性约束 遗留系统集成 技术趋势 分批实施 竞争因素与竞争对手 |
用户需求 |
实现某某功能 |
运行期质量 |
用户群特点 用户水平 多国语言 使用环境 |
开发需求 |
行为需求(这个不太懂) |
开发期质量 |
开发团队技术水平 开发团队磨合程度 开发团队分布情况 开发团队业务知识 管理的保密要求 安装 维护 |
软件质量涉及众多,但是从关注者的角度将其划分为运行期质量和开发期质量,可将其划分的很清楚。
所谓运行期质量,指系统运行期间,最终用户可以感受到的质量属性,包括性能、易用性、安全性、健壮性、可靠性、可用性、可伸缩性、互操作性。
开发期质量则指的是系统开发、维护、移植过程中所体现出来的属性,是软件的开发、构建、部署人员所关心的质量属性,包括:
关键质量属性说明
可从客户、用户、开发三个层次来分解约束,确保约束条件的完整。另一个角度,约束=业务环境因素(来自客户)+使用环境因素(来自用户)+构建环境因素(来自开发、维护人员)+技术环境因素(业界技术约束)。
标签:
原文地址:http://www.cnblogs.com/lidabnu/p/4321646.html