论文部分内容阅读
软件体系结构(Software Architecture,简称SA)自提出以来,日益受到软件研究者和实践者的关注,并发展成为软件工程的一个重要的研究领域[1]。软件体系结构描述语言ADL(Architecture Description Language)是软件体系结构研究的核心问题。软件体系结构是以软件系统作为相互作用的构件的组合,一个典型的结构包括一组构件,构件之间的连接和构件之间如何交互的约束。用软件体系结构描述语言(ADL)来描述结构可以使设计更加精确,更满足需求,此外还对程序的理解,实现,开发和重用都有帮助[2]。然而已有的ADL,与实现语言分离,允许结构和实现之间的不一致性,这就引起了软件系统的分析、实现、理解、开发各方面的问题。有些ADL和CASE工具连接用不同的语言实现的构件,但是,这些语言多是依靠开发人员来服从指导风格,不能保证实现代码服从结构上的约束,从而导致实现与结构不一致,导致混乱,阻碍软件开发。为了填补高层软件体系结构和底层实现之间的鸿沟,研究者们提出了在设计阶段引入实现阶段的概念,即在ADL中引入与实现相关的元素。Jonathan Aldrich等人[74]提出了一种新型的体系结构描述语言ArchJava[2]。Archjava是一种可实现的软件体系结构描述语言,它是Java语言的扩展,在Java语言中增加了构件、连接子、端口等元素用于描述软件体系结构。它将软件架构与实现完美的统一起来,确保实现符合架构的限制,支持结构和实现共同开发。本文研究了软件体系结构和软件体系结构描述语言的相关概念,研究了一种新的软件体系结构描述语言Archjava,并将它应用到办公自动化系统OA中,同时在实现过程中论述了spring技术对Archjava编程的支持。本文的主要创新点有:1.将软件体系结构思想引入系统的设计与建模阶段,并采用Archjava实现办公自动化系统;2.在系统开发过程中,使用Spring技术支持Archjava中的构件定义和构件的配置组装。