软件体系结构 第二章 软件体系结构建模
前言
本文为XJU本科期间博主根据 《软件体系结构原理、方法与实践》第二版 所作的期末考点总结,因为是课堂重点总结,所以有些重要知识点没有涵盖还请见谅,每个学校的期末课程要求都有所不同,如需完整地学习软件体系结构,还请读者阅读张友生先生所著的《软件体系结构原理、方法与实践》。
目录
读者可以通过目录链接跳转至任意一章的考点总结,也可以通过我的主页内的【软件体系结构】专栏进行查找。欢迎大家关注我或者订阅您感兴趣的专栏,我会定期更新相应内容。如果本系列的考点总结对您有帮助,欢迎各位在页面下方点赞或者在评论区留言。
考点总结
1. 软件体系结构的五种模型(最常用的模型为结构模型和动态模型):
- 结构模型
- 框架模型
- 动态模型
- 过程模型
- 功能模型
2. "4+1"视图模型:
1995年由Kruchyen提出的“4+1”视图模型,“4+1”视图模型从5个不同的视角(逻辑视图、进程视图、物理视图、开发视图和场景视图)来描述软件体系结构。每个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。
逻辑视图
逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。
特点:
- 在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。
- 在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代替逻辑视图,用类图来描述逻辑视图。
开发视图
开发视图也称模块视图,主要侧重于软件模块的组织和管理。
特点:
- 开发视图通过系统输入输出关系的模型图和子系统图来描述。
- 开发视图所用的风格通常是层次结构风格。
进程视图
进程视图也称为并发视图,侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。
特点:
- 进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。
- 进程视图可以描述成多层抽象,每个级别分别关注不同的方面。
- 有很多风格适用于进程视图,如管道和过滤器风格、客户-服务器风格等。
物理视图
物理视图主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通信等问题。
特点:
- 大型系统的物理视图可能会变的十分混乱,因此可以与进程视图的映射一道,以多种形式出现,也可单独出现。
场景视图(用例视图)
场景可以看作那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上来说场景是最重要的需求抽象。
特点:
- 场景可以用文本表示,也可以用图形表示
- 场景视图可以用来帮助设计师找到体系结构的构件和它们之间的作用关系。
- 可以用场景视图来分析一个特定的视图,或描述不同视图构件间是如何相互作用的。
3. “4+1”视图间的联系
- 逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。
- 对于不同的软件系统来说,侧重的角度也有所不同。
4. 软件体系结构的核心模型
体系结构的核心模型由5种元素组成:构件、连接件、配置、端口和角色。其中,构件、连接件和配置是最基本的元素。
- 构件是具有某种功能的可重用的软件模版单元,表示了系统中主要的计算元素和数据存储。构件有两种:复合构件和原子构件,复合构件由其他的复合构件和原子构件连接而成。原子构件是不可再分的构件。
- 连接件表示了构件之间的交互,简单的连接件如管道、过程调用、时间广播等,复杂的交互有客户-服务器通信协议,数据库和应用之间的SQL连接等。
- 配置表示了构件和连接件的拓扑逻辑和约束。
- (这句话理解即可)构件作为一个封装的实体,只能通过其接口与外部环境交互,构件的接口由一组端口组成,每个端口表示了构件和外部环境的交互点 。通过不同的端口类型,一个构件可以提供多重接口。一个端口可以非常简单,如过程调用,也可以表示更为复杂的界面,如必须以某种顺序调用的一组过程调用。
5. 软件体系结构的生命周期
- 软件体系结构的非形式化描述
- 软件体系结构的规范描述和分析
- 软件体系机构的求精及其验证
- 软件体系结构的实施
- 软件体系结构的演化和扩展
- 软件体系结构的提供、评价和度量
- 软件体系结构的终结
结束语
以上就是博主总结的第二章考点内容,持续更新中,欢迎大家关注我。如有错误欢迎各位在评论区指出。最后祝将要考试的小伙伴们逢考必过!