<aside>
📊
L4.1 — UML: Use Case Diagrams introduces the software engineering big picture (waterfall vs agile), abstraction and models, the Unified Modelling Language (UML), and use case diagrams — the first tool for modelling a system from the user's perspective. Covers use case descriptions, use case scenarios, actors, use cases, system boundaries, and the include/extend relationships.
</aside>
At-a-glance Checklist
- [ ] Explain the stages of the software development process (requirements → design → implementation → testing → deployment)
- [ ] Compare waterfall vs agile approaches — when to use each
- [ ] Define abstraction and explain why models are useful
- [ ] Explain the purpose of UML and why a unified language is needed
- [ ] Write a use case description (name, system, actors, stakeholders, preconditions, main flow, extensions)
- [ ] Write a use case scenario from a problem description
- [ ] Identify actors by extracting nouns from a scenario
- [ ] Identify use cases by extracting verbs from a scenario
- [ ] Know when to merge or split use cases for the right level of detail
- [ ] Draw a use case diagram with actors, use cases, and a system boundary
- [ ] Use include relationships (always happens — dashed arrow with
<<include>>)
- [ ] Use extend relationships (sometimes happens — dashed arrow with
<<extend>>)
- [ ] Know the difference in arrow direction between include and extend
- [ ] Identify extension points in a use case diagram
1. The Software Engineering Big Picture
The software development process follows these stages: