当前位置: 首页 > news >正文

软件架构期末复习

题型

填空题 20分,2分/空,10空

选择题 30分,2分/题,15题

简答题 30分,6分/题,5题(概念+分析)

案例分析题 20分,5个小题(综合)

分值:体系结构、设计模式各占50%

考试内容

体系结构

  1. SA基础(SA03PPT):SA概念、SA与软件过程(阶段)的关系、SA核心概念模型(重要)

SA概念:SA的概念不用背 但是要知道构建和连接件的含义。

构件/组件 Component:系统的逻辑与功能结构组成单元

连接件  Connector:构件间交互的机制和规则

SA与软件过程(阶段)的关系

SA核心概念模型(重要):5个 构件 、连接件和配置是组成核心模型的最基本元素

Component 构件 :构件是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。

        1. 构件是一个抽象概念,与具体实现技术无关。
        2. 原子构件不可再分;复合构件可分解为其他复合构件和原子构件。
        3. 构件通过其接口与外部环境交互,接口由一组端口  (Port)组成。(Port 端口)
        4. 每个端口表示构件和外部环境的交互作用点。如:包构件的端口指包外部可见对象的接口或属性,而模块构件的端口则是指模块中申明的外部过程或函数以及数据结构与变量。

 Connector 连接件 :构件间相互交互的机制或规则

        1. 机制:是指连接件的具体实现形式:如过程调用、共享存储区、网络 
        2. 规则:是指构件使用连接件应遵循的规范。如对过程调用的接口参数形式、共享存储区的数据存储结构(队列、堆栈等)、网络协议(TCP/IP,HTTP等)。

 Configuration 配置 配置表示构件和连接件的拓扑逻辑和约束,包括: 

        1. 构件的端口与连接件的角色之间的关联关系; 
        2. 复合构件与其子构件的嵌套包含关系;

 Role 角色 角色:连接件的交互参与者

        1. 通过连接件实现交互时,构件在交互过程中体现为不同的角色。 
        2. 如RPC: 过程调用的调用方和被调用方
        3. 如C/S连接:客户方和服务器方
        4. 一个连接件所涉及的角色可以是二元的,也可以是多元的。
        5. 如:过程调用涉及的角色是二元的:调用者(caller)和被调用者(callee)
        6. 消息队列涉及的角色是多元的:消息源(source)和多个消息接收者/处理者(receivers/handlers)
  1. SA建模(SA04PPT):“4+1”视图 包含哪5个视图、每个视图的主要关注点、各视图构件和连接件的描述
    • “4+1”视图 包含哪5个视图
      • Logic View(逻辑视图):基于功能需求抽象,刻画系统的静态结构模型;
      • Process View(进程视图):刻画系统运行时的结构模型;
      • Development View(开发视图):考虑开发技术、过程与组织,刻画系统的开发管理结构模型;
      • Physical View(物理视图):逻辑视图中各功能构件在安装部署环境中的映射,刻画系统的安装部署结构模型;
      • Scenarios View(场景视图):从系统使用的角度对系统结构的描述。它反映的是在完成某个系统功能时,系统各功能构件间的交互关系。
    • 每个视图的主要关注点与各视图构件和连接件的描述:
      • 逻辑视图主要关注系统的功能需求。
        • 在逻辑视图中,系统分解为一系列的功能抽象,这些抽象主要来自对软件功能需求的理解抽象(问题领域)
        •  在面向对象技术中,可以用对象模型代表逻辑视图,用类图描述逻辑视图。
        • 构件:类、类服务、参数化类、类层次(包)
        • 连接件:关联、包含、聚集、使用、继承、实例化 
      • 开发视图关注软件开发环境下实际模块的组织和管理,体现为软件模块、库、子系统和开发单元的结构化组织。
        • 开发视图要充分考虑软件实现的要求与约束,如软件开发技术要求、开发过程与组织形式、软件的复用性,以及技术与管理风险等因素。
        • 开发视图可采用层次结构,每一层为上层提供良好定义的接口,层次越低,通用性越

相关文章:

  • WinForm中实现Adobe PDF Reader实现旋转PDF功能
  • 从零打造前沿Web聊天组件:从设计到交互
  • PHP性能提升方案
  • 深入理解 Go 中的字节序(Endianness)检测代码
  • Qt::QueuedConnection详解
  • 前端框架vue3的变化之处
  • 2025 年 MQTT 技术趋势:驱动 AI 与物联网未来发展的关键动力
  • 基于YOLOv12的电力高空作业安全检测:为电力作业“保驾护航”,告别安全隐患!
  • Oracle 的 FORCE_LOGGING 特性
  • HTTP 响应状态码
  • DevSecOps实践:CI/CD流水线集成动态安全测试(DAST)工具
  • 什么是 Solana 上的 MEV?一键狙击是如何保护你的代币启动的?
  • 混合型交易所架构:CEX+DEX融合与Layer2扩展方案
  • Solidity 开发从入门到精通:语法特性与实战指南
  • 跨链/Layer2交易所架构:全链互操作与ZK-Rollup优化
  • 区块链世界的“破冰“之旅:比特币与以太坊首次组网全解析
  • 禁止虚拟机里的Win10的Windows Defender
  • 多头与空头:市场博弈的两面
  • 股指期货贴水率怎么计算?
  • python基础面试练习题
  • 工信部 网站备案材料 复印件 电子版/工具大全
  • 个人网页图片模块制作/seo职业培训学校
  • 国家城乡和住房建设部网站首页/免费ip地址网站
  • 天河区网站公司/谷歌网站
  • 免费编程网站/如何做推广呢
  • 成都爱品阅网络科技有限公司/沈阳seo优化