사물의 대표적인 특징으로 대상물을 나타내는 것이다.
클래스 멤버들에 대한 제약 사항 설계, 메서드의 내부 로직 설계 등과 같은 단계적인 구체화 작업을 진행하며 구현과 관련된 정보들을 도출한다.
변경에 대처하고 확장성을 높이기 위한 방법으로 모듈화는 중요하다.
외부에 꼭 필요한 사항만 공개하기 위해 클래스 멤버들에 대한 참조 범위에 대한 선언이 필요하다.
상위 설계, 상세 설계 등의 개발 과정에서 사용자 인터페이스, 자료 구조 등의 소프트웨어 시스템 구성 요소 등에 대한 관심사를 분리하여 설계 활동을 진행한다.
팩토링은 모델 요소의 유사점이나 차별점에 따라 별도의 모듈로 분리하는 과정이다.
새로운 클래스를 생성하는 방법으로 클래스들의 공통점을 추출하여 상위 클래스를 생성하는 일반화 과정과 상호 관련성이 존재하는 요소들을 집합 관계로 정의하는 과정을 고려할 수 있다.
분할은 큰 모델을 세부 모델로 나누는 과정으로 작은 모델은 시스템을 구성하는 서브시스템이 될 수 있다.
이러한 분할 과정에서 모듈화 개념을 적용하는데 모델 요소 간의 메시지 전송이 많다면 이들을 하나의 서브시스템으로 통합하는 것이 유리하다.
시스템을 구성하는 요소들을 운영과 사용 환경 등을 고려하여 서로 다른 특징의 그룹으로 분리하는 과정이다.