上次的文章中,我们简单描述了一下软件架构的概念,接下来我们描述一下软件架构中的具体细节。
软件架构
所谓软件元素,即指组成软件系统的一个最基本的模块。一个软件元素的特性在很大程度上取决于系统的类型,以及你考虑和选取软件元素的背景和关注点。程序Lib库,子系统,可部署的颗粒或者控件(如企业级Java Bean,ActiveX 控件等),可重用的软件产品(如数据库管理系统),全部的应用程序都可以称为一个软件系统的软件元素,它取决于软件系统的构建。
一个软件元素所拥有的特点如下:
一个明确的界定的责任
一个明确定义的边界
一组明确的接口,它定义了该软件元素对外提供的服务
利益相关者
传统的软件开发是依靠满足用户需求驱动的,虽然软件开发的用户不尽相同,但软件开发的方法都是基于这个原则的。
然而,一个软件系统的生命周期不仅限于谁使用它,同时软件的构建、测试、操作、修改等等,整个活动周期中包含了大量的人员,这些人员中每个人都有自己的利益需求和关注点,我们称这些利益相关集体为利益相关者。
软件体系结构中的利益相关者可以是一个人,一个组织或者是关注软件体系结构的实现的实体。
架构描述
一个软件系统的体系结构可能非常复杂,架构描述就是指架构师将软件体系结构的复杂性清晰的描述给需要的人。
架构描述(AD)是用来让软件系统的利益相关者理解和论证软件系统已经满足他们的要求的一系列文档和产品。
通过以上描述我们可以总结一下几个概念:
系统是以建立需求、问题、目标和处理利益相关者为目的的
系统架构是由一系列架构元素和元素之间的联系构成的。
系统架构可以通过架构描述进行记录(完全、部分、无)。
架构描述是为了证明已经了满足利益相关者的需求。
对于软件架构的概念性理解,我们就到这里,接下来我们继续描述一下其他相关内容。
……
系统架构师秘籍(二)软件架构- 续,布布扣,bubuko.com