软件架构的时间和情感因素

​质量属性是软件架构的一个重要方面,而质量属性中也包含了时间和情感的因素。

公元前1世纪,古罗马御用工程师、建筑师Marcus Vitruvius Pollio在其《建筑十书》中最早提出了建筑的三要素“坚固、实用、美观”。英文的表述为Firmitas,Utilitas, Venustas,通俗的说也就是Solid,Useful, Beautiful。软件架构同样需要具备这三个要素,用计算机的术语表述就是:

·Firmness: Achieve asatisfactory level of freedom from damaging failure.

·Commodity: Utility toaccomplish the tasks it is purported to be for.

·Delight: Pleasure in use.

马尔库斯·维特鲁威·波利奥是古罗马的作家、建筑师和工程师,他的创作时期在公元前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博士

代码视角

根据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等指标,每一个指标都可以展开成一套程序员必须遵循的规则。没人敢说软件质量是一件简单的事情!

用户视角

从用户的角度看,用户不会问“软件是不是有很好的架构并且通过了ISO9126标准?”,用户关心的是“软件是否能够帮助完成我工作?”,“我可以依靠它吗?”。这说明用户体验的满意度影响到用户对软件质量的评价。Peter J. Denning博士在文章中提出了6个级别来评估用户视角的软件质量。

·Level -1: No trust.用户不信任该软件。软件可能包含很多bug、引起系统崩溃或带有恶意插件。

·Level 0: Cynical satisfaction.无忠诚度的满意。用户不信任软件提供商的所有声明。

·Level 1: Software fulfills allbasic promises.软件满足所有基本承诺。ISO软件量标准定义就在这个级别。

·Level 2: Software fits environment.软件适应用户环境。什么意思呢?软件提高了用户完成重要工作的能力。

·Level 3: Software produces nonegative consequences.软件不会有任何负面影响。这包括两方面:第一,软件能够处理用户没能预见的错误场景;第二,软件可以满足用户未来的需求。

·Level 4: Software delights.软件愉悦。这个级别的产品远远超出用户的期望,并产生新的,意想不到的,有时令人惊讶的积极作用。用户在该软件上收获了极大的愉悦并愿意推广给其他的用户。用户感觉软件设计者是理解了用户的真实世界并认为软件改善了他们的生活。

文献《Software Quality Models and Philosophies》总结软件质量具备以下两个属性:

The meaning and definition of software quality:

·Conformance to specification:Quality that is defined as a matter of products and services whose measurable characteristics satisfy a fixed specification – that is, conformance to an inbeforehand defined specification.

·Meeting customer needs: Quality that is identified independent of any measurable characteristics. Thatis,quality is defined as the products or services capability to meet customer expectations – explicit or not.

从上面的定义可以很容易推导出软件开发过程中常用的两个重要质量保证框架:DoD和CoS。正如Peter J. Denning博士所说:最高级别的软件愉悦出现在客户和开发者之间美好的互动关系中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • //我所经历的大数据平台发展史(三):互联网时代 • 上篇http://www.infoq.com/cn/arti...
    葡萄喃喃呓语阅读 51,212评论 10 200
  • 凉爽了几天,真的挺爽的,这样的天就算是骑脚蹬三轮车都觉得是一种享受,每一寸肌肤都沐浴在风分子中,跟着车流,欣赏着绿...
    柘榎阅读 144评论 0 0
  • 任何推广文章,需要链接的都带上一张二维码。 追随热点。举个例子,今天腾讯发布了小程序(公众号)的内测消息,论坛上的...
    yangxg阅读 308评论 2 0
  • 第四章 弟弟们的到来 “生了,是个男孩。恭喜,母子平...
    曼箬漓阅读 422评论 8 20
  • 做得好的:坚持早起,及时调整身体(早睡);坚持备课开课;坚持看书,开始规划英文启蒙路线让英文习得更有效。 有待提高...
    乐乔妈阅读 83评论 0 0