1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng ứng dụng chia sẻ công thức nấu ăn yummy trên hệ điều hành IOS

113 436 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 113
Dung lượng 2,22 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đặc tả thay đổi thông tin cá nhân Đầu vào ID định danh tài khoản Dữ liệu thông tin cá nhân Quá trình xử lý NẾU đã đăng nhập THÌ Kết nối CSDL LẶP lấy bản ghi tài khoản trong CSDL NẾU

Trang 1

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Hà Nội – Năm 2016

Chuyên ngành: Công Nghệ Thông Tin

XÂY DỰNG ỨNG DỤNG CHIA SẺ CÔNG THỨC NẤU ĂN

YUMMY TRÊN HỆ ĐIỀU HÀNH IOS

ĐINH NGỌC LÊ QUÂN

Trang 2

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Hà Nội – Năm 2016

Chuyên ngành: Công Nghệ Thông Tin Giảng viên hướng dẫn: TS Nguyễn Đức Tuấn

XÂY DỰNG ỨNG DỤNG CHIA SẺ CÔNG THỨC NẤU ĂN

YUMMY TRÊN HỆ ĐIỀU HÀNH IOS

ĐINH NGỌC LÊ QUÂN

Trang 3

Hà Nội, ngày tháng năm 2016

NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP

Họ và tên: Đinh Ngọc Lê Quân Giới tính: Nam

Ngày, tháng, năm sinh: 30/04/1993 Nơi sinh: Hà Nội

Chuyên ngành: Công nghệ thông tin Mã SV: 11A100292

TÊN ĐỀ TÀI

Xây dựng ứng dụng chia sẻ công thức nấu ăn YMMY

trên hệ điều hành IOS

NHIỆM VỤ VÀ NỘI DUNG

Nghiên cứu, tìm hiểu hệ điều hành IOS Xây dựng ứng dụng chia sẻ công thức nấu ăn trên hệ điều hành IOS

NGÀY GIAO NHIỆM VỤ:24/08/2016

NGÀY HOÀN THÀNH NHIỆM VỤ:20/11/2016

Trang 4

Đinh Ngọc Lê Quân

- Khảo sát thực tế

- Phân tích và thiết kế hệ thống

- Xây dựng ứng dụng phía Server - side

- Nghiên cứu ngôn ngữ Objective-C

- Xây dựng ứng dụng chạy trên thiết bị phía Client – side

- Tổng hợp và xây dựng báo cáo đồ án

Trang 5

Lời đầu tiên em xin gửi đến thầy Nguyễn Đức Tuấn, người đã trực tiếp hướng dẫn em trong suốt quá trình thực hiện đồ án của mình Những nhận xét, đánh giá và nhất là những chia sẻ kinh nghiệm làm việc của thầy là những thông tin vô cùng hữu ích cho việc hoàn thành dự án của em Em xin trân trọng cảm ơn thầy, chúc thầy và gia đình luôn luôn mạnh khỏe và đạt được mọi thành công trong cuộc sống

Bên cạnh đó, em cũng xin cảm ơn các thầy cô thuộc hội đồng kiểm tra tiến độ và chuyên môn đồ án tốt nghiệp những lời khuyên, góp ý, đánh giá và động viên của các thầy cô đã giúp em rất nhiều trong quá trình hoàn thành đồ

án, giúp em thấy được những sai sót mắc phải Em xin chúc các thầy cô và gia đình mạnh khỏe, luôn luôn là người lái đó ân cần dìu dắt các thế hệ tiếp theo của FITHOU trưởng thành

Đinh Ngọc Lê Quân

Hà Nội, tháng 11 năm 2016

Trang 6

Chương 1 KHẢO SÁT HỆ THỐNG 1

1.1 Khảo sát thực tế 1

1.2 Nhiệm vụ cơ bản 2

1.3 Quy trình sử dụng 2

Chương 2 PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG 4

2.1 Sơ đồ phân rã chức năng 4

2.1.1 Xác định chức năng 4

2.1.2 Gom nhóm chức năng 5

2.1.3 Sơ đồ phân rã chức năng hệ thống 8

2.2 Sơ đồ luồng dữ liệu 9

2.2.1 Ký hiệu sử dụng 9

2.2.2 DFD mức khung cảnh 9

2.2.3 DFD mức đỉnh 10

2.2.4 DFD mức dưới đỉnh 10

2.3 Đặc tả chức năng chi tiết 13

Chương 3 PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU 25

3.1 ER mở rộng 25

3.1.1 Xác định kiểu thực thể, kiểu thuộc tính 25

3.1.2 Xác định kiểu liên kết 27

3.1.3 Mô hình ER mở rộng 28

3.2 Chuẩn hóa dữ liệu 29

3.2.1 Chuyển đổi từ ER mở rộng về ER kinh điển 29

3.2.2 Chuyển đổi từ ER kinh điển về ER hạn chế 34

3.2.3 Chuyển đổi từ ER hạn chế về mô hình quan hệ 38

3.3 Đặc tả bảng dữ liệu trong mô hình quan hệ 41

Trang 7

