1-3 019 객체지향 분석 및 설계 [A]

이지우·2024년 4월 11일
0

정보처리기사

목록 보기
19/29

객체지향 분석의 개념

객체지향 분석(OOA; Object Oriented Analysis): 사용자의 요구사항을 분석하여 모든 클래스(객체), 속성과 연산, 관계 등을 정의하여 모델링하는 작업

  • 비즈니스(업무)를 객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나누어 분석
  • 분석가에게 클래스, 객체, 속성, 연산을 표현해서 문제를 모형화할 수 있게 해줌
  • 객체는 클래스로부터 인스턴스화되고, 이 클래스를 식별하는 것이 객체지향 분석의 주요한 목적

객체지향 분석의 방법론

  • Rumbaugh(럼바우) 방법
    : 분석활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행

  • Booch(부치) 방법
    : 미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스 모두 사용
    : 클래스와 객체들을 분석 및 식별하고 속성과 연산 정의

  • Jacobson 방법
    : Use Case를 강조하여 사용

  • Coad와 Yourdon 방법
    : E-R 다이어그램 사용하여 객체의 행위 모델링
    : 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등의 과정으로 구성

  • Wirfs-Brock 방법
    : 분석과 설계 간의 구분이 없음
    : 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행


럼바우(Rumbaugh)의 분석 기법

모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 기법
객체 모델링 기법(OMT; Object-Modeling Technique)이라고도 함

  • 객체 모델링 → 동적 모델링 → 기능 모델링

객체 모델링(Object Modeling)
: 정보 모델링이라고도 함
: 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체 다이어그램으로 표시

동적 모델링(Dynamic Modeling)
: 상태 다이어그램 이용
: 시간의 흐름에 따른 객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위 표현

기능 모델링(Functional Modeling)
: 자료 흐름도(DFD) 이용
: 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정 표현


객체지향 설계 원칙

시스템 변경이나 확장에 유연한 시스템을 설계하기 위해 지켜야 할 다섯 가지 원칙
SOLID 원칙 SRP, OCP, LSP, ISP, DIP

단일 책임 원칙

SRP; Single Responsibility Principle
: 객체는 단 하나의 책임만 가져야 함
: 응집도는 높고, 결합도는 낮게 설계하는 것

개방-폐쇄 원칙

OCP; Open-Closed Principle
: 기존의 코드를 변경하지 않고 기능을 추가할 수 있도록 설계
: 공통 인터페이스를 하나의 인터페이스로 묶어 캡슐화

리스코프 치환 원칙

LSP; Liskov Substitution Principle
: 자식 클래스는 최소한 부모 클래스에서 가능한 행위는 수행할 수 있어야 함
: 부모 클래스의 책임을 무시하거나 재정의하지 않고 확장만 수행

인터페이스 분리 원칙

ISP; Interface Segregation Principle
: 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 함
: 인터페이스는 단 하나의 책임만 가져야 함

의존 역전 원칙

DIP; Dependency Inversion Principle
: 의존 관계가 성립될 때 추상성이 높은 클래스와 의존 관계를 맺어야 함
: 일반적으로 인터페이스 활용하면 준수됨

profile
노력형 인간

0개의 댓글