信息系统架构基本概念及发展_2.信息系统架构的定义

1.几种架构的定义

信息系统架构仍在不断发展中,还没有形成一个公认的定义,这里举出几个定义。

定义1:软件或计算机系统的信息系统架构是该系统的一个(或多个)结构,而结构由软件元素、元素的外部可见属性及它们之间的关系组成。

定义2:信息系统架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件系统元素的描述、这些元素的相互作用、指导元素集成的模式及这些模式的约束组成。

定义3:信息系统架构是指一个系统的基础组织,它具体体现在:系统的构件,构件之间、构件与环境之间的关系,以及指导其设计和演化的原则上。

前两个定义都是按"元素-结构-架构"这一抽象层次来描述的,它们的基本意义相同,其中定义1较通俗。该定义中的"软件元素"是指比"构件"更一般的抽象,元素的"外部可见属性"是指其他元素对该元素所做的假设,如它所提供的服务、性能特征等。

2.对定义的说明

为了更好地理解信息系统架构的定义,特作如下说明:

(1)架构是对系统的抽象,它通过描述元素、元素的外部可见属性及元素之间的关系来反映这种现象。因此,仅与内部具体实现有关的细节是不属于架构的,即定义强调元素的"外部可见"属性。因此,仅与内部具体实现有关的细节是不属于架构的,即定义强调元素的"外部可见"属性。

(2)架构由多个结构组成,结构是从功能角度来描述元素之间的关系的,具体的结构传达了架构某方面的信息,但是个别结构一般不能代表大型信息系统架构。

(3)任何软件都存在架构,但不一定有对该架构的具体表述文档。即架构可以独立于架构的描述而存在。如文档已过时,则该文档不能反映架构。

(4)元素及其行为的集合构成架构的内容。体现系统由哪些元素组成,这些元素各有哪些功能(外部可见),以及这些元素间如何连接与互动。即在两个方面进行抽象:在静态方面,关注系统的大粒度(宏观)总体结构(如分层);在动态方面,关注系统内关键行为的共同特征。

(5)架构具有"基础"性:它通常涉及解决各类重复问题的通用方案(复用性),以及系统设计中影响深远的各项重要决策。

(6)架构隐含有"决策",即架构是由架构设计师根据关键的功能和非功能性需求(质量属性及项目相关的约束)进行设计与决策的结果。不同的架构设计师自身的水平是一种约束,不断学习和积累经验才是摆脱这种约束走向优秀架构师的必经之路。

3.商业背景下的信息系统架构对企业的重要性

(1)影响架构的因素。软件系统的项目干系人(客户、用户、项目经理、程序员、测试人员、市场人员等)对软件系统有不同的要求、开发组织有不同的人员知识结构、架构设计师的素质与经验、当前的技术环境等方面都是影响架构的因素。这些因素通过功能性需求、非功能性需求、约束条件及相互冲突的要求,影响架构设计师的决策,从而影响架构。

(2)架构对上述诸因素具有反作用,例如,影响开发组织的结构。架构描述了系统的大粒度总体结构,因此可以按架构进行分工,将项目组分为几个工作组,从而是开发有序;影响开发组织的目标,即成功的架构为开发组织提供了新的商机,这归功于:系统的示范性、架构的可复用性及团队开发经验的提升,同时,成功的系统将影响客户对下一个i系统的要求等。这种反馈机制构成了架构的商业周期。

相关推荐
thginWalker27 分钟前
《高并发架构实战课》学习笔记
系统架构·高并发
武子康7 小时前
Java-136 深入浅出 MySQL Spring Boot @Transactional 使用指南:事务传播、隔离级别与异常回滚策略
java·数据库·spring boot·mysql·性能优化·系统架构·事务
做运维的阿瑞1 天前
Python零基础入门:30分钟掌握核心语法与实战应用
开发语言·后端·python·算法·系统架构
文火冰糖的硅基工坊2 天前
[硬件电路-324]:芯片根据功能、信号类型、应用场景、制造工艺、集成度及设计理念等多个维度进行分类
单片机·嵌入式硬件·系统架构·信号处理
云虎软件朱总2 天前
配送跑腿系统:构建高并发、低延迟的同城配送系统架构解析
java·系统架构·uni-app
qqxhb2 天前
系统架构设计师备考第33天——软件架构基础
系统架构·软件架构·构件·视图建模·分析设计实现·部署演化
张道天2 天前
软考系统架构设计师知识点-数学与经济管理
系统架构
谱写秋天2 天前
软考-系统架构设计师 关系数据库详细讲解
数据库·系统架构·软考架构师
roman_日积跬步-终至千里3 天前
【系统架构设计(36)】网络规划与设计
网络·系统架构
qqxhb3 天前
系统架构设计师备考第35天——软件架构复用
系统架构·管理·使用·获取·构件复用·机会复用·系统复用