구조도 (Structure Chart) — 응집도·결합도의 시각화
구조도 (Structure Chart) — 응집도·결합도의 시각화
1. 요약
구조도 (Structure Chart) 는 1974년 Stevens, Myers, Constantine 의 Structured Design (IBM Systems Journal 13(2)) 논문에서 발표된 모듈 분해 도구 다. 단순한 트리가 아니라 각 모듈 사이에 어떤 데이터·제어가 흐르는지 와 응집도 (Cohesion)·결합도 (Coupling) 를 명시한다. 응집도·결합도 라는 모듈 설계의 영원한 원리 가 여기서 기록되었다.
2. 배경 (이전 도구의 한계)
플로차트는 모듈 분해 를 못 그리고, HIPO는 계층은 그리지만 모듈 간 결합도 는 안 보인다. 1974년 IBM Systems Journal의 Constantine·Myers·Stevens는 "좋은 모듈 = 응집도 높고 결합도 낮은 것" 이라는 원리를 발표하면서, 그것을 시각적으로 측정 할 도구가 필요했다.
3. 핵심 개념·표기법
구조도의 핵심 표기:
| 기호 | 의미 |
|---|---|
| 직사각형 | 모듈 (함수·서브루틴) |
| 화살표 | 호출 관계 (상위 → 하위) |
| 작은 원 (●) | 데이터 매개변수 |
| 작은 원에 화살표 (◉→) | 제어 매개변수 (플래그) |
| 마름모 | 조건부 호출 |
| 곡선 화살표 | 반복 호출 |
응집도 (Cohesion) 7단계: Coincidental → Logical → Temporal → Procedural → Communicational → Sequential → Functional (가장 좋음)
결합도 (Coupling) 7단계: Data → Stamp → Control → External → Common → Content (가장 나쁨)
4. 언어·OS 매핑 (★ 강의 핵심)
| 시대 | 언어 | 구조도 활용 |
|---|---|---|
| 1974~85 | COBOL, FORTRAN, PL/I | ★ 모듈 설계 1차 산출물 |
| 1985~95 | C, Pascal | 모듈성 표준 |
| 1990s | C++, Smalltalk | OOP 출현으로 점차 흡수 |
| 2010s~ | 마이크로서비스 | 서비스 = 모듈, 응집도·결합도 원리 그대로 |
| 2020s | AI 에이전트 | ★ 에이전트 분해 = 모듈 분해, 응집도·결합도 동일 적용 |
★ 응집도·결합도 는 SE 의 불변 원리 — Robert Martin 의 Clean Architecture 도, 마이크로서비스 Bounded Context 도, AI 에이전트 Specialized Agent 도 모두 높은 응집도·낮은 결합도 라는 1974년 원리를 따른다.
5. 현대까지의 영향
- UML Component Diagram (1997) — 객체지향 구조도
- Robert Martin SOLID (2000) — 응집도·결합도의 5원리화
- Domain-Driven Design (2003) — Bounded Context = 응집도 단위
- 마이크로서비스 (2014) — 서비스 = 응집도 단위
- Clean Architecture (2017) — 의존성 방향 = 결합도 통제
- AI 에이전트 IAO 분해 — 응집도 = 단일 책임, 결합도 = 명세된 인터페이스
6. 주요 인물·사건
| 연도 | 사건 |
|---|---|
| 1966 | Constantine, 강의 자료에 구조도 첫 사용 |
| 1974 | Stevens, Myers, Constantine — Structured Design IBM Systems Journal |
| 1975 | Yourdon + Constantine, Structured Design 책 출간 |
| 1979 | Myers, Reliable Software Through Composite Design |
| 1990s | 객체지향으로 흡수 |
| 2000 | Robert Martin — SOLID 정식화 |
7. 강의 활용
"1974년에 기록된 응집도·결합도 = 2024년 마이크로서비스·AI 에이전트의 같은 원리" 의 50년 일관성 기록. 모듈 분해는 언어·아키텍처가 변해도 같은 원리 — Robert Martin 의 SOLID 도 본질적으로 1974년 Constantine 사상의 5원리화. AI 에이전트도 높은 응집도 (단일 책임) + 낮은 결합도 (명세된 인터페이스) 가 좋은 설계.
출처
- Structured Design — Stevens, Myers, Constantine (1974)
- Computer Pioneers — Larry L. Constantine
- Structure Chart — ScienceDirect Topics
- Larry Constantine — Wikipedia
그룹 시리즈
→ synthesis/group-se_g2 (시대 그룹 종합 카드)