KHÓA LUẬN tốt NGHIỆP xây DỰNG ỨNG DỤNG hỗ TRỢ THEO dõi THỊ TRƯỜNG CHỨNG KHOÁN CHO NGƯỜI MUA bán CHỨNG KHOÁN

117 20 0
KHÓA LUẬN tốt NGHIỆP xây DỰNG ỨNG DỤNG hỗ TRỢ THEO dõi THỊ TRƯỜNG CHỨNG KHOÁN CHO NGƯỜI MUA bán CHỨNG KHOÁN

Đ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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM NGUYỄN HỮU THẮNG KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG HỖ TRỢ THEO DÕI THỊ TRƯỜNG CHỨNG KHOÁN CHO NGƯỜI MUA BÁN CHỨNG KHOÁN BUILD A STOCK TRACKING APPLICATION TO HELP INVESTORS TRADE STOCK BETTER KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM TP HỒ CHÍ MINH, 2021 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM NGUYỄN HỮU THẮNG – 16521103 KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG HỖ TRỢ THEO DÕI THỊ TRƯỜNG CHỨNG KHOÁN CHO NGƯỜI MUA BÁN CHỨNG KHOÁN BUILD A STOCK TRACKING APPLICATION TO HELP INVESTORS TRADE STOCK BETTER KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN THS TRẦN ANH DŨNG TP HỒ CHÍ MINH, 2021 THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số …………………… ngày ………………… Hiệu trưởng Trường Đại học Công nghệ Thông tin LỜI CẢM ƠN Sau 4, năm học tập rèn luyện Trường Đại học Công nghệ Thông tin, giảng dạy hướng dẫn tận tình q thầy cơ, đặc biệt q thầy cô khoa Công nghệ Phần mềm, em gặt hái kiến thức bổ ích, áp dụng vào luận văn áp dụng chặn đường tương lai Chúng em xin chân thành cảm ơn quý thầy cô Trường Đại học Công nghệ thông tin, quý thầy cô Khoa Công nghệ Phần mềm, đặc biệt thầy Trần Anh Dũng hướng dẫn tận tình, đóng góp ý kiến để em hồn thành khóa luận tốt nghiệp cách tốt Bên cạnh đó, em xin gửi lời cảm ơn đến bạn khóa, có lời góp ý, động viên em có thêm động lực thực khóa luận khoảng thời gian qua Trong suốt trình em tìm hiểu thực khóa luận, sử dụng cơng nghệ cịn mới, thời gian nhân lực nhóm có hạn, nên khơng thể tránh sai sót Do em mong nhận thông cảm ý kiến đóng góp chân thành từ q thầy bạn Một lần nữa, em xin chân thành cảm ơn người Thành phố Hồ Chí Minh, ngày tháng năm 2021 Nguyễn Hữu Thắng MỤC LỤC TÓM TẮT KHÓA LUẬN Chương MỞ ĐẦU 1.1 Lý chọn đề tài .2 1.2 Mục tiêu 1.3 Phạm vi Chương TỔNG QUAN ĐỀ TÀI 2.1 Phương pháp thực 2.1.1 Tìm hiểu 2.1.2 Đối sánh 2.1.3 Phân tích .4 2.1.4 Xây dựng 2.2 Kết mong đợi 2.2.1 Kĩ 2.2.2 Kiến thức 2.2.3 Kết 2.3 Tìm hiểu đề tài 2.3.1 Một số ứng dụng theo dõi chứng khoán 2.3.2 Đối sánh 11 2.3.3 Tính khác biệt đề tài 11 Chương GOOGLE CLOUD PLATFORM & FIREBASE 13 3.1 Google Cloud Platform 13 3.1.1 Tổng quan Google Cloud Platform 13 3.1.2 Ưu nhược điểm 14 3.1.3 Một số dịch vụ cung cấp 14 3.2 Firebase 15 3.2.1 Tổng quan Firebase 15 3.2.2 Ưu nhược điểm 17 3.2.3 Một số tính cung cấp 17 Chương FLUTTER 19 4.1 Flutter tổng quát 19 4.1.1 Giới thiệu 19 4.1.2 Ưu nhược điểm 21 4.1.3 Ngôn ngữ Dart 21 4.2 Bên Flutter 23 4.2.1 Các tầng kiến trúc 23 4.2.2 Cơ chế render 25 Chương XÂY DỰNG HỆ THỐNG 28 5.1 Xác định phân tích yêu cầu 28 5.1.1 Danh sách Actor 28 5.1.2 Danh sách Usecase 28 5.2 Thiết kế sở liệu 42 5.3 Thiết kế kiến trúc hệ thống 57 5.3.1 Kiến trúc ứng dụng Server 59 5.3.2 Kiến trúc ứng dụng Client 63 5.4 Thiết kế giao diện 67 5.4.1 Các hình đăng nhập 67 5.4.2 Các hình liên kết sàn giao dịch 70 5.4.3 Các hình theo dõi chứng khốn 73 5.4.4 Các hình nhật ký 79 5.4.5 Các hình thơng báo 87 5.4.6 Màn hình tin nhắn 95 5.4.7 Các hình khác .96 5.5 Triển khai hệ thống 99 5.5.1 Server 99 5.5.2 Client 99 Chương KẾT LUẬN 101 6.1 Kết đạt 101 6.2 Thuận lợi khó khăn 102 6.2.1 Thuận lợi 102 6.2.2 Khó khăn 102 6.3 Hướng phát triển 102 Tài liệu Tiếng Việt 104 Tài liệu Tiếng Anh 104 DANH MỤC HÌNH Hình 2.1 Ứng dụng Stock Alarm .7 Hình 2.2 Ứng dụng Investing.com Hình 2.3 Ứng dụng TradingView 10 Hình 3.1 Google Cloud Platform 13 Hình 3.2 So sánh Backend truyền thống Firebase 16 Hình 3.3 Firebase .17 Hình 4.1 Flutter - framework hỗ trợ đa tảng 20 Hình 4.2 Ngơn ngữ lập trình Dart 22 Hình 4.3 Các tầng kiến trúc Flutter 24 Hình 4.4 Thư viện đồ họa Skia 26 Hình 5.1 Sơ đồ Use case tổng quát 28 Hình 5.2 Sơ đồ Use case tổng quát 29 Hình 5.3 Use case tài khoản 30 Hình 5.4 Use case nhật ký 32 Hình 5.5 Use case thơng báo 34 Hình 5.6 Use case danh sách theo dõi .36 Hình 5.7 Use case liên kết sàn giao dịch 38 Hình 5.8 Use case xem thông tin cổ phiếu 40 Hình 5.9 Entity Relationship Diagram 42 Hình 5.10 Kiến trúc hệ thống 57 Hình 5.11 Kiến trúc backend cloud functions 59 Hình 5.12 Kiến trúc tổng quan project Client 63 Hình 5.13 Kiến trúc ứng dụng client 64 Hình 5.14 Màn hình đăng nhập 67 Hình 5.15 Màn hình đăng ký 68 Hình 5.16 Màn hình reset mật 69 Hình 5.17 Màn hình sàn giao dịch - chưa liên kết 70 Hình 5.18 Màn hình sàn giao dịch - liên kết 71 Hình 5.19 Màn hình xem giao dịch sàn 72 Hình 5.20 Màn hình thông tin S&P 500 73 Hình 5.21 Màn hình thơng tin S&P 500 74 Hình 5.22 Màn hình lọc tin tức 75 Hình 5.23 Màn hình cổ phiếu cụ thể 76 Hình 5.24 Màn hình cổ phiếu cụ thể 77 Hình 5.25 Màn hình tìm cổ phiếu 78 Hình 5.26 Màn hình danh sách nhật ký 79 Hình 5.27 Màn hình chi tiết nhật ký 80 Hình 5.28 Màn hình chi tiết nhật ký 81 Hình 5.29 Màn hình chỉnh sửa nhật ký 82 Hình 5.30 Màn hình thêm giao dịch thủ công 83 Hình 5.31 Màn hình thêm giao dịch thơng qua sàn 85 Hình 5.32 Màn hình thêm giao dịch thơng qua file excel 85 Hình 5.33 Màn hình đính kèm thông báo 86 Hình 5.34 Màn hình thơng báo 87 Hình 5.35 Màn hình thơng báo chi tiết 88 Hình 5.36 Màn hình tạo thông báo - chọn kiểu thông báo 89 Hình 5.37 Màn hình tạo điều kiện - bước 90 Hình 5.38 Màn hình tạo điều kiện - bước 91 Hình 5.39 Màn hình tạo điều kiện - bước 92 Hình 5.40 Màn hình tạo thơng báo - tổng kết 93 Hình 5.41 Màn hình tạo thơng báo thành cơng .94 Hình 5.42 Màn hình tin nhắn 95 Hình 5.43 Màn hình quản lý tài khoản 96 Hình 5.44 Màn hình đăng ký gói thành viên 97 Hình 5.45 Màn hình theme tối 98 Hình 5.37 Màn hình tạo điều kiện - bước 90 Hình 5.38 Màn hình tạo điều kiện - bước 91 Hình 5.39 Màn hình tạo điều kiện - bước 92 Hình 5.40 Màn hình tạo thơng báo - tổng kết 93 Hình 5.41 Màn hình tạo thơng báo thành cơng 94 5.4.6 Màn hình tin nhắn Hình 5.42 Màn hình tin nhắn 95 5.4.7 Các hình khác Hình 5.43 Màn hình quản lý tài khoản 96 Hình 5.44 Màn hình đăng ký gói thành viên 97 Hình 5.45 Màn hình theme tối 98 5.5 Triển khai hệ thống 5.5.1 Server Phần backend hệ thống sử dụng nhiều service hệ sinh thái Google Cloud Platform, cụ thể dịch vụ Firebase Tuy nhiên, không project dùng Firebase SDK phía client thơng thường, nhóm dùng service Firebase Cloud Functions để mô chạy Backend dạng Serverless Mơ hình dịch vụ Serverless giúp ta định nghĩa hàm HTTP requests nơi tương tự Backend Code lưu cloud Google chạy môi trường ảo dựng sẵn Ta không cần phải tự quản lý scale Backend server thơng thường Do đó, ta cần tạo setup dự án Firebase bảng điều khiển Firebase: Link Firebase Console: https://console.firebase.google.com/ Cuối cùng, ta cần phải đăng ký dịch vụ Firebase Cloud Functions Firebase để chạy dự án backend hệ thống Ta dựa vào hướng dẫn Firebase để setup dịch vụ Cloud Functions chạy dự án Link hướng dẫn: https://firebase.google.com/docs/functions/get-started 5.5.2 Client Ứng dụng di động viết Flutter, framework đa tảng phát triển mạnh mẽ năm gần Để sử dụng framework Flutter vào việc phát triển ứng dụng, ta cần phải có Flutter SDK, phát triển phần mềm (SDK) Flutter Do đó, đầu tiên, ta cần cài Flutter SDK vào hệ thống Ta dựa vào hướng dẫn thức Flutter để cài Flutter SDK vào môi trường Link cài hướng dẫn: https://flutter.dev/docs/get-started/install 99 Tiếp theo đó, để chạy ứng dụng tảng Android, ta cần phải có thêm Android SDK cơng cụ liên quan Ta bám theo hướng dẫn để cài chạy ứng dụng môi trường Android: Link cài hướng dẫn: https://flutter.dev/docs/get-started/install/windows#androidsetup Ngoài ra, để chạy ứng dụng tảng iOS, ta cần phải có thiết bị chạy hệ điều hành macOS, phát triển ứng dụng tảng iOS cần có phần mềm Xcode, mà phần mềm có mặt hệ điều hành macOS Ta cần làm theo hướng dẫn sau để setup chạy ứng dụng môi trường iOS: Link cài hướng dẫn: https://flutter.dev/docs/get-started/install/macos#ios-setup 100 Chương KẾT LUẬN 6.1 Kết đạt Thông qua việc nghiên cứu tìm hiểu đề tài, nhóm phát triển triển khai thành công ứng dụng theo dõi chứng khốn tương đối hồn chỉnh Tuy ứng dụng có mặt tảng di động Android iOS, tiềm ứng dụng đề tài rớt lớn, với nhiều hướng phát triển sau Về mặt kĩ thuật, cơng nghệ, nhóm đạt kết quả: − Tìm hiểu hệ sinh thái Google Cloud Platform Firebase − Tìm hiểu kiến trúc lập trình với Flutter Firebase Functions − Hiểu thêm cách hoạt động, cách deploy publish lên Google Play App Store − Tìm hiểu kỹ thuật sau phát triển phần mềm, bao gồm Testing CI/CD − Nâng cao kỹ lập trình − Áp dụng quy trình phát triển phần mềm vào đề tài Về mặt thực tiễn, nhóm đạt được: − Xây dựng ứng dụng theo dõi chứng khoán hữu ích cho người dùng − Ứng dụng phù hợp với tên đề tài − Nâng cao khả tự tìm hiểu, nghiên cứu công nghệ − Học kỹ mềm: phản biện, đặt câu hỏi, trao đổi thông tin − Cải thiện kỹ quản lý, làm việc, lên kế hoạch 101 6.2 Thuận lợi khó khăn 6.2.1 Thuận lợi Nhóm có kiến thức tảng Flutter, Firebase Functions đề tài trước đó, nên khơng gặp nhiều khó khăn việc sử dụng ngôn ngữ hay framework Được hướng dẫn góp ý giảng viên, nhóm khơng gặp nhiều khó khăn việc phân tích, tìm hiểu nội dung đề tài 6.2.2 Khó khăn Nhóm gặp phải nhiều khó khăn việc phát triển ứng dụng iOS iOS chặt việc đưa ứng dụng lên App Store Nhóm gặp phải số khó khăn tìm hiểu cơng nghệ CI/CD để tích hợp vào hệ thống lần đầu tích hợp CI/CD Nhóm gặp phải khó khăn phát triển tính In-app Purchase tính địi hỏi thật chặt chẽ bảo mật, cộng thêm việc khó kiểm thử mơi trường local Vì đề tài hồn tồn mới, nhóm khơng có nhiều kiến thức lĩnh vực chứng khốn, nên số tính chưa thật phù hợp hữu ích với người dùng 6.3 Hướng phát triển Đề tài cho phép cải thiện, nâng cao tính mở rộng thêm tính khác như: − Tích hợp AI vào hệ thống: giúp phân loại, phân tích thơng tin mà người dùng tạo, chẳng hạn giao dịch, nhật ký, thơng báo, … từ đưa gợi ý chứng khốn xác phù hợp cho người dùng − Thêm nhiều kiểu thông báo, kiểu điều kiện để hỗ trợ tốt cho người dùng nâng cao 102 − Các tính liên quan tới mạng xã hội, newsfeed hoạt động người dùng, … − Tính theo dõi chứng khốn theo thời gian thực − Phát triển tính đa ngơn ngữ − Phát triển trang web quản trị, để quản trị viên quản lý thông tin chung ứng dụng − Chỉnh sửa bug − Phát triển ứng dụng nhiều tảng khác 103 TÀI LIỆU THAM KHẢO Tài liệu Tiếng Việt [1] Google Cloud Platform https://www.bkns.vn/google-cloud-platform-lagi.html [2] Giới thiệu Firebase dịch vụ https://wiki.matbao.net/firebase-la-gi-giaiphap-lap-trinh-khong-can-backend-tu-google/ [3] Ứng dụng Serverless với Firebase Cloud Functions https://code.tutsplus.com/vi/tutorials/serverless-apps-with-firebase-cloudfunctions cms-28557 [4] Quản lý state với Provider Flutter https://baoflutter.com/provider-trongflutter-quan-ly-state-trong-ung-dung/ [5] Kiến trúc MVVM Flutter https://viblo.asia/p/flutter-va-mvvmL4x5xk4alBM Tài liệu Tiếng Anh [1] Google Cloud Platform introduction https://www.whizlabs.com/blog/googlecloud-platform/ [2] Introduction to Firebase https://medium.com/codingurukul/introduction-tofirebase-f9f6ccc8a785 [3] Relationship between Firebase and Google Cloud https://medium.com/googledevelopers/whats-the-relationship-between-firebase-and-google-cloud57e268a7ff6f [4] Flutter architectural overview https://flutter.dev/docs/resources/architecturaloverview [5] Flutter state management approaches https://flutter.dev/docs/development/dataand-backend/state-mgmt/options [6] Flutter MVVM Architecture https://medium.com/flutterworld/flutter-mvvmarchitecture-f8bed2521958 Và video, viết hữu ích khác trình tìm kiếm 104 ... MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM NGUYỄN HỮU THẮNG – 16521103 KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG HỖ TRỢ THEO DÕI THỊ TRƯỜNG CHỨNG KHOÁN CHO NGƯỜI MUA BÁN CHỨNG KHOÁN... chứng khốn tảng di động… Với ý tưởng đem lại tiện dụng tối đa cho người chơi chứng khốn, nhóm lên ý tưởng xây dựng ứng dụng theo dõi chứng khoán cho người giao dịch chứng khoán 1.2 Mục tiêu Ứng. .. ứng dụng theo dõi chứng khốn 2.1.3 Phân tích Phân tích, lựa chọn nghiệp vụ rút bước đối sánh, nhóm định yêu cầu cần có ứng dụng theo dõi thị trường chứng khoán 2.1.4 Xây dựng Mơ tả ứng dụng Phân

