软考高级(信息系统项目管理师)(三)--软件架构

一、UML与系统架构

软件架构: 将软件系统划分成多个模块,明确各模块之间的相互作用,组合起来实现系统的全部特性,就是系统架构。

在这里插入图片描述
UML与系统同架构: UML对系统架构的定义是系统的组织结构,包括系统分解的组成部份,以及它们的关联性、交互机制和知道原则等提供系统设计的信息。具体来说,就是指以上5个系统视图。分别是:

  1. 逻辑视图:也称为实际视图,它表示了设计模型中在架构方面具有重要意义的部份,即类、子系统、包和用例实现的子集。
  2. 实现试图:对组成基于系统的物理,代码的文件和构件进行建模。
  3. 进程视图:是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
  4. 部署视图:把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
  5. 用例视图:用例视图时最基本的需求分析模型
    场景就是用例图。

二、软件架构风格

  • 数据流风格:包括批处理风格和管道过滤器两种
  • 调用/返回格:包括主程序/子程序数据抽象和面向对象、层次结构
  • 独立构件:进程通信和时间驱动系统
  • 虚拟机风格:解释器和基于规则的系统
  • 仓库风格:数据系统、黑板系统和超文本系统

数据流风格–管道过滤器:

  • 在管道/过滤器风格的软件架构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这是的构件被称为过滤器,这种风格的连接件就想是数据流传输的管道,将一个过滤器的输出传到另外一过滤器的输入。
    在这里插入图片描述

调用/返回风格–主程序和子程序

  • 主程序/子程序风格是结构化开发时期的经典架构风格。这种风格一般采用单线程控制,把问题划分为若干处理步骤,构件即为主程序和子程序。子程序通常可合成为模块。过程调用作为交互机制,即充当连接件。

调用/返回风格–抽象数据类型和面向对象

  • 这种风格的构件是对象,或者说是数据类型的实例。对象是一种被称作管理者的构件,它负责保持资源的完整性。对象是通过函数和过程的调用来交互的。
    在这里插入图片描述

调用/返回风格–分层

系统划分成三成(由内到外):核心层–系统服务–用户系统
层次系统组织成一个层次结构,每一层为上层服务,并作为下层服务。在一些层次系统种,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见。
典型应用是分层通信协议,如ISO/OSI的七层网络模型。

独立构件风格–事件驱动

由事件消费者和事件产生着组成。事件消费者向事件管理器订阅事件,事件产生者向事件管理器发布事件。当事件管理器从事件产生者那接受到一个是事件时,事件管理把这个事件传送给相应的事件消费者。如果这个事件消费是不可用的,事件管理者将保留这个事件,一段间隔之后再次传送该事件消费者。

独立构件风格–进程通信

构件是独立的过程,连接件是消息传递。这种风格的特点是构件通常是命名过程(进程),消息传递的方式可以是点到点、异步和同步方式及远过程调用(RPC)等。在这种架构中,消息的传递目标是显示声明的——明确指向另外一个构件。

虚拟机风格–解释器

解释器将高抽象层次的程序翻译为地抽象层次所能理解的指令,以消除程序语言与硬件之间存在的差异。这样官方的说法十分的准确,我们可以清楚的了解到解释器在机器中实现的重要功能,即将程序语言(源代码)翻译为系统(操作系统和硬件)可以理解的执行代码。

虚拟机风格–基于规则的系统

基于规则的专家系统由5部份组成:知识库、数据库、推理引擎、解释设备和用户接面。在基于规则的专家系统中,知识用一组规则来表大。
在这里插入图片描述

客户/服务器架构(了解)

在这里插入图片描述
服务器负责有效地管理系统的资源,其主要任务急中对DBMS的管理和空指,以及数据的备份与恢复;客户应用程序的主要任务提供用户与数据库交互的界面,向服务器提交用户请求并接受来自服务器的信息。

浏览器/服务器架构

为了解决C/S模式中客户端的问题,发展形成了浏览器/服务器B/S模式;为了解决C/S模式中服务器端的问题,发展形成了三成(多层)C/S模式。即多层应用架构。

仓库风格–数据库系统

数据库系统。数据库系统是仓库风格最常见的形式。在数据库系统中,构件主要由两大类,一类式中央共享数据源,保存当前系统的数据状态;另以一类式多个独立处理单元,处理单元对数据元素进行操作。

仓库风格–黑板系统

黑板系统包括知识源、黑板和控制三个部份,提供解决问题的知识。知识源响应黑板的变化,也只修改黑板。知识源响应式通过黑板状态的变化来控制。黑板系统通常应用在对于解决问题没有确定性算法的软件中,例如,信号处理。

在这里插入图片描述

仓库风格–超文本系统

超文本系统出现的构件以网状链接方式相互连接,用户可以在构件之间经行按照人类的联想思维方式人义跳转到相关构件。超文本是一种非线性的网状信息组织方式,它以节点为基本单位,链作为结点之间的联想式关联。超文本系统通常应用在互联网领域。
早期的静态网页就是超文本系统。

三、软件架构评估

从目前已有的软件架构评估技术来看,可以归纳为三类主要的评估方式,分别式基于调查问卷(或检查表)的方式、基于场景的方式和基于度量的方式。这三种评估方式中,基于场景的评估方式最为常用。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值