论文部分内容阅读
由于现实世界是变化多端的,技术的发展也是日新月异,一个软件产品如何适应环境、需求的变化,日益成为人们关注的课题。
对于企业应用来说,在激烈的市场竞争中,业务过程要不断的改进、优化,甚至重组。而软件系统作为企业竞争力的重要一环,必须紧跟这种变化。正是在这种背景下,软件进化的研究得到了广泛的重视,并对软件生命周期、软件开发模式、软件开发工具等产生了深远的影响。
在结构化程序设计时代,软件的规模不大,通过自顶向下、逐步求精的方法就可以得到结构良好的软件。然而当今的软件系统规模愈来愈大,复杂度愈来愈高,特别是面向对象技术和构件技术的出现,将软件体系结构的研究推向了一个新阶段。在考虑到软件系统的重用性、扩展性、可靠性等关键性能的时候,软件体系结构就愈发显得重要。体系结构的好坏直接影响着软件的性能,包括可进化性等。
软件进化和软件体系结构是软件系统的两个侧面:前者是一个“时间”的概念,后者是一个“空间”的概念,两者截然不同但又相互联系。有研究表明,软件进化时,其体系结构应该而且能够保持相对稳定。所以,在设计时就要充分考虑到进化的要求,选择一个易扩展的体系结构。
本文就软件进化的概念、一般规律、基于软件进化的生命周期模型、软件体系结构的概念、体系结构风格、体系结构描述语言、体系结构在软件进化过程中的作用作了阐述。并结合实际项目,对基于体系结构的软件进化的应用进行了剖析。