<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="http://rss.egloos.com/style/blog.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
	<title>get real!</title>
	<link>http://cooljohn.egloos.com</link>
	<description>keep moving!   </description>
	<language>ko</language>
	<pubDate>Fri, 23 Oct 2009 14:28:15 GMT</pubDate>
	<generator>Egloos</generator>
	<image>
		<title>get real!</title>
		<url>http://pds8.egloos.com/logo/200807/29/83/c0057983.gif</url>
		<link>http://cooljohn.egloos.com</link>
		<width>80</width>
		<height>80</height>
		<description>keep moving!   </description>
	</image>
  	<item>
		<title><![CDATA[ 사회에 나가면 누구나 알게 되는 사실 43가지 ]]> </title>
		<link>http://cooljohn.egloos.com/5150291</link>
		<guid>http://cooljohn.egloos.com/5150291</guid>
		<description>
			<![CDATA[ 
  배꼽 잡을 준비 하시고,<br />
공감 백배!!<br />
<br />
<br />
<br />
1. 나까지 나설 필요는 없다<br />
2. 헌신하면 헌신짝된다 <br />
3. 참고 참고 또 참으면 참나무가 된다 <br />
4. 포기하면 편하다 <br />
5. 왕관을 쓰려는 자, 그 무게를 견뎌라 <br />
6. 아니면 말고 <br />
7. 나도 나지만 너도 너다 <br />
8. 목숨을 버리면 무기만은 살려 주겠다 <br />
9. 가는 말이 고우면 사람을 얕본다 <br />
10. 잘생긴 놈은 <a href="http://news.hankooki.com/lpage/society/200910/h2009102317413621950.htm" class="dklink" target="_blank">얼굴</a>값하고 못생긴 놈은 꼴값 한다 <br />
11. 공부는 실수를 낳지만 찍기는 기적을 낳는다<br />
12. 까도 내가 까 <br />
13. 난 오아시스를 원했고 넌 신기루만으로 좋았던 거지<br />
 14. 동정할 거면 돈으로 줘요 <br />
15. 내 너 그럴 줄 알았다. 그럴 줄 알았으면 미리 말을 해주세요 <br />
16. 즐길 수 없으면 피하라 <br />
17. 이것 또한 지나가리라 <br />
18. 대문으로 가난이 찾아오면 사랑은 창문으로 도망간다 <br />
19. 내 부모에게 욕 하는 건 참아도 나에게 욕 하는 건 참을 수 없다<br />
20. 일찍 일어나는 새가 더 피곤하다 <br />
21. 일찍 일어난 벌레는 잡아 먹힌다 <br />
22. 먼저 가는 건 순서가 없다 <br />
23. 똥차가고 벤츠 온다 <br />
24. <a href="http://news.hankooki.com/lpage/society/200910/h2009102317413621950.htm" class="dklink" target="_blank">효도</a>는 셀프 <br />
25. 먹는 것이 공부라면 세상에서 공부가 가장 좋습니다 <br />
26. 어려운 길은 길이 아니다 <br />
27. 개천에서 용 난 놈 만나면 개천으로 끌려들어간다 <br />
28. 이런 인생으론 <a href="http://news.hankooki.com/lpage/society/200910/h2009102317413621950.htm" class="dklink" target="_blank">자서전</a>도 쓸 수 없다 <br />
29. 새벽에 <a href="http://news.hankooki.com/lpage/society/200910/h2009102317413621950.htm" class="dklink" target="_blank">맥주</a>와 먹는 <a href="http://news.hankooki.com/lpage/society/200910/h2009102317413621950.htm" class="dklink" target="_blank">치킨</a>은 0칼로리 <br />
30. 늦었다고 생각 할 때가 가장 늦은 거다 <br />
31. 성형<a href="http://news.hankooki.com/lpage/society/200910/h2009102317413621950.htm" class="dklink" target="_blank">수술</a>하고 나아진 게 아니라 하기 전이 최악이었다 <br />
32. 내일 할 수 있는 일을 오늘 할 필요는 없다 <br />
33. 되면 한다 <br />
34. 남자는 애 아니면 개다 <br />
35. 성공은 1% 재능과 99% 돈과 빽만 있음 된다 <br />
36. 지금 쟤 걱정할 때가 아니다. 내가 더 걱정이다 <br />
37. 예술은 비싸고 인생은 더럽다 <br />
38. 고생 끝에 골병난다 <br />
39. 하나를 보고 열을 알면 <a href="http://news.hankooki.com/lpage/society/200910/h2009102317413621950.htm" class="dklink" target="_blank">무당</a>눈깔이다 <br />
40. 원수는 회사에서 만난다 <br />
41. 돌다리도 두들겨보면 내손만 아프다 <br />
42. 재주가 많으면 먹고 살만한 길이 많다 <br />
43. 티끌 모아봐야 티끌<br />
<br />
<br />
출처: http://news.hankooki.com/lpage/society/200910/h2009102317413621950.htm<br />
			 ]]> 
		</description>
		<category>misc</category>

		<comments>http://cooljohn.egloos.com/5150291#comments</comments>
		<pubDate>Fri, 23 Oct 2009 14:28:15 GMT</pubDate>
		<dc:creator>내다</dc:creator>
	</item>
	<item>
		<title><![CDATA[ backup log ]]> </title>
		<link>http://cooljohn.egloos.com/5145708</link>
		<guid>http://cooljohn.egloos.com/5145708</guid>
		<description>
			<![CDATA[ 
  TF log 파일이 300GB에 육박했다.<br />
storage 시스템과 관련이 있는것 같은데, 물증은 없다.<br />
<br />
해결 방법은 로그의 비활성 부분 제거해서 활성 로그를 제외한 모든 부분 잘라내기!<br />
<br />
backup log&nbsp;DB명 with no_log<br />
DBCC SHRINKFILE(DB명_Log, 1)<br />
<br />
다시 복구 해야 한다면... 회사 짤린다..ㅋㅋ<br />
			 ]]> 
		</description>
		<category>programming</category>

		<comments>http://cooljohn.egloos.com/5145708#comments</comments>
		<pubDate>Mon, 19 Oct 2009 02:09:46 GMT</pubDate>
		<dc:creator>내다</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 8장 - 패키지 ]]> </title>
		<link>http://cooljohn.egloos.com/5100526</link>
		<guid>http://cooljohn.egloos.com/5100526</guid>
		<description>
			<![CDATA[ 
  <div class="content xhtmlEditorBody readonlyContentBody"><h1><span style="font-family: Verdana,San-Serif;">자바 패키지</span></h1>          <h1><span style="font-family: Verdana,San-Serif;">바이너리 컴포넌트</span></h1>          <h1><span style="font-family: Verdana,San-Serif;">패키지 설계의 원칙들</span></h1>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">패키지 릴리스 / 재사용 등가 원칙</span></h3>          <ul style="margin-left: 2em;"><li><span style="font-family: Verdana,San-Serif;">재사용할 때 같이 몰려다니는 클래스들은 한 패키지로 묶어 놓는다.</span></li><li><span style="font-family: Verdana,San-Serif;">재사용의 가장 작은 단위는 릴리스의 가장 작은 단위다</span></li></ul>          <p style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">공통 폐쇄 우너칙</span></h3>          <ul style="margin-left: 2em;"><li><span style="font-family: Verdana,San-Serif;">만약 어떤 것으를 변경해야 한다면, 그것 때문에 바꾸어야 할 클래스들이 한 패키지에만 몰려 있기를 원한다.</span></li></ul>          <p style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">공통 재사용 법칙</span></h3>          <ul style="margin-left: 2em;"><li><span style="font-family: Verdana,San-Serif;">한 클라이언트가 사용하는 클래스들과 다른 클라이언트가 사용하는 클래스들은 최대한 분리해야 한다.</span></li><li><span style="font-family: Verdana,San-Serif;">서로 다른 클라이언트가 사용하는 클래스들이 한 패키지에 섞여 있을 경우, 패키지 않의 어떤 클래스를 바꾸면 그 변경된 클래스를 사용하지 않는 패키지들까지 그 변화의 영향을 받을 수 있다.</span></li></ul>          <p style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">의존 관계 비순환 원칙</span></h3>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">안정된 의존 관계 원칙</span></h3>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">안정된 추상화 원칙</span></h3>          <h1><span style="font-family: Verdana,San-Serif;">결론</span></h1>          </div>          	<br/><br/>tag : <a href="/tag/UML_for_javaProgrammers" rel="tag">UML_for_javaProgrammers</a>			 ]]> 
		</description>
		<category>programming</category>
		<category>UML_for_javaProgrammers</category>

		<comments>http://cooljohn.egloos.com/5100526#comments</comments>
		<pubDate>Wed, 02 Sep 2009 02:43:44 GMT</pubDate>
		<dc:creator>내다</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 7장 - 실천방법: dX ]]> </title>
		<link>http://cooljohn.egloos.com/5100523</link>
		<guid>http://cooljohn.egloos.com/5100523</guid>
		<description>
			<![CDATA[ 
  <h1><span style="font-family: Verdana,San-Serif;">반복적인 개발</span></h1>          <ul><li><span style="font-family: Verdana,San-Serif;">dX의 실천 방법 가운데 핵심은 모든 것을 짧은 주기로 반복</span></li><li><span style="font-family: Verdana,San-Serif;">요구사항, 분석, 설계, 구현, 테스팅, 문서화 모든 것을 짧은 주기 반복</span></li><li><span style="font-family: Verdana,San-Serif;">짧은 주기는 한 주 또는 두 주를 의미</span></li><li><span style="font-family: Verdana,San-Serif;">주기마다 계획을 짜며 시작하고 고객에게 전달할 만한 결과물을 만듦으로서 주기를 종료</span></li></ul>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">최초의 탐사 작업</span></h3>          <ul style="margin-left: 2em;"><li><span style="font-family: Verdana,San-Serif;">첫 번째 주기는 종료할 때 코드가 없어도 되며 유일하게 두 주보다 짧아도 된다.</span></li><li><span style="font-family: Verdana,San-Serif;">상세한 요구사항을 포착하는 시기가 아니다.</span></li><li><span style="font-family: Verdana,San-Serif;">단지 시스템의 범위에 대해 아이디어를 얻으려는 것뿐</span></li><li><span style="font-family: Verdana,San-Serif;">유스케이스를 찾아낸다.</span></li><li><span style="font-family: Verdana,San-Serif;">유스케이스를 인덱스 카드에 한장에 하나씩 적어 놓는다.</span></li><li><span style="font-family: Verdana,San-Serif;">이 카드를 사용자 스토리라고 부른다.</span></li><li><span style="font-family: Verdana,San-Serif;">이 카드에는 유스케이스의 자세한 내용은 빼고 유스케이스의 이름만 적는다.</span></li><li><span style="font-family: Verdana,San-Serif;">이 탐사는 끝나지않는다. 새로운 요구나 기능을 논의하고 스토리를 기록한다.</span></li></ul>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">각 기능의 추정치 잡기</span></h3>          <ul style="margin-left: 2em;"><li><span style="font-family: Verdana,San-Serif;">프로그래밍을 위한 하루라는 개념을 써서 추정할 수 있다.</span></li><li>          <p><span style="font-family: Verdana,San-Serif;">프로그래밍을 위한 완벽한 하루</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">적절한 시간에 잠자리에 들고</span></li><li><span style="font-family: Verdana,San-Serif;">아침식사도 배불리 먹고</span></li><li><span style="font-family: Verdana,San-Serif;">일하러 오는데 교통체증도 없었고</span></li><li><span style="font-family: Verdana,San-Serif;">하루종일 전화도 걸려오지 않고</span></li><li><span style="font-family: Verdana,San-Serif;">회의도 없고</span></li><li><span style="font-family: Verdana,San-Serif;">컴퓨터가 한 번도 다운되지 않고</span></li><li><span style="font-family: Verdana,San-Serif;">네트워크 속도는 무한에 가까울만큼&nbsp; 빠르고</span></li><li><span style="font-family: Verdana,San-Serif;">직장동료는 똑똑하고 인내심 있고 잘 배려 해주는 사람들</span></li></ul>          </li></ul>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">스파이크</span></h3>          <p><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h1><span style="font-family: Verdana,San-Serif;">계획짜기</span></h1>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">릴리스 계획하기</span></h3>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">반복 주기를 계획하기</span></h3>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">중간 지점</span></h3>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">결과를 속도에 반영하기</span></h3>          <p style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h1><span style="font-family: Verdana,San-Serif;">반복 주기를 관리 단계로 조직하기</span></h1>          <h1><span style="font-family: Verdana,San-Serif;">반복 주기에서는 어떤 일이 일어나는가?</span></h1>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">짝을 이뤄 개발하기</span></h3>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">인수 테스트</span></h3>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">단위 테스트</span></h3>          <ul style="margin-left: 2em;"><li><span style="font-family: Verdana,San-Serif;">하루에 몇 십개</span></li><li><span style="font-family: Verdana,San-Serif;">한 주에 몇 백개</span></li><li><span style="font-family: Verdana,San-Serif;">한달이면 몇 천개가 쌓인다.</span></li><li><span style="font-family: Verdana,San-Serif;">특정한 API 함수를 호출하는 방법을 알고 싶다면, 그것을 테스트가 있으니 보면 된다.</span></li></ul>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">리팩토링</span></h3>          <ul style="margin-left: 2em;"><li><span style="font-family: Verdana,San-Serif;">시스템의 동작에는 변화 없이 프로그램의 구조만 개선하는 행동</span></li><li><span style="font-family: Verdana,San-Serif;"><em class="underline"><em><strong>하루 일을 마칠 때 나쁜 코드를 남기지 않는 것을 규칙</strong></em></em></span></li></ul>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">개방된 작업 공간</span></h3>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">끊임없는 통합 작업</span></h3>          <ul style="margin-left: 2em;"><li><span style="font-family: Verdana,San-Serif;">락을 걸지 않는 소스 컨트롤 시스템을 사용</span></li><li><span style="font-family: Verdana,San-Serif;">체크 인도 먼저 체크 인한 사람이 임자</span></li><li><span style="font-family: Verdana,San-Serif;">체크 인한 사람이 처음 사람의 코드를 자신의 코드와 합쳐야 한다.</span></li><li><span style="font-family: Verdana,San-Serif;">모듈을 체크 아웃해놓은 시간이 길면 길수록 코드를 합쳐야 할 가능성도 커진다.</span></li><li><span style="font-family: Verdana,San-Serif;">빨리 자주 체크 인해야 한다는 압력이 생기며, 이것은 좋은 현상이다.</span></li><li><span style="font-family: Verdana,San-Serif;">체크 인을 하기 전 반드시 모든 단위 테스트와 인수 테스트를 통과함을 보여야 한다.</span></li></ul>          <h1><span style="font-family: Verdana,San-Serif;">결론</span></h1>          <ul><li><span style="font-family: Verdana,San-Serif;">UML은 방법론이 아니라 표기법이다.</span></li><li><span style="font-family: Verdana,San-Serif;">자바도 방법론이 아니라 프로그래밍 언어다.</span></li><li><span style="font-family: Verdana,San-Serif;">이런 표기법과 언어는 필요할 때 사용하면 그만이다.</span></li><li><span style="font-family: Verdana,San-Serif;">의무적으로 작성하는 문서는 대부분 그다지 쓸모가 없다</span></li><li><span style="font-family: Verdana,San-Serif;"><em><strong>여러분에 당장 필요하고 중요한 문서만 만들어라</strong></em></span></li><li><span style="font-family: Verdana,San-Serif;">UML 다이어그램 그리기가 필수는 아니라는 뜻이다.</span></li></ul>          <p><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <p><span style="font-family: Verdana,San-Serif;">dX 는 거꾸로 읽으면 XP 이다. 저자의 센스</span></p><br/><br/>tag : <a href="/tag/UML_for_javaProgrammers" rel="tag">UML_for_javaProgrammers</a>			 ]]> 
		</description>
		<category>programming</category>
		<category>UML_for_javaProgrammers</category>

		<comments>http://cooljohn.egloos.com/5100523#comments</comments>
		<pubDate>Wed, 02 Sep 2009 02:42:55 GMT</pubDate>
		<dc:creator>내다</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 6장 - OOD(객체지향 개발)의 원칙 ]]> </title>
		<link>http://cooljohn.egloos.com/5100522</link>
		<guid>http://cooljohn.egloos.com/5100522</guid>
		<description>
			<![CDATA[ 
  <div class="content xhtmlEditorBody readonlyContentBody"><h1><span style="font-family: Verdana,San-Serif;">설계의 품질</span></h1>          <h1>&nbsp;</h1>          <h3 style="margin-left: 2em;">&nbsp;</h3>          <ul><li><span style="font-family: Verdana,San-Serif;">잘 설계 된 시스템은 이해하기 쉽고, 바꾸기도 쉽고, 재사용하기도 쉽다.</span></li><li><span style="font-family: Verdana,San-Serif;">개발하는데 특별히 어렵지도 않고, 단순하고 간결하며 경제적이다.</span></li><li><span style="font-family: Verdana,San-Serif;">잘 설계 시스템을 개발하는 일은 즐겁다.</span></li></ul>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">나쁜 설계의 냄새</span></h3>          <ol style="margin-left: 4em;"><li><span style="font-family: Verdana,San-Serif;">경직성: 무엇이든 하나를 바꿀 때마다 반드시 다른 것도 바꿩야 하며, 그러고 나면 또 다른 것도 바꿔야 하는 변화의 사슬이 끊이지 않기 때문에 시스템을 변경하기 힘들다.</span></li><li><span style="font-family: Verdana,San-Serif;">부서지기 쉬움: 시스템의 한 부분을 변경하고 나면 그것과 전혀 상관없는 다른 부분이 작동을 멈춘다.</span></li><li><span style="font-family: Verdana,San-Serif;">부동성: 여러 컴포넌트로 분리해서 재상요하기 힘들다.</span></li><li><span style="font-family: Verdana,San-Serif;">끈끈함: 편집-컴파일-테스트 순환을 한 번 도는 시간이 엄청길다.</span></li><li><span style="font-family: Verdana,San-Serif;">쓸데없이 복잡함: 필요없는 반복: copy - paste 같다.</span></li><li><span style="font-family: Verdana,San-Serif;">투명함: 코드를 만든 의도에 대한 설명을 볼 때 그 설명에 "표현이 꼬인다"라는 말이 어울림</span></li></ol>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">의존 관계 관리하기</span></h3>          <p style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h1><span style="font-family: Verdana,San-Serif;">단 하나의 책임 원칙(The Single Responsibilty Principle - SRP)</span></h1>          <ul><li><span style="font-family: Verdana,San-Serif;">어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다.</span></li><li><span style="font-family: Verdana,San-Serif;">클래스는 오직 하나만 알아야 한다.</span></li><li><span style="font-family: Verdana,San-Serif;">오직 하나의 책임만 져야 한다.</span></li><li><span style="font-family: Verdana,San-Serif;">더 핵심적인 말로 바꿔보면, 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다.</span></li></ul>          <p><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h1><span style="font-family: Verdana,San-Serif;">개방-폐쇄 원칙(The Open-Closed Principle - OCP)</span></h1>          <ul><li><span style="font-family: Verdana,San-Serif;">소프트웨어 엔티티(클래스, 모듈, 함수 등등)는 확장에 대해서는 개발되어야 하지만, 변경에 대해서는 폐쇄되어야 한다.</span></li></ul>          <p><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h1>&nbsp;</h1>          <h1><span style="font-family: Verdana,San-Serif;">리스코프 교체 원칙(Liskov Substitution Principle - LSP)</span></h1>          <h1>&nbsp;</h1>          <ul><li><span style="font-family: Verdana,San-Serif;">LSP를 지키지 않았다는 말은 곧 OCP도 지키지 않았다는 말이다.</span></li></ul>          <p><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h1><span style="font-family: Verdana,San-Serif;">의존 관계 역전 원칙(Dependency Inversion Principle - DIP)&nbsp;</span></h1>          <h1>&nbsp;</h1>          <ul><li><span style="font-family: Verdana,San-Serif;">고차원 모듈은 저차원 모듈에 의존하면 안 된다. 이 두 모듈 모두 다른 추상화된 것에 의존해야 한다.</span></li><li>          <p><span style="font-family: Verdana,San-Serif;">추상화된 것은 구체적인 것에 의존하면 안 된다. 구체적인 것이 추상화된 것에 의존해야 한다.</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">자주 변경되는 컨크리트 클래스에 의존하지 마라</span></li><li><span style="font-family: Verdana,San-Serif;">어떤 클래스를 상속받아야 한다면, 기반 클래스를 추상 클래스로 만들어라</span></li><li><span style="font-family: Verdana,San-Serif;">어떠 클래스 참조를 가져야 한다면, 참조 대상이 되는 클래스르르 추상 클래스로 만들어라.</span></li><li><span style="font-family: Verdana,San-Serif;">만약 어떤 함수를 호출해야 한다면, 호출되는 함수를 추상 함수로 만들어라</span></li></ul>          </li></ul>          <p><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h1><span style="font-family: Verdana,San-Serif;">인터페이스 격리 원칙(Interface Segregation Principle - ISP)</span></h1>          <h1>&nbsp;</h1>          <ul><li><span style="font-family: Verdana,San-Serif;">클라이언트는 자신이 사용하지 않는 메소드에 의존 관계를 맺으면 안 된다.</span></li></ul>          <p><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h1><span style="font-family: Verdana,San-Serif;">결론</span></h1>          <p><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          </div><br/><br/>tag : <a href="/tag/UML_for_javaProgrammers" rel="tag">UML_for_javaProgrammers</a>			 ]]> 
		</description>
		<category>programming</category>
		<category>UML_for_javaProgrammers</category>

		<comments>http://cooljohn.egloos.com/5100522#comments</comments>
		<pubDate>Wed, 02 Sep 2009 02:42:23 GMT</pubDate>
		<dc:creator>내다</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 5장 - 유스케이스 ]]> </title>
		<link>http://cooljohn.egloos.com/5100521</link>
		<guid>http://cooljohn.egloos.com/5100521</guid>
		<description>
			<![CDATA[ 
  <div class="content xhtmlEditorBody readonlyContentBody"><p><span style="font-family: Verdana,San-Serif;">유스케이스는 훌륭한 아이디어로 시작했지만 나중에 괜히 엄청나게 복잡해진 경우다.</span></p>          <p><span style="font-family: Verdana,San-Serif;">유스케이스를 단순하게 유지하는 것이 유스케이스를 사용하는 진짜 비결이다.</span></p>          <p><span style="font-family: Verdana,San-Serif;">정해진 형식을 맞춰야 하나 걱정하지 말고 그냥 빈 종이에 쓰거나, 단순한 워드프로세서로 <strong><em>빈페이지에</em></strong> 작성하거나, <strong><em>텅빈 인덱스 카드</em></strong>에 적어라</span></p>          <p><span style="font-family: Verdana,San-Serif;">모든 세부사항을 채워야 하는지 걱정할 필요도 없다.</span></p>          <p><span style="font-family: Verdana,San-Serif;">세부사항은 나중에 중요해진다.</span></p>          <p><span style="font-family: Verdana,San-Serif;">모든 유스케이스를 포착할 수 있는지 걱정하지도 마라. 애초에 불가능한 일이다.</span></p>          <p><span style="font-family: Verdana,San-Serif;">기억해야 할 점은 이것이다. <strong><em>"내일이면 다 바뀐다."</em></strong> <strong><em>내일</em></strong>이면 다 변한다.</span></p>          <p><span style="font-family: Verdana,San-Serif;">유스케이스를</span> <span style="color: rgb(255, 1, 3); font-family: Verdana,San-Serif;"><em><strong>그때그때 작성하는 요구사항</strong></em></span><span style="font-family: Verdana,San-Serif;">이라고 생각하라</span></p>          <p><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <p><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h1><span style="font-family: Verdana,San-Serif;"><strong>유스케이스 적기</strong></span></h1>          <ul><li>          <p><span style="font-family: Verdana,San-Serif;">특정한 관점에서 보는 시스템의 동작을 글로 기술 한 것이다.</span></p>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">유스케이스 다이어그램은 유스케이스의 내용은 하나도 말해주지 않는다.</span></p>          </li><li><span style="font-family: Verdana,San-Serif;">유스케이스 다이어그램들에는 유스케이스가 포착해야 하는 동작상의 요구사항에 관련된 정보는 하나도 없다.</span><span style="font-family: Verdana,San-Serif;"><br />
</span></li></ul>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">유스케이스란 무엇인가?</span></h3>          <ul style="margin-left: 2em;"><li>          <p><span style="font-family: Verdana,San-Serif;">유스케이스는 시스템의 동작 하나를 기술</span></p>          </li><li><span style="font-family: Verdana,San-Serif;">사용자가 보낸 자극 <em><strong>하나에</strong></em> 대한 반응로 시스템이 진행하는 <strong><em>눈에 보이는 이벤트들의 흐름</em></strong>을 포착</span><span style="font-family: Verdana,San-Serif;"><br />
</span></li></ul>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">기본흐름</span></h3>          <ul style="margin-left: 2em;"><li>          <p><span style="font-family: Verdana,San-Serif;">유스케이스를 구성하는 항목의 첫 째 항목은 <strong>"흐름"</strong>이다.</span></p>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">세부사항을 기록하지 않을 것이다.</span></p>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">만약 세부사항을 하나도 기록하지 않는다면 어떻게&nbsp; 유스케이스를 추정해볼 수 있을까? 그것은 skateholder와 이야기해보면 추정할 수 있다.</span></p>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">세부사항을 너무 일찍 기록하는 작업은 비용 대비 효율이 너무 낮다</span></p>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">무엇을 기록할까?</span></p>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">유스케이스 이름을 기록하라</span></p>          </li><li><span style="font-family: Verdana,San-Serif;">구현할 때가 가까워지면 세부사항을 채워 넣는다.</span><span style="font-family: Verdana,San-Serif;"><br />
</span></li></ul>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">대체흐름</span></h3>          <ul style="margin-left: 2em;"><li><span style="font-family: Verdana,San-Serif;">대화할 때 여러분은 실패 시나리오를 이야기해봐야 한다. ("프로젝트 실패가 아닌 not condition을 말하는 것 같다.")</span><span style="font-family: Verdana,San-Serif;"><br />
</span></li></ul>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">나머지는?</span></h3>          <ul style="margin-left: 2em;"><li>          <p><span style="font-family: Verdana,San-Serif;">액터, 2차 액터, 선행조건, 후행조건 등등은 알 필요가 없고</span></p>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">더 자세히 알고 싶으면 Alistair Cockburn - <a href="http://kangcom.com/sub/view.asp?topid=1&amp;sku=200102190001" class="external" title="http://kangcom.com/sub/view.asp?topid=1&amp;sku=200102190001">Writing Effective Use Cases</a> 를 읽으면 된다.</span></p>          </li></ul>          <p><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          <h1><span style="font-family: Verdana,San-Serif;"><strong>유스케이스 다이어그램</strong></span></h1>          <ul><li>          <p><span style="font-family: Verdana,San-Serif;">유스케이스 다이어그램은 UML의 많은 다이어그램에서 가장 혼란스럽고 쓸모없다.</span><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          </li></ul>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">시스템 경계 다이어그램</span></h3>          <ul style="margin-left: 2em;"><li>          <p><span style="font-family: Verdana,San-Serif;">유스케이스 다이어그램은 프로젝트 이해당사자에게 프리젠테이션할 때 멋진 표지로 사용하기에는 좋다.</span><span style="font-family: Verdana,San-Serif;"><br />
</span></p>          </li></ul>          <h3 style="margin-left: 2em;"><span style="font-family: Verdana,San-Serif;">유스케이스 관계</span><span style="font-family: Verdana,San-Serif;"><br />
</span></h3>          <h1><span style="font-family: Verdana,San-Serif;"><strong>결론</strong></span></h1>          </div><br/><br/>tag : <a href="/tag/UML_for_javaProgrammers" rel="tag">UML_for_javaProgrammers</a>			 ]]> 
		</description>
		<category>programming</category>
		<category>UML_for_javaProgrammers</category>

		<comments>http://cooljohn.egloos.com/5100521#comments</comments>
		<pubDate>Wed, 02 Sep 2009 02:41:46 GMT</pubDate>
		<dc:creator>내다</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 4장 - 시퀀스 다이어그램 ]]> </title>
		<link>http://cooljohn.egloos.com/5100519</link>
		<guid>http://cooljohn.egloos.com/5100519</guid>
		<description>
			<![CDATA[ 
  <div class="content xhtmlEditorBody readonlyContentBody"><h1>기본개념</h1>          <ul><li><span style="font-family: Verdana,San-Serif;">객체, 생명선, 메시지 등등</span></li><li><span style="font-family: Verdana,San-Serif;">생성과 소멸</span></li><li><span style="font-family: Verdana,San-Serif;">단순한 반복</span></li><li><span style="font-family: Verdana,San-Serif;">사례와 시나리오</span></li></ul>          <h1>고급개념</h1>          <ul><li><span style="font-family: Verdana,San-Serif;">반복과 조건</span></li><li><span style="font-family: Verdana,San-Serif;">시간이 걸리는 메세지들</span></li><li><span style="font-family: Verdana,San-Serif;">비동기 메세지</span></li><li><span style="font-family: Verdana,San-Serif;">다중 쓰레드</span></li><li><span style="font-family: Verdana,San-Serif;">활동적인 객체</span></li><li><span style="font-family: Verdana,San-Serif;">인터페이스에 메세지 보내기</span><span style="font-family: Verdana,San-Serif;"><br />
</span></li></ul>          <h1>결론</h1>          <ul><li><span style="font-family: Verdana,San-Serif;">개발자가 <strong><span style="color: rgb(255, 1, 3);"><em>코드를 작성하기 전에</em></span></strong> 모든 메소드의 시퀀스 다이어그램을 그려야 한다는 생각은 1990년대의 소프트웨어 개발 방법론에서 가장 큰 오류다</span></li><li><span style="font-family: Verdana,San-Serif;">"항상 이책은 핵심적인 부분만을 그리기를 원하고 소통의 도구로서 빨리 그릴 수 있는 환경을 원한다. UML이 많은 것보다 적은것이 좋다고 한다. 나는 이 사람이 유명한 사람인지 몰랐다. 로버티 C 마틴.... 거의 OOAD 계의 거장이다. "</span></li></ul>          </div><br/><br/>tag : <a href="/tag/UML_for_javaProgrammers" rel="tag">UML_for_javaProgrammers</a>			 ]]> 
		</description>
		<category>programming</category>
		<category>UML_for_javaProgrammers</category>

		<comments>http://cooljohn.egloos.com/5100519#comments</comments>
		<pubDate>Wed, 02 Sep 2009 02:41:17 GMT</pubDate>
		<dc:creator>내다</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 3장 - 클래스 다이어그램 ]]> </title>
		<link>http://cooljohn.egloos.com/5100518</link>
		<guid>http://cooljohn.egloos.com/5100518</guid>
		<description>
			<![CDATA[ 
  <div class="content xhtmlEditorBody readonlyContentBody"><ul><li><span style="font-family: Verdana,San-Serif;">클래스 다이어그램은 굉장히 유용하다.</span></li><li><span style="font-family: Verdana,San-Serif;">의존관계의 구조를 명확하게 볼 수 있게 해누며</span></li><li><span style="font-family: Verdana,San-Serif;">순환 의존이 발생하는 지점을 찾아내서 어떻게 이 순환 고리를 깨는 것이 가장 좋은지 결정할 수 있게 해준다.</span></li></ul>          <ol><li>          <p><span style="font-family: Verdana,San-Serif;">기본</span></p>          <ul><li>          <p><span style="font-family: Verdana,San-Serif;">클래스</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">클래스에 세부사항을 자세히 적는 것이 유용할 때도 있지만, 자주 이렇게 해서는 안된다. 차라리 그런 것은 코드에서 하는 것이 더 낫다.</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">연관</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">대개 다른 객체의 참조를 가지는 인스턴스 변수를 의미한다.</span></li><li><span style="font-family: Verdana,San-Serif;">hasa, isa 를 사용하지 말자. 해깔리고 논쟁의 대상이 될수 있다. 아싸리 "...와 연결이 된다" 표현이 더 낫다고 한다.</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">상속</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">화살촉 그릴 때 유의</span></li><li><span style="font-family: Verdana,San-Serif;">연관과 구분해야 함</span></li><li><span style="font-family: Verdana,San-Serif;">하지만 인터페이스까지 구분하기에는 에너지 낭비가 심하니까 근야 무시해도 됨</span></li></ul>          </li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">예제 클래스 다이어그램</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">중요한 부분만 다이어그램으로 표현하고 세부사항도 마찬가지</span></li><li><span style="font-family: Verdana,San-Serif;">연관은 가로로 표시하고 상속은 세로로 표시하므로서 구분하는데 큰 도움이 된다.</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">세부사항</span></p>          <ul><li>          <p><span style="font-family: Verdana,San-Serif;">클래스 스트레오타입</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">자바 프로그래머가 사용할 만한 두가지는 &lt;&lt;interface&gt;&gt;와 &lt;&lt;utility&gt;&gt; 이다.</span></li></ul>          </li><li><span style="font-family: Verdana,San-Serif;">추상 클래스</span></li><li><span style="font-family: Verdana,San-Serif;">프로퍼티</span></li><li>          <p><span style="font-family: Verdana,San-Serif;">집합</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">아래 합성과 함께 전혀 사용하지 않으며 여러분도 피했으면 좋겠다.</span></li></ul>          </li><li><span style="font-family: Verdana,San-Serif;">합성</span></li><li><span style="font-family: Verdana,San-Serif;">다수성</span></li><li><span style="font-family: Verdana,San-Serif;">연관 스트레오타입</span></li><li><span style="font-family: Verdana,San-Serif;">내부 클래스</span></li><li><span style="font-family: Verdana,San-Serif;">익명 내부 클래스</span></li><li><span style="font-family: Verdana,San-Serif;">연관 클래스</span></li><li><span style="font-family: Verdana,San-Serif;">연관 한정사</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">결론</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">최소한 사용이 이해하기 쉽다. 그래서 UML을 너무 적게 사용하는 편이 너무 많이 사용하는 것보다 낫다.</span></li></ul>          </li></ol>          </div><br/><br/>tag : <a href="/tag/UML_for_javaProgrammers" rel="tag">UML_for_javaProgrammers</a>			 ]]> 
		</description>
		<category>programming</category>
		<category>UML_for_javaProgrammers</category>

		<comments>http://cooljohn.egloos.com/5100518#comments</comments>
		<pubDate>Wed, 02 Sep 2009 02:40:48 GMT</pubDate>
		<dc:creator>내다</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 2장 - 다이어그램으로 작업하기 ]]> </title>
		<link>http://cooljohn.egloos.com/5100517</link>
		<guid>http://cooljohn.egloos.com/5100517</guid>
		<description>
			<![CDATA[ 
  <ol><li>          <p><span style="font-family: Verdana,San-Serif;">왜 모델을 만들어야 하는가?</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">모델은 반드시 시험해 볼 수 있어야 한다는 의미를 함축</span></li><li><span style="font-family: Verdana,San-Serif;">모델을 만드는 비용이 실제 물건을 만드는 비용보다 훨씬 적을 경우 모델을 만들어서 설계를 검사해 본다.</span></li></ul>          <ol><li>          <p><span style="font-family: Verdana,San-Serif;">왜 소프트웨어 모델을 만드는가?</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">시험해 볼 구체적인 것이 있고, 그것을 코드로 시험해 보는 것보다 UML로 시험해 보는 쪽이 비용이 덜 들 때 UML를 사용한다.</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">반드시 코딩을 시작하기에 앞서 포괄적인 설계를 해야 하는가?</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">미리 계획을 짜는 것이 비용이 훨씬 적게 든다.</span></li><li><span style="font-family: Verdana,San-Serif;">하지만 소프트웨어 분야는 분명치 않다; UML을 그리는 것이 훨씬 비용이 적은지는 명확하지 않다.</span></li></ul>          </li></ol>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">UML을 효과적으로 사용하기</span></p>          <ol><li>          <p><span style="font-family: Verdana,San-Serif;">다른 사람과 의사 소통하기: UML은 아이디어 초점에 맞춰 의사 소통하기에 매우 좋다.</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">그러나 알고리즘의 세부</span> <span style="font-family: Verdana,San-Serif;">내용을 전달하는 목적에는 UML이 유용하지 않다.</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">로드맵</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">대규모 소프트웨어 구조의 로드맵을 만들 때 유용하다.</span></li><li><span style="font-family: Verdana,San-Serif;">어떤 클래스가 다른 클래스에 의존하는지 개발자가 빨리 파악할 수 있게 해주고 전체 시스템의 구조에 대한 참조 도표도로 사용된다.</span></li><li><span style="font-family: Verdana,San-Serif;">하지만, 모든 팀 구성원이 머뭇거리지 않고 칠판에 이런 다이어그램을 바로 그릴 수 있어야 한다.</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">백엔드 문서</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">문서작성을 프로젝트의 막바지에 팀의 마지막 작업으로 사용하는 것이 좋다.</span></li><li><span style="font-family: Verdana,San-Serif;">그러면 작성한 문서가 팀이 프로젝트를 떠나는 시점의 설계 상태를 정확하게 반영할 것이므로 다음에 이 프로젝트를 맡을 팀에게도 분명히 유용할 것이다.</span></li><li><span style="font-family: Verdana,San-Serif;">우리가 원하는 것은 시스템의 핵심 내용을 짚어서 기술하는 핵심 다이어그램 몇 개다.</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">무엇을 보관하고 무엇을 버려야 하는가?</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">다이어그램을 오래 기록되는 매체에 기록하지 않는 습관을 기르는 것이다.</span></li><li><span style="font-family: Verdana,San-Serif;">칠판이나 종이 조각에 다이어그램을 그려라</span></li><li><span style="font-family: Verdana,San-Serif;">일반적으로 CASE 도구나 그림을 그리는 프로그램을 사용하지 마라. (학습곡선이 크고 댑부분 그렇게 길지 않기 때문이다.)</span></li><li><span style="font-family: Verdana,San-Serif;">그러나, 오래 보관할 가치가 있는 다이어그램들만 보관해야 한다.</span></li></ul>          </li></ol>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">반복해서 통해 다듬기</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">작은 단계를 하나씩 밟아 나가면서 iteration이 되어야 한다.</span></li></ul>          <ol><li>          <p><span style="font-family: Verdana,San-Serif;">행위를 제일 먼저</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">간단한 시퀀스 다이어그램으로 그리며 그 문제를 풀기 시작한다. (책에서는 collaberation diagram으로 예제를 설명함)</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">구조를 점검하기</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">위에서 그린 클래스/협력 다이어그램을 클래스 다이어그램으로 그려본다.</span></li><li><span style="font-family: Verdana,San-Serif;">가장 중요한 것은 연관/집합이 아니라 의존관계를 분석하는 것이다.</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">코드를 마음속으로 그려보기</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">지금 하는 작업을 당장 중단하고 어떻게 그 다이어그램을 코드로 바꿀 수 있는지 찾아내라.</span></li><li><span style="font-family: Verdana,San-Serif;">언제나 지금 다이어그램으로 나타내는 코드가 어떤 것인지 여러분 스스로 확실히 알고 있어야 한다.</span></li><li><span style="font-family: Verdana,San-Serif;">(그렇다면 결국 Design Pattern의 지식을 알고 있는 경우가 많이 유리한 것 같다. 다이어그램을 보고 코드가 연상이 되어야 한다니... 큰 도전이다.)</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">다이어그램의 진화</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">클래스 다이어그램과 시퀀스/협력 다이어그램 사이를 아주 짧은 주기로 함께 발전 시킨다.</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">미니멀리즘</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">다이어그램이 가장 유용한 때는 다른 사람과 의사 소통을 할 때와 여러분이 설계에 관한 문제점을 푸는 일에 도움이 될 때다.</span></li></ul>          </li></ol>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">언제 다이어 그램을 그려야 하며, 어떻게 그려야 하는가?</span></p>          <ol><li><span style="font-family: Verdana,San-Serif;">페이지 54 ~ 55 읽어볼 것, 주옥같은 말.</span></li><li>          <p><span style="font-family: Verdana,San-Serif;">다이어그램을 그려야 할 경우</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">모든 사람이 동시에 특정한 부분의 구조를 이해해야 할 때</span></li><li><span style="font-family: Verdana,San-Serif;">설계에 다른 의견이 발생할 때. 이때 논쟁의 시간을 제한을 둔다.</span></li><li><span style="font-family: Verdana,San-Serif;">설계에 대한 아이디어로 이것저것 시도해 보고 싶을 때. 그리고 코드로 옮겨보고 만족스러울 때 종결</span></li><li><span style="font-family: Verdana,San-Serif;">누군가에게 일부분의 구조를 설명할 때</span></li><li><span style="font-family: Verdana,San-Serif;">프로젝트에서 문서를 요구할 때</span></li></ul>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">다이어그램을 그리지 말아야 할 경우</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">공정에서 다이어그램을 그려야 한다고 단정 짓지 말 것.</span></li><li><span style="font-family: Verdana,San-Serif;">다이어그램을 안 그리면 죄책감을 느끼거난, 훌륭한 설계자는 누구나 다이어그램을 그린다는 생각이 든다고 다이어그램을 그리지 마라.</span></li><li><span style="font-family: Verdana,San-Serif;">설계 단계의 포괄적인 문서를 만들기 위해서 다이어그램을 그리지 마라</span></li><li><span style="font-family: Verdana,San-Serif;">다른 사람에게 어떻게 코딩을 해야 할지 알려주기 위해 다이어그램을 그리지 마라.</span></li></ul>          </li><li><span style="font-family: Verdana,San-Serif;">CASE 도구</span></li><li>          <p><span style="font-family: Verdana,San-Serif;">하지만 문서는 어떻게 합니까?</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">소프트웨어의 문서는 반드시 짧고 핵심을 찔러야 한다.</span></li><li><span style="font-family: Verdana,San-Serif;">소프트웨어 문서의 가치는 그 분량에 반비례한다.</span></li><li><span style="font-family: Verdana,San-Serif;">문서에는 "고차원 구조에 대한 UML 다이어그램", "관계형 스키마의 ER당어그램", "시스템 빌드하는 방법", "테스트&nbsp; 방법 설명" 그리고 "소스 콘트롤 방법 설명" 등이 포함되면 좋다.</span></li></ul>          </li></ol>          </li><li>          <p><span style="font-family: Verdana,San-Serif;">결론</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">동적 시나리오(시퀀스/협력 다이어그램)를 먼저 생각해보고 이것들이 어떤 정적구조(클래스 다이어그램)를 함축하는지 결정하는 전략이 가장 좋다.</span></li><li><span style="font-family: Verdana,San-Serif;">동적 다이어그램과 정적 다이어그램을 5분이나 더 짧은 주기로 반복하며, 서로 발판삼아 동시에 발전시키는 것이 중요하다.</span></li><li><span style="font-family: Verdana,San-Serif;">UML을 필요한지 판단하고 행동으로 옮기기 전에 먼저 생각하라</span></li><li><span style="font-family: Verdana,San-Serif;">UML은 도구일 뿐 그 자체가 목적이 되어서는 안된다.</span></li><li><span style="font-family: Verdana,San-Serif;">늘 절제하는 마음가짐으로 UML을 사용하라.</span><span style="font-family: Verdana,San-Serif;"><br />
</span></li></ul>          </li></ol><br/><br/>tag : <a href="/tag/UML_for_javaProgrammers" rel="tag">UML_for_javaProgrammers</a>			 ]]> 
		</description>
		<category>programming</category>
		<category>UML_for_javaProgrammers</category>

		<comments>http://cooljohn.egloos.com/5100517#comments</comments>
		<pubDate>Wed, 02 Sep 2009 02:40:09 GMT</pubDate>
		<dc:creator>내다</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 1장 - 이 책의 개요 ]]> </title>
		<link>http://cooljohn.egloos.com/5100514</link>
		<guid>http://cooljohn.egloos.com/5100514</guid>
		<description>
			<![CDATA[ 
  <div class="content xhtmlEditorBody readonlyContentBody"><h1>UML의 주요 다이어그램 세 종류</h1>          <ul><li><span style="font-family: Verdana,San-Serif;">정적 다이어그램: 클래스, 객체, 데이터 구조와 이들의 관계</span></li><li><span style="font-family: Verdana,San-Serif;">동적 다이어그램: 시퀀스, 상태</span></li><li><span style="font-family: Verdana,San-Serif;">물리적 다이어그램: 소스 파일, 라이브러리, 이진파일, 데이터 파일</span><span style="font-family: Verdana,San-Serif;"><br />
</span></li><li>          <p><span style="font-family: Verdana,San-Serif;">다이어그램의 종류에 대한 설명</span></p>          <ul><li><span style="font-family: Verdana,San-Serif;">클래스 다이어그램</span></li><li><span style="font-family: Verdana,San-Serif;">객체 다이어그램: 메모리 상태를 표현</span></li><li><span style="font-family: Verdana,San-Serif;">시퀀스 다이어그램: 메시지를 보내고 받고 하는 정보의 흐름</span></li><li><span style="font-family: Verdana,San-Serif;">협력 다이어그램: <strong>시퀀스와 비슷하게 흐름을 가지고</strong> 객체 사이의 관계를 명확히 하기 위해 사용한다. 2장 예제 참조</span></li><li><span style="font-family: Verdana,San-Serif;">상태 다이어그램</span></li></ul>          </li></ul>          <h6>&nbsp;</h6>          <ol style="font-family: Verdana;"><li>          <h6><font size="2">위의 다이어그램만 알아도 대부분의 목적을 달성할 수 있고, 대부분의 프로그래머는 위에서 말하는 UML 지식 정도만 가지고 충분히 잘 살아갈수 있다.</font></h6>          </li></ol>          </div><br/><br/>tag : <a href="/tag/UML_for_javaProgrammers" rel="tag">UML_for_javaProgrammers</a>			 ]]> 
		</description>
		<category>  programming</category>
		<category>UML_for_javaProgrammers</category>

		<comments>http://cooljohn.egloos.com/5100514#comments</comments>
		<pubDate>Wed, 02 Sep 2009 02:38:43 GMT</pubDate>
		<dc:creator>내다</dc:creator>
	</item>
</channel>
</rss>
