달력

092010  이전 다음

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
  •  
1. 모델 형상관리 베스트 프랙티스
EA의 버전 관리 지원은 수준급이라고 하지만 모델링 도구 안에서 형상관리 기능을 연계하는 것은 별도의 svn 클라이언트를 쓰는 것보다 편하지 않다. 가령 한 작업자가 EA로 작업후 해당 모델을 Check-in 하지 않고 퇴근했다면 다른 사람을 lock으로 작업을 할 수 없다. [각주:1] 단순히 UML 모델만 관리한다면 EA 툴에서 형상관리하는 것도 큰 문제는 없다. 그러나, 대개의 경우 오피스 문서 등과 혼용해서 모델을 쓰는 것이 효과를 발휘한다. 또는 소스코드나 이미지에 링크를 걸어 보기도 한다. 이러한 경우라면, svn 클라이언트 프로그램을 사용하고 EA 내부의 패키지 단위가 아닌 윈도 파일 단위로 관리하는 것이 더 좋다.

2. lock 풀기(TortoiseSVN)
쉘 화면에서 TortoiseSVN > Check for modifications 명령을 선택한다. lock 걸린 파일을 선택하고, Break lock 명령을 실행한다.

3. 형상관리 제약사항/모델 이동

Rose 이후의 주류 모델링 도구들이 너무나 불편해서, 90년대 후반에 나온 Rose에 대략은 기능 보강을 한 정도인 EA에 대해서 지나치게 호평만 했다. 특히, EA의 버전 관리 지원은 수준급에서는 RSA의 형상관리 문제에 비교해 훌륭하다고 한 것인데 실전에서는 역시 문제가 발생했다.

XML로 저장하는 일반 모델 파일의 형상관리는 OK이다. 마지막 작업자가 체크인(Check in)을 안하면 다음 작업자가 모델링을 못하는 File-lock 방식에 불평을 하는 팀원도 있었지만, 모델링은 Optimistic lock보다는 File lock(Pessimitic lock) 방식이 좋다. CVS/SVN에 익숙한 개발자가 File lock기반의 VSS가 불편하다고 하는 것처럼,  VSS에 익숙한 개발자들만 있는 곳에서 CVS의 Optimistic lock을 심하게 불평하는 경우도 있다.(CVS를 실제 프로젝트에서는 못쓴다고..ㅡㅡ;)

EA로 형상관리할 때 진짜 문제는 코드와 모델을 싱크한 경우에 발생했다. EA에서는 XML 단위로 모델만 형상관리하지만, 코드 전체가 XML로 저장할 이유는 없다. 확실치 않지만 참조 형태로 연결하는 것 같은데, 이를 CI/CO할 때 시스템 자원을 많이 썼고, SVN에 이를 넣다가 한 PC가 죽어 버리자 Integrity가 깨져서... 스프링 내부 메커니즘 교육용으로 이틀에 걸쳐 수 시간을 쏟은 그림이 사실상 백지로 변했다.


이렇게... 젠장.. 노트만 남았다. 결론, 리버스 하여 코드와 연결시킨 모델의 경우는 윈도우에서 SVN/CVS/VSS 등을 이용해서 형상관리 하거나 형상관리를 끊은 상태에서 백업을 잘 해두자. ㅡㅡ;

코드와 모델을 동기화 하는 것은 대규모 프로젝트에서는 권장할 수 없는 방식이다. 메커니즘 분석을 위해서나 솔루션 개발팀에서 고려할만한 일이다. 보편적인 SI 환경에서는 모델과 코드를 동기화 하는 것이 득보다 실이 많다.

또 하나 EA의 불편함은 CI/CO만 있고, Update를 못한다는 사실이다. 모델과 코드 사이의 싱크를 유지하지 않는다면 형상관리 불편함은 크게 준다. 모델-코드 동기화는 팀 작업시 생산성 관점에서는 악의 축이 되는 일이 비근하다.  규모가 있는 프로젝트면 장점보다 단점이 많다.

리버스를 이용해서 다이어그램을 작성하고 난 이후에 객체를 로컬화 하는 방법으로 모델에 포함시킬 수 있다. Advanced > Convert Linked Element to Local Copy 명령이다. Rose의 Relocate와 유사한데.. 아쉽게도 단축키가 없고, 여러 객체 혹은 심볼에 동시 적용할 수가 없다.


  1. 사실 바로 아래 lock을 깨는 방법을 설명할 것이다. [본문으로]
Posted by 영회