프로그래밍/객체지향 방법론 3

객체지향 분석 설계(OOA&D) 개발방법

1. 여러분의 소프트웨어가 고객이 원하는 기능을 하도록 하세요. 2. 객체지향의 기본원리를 적용해서 소프트웨어를 유연하게 하세요. 3. 유지보수와 재사용이 쉬운 디자인을 위해 노력하세요. 고객은 프로그램이 동작할 때 만족스러워 합니다. 고객은 프로그램이 계속 잘 동작할 때 만족스러워 합니다. 고객은 프로그램이 업그레이드가 가능할 때 만족해 합니다. 프로그래머는 자신의 프로그램이 재사용될 수 있을 때 만족스러워 합니다. 프로그래머는 자신의 프로그램이 유연할 때 만족스러워 합니다.

개발(설계,디자인) 할 때 유의사항

070731 ① 문제를 해결하면서 새로운 문제를 만들지 말자. ② 두번째 단계(객체지향설계)로 가기전에 첫번째 단계(고객의 요구사항 구현)를 끝내는 것이 왜 그렇게 중요한가? : 프로그램이 제대로 동작하게 만들려면 그 프로그램을 여러 번 수정하게 될 것이다. 기본 기능을 구현하기 전에 설계에 너무 신경을 쓰면 쓸데 없는 시간 낭비가 될 수 있다. 왜냐하면 클래스들과 메소드들에 새로운 기능을 추가할 때다 설계의 많은 부분이 바뀌어야 하기 때문이다. 070801 ① 중복 코드를 볼 때마다 캡슐화 할 곳이 있는지를 찾아보라 !

"위대한 소프트웨어" 에 대해 서로 다른 의견.

고객중심의 프로그래머는 이렇게 말한다. "위대한 소프트웨어는 고객이 바라는 것을 수행하는 소프트웨어이다. 고객이 소프트웨어를 이상하게 사용하더라도, 소프트웨어가 멈추거나 예상치 못한 결과를 나타내지 않는 소프트웨어 말이다." 객체지향 프로그래머는 다음과 같이 말한다. "위대한 소프트웨어는 객체지향으로 만들어진 코드이다. 그렇게 하면 중복된 코드가 적고, 각 객체가 자신의 행동을 통제한다. 설계가 견고하고 유연해서 확장 또한 쉽다." 설계를 중시하는 프로그래머는 다음과 같이 말한다. "위대한 소프트웨어는 이미 입증된 디자인 패턴과 원리를 사용해서 만든 소프트웨어이다. 객체가 느슨하게 연결되로록 하고, 코드를 확장에는 열려 있으면서 수정에는 닫혀있게 유지한다.(디자인패턴 - OCP원칙 참조) 또한, 이렇게 ..