软件体系结构与软件架构的中文翻译都是英文 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

软件体系结构与软件架构解析相关推荐

  1. 软件架构(软件体系结构)-设计原则篇(七大设计原则)

    软件架构(软件体系结构)-设计原则篇(七大设计原则) 1.软件架构设计原则概述 1.1.软件的可维护性 1.软件的维护 一个好的软件设计可维护性较好的系统,必须能够允许新的设计要求很容易地加入到已有的 ...

  2. 软件体系结构期末复习

    软件体系结构期末复习 标签(空格分隔): 未分类 回顾课本和TTP课件 内容总概 章节回顾 第1章.软件体系结构概论 0.软件体系结构的发展过程经历了四个阶段: (1)无体系结构阶段.(2)萌芽阶段. ...

  3. 第23节 软件构件技术和软件体系结构

    软件构件技术和软件体系结构 1[单项选择题]( )不是活动历时估算依据. A项目范围说明书 B活动资源需求 C组织过程资产 D项目进度计划 [参考答案]D [题目解析]活动历时估算的依据有:活动清单. ...

  4. 软件体系结构1~5章知识点整理

    欢迎大家进入我们的个人博客网站一起交流讨论.http://codeingshuang.com 目录 绪论 第一章 软件工程和软件设计概述 第二章 软件模型和描述 第三章 软件体系结构建模和UML 第四 ...

  5. 软件体系结构复习资料

    软件危机表现和原因: 软件成本日益增长:开发进度难以控制:软件质量差:软件维护困难: 原因:用户需求不明确:缺乏正确理论指导:软件规模越来越大:软件复杂度越来越高: 构件概念.主要模型.三大分类方法: ...

  6. 【系统分析师之路】第十三章 软件体系结构

    [系统分析师之路]第十三章 软件体系结构 软件架构这章节主要的考点有:软件架构的概念,4+1视图,五种软件架构风格(数据流,调用返回,虚拟机,构件,仓库),2层3层CS架构,BS架构,产品线,中间件, ...

  7. 软件体系结构张友生第三版期末复习

    第一章 1.软件危机的表现 和软件危机的成因? 软件危机 1.软件成本日益增长2.开发进度难以控制 3.软件质量差4.软件维护困难 产生原因 1.用户需求不明确2.缺乏正确的理论指导 3.软件规模越来 ...

  8. 软件体系结构的风格(转载)

    在上两篇文章中,我们介绍了软件体系结构的概念.现状及发展方向,读者可能会觉得"软件体系结构太抽象.太理论化,没有什么实际的东西".然而,任何实践都必须接受理论的指导,如果抛弃理论基 ...

  9. 【note】《软件体系结构》知识整理(1-5章)

    第 1 章 软件体系结构概论 1.1 从软件危机谈起 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题 1.1.1 软件危机的表现 软件成本日益增长 开发进度难以控制 软件质量差 软件 ...

最新文章

  1. 你的微笑,拂过我的心海
  2. 短短6小时,AI设计出40000种毒气分子,很多毒性远超战用神经毒剂
  3. 一个有意思的项目,快上车!
  4. APUE读书笔记-14高级输入输出-06异步IO
  5. linux ajp集群,Linux下apache tomcat ajp_proxy 负载均衡+集群+session 复制
  6. 【oracle】日期加减计算
  7. 3-6-汉诺塔(Hanoi Tower)问题-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版...
  8. 子网掩码、最大主机、最大子网数的计算
  9. C++之string的底层真的是用char数组来实现的么?
  10. php无人点餐,东营_无人餐厅来了! 自助点餐、自动上菜 , 没有一个服务员!_胜利社区_东营论坛_油城茶座...
  11. `Shell`高级编程 Day02 —— Shell脚本初步入门
  12. 超详细带你用Java实现QQ的聊天功能
  13. Python调用QQ截图工具
  14. matlab 冒泡排序函数,MATLAB实现冒泡排序算法
  15. PCB设计培训,Layout工程师培训,射频基带技术培训,硬件技术培训,驱动开发培训
  16. 使用lua脚本开发wow插件(魔兽世界插件开发)
  17. mysql索引,索引结构,索引类型,索引失效
  18. 如何转行做数据分析师?
  19. BouncyCastle使用
  20. ios真机测试,Ineligible Devices,不可以选中真机

热门文章

  1. jQuery使用ajaxSubmit()提交表单
  2. 主动触控笔_如何自定义表面笔触控笔
  3. 台达DOP系列触摸屏与电脑通讯不上时,如何进入系统设置画面修改系统设置从而正常通讯?
  4. rem,em,px,rpx等
  5. 知识图谱本体建模之RDF、RDFS、OWL详解
  6. PPT形状的多种玩法
  7. PowerBi - TopN+帕累托
  8. for循环语句执行顺序
  9. 基于Flutter的仿微信聊天应用
  10. EchartsY轴刻度自适应