Try it First
로그인
Try it First
로그인
객체지향의 사실과 오해 6장 : 객체 지도
일단 해볼게
·
2023년 6월 19일
팔로우
0
book
객체지향의 사실과 오해
0
book
목록 보기
6/13
소프트웨어 제품의 설계의 두 가지 측면
기능 측면의 설계 : 제품이 사용자를 위해 무엇을 할 수 있는지
구조 측면의 설계 : 제품의 형태가 어떠해야 하는지
훌륭한 설계자
사용자가 만족할 수 있는 훌륭한 기능을 제공하는 동시에 예측 불가능한 요구사항 변경에 유연하게 대처할 수 있는 안정적인 구조를 제공하는 능력을 갖춰야 한다.
좋은 설계
나중에라도 변경할 수 있는 여지를 남겨 놓는 설계
기능
사용자가 자신의 목표를 달성하기 위해 사용할 수 있는 시스템의 서비스
구조
시스템의 기능을 구현하기 위한 기반으로, 기능 변경을 수용할 수 있도록 안정적이어야 한다.
도메인
사용자가 프로그램을 사용하는 대상 분야
모델
대상을 추상화하고 단순화한 것
모델은 복잡성을 관리하기 위해 사용하는 기본적인 도구
도메인 모델
사용자가 프로그램을 사용하는 대상 영역에 관한 지식을 선택적으로 단순화하고 의식적으로 구조화한 형태
멘탈 모델
사람들이 자기 자신, 다른 사람, 환경, 자신이 상호작용하는 사물들에 대해 갖는 모형
사용자들이 도메인을 바라보는 관점이며, 설계자가 시스템의 구조를 바라보는 관점인 동시에 소프트웨어 안에서 구현된 코드의 모습 그 자체
동적인 객체가 가진 복잡성을 극복하기 위해 정적인 타입을 이용해 단순화
클래스를 이용해 타입을 코드 안으로 옮길 수 있다.
연결 완전성
객체지향을 이용해 도메인 모델링에서 사용한 객체와 개념을 프로그래밍 설계에서의 객체와 클래스로 매끄럽게 변환
표현적 차이
소프트웨어 객체는 현실 객체를 모방한 것이 아니라
은유를 기반으로 재창조
한 것
소프트웨어 객체와 현실 객체 사이의 의미적 거리
가역성
코드에서 모델로의 매끄러운 흐름
도메인 모델이 안정적인 이유
도메인 모델을 구성하는 개념은 비즈니스가 없어지거나 완전히 개편되지 않는 한 안정적으로 유지된다.
도메인 모델을 구성하는 개념 간의 관계는 비즈니스 규칙을 기반으로 하기 때문에 비즈니스 정책이 크게 변경되지 않는 한 안정적으로 유지된다.
유스케이스
사용자의 목표를 달성하기 위해 사용자와 시스템 간에 이뤄지는 상호작용의 흐름을
텍스트
로 정리한 것
특별한 요청과 관계되는 조건에 따라 서로 다른 일련의 행위 혹은 시나리오가 전개될 수 있다.
유스케이스는 이런 서로 다른 시나리오를 묶어준다.
특성
유스케이스는 사용자와 시스템 간의 상호작용을 보여주는 ‘텍스트’다.
다이어그램이 아니다.
유스케이스는 하나의 시나리오가 아니라 여러 시나리오들의 집합이다.
시나리오(유스케이스 인스턴스)
유스케이스를 통해 시스템으로 사용하는 하나의 특정한 이야기 또는 경로
유스케이스는 단순한 피처 목록과 다르다.
피처
시스템이 수행해야 하는 기능의 목록을 단순하게 나열한 것
단점
피처를 서로 연관이 없는 독립적인 기능으로 보이게끔 만든다.
유스케이스는 사용자 인터페이스와 관련된 세부 정보를 포함하지 말아야 한다.
유스케이스는 자주 변경되는 사용자 인터페이스 요소는 배제하고 사용자 관점에서 시스템의 행위에 초점을 맞춘다
유스케이스는 내부 설계와 관련된 정보를 포함하지 않는다.
사용자가 바라보는 시스템의 외부 관점만을 표현한다.
일단 해볼게
시도하고 More Do하는 백엔드 개발자입니다.
팔로우
이전 포스트
객체지향의 사실과 오해 5장 : 책임과 메시지
다음 포스트
가상 면접 사례로 배우는 대규모 시스템 설계 기초 : 1장 사용자 수에 따른 규모 확장성
0개의 댓글
댓글 작성