4.1 Thiết kế tổng thể 52

4.1.1 Phân định công việc giữa người và máy 52

4.2 Thiết kế kiểm soát 54

4.2.1 Xác định nhóm người dùng 54

4.2.2 Phân định quyền hạn nhóm người dùng 54

4.3 Thiết kế CSDL vật lý 57

4.3.1 Mô hình dữ liệu hệ thống 57

4.3.2 Đặc tả bảng dữ liệu 57

4.4 Thiết kế kiến trúc chương trình và giao diện 69

4.4.1 Thiết kế kiến trúc 69

4.4.2 Thiết kế màn hình giao diện 70

Chương 5 TRIỂN KHAI 87

5.1 Cơ sở lý thuyết 87

5.1.1 JSON và ứng dụng 87

5.2 Lập trình ứng dụng xử lý phía Server 91

5.2.1 Cơ sở dữ liệu của hệ thống 91

5.2.2 Lập trình Website hệ thống 91

5.3 Lập trình ứng dụng xử lý phía thiết bị 92

Chương 6 TỔNG KẾT VÀ ĐÁNH GIÁ 97

6.1 Cấu hình yêu cầu 97

6.2 Kết quả đạt được 97

6.3 Các mặt hạn chế 97

TÀI LIỆU THAM KHẢO 99

Trang 8

- Chuyên ngành: Công nghệ thông tin Khóa: 11

- Cán bộ hướng dẫn: TS.Nguyễn Đức Tuấn

- Tên đề tài: Xây dựng ứng dụng chia sẻ công thức nấu ăn YUMMY trên

hệ điều hành iOS

- Tóm tắt: Thực hiện đồ án lần này đã giúp em có thêm những kiến thức mới

về lập trình iOS, đó là sử dụng JSON để thao tác với Web server và sử dụng ngôn ngữ lập trình objective-C trong việc viết ứng dụng cho các thiết

bị iDevice Qua đó đã giúp em tìm hiểu thêm được rất nhiều kiến thức về việc xây dựng và triển khai một ứng dụng iOS ra thực tế

Trang 9

STT Tên viết tắt Tên đầy đủ Dịch ra Tiếng Việt

5 DFD Data Flow Diagram Sơ đồ luồng dữ liệu

6 ER Entity Relationship Thực thể quan hệ

Trang 10

Bảng 2.1 Đặc tả đăng ký tài khoản 13

Bảng 2.2 Đặc tả đăng nhập tài khoản 14

Bảng 2.3 Đặc tả xác thực tài khoản 14

Bảng 2.4 Đặc tả thay đổi thông tin cá nhân 15

Bảng 2.5 Đặc tả đổi mật khẩu 15

Bảng 2.6 Đặc tả hiện công thức đã tạo 16

Bảng 2.7 Đặc tả hiện công thức đã đánh dấu 16

Bảng 2.8 Đặc tả follow người dùng 17

Bảng 2.9 Đặc tả tạo công thức 17

Bảng 2.10 Đặc tả tạo các bước trong công thức 18

Bảng 2.11 Đặc tả nhận xét (comment) với mỗi công thức 18

Bảng 2.12 Đặc tả yêu thích (like) với mỗi công thức 19

Bảng 2.13 Đặc tả đánh dấu (Bookmark) với mỗi công thức 19

