This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| domain_driven_design:01_crunching_knowledge [2023/08/02 12:58] – [지식 탐구] ledyx | domain_driven_design:01_crunching_knowledge [2023/08/08 13:11] (current) – removed ledyx | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | = 01 지식 탐구 = | ||
| - | |||
| - | {{tag> | ||
| - | |||
| - | 브레인 스토밍 → 공통 용어 사용 → 모델 정제 → 코드도 함께 발전 | ||
| - | |||
| - | == 효과적인 모델링의 요소 == | ||
| - | |||
| - | - 모델과 구현의 연계 | ||
| - | - 모델을 기반으로 하는 언어 정제 | ||
| - | - 풍부한 지식이 담긴 모델 개발 | ||
| - | - 모델의 정제 | ||
| - | - 브레인스토밍과 경험 | ||
| - | |||
| - | 풍부한 지식이 담긴 모델을 발견하고 | ||
| - | 그러한 모델의 정제를 가능케 하는 것은 | ||
| - | 바로 브레인스토밍과 수차례에 걸친 실험으로 얻는 창의성이다 | ||
| - | |||
| - | == 지식 탐구 == | ||
| - | |||
| - | 도메인 모델링의 주된 목적 : 전체를 이해할 수 있는 간결한 관점 찾기 | ||
| - | ... | ||
| - | 이렇게 뽑아낸 정수는 가장 적절한 것으로 밝혀진 특정 지식을 엄밀하게 표현하는 것이다. | ||
| - | |||
| - | 지식 탐구는 혼자서 하는 활동이 아니다. | ||
| - | 개발자와 도메인 전문가로 구성된 팀은 대체로 개발자가 이끄는 가운데 협업한다. | ||
| - | |||
| - | 폭포수 개발 방식에는 모델을 만들어 내는 데 따른 모든 책임이 분석가에게 있으며, | ||
| - | 이러한 모델은 오로지 업무 전문가가 알려주는 사항에만 근거한다. | ||
| - | |||
| - | 프로그래머가 도메인에 관심이 없다면 | ||
| - | 그 이면에 숨겨진 원리는 알지 못한 채 애플리케이션이 수행해야 할 사항만 습득한다. | ||
| - | 그러한 과정을 거치지 않아도 유용한 소프트웨어를 만들어 낼 수는 있겠지만 | ||
| - | 프로젝트는 기존 기능의 자연스러운 결과로 새로운 강력한 기능이 나타나는 정도의 수준에는 결코 이르지 못한다 | ||
| - | | ||
| - | 훌륭한 프로그래머라면 애초부터 추상화를 시작해서 더욱 많은 일을 해낼 수 있는 모델로 발전시킬 것이다. | ||
| - | 하지만 이 같은 과정이 도메인 전문가와의 협업 없이 기술적인 측면에서만 일어난다면 개념은 초보적인 수준에 머무를 것이다. | ||
| - | 이러한 피상적인 지식은 소프트웨어를 만들어 낼 뿐 | ||
| - | 도메인 전문가의 사고방식과 긴밀하게 연결되지는 않는다 | ||
| - | |||
| - | * 모든 (프로젝트) 구성원이 함께 모델을 만들면 팀 구성원간의 **상호작용** 향상. 이러한 모든 가정을 거쳐 모두가 유능한 지식 탐구자가 된다. 또한 모두가 모델을 만들어 나가므로 모델은 **명료하게 조직화되고 추상화**될 수 있으며, **구현**을 더 용이하게 만들어준다. | ||
| - | * 개발자 : 업무의 중요 원칙들을 배운다. 기능만을 기계적으로 만드는 데 머무르지 않는다. | ||
| - | * 도메인 전문가 : 프로젝트에서 요구하는 개념적 엄밀함(conceptural rigor)을 이해하게 된다. | ||
| - | |||
| - | |||
| - | == 지속적인 학습 == | ||
| - | |||
| - | |||
| - | == 풍부한 지식이 담긴 설계 == | ||
| - | |||
| - | |||
| - | == 심층 모델 == | ||
| - | |||