第 1 周 架构方法 浮皮潦草之总结
没有深度(就)没有广度
没有深度,再有广度也是浮皮潦草;
在少数领域钻研深度,拓展其他领域时即可触类旁通,以达到先深再广;
表达与沟通也是工作内容之一
不同相关方,有不同关注点;
协调各方关系;
准确的传递信息给能听懂的相关方(开发工程师);
花里胡哨的传递信息给听不懂的相关方(项目经理,你滴老板,客户);
往往有时候需要听不懂的人的支持;
不可或缺的建模
模型是对业务领域/系统设计的抽象,称之为领域模型/设计模型;
模型是一个系统的完整抽象;
开发计算机系统为了解决领域问题,问题求解的过程,即为领域问题到计算机系统的映射;
梳理领域中的关键点,关键关系,并将它们用模型表达出来;
通过建造出的模型,进行分析评估评审,交流讨论沟通,指导开发过程,保存设计成果;
模型成本远远低于实物;
4+1架构视图(然而并不用)
逻辑视图 Logical View
过程视图 Process View
物理视图 Physical View
开发视图 Development View
场景视图 Scenarios
UML是一种表达方式(一般用这个)
单一视图,或者说是单一角度单一维度不足以清晰表达设计意图;
通过多角度多维度的描述(视图),尽可能把设计意图准确传递给相关方,乃软件设计领域之纳克立方体;
UML目的与价值是传递信息,繁文缛节并非其本质;
静态图
用例图 Use Case Diagrams
对象图 Object Diagrams
类图 Class Diagrams
组件图 Component Diagrams
包图 Package Diagrams
部署图 Deployment Diagrams
静态图通过描述类,对象,数据结构以及它们之间存在的关系,来描述软件要素中不变的逻辑结构;
动态图
协作图(没有时序的时序图)Collaboration Diagrams
序列图(时序图)Sequence Diagrams
活动图(泳道图)Activity Diagrams
状态图 State Diagrams
动态图通过描述执行流程或者实体状态变化的方式,来描述软件实体在执行过程中的变化过程;
构图方式之我见
自上而下,逐渐细化
版权声明: 本文为 InfoQ 作者【Pyr0man1ac】的原创文章。
原文链接:【http://xie.infoq.cn/article/86bb566022adf14174c56ce7f】。未经作者许可,禁止转载。
评论