系统架构师 |
您所在的位置:网站首页 › 系统架构定义及分类 › 系统架构师 |
软件架构概念
软件架构的定义
一个程序和计算系统软件体系结构是指系统的一个或者多个结构。结构中包插软件的构件,构件的外部可见属性以及它们之间的相互关系。 体系结构并非可运行软件。确切地说,它是一种表达,使软件工程师能够: (1) 分析设计在满足所规定的需求方面的有效性; (2) 在设计变更相对容易的阶段,考虑体系结构可能的选择方案; (3) 降低与软件构造相关联的风险。 软件体系结构的设计迎常考虑到设计金字塔中的两个层次一一数据设计和体系结构设计。 数据设计体现传统系统中体系结构的数据构件和面向对象系统中类的定义(封装了属性和操作) 。 体系约响设计则主提关注软件构件的结构、属性和交互作用。 软件架构设计与生命周期 需求分析阶段 设计阶段 实现阶段 构件组装阶段 部署阶段 后开发阶段后开发阶段是指软件部署安装之后的阶段。这一阶段的SA 研究主要回绕维护、演化、复用等方面来进行。典型的研究方向包括动态软件体系结构、体系结构恢复与重建等。 软件架构的重要性软件架构改计是降低成本、战进质量、按时和按需交付产品的关键因索。 架构设计能够满足系统的品质 系统的功能性娃软件架构设计师通过组成体系架构的多种元素之间的交互作用米支持的。架构设计肘子实现系统的品质,如性能、安全性和可维护性等。 架构设计使受益人达成一致的目标、架构设计能够支持计划编制过程、架构设计对系统开发的指导性、架构设计能够有效地管理复杂性、架构设计为复用奠定了基础、架构设计能够降低维护费用、架构设计能够支持冲突分析 基于架构的软件开发方法 体系结构的设计方法概述基于体系结构的软件设计(Architecture-Based Software Design. ABSD ) 方法。ABSD 方法是由体系结构驱动的,即指由构成体系结构的商业、质量和功能需求的组合驱动的。 ABSD 方法有3 个基础。 第1 个基础是功能的分解。在功能分解中. ABSD 方法使用己有的基于模块的内聚和耦合技术。 第2 个基础是通过选择体系结构凤棉来实现质以和商业需求。 第3 个基础娃软件模版的使用,软件模版利用了一些软件系统的结构。 概念与术语 设计元素 视角与视图 用例和质量场景 基于体系结构的开发模型ABSD 模型把辖个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现和演化6 个子过程 体系结构需求需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望 需求获取体系结构需求一般来自3 个方面,分别是系统的质量目标、系统的商业目标和系统开发人员的商业目标。 标识构件第1 步: 生成类图。 第2 步: 对类进行分组。 第3 步: 把类打包成构件 架构需求评审需求获取一标识构件一需求评审 体系结构设计提出软件体系结构模型 把己标识的构件映射到软件体系结构中 分析构件之间的相互作用 产生软件体系结构 设计评审 体系结构文档化体系结构文档化过程的主要输出结果是两个文档: 体系结构规格说明和测试体系结构需求的质量设计说明书。 体系结构复审体系结构设计、文档化和复审是一个迭代过程。 体系结构实现所谓"实现"就是要用实体来显示出一个软件体系结构,即.'1符合体系结构所描述的结构性设计决策,分割成规定的构件,按规定方式互相交1t . 体系结构的演化需求变化归类 制订体系结构演化计划 修改、增加或删除构件 更新构件的相互作用 构件组装与测试 技术评审 软件架构风格软件体系结构设计的一个核心目标是熏复的体系结构模式,即达到体系结构级的软件重用。 软件架构风格概述软件体系结构风格是描述某一特定应用领域中系统细织方式的惯用模式。 数据流体系结构风格数据流体系结构是一种计算机体系结构 批处理体系结构风格 管道,过滤器体系结构风格 调用/返回体系结构风格调用/返回风格是指在系统中采用了调用与返问机制。 .调用/运回体系结构凤格主要包括主程序/子程序风格、丽向对象风格、层次型风格以及客户端/ 服务器风格。 主程序/子程序风格一般采用单线程控制,把问题划分为若干处理步骤,构件即为主程序和子程序。 面向对象体系结构风格 层次型体系结构风格 客户端/服务器体系结构风格 以数据为中心的体系结构风格以数据为中心的体系结构凤格主要包括仓库体系结构风格和黑板体系结构风格。 虚拟机体系结构风格虚拟机体系结构风格主要包括解释器风格和规则系统风格。 独立构件体系结构风格独立构件风格主要包括进程通信和事件系统风格。 软件架构复用 软件架构复用的定义及分类 软件架构复用的原因 软件架构复用的对象及形式可复用的资产非常广,包括以F几个方而. (1)需求。 (2) 架构设计. (3)元索。 (4) 建模与分析. (5) 测试。 (6) 项目 规划。 (7)过程、方法和工具。 (8) 人员。 (9) 样本系统。 (10) 缺陷消除。 软件架构复用的基本过程复用的基本过程主提包括3 个阶段: 首先构造/ 获取可复用的软件资产, 其次管理这些资产, 最后针对特定的需求,从这些资产中选择可复用的部分,以开发满足需求的应用系统 特定领域软件体系结构 DSSA的定义DSSA ( Domain Specific So食ware Architecture) 就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构。 知DSSA 的必备特征如下。 (1) 一个严格定义的问题域和问题解域。 (2) 具有普遍性,使其可以用于领域中某个特定应用的开发。 (3) 对整个领域的构件组织模型的恰当抽象。 (4) 具备该领域固定的、典型的在开发过程中可重用元素。 DSSA的基本活动领域分析 领域设计 领域实现 参与DSSA的人员参与DSSA 的人员可以划分为4 种角色:领域专家、领域分析人员、领域设计人员和领域实现人员。 领域专家可能包括该领域中系统的有经验的用户、从事该领域中系统的需求分析、设计、实现以及项目管理的有经验的软件工程师等。 领域分析人员应由具有知识工程背景的有经验的系统分析员来担任。 领域设计人员应由有经验的软件设计人员来担任。 领域实现人员应由有经验的程序设计人员来担任。 DSSA的建立过程DSSA 的建立过程分为5 个阶段 (1) 定义领域范围 (2) 定义领域特定的元素。 (3)定义领域特定的设计和实现需求约束。 (4) 定义领域模型和体系结构。 (5) 产生、搜集可重用的产品单元 DSSA 的建立过程是并发的、递归的和反复进行的。 #####################################################3 系统架构设计是软件工程中非常重要的一部分,其目的是定义系统的整体结构、模块之间的关系和数据流动,以支持系统的目标和功能。以下是系统架构设计的基础知识: 1. 模块化设计:把系统拆分成不同的模块,每个模块都有独立的职责和功能。这种设计可以提高系统的可维护性和可扩展性。 2. 分层设计:把系统分成多个层次,每个层次都有独立的职责和接口。这种设计可以提高系统的可维护性、可重用性和可扩展性。 3. 组件化设计:把系统分解成多个组件,每个组件都是可独立部署和替换的。这种设计可以提高系统的可维护性、可重用性和可扩展性。 4. 微服务设计:把系统拆分成多个小的服务,每个服务都有独立的职责和功能,可以独立部署和运行。这种设计可以提高系统的可扩展性和可伸缩性。 5. RESTful设计:采用RESTful架构,把系统设计成资源和资源之间的关系,以简化系统的复杂度和提高系统的可扩展性。 6. 面向服务设计:以服务为中心,把系统设计成一系列服务的集合,以提供灵活和可扩展的解决方案。 7. 消息驱动设计:把系统设计成一个异步的、基于消息的系统,通过消息在不同的模块之间传递数据和事件,以支持系统的高可用性和可扩展性。 以上是系统架构设计的基础知识,不同的设计方法可以根据系统的需求和特点选择不同的实现方式。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |