DevGang
[SE-19] 객체지향 개발 단계와 분석 본문
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 방법
- 분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 방법
'정보처리 > SE' 카테고리의 다른 글
[SE-21] 소프트웨어 재사용 (0) | 2021.02.08 |
---|---|
[SE-20] 객체지향 설계, 구현, 테스트 (0) | 2021.02.08 |
[SE-18] 객체지향 소프트웨어 공학 (0) | 2021.02.08 |
[SE-17] 전통적 개발 방법론 - 유지보수 (0) | 2021.02.08 |
[SE-16] 전통적 개발 방법론 - 검사 (0) | 2021.02.08 |
Comments