阅读笔记一线架构师实践指南03

  架构设计不是纯粹的技术问题,是要面临对技术与业务的关系问题,最终,要求架构师不仅懂技术,懂业务,而且能理顺复杂的技术与业务之间的关系。架构设计就是要完成从面向业务到面向技术的转换,在鸿沟上架起一座桥梁,所以架构师必须懂需求,不用像需求分析师那样懂各种需求技术,但需求类型、需求影响架构的原理、质量属性间的相互影响关系等都是必须精通的。需求=功能需求+非功能需求,架构师应该同时关注两方面的需求,而且对质量的理解不应仅限于《ISO 9126》标准,有的时候在一定程度上必然要对之进行调整,扩充以适应实践要求。

  在寻找质量属性需求的时候,我们常常会觉得,软件的质量属性需求很飘,常常难以把握,文章中给出了解决办法,利用场景技术为核心手段,以目标-场景-决策表为思维工具,致力于支撑非功能目标的理性设计过程。通过研究开发、维护。使用、变更等环节可能遇到的情况,不断发现场景,评估场景,做出决策,但是要注意避免过度设计,引入很多抽象和机制是不必要的,通过权衡场景发生的几率,支持场景带来的价值,遗漏的代价等因素,来理性决定是否应支持该场景。非功能目标的考虑是纵穿架构设计始终的环节,非功能需求支持是否到位,关键要靠场景思维的运用。场景包含5要素,影响来源(来自系统外部或系统内部的触发因素),如何影响(影响来源施加了什么影响),受影响对象(默认为本系统),问题或价值(受影响对象因此出现什么问题或者需要体现什么价值),所处环境(可选因素),通过目标-决策-场景将思考过程形象化,可视化,会帮助我们有效促进架构设计思路。