
< 오전 >
오전에는 1일차 학습 일지를 마무리 하는 시간을 가졌다.
슬랙 팀방을 만들어 팀원들과 소통하며 시간을 보냈다.
< 오후 >
서비스 기획 ( 2 )
UML이란 ?
- Unified Modeling Language 로 복잡한 사람들의 사고와 생각을 표현하는 도구 구축에 대한 소프트웨어, 프로그래밍이 아닌 시스템 자체의 산출물의 역할을 시각화 하여 규정하는데 목적을 두고 있음.
- 이런 과정을 통해 꼭 필요한 행위를 기반으로 한 객체 지향 모델링이 가능해짐.
- 사람의 행위를 기반으로 둠.
UML에서 정의하는 모델링이란 ?
어떠한 현상들을 단순화, 일반화, 추상화 하는 과정으로 아래와 같은 장점을 가지고 있음.
- 내부 구조나 동작하는 행위에 대한 표현의 자유
- 시스템의 구성 요소들이 서로 어떻게 연결되어 있는지 확인 가능
- 설계와 구현 간의 일관성 유지
- 레벨화 가능
- 명확한 의사 소통의 도구
UML을 배우는 이유는 ?
플랫폼을 만들 때 제일 어려운 부분 2가지
이 두 문제점을 해결하기 위해서는 쉽게 이해할 수 있는 시각화가 필요함.

위 사진 처럼 글로 설명하는 것보다 그림이나 이미지로 설명하는 게 더 이해하기 쉬움.
UML은 사람의 행위를 기반으로 한다.
- UML은 사람의 행위를 기반으로 단계적 과정을 시점상으로 표현한 것으로 절차와 단계의 가설을 키워드로 표현하고 시나리오를 확장하는 순차적 단계를 지니고 있다.
UML은 사용자의 문제를 기반으로 모델링 한다.
- 사람이 가장 이해하기 쉬운 이야기 전개 방식인 UML은
실제 사용자들이 플랫폼 관점으로 구축을 전개하는 것이 아님.
- 사용자들의 문제를 기반으로 구축할 것을 모델링 함으로써 좀더 효율적이고
완성도 높은 플랫폼을 구축할 수 있음.
UML의 이점
- 시각화
- 이해도
- 정확성
- 의사전달
- 일관성
5가지가 모두 성공적인 플랫폼 구축을 위한 필수 요건들임.
UML은 모델 주도적 개발 방식이다.
- UML을 통해 당사자들끼리 서로 커뮤니케이션 할 수 있는 소프트웨어 시스템의
구조와 행위를 정의하고 기술 함으로써 보다 빠르고 정확한 플랫폼을
구현할 수 있다는 점에 주목해야 함.
- 이러한 방식을 MDD(Model-Driven-Development) 즉, 모델 주도적 개발이라고 함.
UML 단계
UML 다이어그램의 종류
1. 유스케이스 다이어그램
- 시스템의 행위를 모델링 하며 시스템의 요구 사항을 표현하는데 사용함.
- 시스템의 상위 레벨 기능과 범위를 기술하며, 시스템이 기능을 어떻게 구현할 것인지 기술하지 않음.
- 시스템이 어떤 ‘WHAT’ 기능이 필요한지에 대해서만 표현함 ! (무엇을)
- 사업 아이템이 나오면 그 아이템에 대해서 뭔 서비스를 할까 ? 까지만..!(O) 어떻게 할까 ? ( X )
- 위 그림처럼 고객에게 가치 있는 결과를 제공함.
2. 액티비티 다이어그램 ( 활동 다이어그램 )
- 시스템의 실행과 행위의 흐름을 표현함.
- 시간 기준 프로세스임. ( 시작 -> 종료 )
- 비즈니스 프로세스 또는 작업에서 이용하는 고객의 흐름을 표현하는데 적합함.
엑티비티 다이어그램 실습
- 1일차에 그려본 플로우 차트를 참고하여 엑티비티 다이어그램을 ( 시작 -> 종료 ) 그려보았다.
- draw.io 로 구현

수업 후기
강의를 듣기 전에 프로젝트 만들 때 DB ERD 와 뭘 만들건지 메모장에 나열하고만 프로젝트를 했었는데 강의를 듣고 실습을 해보며 어떤 것에 중점을 둬야하고 또 모델링 해야하는지 알았고 예전보다는 좀 더 나은 플랫폼 (프로젝트)를 할 수 있을 것 같다는 기대가 된다.
본 후기는 유데미-스나이퍼팩토리 10주 완성 프로젝트캠프 학습 일지 후기로 작성 되었습니다.