Tải bản đầy đủ (.pdf) (113 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.22 MB, 113 trang )

ỨNG DỤNG CHIA SẺ CÔNG THỨC NẤU ĂN YUMMY TRÊN IOS

Niên khóa: 2011 – 2015

VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

ĐINH NGỌC LÊ QUÂ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
Chuyên ngành: Công Nghệ Thông Tin

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

Hà Nội – Năm 2016


VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

ĐINH NGỌC LÊ QUÂ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
Chuyên ngành: Công Nghệ Thông Tin
Giảng viên hướng dẫn: TS. Nguyễn Đức Tuấn

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

Hà Nội – Năm 2016




VIỆN ĐẠI HỌC MỞ HÀ NỘI

CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

Độc lập – Tự do – Hạnh phúc

---------------------------------------

------------------------------------

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:

Mã SV: 11A100292

Công nghệ thông tin

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
CÁN BỘ HƢỚNG DẪN: TS. Nguyễn Đức Tuấn

Nội dung và đề cương Đồ án đã được Hội đồng chuyên ngành thông qua.
Ngày
CÁN BỘ HƢỚNG DẪN

tháng

năm 2016

KHOA CÔNG NGHỆ THÔNG TIN


NHIỆM VỤ ĐƢỢC GIAO
Đ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.


LỜI NÓI ĐẦU
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


MỤC LỤC
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


3.4. Hoàn thiện quá trình phân tích ............................................................. 48
Chƣơng 4 THIẾT KẾ HỆ THỐNG .................................................................. 52
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


TÓM TẮT ĐỒ ÁN
- Họ và tên: Đinh Ngọc Lê Quân
- 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ế.


DANH MỤC CÁC CHỮ VIẾT TẮT
STT

Tên viết tắt

Tên đầy đủ
Bussiness Function


Dịch ra Tiếng Việt
Sơ đồ phân rã chức năng

1

BFD

2

C

Char

3

CSDL

Cơ sở dữ liệu

4

D

Date

Ngày tháng

5


DFD

Data Flow Diagram

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

6

ER

Entity Relationship

Thực thể quan hệ

7

FK

Foreign Key

Khóa ngoại

8

MT

Máy tính

9


N

Number

Số

10

PK

Primary Key

Khóa chính

11

TC

Thủ công

Diagram

Ký tự


DANH MỤC BẢNG BIỂU
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


Bảng 3.2. Các kiểu liên kết của hệ thống ........................................................ 27
Bảng 3.3. Xử lý kiểu thuộc tính đa trị ............................................................. 29
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


Bảng 4.5. Đặc tả dữ liệu của bảng tbl_Follow ................................................ 59
Bảng 4.6. Đặc tả dữ liệu của bảng tbl_Congthuc............................................ 60
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


DANH SÁCH HÌNH VẼ
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


Hình 4.14. Giao diện tìm kiếm công thức trên ứng dụng ............................... 78
Hình 4.15. Biểu đồ trình tự hoạt đông view tìm kiếm .................................... 79
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


1

Chƣơng 1
KHẢO SÁT HỆ THỐNG
1.1. Khảo sát thực tế
Hiện nay, trong một xã hội mà nhịp sống luôn rất nhanh, nhiều người có
nhu cầu tự nấu ăn thay vì tìm kiếm hay ăn ở các hàng quán, những chị em phụ
nữ ban ngày đi làm, tối về nhà nên không có nhiều thời gian để tìm hiểu các
món ăn mới lạ, hay những người đơn giản là ưa thích nấu ăn – cần một nơi để
có thể học hỏi các món ăn mới lạ, được chia sẻ bởi cộng đồng để đảm bảo
tính đa dạng về nội dung, Tìm kiếm trên Google search engine thường trả về

các trang web quảng cáo của các nhà hàng, các địa điểm ăn uống, gần như
chưa có bất kỳ một trang web chính thống nào phục vụ cho nhu cầu trên.
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ừ


2

đó, 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
Chia sẻ công thức nấu ăn


Người dùng

Người dùng

1.3. Quy trình sử dụng
Sau khi khảo sát một số ứng dụng có tính năng tương tự (Instagram,
Pinterest, Lozi…), em nhận thấy một số định hướng xử lý công việc như sau:
- Người dùng đăng kí ngay trên ứng dụng và được xác nhận thông qua
email.
- 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.


3

- 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.


4

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
2.1.1. Xác định chức năng
Từ quy trình sử dụng, xác định được các chức năng chính của chương
trình:
Bảng 2.1. Xác định chức năng

Đánh số

Chức năng

1

Đăng ký tài khoản

2

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

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)


5

Đánh số

Chức năng

16

Công thức đã tạo

17

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

18

Xóa công thức

19

Sửa nhận xét

