Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
1,33 MB
Nội dung
TRƯỜNG ĐẠI HỌC SƯ PHẠM – ĐẠI HỌC ĐÀ NẴNG KHOA TIN HỌC KHÓA LUẬN TỐT NGHIỆP TÊN ĐỀ TÀI NGHIÊN CỨU PHÁT TRIỂN CÔNG CỤ TỰ SINH WEB API DỰA TRÊN ĐẶC TẢ PHẦN MỀM Sinh viên Lớp CBHD : Huỳnh Đức Khoản : 15CNTT1 : ThS Phạm Dương Thu Hằng ĐÀ NẴNG, 04/2019 I MỤC LỤC MỤC LỤC I LỜI CAM ĐOAN V NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN VI NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN VII DANH MỤC CÁC TỪ VIẾT TẮT VIII DANH MỤC HÌNH ẢNH IX MỞ ĐẦU X Bối cảnh đời đề tài X Mục tiêu ý nghĩa đề tài XI 2.1 Mục tiêu XI 2.2 Ý nghĩa XI Nhiệm vụ đề tài XII 3.1 Về lý thuyết XII 3.2 Về chương trình XIII Đối tượng nghiên cứu phạm vi nghiên cứu XIII 4.1 Đối tượng nghiên cứu XIII 4.1.1 Web API, REST XIII Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp II 4.1.2 Node.js MongoDB XIII 4.2 Phạm vi nghiên cứu XIV Phương pháp nghiên cứu XIV 5.1 Phương pháp quan sát XIV 5.2 Phương pháp thực nghiệm XIV 5.3 Phương pháp nghiên cứu tài liệu XIV CHƯƠNG I: CƠ SỞ LÝ THUYẾT XÂY DỰNG ỨNG DỤNG 1 Lý thuyết Web API REST 1.1 Lý thuyết Web API .1 1.1.1 Web API gì? 1.1.2 Những điểm bật API 1.1.3 Cần ý API 1.2 Lý thuyết REST 1.2.1 REST API gì? .3 1.2.1 Ràng buộc REST Authentication json web token 2.1 JSON Web Token (JWT) gì: 2.2 Cấu trúc JSON Web Token: .6 2.3 Cách JWT thực thi Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp III Lý thuyết Node.js, Express MongoDB: 3.1 Node.js gì? 3.2 Express gì? 3.3 MongoDB gì? CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ Giới thiệu ứng dụng 1.1 Màn hình trang chủ .9 1.2 Màn hình cơng cụ 1.3 Màn hình thơng tin cơng cụ 10 1.4 Trang chứa mã nguồn .10 1.5 So sánh với cơng cụ có thị trường 10 Giới thiệu API 11 2.1 Cấu trúc thư mục API .11 Trong thư mục chứa file cần thiết mà ứng dụng “Sinh mã tự động” chạy tạo ra.2.2 Chức API .11 Phân tích liệu đầu vào 12 CHƯƠNG III: XÂY DỰNG VÀ TRIỂN KHAI CHƯƠNG TRÌNH 14 Môi trường triển khai 14 Kiểm thử chương trình 14 Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp IV 2.1 Kiểm thử ứng dụng web: 14 2.1.1 Kiểm thử chức ứng dụng 14 2.1.2 Kiểm thử giao diện ứng dụng 16 2.1.3 Kiểm thử API sau công cụ tự sinh ra: .17 Kết triển khai 19 3.1 Giao diện API Documents: 21 NỘI DUNG BỔ SUNG CHO ĐỀ TÀI 22 KẾT LUẬN VÀ KIẾN NGHỊ 25 TÀI LIỆU THAM KHẢO 27 Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp V LỜI CAM ĐOAN Tôi xin cam đoan: Những nội dung báo cáo thực hướng dẫn trực tiếp ThS Phạm Dương Thu Hằng Mọi tham khảo dùng báo cáo trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm công bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, xin chịu hoàn toàn trách nhiệm Sinh viên thực Huỳnh Đức Khoản Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp VI NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN Đà Nẵng, ngày tháng năm 2019 Cán hướng dẫn VII NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN Đà Nẵng, ngày tháng năm 2019 Hội đồng phản biện Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp VIII DANH MỤC CÁC TỪ VIẾT TẮT STT Ký hiệu viết tắt Tên ký hiệu viết tắt API Application Programming Interface JWT JSON Web Token CRUD Create, Read, Update, Delete Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp IX DANH MỤC HÌNH ẢNH Hình : Cách hoạt động JWT Hình : Dữ liệu đầu vào cho file cấu hình 12 Hình : Kiểm thử chức JSON hóa cấu hình 15 Hình : Kiểm thử chức sinh mã API 15 Hình : Kiểm thử với giao diện Galaxy S5 16 Hình : Kiểm thử API 17 Hình : Giao diện trang chủ 19 Hình : Giao diện trang cơng cụ 20 Hình : Giao diện trang thông tin 20 Hình 10 : Giao diện API Document .22 Hình 11 : Github ứng dụng cli 22 Hình 12 : Github ứng dụng web 23 Hình 13 : Hướng dẫn sử dụng 23 Hình 14 : Hướng dẫn sử dụng 24 Hình 15 : Hướng dẫn sử dụng 25 Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp Nghiên cứu phát triển cơng cụ tự sinh web api dựa đặc tả phần mềm 13 Với tham số đầu vào người dùng sử dụng để tạo API cần thiết cho trình sử dụng họ Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp 14 Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm CHƯƠNG III: XÂY DỰNG VÀ TRIỂN KHAI CHƯƠNG TRÌNH Mơi trường triển khai - Cơng cụ lập trình: Visual Studio Code - Ngơn ngữ lập trình: Javascript dựa hệ thống Node.js - Môi trường triển khai: Node.js laptop cá nhân - Có sử dụng heroku cloud để deploy ứng dụng Kiểm thử chương trình 2.1 Kiểm thử ứng dụng web: 2.1.1 Kiểm thử chức ứng dụng Về bản, ứng dụng có chức tạo liệu json từ cấu hình config người dùng sinh API cấu hình đó, gửi lên Em kiểm tra chức xem có hoạt động tốt hay khơng, đường dẫn có hoạt động hay khơng, vấn đề logic có sau hay khơng? Sau bước kiểm tra em thấy thứ hoạt động trơn tru khơng có vấn đề phát sinh q trình kiểm thử q trình hành thức Chuyển qua kiểm tra chức cách log liệu cần kiểm tra: Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm 15 Chức ta kiểm tra xem sau config liệu người dùng JSON hóa chưa Hình 3: Kiểm thử chức JSON hóa cấu hình Ta cho in liệu sau người dùng cấu hình, thấy liệu in Tiếp tục kiểm thử chức sinh API tự động người dùng bấm “Bắt đầu tạo API” ta cho log lại liệu sinh ra: Hình 4: Kiểm thử chức sinh mã API Ứng dụng sinh đầy đủ chức cần thiết ứng dụng chạy tốt chức cần thiết Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp 16 Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm 2.1.2 Kiểm thử giao diện ứng dụng Lần lượt thử với giao diện smartphone, desktop hiển thị rõ ràng, khơng lỗi Hình 5: Kiểm thử với giao diện Galaxy S5 Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp 17 Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm 2.1.3 Kiểm thử API sau công cụ tự sinh ra: Sử dụng postman để kiểm thử API sau công cụ tự sinh ra: Khi ta GET đến users mà chưa đăng nhập: Hình 6: Kiểm thử API Khi đăng nhập vào API trả JWT Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm 18 Sau ta lại GET lại localhost:2308/users API hoạt động tốt Lần lượt thử với giao resource khác API hoạt động tốt Vì không muốn báo cáo dài nên em dừng lại Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp Nghiên cứu phát triển cơng cụ tự sinh web api dựa đặc tả phần mềm 19 Kết triển khai Giao diện trang chủ: Hình 7: Giao diện trang chủ Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm 20 Giao diện trang công cụ: Hình 8: Giao diện trang cơng cụ Giao diện trang thơng tin: Hình 9: Giao diện trang thơng tin Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm 21 3.1 Giao diện API Documents: Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm 22 Hình 10: Giao diện API Document NỘI DUNG BỔ SUNG CHO ĐỀ TÀI Source quản lý git lưu trữ github: Hình 11: Github ứng dụng cli Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm 23 Hình 12: Github ứng dụng web Hướng dẫn sử dụng cơng cụ: Hình 13: Hướng dẫn sử dụng Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm 24 Hình 14: Hướng dẫn sử dụng Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp 25 Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm Hình 15: Hướng dẫn sử dụng KẾT LUẬN VÀ KIẾN NGHỊ ƯU ĐIỂM Học hỏi nhiều kinh nghiệm cơng việc Học quy trình xây dựng website với công nghệ laravel framework, thư viện mã nguồn mở cách thiết kế giúp sản phẩm trở nên đẹp hơn, hướng đến trải nghiệm người dùng Áp dụng kiến thức học vào việc xây dựng sản phẩm Nâng cao trách nhiệm công việc, tinh thần tự giác, nghiêm túc, Cải thiện tương đối kỹ đọc – hiểu tiếng Anh Rút nhiều kinh nghiệm quý báu, học cách tự lập, tự nghiên cứu, kỹ mềm phong cách làm việc mơi trường chun nghiệp có nhìn nhận công việc tương lai HẠN CHẾ Khả đọc nghiên cứu tài liệu chậm Do kiến thức kinh nghiệm kỹ lập trình hạn chế nên sản phẩm phần mềm đơn giản, chưa triển khai tưởng xây dựng hệ thống đề tài HƯỚNG PHÁT TRIỂN Tối ưu cho API sau tạo Thêm tham số cấu hình cho ứng dụng Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) 26 Khóa luận tốt nghiêp 27 Nghiên cứu phát triển cơng cụ tự sinh web api dựa đặc tả phần mềm TÀI LIỆU THAM KHẢO https://www.topitworks.com/blogs/api-la-gi-nhung-dac-diem-noi-bat-cua-web-api/ https://movan.vn/rest-api-gioi-thieu-rest-api/ http://blog.co-mit.com/post/74/API+Authentication+v%E1%BB%9Bi+JSON+Web+Token https://freetuts.net/nodejs-la-gi-584.html https://viblo.asia/p/nodejs-voi-express-framework-rQOvPKVgkYj https://viblo.asia/p/mongodb-la-gi-co-so-du-lieu-phi-quan-he-bJzKmgoPl9N https://github.com/typicode/json-server Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp ... nghiêp Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) 26 Khóa luận tốt nghiêp 27 Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả. .. luận tốt nghiêp 17 Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm 2.1.3 Kiểm thử API sau công cụ tự sinh ra: Sử dụng postman để kiểm thử API sau công cụ tự sinh ra: Khi ta GET... nghiêp Nghiên cứu phát triển công cụ tự sinh web api dựa đặc tả phần mềm 21 3.1 Giao diện API Documents: Huỳnh Đức Khoản – Lớp 15CNTT1 (2015-2019) Khóa luận tốt nghiêp Nghiên cứu phát triển công cụ