2006년 09월 07일
로즈 모델링과 ERWin 으로 만드는 ERD
프로젝트의 설계단계의 막바지에 있다.
이번 프로젝트는 자바 설계는 Rose 를 이용하고 데이터베이스 설계는 ERwin 으로 하는데...
당연히 클래스다이어그램을 그렸다.
프로젝트에서 사용하는 아키텍처가 Controller, Command, Delegate, Session Facade, DAO or Entity Bean, Value Object(VO) 등을 이용하도록 되어있는데 Hibernate 로 DAO 를 만들 생각으로 VO 를 카디널리티와 상속관계를 나름대로 적절히 섞어서 그리고 Facade 로 비즈니스 메소드를 빼버렸다.
아무튼 클래스다이어그램을 그리고 나서 ERwin 으로 ERD를 클래스다이어그램을 보며 그릴 생각을 하니 갑자기 가슴이 답답해지는 현상이....
ERD를 그리려다가 차라리 클래스를 만들고 하이버네이트 매핑을 만들어서 DB 스키마를 제너레이트 해서 생성된 DB 에서 리버스 엔지니어링을 통해서 ERD 를 만들기로 했다.
클래스는 Rose 로 제너레이트를 해보고 싶었다.
그런데 제너레이트를 해보니 리턴타입이나 파라미터를 정확히 설정해주지 않으면 좀 쓰기 곤란하게 만들어지는 것이 아닌가? 물론 설계단계에서 다 설정을 해야하긴 하지만 ERD 를 만드는 것을 클래스다이어그램이 완벽해질 때까지 기다렸다가 만들수도 없는 노릇이니...
결국 VO를 이클립스로 만들어버렸다.
VO 를 만드는 것이야 이클립스로 하면 간단하지 않은가?
VO 를 만들고 Hibernate Mapping 파일을 만들어서 schemaexport 기능으로 오라클에 DB 오브젝트들을 만들고, ERwin 으로 리버스를 하여 ERD 를 완성했다.
AppFuse 처럼 하이버네이트 매핑도 XDoclet 을 이용하고 싶지만, composit-id 를 지원하지 않으니 그 기능이 아쉬울 따름이다.
사실 ERD 도 Rose 로 그렸어야 할 것 같은데...
아무튼 위의 방법처럼 설계단계에서 VO를 실제로 개발을 하고 이를 기반으로 스키마를 만들면서 ERD 를 리버스하는 것은 괜찮은 방법인 것 같다. 클래스다이어그램을 그리면서 별 생각없이 클래스의 속성으로 desc, comment 등을 썼었는데 ㅎㅎㅎ DB 스키마가 안만들어지는 것이 아닌가? DB 예약어이니....
그래서 설계단계에서 그런 문제를 해결할 수 있었다.
이번 프로젝트는 자바 설계는 Rose 를 이용하고 데이터베이스 설계는 ERwin 으로 하는데...
당연히 클래스다이어그램을 그렸다.
프로젝트에서 사용하는 아키텍처가 Controller, Command, Delegate, Session Facade, DAO or Entity Bean, Value Object(VO) 등을 이용하도록 되어있는데 Hibernate 로 DAO 를 만들 생각으로 VO 를 카디널리티와 상속관계를 나름대로 적절히 섞어서 그리고 Facade 로 비즈니스 메소드를 빼버렸다.
아무튼 클래스다이어그램을 그리고 나서 ERwin 으로 ERD를 클래스다이어그램을 보며 그릴 생각을 하니 갑자기 가슴이 답답해지는 현상이....
ERD를 그리려다가 차라리 클래스를 만들고 하이버네이트 매핑을 만들어서 DB 스키마를 제너레이트 해서 생성된 DB 에서 리버스 엔지니어링을 통해서 ERD 를 만들기로 했다.
클래스는 Rose 로 제너레이트를 해보고 싶었다.
그런데 제너레이트를 해보니 리턴타입이나 파라미터를 정확히 설정해주지 않으면 좀 쓰기 곤란하게 만들어지는 것이 아닌가? 물론 설계단계에서 다 설정을 해야하긴 하지만 ERD 를 만드는 것을 클래스다이어그램이 완벽해질 때까지 기다렸다가 만들수도 없는 노릇이니...
결국 VO를 이클립스로 만들어버렸다.
VO 를 만드는 것이야 이클립스로 하면 간단하지 않은가?
VO 를 만들고 Hibernate Mapping 파일을 만들어서 schemaexport 기능으로 오라클에 DB 오브젝트들을 만들고, ERwin 으로 리버스를 하여 ERD 를 완성했다.
AppFuse 처럼 하이버네이트 매핑도 XDoclet 을 이용하고 싶지만, composit-id 를 지원하지 않으니 그 기능이 아쉬울 따름이다.
사실 ERD 도 Rose 로 그렸어야 할 것 같은데...
아무튼 위의 방법처럼 설계단계에서 VO를 실제로 개발을 하고 이를 기반으로 스키마를 만들면서 ERD 를 리버스하는 것은 괜찮은 방법인 것 같다. 클래스다이어그램을 그리면서 별 생각없이 클래스의 속성으로 desc, comment 등을 썼었는데 ㅎㅎㅎ DB 스키마가 안만들어지는 것이 아닌가? DB 예약어이니....
그래서 설계단계에서 그런 문제를 해결할 수 있었다.
# by | 2006/09/07 13:09 | Programmer's notes | 트랙백 | 덧글(0)








☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]