欢迎来到天天文库
浏览记录
ID:11393530
大小:42.50 KB
页数:11页
时间:2018-07-11
《什么是软件架构?》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、中国[选择]使用条款dW全部内容-----------------AIXandUNIXInformationmanagementLotusRationalWebSphere-----------------ArchitectureGridcomputingJava技术LinuxMulticoreaccelerationOpensourceSecuritySOA&WebservicesWebdevelopmentXML-----------------IBM全部内容首页产品服务与解决方案支持与下载个性化服务developerWorks中国本文内容
2、包括:定义的架构一个架构定义结构一个架构定义行为一个架构关注于重要元素一个架构可以平衡涉众需求一个架构基于基本原理体现决策一个架构可以符合一个架构样式一个架构被其环境所影响一个架构影响团队结构一个架构呈现在每一个系统中一个架构拥有一个特定的范围总结感谢注释参考资料关于作者对本文的评价相关链接:Rational技术文档库TheRationalEdgedeveloperWorks中国>Rational>什么是软件架构?文档选项将此页作为电子邮件发送级别:初级PeterEeles,高级IT架构师,IBM2006年4月15日本文来自于RationalE
3、dge:这篇关于软件架构的较新规则的介绍,是一个关于“架构”的四篇系列文章的的第一篇。作者以定义规则的关键术语开始,继续探索设计出色的架构对于架构所部署的环境所起的作用。我们毫不怀疑世界正变得越来越依靠软件。软件是诸如无处不在的手机,和复杂的空中控制系统的核心元素。事实上,如果没有软件,例如eBay和Amazon等我们理所当然认为是创新的企业将不可能存在。甚至那些金融业,零售业和公共部门等传统行业也相当的依赖于软件。在当今的时代,某种程度上,我们很难发现一个企业完全与软件不相关。高新企业为了生存,因此他们所依靠的软件必须能提供其所需的功能;所需
4、的高质量;所承诺的可用性,和可接受的价格。这篇文章的主题就是关于可以影响这些属性的软件架构。我所关注的是“强软件系统”,在IEEE中定义如下:一个软件集成系统就是软件对于设计,构建,配置和整个系统的发展具有深入影响的系统[来自IEEE1471,"架构的定义"部分]在本文中,“架构”与“软件架构”是相同的含义。虽然这篇文章关注于软件集成系统,但是应该注意,软件集成系统仍然需要硬件来运行,并且诸如可靠性和性能等品质是通过软硬件的结合实现的。所以解决方案中的硬件部分不能被忽略。文中后面将更详细的讨论这部分内容。定义的架构我们对于“架构”的定义没有缺陷
5、。甚至存在支持定义集的网站。1文中的定义来自IEEE标准1472000,IEEE对强软件系统的架构描述的推荐实践,参见IEEE1471。2定义如下,其中重要部分用粗体字表示。架构是在组件,彼此间和与环境间的关系,引导设计发展原则中体现的系统的基本结构。[IEEE1471]这些标准还定义了以下相关概念:系统是为实现某个(些)特殊作用的组件的集合。专用系统包括个人应用,传统概念上的系统,子系统,系统中的系统,产品线,产品系列,整个企业和其他利益集团。一个系统是为了实现一个或多个任务而存在。[IEEE1471]环境决定了开发,操作,策略和其他影响系统
6、的设置和条件。[IEEE1471]任务是指系统为了实现对对象设置的使用或操作。[IEEE1471]涉众是对于系统有利益关系或关注的个人,团队或组织。[IEEE1471]正如我们所见,“组件”贯穿于这些定义。正如有意留下一个模糊的概念来解释,大部分架构定义没有提到“组件”,IEEE1471也不例外。组件也许是逻辑上的或物理存在的,技术上独立的或特定的,规模大的或规模小的。由于文章的原因,我使用了UML2.0规范的组件定义;并且我相当宽松的使用这个概念来包含各种所遇到的架构成分,包括了对象,技术组件(例如EnterpriseJavaBean),服务
7、,程序模块,遗留系统,包应用程序等。这些是UML2.0中对“组件”的定义:[组件]是包括内容的系统模型部分,且它的显示是可替换的。组件定义了所需接口的行为。例如,组件类似类型(type),它与所需接口行为一致。(包括静态和动态语义)3这里的定义包括了多种不同的概念,文中后面将有更详细的介绍。虽然工业界对于“架构”的概念没有普遍的共识,但是有必要考虑一些其他的定义使得他们可以被遵照。参照一下下面的定义,重点处我已经用粗体表示。架构是对软件系统组织,结构部分和系统包含接口的选择,集合部分的特定行为,较大子系统部分的构成和架构风格的重大决定的设置。[
8、Kruchten]4系统或计算系统的软件架构是包含软件部分,外部可见特性部分,和他们之间的关系的系统的结构。[Bassetal.]5[架构]是系统的组
此文档下载收益归作者所有