Đặt vấn đề Trong những tháng đầu năm 2021, mặc dù chịu ảnh hưởng từ đại dịch COVID- 19, TTCK Việt Nam vẫn tiếp tục bứt phá mạnh mẽ, liên tục lập kỷ lục mới về cả chỉ số và giá trị giao dịch. “Tính đến cuối tháng 10/2021, chỉ số VN-Index đạt 1.444,27 điểm điểm, tăng 30,8% so với cuối năm 2020. Mức vốn hóa thị trường cổ phiếu đạt 7.462 nghìn tỷ đồng, tăng 41% so với cuối năm 2020, tương đương 118,6% GDP. Quy mô niêm yết, đăng ký giao dịch của thị trường tính đến cuối tháng 10 đạt 1.685 nghìn tỷ đồng, tăng 20,2% với cuối năm 2020 với 755 cổ phiếu, CCQ niêm yết trên 2 Sở giao dịch chứng khoán và 896 cổ phiếu đăng ký giao dịch trên Upcom.
Mặc dù chịu ảnh hưởng của dịch COVID-19, tuy nhiên thanh khoản của thị trường tăng mạnh lên mức cao kỷ lục trên 1 tỷ USD mỗi phiên” [4]. “Ngoài ra để triển khai những mục tiêu quan trọng trong Chiến lược phát triển TTCK Việt Nam giai đoạn 2011-2020 tại quyết định 252/QĐ-TTg ngày 01/03/2012 của Thủ tướng Chính phủ, Ủy ban Chứng khoán Nhà nước đã từng bước hiện đại hóa và ứng dụng công nghệ thông tin vào công tác hỗ trợ và nâng cao công tác quản lý nhà nước về chứng khoán và giám sát hoạt động trên TTCK” [1]. Cùng với sự phát triển của thế giới thì việc giao dịch chứng khoán qua hệ thống điện tử ngày càng phổ biến. Không chỉ ứng dụng CNTT trong Sở giao dịch mà CNTT cũng đang mang lại những trải nghiệm tuyệt vời cho các nhà đầu tư: có thể giao dịch mọi lúc mọi nơi, tìm hiểu thông tin một cách dễ dàng, kiểm soát dòng tiền trong tài khoản rõ ràng, minh bạch, tiết kiệm thời gian chi phí.
Từ thực tế những thay đổi cũng như chính sách của nhà nước, các công ty chứng khoán, tổ chức phát hành cũng phải thay đổi, nâng cấp hệ thống của công ty mình để có thể tiếp tục phát triển, thu hút các nhà đầu tư. Chỉ khi có những phần mềm phát SVTH: Cao Thị Mai 6 K21HTTTA Khóa luận tốt nghiệp GVHD: Ths. Nguyễn Thanh Thụy triển tốt, đáp ứng nhu cầu của người dùng, xu thế của xã hội mới có thể tiếp tục tồn tại và phát triển. Xác định bài toán cần thực hiện Nắm bắt được những nhu cầu thực tế trên, bài toán đặt ra là giải quyết được vấn đề phần mềm cho các công ty chứng khoán, đảm bảo việc giao dịch, thanh toán diễn ra nhanh chóng thuận lợi, dễ dàng đặc biệt trong nộp tiền vào tài khoản, chuyển tiền ra ngoài và kiểm soát sao kê tài khoản cá nhân.
Vì vậy hệ thống Flex, mobile app cùng web trading đã ra đời với tính năng vượt trội trong việc quản lý tài khoản, tiền gửi, kết nối ngân hàng giúp khách hàng dễ dàng kiểm soát dòng tiền, theo dõi lịch sử giao dịch rõ ràng. Flex là hệ thống phần mềm quản lý và giao dịch chứng khoán được thiết kế dựa trên kiến trúc nền tảng tài chính (financial framework), với các tham số linh hoạt, cho phép các công ty chứng khoán vừa đẩy mạnh kinh doanh bằng cách đa dạng hóa sản phẩm, vừa kiểm soát được các rủi ro gắn liền với các sản phẩm đó. Flex cũng hỗ trợ tự động hóa hoàn toàn quy trình giao dịch của công ty chứng khoán, tối ưu hóa hiệu quả hoạt động của công ty chứng khoán [2]. Hệ thống quản lý và giao dịch chứng khoán Flex sẽ mang lại những trải nghiệm tốt nhất cho người dùng và công ty chứng khoán bao gồm: + Giao dịch trực tuyến: các giao dịch được hiện từ xa, mọi lúc, mọi nơi và an toàn qua tất cả các kênh giao dịch web trading, home trading, mobile trading giúp tăng hiệu năng, tiết kiệm thời gian chi phí.
+ Tham số linh hoạt cho phép các công ty chứng khoán thiết kế các sản phẩm nghiệp vụ và chính sách cho nhà đầu tư đa dạng, linh hoạt; đặc biệt là các sản phẩm và dịch vụ tài chính: margin, ứng trước, cầm cố, bảo lãnh. + Chủ động ứng trước tiền bán theo nhu cầu, đảm bảo cho giao dịch được thực hiện với chi phí tốt nhất. + Tích hợp dễ dàng với các hệ thống khác như: hệ thống giao dịch của Sở giao dịch chứng khoán, hệ thống core banking của Ngân hàng, phần mềm kế toán nội bộ. + Tăng khả năng cạnh tranh, giảm chi phí hoạt động và hỗ trợ ra quyết định.
SVTH: Cao Thị Mai 7 K21HTTTA Khóa luận tốt nghiệp GVHD: Ths. Nguyễn Thanh Thụy + Sử dụng Flutter – một Framework dùng để tạo ra các giao diện chất lượng cao trên android và IOS với thời gian ngắn nhất. Tuy nhiên bên cạnh những lợi ích có thể nhận thấy ngay được khi thực hiện các giao dịch trực tuyến thì việc triển khai sử dụng app chứng khoán tại các công ty vẫn còn gặp nhiều hạn chế, tính năng của app còn chưa được tối ưu như khi sử dụng web trading. Nhằm cải thiện trải nghiệm người dùng và nâng cấp thêm một số tính năng em đã đưa ra bài toán phân tích và cải tiến, phát triển thêm cho phân hệ tiền tại app chứng khoán của công ty chứng khoán Everest.
Đề xuất, kiến nghị - Một số vấn đề khách hàng gặp phải khi triển khai dự án: + Thời gian cho phép khách hàng chuyển tiền bị giới hạn quá ngắn + Việc chuyển tiền nội bộ giữa các tiểu khoản mất nhiều thời gian do yêu cầu xác thực mã pin/OTP. + Khách hàng chưa được linh hoạt trong việc chủ động thực hiện ứng trước - Đề xuất hướng giải quyết + Tăng thời gian giao dịch cho khách hàng. + Do chỉ là chuyển tiền giữa hai tiểu khoản trong cùng một tài khoản của khách hàng nên có thể không cần sử dụng mã Pin để xác thực. + Cho phép khách hàng đăng ký có ứng trước tự động hay không để có thể chủ động trong nguồn tiền dùng giao dịch chứng khoán.
+ Đề xuất thực hiện kết nối tài khoản ngân hàng với tài khoản chứng khoán, đồng thời để đảm bảo an toàn thêm cho tài khoản khách hàng, ứng dụng sẽ đưa thêm chức năng phong tỏa tiền, giải tỏa tiền đến với người sử dụng. - Ngoài những vấn đề, sai sót gặp phải sau khi ứng dụng được triển khai thì EVS cùng FSS cũng tiếp tục đưa ra những cải tiến để giúp app trở nên tối ưu hơn, đáp ứng nhu cầu người sử dụng như: cho phép chuyển tiền nội bộ trên sức mua (tiền vay margin, tiền bán chờ về), bước đầu phân tích phát triển tiết kiệm thông minh, liên kết với ngân hàng thực hiện dự án thu chi hộ. SVTH: Cao Thị Mai 8 K21HTTTA Khóa luận tốt nghiệp GVHD: Ths. Nguyễn Thanh Thụy 1.
Giới thiệu Flutter FSS đã sử dụng Flutter để phát triển ứng dụng cho các công ty chứng khoán từ năm 2018. Đây là một mobile UI framework của Google, dùng để tạo ra các giao diện chất lượng cao trên android và IOS với thời gian ngắn nhất. Flutter hiện đang là framework moblie app được quan tâm trong thời gian gần đây bởi nó vừa có thể giảm thời gian phát triển và chi phí (thứ mà native framework không có được) hay đảm bảo performance (một điểm yếu của react native). Flutter là nền tảng phát triển ứng dụng di động cho iOS và Android do Google phát triển và phát hành vào tháng 5/2017.
Sau khi nhận thấy sự phát triển của React Native vào năm 2015, chỉ sau 2 năm Google đã cho ra mắt phiên bản Alpha của Flutter. Giao diện người dùng mới này đã nhanh chóng cho thấy những ưu điểm và trở nên ngày càng phổ biến. Flutter được phát triển đã giải quyết được bài toán thường gặp trong mobile là Fast Development và Native Performance thay vì chỉ giải quyết được Fast Development như React Native. Nói đơn giản, Flutter cho phép người dùng tạo một ứng dụng di động gốc (Native App) với một codebase.
Vì vậy người dùng có thể sử dụng một ngôn ngữ lập trình và một codebase để tạo hai ứng dụng khác nhau (cho cả iPhone và điện thoại Android). Với những tính năng ưu việt, Flutter được dự đoán là rất có triển vọng, ngày càng trở nên bùng nổ và là xu hướng mới của Mobile Developer Để thấy được lý do vì sao chỉ mới ra mắt cách đây vài năm Flutter đã phát triển với tốc độ chóng mặt, gây ấn tượng cho người dùng hãy cùng điểm qua một vài tính năng, đặc điểm nổi bật của Flutter: + Sử dụng DART một ngôn ngữ nhanh, hướng đối tượng với nhiều tính năng hữu ích (một ngôn ngữ lập trình hướng đối tượng do Google phát triển). + Flutter được đánh giá cao nhờ khả năng mạnh về hiệu ứng cũng như hiệu suất ứng dụng cao. + Phát triển ứng dụng nhanh chóng: tính năng hot reload có thể giúp người dùng thử nghiệm, xây dựng giao diện, sửa lỗi và thêm tính năng dế dàng, tiết kiệm thời gian.
SVTH: Cao Thị Mai 9 K21HTTTA Khóa luận tốt nghiệp GVHD: Ths. Nguyễn Thanh Thụy + UI đẹp và biểu cảm: với các widget built-in đẹp mắt, API chuyển động phong phú, scroll tự nhiên mượt mà và tự nhận thức được nền tảng Flutter sẽ làm hài lòng người sử dụng. + Tối ưu việc sử dụng lại code do Flutter cho phép overwriting code. + Nâng cấp dễ dàng Mặc dù các cài đặt ban đầu của Flutter là tải về tập tin nén, nhưng khi cập nhật lên phiên bản mới thì chỉ cần vài dòng lệnh là đủ, và cách thực hiện khá dễ dàng.
Sau khi nâng cấp phiên bản Flutter, ứng dụng hoàn toàn không gặp bất kỳ trở ngại nào khi chạy. Bên cạnh đó vẫn còn một số nhược điểm của Flutter + Phải học thêm ngôn ngữ DART Đây là rào cản khá lớn của Flutter. DART không phải là ngôn ngữ lập trình phổ biến, cũng có rủi ro là học xong DART sẽ dính liền luôn với DART ở mảng phát triển ứng dụng mobile chứ không linh hoạt như JS hay Python. + Cập nhật lên kho ứng dụng không dễ dàng Với Flutter, cần phải cập nhật ứng dụng thông qua trung tâm ứng dụng như CH Play hay App Store [3].
Tổng quan về REST API Sau khi đã xây dựng giao diện người dùng bằng Flutter các lập trình viên sẽ ứng dụng nguyên lý REST và cấu trúc dữ liệu RESTful để ứng dụng có thể gọi và xử lý các yêu cầu từ phía người sử dụng. RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource. RESTful API chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP.