CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI 1. LÝ DO CHỌN ĐỀ TÀI "Điều khiến đứa trẻ đau khổ không phải là thiếu quần áo, đồ ăn, hay giáo dục mà là không được thuộc về ai và không có một gia đình" trích bởi ông Hermann Gmeiner - Người sáng lập Làng trẻ em SOS Quốc tế. Dựa vào câu nói trên tôi đã phát triển nên ý tưởng xây dựng một ứng dụng tên là AdoptKids - là một dự án hỗ trợ các hệ thống phúc lợi trẻ em và kết nối trẻ em được chăm sóc nuôi dưỡng với gia đình.
Thông qua ứng dụng này, mỗi đứa trẻ không còn phải trải qua cảnh thiếu thốn tình thương và mỗi em sẽ có một gia đình để được yêu thương, chăm sóc. ĐỐI TƯỢNG NGHIÊN CỨU • Nghiên cứu UI, UX cho nền tảng di động; • Nghiên cứu, ứng dụng công cụ Figma để thiết kế UI cho ứng dụng AdoptKids. PHƯƠNG PHÁP NGHIÊN CỨU Về lý thuyết: • Tìm hiểu về công cụ Figma; • Tìm hiểu về UI, UX cho nền tảng di động. Về thực nghiệm: • Ứng dụng Figma để thiết kế UI ứng dụng AdoptKids; • Xây dựng kịch bản sử dụng ứng dụng AdoptKids.
Luan van 2 CHƯƠNG 2. TỔNG QUAN UI, UX 1. UI LÀ GÌ? UI là viết tắt của từ User Interface có nghĩa là giao diện người dùng. Hiểu một cách đơn giản nhất thì UI bao gồm tất cả những gì người dùng có thể nhìn thấy như: màu sắc, bố cục sắp xếp như thế nào, ứng dụng sử dụng fonts chữ gì, hình ảnh trên ứng dụng có hấp dẫn hay không,.
Hình 2-1 Giao diện người dùng trực quan và tương tác dễ dàng Trong thiết kế thì UI đóng vai trò là yếu tố truyền tải thông điệp từ người thiết kế sản phẩm tới người dùng. Thiết kế giao diện người dùng tốt sẽ hỗ trợ khả năng sử dụng với bố cục và nội dung trực quan, rõ ràng, nhất quán, cung cấp cho người dùng chỉ dẫn, cử chỉ và gợi ý để giúp người dùng hoàn thành nhiệm vụ trong khi giảm thời gian thực hiện công việc. Một nhà thiết kế UI thường chủ yếu chú trọng trong các vấn đề sau: • Giao diện tương tác; • Biểu tượng, logo, nút và các yếu tố liên quan khác; • Tạo bố cục thân thiện và hấp dẫn người dùng; • Xây dựng kịch bản sử dụng. • Phối hợp với UX design; • Phối hợp với các nhà phát triển sản phẩm.
UX LÀ GÌ? UX là viết tắt của từ User Experience có nghĩa là trải nghiệm người dùng. Đơn giản hơn thì UX là những đánh giá của người dùng khi sử dụng sản phẩm. Chẳng hạn như: App có dễ sử dụng hay không, có thân việc bố trí sắp xếp bố cục như vậy đã được hay chưa? Sản phẩm đó có đạt được mục đích đề ra không. Hình 2-2 Trải nghiệm người dùng tinh tế và xuyên suốt Người làm về UX hay còn gọi là UX Designer.
UX Designer sẽ nghiên cứu và đánh giá về thói quen và cách mà khách hàng sử dụng rồi đánh giá về sản phẩm nào đó. Sử dụng và đánh giá ở đây đơn giản là những vấn đề: tính dễ sử dụng, sự tiện ích, sự hiệu quả khi hệ thống hoạt động. Một nhà thiết kế UX thường chủ yếu chú trọng trong các vấn đề sau: • Nghiên cứu nhu cầu người dùng; • Tạo ra các khung lưới logic của giao diện; • Thử nghiệm bản mẫu - demo; • Viết thông số kỹ thuật thiết kế; • Phối hợp với nhà thiết kế giao diện người dùng; • Phối hợp với các nhà phát triển sản phẩm. SỰ KHÁC BIỆT CỦA UX VÀ UI Tóm lại, sự khác biệt giữa UX và UI là: • Nhà thiết kế UX lên kế hoạch cách người dùng sẽ tương tác với giao diện và những bước anh ta cần thực hiện để làm gì đó.
• Và người thiết kế UI đưa ra cách mỗi bước sẽ trông như thế nào. Chính vì UX và UI có liên quan chặt chẽ đến mức đôi khi ranh giới giữa các khái niệm lấn át lẫn nhau. Do đó, cả UX và UI thường được thực hiện bởi một nhà thiết kế. CÔNG VIỆC CỦA UX DESIGN TRONG DỰ ÁN Nhà thiết kế UX có thể tham gia vào bất kỳ giai đoạn nào của dự án.
Nhưng thường hữu ích nhất trong các giai đoạn thiết kế, trước khi các lập trình viên thực sự bắt đầu quá trình code. Hình 2-3 Nhà thiết kế UX trong quá trình tạo dự án 5. CÔNG VIỆC CỦA UI DESIGN TRONG DỰ ÁN Quy trình cơ bản của một nhà thiết UI trong dự án thường gồm 4 bước: Sketch, Wireframe, Mockup, Prototype. Luan van 5 Hình 2-4 Nhà thiết kế UI trong quá trình tạo dự án 5.
Sketch (Phác thảo) Có thể được hiểu cơ bản là quá trình phác thảo nhanh ý tưởng lên giấy hoặc bảng. Ở bước này sẽ giúp cho nhà thiết kế lên ý tưởng dễ dàng, với những ý tưởng mới, sketch bằng tay là cách hiệu quả nhất để các thành viên trong team thảo luận, đóng góp ý kiến. Và đây là bước cần thiết để đến giai đoạn Wireframe. Hình 2-5 Sketch là phác thảo nhanh ý tưởng lên giấy hoặc bảng 5.
Wireframe Mô tả chức năng của dự án cũng như mối quan hệ giữa các khung nhìn, điều gì sẽ xảy ra khi người dùng nhấp vào một nút nhất định và các màn hình sẽ tương tác với nhau như thế nào. Luan van 6 Hình 2-6 Wireframe giúp mô tả chức năng của dự án 5. Mockup Ở giai đoạn này nhà thiết kế sẽ thêm màu sắc, phông chữ, văn bản, hình ảnh, logo và bất cứ thứ gì khác cần thiết vào Wireframe. Hình 2-7 Mockup là thêm các yếu tố thiết kế vào wireframe Luan van 7 5.
Prototype Prototype là một mockup nhưng có thêm phần UX. Có nghĩa là ta có thể click vào một button, có thể chuyển screens, có thể show dữ liệu giả. Hình 2-8 Prototype là một mockup nhưng có thêm phần UX Luan van 8 CHƯƠNG 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 1.
XÁC ĐỊNH TÁC NHÂN Actors Người dùng Hệ thống khác Khách hàng Hệ thống Google Pay, Napas, Thanh toán quốc tế. Bảng 3-1 Xác định tác nhân hệ thống • Khách hàng: Đăng kí - Đăng nhập tài khoản, Quên mật khẩu tài khoản, Gửi thông tin đăng ký nhận nuôi và Đăng ký quyên góp bảo vệ trẻ em; • Phần mềm hỗ trợ thanh toán qua mạng bằng cách kết nối với “hệ thống thanh toán trực tuyến”. USE-CASE TỔNG QUÁT Ứng dụng AdoptKids được cấu thành từ các màn hình: • Đăng ký tài khoản: người dùng mới chưa có tài khoản cần đăng ký một tài khoản để sử dụng ứng dụng; • Đăng nhập tài khoản: sau khi đăng ký hoặc đã có tài khoản, người dùng sẽ nhập số điện thoại và mật khẩu để đăng nhập. Xác thực thông tin thành công sẽ chuyển người dùng tới màn hình chính.
• Quên mật khẩu tài khoản: người dùng nhập số điện thoại đã đăng ký trước đó và nhập mã OTP được hệ thống gửi về qua số điện thoại đó để tiến thành bước reset lại mật khẩu tài khoản. • Gửi thông tin đăng ký nhận nuôi: người dùng đăng ký thông tin cá nhân của mình để nhận nuôi đứa trẻ và hệ thống sẽ gửi thông tin về server để duyệt hồ sơ. Luan van 9 • Đăng ký quyên góp bảo vệ trẻ em: hiển thị thông tin về chương trình quyên góp và người dùng sẽ sử dụng hệ thống thanh toán trực tuyến để chuyển khoản tiền quyên góp của người dùng về hệ thống. • Thanh toán: người dùng điền các thông tin thanh toán cần thiết để hệ thống xác nhận tài khoản thanh toán của người dùng.
Hình 3-1 Use-case tổng quát Người dùng cuối có các quyền như sau: • Hỗ trợ trực tuyến từ tư vấn viên; • Xem thông tin nhận nuôi và đăng ký nhận nuôi; • Xác thực danh tính tài khoản người dùng. Bao gồm: Khôi phục mật khẩu, Đăng ký/Đăng nhập tài khoản; • Thanh toán quyên góp hỗ trợ nhiều tài khoản và thẻ nội địa, quốc tế. Luan van 10 Hình 3-2 Sơ đồ Use-Case Activity Diagram kiểm tra lịch sử quyên góp: Hỗ trợ hiển thị lịch sử quyên góp và xem chi tiết giao dịch đó. Activity Diagram kiểm tra trạng thái nhận nuôi: Hiển thị danh sách đơn nhận nuôi và trạng thái duyệt đơn.
Hình 3-3 Activity Diagram kiểm tra lịch sử quyên góp và trạng thái nhận nuôi Luan van 11 Activity Diagram đăng ký nhận nuôi: Trước khi đăng ký nhận nuôi, người dùng cần chấp nhận các điều khoản về việc xử lý hồ sơ của ứng dụng và trước đó người dùng cần chọn một trẻ nhận nuôi để tiến thành các bước đăng ký hồ sơ cần thiết. Sau khi điền thông tin xong, hệ thống kiểm tra lại các thông tin được điền đã đúng và đủ chưa. Nếu mọi thứ đều ổn, gửi thông tin lên server. Nếu không thì sẽ báo lỗi chi tiết cho người dùng.
Hình 3-4 Activity Diagram Đăng ký nhận nuôi Luan van 12 Activity Diagram thanh toán tiền quyên góp: Người dùng chọn một chương trình quyên góp được cung cấp bởi ứng dụng, sau đó nhập số tiền muốn quyên góp, chọn nguồn tiền như tài khoản nội địa hay quốc tế. Và sau đó bấm thanh toán để hệ thống kiểm tra thông tin thanh toán chính xác chưa. Nếu thông tin thanh toán chính xác và được xác thực thì ứng dụng sẽ thực hiện thanh toán và hiển thị hóa đơn. Ngược lại, sẽ hiển thị thông báo chi tiết về lỗi cho người dùng.
Hình 3-5 Activity Diagram thanh toán tiền quyên góp Luan van 13 Activity Diagram tìm kiếm trung tâm bảo trợ trẻ em: Người dùng sẽ nhập thông tin tìm kiếm hoặc tìm các trung tâm bằng việc duyệt các danh sách trung tâm có liên kết tới hệ thống. Sau đó người dùng sẽ duyệt các thông tin nhận nuôi mà những trung tâm này đăng lên trên hệ thống. Ứng dụng còn hỗ trợ người dùng lưu lại những trung tâm mà người dùng quan tâm. Hình 3-6 Activity Diagram tìm kiếm trung tâm bảo trợ trẻ em Luan van 14 Activity Diagram xác thực: Khi được mở lên, ứng dụng sẽ kiểm tra xem token đăng nhập của người dùng đã tồn tại trước đó chưa.
Nếu có sẽ chuyển người dùng tới màn hình ứng dụng. Nếu chưa sẽ chuyển người dùng tới màn hình đăng nhập và đăng ký để hỗ trợ người dùng đăng nhập vào hệ thống. Hình 3-7 Activity Diagram xác thực người dùng Luan van 15 CHƯƠNG 4. THIẾT KẾ GIAO DIỆN ỨNG DỤNG 1.
GIỚI THIỆU FIGMA Figma là một phần mềm biên tập đồ họa vector và dựng prototype. Figma chủ yếu hoạt động trên nền web và trên các nền tảng desktop cho hệ điều hành macOS và Windows.