3.20每日总结

1.5.1       需求层次-方面矩阵

使用二维需求矩阵来判断需求是否全面。这个是目前我见到的最具可操作性的方法。

一方面,需求是分层次的,根据涉众的不同,可将需求分为三个客户级需求(也称组织级需求)、用户级需求和开发级需求;另一方面,需求可分为功能、质量和约束三个方面。通过检查层次-方面的二维矩阵,即可较好的判断需求是否全面。

 

功能

质量

约束

客户需求

业务目标

快、好、省

技术性约束

标准性约束

法规性约束

遗留系统集成

技术趋势

分批实施

竞争因素与竞争对手

用户需求

实现某某功能

运行期质量

用户群特点

用户水平

多国语言

使用环境

开发需求

行为需求(这个不太懂)

开发期质量

开发团队技术水平

开发团队磨合程度

开发团队分布情况

开发团队业务知识

管理的保密要求

安装

维护

 

1.5.2       软件质量的分类

软件质量涉及众多,但是从关注者的角度将其划分为运行期质量和开发期质量,可将其划分的很清楚。

所谓运行期质量,指系统运行期间,最终用户可以感受到的质量属性,包括性能、易用性、安全性、健壮性、可靠性、可用性、可伸缩性、互操作性。

开发期质量则指的是系统开发、维护、移植过程中所体现出来的属性,是软件的开发、构建、部署人员所关心的质量属性,包括:

  • 开发人员关注的:易理解性(这个很容易被忽视)、可扩展性、可重用性、可维护性、可移植性
  • 测试人员关注的:易测试性
  • 部署人员关注的:易部署性

关键质量属性说明

  • 性能:性能包括速度、吞吐量和持续高速型,速度使用平均响应时间来衡量,吞吐量使用单位时间交易数来衡量,持续高速性指系统保持持续高速处理速度的能力,则与实时系统有关,实时系统对每次系统响应时间都有严格要求。需要注意的是,速度快一般意味着高吞吐量,但是速度慢不见得吞吐量就低,这与网络延时与带宽的关系相似。
  • 安全性:同时兼顾向合法用户提供服务,以及阻止非法用户使用的能力。高安全性意味着“同时兼顾”。
  • 可用性与可靠性:可靠性是指系统在一定时间内无故障运行的能力,一般用平均无故障时间来衡量,而高可用性则指的是“系统长时间为用户提供可用服务的能力”(原书中为“系统长时间无故障运行的能力”,应当不太准确)。经常使用集群的方式来提高系统的高可用性,但是显然,如果将整个集群视为一个整体,任意一台机器宕机,则整个系统都不能判定为“无故障运行”,所以其可靠性相比于单机是下降的,但是只要集群中足够多的机器正常工作,则系统“为用户提供可用服务”的能力并不受影响,因此集群提高了系统的可用性。
1.5.3      约束

可从客户、用户、开发三个层次来分解约束,确保约束条件的完整。另一个角度,约束=业务环境因素(来自客户)+使用环境因素(来自用户)+构建环境因素(来自开发、维护人员)+技术环境因素(业界技术约束)。

posted @ 2024-03-20 10:01  听着DJ读童话  阅读(16)  评论(0)    收藏  举报