软件架构对新产品开发、产品线开发、软件维护以及软件升级都有很重要的作用。
软件架构对新产品开发的作用:软件架构是沟通现实世界和计算机世界的一座桥。
1. 上乘业务目标。软件架构担负着为完成业务目标而进行大局规划的职责。
2. 下接技术决策。将面向业务的需求转向面向技术的软件架构设计方案,为后面的技术开发工作提供切实的指导和限制。
3. 控制复杂性。基于‘分而治之’的思想,控制问题的复杂性。
4. 组织开发。
5. 利用迭代开发和增量交付。
6. 提高质量。
软件架构对软件产品线开发的作用
1. 固化核心知识。
2. 提供可重用资产。
3. 缩短推出产品周期。
4. 降低开发和维护总成本。
5. 提高产品质量。
6. 支持批量定制。
什么是软件产品线架构:针对一个公司或者组织内部一系列产品而设计的通用架构。这一系列产品具有很多相似性,从而它们可以共享同一个架构和部分具体实现,提高生产率。
软件产品线架构的特点
1. 必须考虑一系列明确许可的变化。
2. 一定要文档化。
3. 必须提供‘产品创建者指南’,描述架构的实例化过程。
软件架构对软件维护的作用
维护工作的两个来源:Bug和需求变更。
一个Bug的修复或者一个新功能的增加,往往涉及架构中的一条‘模块协作链’,因此谅解架构将有利于维护工作;反之,不了解架构而盲目修改程序,可能违背架构设计的思路,使整个系统的架构慢慢变得混乱,并可能引发出其他莫名其妙的Bug和问题。
软件架构对软件升级的作用
软件架构对这对软件系统不断修改,也需要进行重构,在以下两种情况,需要进行重构:
1. 架构太混乱,以致进行一个小的改动都会牵动全身。
2. 将要进行的软件升级力度很大,原先的架构已不再适应新的需求。
软件架构重构属于‘再工程’的一种情况,一般会经过逆向工程、重新规划和正向工程3个步骤。
参考文献:
《软件架构设计》 温昱