软件架构的条件(architecture prerequisite)
2016-03-26 00:34
260 查看
软件架构(software architecture)是软件设计的高层部分,是用于支撑更细节的设计的框架。架构也称为“系统架构(system architecture)”、“高层设计(high-level design)”、“顶层设计(top-level design)”。通常会用一份独立的文档描述架构,这份文档称为“架构规格书(architecture specification)”或者“顶层设计”。
为什么要把架构作为前期准备呢?因为架构的质量决定了系统的“概念完整性”。后者继而决定了系统的最终质量。一个经过慎重考虑的架构为“从顶层设计到底层维护系统的概念完整性”提供了必备的结构和体系,它为程序员提供了指引-其细节程度与程序员的技能和手边的工作相配。它将工作分为几个部分,使多个开发者或者开发团队可以独立工作。
好的机构使得构建活动变得更容易。糟糕的架构则使构建活动几乎寸步难行。
在构建期间或者更晚的时候进行架构变更,代价也是高昂的。修复软件架构中的错误所需的时间与修复需求错误所需的时间处于同一数量级,多于修复编码错误所需的时间。架构变更如同需求变更一样,看起来一个很小的改动,影响也许是非常深远的。无论为了修正错误还是改进设计而引发的架构变更,越早识别出变更越好。
为什么要把架构作为前期准备呢?因为架构的质量决定了系统的“概念完整性”。后者继而决定了系统的最终质量。一个经过慎重考虑的架构为“从顶层设计到底层维护系统的概念完整性”提供了必备的结构和体系,它为程序员提供了指引-其细节程度与程序员的技能和手边的工作相配。它将工作分为几个部分,使多个开发者或者开发团队可以独立工作。
好的机构使得构建活动变得更容易。糟糕的架构则使构建活动几乎寸步难行。
在构建期间或者更晚的时候进行架构变更,代价也是高昂的。修复软件架构中的错误所需的时间与修复需求错误所需的时间处于同一数量级,多于修复编码错误所需的时间。架构变更如同需求变更一样,看起来一个很小的改动,影响也许是非常深远的。无论为了修正错误还是改进设计而引发的架构变更,越早识别出变更越好。
相关文章推荐
- 架构纵横谈之二 ---- 架构的模式与要点
- BS项目中的CSS架构_仅加载自己需要的CSS
- 关于三种主流WEB架构的思考
- Android操作系统的架构设计分析
- w3c技术架构介绍
- linux学习笔记 linux目录架构
- 天涯(tianya)bbs系统架构分析
- mysql数据库应付大流量网站的的3种架构扩展方式介绍
- 从零开始搭建MySQL MMM架构
- C/S和B/S两种架构的概念、区别和联系
- 限时抢购秒杀系统架构分析与实战
- Android App的运行环境及Android系统架构概览
- 关于”12306 外包给阿里巴巴做是否可行“的问题的想法
- 也谈淘点点60s短信订单的架构设计
- android技术内幕心得
- 谈谈MVC与微信
- SequoiaDB 笔记
- Web服务器Nginx多方位优化策略
- 面试:(设计,架构)
- 十日谈