一线架构师实践指南第五章阅读笔记

第五章内容为确定关键质量与关键功能。

   软件需求=功能需求+质量属性+约束,由此可见确定关键质量与关键功能是十分重要的。

   架构设计之初,要是制定了错误的质量属性目标(包括遗漏重要的质量属性),那么开发的过程可能会很痛苦。
   “需求结构化”的基础上,“确定关键质量” 着重完成如下两项任务:
   1.根据系统所在领域的特 点及系统规模等因素,确定架构设计重点支持哪些质量属性(例如重点支持高性能、可扩展性)
   2.分析上述质量属性之间的制约关系,第一时间指定权衡折衷的具体策略(例如明确高性能是第一位的,可扩展性与高性能相矛盾时应照顾高性能要求,是否引入支持可扩展性的设计须经架构组评审)。
   那么,如何确定关键质量呢?答案是,遵守和运用5大原则:

1.分类合适+必要扩充。

2.考虑多方涉众。

3.检查性思维。
4.识别矛盾+划定优先级。
5.严格程度符 合领域与规模特点。

    确定关键质量的五大规则不是孤立的,他有一定的思路。

 

 

 

 

 

 

 

 

那么关键功能又如何确定呢,他同样有以下几点规则,那就是确定关键功能子集:

1.核心功能。2.必做功能。3.高风险功能。4.独特功能(覆盖了上述3类功能没有涉及的职责)。

核心功能。

识别“核心功能”的标志是:业务层的接口要反映这些功能。例如,项目管理系统中,项目信息查看、添加项目任务等都是核心功能。

必做功能。

识别“必须实现的功能”主要依据客户方的背景。

高风险功能。

基于务实考虑,还应该把“风险高的功能”选入关键功能子集。例如,你在设计-一个网上书店系统,书籍的全库搜索功能就须要特别关注:从用户角度讲,极慢的搜索速度,甚至直接收到“系统忙,请稍后再试”的提示都是不满的:

独特功能

覆盖了上述3类功能没有涉及的职责。

在课堂中老师通过一道例题提高我们对于章节内容的理解:

某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题。她每周都收到一份过期未付款的账户名单。这份报告已经从两年前的250个账户增加到现在的1250个账户。

为了确定那些严重拖欠债务的账户,Liz需要通读这份报告。严重拖欠债务的账户由几个不同的规则确定,每个规则都要求Liz检查客户的一项或几项数据。过去半天的工作量现在增加到了每周三天。即使在确定了严重拖欠债务的账户后,如果没有查阅该账户三年内的历史资料,Liz也不能做出最后的信用决定(例如严厉的催款电话、断绝信用或将这个账户转给一个收账代理)。另外,Liz需要报告所有账户中过期未付款的、拖欠债务的、严重拖欠债务的和呆死账的比例。目前的报告中并没有给她提供这个信息。

我的答案如下(如有不足可交流):

关键属性:

运行期质量:

鲁棒性:对变换的数据能够进行处理

持续可用性:能长期使用

可伸缩性:几乎没有上限

性能:即强调速度,又强调吞吐量

易用性:最便捷的选择方式

安全性:数据安全可靠

互操作性:含公司各系统间互操作

开发期质量:可扩展性

 

关键功能:

能够快速查询客户账户;

能够分析一个客户是否为问题账户;

能够给出一个问题账户的三年内的历史数据

能够计算问题账户所占比例

 





 
posted @ 2020-06-11 15:09  呵呵刀呵呵  阅读(158)  评论(0编辑  收藏  举报