[객체지향설계] 모델링 - 모델링의 중요성 및 3가지 원리(추상화/분류화/일반화)

 

1. 모델링의 중요성

- 사용자 업무를 표현하는 수단이며, 개발자와 사용자 사이의 의사소통을 위해 사용

- 현실세계를 규칙적으로 나타낼 수 있어 공통적인 이해가 가능하게 함

 

시스템 개발은 어느 단계에서든지 오류가 발생할 가능성은 다분히 존재한다. 분석가는 의뢰인의 요구를 잘못 이해할 수 있으며, 의뢰인이 이해할 수 없는 문서를 만들어낼 수도 있다. 프로그래머가 분석 결과를 명쾌하게 이해하지 못하고 사용하기 어려운 프로그램을 만들어 냄으로써, 의뢰인의 문제를 제대로 해결해 주지 못할 수도 있다. 이를 해결하기 위해, 시스템 개발에 참여하는 분석가, 의뢰인, 프로그래머, 그 외의 모든 이들이 이해하고 동의할 수 있는 방법으로 설계 과정을 조직화해야한다. 모델은 바로 조직화 수단을 제공하기 위한 것이다.

모델링을 하는 주요한 이유는 업무정보를 구성하는 기초가 되는 정보들을 일정한 표기법에 의해 표현함으로써 정보시스템 구축의 대상이 되는 업무 내용을 정확하게 분석하는 것이 첫 번째 목적이다. 강력한 소프트웨어 시스템을 만들기 위해 구축하고 개선하기에 앞서 모델을 만드는 것은 건물을 만들기 위한 청사진을 만드는 것과 같이 핵심적인 요소이다. 두 번째는 분석된 모델을 가지고 실제 시스템을 생성하여 개발 및 관리에 사용하기 위한 것이다. 즉, 모델링이라는 것은 단지 시스템만을 구축하기 위한 용도로만 쓰이는 것이 아니라 모델링 자체로서 업무를 설명하고 분석하는 부분에도 매우 중요한 의미를 가지고 있다고 할 수 있다.

 

 

 

2. 모델링 과정에서 사용되는 중요한 원리 3가지와 설명

- 추상화(abstraction) : 자세함을 무시하며 필요한 부분만을 추출하는 활동

- 분류화(classification) : 관계있는 개체들에 대한 그룹화

- 일반화(generalization) : 재사용을 위한 의미적 종속관계를 말함

 

추상화란 필요한 부분만을 표현하고 불필요한 부분을 제거하여 간결하고 이해하기 쉽게 만드는 작업이다. 즉, 현실에서 출발하되 불필요한 부분을 제거해가면서 사물의 본질을 드러나게 하는 과정을 말하며 객체를 모델링할 때 필요로 하는 만큼의 속성과 오퍼레이션을 추출해내는 것을 말한다. 설계 중의 클래스에 무엇을 포함시키고, 무엇을 제외시킬 지를 결정하고 나면 그 클래스의 추상화는 완료된 것이다.

분류화란 시스템에 요구되는 데이터의 특성을 규명할 경우에는 각각의 객체들을 기술하는 것보다 묶어진 엔티티 타입을 기술하는 것이 편리하여 비슷한 엔티티를 묶는 작업이다.

일반화란 연관성이 있는 2개 이상의 객체 집합을 묶어 좀 더 상위의 객체 집합을 형성하는 것이다. 즉 객체 사이에 유사성이 존재할 때 이 유사성을 모아 하나의 새로운 객체 타입을 정의 내리는 것을 일반화라고 한다. 일반화를 통해 나타나는 중요한 특성은 상위 클래스에 하위 클래스의 공통적인 속성을 표시하고, 상위 클래스의 정보가 하위 클래스에 상속된다는 것이다. 또한 일반화를 통해 다 계층 구조를 만들어 나갈 수 있으며, 이 경우 하위 클래스는 이 구조상 에 있는 모든 상위 클래스의 속성을 상속받는다.

반응형
그리드형

댓글

❤️김세인트가 사랑으로 키웁니다❤️