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