본문 바로가기

2021 정보처리기사/1과목: 소프트웨어 설계

[2021 정보처리기사 필기] 객체지향 분석의 방법론

728x90
반응형

 

목차

 

 

[정보처리기사 1과목 필기 예상 키워드] 목록으로 돌아가기
과목: 1. 소프트웨어 설계
챕터: 3장 어플리케이션 설계
키워드: 객체지향 분석의 방법론(럼바우 기법 등)
#럼바우 기법
#객체지향 SOLID 원칙
#결합도
#응집도

 

 

 

 

객체지향 분석의 방법론

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

Rumbaugh(럼바우) 방법
모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 기법으로, 객체 모델링 기법(Object Modeling Technique) 라고도 한다. 분석활동은 객체모델링 -> 동적 모델링 -> 기능 모델링 순으로 통해 이루어진다

Booch(부치) 방법
미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석 방법으로, 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의한다.
Jacobson 방법
Use Case를 강조하여 사용하는 분석 방법이다.
Coad와 Yourdon 방법
E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등의 과정으로 구성하는 기법
Wirfs-Brock 방법
분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법 

 

 

럼바우(Rumbaugh) 분석 기법 : 객체>동적>기능
객체 모델링(Object Modeling) 정보 모델링이라고도 하며 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체 다이어그램으로 표시하는 것
동적 모델링(Dynamic Modeling) 상태 다이어그램(상태도)을 이용하여 시간의 흐름에 따른 객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현하는 모델링
기능 모델링(Fuctional Modeling) 자료 흐름도(DFD)를 이용하여 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현한 모델링

 

 

 

 

객체지향 설계 원칙-SOLID 원칙

객체지향 설계 원칙은 시스템 변경이나 확장에 유연한 시스템을 설계하기 위해 지켜야 할 다섯 가지 원칫으로, 다섯 가지 원칙의 앞 글자를 따 SOLID 원칙이라고도 불린다.
객체지향 설계 원칙-SOLID 원칙
 SRP(Single Responsibility Principle) 단일 책임 원칙 - 객체는 단 하나의 책임/응집도는 높게, 결합도는 낮게 설계
 OCP(Open-Closed Principle) 개방-폐쇄 원칙 - "변경에는 닫혀있고, 확장에는 열려있다"는 법칙
- 기존의 코드 변경 없이 기능을 추가할 수 있도록 설계
- 공통 인터페이스를 하나의 인터페이스로 묶어 캡슐화
- 디자인 패턴들의 기본 원칙이 되는 원칙으로 변하는 부분과 변하지 않는 부분을 분리해낸다.

 LSP(Liskov Substitution Principle) 리스코프 치환 원칙 - "자식(Sub)은 부모(Super)로 치환될 수 있다"
- 하위 클래스는 상위 클래스에서 가능한 행위 수행 가능
- 하위 클래스는 상위 클래스를 무시하거나 재정의하지 않고 확장만 수행하도록 함
 ISP(Interface Segregration Principle) 인터페이스 분리 원칙 - 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 함
- 인터페이스가 갖는 하나의 책임
 DIP(Dependency Inversion Principle) 의존 역전 원칙 - "상위 모듈은 하위 모듈들에 의존해서 안되며(완벽하게 분리), 모든 것은 추상에 의존해야 한다"
- 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존관계를 맺어야 함


+ 디미터의 법칙(Demeter's Law, LoD) : '친한 친구들 하고만 이야기 하여라' =
동일한 객체 내의 메소드 및 속성을 주로 사용할 것
(SRP와 마찬가지로 결합도를 낮추고 응집도를 끌어올리는 역할을 하게 된다)

 

 

 

 

 

 

 

[2021 정보처리기사 키워드 정리] 1. 소프트웨어 설계 (상시업데이트)

[2021 정보처리기사 키워드 정리] 1. 소프트웨어 설계 2021년 정보처리기사 공부를 위해 각 과목/챕터 별 Best 키워드를 정리해 놓은 글입니다. 시나공 문제집의 기출빈도와 중요도를 기준으로 정리

y-oni.tistory.com

참고: 시나공 정보처리기사 필기 (저자: 강윤석, 김용갑, 김우경, 김정준 | 출판사: 길벗), 유튜브 주간컴공TV

 

 

728x90