소프트웨어 공학에서 어떤 속성을 일반화 하는 과정과 앞으로의 경우를 생각하는 과정은 때때로 동일시 되어 설계를 헷갈리게 하는 경우가 많다. 더욱이 이러한 고려가 객체 속성(특징)에 의한 것이라기 보다는 구현상의 예외케이스
를 커버하기 위한 경우가 많다.
이러한 함정을 피하기 위해서는,
- 일반화는 모델링을 하는 대상(객체)의 속성에 집중해야한다.
- 앞으로의 경우는 모델 단위로 대비하여야 한다.
- 앞으로의 경우는 함수의 추가보다 객체의 추가로 해결해야하는 경우가 많으며 대체로 생각하지 못한 일들이 더욱 많은 대 공사다.
- 따라서 객체(모델) 역할 정도만 도출하고 경계를 짓자.
PS. 용어적으로 모델과 객체는 약간 분리가 필요한데, 모델은 절차적 행위도 될수 있기 때문이다.