본문 바로가기
정보처리기사

객체 지향(Object Oriented) 분석 방법론

by project100 2023. 6. 10.

객체 지향(Object Oriented) 개념

실세계의 개체를 속성과 메서드가 결합한 형태의 객체로 표현하는 기법

 

객체지향(Object Oriented) 구성요소

클래스(Class), 객체(Object), 메서드(Method), 메시지(Message), 인스턴스(Instance), 속성(Property)

 

객체 지향(Object Oriented)  기법 

캡슐화(Encapsulation) 

상속성(Inheritance)
다형성(Polymorphism) : 오버로딩(Overloading), 오버라이딩(Overriding)

추상화(Abstration)

정보은닉(Information Hiding)

관계성(Relationship) : 연관화, 집단화, 분류화, 일반화, 특수화

 

* 오버로딩(Overloading) : 매개 변수의 유형과 개수를 다르게 하여 같은 이름의 메서드를 여러개 가지는 기법

* 오버라이딩(Overriding) : 상위 클래스에서 정의한 일반 메서드의 구현을 하위 클래스에서 무시하고 재정의할 수 있는 기법

 

객체 지향 설계 원칙(SOLID)

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

하나의 클래스는 하나의 목적을 위해서 생성, 클래스가 제공하는 모든 서비스는 하나의 책임을 수행하는 집중해야 한다는 원칙

 

개방폐쇄 원칙 (OCP, Open Close Principle)

소프트웨어의 구성요소는 확장에는 열려 있고, 변경에는 닫혀 있어야 한다는 원칙

 

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

서브 타입은 어디서나 자신의 기반 타입으로 교체할 수 있어야 한다는 원칙

 

인터페이스 분리의 원칙(ISP, Interface Segregation Principle)

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

 

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

실제 사용 관계는 바뀌지 않으며, 추상을 매개로 메시지를 주고 받음으로써 관계를 최대한 느슨하게 만드는 원칙

 

 

객체 지향 분석의 개념

사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 속성과 연산, 관계를 정의하여 모델링하는 기법

 

객체 지향 분석의 방법론 종류

OOSE(Object Oriented Software Engineering) 

Jacobson(야콥슨), 유스케이스, 분석 - 설계 - 구현단계로 구성, 기능적 요구사항 중심의 시스템

 

OMT(Object Modeling Technology)

Rumbaugh(럼바우), 그래픽 표기법 이용, 객체 - 동적 - 기능 순서로 분석 진행

 

객체 모델링(Object Modeling) = 정보 모델링(Infomation Modeling)

시스템에서 요구하는 객체를 찾고 객체 간의 관계를 정의하여 ER 다이어그램을 만드는 과정까지의 모델으로

객체 다이어그램을 활용하여 표현

동적 모델링(Dynamic Modeling)

시간의 흐름에 따라 객체들 사이의 제어 흐름, 동작 순서 등의 동적인 행위를 표현하는 모델링으로 상태 다이어그램을 활용하여 표현

기능 모델링(Functional Modeling, Function Modeling)

프로세스들의 자료 흐름을 중심으로 처리하는 과정을 표현하는 모델링으로 자료 흐름도(DFD)를 활용하여 표현

+ 기능모델링 주요 기법 : 데이터 흐름도(DFD, Data Flow Diagram),  자료 사전(DD, Data Dictionary)

                                                          

OOD(Object Oriented Design) 

Booch(부치), 설계 문서화 강조, 다이어그램 중심, 분석과 설계 분리 불가능

 

+ Coad-Yourdon(코드-요든) : ER다이어그램, 객체 행위 모델링, 객체 지향 분석 방법

+ Wirfs-Brock(워프-브록) : 분석과 설계 구분 X, 고객 명세서 평가 설계 연속 수행 분석 방법

 


객체 지향 설계 원칙, OMT 시험문제 출제!