【总结】第一周架构师如何做架构
重点
l 架构是给谁做
第一周通过学习,理解做架构的重点在于要知道这个架构是给谁做,是给老板,给高级开发或者开发新手,对不同的相关方,他们的关注点是不同的。
针对不同的相关方的不同关注点,架构师的输出也是不同的。对老板,可能关注系统构成的核心服务器及成本,不要太深入细节,要重点突出。
对于高级开发人员,可以只做出主要核心架构,其他细节高级开发人员自己去完善补充。
而对于初级开发人员,可能需要把类名,方法名都定义好,他们完全按照设计来开发写代码。
对于实施来说,可能就是服务器,网络等的系统构成图。
所以总结来说就是对于不同的相关方,他们的架构视图也不同,这样才能有的放矢,相关方才能看懂你的设计。
推而广之,很多工作也是这样,尤其是架构师这个层级,不能把工作当工作,机械地完成工作,而不看效果。
l 什么是架构
架构是系统组成的完整抽象,由架构元素和元素之间的关系构成。他的输出的针对不同相关方的架构视图,体现相关方的不同关注点。
如何做架构文档
l 用UML来做架构文档,工具不重要
l 用例图
系统做什么,动宾短语就是功能,actor是角色。角色使用功能。需求分析阶段使用,要注意用例分析到哪个粒度,这就涉及到文档的相关方的问题。重要的用例可以细化,但是要注意粒度。
方框是边界,联系是使用关系。
一般在需求分析阶段
l 类图
系统的构成部分,类之间的6种关系。依赖,关联,继承,实现,组成,聚合。
关联是强依赖,依赖可以认为是方法变量,关联是类变量。B继承A,意味着B是A,B实现A意味着B有A的功能;组成,聚合主要差别在生命周期,组成部分的生命周期是一样的,整体消亡,组成部分也消亡。聚合的整体和组成部分的生命周期可以不同。
每个阶段都可以用,需求分析,概要,详细
l 时序图
组件之间的消息调用,消息分为简单,同步,异步。同步消息就是类之间的函数调用,一定有返回值。异步消息是系统间的。
l 活动图
流程图加上领域泳道,描述完成一个活动做什么,何时发生,何处发生等
l 状态图
椭圆是状态,连线是状态迁移的条件。典型如描述订单状态等
l 协作图
没有时序的时序图,一般不用
l 组件图
各个阶段都使用。概要阶段可以是部署图,开发阶段可以是jar,dll等组件。联系是组件之间的调用关系。
评论