사이드프로젝트/(240808)이거왜오름?

이거왜오름? 유저 스토리 작성

rkrkrr0101 2024. 8. 9. 20:43

일단 고민끝에 비용이 들어가긴해도 좀 빡세보이는게 재밌어보여서 후보1번인 주식변동성체크+레포트출력으로 선택했음

 

일단 뭘만들진 정했으니 프로젝트명을 정해야하는데 아직 생각나는게 없으니 대충 이거왜오름?으로 대충 가제를 정하고 시작

 

이제 해야할건 유저스토리,즉 엔드유저의 입장에서의 기능을 나열해야함

유저스토리 짤때 참고하기좋은 글

 

유저 스토리를 작성할 때 인터페이스는 생각하지 마세요

사용자 스토리에서 뽑은 226개의 핵심 파트 (1) | 프로덕트 매니저, 프로덕트 오너, 개발자 등 애자일 방식으로 일을 하는 구성원이라면 '유저 스토리' 혹은 '사용자 스토리'라는 말을 많이 들어

brunch.co.kr

 

 

고객을 행복하게 하는 제품 개발 인수조건(Acceptance Criteria) | Typed 블로그

가끔 어떤 분들은 저희가 처음부터 이런 속도를 유지하고 있었던 것으로 생각하시는 경우도 계시지만, 물론 그 사이에는 제품 개발 프로세스를 개선하기 위한 꾸준한 노력들이 있었습니다. 그

typed.do

 

일단 크게 기능은 두가지로 생각하고있음

  • 선택한 주식이 N시간동안의 급격한 가격변동성 OR 가격변동확률이 있을때 알려줌
  • 현재 거래량 상위 N개의 주식들에 대해 왜 거래량이 이렇게 올랐는지에 대한 레포트를 돌려줌

즉 큰 유저스토리로 보면

  • 사용자가 주식을 선택해두면,주식의 변동성이 발생하면 알림을 받을수있다
  • 사용자가 레포트를 요청하면,거래량 상위 N개의 레포트를 받을수있다

이 2가지임

아직 좀 애매한부분이 있긴 함

뒷단만 만들건지 앞단까지 만들건지도 아직 안정했고,앞단이 있다면 어떤플랫폼으로 만들건지도 정하지않았음

어짜피 근데 그건 세부사항이니까 뒷단입장에선 중요하지않으니 신경쓰지말고 진행해보자

  • 사용자가 주식을 등록해두면,주식의 변동성이 발생하면 알림을 받을수있다
    • 주식이 유효한지 확인할 수 있다
    • 일정 시간마다 자동으로 변동성을 확인해준다
    • 알림을 받을 수 있다
  • 사용자가 레포트를 요청하면,상위거래량 N개의 레포트를 받을수있다
    • 사용자는 특정 주식의 레포트를 요청할수있다
    • 사용자는 상위거래량 N개의 레포트배열을 지정할수있다

그냥 대충 이정도로만 해둬도될거같다

근데 어짜피 내가볼거고,대략적인 구현로직도 떠올랐는데 안적을필요는 없을거같다

어짜피 좀있다가 책임생성할때 해야하기도하고

  • 사용자가 주식을 등록해두면,주식의 변동성이 발생하면 알림을 받을수있다
    • 사용자는 주식을 등록해둘수있다
      • 주식의 밸리데이션
      • 확인된 주식을 사용자별로 저장
      • 스케줄링 주식의 옵저버수 증가 및 옵저버등록,없을경우 생성
    • 사용자는 등록된 주식을 삭제할수있다
      • 등록된 주식의 삭제
      • 스케줄링 주식의 옵저버수 감소 및 옵저버삭제,옵저버가 0일경우 삭제
    • 등록된 주식은 변동성이 발생하면 알림을 발생시킨다 
      • 특정시간마다 스케줄링 주식들의 변동을 체크(외부와의 연결필요,큰 티켓)
        • 각 종목마다 반복
          • 외부데이터 긁어오기
          • 긁어온데이터로 변동성이 있는지 외부에 질의
      • 스케줄링 주식에서 변동이 발생하면 옵저버들에게 노티를 날림
      • 옵저버는 노티를 받으면 알림을 발생시킴

다음기능은

  • 사용자가 레포트를 요청하면,거래량 상위 N개의 레포트를 받을수있다
    • 사용자는 특정 주식의 레포트를 요청할수있다
      • 주식의 밸리데이션
      • 해당 주식의 데이터수집
      • 수집된 데이터로 레포트작성 요청
      • 작성된 레포트 전달
    • 사용자는 상위거래량 N개의 레포트배열을 요청할수있다
      • 특정시간마다 상위거래량 N개의 레포트배열을 생성할수있다 
        • 특정시간마다 상위거래량 N개를 조회함
        • 조회된 N개에 대해 레포트작성요청
        • 캐시에 저장
      • 요청이 들어오면 저장된 레포트배열을 전달할수있다
        • 캐시에 저장된 레포트배열을 전달

대충 이정도했으면 설계를 시작할수 있을거같다