系统架构师-基础到企业应用架构系列之--介绍篇

简介:

什么是系统架构

软件架构的起源

      软件中的系统架构,其实是从建筑行业中的架构设计参考过来的,但是软件中的系统架构又有很大的特殊性。特殊性表现在,软件的架构可以在设计完毕后,项目进行的过程中进行相应的变化,或者可以推到重来,但是建筑行业中却不能这么做。软件行业有着很大的变化性。

什么是架构

架构总体来说就是实现需求功能的较复杂组件的设计与不能精简的较复杂组件。ISO与IEEE对系统架构的定义:一致认为软件密集型系统的架构分为主要模块,组织模块与支撑模块3部分。

系统架构的目标

 

功能:功能上必须满足需求。

可靠性:系统系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。

可用性:系统必须可用。

可维护性:系统的维护包括两方面,一是排除现有的错误,二是将新的需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费

安全性:系统所承担的交易的商业价值极高,系统的安全性非常重要。

可扩展性:必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。

系统架构师的职责

      系统分析员通过与项目干系人的沟通或者是与客户的沟通整理出来功能需求,形成需求文档,然后将文档交付给系统架构师,系统架构师负责将分析员整理的需求转换为详细设计说明书。这个详细设计书作为与开发人员沟通的主要工具。

      系统架构师可以通过使用UML建模工具,在详细设计说明书中书写每个组件的设计用力图或者流程图,或者是通过IBM的relations Rose工具来实现相应的建模。

      系统架构师在设计时遵循的原则是:

      1、低耦合:就是要求不同的组建之间的耦合度最低。每个组建的功能应尽量的分离,他们直接的调用关系进行把对象的引用转换为接口的引用。

      2、高内聚:功能相像的功能放在一个组件中,对外提供接口调用的方式来整理。

      系统架构师作为需求分析师与软件开发工程师之间的核心关键。好的系统架构不但可以满足软件的功能需求有更好的扩展性,可维护性,安全性,可靠性的等等。

      系统架构师必须参与到开发的全过程。

系统的需求

      一般来说。系统的需求分为:功能性需求与非功能性需求。

系统架构设计影响的原因

      系统架构师在进行系统设计的时候一般采用的方式是通过逻辑分层将功能相像的模块放在单独的层中,然后通过分层来实现系统的功能分离与低耦合、高内聚的原则。

      系统架构的设计与系统采用的开发方式有关,软件的开发方式可简单分为:传统方式与敏捷开发。

      传统方式:大家熟知的瀑布型模式,软件的过程严格的按照上级步骤执行完毕后开始下一步骤。

      敏捷开发:则是递增需求的迭代开发。每个阶段都会新增一个需求,完成这个需求之后变发布软件,虽然软件的功能不全,但是至少是可以使用的。

      系统架构师的设计方案,最后由项目干系人进行确定,确定采用哪个设计方案,当然最后也可能不采用,造成这样的结果,可能的原因是非功能性需求的原因。非功能性的需求:例如与之前系统的继承,硬件设备,网络环境等等。

 

系统架构的设计方案

      系统架构可以简单的分为隐式架构与显示架构,例如:盖一个小狗的棚子,有经验的架构师在自己的脑海中就已经有了如何去架构。这就是隐式架构。有些情况下:系统的功能比较复杂和细化,我们不可能在脑海中就能想出来如何架构,需要通过做demo或者模块化的划分来设计,这就是显示架构。

      系统的架构设计,必须考虑设计的可行性,可扩展性,健壮性,可用性,高效性,安全性等方面,还要考虑软件所处的环境等等,各方面的因素都要考虑,否则等软件开发的过程中发现系统架构设计中的不足再去修改,代价是很昂贵的。

 

系统架构说明

因为本人初次写博。部分描述不清楚的部分在所难免,错字方面还请见谅,还请大家多多提出交流意见,大家共同提高。

 

下一篇将对系统架构的具体实践展开讲解

 

最后CallHot 会尽心尽力写好这个系列,同时由于是自己对这些知识的使用总结和心得体会,错误之处在所难免,所以希望大家能够多多指点,这样在使一部分人受益的同时也能纠正我的错误观点,以便和各位共同提高,后续文章敬请关注!




本文转自何戈洲博客园博客,原文链接:http://www.cnblogs.com/hegezhou_hot/archive/2010/09/07/1820327.html,如需转载请自行联系原作者


