<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5%EB%B6%84%EC%84%9D%EC%84%A4%EA%B3%84</id>
	<title>객체지향분석설계 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5%EB%B6%84%EC%84%9D%EC%84%A4%EA%B3%84"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5%EB%B6%84%EC%84%9D%EC%84%A4%EA%B3%84&amp;action=history"/>
	<updated>2026-05-15T03:44:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5%EB%B6%84%EC%84%9D%EC%84%A4%EA%B3%84&amp;diff=41780&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:28, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5%EB%B6%84%EC%84%9D%EC%84%A4%EA%B3%84&amp;diff=41780&amp;oldid=prev"/>
		<updated>2021-02-07T05:28:41Z</updated>

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