zoukankan      html  css  js  c++  java
  • 软件性能的可伸缩性

    软件性能的可伸缩性

    软件或多或少的承载着人们这样那样的需求,如何去衡量软件的质量属性应该是软件人员一直都在思考的内容。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/ 
    本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

     
  • 相关阅读:
    Leetcode Unique Binary Search Trees
    Leetcode Decode Ways
    Leetcode Range Sum Query 2D
    Leetcode Range Sum Query
    Leetcode Swap Nodes in Pairs
    Leetcode Rotate Image
    Leetcode Game of Life
    Leetcode Set Matrix Zeroes
    Leetcode Linked List Cycle II
    CF1321A
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2985493.html
Copyright © 2011-2022 走看看