软件体系结构与软件架构解析


软件体系结构与软件架构的中文翻译都是英文Software Architecture。两者都使用一样的定义,如IEEE的“一个系统的基础组织,包含各个构件、构件互相之间与环境的关系,还有指导其设计和演化的原则。”[IEEE-2000]为了找到两者的区别,得先从应用的环境入手。我们利用网站搜索引擎对这个领域的常用关键词进行了检索,搜索区域分为开发者网站、所有网站、学术网站,结果如下(检索日期2007-04-08):
关键词 IBM开发者 微软 Google 百度 中国知网
软件体系结构 177 9,041 79,500 123,000 368
软件架构 233 10,478 236,000 462,000 56
软件体系架构 15 998 13,300 8,530 5
架构师 2,027 7,656 175,000 121,000 18
架构设计师 287 3,607 6,990 79,600 3
http://www-128.ibm.com/developerworks/cn http://www.miscrosoft.com/china google.com 采用精确匹配。“架构师”改为“软件架构师”,“架构设计师”改为“软件架构设计师”减少领域差异 baidu.com 采用精确匹配。“架构师”改为“软件架构师”,“架构设计师”改为“软件架构设计师”减少领域差异 http://www.cnki.net/index.htm采用精确匹配。中国期刊全文数据库(2000-2007结果表明,在软件开发者和软件应用者来说,倾向于使用“软件架构”,在一定程度上接受“软件体系结构”。大家对软件架构的设计人员,“架构师”得到广泛的认同。对于学术界,普遍使用“软件体系结构”,对架构师几乎没有关注。Software Architecture是一个实践性非常强的领域,统计表明理论和实践的鸿沟还是存在的。其次,我们从词源探讨“体系”“结构”“架构”的解释[字典-2001]
  • 体系:若干事物互相联系而构成的一个整体。思想~ | 工业~
  •  结构:①建筑物承受重量和外力的部分及其制造。按材料分有钢结构、木结构、砖石结构、框架结构、砖混结构等。按形式分有悬索结构、拱结构等。②构成整体的各个部分及其结合方式。经济~│文章~。③文艺作品的内部构造。即作品的各部分(包括内容和形式)之间有机的组织联系。
  •  架构:①建造;构筑。②框架;支架。③比喻事物的组织、结构、格局。市场~│故事~庞大
通过以上分析,我们不难看出学术界为什么用“软件体系结构”。首先,体系结构的中文定义完全符合IEEE等的定义。强调整体与部分,部分与部分的关系;研究系统构成的方法学;提倡多角度研究系统。其次,从学科地位讲,作为一门独立软件子学科,和硬件学科(计算机组织与体系结构)直接对应。从工程实践需要看,软件架构更能体现系统构成与相关技术。RUP过程或软件生产线关注的软件架构并不注重原理及表示,而是由结构和技术相结合的形成框架。软件架构在中文中很容易与软件框架(Software Framework)混淆,对于一个应用的软件框架通常称为应用程序框架(Application Framework)。框架是为了构建完整的应用而必须详细阐述的一种程序结构[Johnson-88]。框架在RUP和软件产品线开发过程中是一个非常重要的过程。RUP中框架是细化阶段的一个制品,软件产品生产线中是一组应用共享的程序框架。目前,没有文献表明软件体系结构与软件架构的差别。如果你强调方法论,应使用软件体系结构。强调软件开发实践,应使用软件架构。 [IEEE-2000] IEEE 1471-2000, IEEE Recommended Practice for Architectural Descriptions of Software Intensive Systems[字典-2001] 新华词典,2001年修订版. 商务印书社 2005 北京[Johnson-88] Ralph E.Johnson & Brian Foote. Designing reusable classes. Journal of Object-Oriented Programming 1,3(June/July 1988),22-35 
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告