Skip to content
IRC-Coding IRC-Coding
UML Use Case GRASP SOLID Design Patterns Architecture Patterns

Analysis & Design: UML, Use Cases, GRASP & SOLID

Master analysis vs. design: structure requirements with Use Cases and UML, design classes and sequences, apply GRASP and SOLID principles.

S

schutzgeist

2 min read

Apply Analysis and Design Methods

This post is a definition of terms for analysis and design methods – including exam questions, core components and tags.

In a Nutshell

Analysis structures the problem from a technical perspective and defines the scope. Design converts the results into a technical solution with clear responsibilities, interfaces and quality objectives.

Compact Technical Description

Analysis

Objective: Clarity, testability, system delimitation.

Typical artifacts:

  • Use case descriptions
  • UML diagrams
  • Glossary
  • Acceptance criteria

Design

Objective: sound structure and processes.

  • Structural models: class diagram
  • Behavioral models: sequence/activity/state diagrams
  • Refinement: pre/post conditions, possibly OCL

Principles and heuristics:

  • GRASP (e.g. Controller, Creator, Low Coupling, High Cohesion)
  • SOLID (SRP, OCP, LSP, ISP, DIP)

Quality attributes (security, performance, reliability) are captured as non-functional requirements and addressed through architecture tactics.

Exam-Relevant Key Points

  • Analysis = “What?”, Design = “How?”
  • Formulate acceptance criteria measurably
  • Model structure/behavior separately
  • GRASP: assign responsibilities meaningfully
  • Demonstrate SOLID (IHK-relevant)
  • Quality requirements as scenarios
  • Traceability: requirement → model → test
  • Versioning + approvals

Core Components

  1. Requirements gathering
  2. Structural model (class diagram)
  3. Behavioral model (sequence/activity)
  4. State model (lifecycle)
  5. Refinement (pre/post conditions/OCL)
  6. Design principles (SOLID)
  7. Responsibilities (GRASP)
  8. Patterns (patterns/architectural patterns)
  9. QA (reviews, prototypes, TDD)
  10. Traceability

Practical Example (Online Shop: Order)

Analysis:
- Actor: Customer
- Use Case: "Place order"
- Acceptance criterion: Payment authorized -> Order created

Design (excerpt):
- Classes: Order, ShoppingCart, Payment
- Service: OrderService
- Adapter: PaymentServiceAdapter
- Repository: OrderRepository

Sequence:
- Calculate sum
- Authorize payment
- Save order
- Send confirmation

Advantages and Disadvantages

Advantages

  • Better communication
  • Higher testability
  • Fewer change risks

Disadvantages

  • Initial effort
  • Risk of over-modeling
  • Discipline required for maintenance/versioning

Typical Exam Questions (with Short Answer)

  1. Analysis vs. Design? Analysis describes the what, design concretizes the how.
  2. Why GRASP? Assign responsibilities meaningfully.
  3. Why SOLID? Improve maintainability/testability.
  4. How do you ensure consistency between use cases and models? Messages in the sequence diagram correspond to operations in the class diagram.

Learning Strategy

  1. Write use cases + acceptance criteria.
  2. Sequence diagram for main scenario.
  3. Assign responsibilities (GRASP).
  4. SOLID check + unit tests.

Most Important Sources

  1. https://www.omg.org/spec/UML
  2. https://refactoring.guru/design-patterns
Back to Blog
Share:

Related Posts