`
marszgl
  • 浏览: 52797 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

系统架构师的任务

阅读更多
系统架构师的任务
         软件系统架构师在整个项目中领导并协调与技术相关的活动和制品。从技术、结构、软件系统的组织结构角度调整一些主要设计决定。与RUP中其它角色相比,软件系统架构师更注重广度,而不是深度。
         软件系统架构师要能够在信息不完整的情况下把握问题的本质,并作出合理、关键的决定。
         经验、领导能力(Architect负责技术方面的问题,项目经理负责商业和管理方面的问题)、沟通能力(不能被法规所领导,要由其余团队的意见所领导)、面向目标的工作态度(必须一切以结果为中心,对问题精益法求精的完美主义者不适合担当这个角色)。
         交流:
         在项目经理和开发团队之间建立联系
         在内部成员和涉众之间建立联系(系统体系结构小组和项目小组)
         在不同开发小组之间建立联系(保证架构完整性)
系统架构(Architecture)
         (1)定义
         组成系统的结构元素及它们的接口、元素之间的联系渠道、把这些结构和行为元素组成更大的系统、指导开发组织的架构风格。
         其它:易用性、功能性、性能、可适应性、可复用性、可理解性、权衡经济和技术的约束条件、对美学的关注。
         系统架构师只关注对系统架构具有重要意义的需求和与架构相关的设计决定。
         (2)模型和视图(包括其中的一种或几种)
         logic view(存在于所有系统中),显示软件的所有元素及它们的结构:类、包等。
         process view,存在于分布式系统和并发系统中,显示不同实体间的并行关系及实现通信和保持同步的方式。
         implementation view,显示实现的元素(源代码文件、可执行文件等)在开发环境中的组织方式。
         deployment view,显示不同的运行时构件在运行时如何被复制和交付及它们之间如何通信。
         use-case view,捕获最很重要的需求:对系统架构有重要影响的用例或用例的一部分,还包括非功能性需求。可能还包括用例的实现,以此说明系统的工作方式。
         前4个视图在解决方案空间,后一个在问题空间与前4个建立联系。为4+1视图。
         以下来自于转载资料:http://hi.baidu.com/yayalotus/blog/item/ad792b732dd03a1c8701b0fe.html
         4+1视图包括:逻辑视图(Logic View),开发视图(Develop View),进程视图(Process View),物理视图(Physical View)和场景视图(Scenarios)。
         
         通常我们选择UML来表现各种视图,以下列出了UML和各视图的对应关系
         4+1视图                                   UML
         场景视图                            use case
         逻辑视图                            类图
         开发视图                            类图,组件图
         进程视图                            无完全对应
         部署视图                            部署图
         在架构设计稳定中通常不会给出较多的用例描述,这些是在需求稳定中定义。但是往往架构文档会选择一些用例,列入文档中,这些用例和一些非功能性需求一起用以证明架构的有效和正确性。在逻辑视图中用例的实现是必不可少的一节,尽管架构设计更关注非功能性需求。
融入MDA的思想
         对于逻辑视图和开发视图所应包含的内容常常会觉得很难区分两者间的明显界限。逻辑视图包含更多的分析模型与实现技术本身相关性应该较少,如业务对象模型及其扩展。而开发视图则会与实现技术紧密相关。
随着MDA思想的推广,在架构设计文档的撰写方面也产生了影响,我们不难把MDA的PIM和逻辑视图联系起来,而把MDA中的PSM和开发视图联系起来。

         在编写逻辑视图是我们应该描述与技术平台无关的模型,而开发视图则描述与实现技术平台相关的模型。如在逻辑视图中表现的某些实体类,我们会在开发视图中转换为EJB组件(实体Bean)。这种做法不仅有利于我们编写架构设计文档,同时更是一种好的架构设计思考流程。(引完)
软件架构文档(SAD)
         RUP中软件架构文档是全面的,架构师做的第一步就要对其进行剪裁。实际的架构要通过架构原型来验证。架构机制代表了对常见问题的通用的、具体的解决方案。它们可能是结构模式、行为模式或两者的结合。另外还有一些附加的结构如指导(guidline)。主要来完成一些制品,如风险列表、项目计划和迭代计划、外貌、需求和用例等。
系统架构师的工作(VRAPS)
         vision:架构外貌在软件架构文档中有详细描述并与项目整体的外貌文档相联系。在RUP细化阶段执行的很多活动都与架构文档相关。
         Rhythm:三重节拍:周期、迭代和创建。
         Anticipation:不同的原则相互影响:好的节奏是使开发人员不断回顾并重新评估系统的架构。
         Partnering:对复用充满热情。
         Simplification:对系统架构和组织环境做出净化。
 系统架构师在RUP中的活动

  •  与需求和项目管理相关的活动
    排列用例的优先级、分析架构、创建用于验证架构的原型。
  •   细化架构
    识别设计机制、识别设计元素、结合现存的设计元素、结构化实现模型、描述分布和运行时的架构、
  •   维护架构的完整性
    开发设计指导、编程指导、回顾架构

在RUP中找到自己的方法
          熟悉一些基本概念:迭代开发、RUP生命周期(阶段和迭代)、风险管理,并理解一些与架构有直接关系的概念:构件和不同的架构视图。查看术语表中的定义是一个可行的办法。
           1、通过RUP角色进入RUP,执行为这个角色定义的各种活动。
            2、从制品开始:软件架构文档(它的模板和示例)。
            3、从Roadmap开始:开发构件解决方案。

分享到:
评论

相关推荐

    推荐系统架构师考试全套视频教程合集.zip

    第十六部分 系统架构设计案例分析 16.1 考点分析 16.2 如何解答试题 16.3 试题解答实例 16.3.1 质量属性与软件架构策略 16.3.2 数据流图与流程图 16.3.3 嵌入式系统设计 16.3.4 软件架构风格的选择 16.3.4 信息系统...

    09年下半年系统架构师考试试题

    09年下半年系统架构师考试试题. 某计算机系统中有一个CPU、一台扫描仪和一台打印机。现有三个图像处理任务, 每个任务有三个程序段:扫描Si,图像处理Ci和打印Pi (i=1,2,3)。下图为三个任务各程序 段并发执行的前驱...

    SACC2021年中国系统架构师大会PPT合集(71份).zip

    2021年中国系统架构师大会(SACC)PPT合集(71份)。 大数据平台日志采集与数据服务建设实践之路 多云多K8S多环境体系建设的副本 基于Kubernetes的在离线弹性计算优化 基于容器构建一栈式微服务系统 架构师所需的硬...

    冲击顶级Python架构师 Python超级全栈架构师开发课程 基础+运维+高级开发+算法+项目

    冲击顶级Python架构师-Python超级全栈架构师开发课程,是一套系统化非常强的Python实战课程,课程数目超过了400多集,课程帮助同学们从零基础开始学习Python基础课程,Python高级进阶课程,Python的进程和线程,数据...

    系统架构设计师教程.rar

    本书围绕系统架构设计师的工作职责和任务而展开,对系统架构设计师所必须掌握的理论基础和应用技术做了详细的介绍,重在培养系统架构设计师所必须具备的专业技能。 本书内容既符合系统架构设计师考试总体纲领性的...

    大数据海量任务调度和智能运维实践-SACC2021年中国系统架构师大会.pdf

    大数据海量任务调度和智能运维实践-SACC2021年中国系统架构师大会

    架构师成长之路 架构师培训 什么是架构师 共19页.pptx

    系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的人。具体来说是一个确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。...

    软件架构师应该知道的97件事总结

    架构师应该亲力亲为 持续集成 避免进度调整失误 取舍的艺术 打造数据库堡垒 重视不确定性 不要轻易放过不起眼的问题 让大家学会复用 架构里没有大写的“I” 使用“一千英尺高”的视图 先尝试后决策 掌握业务领域知识...

    通向架构师的道路

    自己整理的一位牛人写的通向架构师的道路的博文,对架构师入门很有指导意义,列出章节如下: (第一天)之Apache整合Tomcat (第二天)之apache tomcat https应用 (第三天)之apache性能调优 (第四天)之Tomcat...

    系统架构师案例分析知识点整理

    系统架构设计原则: SOLID原则:单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则、依赖倒置原则 设计模式:常见设计模式如工厂模式、观察者模式、策略模式等 领域驱动设计(DDD):领域模型、限界上下文、...

    ArchSummit 2022全球架构师峰会深圳站(公开)PPT汇总(51份).zip

    ArchSummit 2022全球架构师峰会深圳站(公开)PPT汇总,共51份。 50W+小程序开发者背后的数据库降本增效实践 Apache EventMesh 分布式事件驱动多运行时 EB级数据治理在蚂蚁安全的探索与实践 IDEA研究院预训练大模型...

    软件架构师教程2

    软件架构师教程与任务管理系统实例程,这个文件接前一个文件

    高级软件架构师复习提纲

    7、使用内部发布的好处:将复杂项目分解为多个可管理的任务;易于实现对计划的变更;提高了解决方案的整体质量;提供了一个相对容易实现的短期目标 8、团队模型的环形结构中的六个角色是什么?程序管理;开发;测试...

    ArchSummit 2022全球架构师峰会杭州站(公开)PPT汇总(共35份).zip

    ArchSummit 2022全球架构师峰会杭州站(公开)PPT汇总,共35份。 ArkUI开发框架的创新和生态探索 Web3.0去中心化预言机网络技术剖析 云超大规模弹性计算节点自动化运维稳定性实践 从AI平台演进获得的十点架构启示 ...

    大数据架构师应该做到的.pdf

    ⼤数据架构师应该做到的 ---- ---- 关于软实⼒部分同步会更新场景落地 ---- ---- ---- 技能图 ⼤数据架构师该掌握的技能 主要分为两块 与 ⼀.平台建设 ⼆.数据搜集 三.数据价值 四.数据安全 五.质量保障 六.个⼈素质...

    Google_MapReduce中文版-系统架构

    ·五年Skype架构师之路的感言 ·深入分析IBM的云计算解决方案 PuzzleGames.alot.com Google 提供的广告 Google 提供的广告 Google Google推广 Google代理 C# Mapreduce Google优化 Google 提供的广告 Google AD ...

    任务管理系统 包括源码

    任务管理系统 包括源码 本人单独完成 使用STRUTS2+JDBC框架做 页面中用到了jQuery 包括jquery的一些控件; 系统功能包括我的任务 草稿箱 新任务发布 联系人管理 系统设置等功能;

    伟大架构师的秘密

    所有工程师的强大武器应用抽象层次时的核心原则将抽象层次应用到IT系统简单框架:四个抽象层次通过迭代发展层次重访抽象层次核心原则扩展层次以支持企业解决方案优点小结自我评估将抽象层次应用到IT解决方案企业架构...

Global site tag (gtag.js) - Google Analytics