`
marszgl
  • 浏览: 53610 次
  • 性别: 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开始:开发构件解决方案。

分享到:
评论

相关推荐

    系统架构师教程(第四版)

    ### 系统架构师教程(第四版):关键知识点概览 #### 一、系统架构师的角色定位与技能要求 - **系统架构师**的角色不仅仅局限于软件层面的设计,还需要具备深厚的计算机基础知识,尤其是在硬件和底层原理方面有所...

    系统架构师教程.pdf

    - 系统响应时间、任务切换频率等。 - **5.1.4 数据库管理系统** - 查询响应时间、并发用户数等。 - **5.1.5 Web服务器** - 页面加载速度、最大连接数等。 - **5.2 性能计算** - 如何利用公式计算出具体的性能...

    软考系统架构师案例分析知识点汇总

    ### 软考系统架构师案例分析知识点汇总 #### 一、软件架构风格概述 **软件架构风格**是描述某一类特定应用领域中软件系统组织方式和惯用方式的重要概念。它不仅涉及到软件系统的组成部分(即构件),还涉及到这些...

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

    ### 软考系统架构师案例分析知识点整理 #### 一、系统规划 - **系统项目的提出与预可行性分析**: - 分析系统项目的背景、目的和必要性。 - 对项目的初步预算、时间安排和技术可行性进行评估。 - **系统方案的...

    2019年系统架构师考试真题综合版.pdf

    这份文件是2019年系统架构师考试的真题综合版,其中涉及了系统架构、网络协议、性能评估、信息系统规划、需求变更管理、软件开发工具、软件设计、构件化开发等多个知识点。 1. 在网络通信方面,TCP端口号的作用主要...

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

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

    系统架构设计程序员向架构师转型之路

    系统架构设计程序员向架构师转型之路是一项艰巨但充满挑战的任务,涉及到技术深度、广度、沟通能力以及业务理解等多个方面。以下是对这一主题的详细阐述: 首先,我们要明确架构师的角色。架构师并不仅仅是高级...

    系统架构师基本素质大纲

    【系统架构师基本素质大纲】 系统架构师是一个综合性极强的职业,他们不仅需要深厚的技术底蕴,还需要具备良好的项目管理能力和决策智慧。以下是成为一个优秀的系统架构师所必须掌握的知识点: 1. **理念与原则** ...

    系统架构设计师32小时通关1

    【系统架构设计师】是软件开发领域中的核心角色,他们承担着设计和规划复杂软件系统架构的任务,确保系统在技术上可行、高效,并满足业务需求。系统架构设计师不仅要具备深厚的技术底蕴,还需拥有良好的管理和协调...

    起步系统架构师,系统架构师笔记

    - **系统架构师的概念**:系统架构师在信息系统开发过程中扮演着至关重要的角色,他们不仅关注系统的“技术实现”,还需考虑“组织协调”。架构师需要理解、管理并最终确认非功能性系统需求,给出开发规范,并搭建...

    系统架构师论文答题纸2019

    通过上述内容,考生可以了解到系统架构师考试中论文写作部分的要求和注意事项,这有助于考生在正式考试中更加自如地发挥,准确地完成答题任务。考试的准备过程不仅是对知识的积累,也是对考试格式和规则的熟悉,这...

    系统架构师考点总结

    ### 系统架构师考试知识点总结 #### 一、操作系统 **操作系统定义及作用** - **定义**: 操作系统作为计算机系统的核心系统软件,主要负责管理和控制计算机硬件和软件资源,确保资源的有效利用,并在用户与计算机...

    系统架构设计师教程第二版

    ### 系统架构设计师教程第二版知识点概览 #### 一、系统架构设计师的基本要求与基础知识 1. **绪论**: - 系统架构设计师的职业定位和发展趋势。 - 系统架构设计师应具备的基本素质和技术能力。 2. **计算机...

    系统架构师视频教程-part7.rar

    在本套"系统架构师视频教程-part7"中,涵盖了三个关键章节,分别涉及开发管理、系统架构设计案例分析以及系统架构设计论文。这是一份深入解析系统架构师角色、职责以及实践方法的重要资料,适合那些希望提升自己在IT...

    系统架构师考试教程

    系统架构师考试教程涵盖的内容广泛,涉及存储系统、网络架构和软件容错技术等多个关键领域。以下是这些知识点的详细说明: 1. 存储系统: - **按访问方式分类**:存储器可以分为按地址访问和按内容访问。按内容...

Global site tag (gtag.js) - Google Analytics