质量属性是软件架构的一个重要方面,而质量属性中也包含了时间和情感的因素。
公元前1世纪,古罗马御用工程师、建筑师Marcus Vitruvius Pollio在其《建筑十书》中最早提出了建筑的三要素“坚固、实用、美观”。英文的表述为Firmitas,Utilitas, Venustas,通俗的说也就是Solid,Useful, Beautiful。软件架构同样需要具备这三个要素,用计算机的术语表述就是:
马尔库斯·维特鲁威·波利奥是古罗马的作家、建筑师和工程师,他的创作时期在公元前1世纪,他的生平不详,连他的名字马尔库斯和姓波利奥也只是由伐温提努斯提到过,他的生平年代主要是根据他的作品确定的。
时至今日,这三个要素仍然是成功软件设计的重要组成部分。这三个方面谈的都是架构的质量属性。如何理解呢?
无论从架构设计还是工程实施的角度,时间都是软件设计的重要因素。架构在时间推进的过程中演化,其实现在一个个PDCA循环中迭代,软件也在与用户的磨合中生死。
统计质量控制 (SQC) 之父,沃特·阿曼德·休哈特在1931年就指出过质量评价的主观性——质量包含了人对客观现实的思考,感受,感知。
"There are two common aspects of quality: One of them has to do with the consideration of the quality of a thing as an objective reality independent of the existence of man.The other has to do with what we think, feel, or sense as a result of the objective reality. In other words, there is a subjective side of quality." —W.A. Shewart, 1931
2016年9月份《美国计算机学会通讯》上刊登了Peter J. Denning博士的文章《Software Quality》,介绍了软件质量评价从代码视角向用户视角的演化,很好的诠释了软件质量的Firmness,Commodity和Delight三个要素。
软件质量的评价已经明显的从上世纪70年代代码视角的评估演化到今天用户视角的评估。——Peter J. Denning博士
1.1 代码视角
根据Peter J. Denning博士的观点,传统的软件质量评价体系都是从代码视角出发的。其基本原则是制定客观的测量指标,监测软件的所有属性,量化软件本身。比如我们经常说的UT覆盖率,TA覆盖率,代码静态检查(Sonar)指标,在软件设计开发过程中制定详细的规范,ISO 9216,ISO-25010:2011等等。这些软件质量评价方法一般都包括correctness,reliability,integrity,usability,efficiency,maintainability,testability,interoperability,flexibility,reusability,portability,clarity,modifiability,documentation,resilience,understandability,validity,functionality,generality,economy等指标,每一个指标都可以展开成一套程序员必须遵循的规则。没人敢说软件质量是一件简单的事情!
1.2 用户视角
从用户的角度看,用户不会问“软件是不是有很好的架构并且通过了ISO9126标准?”,用户关心的是“软件是否能够帮助完成我工作?”,“我可以依靠它吗?”。这说明用户体验的满意度影响到用户对软件质量的评价。Peter J. Denning博士在文章中提出了6个级别来评估用户视角的软件质量。
文献《Software Quality Models and Philosophies》总结软件质量具备以下两个属性:
The meaning and definition of software quality:
从上面的定义可以很容易推导出软件开发过程中常用的两个重要质量保证框架:DoD和CoS。正如Peter J. Denning博士所说:***级别的软件愉悦出现在客户和开发者之间美好的互动关系中。
【本文是专栏作者石头的原创文章,转载请通过作者微信公众号补天遗石(butianys)获取授权】
戳这里,看该作者更多好文
文章标题:软件架构的时间和情感因素
URL链接:http://www.shufengxianlan.com/qtweb/news23/436573.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联