1. 개요 ¶
영제 : Object Oriented Analysis and Design
대상 : 객체지향 분석/설계에 대해서 좀더 느끼고 싶은분, Java를 할 줄 알면 좋음
목표 : 객체지향 프로그래밍에 대해 좀더 친숙해지자.
대상 : 객체지향 분석/설계에 대해서 좀더 느끼고 싶은분, Java를 할 줄 알면 좋음
목표 : 객체지향 프로그래밍에 대해 좀더 친숙해지자.
2.1. 프로젝트의 요구사항을 정하자 ¶
프로젝트의 목표는 여러가지로 정할 수 있다. 이 프로젝트를 통해 얻고자 하는 비지니스 요구사항, 이 프로젝트를 사용하는 사용자가 얻기 위한 사용자 요구사항, 그리고 개발자 요구사항등이 있을 수 있다.
2.2. 유즈케이스를 선택하자 ¶
세 가지 요구사항중 우리는 사용자의 요구사항에 귀를 기울이면 된다.
먼저 Actor를 선정한다. Actor를 잘 선택하면 추후에 유즈케이스를 구분할 때에 도움이 된다.
유즈케이스는 각 단위 업무를 말하며 이에 합당한지 검사하는 방법은 다음과 같다.
먼저 Actor를 선정한다. Actor를 잘 선택하면 추후에 유즈케이스를 구분할 때에 도움이 된다.
유즈케이스는 각 단위 업무를 말하며 이에 합당한지 검사하는 방법은 다음과 같다.
- 시작과 끝이 존재하며 카운팅이 가능한가.
- 이 단위업무가 가치 있는 업무인가.
- 한 사람(Actor)이 한 순간에 한 장소에서 수행할 수 있는 업무인가.
- 예외1 : 여러 작업에서 중복되는 보조 업무를 유즈케이스로 뽑기도 한다. ex> Login/Logout
- 예외2 : CRUD에 해당하는 유즈케이스는 하나로 묶기도 한다.
2.3. 유즈케이스 명세서를 작성하자 ¶
선택한 유즈케이스에 각각 유즈케이스 명세서를 작성하여 주자. 다음과 같은 내용이 포함된다.
- 유즈케이스 이름 :
- 관련 Actor : 이 유즈케이스에 참여하는 Actor
- 사전조건 : 이 유즈케이스가 발생하기 전에 되어있어야 하는 내용
- 사후조건 : 이 유즈케이스가 종료된 후에 되어있어야 하는 내용
- 기본흐름(*) : 기본 사용 시나리오
- 대안흐름 : 기본 사용 시나리오중 분기가 발생할 수 있는 경우
- 예외흐름 : 기본 사용 시나리오중 예외가 발생할 수 있는 경우
- UI Prototype : 대략적인 UI모습
기본흐름, 대안흐름, 예외흐름은 Actor로부터 시작하는 것이 원칙이다. Actor로부터 시작하여 일어나는 일을 정리한다.
2.5. Robustness 분석 ¶
각 클래스간의 상관관계를 분석, Control 클래스와 Boundary클래스로 나누어 선택한다.
- Control 클래스 : DB와의 연결, 객체의 컨트롤을 담당하는 클래스
- Boundary 클래스 : 화면 UI를 담당하는 클래스
2.6. SequenceDiagram 작성 ¶
위의 분석을 바탕으로 하여 Sequence Diagram을 개략적으로 작성한다. 역시 Actor와 각 클래스들을 미리 배치한 다음 필요한 조작들을분석한다.