[정보처리기사] 객체지향 분석 방법론과 설계 원칙


객체지향 설계 원칙 (SOLID) 

시스템 변경이나 확장에 유연한 시스템을 설계하기 위해 지켜야 할 다섯 가지 원칙으로 각 원칙의 앞 글자를 가져와 SOLID *솔리드 원칙이라고 한다. 


단일 책임 원칙 (SRP; Single Responsibility Principle) 

- 하나의 클래스는 하나의 목적을 위해 생성된다. 즉, 클래스가 제공하는 모든 서비스는 하나의 책임을 수행하는 데 집중되어 있어야 한다.

- 응집도는 높게, 결합도는 낮게 설계 되어야한다


개방-폐쇄 원칙 (OCP; Open-Closed Principle) 

- 소프트웨어의 구성요소(컴포넌트, 클래스, 모듈, 함수)는 확장에는 열려있고, 변경에는 닫혀있어야 한다


리스코프 치환 원칙 (LSP; Liskov Substitution Principle)

- 자식(sub)은 부모(super)로 치환될 수 있어야 한다

- 서브 타입(상속 받은 하위 클래스)은 어디서나 자신의 기반 타입(상위 클래스)으로 교체할 수 있어야 한다.


인터페이스 분리 원칙 (ISP; Interface Segregration Principle) 

- 한 클래스는 사용하지 않는 인터페이스는 구현하지 말아야 한다

- 객체 설계 시 특정 기능에 대한 인터페이스는 그 기능과 상관없는 부분이 변해도 영향을 받지 않아야 한다

- 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 한다


의존 역전 원칙 (DIP; Dependency Inversion Principle) 

- 객체에서 어떤 클래스를 참조해서 사용하는 경우, 그 클래스를 직접 참조하지 않고 상위 요소를 참조한다 

- 상위 모듈은 하위 모듈에 의존해서는 안되며, 모든 것은 추상에 의존해야 한다 




객체지향 분석(OOA; Object Oriented Analysis) 의 방법론

사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 속성과 연산, 관계를 정의하는 모델링 작업을 의미한다. 객체는 클래스로 부터 인스턴스 화 되고 이 클래스를 식별하는 것이 객체지향 분석의 목적이다. 


OMT (Object Modeling Technology) : 럼바우 방법 (Rumbaugh)

- 그래픽 표기법을 이용하여 소프트웨어 구성요소를 모델링하는 방법론. 만든 사람인 럼바우의 이름을 따 럼바우 방법이라고도 한다. 

- 분석 절차 : 객체 모델링 > 동적 모델링 > 기능 모델링 


> 객체 모델링 

- 정보 모델링이라고도 한다

- 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체 들 간의 관계를 규정

- 객체 다이어그램으로 표현


> 동적 모델링

- 상태 다이어그램을 이용

- 시간의 흐름에 따라 객체들 사이의 제어 흐름, 동작 순서 등의 동적인 행위를 표현하는 모델링 


> 기능 모델링 

- 자료 흐름도(DFD)릴 이용하여 표현

- 프로세스들의 자료 흐름을 중심으로 처리 과정 표현하는 모델링 


OOSE (Object Oriented SW Engineering) : 야콥슨 방법 (Jacobson)

- 유스케이스에 의한 접근 방법, 유스케이스를 모든 모델의 근간으로 활용하는 방법론 

- 기능적 요구사항 중심의 시스템

- 분석, 설계, 구현 단계로 구성 


OOD (Object Oriended Design) : 부치 방법 (Booch)

- 설계 문서화를 강조하여 다이어그램 중심으로 개발

- 분석과 설계의 분리 불가능 

- 분석하는 데 이용된 객체 모델의 설계 시 적용 

 

코드-요돈 방법론 (Cood - Yourdon)

- E-R 다이어그램을 사용하여 객체의 행위를 모델링

- 객체 식별, 구조 식별, 주체 정의, 속성 및 관계 정의, 서비스 정의 등의 과정으로 구성됨 


워프-브록 방법론 (Wirfs - Brock)

분석과 설계 간의 구분이 없고, 고객 명세서를 평가하여 설계 작업까지 연속적으로 수행하는 분석 방법 




다음 이전