![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
软考高级架构师
文章平均质量分 94
1、
恒二哥
不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。
展开
-
软件架构之基于中间件开发
本节介绍主流的中间件产品 IBM MQSeries 和 BEA Tuxedo。IBM 公司的 MQSeries 是 IBM 的消息处理中间件。MQSeries 提供一个具有工业标准、安全、可靠的消息传输系统,它用于控制和管理一个集成的系统,使得组成这个系统的多个分支应用(模块)之间通过传递消息完成整个工作流程。MQSeries 基本由一个信息传输系统和一个应用程序接口组成,其资源是消息和队列。MQSeries 的关键功能之一是确保信息可靠传输,即使在网络通信不可靠或出现异常时也能保证信息的传输。原创 2024-07-16 22:13:21 · 784 阅读 · 0 评论 -
软件架构之信息基础知识(2)
企业信息化是指企业以业务流程的优化和重构为基础,在一定的深度和广度上利用计算机技术、网络技术和数据库技术,控制和集成化管理企业生产经营活动中的各种信息,实现企业内外部信息的共享和有效利用,以提高企业的经济效益和市场竞争力。如果从动态的角度来看,企业信息化就是企业应用信息技术及产品的过程,或者更确切地说,企业信息化是信息技术由局部到全局,由战术层次到战略层次向企业全面渗透,运用于流程管理、支持企业经营管理的过程。原创 2024-07-13 09:56:04 · 798 阅读 · 0 评论 -
软件架构之信息系统基础知识(1)
信息系统(Information System,IS)一般泛指收集、存储、处理和传播各种信息的具有完整功能的集合体。在这里,信息系统并没有强调收集、存储、处理和传播信息所用的工具。一般意义上的信息系统在任何时代、任何社会都会存在,然而,只有到了今天,信息系统的概念才被创造出来,并得到相当程度的普及,这是因为,在当今社会,信息系统总是与计算机技术和互联网技术的应用联系在一起,因此,现代的信息系统总是指以计算机为信息处理工具、以网络为信息传输手段的信息系统。原创 2024-07-13 09:30:48 · 631 阅读 · 0 评论 -
软件架构之开发管理
美国国防部曾于 20 世纪 70 年代中期专门针对软件项目失败的原因做了调查。调查结果显示 70%的失败软件项目都是因为管理不善引起的,而并不是事先以为的技术实力不够。到了 20 世纪 90 年代,据对美国软件工程实施现状的调查显示,大约只有 10%的项目,尤其是商用软件,能够按预先计划的费用和进度交付。因此,业界认为影响软件研发项目全局的因素是管理水平,而技术只影响局部,这就有必要从项目管理的角度去管理软件的开发和运行。加强项目管理的好处是明显的,它可以控制财务成本、提高资源利用率;改进客户关系;缩短开发原创 2024-07-12 20:52:40 · 1110 阅读 · 0 评论 -
软件架构之嵌入式系统设计(2)
所谓嵌入式操作系统就是指运行在嵌入式计算机系统上支持嵌入式应用程序的操作系统,是用于控制和管理嵌入式系统中的硬件和软件资源、提供系统服务的软件集合。嵌入式操作系统是嵌入式软件的一个重要组成部分。它的出现提高了嵌入式软件开发的效率,提高了应用软件的可移植性,有力地推动了嵌入式系统的发展。1.嵌入式操作系统的特点与通用操作系统相比,嵌入式操作系统主要有以下特点:(1)微型化:嵌入式操作系统的运行平台不是通用计算机,而是嵌入式计算机系统。原创 2024-07-11 23:23:11 · 1079 阅读 · 0 评论 -
软件架构之嵌入式系统设计
随着计算机技术、微电子技术、通信技术以及集成电路技术的发展,嵌入式技术逐渐发展和成熟起来。嵌入式系统的应用日益广泛,并 在数量上远远超越了通用计算机系统,成为了计算机技术和计算机应用领域的一个重要组成部分。本章主要讨论嵌入式系统的基本知识与嵌入式系统的开发设计两部分内容,主要包括嵌入式系统的概念、软/硬件组成与基本架构、嵌入式操作系统和嵌入式数据库系统、网络系统以及窗口系统等核心支撑软件系统的基本原理和技术,最后介绍嵌入式系统的开发设计。嵌入式系统是一种以应用为中心,以计算机技术为基础,可以适应不同应用对功原创 2024-07-11 22:48:38 · 948 阅读 · 0 评论 -
软件架构之测评方法
些作业是以过程实现系统的基础构造,把问题域的分析转化为求解域的设计,分析的结果是设计阶段的输入。正确的打包/拆包、使用了错误的变量、错误的数据引用、缩放数据范围或单位错误、不正确的数据维数、不正确的下标、不正确的类型、不正确的数据范围、数据超出限制、数据溢出、不一致的数据。明的黑箱子,完全不考虑(或不了解)软件的内部结构和处理算法,它只检查软件功能是否能按照软件需求说明书的要求正常使用,软件是否能适当地接收输入数据并产生正确的输出信息,软件运行过程中能否保持外部信息(例如文件和数据库)的完整性等。原创 2024-07-11 22:08:48 · 710 阅读 · 0 评论 -
软件架构之设计模式概述
在 20 世纪 70 年代,Christopher Alexander 提出了城市建筑的模式,他认为:模式就是描述一个不断发生的问题和该问题的解决方案。随后,Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 写了一本著名的参考书《设计模式:可复用面向对象软件的基础》。后人也因为这本书称这四个人为四人组,将这本书中描述的模式称为 GoF(Gang of Four)设计模式。原创 2024-07-11 10:24:04 · 937 阅读 · 0 评论 -
软件架构之复用以及产品线、软件架构视图
软件企业将相关的构件有机地组织在一起,形成构件系统(较构件库层次更高),实施复用的软件企业通常拥有多个构件系统,有的是购置的,有的是自己开发的。现代软件系统非常复杂,通常在某个具体的时间内只需将注意力集中在某几个结构上(就像看病时,医生只是将注意力集中在某方面的人体结构上,骨科医生与心血管科医生关心不同的结构),结构是元素本身的集合,而视图则是捕获和表达结构(文档描述),虽然它们有区别,但在实际使用时则不严格区分,即从系统体系的角度说是结构,从文档角度说是视图,因此,本节将不再区分结构和视图术语。原创 2024-07-11 09:48:46 · 643 阅读 · 0 评论 -
软件架构之架构设计与评估
即每个模块都构成自己的小领域(专门知识或专门技术),并与其他模块的接口清晰,这样,不同的模块分到不同的开发小组中,就能减少各开发小组之间的沟通成本,而在各开发小组内部,由于是处理小领域的问题,容易建立起有效的沟通机制,如成员有这个小领域的背景。修剪这棵树,保留重要场景(不超过 50 个),再对场景按重要性给定优先级(用 H/M/L 的形式),再按场景实现的难易度来确定优先级(用 H/M/L 的形式),这样对所选定的每个场景就有一个优先级对(重要度,难易度),如(H,L)表示该场景重要且易实现。原创 2024-07-10 21:30:21 · 842 阅读 · 0 评论 -
软件架构之架构风格
SOA 是一种在计算环境中设计、开发、部署和管理离散逻辑单元(服务)模型的方法。SOA 并不是一个新鲜事物,而只是面向对象模型的一种替代。虽然基于 SOA 的系统并不排除使用 OOD 来构建单个服务,但是其整体设计却是面向服务的。由于 SOA 考虑到了系统内的对象,所以虽然 SOA 是基于对象的,但是作为一个整体,它却不是面向对象的。SOA 系统原型的一个典型例子是 CORBA,它已经出现很长时间,其定义的概念与 SOA 相似。原创 2024-07-10 21:09:00 · 785 阅读 · 0 评论 -
软件架构之软件架构概述及质量属性
软件架构是软件抽象发展到一定阶段的产物,从编程的角度,可以清晰地看到软件抽象层次和表达工具的发展历史。20 世纪 60 年代是子程序的年代:出现了原始的软件架构,即子程序,并以程序间的调用为连接关系。20 世纪 70 年代是模块化的年代:出现了数据流分析、实体—关系图(E-R 图)、信息隐藏等工具和方法,软件的抽象层次发展到了模块级。20 世纪 80 年代是面向对象的年代:基于模块化的编程语言进一步发展成面向对象的语言,继承性地增加了一种新元素之间的连接关系。原创 2024-07-10 16:42:25 · 1122 阅读 · 0 评论 -
软件架构之系统分析与设计方法(2)
限于篇幅,这里只列出工作流管理联盟对于工作流的定义:“工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则、文档、信息或任务在不同的执行者之间传递、执行”。(1)工作流。简单地说,工作流是现实中的具体工作从开始到结束过程的抽象和概括。这个过程包括了众多因素:任务顺序、路线规则、时间时限约束等。(2)流程定义。流程定义是指对业务过程的形式化表示,它定义了过程运行中的活动和所涉及的各种信息。原创 2024-07-10 16:03:20 · 437 阅读 · 0 评论 -
软件架构之系统分析与设计方法(1)
软件系统的目的是为了解决问题,因此在建模之初最重要的步骤是对问题的分析与定义,并在此基础上归结模型,这样才能够获得切实有效的模型。定义问题的过程包括:理解真实世界中的问题和用户的需要,并提出满足这些需要的解决方案的过程。通过对问题进行细致周密的分析,就可以对其进行综合的定义。对于一个问题的完整定义,通常应包括目标、功能需求和非功能需求三个方面。1.目标目标是指构建系统的原因,它是最高层次的用户需求,是业务上的需要,而功能、性能需求则必须是以某种形式对该目标做出贡献。在描述目标时,应该注意以下几个方面。原创 2024-07-10 13:43:30 · 1051 阅读 · 0 评论 -
软件架构之系统规划
信息技术的使用者是最终客户。系统分析师应尽可能用技术手段来平衡这些彼此对立的要求,保证在项目预期投入资源可接受的范围内,尽量实现客户要求质量对应的功能和性能、发掘客户假想质量对应的功能要求并进行沟通确认,但按自身所服务企业的经营目标平衡考虑客户兴奋质量的实现策略(是努力提供兴奋质量的功能、争取忠诚的客户获得远期潜在的收益,还是削减这些功能、以便使项目的成本最小化)。对遗留系统的完全淘汰是企业资源的根本浪费,应该善于“变废为宝”,通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计,降低新系统开发的风险。原创 2024-07-09 10:55:48 · 965 阅读 · 0 评论 -
软件架构之开发方法
软件开发方法是软件开发的方法学。自从“软件危机”爆发以来,软件研究人员就在对开发方法进行不断地研究,以期能够提高软件的质量、降低软件的成本。经过 40 多年的研究,人们提出了很多开发方法,如最初的结构化开发到现在非常流行的面向对象的开发方法等。本章将介绍软件生命周期、软件开发模型、软件重用技术、逆向工程及形式化开发方法。软件生命周期也就是软件生存的周期。同万物一样,软件也有诞生和消亡,软件生命周期就是指软件自开始构思与研发到不再使用而消亡的过程。有关软件生命周期的阶段划分,不同的标准有不同的规定。在 GB8原创 2024-07-08 16:05:58 · 917 阅读 · 2 评论 -
软件架构之系统性能评价
系统性能是一个系统提供给用户的众多性能指标的混合体。它既包括硬件性能,也包括软件性能。随着计算机技术的不断发展,有关性 能的描述也越来越细化,根据不同的应用需要产生了各种各样的性能指标,如整数运算性能、浮点运算性能、响应时间、网络带宽、稳定性、I/O 吞吐量、SPEC-Int、SPEC-Fp、TPC、Gibson mix 等。有了这些性能指标之后,如何来衡量这些性能指标呢?这就涉及了性能计算。同时用户对性能需求的多样性和广泛性也更进一步加快了计算机技术的发展,并由此出现了一个新的分支:性能设计。性能设计主要原创 2024-07-08 14:25:23 · 717 阅读 · 0 评论 -
软件架构之计算机网络
从古代的驿站、八百里快马,到近代的电报、电话,人类对于通信的追求从未间断,信息的处理与通信技术的革新一直伴随社会的发展。而作为 20 世纪人类最伟大、最卓越的发明——个人计算机的出现与发展,使得人们获得了以前无法想象的信息处理能力,为了将这些强大的信息处理设备连接起来,避免出现信息孤岛现象,就催生了“计算机网络”,这一新时代的通信技术。计算机网络使得其功能得到了大大的加强,范围得到了很大的扩展。从严谨的定义角度说,计算机网络是指由通信线路互相连接的许多独立自主工作的计算机构成的资源共享集合体,它是计算机技术原创 2024-07-08 11:36:53 · 2076 阅读 · 0 评论 -
软件架构之数据库系统(2)
数据库系统运行的基本工作单位是事务,事务相当于操作系统中的进程,是用户定义的一个数据库操作序列,这些操作序列要么全做要么全不做,是一个不可分割的工作单位。事务具有以下特性:(1)原子性(Atomicity):数据库的逻辑工作单位。(2)一致性(Consistency):使数据库从一个一致性状态变到另一个一致性状态。(3)隔离性(Isolation):不能被其他事务干扰。(4)持续性(永久性)(Durability):一旦提交,改变就是永久性的。原创 2024-07-07 12:32:29 · 576 阅读 · 0 评论 -
软件架构之数据库系统(1)
随着应用系统的规模越来越大,现在的系统开发大部分都是基于数据库的应用,因此,作为一名系统架构设计师,要熟练地掌握数据库系统的设计方法和技术。本章在宏观上就系统架构设计师必须要掌握的内容进行介绍,有关细节方面的知识,如果读者感兴趣,可以参考数据库专业教程。原创 2024-07-06 21:35:43 · 897 阅读 · 0 评论 -
软件架构之操作系统
操作系统(Operating System,OS)是计算机系统中的核心系统软件,负责管理和控制计算机系统中的硬件和软件资源,合理地组织计算机工作流程和有效地利用资源,在计算机与用户之间起接口的作用。操作系统为用户提供的接口表现形式一般为:命令、菜单、窗口之类的,而操作系统为应用程序提供的接口为 API。操作系统与硬件/软件的关系如图 2-1 所示。原创 2024-07-06 17:18:21 · 709 阅读 · 0 评论 -
软件架构之计算机组成与体系结构
计算机系统是一个硬件和软件的综合体,可以把它看成按功能划分的多级层次结构。硬件通常是指一切看得见,摸得到的设备实体。原始的冯•诺依曼(VonNeumann)计算机在结构上是以运算器为中心的,而发展到现在,已转向以存储器为中心了。图 1-1 所示为计算机最基本的组成框图。(1)控制器。控制器是分析和执行指令的部件,也是统一指挥并控制计算机各部件协调工作的中心部件,所依据的是机器指令。控制器的组成包含如下。① 程序计数器 PC:存储下一条要执行指令的地址;② 指令寄存器 IR:存储即将执行的指令;③ 指原创 2024-07-06 16:05:08 · 977 阅读 · 0 评论