架构可看做两个过程:
架构定义及架构实现
架构定义:
非功能需求管理
性能,质量,安全性等等。
非功能需求也需要量化,要实现的非功能需求需要可度量,可实现,可测试。
获取非功能需求的路径:
假定非功能需求
获取,精炼,定义非功能需求
软件架构定义
考虑需求和限制
架构定义的来源:
重新定义一个架构
在已有架构上添加组件
技术选择
技术适合性
新技术开发
技术风险:成本,许可,兼容,升级,支持等等
软件架构评估
提供可测试架构,迭代测试架构
架构合作
架构所涉及人员都参与到架构中,并为架构紧密协作
架构过程和关键设计形成文档用于交流
架构实现:
把握全局
不只是将架构传递给执行团队,要在全局中参与架构实现,持续发展并改进架构
领导力
考虑并保证架构实现的各个细节,保证实现架构方向的正确
技术指导
架构实现的过程是开发团队与个人工作过程,也是团队和个人提升的过程,适合的经验交流和专业方面的技术指导有利于架构的实现。
质量控制
架构是否成功取决于最后的质量,在架构实现过程中阶段性,模块性的控制质量是必要的,设置架构实现的标准来保证质量。
设计,开发,测试
架构师不单单是做完架构了事,架构的实现也要全程参与,加入实际的设计开发和测试是参与架构实现最深入方式,架构师通过承担部分模块的实现,在实现过程中可以及时和其它模块交流,把握架构实现的程度和方向。
原文链接 http://www.infoq.com/articles/brown-are-you-a-software-architect