Domain Models must have
👌 model : 일상생활에서 모델은 무언가 "특징"을 보여주는 것 -> 항상 **강조하고 싶은 것**이 있다.
-> 개발에서의 model은 고객이 풀고 싶어하는 강조 요소
객체란 ? 책임의 문제 ( 문제를 해결하는데에서의 책임 )
따라서 객체를 찾을 때는 Role(역할)을 찾아야 함
Rich picture -> Domain Model
어떤 것을 원하는지 제대로 표현
---> 상세한 표기 기법을 알고 있어야 하지만, 확실하게 쓰면 안된다.
첫 번째 상세한 것 : ROLE
두 번째 상세한 것 : Association Multiplicity
객체와 객체가 만났을 때 역할은 계속 유동적으로 변화
따라서 특별히 역할을 지정할 필요가 없을 때는 지정 안함
개수를 표현
Line 2개 이상을 그리기 위해서는 Point 여러 개가 필요하다
여러 사람이 여러 파일을 접근할 수 있다.
No Attributes as Foreign Keys
domain model이 domain 분석이라고 한다면 객체 지향에서의 분석 결과 use case 이다.
요구사항 분석 -> domain 분석 ->
객체지향이라면 -> Use case 분석
최종 !!
목표를 달성하기 위해서 액터가 어떻게 시스탬을 사용해야 하는지 묘사하는 성공과 실패 이야기를 모아둔 것이다.
우리가 만들어둔 system으로 고객의 목적을 달성하기 위한 story가 Use case
이름 뿐만 아니라 관리 번호가 붙기 시작
Use case는 Use diagram과 다르다. Use case는 글이다. !! not 그림
비지니스 이벤트에 대한 응답으로 한 사람에 의해서 한 장소에서 한 순간에 수행된 업무
1) actor 찾기 + system boundary(커다란 네모)를 선정
actor는 system 밖에 있음 (사람만을 의미하는 것이 아님, system 밖에서 뭔가를 유발시킨다면 actor)
ex) 시스템 밖에 있는 시계가 시간을 system에 알리면 system이 동작을 함(동작 유발) 그러면 시계는 actor
BUT
system 안에 시계를 구현하게 된다면 이거는 actor가 아님
DB도 시스템 밖에 있다면 actor이다.
2) 시스템을 사용하여 사용자의 목적을 달성하는 Primary Actor를 알아낸다.
3) 각 Primary Actor의 사용자 목적을 알아내고, 이를 EBP Guide line에 따라 가장 높은 수준(좀 더 포괄적인 개념)의 User Goal/Need로 도출한다.
4) User Goal/Need를 만족하는 Use case를 도출