티스토리 뷰

잘 설계된 소프트웨어를 만드는 3단계

1. 고객이 원하는 기능을 하는 소프트웨어 만들기
2. 객체지향의 기본원리를 적용해서 소프트웨어를 유연하게 하기
3. 유지보수와 재사용이 쉬운 디자인을 위해 노력하기

1단계는 그동안 내가 프로젝트를 수행하며 항상 목표가 되었던 것이다.
개발경력이 점점 늘어나며 유지보수가 쉽도록 개발을 하려고 노력했지만, 별로 아는게 없어서 제자리 수준이였던 것 같다.

Head first OOAD 책을 보며 알게 된것이, 객체지향 프로그래밍이라는 것이 소프트웨어를 유연하게, 유지보수와 재사용이 쉽게 만드는 방법론이 였다는것을 이제야 알게 되었다. 그동안 OOP, OOP 수없이 들어오면서 말이다.

객체지향 분석 설계 Object-Oriented Analysis & Design 가 위대한 소프트웨어를 작성하는데 도움을 준다고 책은 말한다.

고객은 프로그램이 동작할 때 만족스러워 한다.
고객은 프로그램이 계속 잘 동작할 때 만족스러워 한다.
고객은 프로그램이 업그레이드가 가능할 때 만족스러워 한다.
프로그래머는 자신의 프로그램이 재사용될 수 있을 때 만족스러워 한다.
프로그래머는 자신의 프로그램이 유연할 때 만족스러워 한다.

위 다섯가지 사항을 충족시키는 방법이 OOAD 라 한다. 고객을 행복하게 하고, 개발자 스스로 만족스러워할 뛰어난 애플리케이션을 만드는것.
내가 지금까지 개발자로 일하며 개발자로서 자존감이 낮아졌던것이 다섯가지 항목중 네번째 다섯번째 때문이였다. 첫번째 두번째 항목은 개발자로 일하며 상당히 충족 시킬수 있었기 때문에 잘한다는 칭찬도 받고 그랬지만, 시간이 지날수록 나 자신은 불만족 스러웠다. 이것은 나만이 불만을 가지고 있었던것이 아니였구나.