Fork me on GitHub
软件性能的可伸缩性

软件性能的可伸缩性

软件或多或少的承载着人们这样那样的需求,如何去衡量软件的质量属性应该是软件人员一直都在思考的内容。McCall质量属性模型将软件的质量属性划分为产品修正、产品运行、产品转移三个部分,其实更简单的划分,可以将其分为 开发态质量属性 与 运行态质量属性

 

1、正确性是软件质量的基础,但仅能够满足正确的代码,不过是程序世界中的一堆垃圾

 

克劳士比说过:“质量是一组特性满足要求的程度”,满足“客户要求”、即正确性是所有软件质量的基础。但是,往往并不是所有的要求都是明确的。没有客户有耐心详细的提出有哪些质量要求,往往只是提出“需要什么样的功能”,至于怎么实现,用什么实现从来是不关心的。所以,一个仅能满足正确性的软件/代码只不过是计算机世界中的一堆垃圾。

 

2、开发态质量属性

 

开发态质量属性狭义上可以理解为“代码的质量”,如可读性,代码不仅是写给计算机运行的,更多的时候是写给人看的。写一份不需要说明文档的代码,让所有维护的人能够轻松的看懂就是成功。此外如可扩展性,随需求的变更代码的改动情况,这里面设计模式的东西可以派上一些用场,Design For Change的思想也由此而来。再如可移植性,写了一份代码,32位机器上可以跑,到64位机器上就出问题,或者在Linux上可以执行,到Unix上就需要大刀阔斧的改动,这样或多或少都是有些问题的。其它如可测性,这里不写了。

 

3、运行态质量属性

 

运行态质量属性指在程序运行期间的“满足要求”的表现,常见的如:

性能:12306的购票系统就是典型的反面教材,在需要的时候顶不上,影响性能的如IO、数据库、内存操作使用是否恰当;

可靠性:程序是否容易出问题,出问题能否及时恢复;

兼容性:这个对于做平台或中间件层的软硬件要求尤为突出,没有用户愿意为底层的升级买单。不兼容的直接恶果是客户不愿意升级,最终导致版本无法收编,产生巨大的维护成本;

可维护性:出了问题能否快速定位,快速分析,还是人海战术,全部成为救火队员。

 

4、软件性能的可伸缩性

 

运行态的质量属性除了这些还有很多,如易用性、易升级等。这里再提到的两点质量属性:一个是软件性能的可伸缩性,其中一层含义可以理解为软件随外部压力增大所表现的性能表现,如100W用户在线时,系统的响应时长是1秒钟,1000W用户在线的时候,系统的响应时长是否是简单的1*10秒钟?另外一层含义,可以理解成软件性能随硬件的扩充所产生的性能变化情况。举例而言:在CPU是1G Hz的机器上,系统每秒钟可以处理1000个请求,如果CPU升级到2G Hz的处理速度,是否每秒钟就可以处理2*1000=2000个请求?现实情况下,这个伸缩性一定不是线性关系的,在前一层含义里面,可能还会出现拐点,也就是所谓的“雪崩”。

 

另外一个值得一提的应该是软件的开放与易集成,当前像微信、微博,都在构筑自己的软件平台,生态系统,如何能够打造一个开放的平台,当前也是一个思考和尝试的途径。

上面这些更多的是一些通用的质量属性,质量属性之间可能相互有矛盾的地方,产品实现时更多的是方方面面的平衡。也可以理解为:产品的质量属性决定了软件的架构。

另外,对于不同的产品而言,其关注的质量属性可能是不一样的,如电信产品更关注的可能是可靠性,而互联网产品可能更侧重于体验和快速响应。对于同一产品而言,不同时期关注的质量属性也可能随需求的变更发生或多或少的变化。

 
 
分类: 计算机技术

干法读后感--磨练灵魂 提升心志

2013-03-27 17:30 by 追梦网络, 321 阅读, 1 评论, 收藏编辑

去年六月份入职,就看到同事的办公桌上有一本叫“干法”的书籍,听这个名字,就感觉讲的是关于工作方面的内容。后来下班的时候,就翻开书来看了一 看,感觉还不错,对人生和工作都具有一定的指导价值,一口气把书看了一半。然后就丢在那里了,直到最近公司发了这本书,又重新复习了一遍,感觉半年前看 了,很多都忘记了,于是想到写读后感也算是一种备忘录。下面我把书中的重点内容结合自己的想法阐述一下。

