软件系统设计期末复习清单

pmx部分

设计模式

设计模式组合

lss部分

微服务架构20分

属性驱动设计成熟领域

文档化 关键view

微服务架构设计

关键模式 三种模式的价值 核心理念 本质 解决问题

观测流程 核心模式

部署大概流程

张贺部分

Outline

  • Software Architecture
  • Quality Attributes & Tactics
  • Architecture Patterns
  • Identifying ASRs
  • Designing Software Architecture
  • Microservices Architecture

Software Architecture in General

  • What is software architecture?
    • Structure, Elements, Relationships, Design
  • What does a software architect do?
    • Liaison, Software engineering, Tech. knowledge, Risk mgmt
  • Where do architectures come from?
    • NFRs, ASRs, Quality Requirements; Stakeholders, Organisations, Technical Environments…
  • Architecture [4+1] Views
    • Logical view, Process view, Physical view, Development view + Use case scenarios…
  • Architectural activities and process
  • Software architecture knowledge areas

Quality Attributes & Tactics

  • Software Requirements
    • Functional requirements, Quality requirements (~NFRs), Constraints
  • Quality Attributes & Tactics
    • Internal vs. External Attributes
    • Modeling quality attribute scenarios: Source, Stimulus, Artefact, Environment, Response, Measure
    • Availability, Interoperability, Modifiability, Performance, Security, Testability, Usability, X-ability…
    • Strategies & Tactics for quality attributes
  • Strategies vs. Tactics vs. Patterns vs. Styles

Identifying ASRs

  • Architecturally Significant Requirements
    • Functional requirements, Quality requirements, Constraints
  • How to gather and identify ASRs?
    • Requirement Docs, QA Workshop (interviews), Business goals
    • Utility tree (Ranked scenarios: Importance vs. Difficulty)

Design Decisions

  • General Design Strategy
    • Abstraction, Decomposition, Divide & conquer, Generation & test, Iteration, Reuse
  • Categories of design decisions
    • Allocation of responsibilities
    • Coordination model
    • Data model
    • Management of resources
    • Mapping among architecture elements
    • Binding time decisions
    • Choice of technology

lj模式

架构模式演化