系统架构设计师——信息系统架构设计(一)

基本概念

概念概述

1. 主体: 信息

信息系统架构设计的主体是信息。在现代社会中,信息已成为企业的重要资源之一。它包括各种形式的原始事实或观察结果,如事务数据、文档和图像等。这些信息需要通过键盘、扫描仪或其他设备转换成机器可读的形式,以便系统进行处理。

2. 关注点: 信息与处理流程

信息系统架构设计的关注点不仅仅是信息本身,还包括信息的整个处理流程。这个流程通常涵盖输入、存储、处理、输出和控制五个方面。例如,输入功能负责从外部或内部源收集数据;存储功能则涉及将数据有效保存在数据库或存储介质中;处理功能对数据进行操作和分析,将其转换为有意义的信息;输出功能则将处理后的信息以用户友好、准确和及时的方式呈现给用户;控制功能确保信息系统的各项功能正确执行,包括数据安全管理和访问控制等方面。

3. 活动: 统筹、规划、设计、安排

信息系统架构设计的主要活动包括统筹、规划、设计和安排。这些活动旨在高效地处理和管理信息流,确保信息系统能够支持组织的业务流程并实现其战略目标。具体来说,这涉及到对硬件、软件、网络和人力资源的合理配置与优化。

4. 层次: 概念与物理

信息系统架构通常分为两个层次:概念层和物理层。概念层是对系统功能的高层次抽象描述,主要从业务和应用的角度出发,定义系统应完成的任务和结构。物理层则是具体实现层面的描述,包括实际的计算机、网络设备、存储设备等硬件平台以及运行在这些平台上的软件和数据的配置细节。

5. 抽象: 结构、行为、属性

信息系统架构设计过程中的抽象包括结构、行为和属性三大部分。结构抽象描述了信息系统各部分之间的组织方式和关系;行为抽象则描述了系统如何响应各种外部或内部的刺激;属性抽象涵盖了系统性能、安全性、可靠性等方面的指标。这三者共同构成了信息系统架构的全面视图。

发展

在信息系统架构设计领域,不同的框架和方法论的发展标志着理论与实践的进步。从1970年美国国防部的C4ISR(指挥、控制、通信、计算机、情报、监视和侦察)到2007年的开放群组架构框架(TOGAF),每一次发展都为信息系统架构设计带来了新的理念和工具。以下是这些关键发展的时间线和概述:

1. 1970: 美国国防部 C4ISR

概述

美国国防部开发的C4ISR是美国国防信息基础设施的核心组成部分,它整合了多个系统,以支持战略和战术决策。这一系统的开发可以视为早期信息系统架构设计的典范,专注于如何通过集成不同的信息技术来实现复杂的军事操作需求。

2. 1989: Zachman

概述

Zachman框架由John Zachman于1987年提出,其架构设计理念影响了后续多个架构框架的发展。Zachman框架是一个六行六列的矩阵模型,涵盖了谁(Who)、什么(What)、何时(When)、哪里(Where)、为什么(Why)和如何(How)等方面,为企业构建复杂信息系统提供了明确分类的指导。

3. 1995: 美国国防部 TAFIM

概述

技术架构框架TAFIM(Technical Architecture Framework for Information Management)是为实现更有效的信息管理而设计的。TAFIM特别注重于支持美国国防部使命目标的信息技术,并促进不同系统间的互操作性。

4. 1999: 美国联邦政府 FEA

概述

联邦企业架构FEA(Federal Enterprise Architecture)是由美国联邦政府开发的,旨在通过标准化流程和共享服务来改进政府机构的操作效率。FEA强调了跨部门合作的重要性,并推动了公共部门中信息系统的互操作性和一致性。

5. 2003: 美国国防部 DoDAF

概述

DoDAF(Department of Defense Architecture Framework)版本1.0在2003年被发布,此后成为用于描述美国国防部复杂系统、其系统间的关系以及这些系统所支持的业务的一种标准方法。DoDAF的目的在于提高国防系统采购和系统工程的效率。

6. 2007: The Open Group TOGAF

概述

TOGAF(The Open Group Architecture Framework)是一个企业架构方法和工具,它支持异构组织中的架构设计和变更。TOGAF鼓励开放性和可伸缩性,适用于各种规模的组织,提供了一系列支持企业架构规划、执行和管理的模型、方法和最佳实践。

定义

在探讨信息系统架构的定义、理解和相互作用时,可以进一步深化对每个概念的理解,并探索它们在实际信息系统设计中的应用和影响。

定义

