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

1.几种架构的定义

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

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

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

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

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

2.对定义的说明

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

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

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

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

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

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

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

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

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

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

相关推荐
蝸牛ちゃん2 小时前
设计模式(十三)结构型:代理模式详解
设计模式·系统架构·代理模式·软考高级
weixin_307779131 天前
Windows 11下纯软件模拟虚拟机的设备模拟与虚拟化(仅终端和网络)
windows·系统架构
aiguangyuan2 天前
前端开发性能优化概要
系统架构·vue·react·前端开发
夜影风3 天前
分布式系统中的缓存设计与应用
缓存·系统架构·分布式系统
aiguangyuan4 天前
前端开发 React 状态优化
系统架构·前端开发
蝸牛ちゃん4 天前
主流软件开发方法综述:从敏捷到开源
系统架构·软考高级
geovindu4 天前
ArKTS: DAL,Model,BLL,Interface,Factory using SQLite
数据库·系统架构·sqlite
liupengfei-iot4 天前
物联网后端系统架构:从基础到AI驱动的未来 - 第八章:AI赋能的部署与运维
人工智能·物联网·系统架构
liupengfei-iot4 天前
物联网后端系统架构:从基础到AI驱动的未来 - 第九章:实际案例分析
人工智能·物联网·系统架构
William一直在路上4 天前
12306系统架构的演进
系统架构