- 내가 보유한 식재료만으로 곧바로 조리할 수 있는 음식들을 보여줌으로써 어떤 요리를 만들 수 있을지 고민하거나 인터넷을 뒤져볼 필요가 없어진다.
- 요리를 만들고 식사를 마치면 본인이 가지고 있는 식재료에서 음식 조리에 사용된 재료는 자동으로 차감되기 때문에 식재료가 얼마나 남았는지 알 수 있고, 장을 언제 보러 가야 할지 미리 파악할 수 있다.
- 사용자는 제공되는 기존의 레시피를 이용하여 음식을 조리해먹을 수 있으며 자기만의 레시피를 만들고 다른 사용자들과 공유할 수도 있다. 또한, 다른 사용자들로부터 자기가 만든 레시피에 대한 추천과 피드백을 받을 수 있으므로 이전보다 더 나은 요리를 만들 수 있다.
- 평소에 요리에 자신이 없고 익숙하지 않은 사람들
- 한정된 식재료를 이용하여 최적의 식사를 하고싶은 자취생
- 매번 레시피에 필요한 식재료를 딱딱 맞춰서 구하기 번거로운 사람들
- 식재료가 떨어질 때쯤에는 매번 장을 언제 봐야하나 고민하고 냉장고를 들여다봐야 하는 주부들
- 음식을 만들기 위해서 반드시 필요한 재료와 그렇지 않은 재료를 구분하고 만들 수 있는 요리 위주로 선별해서 보여줄 수 있어야 한다.
- 요리를 완성하면 요리에 사용된 재료를 자동으로 차감시킬 수 있어야 하고, 사용자가 보유한 재료가 얼만큼 남았는지 수치 상으로 보여줄 수 있어야 한다.
- 내가 만든 나만의 레시피를 공유할 수 있어야 하고, 다른 사용자가 공유한 레시피 또한 볼 수 있어야 한다.
- 내가 가지고 있는 식재료의 유통기한 및 보관 방법을 알려줄 수 있어야 한다.
- 내가 가지고 있는 식재료가 얼마나 남았는지 알려줄 수 있어야 한다.
- 내가 전에 조리했던 요리를 나만의 '요리 일기'에 기록함으로써 내가 며칠 전에 어떤 요리를 했는지 알 수 있어야 한다.
- 조리 가능한 요리가 다양할 경우 최근 조리 내역을 반영하여 사용자가 보다 다양한 음식을 접할 수 있어야 한다.
- Android OS를 지원하는 핸드폰
Use case name | Receive recommendation |
---|---|
Participating actors | User |
Flow of events | 1. User가 단말기에서 “Receive recommendation” 기능을 선택한다. 2.App은 Organize recipe data 유스 케이스를 호출하여 User 적 절한 요리를 선정한다. 2.1 App은 User에게 현재 조리 가능한 요리를 알려준다. 3. User는 추천받은 요리 중 하나를 선택한다. 4. App은 Send recipes 유스 케이스를 호출하여 User에게 기본 레시피와 다른 User들이 공유한 레시피를 알려준다. |
Entry condition | - User는 App에 로그인 한다. |
Exit condition | - User는 App으로부터 적절한 요리(겹치는 재료가 많은)를 추천받는다. - User는 App으로부터 트랜잭션이 처리될 수 없는지에 대한 설명을 받는다.(재료부족) |
Quality requirements | - App은 User에게 다양한 정렬방식(추천순, 공유 횟수 등)을 이용해서 메뉴를 추천할 수 있어야 한다. |
Performance
- Response Time : 재료를 입력하는 과정에서 사용자의 수고로움이 요구된다. 그런 만큼, 입력한 재료와 수많은 레시피들을 비교하여 신속 정확하게 최적의 레시피를 제공해야 한다.
- Throughput : 사용자가 레시피를 업로드 실행할 때 다량의 사진 또는 동영상을 업로드하는데 막힘이 없어야 한다.
Maintenance
- Extensibility : 기존에 없던 레시피들이 미디어를 통해 화제가 되곤 한다. 새로운 레시피들을 추가하여 사용자들에게 보다 다양한 메뉴를 추천해줘야한다. 레시피 데이터베이스에 새로운 레시피를 추가하는데 용이해야한다.
End User
- Usability : 사용자가 재료를 입력하는 과정이 보다 단순하고 편리할 필요가 있다. 재료별 다양한 카테고리를 제시하고 재료 수량표시를 세분화한다.
또한, 사용자가 레시피를 선택할때 어려움이 없어야 한다. 다양한 레시피를 목록화하여 제공하되, 카테고리별 분류를 통해 레시피 선택 시간을 줄일수게 한다. 조리에 사용된 재료는 저절로 차감되도록 한다. 또한, 사용자가 레시피를 참고하는 과정에서의 편리함도 중요하다. 요리를 진행하는 중간중간 레시피를 확인하는데 어려움이 없도록 한다.
Participants | Roles | Skills | Training Needs |
---|---|---|---|
송진호 | 팀장, 서버 개발, DB 설계 및 구현 | C, Java, Python, HTML, Javascript, Node.js(Express.js), MySQL | UML 모델링 |
김태호 | 문서작성 및 테스터 | C, Java | UML 모델링 |
류준형 | 안드로이드 개발, 테스터 | C, Java, Javascript(jQuery), MySQL, PHP, Python(NumPy, Matplotlib, TensorFlow-Keras), Flask | UML 모델링 |
박근모 | 안드로이드 개발, 테스터 | C, Java, Android, Python, HTML, CSS | UML 모델링 |