信息系统架构为软件或计算机系统提供了基本的结构设计和组织原则。这包括系统的构件、构件之间以及构件与环境之间的关系,以及指导系统设计和演化的原则。具体来说:

  1. 系统构件: 信息系统的基本组成部分,如软件元素及其外部可见属性,是构成系统的基础。
  2. 关系: 这些元素之间的相互作用和依赖关系决定了系统的组织结构。
  3. 指导原则: 包括设计原则和演化原则,指导系统的长期发展和改进。
  4. 模式与约束: 架构中的模式是指常见的、被证明有效的设计方法,而约束则是指限制条件,如性能、安全性等非功能性需求。

理解

深入理解信息系统架构涉及多个方面:

  1. 系统抽象: 通过将复杂的系统简化为更易于理解和管理的元素及其关系,抽象帮助开发者和设计师专注于关键功能和组件。
  2. 结构组成: 从功能角度描述元素间的关系,例如数据流、控制流等,帮助团队理解系统如何运作。
  3. 普遍存在: 信息系统架构无处不在,无论是否被明确设计或文档化,它都存在于每一个软件系统中。
  4. 基础特性: 包括问题解决方案的通用性、决策的重要性等,这些特性体现了架构的核心价值。

相互作用

信息系统架构的设计和实现受到多种因素的影响,同时也会对这些因素产生反作用:

  1. 项目干系人的要求: 干系人的需求和期望直接影响架构设计的方向和重点。
  2. 开发组的知识结构: 开发团队的技能和经验水平决定了架构设计的可行性和实施效率。
  3. 架构师素质与经验: 架构师的专业知识、经验和领导能力是成功架构设计的关键。
  4. 当前技术环境: 可用的技术和工具,以及技术趋势,都会影响架构的选择和实施。

信息系统架构

架构风格

架构风格是指在软件架构设计中采用的一种或多种特定的设计方法或模式,以解决一系列预定义的问题。这些风格根据其结构组织、数据处理方式以及组件之间的交互方式不同而有所区别。下面详细解释您提到的各种架构风格:

  1. 数据流

    • 特点: 强调数据处理和流动。
    • 应用: 适用于需要高吞吐量和数据处理的场景,如数据处理系统。
  2. 顺序批处理

    • 特点: 任务按照预定的序列执行。
    • 应用: 适用于无需即时响应,对处理时间不敏感的后台任务,如报表生成。
  3. 管道/过滤器

    • 特点: 数据处理流程分为多个阶段,每个阶段独立完成特定处理。
    • 应用: 常用于需要多阶段处理的系统,如数据清洗、转换加载(ETL)过程。
  4. 调用/返回

    • 特点: 子程序(函数或过程)被主程序调用,执行后返回结果给主程序。
    • 应用: 常见于大多数编程语言的程序结构中。
  5. 虚拟机

    • 特点: 提供统一的抽象层,使得程序可以在不同的物理硬件上运行。
    • 应用: 广泛应用在云计算和虚拟化技术中。
  6. 解释器

    • 特点: 直接执行高级指令,无需编译成机器语言。
    • 应用: 脚本语言和动态语言的执行,如Python、Perl。
  7. 规则系统

    • 特点: 基于一组规则或规则集作决策。
    • 应用: 适用于需要根据复杂规则作出快速响应的系统,如专家系统。
  8. 仓库

    • 特点: 集中存储和管理数据。
    • 应用: 数据仓库、知识库等。
  9. 主程序/子程序

    • 特点: 程序结构分为一个主控程序和一系列子程序。
    • 应用: 传统的程序设计方法,用于模块化设计。
  10. 面向对象层次结构

    • 特点: 基于类和对象的层次结构,强调继承、封装和多态。
    • 应用: 广泛应用于现代软件开发,如Java、C#等。
  11. 数据库系统

    • 特点: 专注于数据存储、检索和管理。
    • 应用: 信息系统、企业资源规划(ERP)系统等。
  12. 超文本系统

    • 特点: 非顺序的数据访问,通过链接跳转。
    • 应用: 网页浏览器、在线帮助系统等。
  13. 黑板系统

    • 特点: 多个独立的专家系统协同工作,共享一个数据结构(黑板)。
    • 应用: 适用于需要多方面知识综合判断的情况,如诊断系统。
  14. 独立构件

    • 特点: 系统由独立、可替换的软件构件组成。
    • 应用: 高度模块化和可重用的软件系统设计。
  15. 进程通信

    • 特点: 多个进程之间进行数据交换和协调。
    • 应用: 多任务操作系统、分布式系统。
  16. 事件系统

    • 特点: 基于事件的触发和响应机制,实现异步处理。
    • 应用: 图形用户界面(GUI)、实时监控系统。

