1. 길고양이 연구 - 1. 문제
  2. 길고양이 연구 - 2. 구현

길고양이 연구로 이동.

길고양이가 얼마나 자주 먹고 마시며 돌아다니는지를 연구 하는 가상의 시스템을 만들어보자.

요구조건

  1. 고양이에 인식표를 부착한다.
  2. 인식표를 인식할 수 있는 사료통, 물통, 체중계를 여기저기 배치한다.
  3. 고양이가 사료통, 물통, 체중계를 사용하면 얼마나 사용했는지 측정해서 서버로 보낸다.
  4. 서버는 장비가 보낸 정보를 저장하고 통계를 작성한다.

작성할 통계

  1. 각 고양이가 장비를 사용한 시간.
  2. 각 장비가 사용된 시간.

유즈 케이스

대충 그린 유즈 케이스. 대략 이런 기능이 필요하다.

대충 그린 유즈 케이스 다이어그램

사양

  1. 장비는 사용 정보를 하루 한 번 csv 포맷의 파일로 전송한다.
    • 파일명 : 전송 시각 + 장비ID
    • 내용 : 장비ID, 인식표ID, 측정치, 측정 시각.
  2. 고양이가 처음 장비를 사용하면 인식표 정보를 서버에 등록한다.
  3. 매주 고양이가 각 장비를 사용했는지 통계를 작성한다.
  4. 매일 각 장비의 사용량 통계를 작성한다.

DB

대충 그린 ERD

  • 고양이가 장비를 사용하면 인식표가 등록됐는지 확인해서 없으면 Cat 데이터를 등록한다.
  • 사료통, 물통, 체중계를 Device로 등록한다.
  • 고양이가 장비를 사용한 정보를 Usage로 등록한다.

cats

고양이

속성 설명
id 고양이 일련번호.auto_increment.
chipId 인식표 ID.
deviceId 장비 ID.
memo 연구원 메모.
createdAt 등록 일시.
updatedAt 갱신 일시.
deletedAt 삭제 일시.

devices

장비

속성 설명
id 장비 일련번호. auto_increment.
deviceId 장비 ID.
type 장비 종류.

uses

장비 사용량 정보

속성 설명
id 사용량 정보의 일련번호. auto_increment
chipId 인식표 ID.
deviceId 장비 ID.
type 종류. 사용시간, 사료, 물, 체중.
value 시간, 사료(g), 물(cc), 체중(kg).
measuredAt 측정 시각.
createdAt 서버 등록 시각.