본문 바로가기
개발/소프트웨어 공학

객체지향 분석 기법

by re-hwi 2022. 1. 17.

처음에 객체지향 단원을 들어가면서 저번에 배웠던 내용이라 쉬울거라고 생각했었다. 

 

그런데 막상 예전에 겉핥기식으로 공부했던 것으로 이 내용을 이해하려 하니 내가 생각했던 것보다 더 어려웠던 것 같다. 

 

그래서 더 열심히 이해하려 노력하며 공부했던 단원이다.

 


객체지향 분석 기법의 개념

  • 객체 (object)
  • 속성 (attribute)
  • 동작 (behaviour)
  • 클래스 (class)
  • 관계(relationship)

객체지향 분석 기법의 순서

  1. 객체지향 분석
  2. 객체지향 설계
  3. 객체지향 프로그래밍
  4. 객체지향 테스트

객체지향 분석 기법의 정의

- 앞에서 배운 세가지 모델링 기법을 단계별로 적용하여 그 결과를 통합한 것


객체지향 분석 프로세스

 

①「 행위자의 시스템을 사용하는 용도와 목적에 따라 사용사례를 정의 (기능 모델링)

②각 유스케이스에 대하여 시나리오 작성 (동적 모델링)

③유스케이스 시나리오를 보며 시스템이 주고받는 정보를 찾아냄 (정보 모델링) 」 

 

            ↑ 하향식 분석기법 (블랙박스) ↓ 상향식 분석기법 (화이트박스)

 

④「유스케이스 시나리오에서 밝혀진 정보를 활용하여 시스템 내부의 클래스의 관계, 속성을 찾아냄 (정보 모델링)

⑤시스템 내부의 객체들이 상호작용하는 시퀀스 다이어그램을 작성 (동적 모델링)

⑥객체들 사이의 논리적 처리과정/업무 프로세스 내의 상호작용에 대한 추가적인 이해가 필요할 경우 액티비티 다이어그램 작성 (기능 모델링)」

 

* 블랙박스 : 시스템의 내부구조를 모른채 입출력을 이용하여 시스템을 검사하는 테스트 

 

* 화이트박스 : 시스템의 내부구조를 검사하는 테스트

 

* 기능 모델링 : 어떤 일이 수행되어야 하는가 (what)

 

* 동적 모델링 : 언제 일이 진행되어야 하는가 (when)

 

* 정보 모델링 : 누구에게 이 일이 필요한가 (who)

 


정보모델링 = 객체 모델링 (who)

 

객체와 클래스 

 

- 객체 : 객체 모델링의 기본단위 (엔티티)

 

- 클래스 : 유사한 객체의 모임 (엔티티타입)

 

클래스의 관계

 

- 클래스들의 연관성은 관계에 의해 표시되며 정보 모델링에서는 마름모로 표시된다.

 

- UML에서는 그 관계를 관계 이름만으로 표시할 수 있다. 

 

- 관계가 새로운 속성이나 동작을 가질 경우 연관 클래스로 나타낼 수 있다.

 

연관 클래스

위 그림처럼 클래스의 관계에 의해서 그려지는 그림을 클래스 다이어그램이라고 한다. 

 

클래스 다이어그램의 관계에 맺어질 수 있는 매핑 제약조건과 참여 제약조건은 정보 모델링에서 다루어진 개념과 동일하며 UML에서는 다음과 같은 기호로 표시한다.

 

일반화

 

- 유사한 클래스 사이의 공유되는 속성과 동작을 묶어준다. 또한 그들 사이의 다른점을 보존 할 수 있게 해준다.

 

- 분석의 결과를 재사용할 수 있게 해주며 데이터의 무결성을 향상 시켜준다.

 

집단화

 

- 클래스들 사이의 부분 - 전체 또는 부분 - 관계로 설명되는 연관성을 나타냄

 

- 여러 부속 객체들이 조립되어 하나의 객체가 구성되는 것

 

동적 모델링 (when)

 

- 객체들 사이의 제어흐름, 상호작용, 동작의 순서등을 다룸

 

- 시간의 흐름에 따른 객체들과 객체들 사이의 변화를 조사함

 

기능모델링 (what)

 

- 입력값으로부터 계산을 거쳐 어떤 결과가 나타나는지를 보여주며 이것이 어떻게 유도되었는지 구현 방법은 고려하지 않는다.

 

- 액티비티 다이어그램 사용

반응형

'개발 > 소프트웨어 공학' 카테고리의 다른 글

소프트웨어 설계 기법  (0) 2022.01.20
유스케이스와 UML  (0) 2022.01.19
정보 모델링  (0) 2022.01.12
동적모델링(2)  (0) 2022.01.12
동적 모델링(1)  (0) 2022.01.09

댓글