架构分类

信息系统的物理结构和逻辑结构是构建和维护信息体系时必须考虑的两个重要方面。下面详细介绍这两种结构的细分类型以及它们的具体特点和应用场景:

  1. 物理结构
    • 集中式结构: 在集中式结构中,所有物理资源如硬件、数据等都集中在一个地点。这种结构的优点包括资源集中、便于管理,从而提高资源利用率。然而,随着系统规模的扩大,集中式结构的维护和管理难度增加,并且一旦主机出现故障,整个系统可能会瘫痪。
    • 分布式结构: 分布式结构通过计算机网络将不同地点的计算机硬件、软件、数据等资源联系在一起,实现资源共享。这种结构可以根据应用需求配置资源,提高对用户需求变化的应变能力,且安全性好,单个结点的故障不会影响整个系统的运作。

其中每个分类的信息如下:

  • 一般分布式: 在这种分布式系统中,服务器主要提供文件服务,各计算机系统根据权限存取服务器上的数据文件与程序文件。
  • 客户机/服务器模式: 这是分布式结构的一种常见形式,其中包括文件服务器、数据库服务器、打印服务器等。用户通过客户机向服务器提出服务请求,服务器则根据请求向用户提供加工后的信息。
  1. 逻辑结构
    • 横向综合: 横向综合将同一管理层次的各种职能综合在一起,例如将运行控制层的人事和工资子系统综合在一起,使基层业务处理一体化。这有助于提升业务处理的效率和一致性。
    • 纵向综合: 纵向综合则是将某种职能的各个管理层次的业务组织在一起,例如工厂的会计系统和公司的会计系统综合在一起,形成一体化的处理过程,从而有效沟通上下级之间的联系。
    • 纵横综合: 这种综合从信息模型和处理模型两个方面进行,做到信息集中共享,程序尽量模块化。主要目的是提取通用部分,建立系统公用数据库和统一的信息处理系统。

总之,信息系统的物理结构和逻辑结构及其细分类型各自具有不同的优势和应用场景。选择合适的结构类型可以有效提升系统的管理效率、安全性及灵活性。在实际应用中,需要综合考虑各种因素,如系统规模、处理需求、安全性要求等,以选择最优的架构方案。

一般原理

信息系统的一般原理涵盖了其组成成分、成分间的关系以及这些关系的可变性。理解这些原理有助于更好地设计和实现信息系统,从而提高系统的性能和适应性。以下详细解释这些原理及其应用:

  1. 组成成分
    • 信息系统主要由计算机硬件、网络和通信设备、计算机软件、信息资源、信息用户和规章制度组成。
    • 这些组成部分协同工作,共同完成信息的收集、存储、处理和输出等功能。
  2. 组成成分间关系
    • 信息系统的各个组成成分之间存在紧密的相互依存关系。例如,计算机硬件需要软件来执行具体任务,而网络和通信设备则负责数据的传输和通信。
    • 信息用户通过特定的接口与系统交互,规章制度则确保系统的正常运行和数据安全。
  3. 组成成分间关系的可变性
    • 信息系统的灵活性体现在其组成成分间关系的可变性上。随着技术进步或用户需求的变化,系统的配置和结构可能需要相应的调整。
    • 例如,新的软件组件可以集成到现有系统中,或者硬件可以升级以提高性能。
  4. 局部性原理
    • 局部性原理是计算机存储系统设计的一个重要概念,包括空间局部性和时间局部性。空间局部性指的是相邻内存地址的数据通常会被一起访问,而时间局部性则指最近访问过的数据很可能会在不久的将来再次被访问。
    • 基于这些原理,高速缓冲存储器(Cache)被设计用来存储最近使用的数据,从而加快访问速度并提高系统性能。
  5. 存储系统映射策略
    • 主存映射策略如全相联映射、直接映射和组相联映射等,旨在优化存储系统的性能。不同的映射策略会影响存储系统的命中率和效率。
    • 替换算法如近期最少使用(LRU)和先进先出(FIFO)等,用于确定哪些数据应在缓存中保留,哪些应被替换,以适应不断变化的访问模式。

