1. 객체지향 분석 방법의 개요
가. 객체지향 분석 방법의 정의
시스템에 대한 개념적이고 추상적인 다이어그램과 사용사례(유스케이스) 등을 추출하여 시스템 초기 계획을 수립하는 기법
나. 객체지향 분석 방법의 특징
-(객체지향 시스템), 상태 데이터와 기능으로 구성된 객체와 객체 간의 통신 기능 수행
-(다이어그램 이용), 분석, 설계, 구현 전반에 걸쳐 동일한 다이어그램 이용
유스케이스 다이어그램, 클래스 다이어그램, 상호 작용 다이어그램, 프로토타입(사용자 인터페이스)
-(점진적 구체화), 초기에는 개념적 추상적으로 표현되고 점차 정제되어 구체적으로 작성
2. 요구사항 추출의 개념도 및 구성요소
가. 요구사항 추출의 개념도
나. 요구사항 추출의 구성요소
다이어그램 | 개념도 | 설명 |
활동 다이어그램 | -비즈니스 모델 -해당 도메인에서 비즈니스 작업 흐름 관찰 |
|
도메인 클래스 다이어그램 | -도메인 객체 모델 -도메인에 존재하는 유형/무형의 클래스와 클래스 사이의 관계 표현 (UI, 데이터 접근, 제어 등 클래스는 제외) -도메인 객체 모델에서는 영구적인 데이터 클래스 외에 단지행위 역할을 하는 클래스 혹은 속성 데이터가 없는 클래스 존재 가능 |
|
사용사례 (유스케이스) |
-시스템의 기능 요구 파악 -시스템과 관련된 모든 액터 파악 및 전체적인 사용사례 파악 -액터들의 시스템 사용 목적 중심의 사용사례를 식별, 기술 |
-(요구사항 추출), 문제 도메인의 비즈니스를 이해하고 시스템(문제)정의서, 비즈니스 모델 및 도메인 객체 모델(용어정의), 사용사례 등을 통해 시스템 개발의 초기 계획을 산출하는 기법
3. 요구사항 분석의 개념도 및 구성요소
가. 요구사항 분석의 개념도
나. 요구사항 분석의 구성요소
관점 | 다이어그램 | 설명 |
기능 관점 | 유스케이스 다이어그램 활동 다이어그램 |
-요구사항 추출 단계에서 추출된 사용사례를 기능 요구로 활용 -해당 사용사례에 해당하는 비기능 요구 포함 가능 (특정 사용사례에 해당하는 비기능 요구사항 이외의 조건은 시스템 전체 비기능 요구사항에 해당함) -액터별 관련 사용사례를 작성하거나 기능별로 관련 사용사례를 서브 시스템으로 그룹화하여 작성 가능 -공통 시나리오는 독립적인 사용사례로 추가하여 작성 -추출단계에서 작성한 사용사례 업데이트 수행 |
정적 구조 관점 | 구문 분석 분석 패턴 |
-구문 분석과 분석 패턴 방법을 활용하여 요구사항 추출 및 분석 과정에서 객체 모델 작성 시 활용 -개발 초기 요구사항 추출 단계에서 상속, 집합, 다중성 등을 파악하는 것은 불필요하며 개발이 진행되면서 문제 도메인에 대한 이해가 깊어짐에 따라 객체 모델이 정제됨 -소프트웨어 개발의 분석 활동에서 공통으로 발생하는 문제를 해결하기 위해 적용될 수 있는 기법 (설계 과정에서 공통으로 발생하는 문제를 해결하는 기법은 설계 패턴) |
동적 행위 관점 | 시스템 순서 다이어그램 상태기계 다이어그램 |
-시스템의 동적 행위 모델 구성 -외부 액터와 시스템 사이의 입력과 출력 메시지 정보를 정리한 다이어그램 (사용사례 다이어그램은 메시지 정보 미제공) |
-문제 도메인에 대해 더욱 깊이 있는 이해를 통해 요구사항을 규명하고 확정하는 기법
-3가지 관점은 반복 수행하여 점진적으로 정제되며 상호 연관성을 가지고 있음
4. 구문분석의 절차
절차 | 특징 | 설명 |
명사에 의한 후보 클래스 파악 | 사용사례 시나리오 활용 | -객체 모델에 대한 후보 클래스나 후보 속성을 식별 |
부적절한 클래스 제거 | 동일 개념 클래스 중 하나는 삭제 도메인과 무관한 클래스 삭제 |
-후보 클래스 들 중에서 부적절한 클래스 제거 -명사가 후보 클래스에 해당 |
클래스 사이의 관계 파악 | 동사가 관계 | -클래스 사이의 관계는 동사에 해당 |
속성 파악 | 명사가 속성 | -객체의 데이터를 표현하는 속성은 명사에 해당 (명사는 클래스나 속성의 잠재적인 후보군이 됨) |
클래스 다이어그램 작성 | 클래스 다이어그램 객체 모델 |
-클래스 다이어그램 작성 -유사 문제 도메인에서 이미 개발된 객체 모델을 적용 |
-도메인의 문서 정보(사용사례 시나리오 등)로부터 객체 모델을 생성하는 기법
'나의 서재 > 22. 소프트웨어 공학 기본원리' 카테고리의 다른 글
9.1 추상화 (0) | 2021.12.05 |
---|---|
9. 설계 개요 (0) | 2021.12.05 |
7.5 UML 2.0 표준 (0) | 2021.12.04 |
7.4 UML (Unified Modeling Language) (0) | 2021.12.04 |
7.3. 모델링 (0) | 2021.12.04 |
댓글