系统架构师秘籍(二)软件架构- 续

上次的文章中,我们简单描述了一下软件架构的概念,接下来我们描述一下软件架构中的具体细节。

软件架构

所谓软件元素,即指组成软件系统的一个最基本的模块。一个软件元素的特性在很大程度上取决于系统的类型,以及你考虑和选取软件元素的背景和关注点。程序Lib库,子系统,可部署的颗粒或者控件(如企业级Java Bean,ActiveX 控件等),可重用的软件产品(如数据库管理系统),全部的应用程序都可以称为一个软件系统的软件元素,它取决于软件系统的构建。

一个软件元素所拥有的特点如下:

一个明确的界定的责任

一个明确定义的边界

一组明确的接口,它定义了该软件元素对外提供的服务

利益相关者

传统的软件开发是依靠满足用户需求驱动的,虽然软件开发的用户不尽相同,但软件开发的方法都是基于这个原则的。

然而,一个软件系统的生命周期不仅限于谁使用它,同时软件的构建、测试、操作、修改等等,整个活动周期中包含了大量的人员,这些人员中每个人都有自己的利益需求和关注点,我们称这些利益相关集体为利益相关者。

软件体系结构中的利益相关者可以是一个人,一个组织或者是关注软件体系结构的实现的实体。

架构描述

一个软件系统的体系结构可能非常复杂,架构描述就是指架构师将软件体系结构的复杂性清晰的描述给需要的人。

架构描述(AD)是用来让软件系统的利益相关者理解和论证软件系统已经满足他们的要求的一系列文档和产品。

通过以上描述我们可以总结一下几个概念:

系统是以建立需求、问题、目标和处理利益相关者为目的的

系统架构是由一系列架构元素和元素之间的联系构成的。

系统架构可以通过架构描述进行记录(完全、部分、无)。

架构描述是为了证明已经了满足利益相关者的需求。

对于软件架构的概念性理解,我们就到这里,接下来我们继续描述一下其他相关内容。

……

系统架构师秘籍(二)软件架构- 续,布布扣,bubuko.com

时间: 2024-10-14 13:17:00

系统架构师秘籍(二)软件架构- 续的相关文章

系统架构师秘籍(一)软件架构

当我们在讨论软件系统架构的一些概念的时候,经常会借助一些其他学科(如造船.建筑等)的概念进行描述.例如当我们讨论"架构"这个概念的时候,我们就会借助微处理器的内部结构.机器的内部结构.组织网络.软件架构和其他许多东西进行对比和理解.今天主要介绍一下软件架构.架构元素.架构描述和一些其他相关内容. 什么是软件架构 在现在社会中到处都可以看到计算机的身影,不仅仅是数据中心的桌面上,甚至在汽车.洗衣机和信用卡上.这些计算机无论体积大或小.结构简单或者复杂,所有的计算机都是由三个基本组成部分:

系统架构师秘籍(三)架构视角和关注点

上次的博文中,我们介绍了一下软件架构的基本概念,接下来我们介绍一下如何来架构一个软件系统. 当我们开始进行系统架构设计的时候,通常会考虑以下几点: 所设计的软件体系结构的主要功能要素是什么. 如何将这些要素与其他系统关联. 哪些信息需要存储.管理和展示. 要实现这些功能要素需要什么硬件和软件. 所设计的软件体系结构提供什么样的特性和能力. 开发.测试.支持.培训环境都需要做什么. 考虑上述问题的时候,我们从哪些层面来考虑呢?那就是架构视角和关注点两个层面. 架构视角 架构视角是从一个或多个角度对

10个重要部分,讲述从程序员到高级系统架构师该如何进阶?

1 前言 说到系统架构师,相信很多企业都有这样的高级人才.系统架构师已然成为国内一门十分紧俏的职业,一名优秀的系统架构师常常会吸引各方企业争抢. 系统架构师的职责是在项目开发过程中,制定这个项目的总体脚骨,指导整个开发团队完成这个计划,他必须对开发技术非常了解,并且需要良好的组织管理能力,可以这样说,一个架构师的好坏决定了整个项目的成败. 当前,我们国家经济形势热度不减,软件企业成长速度惊人.随着信息时代的来临,架构师在业务发展中扮演的角色越来越重要,如何做好整个IT架构的设计,已经成为企业信息