Ngày đăng: 05/09/2021, 20:54

Mục lục

  • TÓM TẮT KHÓA LUẬN

  • Chương 1. MỞ ĐẦU

    • 1.1.Lý do chọn đề tài

    • 2.3.3.Tính khác biệt của đề tài

    • Chương 3.GOOGLE CLOUD PLATFORM & FIREBASE

      • 3.1.Google Cloud Platform

        • 3.1.1.Tổng quan Google Cloud Platform

        • 3.1.3.Một số dịch vụ cung cấp

        • 3.2.3.Một số tính năng cung cấp

        • 4.2.Bên dưới Flutter

          • 4.2.1.Các tầng kiến trúc

          • Chương 5.XÂY DỰNG HỆ THỐNG

            • 5.1.Xác định và phân tích yêu cầu

              • 5.1.1.Danh sách các Actor

              • 5.1.2.Danh sách các Usecase

                • 5.1.2.1.Use case về tài khoản

                • 5.1.2.2.Use case về nhật ký

                • 5.1.2.3.Use case về thông báo

                • 5.1.2.4.Use case về danh sách theo dõi

                • 5.1.2.5.Use case về liên kết sàn giao dịch

                • 5.1.2.6.Use case về xem thông tin cổ phiếu

                • 5.3.Thiết kế kiến trúc hệ thống

                  • 5.3.1.Kiến trúc ứng dụng Server

                  • 5.3.2.Kiến trúc ứng dụng Client

                  • 5.4.Thiết kế giao diện

                    • 5.4.1.Các màn hình đăng nhập

                    • 5.4.2.Các màn hình liên kết sàn giao dịch

                    • 5.4.3.Các màn hình theo dõi chứng khoán

                    • 5.4.4.Các màn hình nhật ký

Tài liệu cùng người dùng

Tài liệu liên quan