OOSE — Use Case 의 탄생, 사용자 중심 설계
OOSE — Use Case 의 탄생, 사용자 중심 설계
1. 요약
OOSE (Object-Oriented Software Engineering) 는 1992년 Ivar Jacobson 이 A Use Case Driven Approach 책에서 발표한 객체지향 방법론이다. Use Case (유스케이스) 라는 사용자 중심 요구사항 표현 도구 가 핵심 기여 — 1986년 Jacobson 이 Objectory (Ericsson 통신 SW 개발 경험) 에서 발명했고, 이 책으로 산업 표준이 됐다.
2. 배경 (이전 도구의 한계)
OMT·Booch는 클래스·상속·관계 같은 시스템 내부 구조 에 집중했지만, 사용자가 시스템과 어떻게 상호작용하는지 를 표현하는 1차 시민이 없었다. 클래스 다이어그램만 가지고 요구사항을 정의할 수 없다 는 한계. Jacobson 의 통찰: 시스템은 액터 (사용자) 의 관점에서 정의되어야 한다.
3. 핵심 개념·표기법
OOSE의 핵심 도구:
| 도구 | 표기 | 의미 |
|---|---|---|
| Use Case | 타원 | 사용자 시나리오 (한 가지 목표 달성 흐름) |
| Actor | 사람 모양 (stick figure) | 외부 액터 (사용자·외부 시스템) |
| System Boundary | 큰 직사각형 | 시스템 경계 |
| Include / Extend | 점선 화살표 | 유스케이스 간 관계 |
OOSE 5 모델:
- Requirement Model (Use Case + Object 이해)
- Analysis Model (논리 객체)
- Design Model (블록 모델)
- Implementation Model (코드)
- Test Model (테스트)
4. 언어·OS 매핑 (★ 강의 핵심)
| 시대 | 환경 | OOSE / Use Case 활용 |
|---|---|---|
| 1986~92 | Ericsson 통신 SW | Objectory (OOSE 원형) |
| 1992~97 | C++, Java, Smalltalk | OOSE 표준 + Use Case |
| 1997~ | UML 1.0 | Use Case 가 UML 13 다이어그램 중 하나 |
| 2001~ | Agile XP, Scrum | User Story = Use Case 의 경량화 |
| 2010s~ | BDD | Given-When-Then = Use Case 의 형식화 |
| 2020s | AI 에이전트 | Task / Agent Trigger = Use Case 의 자연어 진화 |
★ Jacobson 의 Use Case 는 형식화된 요구사항 표현 도구 로서 35년 진화해왔다 — XP 의 User Story → BDD 의 Scenario → AI 에이전트 Task. 형식은 단순화됐지만 본질 (액터-목표-시나리오) 은 동일.
5. 현대까지의 영향
- UML Use Case Diagram (1997) — UML 13 다이어그램 1
- User Story (1998, XP) — Use Case 의 카드 한 장 압축
- BDD Gherkin (2003) — Given-When-Then 형식
- AI Agent Task — 자연어 시나리오로 에이전트에게 할 일 명세
- Spec-driven Development — Use Case = Spec 의 사용자 시각화
6. 주요 인물·사건
| 연도 | 사건 |
|---|---|
| 1967 | Jacobson, Ericsson 입사 (통신 SW 개발) |
| 1986 | Jacobson, Use Case 개념 발명 |
| 1992 | Jacobson 외, Object-Oriented Software Engineering — OOSE 정식화 |
| 1992 | Computer Language Productivity Award 수상 |
| 1995 | Jacobson, Rational 합류 → Three Amigos |
| 1997 | UML 1.0 — Use Case Diagram 흡수 |
| 1998 | Kent Beck, XP 의 User Story 발표 |
| 2003 | Dan North, BDD + Gherkin 발표 |
7. 강의 활용
"Use Case (1986) → User Story (1998) → Gherkin (2003) → AI Task (2024)" 의 38년 진화 를 기록한다. 사용자 관점에서 시스템 동작 시나리오를 명세 하는 도구는 형식만 바뀌었지 본질은 동일 — 이것은 Vibe Coding 시대의 자연어 명세 직접적 조상. AI에게 "이런 사용자가 이런 일을 할 때 시스템은 이렇게 해야 한다" 라고 쓰면 그게 곧 Use Case.
출처
- Object-Oriented Software Engineering — Jacobson 1992
- Ivar Jacobson — Wikipedia
- Object-Oriented Software Engineering — Internet Archive
- Object Oriented Software Engineering — Ted Felix
그룹 시리즈
→ synthesis/group-se_g3 (시대 그룹 종합 카드)