9. 벤치마킹 Survey
28
18
4
18
1 0
30
25
20
15
10
5
0
요리를 할 때 겪는 어려움
메뉴선정
식재료구입
재정상태
요리법을 잘
몰라서
기타
없음
10. 벤치마킹 Survey
요리도우미에게 제공받고 싶은 서비스
49%
17%
10%
20%
4%
요리법제공
대신장보기
음식메뉴선정
영양소/열량계산
기타
11. 벤치마킹 Web Site & Application
벤치마킹 대상 벤치마킹 기능
다나와 가격대 검색,배송지 변경, 배송예약, 기본배송지
지마켓 회원로그인, 아이디 저장, 기본 배송지 수정
롯데마트 비회원로그인,주문 배송 조회, 배송지 관리
이마트 가까운 배송 지 찾기, 배송정보 조회
미즈쿡 요리 카테고리, 음식정보, 요리법제공,댓 글,레시피 추가
메뉴판 닷컴 음식정보 목록, 재료정보, , 구매/소유 재료 체크, 체크리스트,
계량정보, 별 점,
만개의 레시피 회원가입,요리법 제공, 별 점, 요리카테고리
오마이 쉐프 아이디/비밀번호 찾기,재료정보
12. 회원
로그인
요구사항 정의서
기본
서비스
특화기능
회원가입
요리
추천
요리정보
제공
사용자
레시피
추가
레시피
정보
Stop watch 기능
14. UseCase 다이어그램
사용자
회원가입
음식 명으로
검색
음식추천받기
재료를 입력하여
검색
가격대 검색
음식정보
등록
조리과정조회
재료등록
조리과정등록
로그인
<<extends>>
<<include>>
15. UseCase 정의서
유즈케이스 정의서(4. UC001)
Note
시스템명 요조숙녀 작성일자 2014.04.30 페이지 1/1
N-1. 키워드 : 기분, 상태 등
UseCase 명 음식추천받기 작성자 김대곤
3.2 Alternative 3.3 Exception Flows
Flows
A-1. 검색결과가 존재하지 않은 경우
1. “검색결과가 E-1. 사용자가 존재하지 키워드 않습니다. 입력을 다시 입력해주세요.” 하지 않고 창을 라는 메시지를 닫은 경우
보여준다.
-> Main ->Flow의 Use Case를 2번으로
종료한다.
3.1 Main Flows
1. 사용자는 음식 추천 받기를 요청한다.
2. 시스템은 사용자에게 키워드(N-1) 입력을 요청한다.
3. 사용자는 키워드를 입력하고 음식 추천 받기를 요청한다(A-1)(E-1).
4. 시스템은 음식 검색 결과를 사용자에게 보여주고 Use Case를 종료한다.
16. UseCase 정의서
4. Note
N-1. 3.3 음식정보 Exception : 음식이름, 음식칼로리, Flows
음식사진(경로), 음식소개
N-2. E-조리정보 1. 사용자가돌아가기를선택한경우
: 조리시간, 분량, 난이도, 총 재료개수, 조리팁
N-3. 조리과정 등록정보 : 단계시간(초), 사진경로, 설명
N-4. ->재료정보 Use Case를종료한다
: 재료명, 수량
유즈케이스 정의서(UC002)
3.2 Alternative Flows
시스템명 요조숙녀 A-1. 사용자가 작성일자 등록을 2014.04.30 선택한 경우
페이지 1/1
UseCase 명 음식정보등록 -> Main Flow의 5번으로
작성자 장성봉
3.1 Main Flows
1. 사용자는 음식정보 등록을 요청한다.
2. 시스템은 사용자에게 음식정보(N-1), 조리정보(N-2) 입력을 요청한다.
3. 사용자는 음식정보, 조리정보를 입력한다. (E-1)
4. 사용자는 조리과정 등록하기를 요청한다.
5. 시스템은 사용자에게 조리과정 등록정보(N-3) 입력을 요청한다.
6. 사용자는 조리과정 등록정보를 입력하고 완료를 선택한다(A-1).
7. 사용자는 재료 등록하기를 요청한다.
8. 시스템은 사용자에게 재료정보(N-4) 입력을 요청한다.
9. 사용자는 재료정보를 입력하고 재료 등록하기를 선택한다.
10. 시스템은 성공적으로 재료를 등록하였고 Use Case를 종료한다.
24. 레시피등록
레시피등록
음식 정보
음 식 이 름 :
음 식 칼 로 리 :
음 식 사 진 (경로):
음 식 소 개 :
조리 정보
조 리 시 간 :
분 량 :
난 이 도 :
총 재 료 개 수 :
조 리 팁 :
kcal
sec
인분
개
사진가져오기
조리과정등록하기 재료등록하기 레시피등록하기 돌아가기
39. Use Case : 레시피 등록
1. 레시피
등록을 위한
각종 정보 입력
2. DB에
레시피 정보
저장
RecipeIngreInfoList
RegiserDBController RecipeInfo CookingCourseList FoodRecipeInfoList FoodDAO RecipeDAO RecipeCourseDAO RecipeIngredientDAO RecipeIngredientDTO
레시피 등록 버튼 리스너
9번 음식정보
1. 음식이름
2. 음식칼로리
3. 음식 사진 경로
4. 음식 소
<<create>>
<<create>>
<<create>>
10번 조리정보
1. 조리시간
2. 분량
3. 난이도(선택)
4. 총 재료 개수
5. 조리 팁
sd데이터베이스 저장
sd for문
sd for문
23 : addFoodRecipeInfo(foodRecipeInfo:FoodRecipeInfo)
24
25 : insert()
26 : disconnect()
27
28 : insert()
29 : CookingCourseList := getCookingCourseList()
30 : Collection<CookingCourse>:=getCookingCourseList()
31
32 : insert()
33 : disconnect()
<<create>>
34
35 : Collection<RecipeIngreInfo>:=getRecipeIngreInfoList()
36 : RecipeIngredientDTO := selectMaxRecipeIngredientCode()
37 : int := getRecipeIngredientCode()
38 : insert()
39 : disconnect()
23번, static 클래스(음식조리정보리스트)에 저장
36번, 37번 가장 낮은 음식코드 불러온다.
RecipeInputListener
레시피 정보 조리과정목록 음식조리정보리스트 음식 DAO 조리법 DAO 조리과정DAO 조리재료 DAO 조리재료 DTO
21 : register()
레시피 등록 컨트롤러
int i=1 값을 요리 단계 번호로 하여
1씩 증가시키면서 insert
주
int j=1 부터 시작하여
최대 재료 코드에
1씩 증가시키며 insert
조리재료 정보 리스트
RecipeIngreInfoList
RecipeDBController
클래스
설명
FoodRecipeInfoList(static)와 DB에 레시피를 추
위한 콘트롤러
메소드 register()
메소드
설명
입력받은 레시피를 등록하는 메소드
파라미터
리턴
클래스
설명
조리재료정보목록을 임시로 저장하는 클래스
메소드 getRecipeIngreInfoList():Collection <Reci
eInfo>
메소드
설명
하나의 음식에 저장된 조리재료정보목록을
져오기 위한 메소드
파라미
터
리턴 조리재료정보목록
40. Use Case : 음식 추천 받기
: 사용자
음식추천받기UI 음식추천받기 콘트롤러 음식추천받기 음식조리법정보리스트
리스너
음식추천받기 리스너
음식추천받기UI 음식추천받기 리스너 음식추천받기 콘트롤러 음식조리법정보리스트 음식정보 및 사진 출력리스너
음식정보 및 사진
콘트롤러
TodayController FoodRecipreInfoList
TodayActionListener
TodayEatUI TodayActionListener TodayController FoodRecipreInfoList PhtoActionListener PhotoController FoodInfoUI
1 : 본인의기분 또는 날씨 등을 입력 후 검색 요청()
2 : void := actionPerformed(e:ActionEvent)
3 : showResult()
<<create>>
4
음식코드에 맞는 UI 생성하기
<<create>>
TodayController객체 생성시, 사용자가 입력한 검색값 중
첫번째 문자만으로 객체를 생성한다.
5 : Collection<FoodRecipeInfo> := verifyFoodName()
조건에 맞는 음식정보, 조리법 정보를 for문을
이용하여 패널에 각종 정보를 넣기 시작
<<create>>
6 : Collection<FoodRecipeInfo> := searchFoodRecipeList(foodName:String)
7 : 음식 사진 클릭()
8 : void := actionPerformed(e:ActionEvent)
음식코드에 맞는 UI 생성하기
9 : moveUI()
<<create>>
10
<<create>>
11 : FoodRecipeInfo := searchFoodRecipeList(foodCode:String)
12 : FoodInfo := verifyFoodCode()
TodayController객체 생성시, 사용자가 입력한 검색값 중
첫번째 문자만으로 객체를 생성한다.
<<create>>
13
검색값이 존재하는 경우
14 : void := showUI()
음식정보UI
: 사용자
TodayEatUI TodayActionListener
1 : 본인의기분 또는 날씨 등을 입력 후 검색 요청()
2 : void := actionPerformed(e:ActionEvent)
3 : showResult()
4
5 : Collection<FoodRecipeInfo> := verifyFoodName()
6 : Collection<FoodRecipeInfo> := searchFoodRecipeList(foodName:String)
조건에 맞는 음식정보, 조리법 정보를 for문을
이용하여 패널에 각종 정보를 넣기 시작
1. 입력한 키워드에
부합하는 음식 검색
2. 선택한 음식
사진의
상세설명 출력
PhtoActionListener PhotoController FoodInfoUI
9 : moveUI()
10
11 : FoodInfo := verifyFoodCode()
12 : FoodRecipeInfo := searchFoodRecipeList(foodCode:String)
13
14 : void := showUI()
FoodRecipreInfoList
TodayController
클래스
설명
FoodRecipeInfoList(static)에서 Data 검색조건에
식정보를 UI로 넘겨주는 컨트롤러
메소드 verifyFoodName():Collection
<FoodRecipeInfo>
메소드
설명
키워드에 맞는 음식정보를 가져오는 메소드
파라미터
리턴 음식 목록
FoodRecipeInfoList
클래스 설명 프로그램 내 모든 음식정보를 가지고있는 Static class
메소드 searchFoodRecipeList(foodCode:String)
:FoodRecipeInfo
메소드
설명
파라미터와 같은 keyword를 가진 모든 음식을 찾는다
파라미터 :keyword-검색정보
리턴 음식목록