Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
Mission (3)
#pragmatic
2년 전
1,073

실용주의 프로그래머 Mission 3

  • 요구사항을 받았는데, 요구사항이 아닐 수 있습니다!

  • 요구사항이 아니라면 사용자가 진짜로 원하는게 무엇인지 알아내야합니다. 애매한 요구사항에서 진짜 요구사항을 찾아내는 연습을 해봅시다.

  • (1) '연습문제 #33'을 읽습니다.

    1. 응답 시간은 500ms 이하여야한다.

    2. 모달 창 modal window의 바탕색은 회색이다.

    3. 애플리케이션은 프론트엔드 프로세스 몇 개와 백엔드 서버로 구성된다.

    4. 사용자가 숫자가 아닌 글자를 숫자 필드에 입력하면 시스템은 입력 필드를 깜빡이고 입력을 거부한다.

    5. 이 임베디드 애플리케이션의 코드와 데이터의 크기는 32Mb 이내여야한다.

  • (2) 1-5번까지 문제를 클라이언트가 건넨 요구사항이라 상상하며 문제를 풀어봅시다.

    1. 응답 시간이 500ms 이하여야 한다는 건 실시간 데이터임을 의미한다고 생각한다. 응답시간이 500ms이아여야 하기 때문에 웹 소켓 서버를 구축하여 실시간 데이터를 구현하자.

    2. 이후에 생성되는 모든 모달창의 바탕색은 회색인지? 아니면 이 모달 창만 회색인지 확인하여
      모든 모달에서 회색으로 구현 할지, 아니면 이 모달만 회색으로 구현할지 하자.

    3. 어떤 기능이 추가되는지에 따라 어떤 프로세스를 구축할지, 백엔드 서버는 어떻게 구성할지 알수 있다.

    4. 사용자가 숫자가 아닌 숫자 필드만을 입력해야 한다면 input tag의 타입을 number로 한다.
      "<input type='number'> </number>"

    5. 애플리케이션의 코드와 데이터의 크기를 줄이기 위해 webpack에서 최적화를 해준다. 그럼에도 코드와 데이터의 크기가 크다면 code split으로 크기를 줄이고, 만약 이렇게 했음에도 32Mb 보다 크다면 기획자분이랑 상의한다.

  • (3) 진정한 요구사항이 아닐 경우 어떻게 질문을 해야하는지, 무엇을 알아야 하는지, 왜 그렇게 생각하는지 등 나의 생각을 작성해보세요

    • 진정한 요구사항이 아닌 것은 3번이라 생각된다. 추상화 수준이 너무 높아 어떤 기능을 구현해야할지 전혀 모르기 때문이다. 기획자 분께 어떤 프로세스를 구축해야하는지. 어떤 기능을 도입해야하는지 물어보자. 기능에 따라 서버를 구현할 방향성을 정하자