成熟型特征指的是个体在心理、社会和智力层面达到一定发展阶段的表现,这些特征包括多维度、分层次、可集成和开放式等。具体如下:

  1. 多维度
    • 情感的成熟:指个体在情绪方面较为稳定,能够自我控制,不会因外界变化而剧烈波动。例如,面对挫折时,能够冷静应对,而不是情绪失控。
    • 社会的成熟:熟练掌握与人相处的技巧和社会行为规范,能够在社会中独立处理各种事务,表现出自尊和自信。例如,在社交场合中,能够得体地与人交流,遵守社交规则。
    • 认知的成熟:具备理智的判断和逻辑推理能力,能够全面分析和解决问题。例如,面对复杂问题时,能够通过合理分析找到解决方案。
  2. 分层次
    • 基础层:这一层主要关注个体的基本生理和心理需求,如安全、生理需求等。成熟表现在能够基本满足这些需求,并逐步向更高层次发展。
    • 情感层:涉及个体的情感和人际关系处理能力。成熟的表现为能够理解和管理自己的情绪,同时关心和支持他人。
    • 智力层:包括知识积累、逻辑分析和创新能力。在这一层次上,成熟表现为具有广泛的知识面、敏锐的思维能力和持续学习的态度。
  3. 可集成
    • 综合性:成熟型特征不仅局限于某一方面,而是多方面特质的综合体现。例如,一个成熟的个体不仅在情感上稳定,同时在社会交往和认知能力上也表现出色。
    • 适应性:在不同环境和情况下能够灵活调整自己的行为和策略,以适应外部变化。这种适应性是成熟个体的重要标志。
  4. 开放式
    • 开放性:对新事物和新观念持开放态度,愿意接受和尝试不同的可能性。这种开放性有助于个体不断进步和成长。
    • 持续学习:成熟型特征还包括持续学习和自我提升的意愿,不断更新自己的知识和技能储备。

常见四模型

  1. 单体应用架构
    • 数据存储:单体应用通常采用集中式的数据存储方式,如单一数据库或数据文件。这种集中式的数据管理有助于简化数据访问逻辑,但可能会导致性能瓶颈和单点故障。
    • 数据传输:单体应用中的各个模块紧密耦合,数据传输通常通过内部函数调用或共享内存进行,这减少了网络传输的需求,但同时也限制了系统的可扩展性。
    • 数据查询:由于所有数据通常存储在一个数据库中,数据查询可以比较快速和直观。然而,随着数据量的增长,单一的查询负载可能会成为性能瓶颈。
    • 数据展示:单体应用一般采用直接从数据库查询结果集展示数据,这种方式简单直接,但在复杂应用场景下可能不够灵活。
    • 数据安全:单体应用倾向于使用集中式安全管理,如统一身份验证和授权机制,简化了安全策略的实施,但也容易成为攻击的目标。
  2. 客户端/服务器架构
    • 二层C/S架构:这是最基础的客户端/服务器架构,客户端负责用户界面和部分业务逻辑,服务器主要负责数据管理。适用于小规模应用,但扩展性和可维护性较差。
    • 三层C/S架构:在二层架构基础上增加应用服务器层,用于处理大部分业务逻辑,减轻客户端负担,提高系统可扩展性和可维护性。
    • 三层B/S架构:类似三层C/S架构,但使用浏览器作为客户端,简化了用户界面的统一和更新问题,适应范围更广。
    • 多层C/S架构:进一步细分各层次功能,例如单独的缓存服务器、负载均衡服务器等,优化系统性能和稳定性。
    • 多层B/S架构:在多层C/S架构的基础上,采用Web技术实现更加灵活和分布式的应用部署。
  3. 面向服务的架构
    • Web服务:通过标准化的Web服务接口(如SOAP、WSDL、XML),实现不同系统间的互操作和集成。
    • 技术标准:SOAP(简单对象访问协议)是一种通信协议,用于结构化信息交换;WSDL(Web服务描述语言)用于描述Web服务的功能和接口;XML(可扩展标记语言)为数据交换格式。
  4. 企业数据交换总线
    • 企业总线:提供一种标准的、中间件的基础架构,支持不同应用程序之间的数据交换和集成。
    • 企业服务总线:在企业总线的基础上增加了服务导向的架构,使不同服务能够通过总线进行交互。
    • 企业事件总线:专注于事件的管理和传递,支持基于事件的异步交互模式。
    • 企业数据交换总线:专门用于数据交换的总线,优化了数据在不同系统间的批量传输和实时访问。
    • 技术标准:UDDI(通用描述、发现和集成)是Web服务的一部分,用于注册和发现Web服务;CORBA(公共对象请求代理体系结构)是一套标准,用于不同编程语言间的对象调用;IIOP(互联网内部对象请求代理协议)是CORBA的一种通信协议。

你可能感兴趣的:(#,系统架构设计师,系统架构,网络,系统架构设计师)