SW공학 – 객체지향 분석

개요

  • 구조적 분석의 결점을 인지하고 이를 대응하기 위해 나옴
  • 구조적 분석은 80년대 후반의 대형 프로젝트에서 성공하지 못함
  • 데이터 기반의 접근방식뿐만 아니라 액션 기반의 접근법이 필요해짐

분석 workflow

  • use-case 중심
  • 3개의 클래스를 사용
  • 엔티티 클래스 : 유지될 정보들을 모델화
  • 경계 클래스 : 액터들의 상호작용을 모델화. 입출력에 연계
  • 컨트롤 클래스 : 계산과 알고리즘들을 모델화.

엔티티 클래스 추출법

  • 기능적 모델링 : 유스케이스들의 시나리오를 제시
  • 엔티티 클래스 모델링 : 엔티티 클래스와 속성을 결정
  • 동적 모델링 : operation을 결정

엔티티 클래스 모델링

  • 명사 추출법 : 문장으로 프로덕트를 서술 후에 명사를 식별
  • CRC 카드 : class-responsibility-collaboration 카드를 활용. 포스트잇과 화이트보드를 사용

동적 모델링

  • 각 클래스에 대한 유한상태 모델처럼 상태 다이어그램과 대상 프로덕트의 설명 작성
  • STD(state transition diagram) 자체는 전이 규칙의 집합으로 구성

OOA의 1단계 : Use-case 모델링

  • 프로덕트가 순서에 상관없이 결과물이 어떻게 계산되는지 결정함
  • 액션 중심으로 use case diagram으로 표현

OOA의 2단계 : Class 모델링

  • 클래스와 속성을 결정 후 클래스의 상호관계를 결정
  • 데이터 중심으로 ERD와 class diagram으로 표현

OOA의 3단계 : 동적 모델링

  • 각 클래스의 수행되는 액션을 결정
  • 액션중심으로 FSM과 유사한 state diagram으로 표현

CC BY-NC-ND 2.0 KR

이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다. 크리에이티브 커먼즈 라이선스

저작권과 관련된 파일요청 및 작업요청을 받지 않습니다.

댓글 남기기