DevGang

[SE-19] 객체지향 개발 단계와 분석 본문

정보처리/SE

[SE-19] 객체지향 개발 단계와 분석

별천랑 2021. 2. 8. 18:06

1. 객체지향 소프트웨어 개발모형의 개발 단계

  • 계획 ⇨ 분석 ⇨ 설계 ⇨ 구현 ⇨ 테스트 및 검증
  • 객체지향 기법을 사용하는 소프트웨어 개발 과정의 가장 큰 특징은 각 과정에서 사용되는 객체, 클래스, 메서드, 속성 등이 동일한 개념으로 사용된다는 것임
  • 개발 전 과정에 걸쳐 동일한 방법론과 표현 기법이 적용된다는 장점을 갖고 있음
  • 개발 과정 사이에서 같은 용어와 개념을 사용하여 분석, 설계, 구현 단계 사이의 전환이 쉬우므로 각 과정이 명확하게 순차적으로 이루어지지는 않음
  • 분석은 객체를 형상화하는 단계(객체, 동적, 기능 모델링)이고 설계는 객체를 구체화하는 것이며 객체 프로그래밍은 객체를 클래스로 정의 또는 명시하는 단계임

2. 객체지향 분석(OOA, Object Oriented Analysis) 

  • 객체지향 분석은 사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 이와 연관된 속성과 연산, 그들 간의 관계 등을 정의하여 모델링하는 작업
  • 분석가에게 주요한 모델링 구성요소인 클래스, 객체, 속성, 연산들을 표현해서 문제를 모형화로 할 수 있게 해 줌
  • 객체지향 관점은 모형화 표기법의 전후 관계에서 객체의 분류, 속성들의 상속, 그리고 메시지의 통신 등을 결합한 것
  • 객체는 클래스로부터 인스턴스화 되고, 이 클래스를 식별하는 것이 객체지향 분석의 주요한 목적임
  • 객체 관계, 행위 모형의 생성
  • 객체와 연관된 자료구조의 표현

3. 객체지향 분석의 방법론 

- 럼바우의 분석 기법 (Rumbaugh Method) 

  • 모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 기법
  • 분석 절차 : 객체 모델링 ⇨ 동적 모델링 ⇨ 기능 모델링

 1) 객체 모델링(Object Modeling)

  • 객체와 클래스를 연관화, 집단화, 일반화 관계를 중심으로 표현함
  • 정보 모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체 다이어그램(객체도)으로 표시하는 것
  • 분석 활동의 세 가지 모델 중 가장 중요하며 선행되어야 할 모델링

 2) 동적 모델링(Dynamic Modeling)

  • 객체지향 분석 과정 중 객체들의 제어 흐름, 상호 반응, 연산 순서를 나타내 주는 과정
  • 동적 모델링에서는 객체나 클래스의 상태, 사건을 중심으로 다룸

 3) 기능 모델링(Functional Modeling)

  • 자료 흐름도(DFD)를 사용하여 프로세스들의 처리 과정을 기술하고, 처리과정은 프로세스, 제어 흐름, 데이터 흐름, 데이터 저장소, 행위자를 가지고 표현함

 4) 기능 모델링 순서

  • 입/출력 결정
  • 자료 흐름도 작성 (기능 의존 관계를 기술)
  • 기능의 내용을 상세히 기술
  • 제약 사항을 결정하고 최소화

 5) 각 모델에서 사용되는 그래픽 기법

  • 객체 모델링 - 객체도
  • 동적 모델링 - 상태도
  • 기능 모델링 - 자료 흐름도

- 부치(Booch)

  • 방법 다양한 자동화 도구들을 지원받으며, 미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석 방법

- Jacobson 방법

  • Use Case를 강조하여 사용하는 분석 방법

- Coad와 Yourdon 방법

  • E-R 다이어그램을 사용하여 개체의 활동들을 데이터 모델링하는 데 초점을 둔 방법

- Wirfs-Brock 방법

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