软件架构

图1:UML类图显示了结构元素

一个架构定义行为

与定义结构元素一样,架构定义了这些结构元素的相互作用。这些作用可以实现所期望的系统行为。 图2展示了允许系统支持在顺序进程系统中的次序定义的UML顺序图。在这里我们能看到五个交互作用。第一,Sales Clerk使用OrderEntry类创建了一个顺序。OrderEntry使得客户得到使用CustomerManagement类的细节。然后OrderEntry使用 AccountManagement类创建一个次序,用次序条目构建顺序。

图3:不同领域的范围

图3展示的元素有:

  • 软件架构——这篇文章主要的关注点。
  • 硬件架构——包括CPU, 内存,硬盘,周边设备例如打印机,与连接这些元素的部分。
  • 组织架构——是一些关于商业进程,组织结构,规则和职责,与组织核心能力的部分。
  • 信息架构——包含组织好的信息结构。
  • 软件架构,硬件架构,组织架构和信息架构是全部系统架构的子结构。
  • 企业架构,与系统架构很相似,包括硬件,软件,人员等。但是,企业架构与商业有很强的联系,因为它专注于商业对象的联系,专注于商业敏捷性和组织效率。企业架构可能穿插于公司间。

正像人们期盼的那样,有相应形式的架构师(例如软硬件架构师等)和架构(例如,软硬件架构等)。

现在我们已浏览过这些定义了,但还有很多未回答的问题。企业架构与系统架构间有什么不同个企业是一个系统息架构与数据集成软件应用中的数据架构是一样的幸的是,没有对这些问题的一致的答案。

对现在来说,你会意识到这些不同,但是产业界不存在对这些内容的一致定义。因此,对你的建议只是选择那些与你的组成相似的形式并且合适的定义他们。至少你会获得某些一致性,并减少错误传达的可能。

总结

这篇文章关注于定义软件架构的核心特性。但是,仍然有很多未被解答的问题。什么是软件架构师的角色构师最重要的活动是什么“建立架构”中能得到什么好处些问题将在后续文章中被解答。

感谢

注释

1 软件工程研究所(SEI)架构Web站点 -- 架构定义,提供了一个好的例子。参见 http://www.sei.cmu.edu/architecture/definitions.html

2 IEEE Computer Society,强软件系统的架构描述的IEEE推荐实践:IEEE 标准 1472000,2000。

3 对象管理组织,UML 2.0 结构规格说明:文档 03-09-15。2003年九月。

4 Philippe Kruchten,Rational统一过程:介绍,第三版。Addison-Wesley Professional 2003。

5 Len Bass,Paul Clements 和 Rick Kazman,软件架构实践,第二版。Addison Wesley 2003。

6 对象管理组织,OMG 统一建模语言规格 1.5版,文档 03-03-01。2003年三月。

7 James McGovern等,企业架构的实践指南。Prentice Hall 2004

8 一个在本系列的后续文章中所涵盖的角色。

9 Mary Shaw 和 David Garlan,软件架构 — 关于一个正在形成的学科的观察。 Prentice Hall 1996,

10 Grady Booch,James Rumbaugh 和 Ivar Jacobson,统一建模语言用户指南。Addison Wesley 1999。

11 Bass 等,前面引用的书。

12 IEEE Computer Society,IEEE 信息技术标准 --软件生命周期过程。IEEE 标准 12207-1995。

13 Murray Cantor,“系统工程的Rational统一过程”。The Rational Edge,2003年八月。 http://public.dhe.ibm.com/software/dw/rationaledge/aug03/f_rupse_mc.pdf

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2014年9月16日
下一篇 2014年9月16日

相关推荐