이번 챕터는 좀 간단할 예정입니다. 조금 읽어보니까 다음 챕터에서 나옹 요구사항 분석 - use case diagram 을 위한 선행 챕터?, 사전지식 배우기 같은 단원인것 같더라구요. 시험도 얼마 안남았는데 정리할겸 빠르게 써봐야될듯요.... 확실히 정리가 좀 되는거 같기도 하고...
I. 모델링의 정의와 기법
5장의 챕터 이름부터 Modeling Concepts 인데 모델링이란 무엇일까요?
모델링이란?
현실 또는 가상의 것을 표현 하는 것
되게 간단하죠..? 현실과 가상의 것을 표현한 것이라면 모두 "모델" 이라는 것인데, 그럼 어떤 규칙을 가지고 모델링을 해야할까요?
- Simplicity : 필수적인것만을 간단하게 표현해야 함
- Completeness : 간단하게 표현하되 표현 되어야 하는것은 모두 표현되어야 함
- Consistency : Diagram을 작성하는 동안 일관성을 유지해야함(니 맘대로 그리지 말라는 뜻?)
- Hierarchical : 계층적으로 저차원으로 내려갈 수록 디테일한 부분을 표현해야함
II. 다이어그램
그렇다면 다이어그램이란 무엇일까요? 다이어그램은 모델링 기법의 한 종류로써
현실의 사물과 행동을 추상적 형태로 표현한 것
이러한 다이어그램에는 그리는 규칙이 존재합니다. 이러한 규칙을 통해 동일한 다이어그램을 보고 다수의 사람들이 동일하게 이해하는것을 가능하게 합니다.
소프트웨어의 개발과정에서 다이어그램을 그리게 되는데 다음과 같은 목적을 갖고 있습니다.
- 아이디어 생성
- 아이디어 소통
- 구조나 관계을 이해하기
- 생성된 아이디어를 테스트하거나 예측하기
III. 계층성
모델링의 규칙중 하나오 "계층성"을 언급했는데 그림을 통해 이해하면 더 쉬울것 같습니다.

만약에 작가가 책을 출판한다고 가정해 봅시다. 작가는 ( 챕터를 쓰고 -> 이를 검토하고 -> 수정부분이 있다면 수정하고 ) 를 반복한후에 챕터 작성이 완료 되었다면 조판하고 -> 그다음에 출판을 하겠죠. 하지만 세부적으로 보면 더 많은 과정들이 있을 것입니다.

단순히 챕터를 작성하는데만 이를 계획하고 -> 초안을 작성하고 -> 수정하고 -> 연습문제도 넣고 -> Reference 수록하고....
그럼 이것만 있을까요? 챕터를 계획하는데에도 세부내용이 있을것이고, 연습문제를 작성해서 추가하는것에도 세부내용이 있을것이고....
위 내용들을 계층성을 지키지 않고 그리게 된다면 전체 구조를 파악하기도 전에 오랜 시간동안 "챕터 작성하기" 관련해서만 읽고 있을 수도 있습니다.
즉 계층성을 만족시킴으로써 먼저 전체적인 구조를 파악하게 하고 그 다음에 세부적인 내용을 들여다 볼수 있게 함으로써 전체적인 맥락의 이해도를 높이는데 중요한 역할을 한다고 생각합니다.
IV . UML - Unified Modeling Language
앞서 소프트웨어 개발 과정에서 다이어그램을 그린다고 했습니다. UML은 이 과정에서 시스템을 시각적으로 모델링하도록 도움을 주는 언어입니다.

이 그림은 UML을 계층화 한 그림입니다.분류를 제외하고 크게 14 ~ 15개의 다이어그램이 존재하며 사실 이중 Use Case Diagram 그리고 Sequence / Communication Diagram 중 하나 그리고, Class Diagram 정도 그리면 최소한으로 모델링이 된다고 합니다.
이정도만 하고 다음 챕터에서 Use-Case Diagram 에 대해서 자세히 설명해 보겠습니다.
끄 ㅌ ! ! !
'컴퓨터 공학 > 소프트웨어 공학' 카테고리의 다른 글
| 6-1 Use Case Diagram (0) | 2026.04.23 |
|---|---|
| 6. Requirement Capture - 요구사항 분석 (0) | 2026.04.23 |
| 4. 객체 지향 - Object Orientation (1) | 2026.04.23 |
| 3. Agile Development (1) | 2026.04.22 |
| 2. Software Process (0) | 2026.04.22 |