软考-架构篇-架构模型

目录

模型分类

4+1 视图


        软件架构作为一个有机的整体,可以分解成多个侧面来认识,每一个侧面强调它不同方面的特征,从而使架构设计师能整体的把握它的重点。可以将架构软件架构归纳为5种模型结构模型、框架模型、动态模型、过程模型和功能模型。最常用的是结构和动态模型。

模型分类


       结构模型  

       最直观、最普遍的建模方式。以架构的构件、连接件和其他概念来刻画结构,力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质

        框架模型

        与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构,主要以一些特殊的问题为目标建立只针对和适应该问题的结构

        动态模型

        对结构、框架模型的补充。研究系统”大颗粒“的行为性质。例如描述系统的重新配置或演,动态模型可以指系统总体结构的配置、建立或拆除通信通道或计算的过程

        过程模型

        研究构造系统的步骤和过程。引起结构是遵循某些过程脚本的结果。

        功能模型

        认为架构由一组功能构件按层次组成,且下层向上层提供服务。

4+1 视图


                                ​​​​​​​        ​​​​​​​        ​​​​​​​        软考-架构篇-架构模型_第1张图片

        逻辑视图

        主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中将系统分解成一系列功能抽象,这些抽象主要来自问题领域,这种分解不但可以用来进行功能分解,而且可用作标识整个系统的各个不同部分的通用机制和设计元素。在面向对象技术中,通过抽象、封装和继承可以用对象模式来代表逻辑视图,用类图描述逻辑视图。逻辑视图中使用的风格是面向对象风格,逻辑视图设计中要注意的主要问题是要保持一个单一的、内聚的对象模型贯穿整个系统

        开发视图(模块视图)

        主要侧重于软件模块的组织和管理。软件可通过程序库或子系统进行组织。这样对于一个软件系统就可以由不同的人进行开发。该视图要考虑软件内部的需求,如软件开发的容易性、软件的重用性和通用性。还需要充分考虑由于具体开发工具的不同带来的局限性。开发视图通过系统输入输出关系的模型图和子系统图来描述。可以在确定了软件包含的所有元素之后描述完整的开发角度,也可以在确定每个元素之前,列出开发视图原则。

        进程视图

        侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的主要抽象的进程结构。也定义逻辑视图中的各个类的操作具体在哪一个线程中被执行的。

        物理视图

        主要考虑如何将软件映射硬件上,考虑解决系统拓扑结构、系统安装、通信等问题,当软件运行于不同的节点上时,各视图中的构件都直接或间接的对应系统的不同节点上。

        场景

        可以看作是哪些重要系统活动的抽象,使四个视图有机的练习起来,从某种一样上来说,场景是最重要的需求抽象。在开发框架时可以帮助设计者找到架构的构件和他们之间的作用关系,用来描述非功能需求

你可能感兴趣的:(软考,java,开发语言)