质量和快速决定了软件架构

转载 2007年10月12日 10:06:00
软件架构的选择和设计并不是很容易做出的,一个成功的软件架构取决于N多的因素,软件架构这个词向来就是最为模糊的一个词,个人认为软件架构实在是个很大的话题,业界一直采用的形象比喻就是建设房子时的房屋结构图,以软件的角度来说,软件架构应至少包括软件开发时使用什么语言、形成软件开发时可运行的核心基础框架、软件应用模块的设计(包括模块内聚的功能、对外提供的服务等)、软件测试的方法、软件部署的方法以及团队开发的方法,那么怎么来选择和设计软件架构呢,其衡量的因素是什么呢,个人认为其中质量和快速是衡量软件架构的选择和设计是否成功的两个最重要的因素。
为什么说质量和快速是两个最重要的因素呢?首先来看看这里的质量和快速分别包含了什么内容:
质量
软件的质量是软件能否成功的非常非常重要的因素,就个人看来,软件质量应包括软件功能性需求的实现、软件非功能性需求的实现。
软件功能性需求中最重要的就是要确定对于客户而言商业价值最高的部分是什么,这一项对于软件架构而言的影响是软件应用模块的设计上,而软件应用模块的设计呢,通常要取决于可运行的核心基础框架的设计和实现上;
软件非功能性需求则通常会包含很多要素,像软件灵活性、可扩展性、高响应等,在这些众多的要素中同样要选择出对于目前软件最重要的要素是什么,这会影响到软件架构中的软件开发语言的选择、可运行的核心基础框架。
软件的质量还有需要考虑的要素就是软件测试的方法了(这也会影响到选择什么语言来开发软件),这点对于软件质量而已,无疑是非常重要的一点。
快速
软件能否快速开发完成也已经成为了软件能否成功的重要因素,快速开发完成的意思非常容易理解,但它其实很大的程度影响到了软件架构的选择和设计,很明显的它将影响到软件开发使用什么语言、软件开发时可运行的核心基础框架、软件部署的方法以及团队开发的方法等等,团队中的人很大程度上决定了软件开发时使用什么语言(这个时候也要注意,其实什么语言会影响到开发的速度、开发的质量等,例如erLang的设计目标是为了可构建容错的系统、c则更适合从底层控制整个系统的交互、java具备丰富的基础库、业界资源和更适合复杂业务的需求),至于核心基础框架、部署的方法、团队开发的方法的设计都是为了快速这个目标的。
从上面的两个因素我们可以看到,要使得软件高质量且快速的完成,软件架构在选择和设计上时非常重要的是寻找到一种平衡,所以软件架构要做到模式化其实并不容易。
在这里多说下别的话,其实从上面所述能看出,去评论哪种语言会死是没有什么意义的,并不会有一种语言放在任何环境下都适合,就像在互联网网站的建设上,我想可能很多人都会选择php+c或类似的语言体系,但大家其实可以仔细去想想,是不是网站的建设上一定要这样的两种语言才能承担互联网的高并发等需求呢,或许你更应该做的是从该网站最重要的非功能性需求、团队等等因素来考虑,就像如果你的团队是java性质的团队,而网站最重要的非功能性需求又是支持业务的灵活性的话,那么我会觉得c这样的过程化语言绝对不是这种情况下的最佳选择,而java却是这种情况下的最佳选择,可能很多人会说java太慢呀,什么的,其实并不尽然,很多时候靠硬件以及优秀的架构完全可以弥补掉java比c这样的程序运行相对更慢的毛病,:),这也算是给java的一个平反吧,呵呵,毕竟java相对c而言还有更大的好处那就是java程序的开发无论从质量还是快速开发上肯定强于c,我这样说并不是说一定要选择java,我只是想说明应该根据什么样的情况来选择和设计什么样的架构,那才是最合理的,所以架构永远都没有最好的,只有最合适的,而这也是架构师最难做的原因,架构师在做架构的设计和选择时遵循的出发点就是保证软件高质量且快速的完成。 

《软件架构评估》学习笔记

from:http://www.uml.org.cn/zjjs/201209253.asp 写在前面,软件架构评估是一个大型项目成功的保证,不管是否完全按照书中的操作来完...
  • moonsheep_liu
  • moonsheep_liu
  • 2015年04月27日 10:17
  • 2041

系统架构评估中的质量属性+评估方法(SAAM,ATAM)

一、评估人员关注的系统质量属性 1.性能 系统的响应能力 经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理的事件的个数 2.可靠性 软件系统在应用或系统错误面前,在意外或错误使...
  • u012904383
  • u012904383
  • 2016年10月29日 20:49
  • 1739

浅谈软件架构师的素质与职责

沟通是保证项目顺利开展的有效保障。架构师要从多方面跟踪项目进度,及时与项目经理或直属领导汇报项目进展,与技术开发人员沟通遇到的问题,如果是迭代开发,还需要与用户沟通需求变更。...
  • apanious
  • apanious
  • 2016年03月30日 10:30
  • 2813

04_如何描述和评估软件架构质量.pdf

  • 2008年11月30日 22:27
  • 279KB
  • 下载

软件架构的质量属性

  • 2014年05月13日 21:40
  • 166KB
  • 下载

软件架构————软件质量概述

一些关于软件质量管理方面的概述,希望对大家有用~~
  • zs2538596
  • zs2538596
  • 2014年11月26日 07:30
  • 771

软件架构期末复习资料

  • 2016年06月21日 10:54
  • 486KB
  • 下载

软件架构与中间技术的课件

  • 2014年12月23日 23:37
  • 945KB
  • 下载

论文:高内聚低耦合软件架构的构建_程春蕊

  • 2015年03月16日 21:44
  • 346KB
  • 下载

软件架构与模式 pdf

  • 2017年10月30日 11:11
  • 63.48MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:质量和快速决定了软件架构
举报原因:
原因补充:

(最多只允许输入30个字)