[유데미x스나이퍼팩토리] 10주 완성 프로젝트 캠프 프론트엔드 3일차

무과장·2023년 6월 7일
1
post-thumbnail

📒배운 것

<UML을 통한 서비스 흐름 잡기>

UML이란?

-Unified Modeling Language의 약자.
-복잡한 사람들의 사고와 생각을 표현하는 도구 구축에 대해 소프트웨어, 프로그래밍이 아닌 시스템 자체의 산출물의 역할을 시각화하여 규정하는데 목적을 두고 있음.
-꼭 필요한 행위를 기반으로 한 객체 지향 모델링이 가능해짐
객체 지향 모델링이란? 모든게 엮여있어 하나를 고치면 모든 기반이 무너지는 게 아닌, 하나 하나 독립적으로 객체를 갖는 것. 한개를 건드려도 다른 부분에 영향을 주지 않는다.
#단순화, #일반화, #추상화

UML에서 정의하는 모델링이란?

  1. 내부 구조나 동작하는 행위에 대한 표현의 자유
    종이에 적든 draw.io같은 툴을 이용하든 핸드폰을 사용하든 도구는 상관없다.
    시스템 구성 요소들이 서로 어떻게 연결되어 있는지가 중요.

  2. 시스템의 구성 요소들이 서로 어떻게 연결되어 있는지 확인 가능
    UML은 연결에 초점이 맞춰져 있음.

  3. 설계와 구현 간의 일관성 유지
    프로젝트가 진행되고 계획대로 진행이 되지 않는 것은 당연함. 클라이언트의 요구가 바뀔 수도 있는데 그때 객관적 자료를 대며 나의 의견을 뒷받침 할 수 있음.

  4. 레벨화 기능
    기능들의 우선순위를 정해 순위가 높은 것을 중점적으로 해결해나갈 수 있음. 그래야 계획된 오픈 일정이 밀리는 것과 같은 불상사를 막을 수 있음.

  5. 명확한 의사 소통의 도구
    예를 들어보자. 회원가입을 먼저 해야 이용이 가능한 서비스가 있고, 서비스를 먼저 이용한 후에 회원가입을 하는 서비스가 있다. 나는 전자로 의도하고 개발을 시작했지만 클라이언트는 같은 걸 봐도 후자를 의도 했구나 라고 생각할 수 있다. 명확하지가 않은거다. 동상이몽의 상태로 일을 시작했는데 중반쯤 가서 서로 의도가 달랐다는 것을 깨닫는다? 그건 여간 골치 아픈 일이 아니다.
    이와 같은 사태를 방지하기 위해 우리는 사전에 명확하게 정하고 점검을 해야한다. 그래야 재수정이 덜하다.

근데 UML을 왜 배워야 함?

두 가지 측면임.
-첫째, 복잡성
우리가 플랫폼을 만들 때 아무런 뼈대 없이 머릿속 계획만 의지하기엔 너무 복잡함.
-둘째, 변경
회사에서 우리 혼자 일하는 게 아니지 않음? 이미 다 짜놨는데 변경해달라고 하면 머리 터짐. 어떻게 방어하고 어떻게 대안을 제시하냐가 프로와 아마추어의 차이임.

UML은 이야기가 가능한 시각화 Tool이다.


내가 집을 보려고 한다면 오른쪽과 왼쪽 중 뭐가 더 눈에 잘 들어오고 설득력이 있음? 당근 오른쪽임.

말로만 하면 내가 뭘 원하는지 무수한 문장으로 표현해야하고 그게 클라이언트들이 봤을 때 한 눈에 들어오지 않음. 시각화가 중요함

UML은 사람의 행위를 기반으로 한다.

사람의 행위를 기반으로하여 단계적 과정을 시점상 효현한것으로 절차와 단계의 가설을 키워드로 표현 & 시나리오를 확장하는 순차적 단계를 지니고 있음.
"섭지코지에서 5시까지 보자" 했을 때 우리는 그 순간 티맵이나 다음지도 같은 것을 검색한다. 그것 또한 가는 길이 그림을 잘 표현되어 있기 때문임.

모델링의 이점

UML다이어그램의 종류


이렇게나 다양하다. 그 중에서도 꼭 빠지면 안 되는 두 가지.
Activity Diagram & Use Case Diagram 이다.

UML 단계

요구 파악-분석-설계

Use Case Diagram

시스템이 어떤 "WHAT" 기능이 필요한지에 대해서만 표현.
마인드 맵 전 Ideation의 단계이기 때문에 "WHAT"에만 초점을 맞춘다. "HOW"까지 하려고 하면 끝이 없다.
생각나는 걸 키워드로 간단하게 풀어보는 단계라고 할 수 있다.

👇아래는 수업 시간 내가 해본 Use Case Diagram

너무 심플하고 뭐가 없구먼. 더 발전시켜야겠다.

Activity Diagram

시스템의 실행과 행위의 흐름을 표현한다. 비즈니스 프로세스 또는 작업에서 이용하는 고객의 흐름을 표현하는데 적합하다.

🏋️‍♂️느낀점

-UML을 작성하면 누군가 내 프로젝트에 대해 질문을 하거나 발표를 해야할 때를 미리 대비할 수 있겠다는 생각을 했다. 미리 대비하는 걸 좋아하는 나에게 필요한 방법인 것 같다.

-사전에 계획을 세우고 큰 틀 짜는 것을 어려워했는데 이렇게 계획 짜는 것을 연습하다보면 좋아질거라 믿는다.

-느낌에 의존하는 스타일이라서 그 느낌을 문장으로 설명하는 것에 어려움을 느꼈었다. 이 UML은 내가 플랫폼을 기획하게 된다면 내 의견으로 타인을 설득시키는 스킬을 향상시킬 수 있는 무기가 될 것이다.

-이 강의를 알게 되어서 영광이다. 포트폴리오에 erd, db구조 등 기반, 설계도를 작성해서 나의 경쟁력을 키워야겠다.

아래 사진 두 개는 수업 시간에 내용을 따라 적은 걸 첨부하였다. 문장이 마무리도 안 되고 뒤죽박죽이긴한데 나중에 다시 보면 새록새록 할 것 같다.



본 후기는 유데미-스나이퍼팩토리 10주 완성 프로젝트캠프 학습 일지 후기로 작성 되었습니다.


#IT개발캠프 #React #개발자부트캠프 #리액트 #리액트캠프 #부트캠프 #스나이퍼팩토리 #웅진씽크빅 #유데미 #인사이드아웃 #프로젝트캠프 #프로젝트캠프후기

profile
느리더라도 꾸준히 확실하게.

0개의 댓글