带你读《SAS数据分析开发之道 软件质量的维度》第二章质量2.2软件产品质量模型(四)-阿里云开发者社区

开发者社区> 人民邮电出版社> 正文

带你读《SAS数据分析开发之道 软件质量的维度》第二章质量2.2软件产品质量模型(四)

简介: 带你读《SAS数据分析开发之道 软件质量的维度》第二章质量2.2软件产品质量模型
+关注继续查看

质量成本

在软件或其他产品的开发过程中,确实会存在内部的权衡取舍,我们称之为约束条件。PMBOK指南将质量和其他5 个架构作为项目的主要约束条件,但同时也指出,这些约束条件不应该看作是完全详尽的。作为一个约束条件,在软件    项目的规划和设计过程中,质量与其他架构之间存在价值和优先次序的竞争。实际上,开发人员从软件中删除性能时,关注的是他们可以得到所有奇妙的东西!

增加范围     开发人员无须将性能需求编码到软件中,他们关注的是附加的功能性。例如,相比提升 SAS软件的稳健性以避免故障,开发人员可能会选择创建附加分析报告。

安排      性能需求的添加通常会使代码更冗长、更复杂,因此相应的,设计、开发和测试阶段也会延长。若不优先考虑性能,客户和其他利益相关者就能够更快地收到软件。

预算      由于性能需求的执行需要耗费一定的时间,但时间就是金钱,项目预算通常会随着性能需求的增加而增加。通过删除软件中的性能,开发团队能节省一部分预算,或者将节省下来的资金用到其他方面,何其快哉?

资源      项目资源不仅包括人力资源,还包括水电资源。随着性能需求的牺牲,项目所需的开发人员相应也会减少,同时消耗的资源也会减少。

风险      风险不是益处,而是未优先考虑性能时所遇到的意想不到的结果。由于许多性能需求被设计用来减少或消除软件中的漏洞,因此,当忽略性能需求时,风险通常也会随之增加。

尽管约束条件意味着限制性,但我们也可以从机会成本的角度来看待约束条件。例如,开发人员可以在软件中添加性能要求,或者他们可以选择不添加,以生产出速度更快、价格更低廉或功能更强的软件。但若要评估某个机会,我们就需要知道机会的价值所在。因此,本书的一个目标是让开发人员熟悉在软件中插入性能需求的好处,从而帮助他们判定出质量的机会成本。例如,如果利益相关者已经决定执行附加的功能性(因此排除附加的性能),那么利益相关者至少已经弄清楚了所要添加的性能的价值,而且已经根据该性能的机会成本做出了明智的决定。只有当利益相关者了解了质量的价值及质量缺少的风险时,才能对照其他项目约束条件评估质量,如进度、范围和预算。

确定质量的价值是比较困难的,尤其是当软件开发项目中的各个利益相关者对架构的优先顺序存在争议时,质量价值的确定就是一件很棘手的事。投资软件开发的投资者希望用较少的资金创建软件,而等着使用软件的用户则希望软件能迅速地创建完成。一些开发人员比较关注软件的功能,而不是特别在乎性能属性,但其他的   SAS从业人员可能希望软件具有可靠性、稳健性、可维护性及模块化。因此,在软件质量包含哪些特征及如何评估质量(对照其他项目架构)等问题上,达成共识是比较困难的。然而,利益相关者——包括开发人员和非开发人员,如果能使用软件产品质量模型中规定的统一的术语,他们便能更好地讨论质量特征的添加问题。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Gson:GitHub 标星 18K 的 JSON 解析器,Google 出品的 Java JSON 解析器,强烈推荐!(1)
Gson:GitHub 标星 18K 的 JSON 解析器,Google 出品的 Java JSON 解析器,强烈推荐!
3 0
手把手教你搭建GitHub个人博客网站(上)
手把手教你搭建GitHub个人博客网站(上)
5 0
我的免杀之路:远程线程注入
远程线程注入技术能实现在Windows系统下进程的隐藏。其主要核心在于一个Windows API函数CreateRemoteThread,通过它可以在另外一个进程中注入一个线程并执行。
9 0
MySQL系列专题(1)-MySQL的基础安装介绍
MySQL系列专题(1)-MySQL的基础安装介绍
4 0
MySQL系列专题(2)-MySQL的SQL语句和高级特性
MySQL系列专题(2)-MySQL的SQL语句和高级特性
3 0
阿里云&博客园征文活动获奖名单公示
阿里云&博客园征文活动获奖名单公示
53 0
阿里巴巴开发手册强制使用SLF4J作为门面担当的秘密,被我发现了(1)
阿里巴巴开发手册强制使用SLF4J作为门面担当的秘密,被我发现了
3 0
Java生成指定范围和跳过指定数字的代码
Java生成指定范围和跳过指定数字的代码
3 0
什么是交换机?什么是路由器?网络通信的底层原理到底是怎么回事?不清楚的程序猿快来科普下吧!
为了更好地促进互联网的研究和发展,国际标准化组织ISO在1985 年指定了网络互联模型。OSI 参考模型(Open System Interconnect Reference Model),具有 7 层结构
4 0
使用ABAP的RTTI和Java反射机制访问static private属性
使用ABAP的RTTI和Java反射机制访问static private属性
3 0
472
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载