모든 소프트에어 : 요구사항이 써 있는 문서부터 시작
개발자 : 요구사항을 낸 사람의 정보를 모름(domain knowledge가 없음)
사용자(고객) : 개발환경을 모름, 개발 수단을 모름
domain exports : 소프트웨어를 사용할 사람들
고객 not equal domain exports
모순이 있는 상태로 시작됨 -> 나중에 엉망이 됨
요구사항을 구체적으로 찾아내면 됨 -> What & HOW 분석이 필요함
구현은 개발자의 책임이지 고객의 입장에서 써야 됨
-> 내가 저번에 작성한 HOW (프레임워크) 등은 잘못된 것
-> 그럼 어떻게 ??
what과 객체 지향을 연결
what을 정확하게 파악해야 하는데 그 중 하나가 domain model, 한 눈으로 파악하고 이해하기 위해서 사용됨
왜 필요할까? -> 정확하게 문제를 파악하고 싶어서
일해야 하는 작업을 문서로 표현(그림) / Story를 정적으로 표현하는 것
즉, 객체가 있다면 이 객체들이 요구사항을 만족시키기 위해서 무엇을 해야하는지 적는 것, 객체들 사이에 메시지 주고받는 것을 주고받는 것
ex) 등장인물들이 객체, 그들의 관계를 표현한 것이 domain model
Identifying requirements and creating a domain model, and then add methods to the appropriate classes, and define the messaging betewwn the objects to fulfill the requiremetns
Views system as collection of interacting objects that work together to accomploish tasks
rich picture
보통 detail design와 같이 함
객체 지향 분석 : 객체들을 정의하고 이 객체가 what을 만족
Ex)
분석(what) 은 주사위 게임의 승패를 정하는 것
객체 분석은 주사위(face 보여줌), 사람(던진더), Game(승패판정) 정의
🤔 참고
객체를 제대로 찾았는지 할 떄 : 책임이 존재
action : 행위적 책임
knwledge : 아는 것에 대한 책임
--> 합치면 객체 지향 분석
객체 찾고, 객체 책임 뭔지 찾고, 그것만 가지고 일을 해결할 수 있는지
position limits - Dealer마다 거래할 수 있는 양(거래 잘 하면 높여줌)
counterparty position limist : 중국은 낮고, 회사 관계
딜러 : limits 내에서 상대방과 동의된조건과 시세율로 매매 계약, 거래 확인 보내기
counterparts : limits 내에서 계약, 거래 확인, dealer와 조건 동의
FX 시장 : 시세율 변동 통보
settlements 부서 : 거래체결증거 서류 준비 후 accounts 부서에 거래 내역 통보
Accounts 부서 : 거래일과 어음 결제일 확인
거래 이후 :
position 재조정
문제 이해에 대한 가정으 고객에게 확인해야 한다.
과제
과제 : 뭘 몰라서 안되는지 적어서 오기
뭐에서 막혔었는지 (댓글쓰기)