目录
相关文章
|
3月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
856 3
|
5月前
|
存储 边缘计算 Cloud Native
“论模型驱动架构设计方法及其应用”写作框架,软考高级,系统架构设计师
模型驱动架构设计是一种用于应用系统开发的软件设计方法,以模型构造、模型转换和精化为核心,提供了一套软件设计的指导规范。在模型驱动架构环境下,通过创建出机器可读和高度抽象的模型实现对不同问题域的描述,这些模型独立于实现技术,以标准化的方式储存,利用模型转换策略来驱动包括分析、设计和实现等在内的整个软件开发过程。
331 3
|
2月前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
92 6
|
2月前
|
缓存 负载均衡 数据管理
深入探索微服务架构的核心要素与实践策略在当今软件开发领域,微服务架构以其独特的优势和灵活性,已成为众多企业和开发者的首选。本文将深入探讨微服务架构的核心要素,包括服务拆分、通信机制、数据管理等,并结合实际案例分析其在不同场景下的应用策略,旨在为读者提供一套全面、深入的微服务架构实践指南。**
**微服务架构作为软件开发领域的热门话题,正引领着一场技术革新。本文从微服务架构的核心要素出发,详细阐述了服务拆分的原则与方法、通信机制的选择与优化、数据管理的策略与挑战等内容。同时,结合具体案例,分析了微服务架构在不同场景下的应用策略,为读者提供了实用的指导和建议。
|
5月前
|
存储 数据采集 数据挖掘
“湖仓一体架构及其应用”写作框架,系统架构设计师
随着5G、大数据、人工智能、物联网等技术的不断成熟,各行各业的业务场景日益复杂,企业数据呈现出大规模、多样性的特点,特别是非结构化数据呈现出爆发式增长趋势。在这一背景下,企业数据管理不再局限于传统的结构化OLTP(On-Line Transaction Processing)数据交易过程,而是提出了多样化、异质性数据的实时处理要求。传统的数据湖(Data Lake)在事务一致性及实时处理方面有所欠缺,而数据仓库(Data Warehouse)也无法应对高并发、多数据类型的处理。因此,支持事务一致性、提供高并发实时处理及分析能力的湖仓一体(Lake House)架构应运而生。湖仓一体架构在成本、
125 2
|
5月前
|
存储 消息中间件 API
“论微服务架构及其应用”写作框架,软考高级,系统架构设计师
论微服务架构及其应用近年来,随着互联网行业的迅猛发展,公司或组织业务的不断扩张,需求的快速变化以及用户量的不断增加,传统的单块(Monolithic)软件架构面临着越来越多的挑战,已逐渐无法适应互联网时代对软件的要求。在这一背景下,微服务架构模式(MicroserviceArchitecturePattern)逐渐流行,它强调将单一业务功能开发成微服务的形式,每个微服务运行在一个进程中;采用HTTP等通用协议和轻量级API实现微服务之间的协作与通信。这些微服务可以使用不同的开发语言以及不同数据存储技术,能够通过自动化部署工具独立发布,并保持最低限制的集中式管理。
343 4
|
4月前
|
存储 搜索推荐 API
业务系统架构实践问题之单系统内架构形态中,起步时的domain设计问题如何解决
业务系统架构实践问题之单系统内架构形态中,起步时的domain设计问题如何解决
|
4月前
|
存储 搜索推荐 API
业务系统架构实践问题之分层架构中的四层定位是什么
业务系统架构实践问题之分层架构中的四层定位是什么
121 0
|
5月前
|
存储 弹性计算 安全
构建高效企业应用架构:阿里云产品组合实践深度解析
该方案展现了阿里云产品组合的强大能力和灵活性,不仅满足了当前业务需求,也为未来的扩展打下了坚实的基础。希望本文的分享能为读者在设计自己的IT解决方案时提供一定的参考和启发。
351 1
|
5月前
|
边缘计算 Cloud Native IDE
“论SOA在企业集成架构设计中的应用”写作框架,系统架构设计师
企业应用集成(Enterprise Application Integration, EAI)是每个企业都必须要面对的实际问题。面向服务的企业应用集成是一种基于面向服务体系结构(Service-OrientedArchitecture,SOA)的新型企业应用集成技术,强调将企业和组织内部的资源和业务功能暴露为服务,实现资源共享和系统之间的互操作性,并支持快速地将新的应用以服务的形式加入到已有的集成环境中,增强企业IT环境的灵活性。
118 0