软件架构
定义:架构是系统的骨架,直接影响质量,约束整个系统
关注内容:软件元素,元素的相互关系,各种属性
需要场景:小的解空间(难度),高失败风险,质量属性,全新领域,产品线
架构类型:推定架构(行业参考) 参考架构
架构现状:无架构,选择架构,研发架构
架构分类:企业架构(基础架构),应用架构
风险驱动模型
步骤:识别风险制定优先级,选择技术改机,评估降低到特定程度
风险预估:失败概率*失败的影响
架构的度:为架构付出的努力与失败的风险相称
展开方式:演进式架构(边开发边架构),计划式架构(先规划后开发),最小化架构.方式取决于团队与系统
架构投入:小项目%5时间,大项目30%,特大项目40%时间
概念模型
概述
领域模型特点:领域模型,不可控,不变的事实
设计模型:边界模型(接口承诺),内部模型(内部实现)
代码模型:设计的实现
任何模型都有主模型:所有细节与主模型一致
领域模型
别名:概念模型,概要模型,抽象模型,表达领域细节
辅助手段:概念列表和定义
与设计模型关系:不涉及系统,与设计模型分离
具体说明:功能场景描述
设计模型
注意事项:不可能全面描述,用视图,封装,嵌套多角度说明
边界模型:系统的行为,系统与外部交互的数据,以及系统的质量属性,不考虑细节
内部模型:细节实现
软件模型
现实实际映射模型,模型内设计,应用到现实世界
抽象规模和复杂度,提供出洞察力和解决手段
分析质量,忽略细节,增强推理
理解模型,编写模型,增强推理
提问在前,解决在后:首先明白解决哪些问题,用哪些手段,每个手段优劣