个体户 网站建设,百度官网app下载安装,wordpress企业主题 绿色,盐山网站制作第一章 绪论
系统架构设计师(System Architecture Designer)是项目开发活动中的关键角色之一。系统架构是系统的一种整体的高层次的结构表示#xff0c;是系统的骨架和根基#xff0c;其决定了系统的健壮性和生命周期的长短。
1.1 系统架构概述
1946年第一台计算机#x…第一章 绪论
系统架构设计师(System Architecture Designer)是项目开发活动中的关键角色之一。系统架构是系统的一种整体的高层次的结构表示是系统的骨架和根基其决定了系统的健壮性和生命周期的长短。
1.1 系统架构概述
1946年第一台计算机ENIAC电子数字积分器和计算机。由运算器、控制器、存储器、输入和输出设备五部分组成。
冯~诺依曼针对 ENIAC 的不足提出了 EDVAC 离散变量自动电子计算机采用二进制控制计算机运行的程序存放在存储器中可以自动按顺序执行指令。
1.1.1 系统架构的定义及发展历程
定义
架构是体现在组件中的一个系统的基本组织、它们彼此的关系与环境的关系及指导它的设计和发展的原则。
系统是组织起来完成某一特定功能或一组功能的组件集。系统这个术语包括了单独的应用程序、传统意义上的系统、子系统、系统之系统、产品线、整个企业及感兴趣的其他集合。系统用于完成其环境中的一个或多个任务。
环境或者上下文决定了对这个系统的开发、运作、政策以及会对系统造成其他影响的环境和设置。
任务是由一个或者多个利益相关者通过系统达到一些目标的系统的一个用途或操作。 通俗地说系统架构(SystemArchitecture)是系统的一种整体的高层次的结构表示是系统的骨架和根基支撑和链接各个部分包括组件、连接件、约束规范以及指导这些内容设计与演化的原理它是刻画系统整体抽象结构的一种手段。
架构设计的作用主要包括以下几点: 解决相对复杂的需求分析问题; 解决非功能属性在系统占据重要位置的设计问题; 解决生命周期长、扩展性需求高的系统整体结构问题 解决系统基于组件需要的集成问题: 解决业务流程再造难的问题。 系统架构设计是成熟系统开发过程中的一个重要环节它不仅是连接用户需求和系统进一步设计与实现的桥梁也是系统早期阶段质量保证的关键步骤。
发展历程
1基础研究阶段1968-1994年 “软件架构”首次提出。 模块化思想推动了软件架构的快速发展。 模块化应遵循以下规则
最高模块化内聚最低耦合模块大小适度模块调用链深度嵌套层次不可过多接口简单、精炼扇入扇出数不宜太大具有信息隐蔽能力尽可能地复用已有模块
2概念体系和核心技术形成阶段1999-2000年 首次对“软件架构”进行了定义。 {elementsformsrationale}sofware使之成为后续软件架构概念发展的基础。 1995年起软件架构研究领域开始进入快速发展阶段。 2000年IEEE 1471-2000标准的发布了第一次定义了软件架构的形式化标准组件化。 组件具有可组装性和可插拔性。 3理论体系完善与发展阶段1996年至今 随着组件架构理论的建立与之相关的软件架构描述与表示、软件架构分析、设计与测试、软件架构发现、演化与重用、基于软件架构开发方法、软件架构风格、动态软件架构等。 4普及应用阶段2000年至今 软件架构是软件生命周期中的重要产物影响软件开发的各个阶段 需求阶段、设计阶段、实现阶段、维护阶段。
1.1.2 软件架构的常用分类及建模方法
1.软件架构的常用分类
1分层架构
表现层(PresentationLayer):用户界面负责视觉和用户互动。业务层(BusinessLayer):实现业务逻辑。持久层(Persistence Layer):提供数据SQL语句就放在这一层。数据库(DatabaseLayer):保存数据。 2事件驱动架构事件队列(EventQueue):接收事件的入口。分发器(Event Mediator):将不同的事件分发到不同的业务逻辑单元。事件通道(EventChannel):分发器与处理器之间的联系渠道。事件处理器(EventProcessor):实现业务逻辑处理完成后会发出事件触发下一步操作。 3微核架构 微核架构(Microkernel Architecture)又称为插件架构(Plug-in Architecture)是指软件的内核相对较小主要功能和业务逻辑都通过插件实现。 内核(Core)通常只包含系统运行的最小功能。插件则是互相独立的插件之间的通信应该减少到最低避免出现互相依赖的问题。 4微服务架构 微服务架构(Microservices Architecture)是服务导向架构(Service-Oriented Architecture,SOA)的升级。每一个服务就是一个独立的部署单元(Separatcly Deployed Unit)。这些单元都是分布式的互相解耦通过远程通信协议(比如REST、SOAP)联系。 5云架构 包括处理单元、虚拟中间件。 1处理单元实现业务逻辑。 2虚拟中间件负责通信、保持会话控制seesions、数据复制、分布式处理和处理单元的部署。 虚拟中间件消总中间件(Messaging Grid):管理用户请求和会话控制(sessions)当一个请求进来以后它决定分配给哪一个处理单元。数据中间件(Data Grid):将数据复制到每一个处理单元即数据同步。保证每个处理单元都得到同样的数据。处理中间件(Processing Grid):可选如果一个请求涉及不同类型的处理单元该中向件负责协调处理单元。部署中间件(DcploymentManager):负责处理单元的启动和兰闭监控负载和响应时PDF间当负载增加就新启动处理单元负载减少就关闭处理单元。
2.系统架构的常用建模方法
结构模型、框架模型、动态模型和过程模型。
1.1.3 软件架构的应用场景
不再是单一架构风格设计与开发。
1.1.4 软件架构的发展未来
架构发展的主线可以归纳为 模块化变成/面向对象编程、构件技术、面向服务开发技术和云技术。
1.2 系统架构设计师概述
1.2.1 架构设计师的定义、职责和任务
1.架构设计师的定义
架构设计师是系统或产品线的设计责任人是一个负责理解和管理并最终确认和评估非功能性系统需求(如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等)给出开发规范搭建系统实现的核心构架对整个软件架构、关键构件和接口进行总体设计并澄清关键技术细节的高级技术人员。
2.架构设计师的职责
不仅是技术指导同时也必须有领导能力。
3.架构设计师的任务与组成
1领导与协调整个项目中的技术活动分析、设计和实施等。 2推动主要的技术决策并最终表达为系统架构。 3确定系统架构并促使其架构设计的文档化包括需求、设计、实施和部署等“视图”。
1.2.2 架构设计师应具备的专业素质
1.掌握业务领域的知识。 2.掌握技术知识。 3.掌握设计技能。 4.具备编程技能。 5.具备沟通能力。 6.具备决策能力。 7.知道组织策略。 8.应是谈判专家。
1.2.3 架构设计师的知识架构
战略规划能力。业务流程建模能力。信息数据架构能力。技术架构设计和实现能力。应用系统架构的解决和实现能力。基础 IT 知识及基础设施、资源调配的能力。信息安全技术支持与管理保障能力。IT 审计、治理与基本需求的分析和获取能力。面向软件系统可靠性与系统生命周期的质量保障服务能力。 10.对新技术与新概念的理解、掌握和分析能力。 系统架构设计师必须是开发团队的技术引导者同时也是综合性特强的人才。
1.3 如何成为一名好的系统结构设计师
六个角色特质
领导者开发者系统综合者具备企业家思维具备战略技术专家的权衡思维与战术思维具备良好的沟通能力
工程师阶段 1~3年积累基础知识包括编程语言、基本数据结构、开发环境、操作系统、数据库以及相关软件开发流程等。 高级工程师阶段 3~5年知识深度转变由 HOW 到 WHY理论支持熟悉前人总结出来的成熟的设计经验。 技术专家阶段 4~8年“某个领域的专家”高级工程师主要在已有的架构框架下完成设计技术专家需要修改、扩展和优化架构。 系统架构设计师初级 5~8年“独立完成一个系统的架构设计”技术专家基于经验进行架构设计初级架构设计师熟悉其原理。 初级架构设计师要形成自己的“架构设计方法论”。 系统架构设计师中级 8~10年“能够完成复杂系统的架构设计”高性能、可扩展、海量存储等复杂系统。关键在于“技术深度和技术理论的积累”。 系统架构设计师高级 10年以上“创造新的架构模式”开创新的技术潮流。 文章目录 第一章 绪论1.1 系统架构概述1.1.1 系统架构的定义及发展历程定义发展历程 1.1.2 软件架构的常用分类及建模方法1.软件架构的常用分类2.系统架构的常用建模方法 1.1.3 软件架构的应用场景1.1.4 软件架构的发展未来 1.2 系统架构设计师概述1.2.1 架构设计师的定义、职责和任务1.架构设计师的定义2.架构设计师的职责3.架构设计师的任务与组成 1.2.2 架构设计师应具备的专业素质1.2.3 架构设计师的知识架构 1.3 如何成为一名好的系统结构设计师