조금씩 차근차근 2025. 10. 3. 19:52

본 목록은 일정 관리 제품 "PinIt"의 Use Case로, 핵심적으로 구현해야 하는 필수 기능부터 제품의 특색을 살리는 부가기능까지의 기능 구현 우선순위를 기준으로 1, 2, 3순위로 나타낸 Use Case이다.

 

 

1순위

  • 일정 추가
    • 기능
      • 사용자는 일정 추가 버튼을 클릭하여 일정 추가 창을 연다
      • 사용자는 그 안에 다음을 입력한다.
        • 일정 이름
        • 일정 타입
        • 일정 마감일자
        • 일정 중요도
        • 일정 예상 시간
        • 이전에 수행해야 하는 일정
        • 이후에 수행해야 하는 일정
      • 사용자는 일정 자동 배치 버튼을 클릭할 수 있다.
        • 시스템은 추천 일정 배치일자를 결정한다.
      • 시스템은 입력값을 검증한다.
      • 시스템은 입력받은 대로 DB에 일정을 추가한다.
    • 사후조건
      • 사용자가 일정 배치를 수행하지 않았을 경우, 일정 추가를 선택한 날짜에 해당 일정을 추가한다.
      • 일정이 DB에 추가되어야 한다.
      • 사용자는 메인화면으로 돌아가야 한다.
      • 사용자는 추가된 일정을 확인할 수 있어야 한다.
    • 일정 조회
      • 기능
        • 사용자는 특정 날짜를 조회한다.
        • 시스템은 특정 날짜에 존재하는 모든 일정을 반환한다.
      • 사후조건
        • 사용자는 일정 클릭을 통해 일정 상세 정보로 이동할 수 있어야 한다.
    • 일정 상세정보 조회
      • 사전조건
        • 사용자가 특정 일정을 클릭해야 한다.
      • 기능
        • 일정의 상세 정보를 조회한다.
        • 해당 창의 수정 버튼을 통해 일정 수정을 수행할 수 있다.
        • 해당 창의 닫기 버튼을 통해 이 일정을 조회했던 날짜로 이동할 수 있다.
        • 해당 창의 삭제 버튼을 통해 일정 삭제를 수행할 수 있다.
    • 일정 수정
      • 사전조건
        • 사용자가 일정 상세정보 조회에서 일정 수정 버튼을 클릭해야 한다.
      • 기능
          1. 사용자는 일정 수정 버튼을 클릭하여 일정 수정 창을 연다.
          1. 사용자는 그 안에 다음을 입력한다.
            • 일정 이름
            • 일정 타입
            • 일정 마감일자
            • 일정 중요도
            • 일정 예상 시간
            • 이전에 수행해야 하는 일정
            • 이후에 수행해야 하는 일정
            • 이때 일정 자동 배치 버튼을 통해 일정을 "자동 배치 일정"으로 바꿀 수 있다.
            • 이때 일정 이동 버튼을 통해 일정을 "고정 일정"으로 바꿀 수 있다.
          1. 사용자는 일정 수정 버튼을 클릭한다.
          1. 시스템은 일정 수정을 완료하고, 일정 수정 페이지를 닫는다.
      • 사후조건
        • 일정이 수정된 후, "일정이 수정되기 전 존재했던 날짜"로 이동해야 한다.
    • 일정 삭제
      • 사전조건
        • 사용자가 일정 상세정보 조회에서 일정 삭제 버튼을 클릭해야 한다.
      • 기능
        • 일정이 이미 진행중이거나 완료된 일정인지 검사한다.
        • 일정을 데이터베이스에서 삭제한다.
      • 사후조건
        • 일정이 삭제된 후, "일정이 수정되기 전 존재했던 날짜"로 이동해야 한다.
    • 일정 검증
      • 기능
        • 일정의 순서 간에 사이클이 있는지 검증한다.
    • 일정 중요도 점수 매기기
      • 사전조건
        • 일정 생성/수정 창에서 접근 가능하다.
      • 기능
        • 시스템은 서로 점수가 다르면서 가장 가까운 두 개의 일정을 표기하여, 사용자가 다른 일정과 비교할 수 있게 한다.
        • 사용자는 슬라이더를 통해 일정 중요도를 점수화한다.
    • 일정 긴급도 점수 매기기
      • 사전조건
        • 일정 생성/수정 창에서 접근 가능하다.
      • 기능
        • 시스템은 서로 점수가 다르면서 가장 가까운 두 개의 일정을 표기하여, 사용자가 다른 일정과 비교할 수 있게 한다.
        • 사용자는 슬라이더를 통해 일정 긴급도를 점수화한다.

