ITIT系统架构概述系统架构概述一、系统架构概述(一)开发过程与项目周期(一)开发过程与项目周期(二)系统架构与架构师(三)系统架构师在项目组中的角色定位(四)架构师认证概述(五)架构设计体系介绍项目生命期及软件生命周期模型项目生命期确定需求项目选择项目设计项目评估项目总结启动阶段计划阶段实施阶段收尾阶段新的项目设想项目论证进度安排成本预算验收标准项目控制项目开发项目测试项目生命期及软件生命周期模型–可行性分析与计划–需求分析–系统设计–系统编码–测试–运行维护瀑布生命周期模型瀑布生命周期模型项目生命期及软件生命周期模型螺旋螺旋生命生命周期周期模型模型项目生命期及软件生命周期模型增量生命周期模型增量生命周期模型一、系统架构概述(一)开发过程与项目周期(二)系统架构与架构师(二)系统架构与架构师(三)系统架构师在项目组中的角色定位(四)架构师认证概述(五)架构设计体系介绍起因:17世纪20年代,瑞典和波兰交战。瑞典国王下令建造巨型战舰—瓦萨战舰。要求:舰长70m,载员300人,两层甲板装载64门重炮设计师:henrik大师考虑因素:工期、性能、功能、安全性、可靠性、造价等。实现方法:先按单层炮舰设计,再扩充为双层。结果:试航礼炮未放完,离岸10多分钟就翻入水中沉没了。分析原因:比例严重失调(构架存在问题)说明问题:?◇软件系统构架系统架构的定义Bass,Celments,andKazmanSoftwareArchitectureinPractice,Addison-Wesley2003“一个程序或计算系统的软件构架是指该系统的一个或多个结构,它由软件组件,这些组件的外部可见特性以及这些元素之间的关系组成。”外部可见特性指其他元素对该元素所做的各种假设构架定义了软件元素系统可能而且确实由多个结构组成系统架构系统架构师的定位•系统架构师的职责:1、理解系统的业务需求,制定系统的整体框架(包括:技术框架和业务框架)2、对系统框架相关技术和业务进行培训,指导开发人员开发。并解决系统开发、运行中出现的各种问题。•系统架构师的目的:对系统的重用、扩展、安全、性能、伸缩性、简洁等做系统级的把握。•系统架构师能力要求:1、系统架构相关的知识和经验。2、很强的自学能力、分析能力、解决问题的能力。3、写作、沟通表达、培训。14架构师这个称呼不是拍脑袋想出来的,是有国际标准(ISO/IEC42010)可查的。架构师是软件开发活动中的众多角色之一,它可能是一个人、一个小组,也可能是一个团队。微软对架构师有一个分类参考,我们参考一下,他们把架构师分为4种:企业架构师EA(EnterpriseArchitect)、基础结构架构师IA(InfrastructureArchitect)、特定技术架构TSA(Technology-SpecificArchitect)和解决方案架构师SA(SolutionArchitect)。◇软件架构师系统架构师在干什么?•思考、思考、再思考–深入理解、准确把握建设的业务需求–分析所有可见的问题、障碍、风险–充分参考已有的成功方案,降低风险•交流、讨论、博弈、质疑–对构思中的方案不断提出质疑,避免漏洞–广泛听取各层面的意见,开拓思路–反复质疑、逐步完善已有的设计构思•在动手实现之前,验证设计方案的正确性16系统架构师的思维方式•基于框架的思维–架构设计的层次(Enterprise,Application,etc)–IT的生命周期(What,Why,Where,How,When,etc)–成功经验以及方法论的指导•合理把握技术细节–把握各个层次应有的内容–合理忽略不应有的技术细节17软件架构师的思维方式•风险管理意识–采用成功经验、避免不应有的风险•多方位的开放思维–多维度、多方向、包容性、避免排他性–分析、质疑、抽象、归纳–没有绝对好的架构设计,只有相对优秀的方案18一、系统架构概述(一)开发过程与项目周期(二)系统架构与架构师(三)系统架构师在项目组中的角色定位(三)系统架构师在项目组中的角色定位(四)架构师认证概述(五)架构设计体系介绍系统架构师与项目经理关系与区别•项目经理是指对项目控制/管理,关注项目本身的进度、质量、分配、调动、协调,管理好人、财、物等资源的负责人。项目经理还必须能够应付开发过程中大量的偶发事件和杂务。...