시배's Android

객체지향의 사실과 오해 | 6장. 객체 지도 본문

Book/객체지향의 사실과 오해

객체지향의 사실과 오해 | 6장. 객체 지도

si8ae 2024. 1. 3. 22:37
  • 모든 소프트웨어 제품의 설계에는 두 가지 측면이 존재한다. 하나는 기능 측면의 설계이고, 다른 하나는 구조 측면의 설계다.
  • 객체지향 접근방법은 자주 변경되지 않는 안정적인 객체 구조를 바탕으로 시스템 기능을 객체 간의 책임으로 분배한다.
  • 구조는 사용자나 이해관계자들이 도메인에 관해 생각하는 개념과 개념들 간의 관계로 표현한다.
  • 기능은 사용자의 목표를 만족시키기 위해 책임을 수행하는 시스템의 행위로 표현한다.
  • 도메인 모델의 핵심은 사용자가 도메인을 바라보는 관점을 반영해 소프트웨어를 설계하고 구현하는 것이다.
  • 사용자 모델에 포함된 개념과 규칙은 비교적 변경될 확률이 적기 때문에 사용자 모델을 기반으로 설계와 코드를 만들면 변경에 쉽게 대처할 수 있을 가능성이 커진다.
  • 유스케이스는 시스템의 이해관계자들 간의 계약을 행위 중심으로 파악한다.
  • 유스케이스는 사용자와 시스템 간의 상호작용을 보여주는 텍스트다.
  • 유스케이스는 하나의 시나리오가 아니라 여러 시나리오들의 집합이다.
  • 유스케이스는 사용자 인터페이스와 관련된 세부 정보를 포함하지 말아야 한다.
  • 유스케이스는 내부 설계와 관련된 정보를 포함하지 않는다.