互联网架构师成长笔记001--怎么做架构
方法/步骤
-
架构师的三个层次
一级:详细设计,基于开发架构视角
一般是基于现有系统或者框架,做升级改造,满足客户需求;初级架构和高级开发人员。
二级:概要设计,基于系统架构视角
一般是从头开始设计单一复杂的大型系统,需要考虑系统的方方面面;有经验的架构师。
三级:顶层设计,基于企业架构视角
一般是从企业角度,整体考虑整体的解决方案与各个业务系统的拆分。如城市规划,偏甲方,大型系统架构师。
-
架构解决常用的入手方案:
1)结构分析,拆分三个维度:
1,深度,纵向,分层拆分;
2,广度,横向,业务拆分;
3,专通拆分,提前通用模块,放入基础平台维护,以便以后扩展与复用。
产生初级架构,供标书,甲乙两方领导及相关人员理解项目目标及解决方案。
2)行为分析,基于应用场景,串联功能模块:
基于不同用户视图,梳理业务流程与功能。
如管理员视角,用户视角,运维人员视角等等。
3)优化,通过质疑(考虑功能和非功能要求),优化架构设计。
考虑各种情况,处理完善系统。
步骤2,3是顺序执行的,20%的精力2,80%的精力3.
2,3产生架构核心设计成果:
五视图:逻辑视图,运行视图,用例视图,物理视图,数据视图。
-
架构实践的方法
一,需求 需求是架构的基础,如何做需求
UML设计,工具EA,Rose,PD等。
需求的采集方式:
用户代表访谈,问卷调查,原型法,需求研讨会,头脑风暴,学徒法,同类案例分析。
接到项目要求后,通用的有效处理方式:
1,同类案例分析,首先了解业务;
2,邮件,约甲方直接领导负责人等,会议室了解项目具体情况,邮件里附带谈话大纲,成功案例,建议,公司优势等。
3,通过会议了解明显性需求,隐藏性需求,需求不明确点。
五维三级需求管理法:
-
二 界定产品范围
根据用户的需求与资金,工期等,灵活的制定不同程度的解决方案,决定需求的自动化程度。
比如电商项目: 1万,静态页,只有产品与销售电话,电话笔记销售与送货;
10万,简单的商品配置与订单在线处理与销售发货;
100万,带智能分析与推送的电商系统。
架构还要关注需求的约束,根据需求详细度确定开发方法。
-
三 细化详细需求
描述项说明:
-
功能级需求模板:
-
四,根据需求生成设计
应用UML的状态图、活动图、时序图、通讯图、交互概览图等需求图表话。
常用如下: 活动图适合人机交互类需求
状态图适合嵌入式类开发需求
时序图适合集成项目类需求等