1.5.1 需求层次-方面矩阵
使用二维需求矩阵来判断需求是否全面。这个是目前我见到的最具可操作性的方法。
一方面,需求是分层次的,根据涉众的不同,可将需求分为三个客户级需求(也称组织级需求)、用户级需求和开发级需求;另一方面,需求可分为功能、质量和约束三个方面。通过检查层次-方面的二维矩阵,即可较好的判断需求是否全面。
|
功能 |
质量 |
约束 |
客户需求 |
业务目标 |
快、好、省 |
技术性约束 标准性约束 法规性约束 遗留系统集成 技术趋势 分批实施 竞争因素与竞争对手 |
用户需求 |
实现某某功能 |
运行期质量 |
用户群特点 用户水平 多国语言 使用环境 |
开发需求 |
行为需求(这个不太懂) |
开发期质量 |
开发团队技术水平 开发团队磨合程度 开发团队分布情况 开发团队业务知识 管理的保密要求 安装 维护 |
1.5.2 软件质量的分类
软件质量涉及众多,但是从关注者的角度将其划分为运行期质量和开发期质量,可将其划分的很清楚。
所谓运行期质量,指系统运行期间,最终用户可以感受到的质量属性,包括性能、易用性、安全性、健壮性、可靠性、可用性、可伸缩性、互操作性。
开发期质量则指的是系统开发、维护、移植过程中所体现出来的属性,是软件的开发、构建、部署人员所关心的质量属性,包括:
- 开发人员关注的:易理解性(这个很容易被忽视)、可扩展性、可重用性、可维护性、可移植性
- 测试人员关注的:易测试性
- 部署人员关注的:易部署性
关键质量属性说明
- 性能:性能包括速度、吞吐量和持续高速型,速度使用平均响应时间来衡量,吞吐量使用单位时间交易数来衡量,持续高速性指系统保持持续高速处理速度的能力,则与实时系统有关,实时系统对每次系统响应时间都有严格要求。需要注意的是,速度快一般意味着高吞吐量,但是速度慢不见得吞吐量就低,这与网络延时与带宽的关系相似。
- 安全性:同时兼顾向合法用户提供服务,以及阻止非法用户使用的能力。高安全性意味着“同时兼顾”。
- 可用性与可靠性:可靠性是指系统在一定时间内无故障运行的能力,一般用平均无故障时间来衡量,而高可用性则指的是“系统长时间为用户提供可用服务的能力”(原书中为“系统长时间无故障运行的能力”,应当不太准确)。经常使用集群的方式来提高系统的高可用性,但是显然,如果将整个集群视为一个整体,任意一台机器宕机,则整个系统都不能判定为“无故障运行”,所以其可靠性相比于单机是下降的,但是只要集群中足够多的机器正常工作,则系统“为用户提供可用服务”的能力并不受影响,因此集群提高了系统的可用性。
1.5.3 约束
可从客户、用户、开发三个层次来分解约束,确保约束条件的完整。另一个角度,约束=业务环境因素(来自客户)+使用环境因素(来自用户)+构建环境因素(来自开发、维护人员)+技术环境因素(业界技术约束)。
标签:总结,需求,每日,系统,用户,约束,3.20,开发,质量 From: https://www.cnblogs.com/clh628/p/18084597