文档详情

软件架构学习小结分析报告.doc

发布:2016-04-10约字共25页下载文档
文本预览下载声明
软件架构设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。本文从架构师职责、软件架构定义、设计架构、评估架构、架构管理等方面来描述了解软件架构的含义和怎样设计软件架构。 ? 一、软件架构师的职责 架构师分为以下几大类:业务架构师、主题领域架构师、技术架构师、项目架构师(J2EE架构师、.NET架构师等)、系统架构师。 1、架构师的职责主要体现 架构师的职责就是设计一个公司系统的基础架构,并提供关于怎样建立和维护系统的指导方针。具体来讲,架构师的职责主要体现在以下几方面: 1)、负责公司系统的架构设计、研发工作。 2)、承担从业务向技术转换的桥梁作用。 3)、协助项目经理制定项目计划和控制项目进度。 4)、负责辅助并指导系统分析开展设计工作。 5)、负责组织技术研究和攻关工作。 6)、负责组织和管理公司内部的技术培训工作。 7)、负责组织及带领公司内部员工研究与项目相关的新技术。 8)、管理技术支撑团队并给项目、产品开发实施团队提供技术保障。 9)、理解系统的业务需求,制定系统的整体框架(包括、技术框架和业务框架)。 10)、对系统框架相关技术和业务进行培训,指导开发人员开发。并解决系统开发、运行中出现的各种问题。 2、构架设计师必须具备的技能 经验:既包括在问题领域的经验(通过彻底了解需求),也包括在软件工程领域的经验。对于一个构架团队,这些素质要求可由各团队成员来分别承担,但其中至少要有一名构架设计师能够把握项目的全局。 领导才能:能够推动各个团队的技术进展,并能在压力下作出关键性的决策然后将其贯彻到底。要提高效率,构架设计师和项目经理必须紧密协作。构架设计师主要负责解决技术问题,项目经理主要负责解决行政管理问题。构架设计师必须有权在技术问题上作出决定。 沟通:能够赢得他人的信任,以对其进行说服、激励和指导。构架设计师不能靠命令进行领导,而必须要赢得项目中其他人员的赞同。为了提高效率,构架设计师必须赢得项目团队、项目经理、客户、用户群体以及管理团队的尊敬。 以目标为中心、积极主动:不懈地追求成效。构架设计师是推动项目发展的技术动力,而不是空想家。在其职业生涯中,成功的构架设计师一直都要在捉摸不定和承受压力的情况下作出折衷决定。构架设计师只有将注意力集中在该做的事情上,才能在项目中取得成功。 专业:精通构架设计的理论、实践和工具,并掌握多种参考构架、主要的可重用构架机制和模式(例如J2EE架构等)。具备系统设计员的所有技能,但涉及面更广、抽象级别更高。 ? 二、软件架构、架构模式、参考模型、参考架构 1、对于软件架构定义有很多种,通用的定义是:某个软件或计算机系统的软件架构是该系统的一个或多个结构,他们由软件元素,这些元素的外部可见属性以及这些元素之间的关系组成。 这里所说的某个元素的“外部可见属性”是指其他元素对该元素所做的假设,如它所提供的服务、性能特征、错误处理、共享资源的使用,等等。 其他的定义包括:架构是一种高层设计。架构是系统的总体结构。架构是一个软件或系统的组件、组件之间的相互关系以及管理其设计和演变的原理和方针的结构。架构是组件和连接器。 2、架构模式是对元素和关系类型以及一组对其使用方式的限制的描述。 3、参考模型是一种考虑数据流的功能划分。 4、参考架构是映射到软件元素(它们相互协作,共同实现在参考模型中定义的功能)及元素之间数据流上的参考模型。 5、软件架构、架构模式、参考模型、参考架构之间的关系: 软件结构 关系 适用环境 分解 是一个子模块;与之共享秘密 资源分配、项目结构化和规划;信息隐藏、封装;配置控制 使用 要求正确出现 设计子集;设计扩展 分层 要求正确的出现、使用服务、提供抽象 增量式开发;在“虚拟机”可移植性之上实现系统 类 是一个实例;共享访问方法 在面向对象的设计系统中,从一个公共的模版中产生快速的、相近的实现 客户机-服务器 与之通信;依赖于 分布式操作;关注点分离;性能分析;负载平衡 进程 与之并发运行、可能会与之并发运行;排除;优先于等 调度分析;性能分析 并发 在相同的逻辑线程上运行 确定存在资源争用,线程可以交叉、连接、被创建或被杀死的位置 共享数据 产生数据;使用数据 性能;数据完整性;可修改性 部署 分配给;移植到 性能、可用性、安全性分析 实现 存储在 配置控制、集成、测试活动 工作分配 分配到 项目管理、最佳利用专业技术、管理通用性 注:在<Pattern-Oriented Software Architecture (面向模式的软件体系架构) >中首次提出了8种体系结构模式: 层(Layers)、管道和过滤器(Pipes and Filters) 、黑板(Black
显示全部
相似文档