第一章, 磨练灵魂 提升心志。讲的是我们为什么要工作?书中的观点是:提升心志。我认为很有道理,工作同时能让我们度过有价值的人生。现在的社会是一个极度浮躁的社会,随着 经济的发展,房价的飙升,物价的上涨,我们担心未来的同时产生的一种浮躁和恐惧的心里,坐立不安,很难静下心来工作。很多刚踏入社会的年轻人,把工作当做 是资本家剥夺的工具,很多人的工作的观念就是打工养家糊口,不思进取。然而在这个物竞天择、优胜劣汰的时代里,很多人面临被社会淘汰的困境,因为人生的价 值问题。所以要有好的心态,正确的人生观、价值观才能有积极的投入到工作里。工作是人生最尊贵、最重要、最有价值的行为,工作中的困难年和挫折是人生的起 点,也是人生的必经之路。就我个人的言,我为什么要工作?我的回答是:为了实现自己的人生价值和提升自己的工作能力而工作。工作能造就人格,也能扭转人 生,也可以激发智慧。努力工作能助你实现美好的人生,工作中我们必须每天反思,并认真、诚实的工作。全神贯注与自己的工作可以磨练灵魂,造就美好的心灵。

第 二章, 让自己喜欢上从事的工作。将的是我们如何投入工作?首先,我们需要改变心态。作者为什么50年的时间里能够一心一意的专注于工作呢?他的回答是:那是因为 我付出了努力,我让自己喜欢上了自己的工作。其实,就是一个兴趣爱好问题,我们需要培养自己的兴趣爱好,把工作中的事情当成兴趣爱好来培养。没有哪一个 人,天生下来就是喜欢某一件事的。后天的兴趣需要我们专注某一领域和努力培养。比如做软件开发的,其实刚开始我们刚开始什么都不知道,随着不断的学习,现 代社会问题的增多,很多问题需要软件来解决,然而随着我们解决的问题越来越多,遇到的问题也会越来越多,如果我们全力以赴,途中兴趣也会慢慢增强,于是兴 趣就培养起来了。做自己喜欢工作,无不是人生的一种享受,不给工资我都要干,给了工资我更加积极的干。

第三章, 以“高目标s_26a879e5b87531e79e5283568104dc3e5921” 为动力。书中提到:工作要持续付出不亚于任何人的努力。我们的人生需要目标的指引,我们的工作同样需要目标的指导,同时通过自我的努力,来实现目标,实现 人生的价值。目标的重要性,人人皆知,在实现目标的途中,我们还要认真思考,多总结、多反思。做每件事,我们都需要抱着实现目标的强烈愿望,竭尽全力地去 做,始终以百米赛跑的速度奔跑,并付出不亚于任何人的努力。公司有公司的目标和战略,我们每个人也需要有,这样才有不断向前发展的希望。

第 四章, 持续就是力量。抓紧今天这一天,专心致志于一行一业,不腻烦、不焦躁,埋头苦干,人生就会开出美丽的花,接触丰硕的果实。当遇上难以克服的困难,认为“已 经不行了”的时候,其实并不是终点,而恰是重新开始的起点。持续的力量能将“平凡”变为“非凡”,每一秒积累成今天这一天,每一天积累为一周、一月、一 年、乃至人的一生。这和孔子所说“千里之行,始于足下;不积跬步,无以至千里;不积小流,无以成江海。”很类似。就拿目前的工作来讲,每天积累一个小的知 识点或经验,人的一生中会积累多少的知识和经验啊。每天阅读1小时书籍,几年后便可成为行业专家。关键不在多,贵在坚持。

第五章, 追求“完美主义”。这样才能出色完成工作。这和最近公司发的“细节决定成败”有点相似,要完成一个产品,99%的努力是不够的,1%的差错可能导致产品出 现问题,客户不认可,导致公司财产损失。任何时候不允许出一点差错,只有抱着完美主义的思想,我们才能出色的完成工作。“最佳”是同别人比较,比起来最 好,这是相对的价值观。低水平中也有最佳。我们要“完美”。因为没有东西可以超越完美。

第六章, “创造性”地工作。工作中需要创新,每天都要钻研创新。创新多一个国家、企业乃至个人都需要十分重要的意思,敢于走前人没有走过的路,敢于做没人敢做的 事,创新需要勇气,更需要持续不断毅力。如果每天工作墨守成规,不思改进,必将落后,久而久之被时代所淘汰。即使是平凡简单的工作,只要不断钻研和创新, 也会带来飞跃性的进步。在每天的工作中时刻思考“这样做是否可行”带着为什么的疑问,今天胜过昨天,明天胜过今天,持续不断的对工作进行改善和改良,最终 一定能取得优异的成绩。

结束语:工作结果=思维方式╳热情╳能力。投入极大的工作热情,发挥自我最大的工作能力,再加上正确的思维方式,就能把工作做得最好,给出一个最好的工作结果。


作者:追梦网络 
出处:http://www.cnblogs.com/dream844/ 
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 
posted on 2013-03-27 21:56  HackerVirus  阅读(1091)  评论(0编辑  收藏  举报