软件架构期末复习
题型
填空题 20分,2分/空,10空
选择题 30分,2分/题,15题
简答题 30分,6分/题,5题(概念+分析)
案例分析题 20分,5个小题(综合)
分值:体系结构、设计模式各占50%
考试内容
体系结构
- SA基础(SA03PPT):SA概念、SA与软件过程(阶段)的关系、SA核心概念模型(重要)
SA概念:SA的概念不用背 但是要知道构建和连接件的含义。
构件/组件 Component:系统的逻辑与功能结构组成单元
连接件 Connector:构件间交互的机制和规则
SA与软件过程(阶段)的关系:
SA核心概念模型(重要):5个 构件 、连接件和配置是组成核心模型的最基本元素
Component 构件 :构件是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。
-
-
-
- 构件是一个抽象概念,与具体实现技术无关。
- 原子构件不可再分;复合构件可分解为其他复合构件和原子构件。
- 构件通过其接口与外部环境交互,接口由一组端口 (Port)组成。(Port 端口)
- 每个端口表示构件和外部环境的交互作用点。如:包构件的端口指包外部可见对象的接口或属性,而模块构件的端口则是指模块中申明的外部过程或函数以及数据结构与变量。
-
-
Connector 连接件 :构件间相互交互的机制或规则
-
-
-
- 机制:是指连接件的具体实现形式:如过程调用、共享存储区、网络
- 规则:是指构件使用连接件应遵循的规范。如对过程调用的接口参数形式、共享存储区的数据存储结构(队列、堆栈等)、网络协议(TCP/IP,HTTP等)。
-
-
Configuration 配置 配置表示构件和连接件的拓扑逻辑和约束,包括:
-
-
-
- 构件的端口与连接件的角色之间的关联关系;
- 复合构件与其子构件的嵌套包含关系;
-
-
Role 角色 角色:连接件的交互参与者
-
-
-
- 通过连接件实现交互时,构件在交互过程中体现为不同的角色。
- 如RPC: 过程调用的调用方和被调用方
- 如C/S连接:客户方和服务器方
- 一个连接件所涉及的角色可以是二元的,也可以是多元的。
- 如:过程调用涉及的角色是二元的:调用者(caller)和被调用者(callee)
- 消息队列涉及的角色是多元的:消息源(source)和多个消息接收者/处理者(receivers/handlers)
-
-
- SA建模(SA04PPT):“4+1”视图 包含哪5个视图、每个视图的主要关注点、各视图构件和连接件的描述
-
- “4+1”视图 包含哪5个视图
- Logic View(逻辑视图):基于功能需求抽象,刻画系统的静态结构模型;
- Process View(进程视图):刻画系统运行时的结构模型;
- Development View(开发视图):考虑开发技术、过程与组织,刻画系统的开发管理结构模型;
- Physical View(物理视图):逻辑视图中各功能构件在安装部署环境中的映射,刻画系统的安装部署结构模型;
- Scenarios View(场景视图):从系统使用的角度对系统结构的描述。它反映的是在完成某个系统功能时,系统各功能构件间的交互关系。
- 每个视图的主要关注点与各视图构件和连接件的描述:
- 逻辑视图主要关注系统的功能需求。
- 在逻辑视图中,系统分解为一系列的功能抽象,这些抽象主要来自对软件功能需求的理解抽象(问题领域)
- 在面向对象技术中,可以用对象模型代表逻辑视图,用类图描述逻辑视图。
- 构件:类、类服务、参数化类、类层次(包)
- 连接件:关联、包含、聚集、使用、继承、实例化
- 开发视图关注软件开发环境下实际模块的组织和管理,体现为软件模块、库、子系统和开发单元的结构化组织。
- 开发视图要充分考虑软件实现的要求与约束,如软件开发技术要求、开发过程与组织形式、软件的复用性,以及技术与管理风险等因素。
- 开发视图可采用层次结构,每一层为上层提供良好定义的接口,层次越低,通用性越
- 逻辑视图主要关注系统的功能需求。
- “4+1”视图 包含哪5个视图