Thursday, September 10, 2009

UML 프로젝트(2008년 가을)

Software Engineering과목을 수강하면서 수행한 프로젝트다.

도서대출시스템에 대한 UML을 만들고, 최종적으로 간단하게 JAVA로 설계대로 구현하는 것이 목표였다.

당시 4인 1조로 수행했는데, 유스케이스를 제외하고, 시퀀스, 액티비티, 시스템아키텍쳐, 배포 다이어그램을 그렸고, 최종구현을 책임지고 담당했다.

그 때 나머지 조원들은 JAVA을 거의 까먹은 상태였고, 나는 동시에 수강하고 있었기 때문에

다른 조들에 비해 쉽게 할 수 있었다. 당시 요구사항에는 최종 파일이 JAR 같은 라이르러리 형태로 제출하라는 것이 있었는데, 이 요건을 충족시킨 팀이 우리팀밖에 없어서, 좋은 점수를 받았다. 다른 팀은 그냥 소스코드를 제출해서 채점 조교를 당황하게 했다고 들었다.

이 과제를 수행하기 전에는 그냥 막 코딩하면 다 만들줄 알았다.

교수님이 수업시간에 설명한 Architecture라는 말이 생각난다.

그 단어가 건축학에서 나온 말인데, SW규모가 커니면서 그런 집짓는 큰 설계도처럼

SW도 큰 그림을 그리고 작은 단위로 조금씩 나눠 가면서 짜야 제대로 만들 수 있다는 것을 느끼게 해준 과목이였다.

그래서 이번 과제에서도 Presentation, Business, Data라는 세 개의 계층을 생각하며 구현해야 했고, 실제로 그렇게 했었기 때문에 의미가 있었다.


아래 그림은 설계한 도서대출시스템의 유스케이스 다이어그램


아래 그림은 시스템 아키텍쳐


아래 그림은 대출기능에 대한 액티비티 다이어그램


아래 그림은 대출기능에 대한 시퀀스 다이어그램


아래 그림은 구현한 프로그램의 스크린샷