Bảng 2.14 Đặc tả cập nhật công thức` 20

Bảng 2.15 Đặc tả xóa công thức 20

Bảng 2.16 Đặc tả cập nhật bước làm 21

Bảng 2.17 Đặc tả xóa bước làm 21

Bảng 2.18 Đặc tả sửa nhận xét 22

Bảng 2.19 Đặc tả xóa nhận xét 22

Bảng 2.20 Đặc tả bỏ yêu thích 23

Bảng 2.21 Đặc tả bỏ đánh dấu 23

Bảng 2.22 Đặc tả tìm kiếm công thức theo tên 24

Bảng 2.23 Đặc tả tìm kiếm công thức theo danh mục 24

Bảng 2.24 Đặc tả thông báo 24

Bảng 3.1 Các kiểu thực thể của hệ thống 25

Trang 11

Bảng 3.4 Xử lý kiểu thuộc tính không sơ đẳng 30

Bảng 3.5 Tìm khóa cho kiểu thực thể chính 31

Bảng 3.6 Xác định kiểu thuộc tính kết nối 34

Bảng 3.7 Xác định khóa chính cho từng kiểu thực thể 36

Bảng 3.8 Mã hóa kiểu thực thể chuyển thành bảng quan hệ 38

Bảng 3.9 Mã hóa kiểu thuộc tính chuyển thành trường dữ liệu 39

Bảng 3.10 Bảng đặc tả các trường của tbl_User 41

Bảng 3.11 Bảng đặc tả các trường của tbl_Congthuc 42

Bảng 3.12 Bảng đặc tả các trường của tbl_Comment 43

Bảng 3.13 Bảng đặc tả các trường của tbl_Like 43

Bảng 3.14 Bảng đặc tả các trường của tbl_Bookmark 44

Bảng 3.15 Bảng đặc tả các trường của tbl_Thongbao 44

Bảng 3.16 Bảng đặc tả các trường của tbl_Nguyenlieu 45

Bảng 3.17 Bảng đặc tả các trường của tbl_Loaicongthuc 45

Bảng 3.18 Bảng đặc tả các trường của tbl_Loainguyenlieu 46

Bảng 3.19 Bảng đặc tả các trường của tbl_Buoc 46

Bảng 3.20 Bảng đặc tả các trường của tbl_Congthuc_Loaicongthuc 47

Bảng 3.21 Bảng đặc tả các trường của tbl_Congthuc_Nguyenlieu 47

Bảng 3.22 Bảng đặc tả các trường của tbl_Follow 48

Bảng 3.23 Ma trận Chức năng – Kho dữ liệu 48

Bảng 3.24 Ma trận Kho dữ liệu – Bảng quan hệ 50

Bảng 4.1 Bảng quyền Người dùng – Dữ liệu 55

Bảng 4.2 Bảng quyền Người dùng – Tiến trình 56

Bảng 4.3 Đặc tả dữ liệu của bảng tbl_Users 57

Bảng 4.4 Đặc tả dữ liệu của bảng tbl_Thongbao 58

Trang 12

Bảng 4.7 Đặc tả dữ liệu của bảng tbl_Bookmark 61

Bảng 4.8 Đặc tả dữ liệu của bảng tbl_Like 62

Bảng 4.9 Đặc tả dữ liệu của bảng tbl_Comment 63

Bảng 4.10 Đặc tả dữ liệu của bảng tbl_Buoc 64

Bảng 4.11 Đặc tả dữ liệu của bảng tbl_Loaicongthuc 65

Bảng 4.12 Đặc tả dữ liệu của bảng tbl_Congthuc_Loaicongthuc 65

Bảng 4.13 Đặc tả dữ liệu của bảng tbl_ Loainguyenlieu 66

Bảng 4.14 Đặc tả dữ liệu của bảng tbl_Nguyenlieu 67

Bảng 4.15 Đặc tả dữ liệu của bảng tbl_Congthuc_Nguyenlieu 68

Trang 13

Hình 2.1 Sơ đồ phân rã chức năng 8

Hình 2.2 Các thành phần 9

Hình 2.3 Quan hệ giữa kho dữ liệu, tiến trình, luồng dữ liệu 9

Hình 2.4 DFD mức khung cảnh 9

Hình 2.5 DFD mức đỉnh 10

Hình 2.6 DFD Quản lý tài khoản người dùng 10

Hình 2.7 DFD Chia sẻ nội dung 11

Hình 2.8 DFD Tìm kiếm 12

Hình 3.1 Mô hình ER mở rộng 28

Hình 3.2 Mô hình ER kinh điển 33

Hình 3.3 Mô hình ER hạn chế 38

Hình 3.4 Mô hình quan hệ 41

Hình 4.1 Phân định người - máy chức năng đăng ký, đăng nhập 52

Hình 4.2 Phân định người - máy chức năng Tạo, sửa, xóa, yêu thích, đánh dấu công thức 53

Hình 4.3 Phân định người – máy chức năng tìm kiếm 54

Hình 4.4 Mô hình cơ sở dữ liệu hệ thống 57

Hình 4.6 Giao diện đăng nhập trên ứng dụng 70

Hình 4.7 Biểu đồ trình tự hoạt đông view đăng nhập 71

Hình 4.8 Giao diện đăng ký trên ứng dụng 72

Hình 4.9 Biểu đồ trình tự hoạt đông view đăng ký 73

Hình 4.10 Giao diện trang chính trên ứng dụng 74

Hình 4.11 Biểu đồ trình tự hoạt đông view trang chính 75

Hình 4.12 Giao diện chi tiết công thức trên ứng dụng 76

Hình 4.13 Biểu đồ trình tự hoạt đông view chi tiết công thức 77

Trang 14

Hình 4.16 Giao diện tạo công thức trên ứng dụng 80

Hình 4.17 Biểu đồ trình tự hoạt đông view tạo công thức 81

Hình 4.18 Giao diện thông báo trên ứng dụng 82

Hình 4.19 Biểu đồ trình tự hoạt đông view thông báo 84

Hình 4.20 Giao diện thông tin người dùng trên ứng dụng 85

Hình 4.21 Biểu đồ trình tự hoạt đông view thông tin người dùng 86

Hình 5.1 Mô hình client - server 88

Hình 5.2 CSDL trên server 91

Hình 5.3 Cấu trúc phân bố thư mục gốc Website 91

Hình 5.4 Cấu trúc mã lệnh chương trình 92

Hình 5.5 Cấu trúc các màn hình (view controller) 94

Hình 5.6 Cấu trúc nhóm MainController 95

Trang 15

Chương 1 KHẢO SÁT HỆ THỐNG

Từ đó, em nảy ra ý tưởng xây dựng một ứng dụng giúp những người có nhu cầu cao về ẩm thực tự nấu chia sẻ các công thức nấy ăn của mình hoặc do mình sưu tầm được Đó như là một nơi để mọi người dùng tham gia và tạo nên một cộng đồng lớn mạnh, giúp ích đắc lực cho chị em phụ nữ trong việc lựa chọn thực đơn cho bữa ăn hàng ngày

Yêu cầu đặt ra là cần có một công cụ - một ứng dụng hội tụ đủ yêu cầu cho việc chia sẻ giữa cộng đồng người dùng đông đảo nói trên, đóng vai trò như một mạng xã hội thu nhỏ, để nội dung luôn đa dạng và được cập nhật bởi chính cộng đồng người dùng.Đồng thời với mong muốn tìm hiểu sâu hơn về lập trình ứng dụng di động bằng ngôn ngữ Objective-C, em lựa chọn nền tảng

ứng dụng ở đây là hệ điều hành iOS Vì vậy, em quyết định chọn đề tài Xây dựng ứng dụng chia sẻ công thức nấu ăn YUMMY trên hệ điều hành IOS

Theo khảo sát, hiện nay – cụ thể là với thị trường ứng dụng iOS của Việt Nam, hiện chưa có ứng dụng nào khai thác, đáp ứng được yêu cầu trên Từ

Trang 16

đó, em hình thành ý tưởng về một ứng dụng cho phép người dùng có thể chia

sẻ các công thức nấu ăn của bản thân hoặc sưu tầm được với đầy đủ hình ảnh, hướng dẫn chi tiết Ứng dụng sẽ tích hợp các tính năng của một mạng xã hội, tạo nên một cộng đồng thu nhỏ cả về phía người dùng lẫn nội dung

1.2 Nhiệm vụ cơ bản

Từ khảo sát thực tế, em rút ra nhiệm vụ cơ bản của ứng dụng là:

- Chia sẻ công thức giữa người dùng với người dùng

- Người dùng có thể đăng nhập tài khoản trên một hoặc nhiều thiết bị

- Đối với một ứng dụng chia sẻ hiện nay, về cấu trúc không quá phức tạp (đơn thuần là dữ liệu gửi lên và trả về để hiển thị) nên sẽ phải tập trung vào

xử lý cách quản lý nội dung cũng như giao diện ứng dụng phía client

- Ứng dụng sẽ có chức năng nổi bật của một ứng dụng mạng xã hội điển hình đó là tính năng thông báo (Notification)

Áp dụng vào ứng dụng của mình, ta đưa ra quy trình làm việc như sau:

- Tài khoản có thể đăng ký trực tiếp trên ứng dụng và xác thực thông qua email

Chia sẻ công thức nấu ăn

Trang 17

- Sau khi đăng ký và xác thực kích hoạt, người dùng có thể đăng nhập vào để thực hiện chia sẻ và xem các công thức được chia sẻ Toàn bộ dữ liéu

sẽ được lưu trữ trên hệ thống server

Các thông tin dùng để đăng ký tài khoản cũng là một vấn đề cần quan tâm.Việc sử dụng email kích hoạt sẽ giúp tránh trường hợp bão hoà người dùng khi người dùng có thể tự do tạo bao nhiêu tài khoản tuỳ thích

Với mỗi tài khoản sau khi kích hoạt và đăng nhập vào hệ thống, người dùng có thể thêm, sửa, xoá một công thức của riêng mình Cộng đồng người dùng sẽ đánh giá công thức đó thông qua các phản hồi (comment) và để giúp việc đánh giá trở nên đơn giản và trực quan, tính năng yêu thích (like) đối với mỗi công thức cũng được thêm vào.Vì là một ứng dụng chia sẻ công thức nấu

ăn (bao gồm cả ảnh và văn bản) nên trong một công thức sẽ tồn tại các bước thực hiện món ăn Nói một cách đơn giản, Một công thức được tạo ra sẽ như một album chứa các bước tương tự như các bức ảnh kèm theo caption

Một người dùng có thể lựa chọn lưu công thức một món ăn mà mình muốn thực hiện khi không có kết nối mạng.Các công thức được lưu này sẽ được ghi trực tiếp trên bộ nhớ của thiết bị để có thể truy cập ngay cả khi không có kết nối mạng Cụ thể ở đây với tab quản lý người dùng, các công thức trên sẽ được lưu vào một nhóm menu riêng trong phần này Bên cạnh đó, người dùng còn có thể theo dõi (follow) một người dùng khác để có thể truy cập nhanh các công thức của người dùng đó chia sẻ

Bên cạnh các chức năng trên, chức năng thông báo của ứng dụng cũng là một chức năng quan trọng đối với một ứng dụng đi theo hướng chia sẻ như một mạng xã hội.Khi một công thức mà người dùng đã lưu được sửa, hay công thức người dùng đã chia sẻ nhận được yêu thích hay các phản hổi, người dùng sẽ nhận được thông báo trả về và được lưu đồng thời trên server và trên client đối với một lượng thông báo nhất định

Trang 18

Chương 2 PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG

2.1 Sơ đồ phân rã chức năng

3 Đăng nhập tài khoản

4 Đổi thông tin cá nhân

5 Đổi mật khẩu

6 Lựa chọn yêu thích công thức

7 Lựa chọn lưu(đánh dấu) công thức

8 Yêu thích (like) với mỗi công thức

9 Tạo công thức

10 Tạo các bước trong công thức

11 Tìm kiếm công thức theo tên

12 Nhận xét (comment) với mỗi công thức

13 Tìm kiếm công thức theo danh mục

14 Chức năng theo dõi người dùng (folow)

15 Chức năng thông báo (notification)

Trang 19

- Quản lý tài khoản và người dùng

- Chia sẻ nội dung

- Tìm kiếm nội dung

- Thông báo

Trang 20

Bảng 2.2 Kết quả gom nhóm chức năng Tên chức năng

Đăng kí tài khoản

Quản lý tài khoản người dùng

Chia sẻ công thức nấu ăn

Đăng nhập tài khoản

Xác thực tài khoản

Hiện công thức đã đánh dấu

(bookmark)

Hiện công thức đã tạo

Theo dõi người dùng (follow)

Đổi thông tin cá nhân

Đổi mật khẩu

Yêu thích (like) với mỗi công thức

Chia sẻ nội dung

Lựa chọn lưu(đánh dấu) công thức

Nhận xét (comment) với mỗi công

Trang 21

Tên chức năng

Bỏ đánh dấu công thức

Tìm kiếm công thức theo tên

Tìm kiếm

Tìm kiếm công thức theo danh mục

Chức năng thông báo (notification) Thông báo

Trang 22

2.1.3 Sơ đồ phân rã chức năng hệ thống

Hình 2.1.Sơ đồ phân rã chức năng

Trang 23

2.2 Sơ đồ luồng dữ liệu

2.2.1 Ký hiệu sử dụng

: Tiến trình : Kho dữ liệu

: Tác nhân ngoài : Tác nhân trong

Dữ liệu nội dung chia sẻ

Kết quả nội dung chia sẻ

Người dùng

Nội dung tìm kiếm

Kết quả xử lý

Người dùng

Kết quả thông báo trả về

Yêu cầu duyệt thông báo

Hình 2.4 DFD mức khung cảnh

Trang 24

2.2.3 DFD mức đỉnh

Chia sẻ nội dung

Công thức

Người dùng được theo dõi

Nội dung thông báo trả về

Nhận xét được tạo

Công thức được đánh dấu

ID định danh người dùng Nội dung công thức

ID định danh người dùng Theo dõi Thông tin cá nhân mới

Tên đăng nhập

Tên đăng nhập Tên đăng nhập

Đăng nhập tài khoản

Công thức đã tạo

Chia sẻ nội dung

Chia sẻ nội dung Tìm kiếm Duyệt thông báo

Duyệt thông báo

Đăng ký thành viên

Hình 2.6 DFD Quản lý tài khoản người dùng

Trang 25

Cập nhật công thức

Xóa công thức

Tạo nhận xét

Sửa nhận xét

Xóa nhận xét

Yêu thích

Bỏ yêu thích

Đánh dấu

Bỏ đánh dấu

Tài khoản đăng nhập

Tài khoản

Công thức Tài khoản

Công thức Tài khoản

Công thức Tài khoản

Công thức Tài khoản

Tài khoản đăng nhập Tài khoản đăng nhập

Tài khoản đăng nhập Tài khoản đăng nhập

Tài khoản đăng nhập Tài khoản đăng nhập

Tài khoản đăng nhập Tài khoản đăng nhập

Tài khoản đăng nhập

Yêu cầu cập nhật công thức

Trang 26

Người dùng

Hình 2.8 DFD Tìm kiếm

dùng

Nội dung thông báo

Thông báo được tạo

Chia sẻ nội dung

Hình 2.9 DFD Thông báo

Trang 27

2.3 Đặc tả chức năng chi tiết

 Các chức năng thuộc quản lý tài khoản người dùng

Bảng 2.1 Đặc tả đăng ký tài khoản

Đầu vào Tên đăng nhập

Thông báo trùng tên tài khoản đăng nhập KẾT THÚC LẶP

LẶP ĐẾN KHI hết tài khoản trong CSDL

NẾU chưa có tên đăng nhập trong hệ thống THÌ

Thêm tài khoản mới vào CSDL

Thông báo cho người dùng đăng ký thành công KHÔNG THÌ thông báo cho người dùng các lỗi dữ liệu Đầu ra Thông báo về việc đăng ký thành công hay chưa

Trang 28

Bảng 2.2 Đặc tả đăng nhập tài khoản

Đầu vào Tên đăng nhập

NẾU mật khẩu khớp với mật khẩu được lưu trong CSDL THÌ

Thông báo đăng nhập thành công KẾT THÚC LẶP

NẾU mật khẩu không khớp với mật khẩu được lưu trong CSDL THÌ

Thông báo sai mật khẩu LẶP ĐẾN KHI hết bản ghi tài khoản NẾU không tìm được bản ghi có tên tài khoản như đã nhập THÌ thông báo tài khoản không tồn tại

Đầu ra Thông báo về việc đăng nhập đã thành công hay chưa

Bảng 2.3 Đặc tả xác thực tài khoản

Đầu vào Tên đăng nhập

NẾU như không tìm được bản ghi của email kích hoạt THÌ thông báo tài khoản không tồn tại

Đầu ra Thông báo về việc tài khoản đã được xác thực thành công hay chưa

Trang 29

Bảng 2.4 Đặc tả thay đổi thông tin cá nhân

Đầu vào ID định danh tài khoản

Dữ liệu thông tin cá nhân

Quá trình xử lý

NẾU đã đăng nhập THÌ

Kết nối CSDL LẶP lấy bản ghi tài khoản trong CSDL NẾU ID định danh trùng với tài khoản trong CSDL THÌ

Cập nhật dữ liệu thông tin cá nhân được gửi lên KHÔNG thì

Thông báo có lỗi xảy ra cho người dùng KẾT THÚC LẶP

Đầu ra Thông báo việc thay đổi thông tin cá nhân đã thành công hay chưa

Bảng 2.5 Đặc tả đổi mật khẩu

Đầu vào

Tên đăng nhập Mật khẩu cũ Mật khẩu mới Xác nhận mật khẩu mới

Cập nhật mật khẩu mới Thông báo cập nhật thành công KẾT THÚC LẶP

LẶP ĐẾN KHI hết bản ghi tài khoản trong CSDL NẾU không cập nhật mật khẩu

THÌ

Trang 30

Thông báo sai mật khẩu

Đầu ra Thông báo bề việc đã cập nhật thành công hay chưa

Bảng 2.6 Đặc tả hiện công thức đã tạo

Đầu vào ID định danh tài khoản

Quá trình xử lý

NẾU đã đăng nhập THÌ

Kết nối CSDL LẶP lấy bản ghi tài khoản trong CSDL NẾU ID định danh trùng với tài khoản trong CSDL THÌ

LẶP lấy bản ghi công thức đã tạo LẶP ĐẾN KHI hết bản ghi công thức KHÔNG thì

Thông báo có lỗi xảy ra cho người dùng KẾT THÚC LẶP

Đầu ra Công thức đã được tạo bởi tài khoản đăng nhập

Bảng 2.7 Đặc tả hiện công thức đã đánh dấu

Đầu vào ID định danh tài khoản

Quá trình xử lý NẾU đã đăng nhập

THÌ Kết nối CSDL LẶP lấy bản ghi tài khoản trong CSDL NẾU ID định danh trùng với tài khoản trong CSDL THÌ

LẶP lấy bản ghi công thức đã đánh dấu LẶP ĐẾN KHI hết bản ghi công thức KHÔNG thì

Thông báo có lỗi xảy ra cho người dùng KẾT THÚC LẶP

Đầu ra Công thức đã được đánh dấu bởi tài khoản đăng nhập

Trang 31

Bảng 2.8 Đặc tả theo dõi người dùng (follow)

Đầu vào ID định danh tài khoản

ID định danh tài khoản theo dõi

Quá trình xử lý

NẾU đã đăng nhập THÌ

Kết nối CSDL LẶP lấy bản ghi tài khoản trong CSDL NẾU ID định danh tài khoản và tài khoản theo dõi có trong CSDL THÌ thêm ID định danh tài khoản theo dõi vào danh sách theo dõi của tài khoản

KHÔNG thì Thông báo lỗi xảy ra cho người dùng KẾT THÚC LẶP

LẶP đến khi hết bản ghi tài khoản Đầu ra Thông báo về việc theo dõi người dùng đã thành công hay chưa

 Các chức năng thuộc chia sẻ nội dung

Bảng 2.9 Đặc tả tạo công thức

Đầu vào ID định danh tài khoản

Nội dung công thức

Quá trình xử lý

NẾU đã đăng nhập THÌ

Kết nối CSDL LẶP lấy bản ghi tài khoản trong CSDL Thêmnội dung công thức vào CSDL KẾT THÚC LẶP

LẶP ĐẾN KHI hết bản ghi tài khoản

Đầu ra Thông báo tạo công thức đã thành công hay chưa

Hiện công thức vừa tạo

Trang 32

Bảng 2.10 Đặc tả tạo các bước trong công thức

Đầu vào

ID định danh tài khoản

ID định danh công thức Nội dung các bước trong công thức

Quá trình xử lý

Kết nối CSDL LẶP lấy ID định danh tài khoản và ID định danh công thức trong CSDL NẾU ID định danh tài khoản và công thức có trong CSDL

LẶP thêm bước làm vào CSDL LẶP ĐẾN KHI người dùng lựa chọn Hoàn thành NẾU ID tài khoản hoặc công thức không có trong CSDL THÌ thông báo có lỗi xảy ra

KẾT THÚC LẶP LẶP ĐẾN KHI hết các bản ghi trong CSDL tài khoản và công thức Đầu ra Các bước trong công thức vừa tạo

Bảng 2.11 Đặc tả nhận xét (comment) với mỗi công thức

Truy cập vào CSDL LẶP lấy ID định danh công thức trong CSDL NẾU ID định danh công thức có trong CSDL THÌ

Tạo nhận xét cho công thức KẾT THÚC LẶP LẶP ĐẾN KHI hết bản ghi trong CSDL công thức Đầu ra Nhận xét cho công thức

Trang 33

Bảng 2.12 Đặc tả yêu thích (like) với mỗi công thức

Đầu vào ID định danh công thức

ID định danh tài khoản

Quá trình xử lý

NẾU đã đăng nhập THÌ

Truy cập vào CSDL LẶP lấy ID định danh công thức trong CSDL NẾU ID định danh công thức có trong CSDL THÌ

Thêm yêu thích cho công thức KẾT THÚC LẶP

LẶP ĐẾN KHI hết bản ghi trong CSDL công thức Đầu ra Yêu thích cho công thức

Bảng 2.13 Đặc tả đánh dấu (Bookmark) với mỗi công thức

Đầu vào ID định danh công thức

ID định danh tài khoản

Quá trình xử lý

NẾU đã đăng nhập THÌ

Truy cập vào CSDL LẶP lấy ID định danh công thức trong CSDL NẾU ID định danh công thức có trong CSDL THÌ

Thêm đánh dấu cho công thức KẾT THÚC LẶP

LẶP ĐẾN KHI hết bản ghi trong CSDL công thức Đầu ra Đánh dấu công thức

Trang 34

Truy cập vào CSDL LẶP lấy ID định danh công thức trong CSDL NẾU ID định danh công thức có trong CSDL THÌ

Cập nhật nội dung công thức KẾT THÚC LẶP LẶP ĐẾN KHI hết bản ghi trong CSDL công thức

Đầu ra Thông báo công thức đã được cập nhật thành công hay chưa

Công thức được cập nhật

Bảng 2.15 Đặc tả xóa công thức

Đầu vào ID định danh công thức

ID định danh tài khoản

Quá trình xử lý

NẾU đã đăng nhập THÌ

Truy cập vào CSDL LẶP lấy ID định danh công thức trong CSDL NẾU ID định danh công thức có trong CSDL THÌ

Xóa công thức khỏi CSDL KẾT THÚC LẶP LẶP ĐẾN KHI hết bản ghi trong CSDL công thức

Đầu ra Thông báo công thức đã được xóa hay chưa

Dữ liệu về công thức được xóa khỏi CSDL

Trang 35

Quá trình xử lý

NẾU đã đăng nhập THÌ

Truy cập vào CSDL LẶP lấy ID định danh bước làm trong CSDL NẾU ID định danh bước làm có trong CSDL THÌ

Cập nhật bước làm trong CSDL KẾT THÚC LẶP LẶP ĐẾN KHI hết bản ghi trong CSDL bước làm

Đầu ra Thông báo bước làm đã được cập nhật thành công hay chưa

Bước làm được cập nhật

Bảng 2.17 Đặc tả xóa bước làm

Đầu vào ID định danh tài khoản

ID định danh bước làm

Quá trình xử lý

NẾU đã đăng nhập THÌ

Truy cập vào CSDL LẶP lấy ID định danh bước làm trong CSDL NẾU ID định danh bước làm có trong CSDL THÌ

Xóa bước làm khỏi CSDL KẾT THÚC LẶP LẶP ĐẾN KHI hết bản ghi trong CSDL bước làm

Đầu ra Thông báo bước làm đã được xóa hay chưa

Bước làm được xóa khỏi CSDL

Trang 36

Quá trình xử lý

NẾU đã đăng nhập THÌ

Kết nối CSDL LẶP lấy ID định danh nhận xét trong CSDL NẾU ID định danh nhận xét có trong CSDL Cập nhật nhận xét trong CSDL

KẾT THÚC LẶP LẶP ĐẾN KHI hết bản ghi trong CSDL nhận xét

Đầu ra Thông báo nhận xét đã được sửa hay chưa

Quá trình xử lý

NẾU đã đăng nhập THÌ

Kết nối CSDL LẶP lấy ID định danh nhận xét trong CSDL NẾU ID định danh nhận xét có trong CSDL Xóa nhận xét khỏi CSDL

KẾT THÚC LẶP LẶP ĐẾN KHI hết bản ghi trong CSDL nhận xét

Đầu ra Thông báo nhận xét đã được xóa hay chưa

Nhận xét được xóa

Trang 37

Bảng 2.20 Đặc tả bỏ yêu thích

Đầu vào ID định danh tài khoản

ID định danh yêu thích

Quá trình xử lý

NẾU đã đăng nhập THÌ

Kết nối CSDL LẶP lấy ID định danh yêu thích trong CSDL NẾU ID định danh yêu thích có trong CSDL Xóa định danh yêu thích

KẾT THÚC LẶP LẶP ĐẾN KHI hết bản ghi trong CSDL Đầu ra Công thức được bỏ yêu thích

Bảng 2.21 Đặc tả bỏ đánh dấu

Đầu vào ID định danh tài khoản

ID định danh đánh dấu

Quá trình xử lý

NẾU đã đăng nhập THÌ

Kết nối CSDL LẶP lấy ID định danh đánh dấu trong CSDL NẾU ID định danh đánh dấu có trong CSDL Xóa định danh đánh dấu

KẾT THÚC LẶP LẶP ĐẾN KHI hết bản ghi trong CSDL Đầu ra Công thức được bỏ đánh dấu

 Các chức năng thuộc tìm kiếm

Trang 38

Bảng 2.22 Đặc tả tìm kiếm công thức theo tên

Đầu vào Từ khóa tìm kiếm

ID định danh tài khoản

Quá trình xử lý

NẾU đã đăng nhập THÌ

Kết nối CSDL LẶP lấy tên công thức trong CSDL theo từ khóa LẶP ĐẾN KHI hết bản ghi trong CSDL

Đầu ra Kết quả tìm kiếm

Bảng 2.23 Đặc tả tìm kiếm công thức theo danh mục

Đầu vào Từ khóa tìm kiếm

ID định danh tài khoản

Quá trình xử lý

NẾU đã đăng nhập THÌ

Kết nối CSDL LẶP lấy tên công thức trong CSDL theo từ khóa danh mục LẬP ĐẾN KHI hết bản ghi trong CSDL

Đầu ra Kết quả tìm kiếm

 Các chức năng thông báo

Bảng 2.24 Đặc tả thông báo

Đầu vào ID định danh tài khoản

Quá trình xử lý

NẾU đã đăng nhập THÌ

Kết nối CSDL LẶP lấy nội dung thông báo theo định danh tài khoản LẶP ĐẾN KHI hết bản ghi trong CSDL

Đầu ra Các thông báo của người dùng

Trang 39

Chương 3 PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU 3.1 ER mở rộng

3.1.1 Xác định kiểu thực thể, kiểu thuộc tính

Bảng 3.1 Các kiểu thực thể của hệ thống

Từ quy trình xử lý: “thông thường với ứng

dụng tương tự để đăng ký tài khoản cần 2

thông tin cơ bản là tên đăng nhập và mật

khẩu, bên cạnh đó, sau khi đăng ký thành

công, người dùng sẽ cần có email xác thực,

trạng thái tài khoản và các thông tin cá nhân

cơ bản”

TÀI KHOẢN (Tên đăng nhập, mật khẩu, email, ngày tạo, Tên người dùng, số điện thoại, mô tả, ảnh đại diện, trạng thái kích hoạt)

Từ quy trình xử lý: “người dùng khởi tạo

công thức nấu ăn cho server lưu trữ (thông tin

của công thức bao gồm ID, tên công thức, nội

dung công thức, thời điểm tạo, mô tả công

thức, các thông tin cơ bản về công thức)”

CÔNG THỨC (Tên công thức, ID công thức, nội dung, ngày tạo, ngày sửa, nguyên liệu, thời gian nấu, số người, phân loại, ảnh đại diện, mô tả công thức, loại công thức)

Từ quy trình xử lý:”người dùng tạo nội dung

bước làm trong mỗi công thức (thông tin cần

thiết bao gồm ID,nội dung bước làm, thời

gian tạo, sửa,ID định danh của công thức của

bước, số thứ tự của bước làm)”

BƯỚC LÀM (ID bước làm, nội dung, ID công thức, số thứ tự, ảnh, thời gian tạo, thời gian sửa)

Từ quy trình xử lý:”người dùng tạo nội dung NHẬN XÉT (ID nhận xét, ID

Trang 40

GỢI Ý KIỂU THUỘC TÍNH

nhận xét đối với mỗi công thức (ID nhận xét,

nội dung , ngày tạo và sửa, ID người tạo nhận

xét,, ID công thức được nhận xét)”

người dùng, ID công thức,nội dung, ngày tạo, ngày sửa)

Từ quy trình xử lý:”người dùng thực hiện yêu

thích một công thức, dữ liệu này cũng sẽ

được lưu tại server (thông tin bao gồm :ID

người thích, ID công thức được thích, thời

gian thực hiện thao tác)”

YÊU THÍCH (ID người dùng, thời gian yêu thích, ID công thức)

Từ quy trình xử lý:”người dùng thực hiện

đánh dấu một công thức, dữ liệu này sẽ được

lưu tại server (thông tin bao gồm : ID công

thức, thời gian đánh dấu, ID người đánh

dấu)”

ĐÁNH DẤU (ID công thức, thời gian đánh dấu, ID người dùng)

Từ quy trình xử lý:”đối với chức năng thông

báo, kết quả sẽ được lưu trữ trên server (ID,

nội dung, thời gian thông báo, ID người nhận

thông báo)”

THÔNG BÁO(ID thông báo, thời gian thông báo, nội dung, ID người dùng)

Từ quy trình xử lý :”người dùng thực hiện

folow người dùng khác, dữ liệu sẽ được lưu

trữ tại server (ID người follow, ID người

được follow)”

FOLLOW (ID người follow, ID người được follow)

Ngày đăng: 22/03/2018, 19:49

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w