arch

程序员必读之软件架构-笔记

架构的驱动力(影响最终软件架构的重要事情)包括下面这些:功能需求:需求驱动架构。不管怎么捕捉和记录需求(比如,用户故事、用例、需求规格书、验收测试等),你都要大概知道你在构建什么。质量属性:非功能需求(比如,性能、可扩展性、安全等)通常是技术方面的,也很难改造。理论上,这些都需要体现在初始的设计中,忽视这些属性会导致软件系统要么做得不够,要么做得太过。约束:约束普遍存在于现