E D R , A S I H C RSS

객체지향분석설계

1. 개요

영제 : Object Oriented Analysis and Design
대상 : 객체지향 분석/설계에 대해서 좀더 느끼고 싶은분, Java를 할 줄 알면 좋음
목표 : 객체지향 프로그래밍에 대해 좀더 친숙해지자.

2. 절차

예제 프로젝트를 한개 선정하여 제작해 보는 방향으로 가자.
EX> 수강신청프로그램, 도서관 좌석예약 프로그램..

2.1. 프로젝트의 요구사항을 정하자

프로젝트의 목표는 여러가지로 정할 수 있다. 이 프로젝트를 통해 얻고자 하는 비지니스 요구사항, 이 프로젝트를 사용하는 사용자가 얻기 위한 사용자 요구사항, 그리고 개발자 요구사항등이 있을 수 있다.

2.2. 유즈케이스를 선택하자

세 가지 요구사항중 우리는 사용자의 요구사항에 귀를 기울이면 된다.
먼저 Actor를 선정한다. Actor를 잘 선택하면 추후에 유즈케이스를 구분할 때에 도움이 된다.
유즈케이스는 각 단위 업무를 말하며 이에 합당한지 검사하는 방법은 다음과 같다.
  • 시작과 끝이 존재하며 카운팅이 가능한가.
  • 이 단위업무가 가치 있는 업무인가.
  • 한 사람(Actor)이 한 순간에 한 장소에서 수행할 수 있는 업무인가.
  • 예외1 : 여러 작업에서 중복되는 보조 업무를 유즈케이스로 뽑기도 한다. ex> Login/Logout
  • 예외2 : CRUD에 해당하는 유즈케이스는 하나로 묶기도 한다.

2.3. 유즈케이스 명세서를 작성하자

선택한 유즈케이스에 각각 유즈케이스 명세서를 작성하여 주자. 다음과 같은 내용이 포함된다.
  • 유즈케이스 이름 :
  • 관련 Actor : 이 유즈케이스에 참여하는 Actor
  • 사전조건 : 이 유즈케이스가 발생하기 전에 되어있어야 하는 내용
  • 사후조건 : 이 유즈케이스가 종료된 후에 되어있어야 하는 내용
  • 기본흐름(*) : 기본 사용 시나리오
  • 대안흐름 : 기본 사용 시나리오중 분기가 발생할 수 있는 경우
  • 예외흐름 : 기본 사용 시나리오중 예외가 발생할 수 있는 경우
  • UI Prototype : 대략적인 UI모습
    기본흐름, 대안흐름, 예외흐름은 Actor로부터 시작하는 것이 원칙이다. Actor로부터 시작하여 일어나는 일을 정리한다.

2.4. Persistance Data 선택

영구적으로 저장되는 데이터를 선택한다. 이 자료들은 Entity 클래스가 된다.

2.5. Robustness 분석

각 클래스간의 상관관계를 분석, Control 클래스와 Boundary클래스로 나누어 선택한다.
  • Control 클래스 : DB와의 연결, 객체의 컨트롤을 담당하는 클래스
  • Boundary 클래스 : 화면 UI를 담당하는 클래스

2.6. SequenceDiagram 작성

위의 분석을 바탕으로 하여 Sequence Diagram을 개략적으로 작성한다. 역시 Actor와 각 클래스들을 미리 배치한 다음 필요한 조작들을분석한다.

3. Link 및 참고자료

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.0147 sec