20

Xóa nhận xét


21

Bỏ yêu thích công thức

22

Cập nhật bƣớc làm

23

Xóa bƣớc làm

24

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

2.1.2. Gom nhóm chức năng
Căn cứ vào các chức năng chính của ứng dụng mà ta có thể gom lại
thành 2 nhóm riêng biệt, bên cạnh đó đối với chức năng tìm kiếm và thông
báo, ta có thêm 2 nhóm nhiệm vụ riêng biệt nữa, kết quả được 4 nhóm chức
năng như sau :
- 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


6


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
Đă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

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

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ẻ công


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

thức nấu ăn

Nhận xét (comment) với mỗi công
thức
Tạo công thức
Tạo các bước trong công thức
Cập nhật công thức
Cập nhật bước làm
Cập nhật nhận xét
Xóa công thức
Xóa bước làm
Xóa nhận xét
Bỏ yêu thích công thức

Chia sẻ nội dung


7

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 công thức theo danh mục
Chức năng thông báo (notification)

Tìm kiếm
Thông báo



8

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


9

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

: Luồng dữ liệu

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

Vào

Cập
nhật


Ra

Hình 2.3. Quan hệ giữa kho dữ liệu, tiến trình, luồng dữ liệu
2.2.2. DFD mức khung cảnh
Thông tin đăng ký tài khoản

Nội dung tìm kiếm

Người dùng

Người dùng

Kết quả xử lý

Kết quả đăng ký

Chia sẻ công thức nấu ăn
Dữ liệu nội dung chia sẻ

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

Người dùng

Người dùng

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

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

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



10

2.2.3. DFD mức đỉnh

Tên đăng nhập, mật khẩu
Kết quả đánh dấu

Tên đăng nhập, mật khẩu
Đánh dấu

Bước làm
Mật khẩu

Công thức
đã tạo

Yêu thích

Kết quả yêu thích
Nhận xét

Tài khoản

Công thức được
yêu thích

Chia sẻ nội
dung


Thông tin đăng ký tài khoản

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

Tên đăng nhập, mật khẩu

Công thức

Người dùng

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

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

Kết quả đăng ký

Danh mục

Người dùng

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

Công thức


Kết quả nhận xét

Kết quả tạo công thức

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

Tên công thức

Tìm kiếm

Người dùng

Yêu cầu tìm kiếm

Tạo công thức

Thông báo

Yêu cầu xem thông báo

Kết quả tìm kiếm

Thông báo

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

Hình 2.5. DFD mức đỉnh
2.2.4. DFD mức dưới đỉnh
Thông tin cá nhân mới

Thông tin đăng ký

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

Đăng ký thành
viên
Đổi mật khẩu

Người
dùng

Kết quả đăng ký

Thành viên

ID định danh người dùng
Tên đăng nhập, mật khẩu

Mật khẩu

Tài khoản

Tên đăng nhập, mật khẩu mới

Theo dõi

Theo dõi

Người dùng


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

Kết quả đăng nhập

ID định danh công thức

Công thức đã
bookmark

Nội dung công thức

Công thức
Tên đăng nhập
Tên đăng nhập

ID định danh công thức,
ID định danh người dùng

Công thức đã
tạo

Nội dung công thức

Tên đăng nhập

Chia
Chia sẻ
sẻ nội
nội

dung
dung

Tìm
Tìm kiếm
kiếm

Duyệt
Duyệt thông
thông
báo
báo

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


11

Kết quả xử lý
Yêu cầu tạo công thức

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

Tạo công
thức

ID định danh

Tài khoản


ID định danh

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

ID định danh

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

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

Kết quả xử lý
Yêu cầu xóa công thức

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

Xóa công
thức

Tài khoản

ID định danh

Kết quả xử lý
ID định danh

Công thức

Tạo nhận
xét

ID định danh

Kết quả xử lý

Tài khoản đăng nhập
Yêu cầu sửa nhận xét

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

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

Sửa nhận
xét

Tài khoản

ID định danh

Xóa nhận
xét

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

Yêu thích


Tài khoản
ID định danh

Kết quả xử lý
ID định danh

Người dùng

Công thức

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

Yêu cầu tạo nhận xét

ID định danh

Kết quả xử lý
Yêu cầu xóa nhận xét
Yêu cầu yêu thích công thức
Kết quả xử lý

ID định danh

Công thức
Bỏ yêu
thích

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


ID định danh

Kết quả xử lý
Yêu cầu bỏ yêu thích công thức
Yêu cầu đánh dấu công thức

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

Kết quả xử lý
ID định danh

Đánh dấu

Tài khoản

ID định danh

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

ID định danh

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

ID định danh

Kết quả xử lý
Yêu cầu bỏ đánh dấu công thức


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


×