从程序员到高级系统架构师完美进阶

前言 说到系统架构师,相信很多企业都有这样的高级人才.系统架构师已然成为国内一门十分紧俏的职业,一名优秀的系统架构师常常会吸引各方企业争抢. 系统架构师的职责是在项目开发过程中,制定这个项目的总体脚骨,指导整个开发团队完成这个计划,他必须对开发技术非常了解,并且需要良好的组织管理能力,可以这样说,一个架构师的好坏决定了整个项目的成败. 当前,我们国家经济形势热度不减,软件企业成长速度惊人.随着信息时代的来临,架构师在业务发展中扮演的角色越来越重要,如何做好整个IT架构的设计,已经成为企业信息化建

系统架构师-基础到企业应用架构-单机软件架构

开篇 系统架构的文章系列,也是搁浅的太久了,最近也是整理了下思路,将目前未完成的内容,写完吧,也不能拖太久,就不太好了.所以就趁周末写一下,今天我 们要说的是单机应用,单击应用软件可以很复杂,也可以很简单.有些单机软件可以没有数据库,也可以有数据库,比如我们平时的一些工具类的软件,写字板,V S开发工具等,当然,目前很多的单机软件都有联网的功能,单机软件,估计大家有时候回想,单机软件不需要什么特殊的架构设计吧,其实不然,因为有的时候我 们的单机工具,可能是提供给不同的用户群体等,或者是面向不同的

为什么要报考系统架构师考试

最近一年多,很多朋友来信,问我什么要报考系统架构设计师考试.为什么参加这个考试,这个考试有用吗?对自己的职业会带来什么好处?我想有以下几个方面: 一.强迫自己,去系统学习软件架构设计的理论,追踪业界架构设计的发展动态.去学习的动力有很多,如为了兴趣,为了工作,为了职位升迁,为了大幅提升薪水等.其实,为了应付考试,通过考试,也是学习知识的一种很好的方法.尤其,对自律能力不是很好的同学: 二.系统架构师考试,作为计算机技术与软件专业技术资格(水平)考试系列的最高级别专业考试,是国家认可的.如果通过,

系统架构师设计师考试范围

工作好多年了,在硬件,软件,通信等方面都有好几年历练了,近来准备考系统架构师了,一:有工作经验考这个更合适些,二:可以丰富下自己的理论知识.三:可以发现弥补自身存在的不足,没什么坏处.最近买了一本<系统架构师设计师教程>,发现要考的东西还是很多的,要学习的东西还是挺多的,有操作系统的,数据库,测试方面的,数据通信,开发,虚拟化方面的,下面拿其大致罗列下,准备朝这方面努力. =============================================================

系统架构师考试之备考经验分享

系统架构设计师考试偏重技术,想要通过考试,需要系统地去学习软件架构设计的理论,追踪业界架构设计的发展动态,对大多数考友有一定的难度,如果从考过的前辈们那里取取经,知道他们的过关秘诀,学习他们的备考方法,相信对大家有用处,下面我给大家整理了一位前辈的通关秘诀,希望能帮助到大家! 一.参加这次考试的原因 参加工作后,我一直都有学习新的知识,但是都是少有总结,阶段性的成果也不太明显.我日益地觉得要么有一些文档记录自己的心得.要么有一段程序实践自己新的知识.要么可以通过某一些考试证明学习的效果,这样才能

系统架构师-基础到企业应用架构-业务逻辑层

一.上章回顾 上章我们主要讲述了系统设计规范与原则中的具体原则与规范及如何实现满足规范的设计,我们也讲述了通过分离功能点的方式来实现,而在软件开发过程中的具 体实现方式简单的分为面向过程与面向对象的开发方式,而目前更多的是面向对象的开发设计方式.并且我们也讲述了该如何通过设计手段去分析功能点及设计分离 点,应该如何在设计的过程中分析的角度及如何去满足设计规范与原则.首先我们通过下图来回顾下上章要点: 二.摘要 本文将已架构的方式去分析分层结构中的业务层的设计,如何写出来内聚度,高耦合的业务逻辑层