随着软件组件化开发方式的发展,如何在设计阶段对软件系统进行抽象,获取系统蓝图以支持系统开发中的决策成为迫切而现实的问题,分析问题的根源和产生的原因,以下现象应该获得关注:
- 软件复杂、易变,其行为特征难以预见,软件开发过程中需求和设计之间缺乏有效的转换,导致软件开发过程困难和不可控。
- 随着软件系统的规模越来越大、越来越大复杂,整个系统的结构和规格说明就显得越来越大重要。
- 对于大规模的复杂软件系统,相较于对计算算法和数据结构的选择,系统的整体结构设计和规格说明已经变得明显重要得多。
- 对软件系统结构的深入研究将会成为提高软件生产率和解决软件维护问题的最优系统的新途径。
在这种情况下,软件架构应运而生。