3.8测试你的知识
以下是 iSAQB 课程中“设计软件架构”部分的一些详细摘录,以帮助您巩固所学内容。
LG2-1: 选择并遵循架构开发的方法和启发式 o 架构开发的基本流程 o 基于模型和视图的架构开发 o 基于模型和领域驱动设计 o 迭代和增量式设计 o 自上而下和自下而上设计 o 架构设计中的影响因素和约束作为限制(全局分析)
LG2-2:设计架构 o 基于已知的非安全和非业务关键型软件系统的功能和非功能需求,设计并适当地记录架构 o 识别和证明架构决策的相互依赖关系 o 就系统分解和构建块结构做出结构决策,并定义构建块之间的依赖关系和接口 o 能够解释“黑盒”和“白盒”的概念,并将其应用于特定目标 o 使用逐步细化(分层分解)和构建块的详细规范 o 设计单个架构视图 - 特别是部署、构建块和运行时视图 - 以及它们对相关源代码的影响 o 定义架构到源代码的映射,并评估相关后果 o 证明和应用架构中功能和技术元素的分离 o 设计和证明功能结构 o 理解非功能需求(易修改性、健壮性、效率等)的强大影响,并在架构和设计决策中加以考虑
LG2-3:识别并考虑影响软件架构的因素 o 确定并考虑作为设计自由限制的约束和影响因素 o 意识到并考虑质量要求和技术决策及概念对架构的影响 o 意识到并考虑组织结构对构建块结构的(可能)影响
LG2-4:决定和设计横切概念 o 决定并在必要时实现跨学科技术概念 o 识别和评估这些(技术)决策可能的相互依赖关系
LG2-5: 描述、解释并适当使用重要的架构模式和架构风格 o 数据流和以数据为中心的架构风格 o 分层架构风格 o 交互系统的建筑风格 o 异构架构风格 o 异步或分布式系统的架构风格 o 其他架构模式和风格 o 架构模式的重要来源
LG2-6:解释和使用设计原则 o 信息隐藏 o 耦合和内聚 o 关注点分离 o 开放/封闭原则 o 通过接口的依赖倒置 o 用于外部化依赖的依赖注入 o 编程语言的模型和源代码中的依赖关系
LG2-7:规划构建块之间的依赖关系 o 理解构建块之间的依赖关系和耦合,并将其用于特定目标 o 能够列出耦合的类型(结构、时间、通过数据类型、通过硬件等) o 认识到耦合的后果。 o 了解消除或减少耦合的方法 o 在(面向对象)编程语言中实现关系
LG2-8: 设计软件架构的构建块/结构元素 o 了解构建块和结构元素的理想属性(封装、信息隐藏、有限访问) o 黑盒和白盒构建块 o 构建块组合的类型(嵌套、使用/委托、继承) o 不同构建块及其组合的 UML 表示法 o 作为构建块聚合的语义较弱形式的包 o 具有明确定义接口的组件作为更具语义精确形式的聚合
LG2-9:设计和定义接口 o 意识到接口的重要性,并能够设计和定义架构构建块之间的接口 o 意识到接口的理想属性 o 定义接口,特别是外部接口 o 接口的规范和文档
Last updated