2순위

  • 이전/이후에 해야 하는 일정 추가 기능
    • 기능
      • 시스템은 사용자의 일정에 사이클이 없는지 확인한다.
    • 하루 집중시간 통계
      • 기능
        • 사용자가 이번 주에 보낸 '집중 작업' 시간의 합계를 반환한다.
    • 하루 업무시간 통계
      • 기능
        • 사용자가 이번 주에 보낸 '행정 작업' 시간의 합계를 반환한다.
    • 일정 알림
      • 사전조건
        • 사용자가 알림 설정을 켜두어야 한다.
      • 기능
        • 다음과 같은 경우, 사용자에게 알림을 발송한다.
          • 사용자가 지정한 예상 작업 시간이 지난 경우
          • 사용자가 지정한 일정의 시작 시간이 지난 경우
      • 사후조건
        • 사용자는 해당 알림을 통해 해당 일정 창으로 이동할 수 있다.
    • 일정 시작
      • 기능
        • 사용자는 일정 시작 버튼을 클릭한다.
        • 시스템은 일정의 시작 가능 여부를 검사한다.
          • 사용자가 이미 진행하고 있는 일정이 없는지 검사한다.
          • 해당 일정이 과거의 일정이 아닌지 검사한다.
          • 해당 일정이 이미 완료된 일정이 아닌지 검사한다.
        • 시스템은 해당 일정을 시작한다.
      • 사후조건
        • 시스템은 해당 일정의 종료 알림을 발송할 수 있도록 해야 한다.
    • 일정 실행 취소
      • 사전조건
        • 사용자가 이미 실행중인 상태의 일정의 실행을 취소하려 할 때 발생한다.
      • 기능
        • 시스템은 일정이 이미 시작된 상태인지 검사한다.
        • 시스템은 해당 일정의 실행을 취소한다.
          • 이를 알림 시스템에 알려야 한다.
      • 사후조건
        • 해당 일정이 시작 전 상태로 바뀌어야 한다.
    • 일정 완료
      • 기능
        • 시스템은 해당 일정이 진행되고 있던 일정인지 검사한다.
        • 시스템은 해당 일정을 완료시키고, 일정의 시작 시간과 현재 시간을 비교하여 일정 진행 시간을 기록한다.
        • 해당 일정을 완료 상태로 바꾼다.

3순위

  • 일정 위치 추천
    • 사전조건
      • 일정의 타입, 예상 시간과 마감 일자, 중요도, 긴급도가 모두 설정되어야 사용 가능하다.
    • 기능
      • 시스템은 사용자의 자동 배치 일정에 맞춰 일정을 적절한 시간에 배치할 수 있도록 추천한다.
    • 사후조건
    • 이전에 수행하면 좋은 일정 추천(GPT, LLaMA)
      • 사전조건
        • 사용자가 일정 생성을 완료한 뒤
        • 사용자가 이전에 수행해야 할 일을 추가하지 않았을 때
        • 일정의 예상 시간이 지나치게 길 때(4시간 이상) 발생
      • 기능
        • 시스템은 먼저 하면 좋을 작업을 3개 추천한다.
        • 사용자는 그 목록을 통해 바로 일정 추가하기 화면으로 이동할 수 있다.
      • 사후조건
        • 일정의 추가와는 별개로 진행되어야 한다.