SA prj. #1
S.R 교수님의 SA는 총 3개의 project와 final term을 수행했던 과목 이었다.
일단, 한 마디로 SA 과목의 goal을 요약하자면, 본 과목의 goal은 "객체 지향 적 사고를 하자" 였다.
무조건 객체 지향이 아닌, 정말 좋은 객체 지향적 설계를 하자는 건데,
매우 인상 깊었던 것 중에 하나가 Coffee Maker 논문 이었다.
Coffee Maker 논문은 너무 객체 그 자체만을 바라보는 설계를 하면, 결코 좋은 설계를 할 수 없다가 요지인데, 객체의 설계에는 눈에 바로 보이는 객체 뿐만 아니라 눈에 보이지 않는 객체까지 모두 다 잘 찾아 내야 한다는 것과, 객체 간의 관계를 마구잡이로 정의 하지 말라는 것 이었다.
또한 "software architecture란 과연 무엇인가?"란 정의에 대해서 확실하게 개념을 잡을 수 있는 계기가 마련 되었는데, 이는 카네기 멜론 대학의 David Garlan and Mary Shaw교수가 1994년에 쓴 "An Introduction to Software Architecture"이라는 제목의 논문을 통해서 잘 알 수 있었다.
이미 이 당시에 pipe and filter, layerd, remote procedure call, MVC, blackboard, object-oriented, 등등 많은 software architecture에 대한 개념이 잘 정립 되어 있었으며, 위에 언급한 CMU의 두 교수가 논문으로 정리하여 발표를 했던 것이다.
Middleware란 무엇인가라는 부분에 대해서도 확실하게 공부할 수 있었다.
각각의 주제들이 모두 상당히 많은 중요성과 의미를 지니고 있기 때문에 따로 시간 날때마다 정리해서 글을 올려 보기로 하고, 일단, Prj. 1의 UI를 보여 드리자면 다음 그림과 같다. (Prj. 1은 한국의 구정 연휴 기간이었는데, 약 3일동안 작업을 했으며, JAVA로 구현 했다. 사실 JAVA를 처음 (공부 해 본적도 없었다) 사용했던 최초의 JAVA project 였다. (JAVA study는 약 6시간이 소모 되었으며, 모르는 사항들을 계속 공부하면서 구현 했었다. - 원래 모든 prj.이 그러하듯이..)
Prj. 1, 2, 3은 각각 heating plate, heating earth, heating planet 이라는 주제를 가지고 프로그램을 작성 하는 것 이었는데, 무척이나 많은 것들을 배울 수 있었던 기회가 되었다.
프로젝트를 진행하면서 새롭게 알게 된 tool이 있는데, 바로 Enterprise architect이다. 코드 생성 기능도 가지고 있으며, 상당히 깔끔하게 UML design을 할 수 있게 해 주는 software이므로 꼭 사용해 보길 권장한다.
'Software_Architecture' 카테고리의 다른 글
[Documenting] Context diagram (0) | 2015.04.27 |
---|
댓글