Từ những lý do đó và cũng qua sự hướng dẫn của giảng viên Nguyễn Thái Cường nhóm đã quyết định chọn đề tài là :” Nghiên cứu và tìm hiểu công cụ phát triển phần mềm Android studio và ứng
GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI
Tên đề tài
Nghiên cứu và tìm hiểu công cụ phát triển phần mềm Android studio và ứng dụng xây dựng app bán đồ ăn bằng Android Studio
Lý do chọn đề tài
Trong cuộc sống hàng ngày, các thiết bị điện tử thông minh ngày càng trở nên thiết yếu nhờ sự hội nhập và phát triển không ngừng của công nghệ Smartphone là một trong những thiết bị phổ biến nhất, trung bình mỗi người dân trên thế giới đều sở hữu ít nhất một chiếc điện thoại thông minh Hiện nay, hai hệ điều hành phổ biến trên smartphone là Android và iOS, trong đó Android chiếm đa số người dùng trên toàn cầu.
Là sinh viên ngành Kỹ Thuật Phần Mềm, nhóm em đã quyết tâm tìm hiểu quá trình ra đời của một ứng dụng từ hệ điều hành Android Công cụ phát triển phần mềm Android Studio được xem là tối ưu nhất để lập trình trên nền tảng Android Qua thời gian nghiên cứu, nhóm em nhận thấy Android Studio vô cùng hữu ích và cần thiết cho sinh viên, đặc biệt là những người yêu thích lập trình Hiểu rõ về Android Studio sẽ giúp các bạn sinh viên phát triển kỹ năng và tạo ra các ứng dụng thành công trên hệ điều hành Android.
Dựa trên các lý do đã phân tích và hướng dẫn của giảng viên Nguyễn Thái Cường, nhóm đã quyết định chọn đề tài nghiên cứu là "Nghiên cứu và khám phá công cụ phát triển phần mềm Android Studio cùng ứng dụng xây dựng app bán đồ ăn" Đây là một dự án nhằm tận dụng những lợi ích của Android Studio để tạo ra những ứng dụng bán hàng hiệu quả, phù hợp với xu hướng công nghệ hiện nay.
Mục Tiêu
Mục tiêu nhóm 1 đề ra sau khi hoàn thành đề tài :
-Nắm bắt và hiểu rõ một số khái niệm liên quan đến công cụ phát triển phần mềm Android Studio.
-Làm rõ cách thức hoạt động của công cụ Anrdoid Studio và các phương diện liên quan.
-Thực hiện tạo app bán hàng bằng chính công cụ Android Studio
Bố cục của đề tài
-Chương 1 : Giới thiệu tổng quan về đề tài.
-Chương 2 : Giới thiệu về công cụ phát triển phần mềm Ảno
-Chương 3 : Xây dựng ứng dụng thực tế của Android Studio.
Các phương pháp sử dụng trong đề tài
-Ghi chép , phỏng vấn những người có hiểu biết về Android Studio
-Cài đặt và sử dụng Android Studio và bộ SDK tools
TÌM HIỂU VỀ CÔNG CỤ PHÁT TRIỂN PHẦN MỀM
Giới thiệu
Android Studio là môi trường phát triển tích hợp chính thức (IDE) dành cho hệ điều hành Android của Google, dựa trên phần mềm IntelliJ IDEA của JetBrains và được tối ưu hóa cho phát triển ứng dụng Android Nó có thể tải xuống miễn phí trên các hệ điều hành Windows, macOS, Linux hoặc sử dụng dưới dạng dịch vụ đăng ký từ năm 2020, thay thế cho Công cụ phát triển Android Eclipse (E-ADT) như IDE chính để lập trình Android Android Studio được giới thiệu lần đầu vào ngày 16 tháng 5 năm 2013 tại hội nghị Google I/O, bắt đầu từ giai đoạn xem trước truy cập sớm và sau đó chuyển sang giai đoạn beta từ phiên bản 0.8 ra mắt vào tháng 6 năm 2014 Phiên bản ổn định đầu tiên của Android Studio là 1.0 được phát hành vào tháng 12 năm 2014, đánh dấu bước ngoặt quan trọng trong phát triển ứng dụng Android.
2019, Kotlin đã thay thế Java làm ngôn ngữ ưa thích của Google để phát triển ứng dụng Android Java vẫn được hỗ trợ, cũng như C ++.
Tính Năng
Các tính năng sau được cung cấp trong phiên bản ổn định hiện tại:
- Hỗ trợ xây dựng dựa trên Gradle.
- Tái cấu trúc dành riêng cho Android và các bản sửa lỗi nhanh chóng
- Các công cụ của Lint để nắm bắt hiệu suất, khả năng sử dụng, khả năng tương thích của phiên bản và các vấn đề khác.
- Tích hợp ProGuard và khả năng ký ứng dụng.
- Trình hướng dẫn dựa trên mẫu để tạo các thiết kế và thành phần Android phổ biến.
Trình chỉnh sửa bố cục phong phú mang đến tính năng kéo và thả các thành phần giao diện người dùng dễ dàng, nâng cao trải nghiệm thiết kế Người dùng có thể tùy chỉnh và tối ưu giao diện theo ý muốn để phù hợp với từng dự án Tính năng xem trước trên nhiều cấu hình màn hình giúp đảm bảo bố cục hiển thị chính xác trên các thiết bị khác nhau Nhờ vào công cụ linh hoạt này, việc thiết kế giao diện trở nên thuận tiện và tiết kiệm thời gian hơn.
- Hỗ trợ xây dựng ứng dụng Android Wear.
- Hỗ trợ tích hợp cho Google Cloud Platform, cho phép tích hợp với Firebase Cloud Messaging ('Google Cloud Messaging' trước đây) và Google App Engine.
- Android Virtual Device (Emulator) để chạy và gỡ lỗi các ứng dụng trong Android studio.
Android Studio hỗ trợ nhiều ngôn ngữ lập trình phổ biến như Java, C++, Go và Kotlin, với các tiện ích mở rộng phù hợp Phiên bản Android Studio 3.0 trở lên hỗ trợ Kotlin và tất cả các tính năng của Java 7 cùng một phần các tính năng của Java 8, thay đổi theo phiên bản nền tảng Mặc dù IntelliJ khẳng định Android Studio hỗ trợ tất cả các phiên bản Java đã phát hành đến Java 12, nhưng mức độ hỗ trợ của Android Studio đối với Java 12 vẫn chưa rõ ràng và thường chỉ hỗ trợ một phần Java 8 Một số tính năng mới của Java 9 đến Java 12 có thể được sử dụng trong các dự án Android Sau khi biên dịch, các ứng dụng Android có thể xuất bản trên Google Play Store, miễn là đảm bảo tuân thủ chính sách nội dung của nhà phát triển.
Các Phiên Bản Qua Các Thời Kì
Cấu trúc của Android Studio
4.1 Thay đổi cấu trúc dự án
Trong Eclipse, khái niệm “Workspaces” giúp quản lý các dự án dễ dàng hơn Bạn có thể tạo nhiều dự án nhỏ và làm việc trên nhiều ứng dụng trong cùng một Workspace, nơi chứa các tệp cấu hình quy định thư viện, ràng buộc và tùy chỉnh của lập trình viên Nhờ các tổ chức này, bạn có thể giảm thời gian phát triển ứng dụng Android mới bằng cách đóng gói các dự án nhỏ thành thư viện để tái sử dụng sau này.
Cấu trúc thư mục project trong Android Studio
Trong Android Studio, các dự án được tổ chức thành các Module, mỗi Module chứa mã nguồn chính và các chức năng cho thư viện nhỏ hơn giúp tối ưu hóa quá trình phát triển ứng dụng Android Khi chuyển đổi hoặc nhập các dự án từ Eclipse, Library projects sẽ trở thành Library modules trong Android Studio để đảm bảo cấu trúc dự án hợp lý và dễ quản lý hơn Việc sử dụng mô-đun rõ ràng giúp nâng cao hiệu suất làm việc, tăng khả năng mở rộng và bảo trì code hiệu quả trong quá trình phát triển ứng dụng Android.
Android Studio hỗ trợ tính năng kéo thả trong thiết kế giao diện UI cho app, giúp quá trình phát triển trở nên dễ dàng và tiết kiệm thời gian Với thời gian phản hồi nhanh hơn so với Eclipse, Android Studio tối ưu hóa hiệu suất làm việc của lập trình viên Được liên tục hỗ trợ và cập nhật bởi Google và JetBrains, Android Studio luôn đảm bảo tính mới nhất, ổn định và phù hợp với xu hướng phát triển ứng dụng di động.
Giao diện người dùng Android Studio
1 Tools Bar: Tổng hợp các công cụ cho phép bạn thực hiện một loạt các hành động, bao gồm cả chạy ứng dụng của bạn và liên kết hiển thị các tool trong Android SDK.
2 Breadcrumb Bar: Thanh điều hướng giúp bạn điều hướng qua dự án của bạn và mở các tệp để chỉnh sửa Nó cung cấp một cái nhìn nhỏ gọn hơn về cấu trúc có thể nhìn thấy được trong cửa sổ Project
3 Editor Window: Cửa sổ soạn thảo là nơi bạn tạo và sửa đổi mã Tùy thuộc vào loại tệp hiện tại, trình soạn thảo có thể thay đổi Ví dụ: khi xem tệp bố trí, trình soạn thảo sẽ hiển thị giao diện thiết kế ứng dụng Android trực quan.
4 Tool Window bar: các liên kết đến các công cụ tích hợp trong môi trương phát triển như: các biến môi trường, cấu hình build project, thông tin profiles.
5 Tool windows: Tập hợp các công cụ phân tích, điều hướng, gỡ rối và báo cáo khi phân tích, debug các ứng dụng đang phát triển.
6 Status bar: Hiển thị thông tín báo cáo trạng thái các phân tích về tài nguyên của IDE Android Studio khi chạy.
Theo một tổng hợp và phân tích, việc sử dụng các phím tắt trong các IDE sẽ giúp bạn tăng năng suất viết code lên 30% khi lập trình
Yêu cầu hệ thống
Basic system requirements for Android Studio Microsoft
7/8/10 (32- or 64-bit) The Android Emulator only supports 64-bit Windows.
10.10 (Yosemite) or higher, up to 10.14 (macOS Mojave)
GNOME or KDE desktop Tested on gLinux based on Debian (4.19.67- 2rodete2).
4 GB RAM minimum; 8 GB RAM recommended.
2 GB of available disk space minimum, 4 GB Recommended
(500 MB for IDE + 1.5 GB for Android SDK and emulator system image).
Trình mô phỏng Android có các yêu cầu bổ sung ngoài các yêu cầu hệ thống cơ bản dành cho Android Studio, được mô tả bên dưới: [27]
+ Windows: CPU có hỗ trợ UG (khách không hạn chế);
+ Trình quản lý thực thi tăng tốc phần cứng Intel (HAXM) 6.2.1 trở lên (khuyên dùng HAXM 7.2.0 trở lên).
Việc sử dụng tăng tốc phần cứng có các yêu cầu bổ sung trên Windows và Linux:
Intel processors on Windows or Linux support key virtualization and security features such as Intel VT-x, Intel EM64T (Intel 64), and Execute Disable (XD) technology, enhancing performance and security AMD processors on Linux support AMD Virtualization (AMD-V) for robust virtualization capabilities, along with extended SIMD 3-thread extensions (SSSE3) for improved processing efficiency.
Bộ xử lý AMD trên Windows yêu cầu Android Studio 3.2 trở lên và Windows 10 từ tháng 4 năm 2018 trở về sau để hỗ trợ chức năng Windows Hypervisor Platform (WHPX) Để chạy Android 8.1 (API cấp 27) và các hình ảnh hệ thống mới hơn, cần có webcam đi kèm có khả năng chụp khung hình độ phân giải ít nhất 720p.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG CHO ỨNG DỤNG
Biểu đồ Usecase của ứng dụng
Mô tả các Actors và Use Case
2.2 Mô tả các Use case
1 UC01 DangNhap Cho phép khách hàng đăng nhập vào hệ thống
2 UC02 DangKi Cho phép khách hàng đăng kí tài khoản để đăng nhập vào hệ thống
3 UC03 TimKiemSanPham Cho phép khách hàng tìm kiếm thông tin về sản phẩm
4 UC04 GioHang Cho phép khách hàng xem thông tin về những sản phẩm đang có trong Giỏ Hàng
Cho phép khách hàng thêm một sản phẩm vào giỏ hàng
Cho phép khách hàng xóa một sản phẩm trong giỏ hàng
Cho phép khách hàng xem thông tin về những sản phẩm đang có trong mục yêu thích
8 UC08 ThemSanPhamYeuThich Cho phép khách hàng thêm sản phẩm vào mục yêu thích
9 UC09 XoaSanPhamYeuThich Cho phép khách hàng xóa sản phẩm trong mục yêu thích
10 UC10 LienHe Cho phép khách hàng có thể liên hệ trực tiếp với cửa hàng
11 UC11 VeChungToi Cho phép khách hàng biết thông tin chi tiết về cửa hàng
12 UC12 ViTri Cho phép khách hàng biết vị trí của mình trên Google Map
13 UC13 TrungTamTroGiup Cho phép khách hàng có những trợ giúp từ các nhân viên hoặc quản trị viên
14 UC14 XemTTSanPham Cho phép khách hàng xem thông tin về sản phẩm
Cho phép khách hàng xem danh sách các sản phẩm thuộc danh mục sản phẩm đã chọn
16 UC16 ThanhToan Cho phép khách hàng thanh toán 1 hoặc nhiều sản phẩm đã chọn trong giỏ hàng
Cho phép quản trị viên sửa thông tin ,thêm thông tin về sản phẩm trên hệ thống
18 U18 XoaSanPham Cho phép quản trị viên xóa sản phẩm trên hệ thống
19 UC19 BaoTriHeThong Cho phép quản trị viên có thể bảo trì hệ thống
20 UC20 CapNhapTTSanPham Cho phép quản trị viên thêm sản phẩm vào hệ thống
Mô tả chi tiết các use case
3.1 Use case DangNhap bởi actor KhachHang
: KhachHang : DangNhapUI : DangNhapUI : DangNhapController : DangNhapController : TaiKhoanKhachHang : TaiKhoanKhachHang : ICSDL : ICSDL : CSDL : CSDL
5: lay thong tin ve Tai Khoan( )
3: nhap tai khoan va mat khau
2: hien thi form Dang Nhap( )
10: hien thi man hinh app( )
Biểu đồ lớp phân tích
DangNhapUI nhan nut Dang Nhap()
Truy cap vao app() hien thi form Dang Nhao() hien thi man hinh app()
TaiKhoanKhachHang tenDangNhap hoTen matKhau soDienThoai email giioiTinh diaChi namSinh getTenDangNhap() setTenDangNhap() getHoTe() setHoTen() getMatKhau() setMatKhau() getSoDienThoai() setSoDienThoai() getEmail() setEmail() getGioiTinh() setGioiTinh() getDiaChi() setDiaChi() getNamSinh() setNamSinh() get TaiKhoanKhachHang()
DangNhapController lay thong tin ve Tai Khoan()
Biểu đồ hoạt động bat dau use case DangNhap
Hien thi form Dang Nhap use case k et thuc
Nhap Thong Tin Gom Tai khoan Va Mat Khau
Kiem Tra Tai Khoan va mat khau co hop le
Dua ra thong bao Danh nhap khong thanh cong va yeu cau nhap lai TT bam nut Dang ki Tai Khoan
Hop le Khong Hop le
3.2 Use case DangNhap bởi actor QuanTriVien
: QuanTriVien : DangNhapUI : DangNhapUI : DangNhapController : DangNhapController : TaiKhoanAdmin : TaiKhoanAdmin : ICSDL : ICSDL : CSDL : CSDL
5: lay thong tin ve Tai Khoan( ) 2: hien thi form Dang Nhap( )
10: hien thi man hinh app( )
3: nhap tai khoan va mat khau
Biểu đồ lớp phân tích
DangNhapUI nhan nut Dang Nhap()
Truy cap vao app() hien thi form Dang Nhao() hien thi man hinh app()
TaiKhoanAdmin maTaiKhoan tenAdmin matKhau ngayTao email soDienThoai quyenHan tenDangNhap getMaTaiKhoan() setMaTaiKhoan() getTenDangNhap() setTenDangNhap() setMatKhau() getMatKhau() setSoDienThoai() getNgayTao() setNgayTao() getEmail() setEmail() getSoDienThoai() setSoDienThoai() setQuyenHan() getQuyenHan() get TaiKhoanAdmin()
DangNhapController lay thong tin ve Tai Khoan()
Biểu đồ hoạt động bat dau use case DangNhap
Hien thi form Dang Nhap use case k et thuc
Nhap Thong Tin Gom Tai khoan Va Mat Khau
Kiem Tra Tai Khoan va mat khau co hop le
Dua ra thong bao Danh nhap khong thanh cong va yeu cau nhap lai TT bam nut Dang ki Tai Khoan
Hop le Khong Hop le
: KhachHang : DangKiUI : DangKiUI : DangKiController : DangKiController : TaiKhoanKhachHang : TaiKhoanKhachHang : ICSDL : ICSDL : CSDL : CSDL
1: nhan vao nut dang ki( )
2: hien thi form thong tin dang ki( )
3: nhap thong tin ca nhan chi tiet cho tai khoan
5: tao tai khoan cho khach hang( )
10: hien thi man hinh trang chu( )
Biểu đồ lớp phân tích
Bat dau use case Dang Ki
Ki Tai Khoan use case ket thuc
Nhap Thong Tin Can Thiet Gom : HoTen ,SoDienThoai,Email,TaiKhoan,MatKhau
Kiem tra Xem thong tin nhap co hop le bam nut Dang ki Tai khoan
Dua ra thong bao Dang ki tai khoan thanh cong
Dua ra thong bao yeu cau nhap lai thong tin khong hop le bam nut thoat
: TimKiemSanPhamController : SanPham : SanPham : ICSDL : ICSDL : CSDL : CSDL 1: nhap tu khoa vao thanh tim kiem
2: click bieu tuong tim kiem ()
3: tim kiem san pham theo tu khoa ()
8: hien thi san pham can tim ()
Biểu đồ lớp phân tích
TimKiemSanPhamUI click bieu tuong tim kiem() hien thi danh sach san pham tim duoc()
TimKiemSanPhamController tim kiem san pham theo tu khoa()
SanPham tenSanPham maSanPham giaTien anhSanPham get SanPham() getTenSanPham() setTenSanPham() setMaSanPham() getMaSanPham() setGiaTien() getGiaTien() getAnhSanPham() setAnhSanPham()
Biểu đồ hoạt động bat dau use case TimKiemSanPham
Hien thi form Tim Kiem San Pham use case ket thuc
Nhap Thong Tin muon Tim Kiem vao o Textbox Tim Kiem
Dua Ra TT ve San Pham duoc tim kiem
Hien thi thong bao khong ton tai san pham khong co san pham
Dua ra TT ve san pham do Bam nut Thoat
Chon san pham trong muc ''Tim kiem pho bien'
: KhachHang : GioHangUi : GioHangUi : GioHangController : GioHangController : GioHang : GioHang : ICSDL : ICSDL : CSDL : CSDL
1: nhan vao nut Gio hang tren thanh bottom navigation bar( )
2: lay ra danh sach san pham da mua tu gio hang( )
7: hien thi man hinh Gio Hang( )
Biểu đồ lớp phân tích
GioHangUi nhan vao nut Gio hang tren thanh bottom navigation bar() hien thi man hinh Gio Hang()
GioHangController lay ra danh sach san pham da mua tu gio hang()
GioHang maSanPham tenSanPham anhMinhHoa giaBan soLuong getMaSanPham() setMaSanPham() getTenSanPham() setTenSanPham() getAnhMinhHoa() setAnhMinhHoa() getGiaBan() setGiaBan() getGioHang()
Hien thi form Gio Hang
Dua ra dong thong bao ''Gio hang cua ban con trong'
Hien thi thong tin co ban ve san pham
Chon nut thoat bat Dau use case GioHang
Gio hang co san pham use case ket thuc
: ThemSanPham : ThemSanPham : ICSDL : ICSDL : Co so du lieu : Co so du lieu
1: kich nut "Them San Pham"( )
2: hien thi form thong bao xac nhan( )
3: lay thong tin san pham( )
5: doc bang SANPHAM( ) 6: get SanPhamByID( )
8: hien thi form thong bao them thanh cong( )
Biểu đồ lớp phân tích
ThemSanPhamVaoGioHangUI kich nut "Them San Pham"() hien thi form thong bao xac nhan() return ket qua() hien thi form thong bao them thanh cong()
ThemSanPhamVaoGioHangController lay thong tin san pham()
Hien thi form thong bao xac nhan
Bat dau use case ThemSanPhamVaoGioHang
Hien thi form them san pham
An nut them vao gio hang
XoaSanPhamTrongGioHang : XoaSanPhamTrongGioHang : ICSDL : ICSDL : Co so du lieu : Co so du lieu
4: lay thong tin san pham( )
9: hien thi form gio hang( )
1: Keo san pham sang trai de xoa( )
3: hien thi form thong bao xac nhan( )
Biểu đồ lớp phân tích
Keo san pham sang trai de xoa() hien thi form thong bao xac nhan() click nut "Xoa"() return ket qua() hien thi form gio hang()
ICSDL doc bang SANPHAM() opname()
XoaSanPhamTrongGioHangController lay thong tin san pham()
XoaSanPhamTrongGioHang idSanPham get TenSanPham() get SanPhamByID()
Hien thi form xoa san pham
Hien thi nut xoa san pham
Hien thong form thong bao xac nhan
Hien thi lai danh sach san pham trong gio hang sau khi xoa
Keo san pham can xoa sang trai
YeuThich : YeuThich : ICSDL : ICSDL : Co so du lieu : Co so du lieu
2: lay thong tin san pham( )
7: hien thi thong tin cac san pham yeu thich( )
Biểu đồ lớp phân tích
YeuThich idSanPham get TenSanPham() get SanPhamByID()
YeuThichController lay thong tin san pham()
YeuThichUI kich nut "Yeu Thich"() return ket qua() hien thi cac san pham yeu thich()
Bat dau use case YeuThich
Hien thi form yeu thich
Hien thi cac mon an yeu thich
ThemSanPhamYeuThich : ThemSanPhamYeuThich : ICSDL : ICSDL : Co so du lieu : Co so du lieu 1: click icon yeu thich( )
2: lay thong tin san pham( )
4: doc ban YEUTHICH( ) 5: get SanPhamByID( )
7: hien thi form thong bao( )
Biểu đồ lớp phân tích
ThemSanPhamYeuThich idSanPham get TenSanPham() get SanPhamByID() get SanPhamByID()
ThemSanPhamYeuThichController lay thong tin san pham()
ThemSanPhamYeuThichUI click icon yeu thich() return ket qua() hien thi form thong bao()
Bat dau use case ThemSanPhamYeuThich
Hien thi form them san pham yeu thich
Kiem tra xem da trong muc yeu thich hay chua
Hien thi form thong bao xac nhan
Hien thi thong bao da co mon an trong muc yeu thich
: ICSDL : ICSDL : CSDL : CSDL Kich nut Xoa San Pham( )
Lay Bang San Pham Yeu Thich( )
Doc Bang San Pham Yeu Thich( )
Doc Bang San Pham Yeu Thich( ) deleteSanPhamYeuThich( )
Hien thi danh sach mon an yeu thich
Biểu đồ lớp phân tích
Kich nut Xoa San Pham()
ICSDL Doc Bang San Pham Yeu Thich()
XoaSanPhamYeuThichController Lay Bang San Pham Yeu Thich()
DanhSachSanPhamYeuThich TenMonAnYeuThich HinhAnhMonAnYeuThich getTenMonAnYeuThich() setTenMonAnYeuThich() getHinhAnhMonAnYeuThich() setHinhAnhMonAnYeuThich() deleteSanPhamYeuThich()
Biểu đồ hoạt động bat dau UC xoa san pham yeu thich
Hệ thống UC hiển thị danh sách các sản phẩm yêu thích của người dùng, cho phép người dùng xóa các sản phẩm đã chọn dễ dàng Khi người dùng chọn sản phẩm yêu thích, hệ thống sẽ xác nhận việc xóa với các tùy chọn "Có" hoặc "Không" để đảm bảo quá trình xóa diễn ra chính xác Việc quản lý danh sách yêu thích giúp người dùng duy trì các sản phẩm mong muốn trong tài khoản của mình một cách thuận tiện và an toàn.
: KhachHang : LienHeUI : LienHeUI : LienHeController : LienHeController : ThongTinLienHe : ThongTinLienHe : ICSDL : ICSDL : CSDL : CSDL Kich nut Lien he( )
Doc Bang Lien He( ) getLienHe( )
Biểu đồ lớp phân tích
ICSDL Doc Bang Lien He()
Zalo getSDT() setSDT() getZalo() setZalo() getLienHe()
LienHeController Lay Bang Lien He()
Biểu đồ hoạt động hiển thị thông báo cho phép ứng dụng thực hiện và quản lý cuộc gọi điện thoại, giúp người dùng dễ dàng chọn hình thức liên hệ phù hợp Giao diện thông báo rõ ràng, thân thiện, đảm bảo quá trình liên lạc diễn ra thuận tiện và hiệu quả Tính năng này hỗ trợ người dùng bắt đầu cuộc gọi nhanh chóng, nâng cao trải nghiệm sử dụng ứng dụng liên lạc Việc quản lý cuộc gọi trung tâm được tối ưu hóa, giúp theo dõi và kiểm soát các cuộc gọi dễ dàng hơn, đồng thời đảm bảo tính bảo mật và riêng tư của người dùng.
UC ket thuc tu choi cho phep lien he
: KhachHang : VeChungToiUI : VeChungToiUI : VeChungToiController : VeChungToiController : ThongTinVeChungToi : ThongTinVeChungToi : ICSDL : ICSDL : CSDL : CSDL Kich nut Ve chung toi( )
Lay Bang Ve Chung Toi( )
Doc Bang Ve Chung Toi( )
Doc Bang Ve Chung Toi( ) getThongTinVeChungToi( )
Hien thi thong tin ve chung toi( )
Biểu đồ lớp phân tích
Kich nut Ve chung toi()
Hien thi thong tin ve chung toi()
ICSDL Doc Bang Ve Chung Toi()
Lay Bang Ve Chung Toi()
DiaChi Website getTenCuaHang() setTenCuaHang() getDiaChi() setDiaChi() getWebsite() setWebsite() getThongTinVeChungToi()
Biểu đồ hoạt động hien thi trang chu cua cua hang tren web bat dau UC ve chung toi
UC ket thuc khach hang lua chon thong tin ve cua hang can tim hieu
: KhachHang : ViTriUI : ViTriUI : ViTriController : ViTriController : ThongTinViTri : ThongTinViTri : ICSDL : ICSDL : CSDL : CSDL
Hien thi Dialog yeu cau nguoi dung cap quyen truy cap vi tri( )
Doc Bang Vi Tri( ) getThongTinViTri( )
Hien thi thong tin vi tri( )
Biểu đồ lớp phân tích
Hien thi Dialog yeu cau nguoi dung cap quyen truy cap vi tri()
Hien thi thong tin vi tri()
ICSDL Doc Bang Vi Tri()
ThongTinViTri ViTriNguoiDung getViTriNguoiDung() setViTriNguoiDung() getThongTinViTri()
Biểu đồ hoạt động bat dau UC ViTri
UC hiện đang hiển thị cảnh báo yêu cầu người dùng cấp quyền truy cập vị trí hiển thị trên Google Maps, giúp đảm bảo tính chính xác của dữ liệu địa điểm Người dùng có thể chọn cửa hàng mong muốn đến hoặc từ chối quyền truy cập vị trí để kiểm soát quyền riêng tư của mình Tính năng này nâng cao trải nghiệm người dùng bằng cách cho phép kiểm soát thông tin vị trí cá nhân một cách dễ dàng và an toàn.
: TrungTamTroGiupController : TroGiup : TroGiup : ICSDL : ICSDL
2: lay thong tin tro giup( )
7: Hien Thi Thong Tin Tro Giup( ) 1: click nut Tro Giup( )
Biểu đồ lớp phân tích
Hien Thi Thong Tin Tro Giup() click nut Tro Giup()
TroGiup maTroGiup tenTroGiup thongTinTroGiup get TroGiup() setMaTroGiup() getMaTroGiup() setTenTroGiup() getTenTroGiup() setThongTinTroGiup() getThongTinTroGiup()
TrungTamTroGiupController lay thong tin tro giup()
Bat dau usecase tro giup
Ket thuc usecase tro giup
Hien thi man hinh cua chuc nang tro giup
Hien thi cac thong tin tro giup cho khach hang
: SanPham : ICSDL : ICSDL : CSDL : CSDL
1: click 1 san pham bat ki( )
2: lay thong tin san pham( )
7: Hien thi thong tin san pham( )
Biểu đồ lớp phân tích
XemThongTinSanPhamUI click 1 san pham bat ki()
Hien thi thong tin san pham()
SanPham maSanPham tenSanPham giaTien maDanhMuc anhSanPham moTa get SanPham() setMaSanPham() getMaSanPham() setTenSanPham() getTenSanPham() getGiaTien() setGiaTien() setMaDanhMuc() getMaDanhMuc() setAnhSanPham() getAnhSanPham() setMoTa() getMoTa()
XemThongTinSanPhamController lay thong tin san pham()
Bat dau usecase xem thong tin san pham
Hien thi toan bo thong tin cua san pham
: XemSanPhamTheoDanhMucController : DanhMuc : DanhMuc : SanPham : SanPham : ICSDL : ICSDL : CSDL : CSDL
1: click vao ten danh muc( )
2: lay danh sach san pham thuoc danh muc( )
4: doc bang SanPham( ) 3: doc bang DanhMuc( )
6: doc bang SanPham( ) 7: get DanhSachSanPham( )
9: Hien thi danh sach san pham thuoc danh muc( )
Biểu đồ lớp phân tích
XemSanPhamTheoDanhMucUI click vao ten danh muc()
Hien thi danh sach san pham thuoc danh muc()
XemSanPhamTheoDanhMucController lay danh sach san pham thuoc danh muc()
ICSDL doc bang SanPham() doc bang DanhMuc()
DanhMuc maDanhMuc tenDanhMuc get DanhMuc() setMaDanhMuc() getMaDanhMuc() setTenDanhMuc() getTenDanhMuc()
SanPham maSanPham tenSanPham giaTien maDanhMuc anhSanPham moTa get DanhSachSanPham() setMaSanPham() getMaSanPham() setTenSanPham() getTenSanPham() setGiaTien() getGiaTien() setMaDanhMuc() getMaDanhMuc() setAnhSanPham() getAnhSanPham() setMoTa() getMoTa()
Bat dau usecase xem san pham theo danh muc
Ket thuc usecase xem san pham theo danh muc
Hien thi man hinh bao gom cac san pham thuoc danh muc da chon
Kiem tra so luong san pham co trong danh muc da chon
Hien thi "Danh muc rong"
Khong co san pham nao thuoc danh muc da chon
Hien thi thong tin cua cac san pham thuoc danh muc da chon
Co ton tai san pham thuoc danh muc da chon
: KhachHang : ThanhToanUI : ThanhToanUI : ThanhToanController : ThanhToanController : GioHang : GioHang : SanPham : SanPham : HoaDon : HoaDon : ICSDL : ICSDL : CSDL : CSDL
6: doc bang SanPham( ) 5: doc bang GioHang( ) 1: click nut Thanh Toan tren man hinh( )
9: Hien thi san pham trong gio hang( )
10: click nut Thanh Toan trong gio hang( )
2: lay thong tin san pham trong gio hang( )
11: Hien thi thong bao xac nhan thanh toan( )
12: click xac nhan thanh toan( )
18: Hien thi thong bao thanh toan thanh cong( )
Biểu đồ lớp phân tích
ThanhToanUI click nut Thanh Toan trong gio hang() click nut Thanh Toan tren man hinh()
Hien thi san pham trong gio hang()
Hien thi thong bao xac nhan thanh toan() click xac nhan thanh toan()
Hien thi thong bao thanh toan thanh cong()
ThanhToanController xu li yeu cau thanh toan() lay thong tin san pham trong gio hang()
GioHang danhSachSanPham get SanPhamTrongGioHang() setDanhSachSanPham() getDanhSachSanPham()
HoaDon maHoaDon ngayXuatHoaDon tongTien create HoaDon() setMaHoaDon() getMaHoaDon() setNgayXuatHoaDon() getNgayXuatHoaDon() setTongTien() getTongTien()
1 SanPham maSanPham tenSanPham anhSanPham moTa giaTien get ThongTinSanPham() setMaSanPham() getMaSanPham() setTenSanPham() getTenSanPham() setAnhSanPham() getAnhSanPham() setMoTa() getMoTa() setGiaTien() getGiaTien()
ICSDL doc bang GioHang() doc bang SanPham() cap nhat bang HoaDon()
Bat dau usecase Thanh Toan
Ket thuc usecase thanh toan
Hien thi form xac nhan Thanh Toan
Hien thi man hinh Thanh Toan gom SanPham va Thanh Tien
Xu Li va Dong man hinh Thanh Toan Click Xac nhan
21: hien thi danh sach cac san pham( )
: Quan tri vien : SuaTTSanPhamUI : SuaTTSanPhamUI :
: SanPham : SanPham : ICSDL : ICSDL : CSDL : CSDL 1: kich nut "San pham"( )
2: lay danh sach cac san pham( )
6: return ket qua 7: hien thi danh sach cac san pham( )
8: chon tin tuc can sua
10: lay thong tin cua san pham duoc chon( )
13: hien thi man hinh sua san pham( )
14: nhap cac thong tin can sua
16: sua thong tin san pham( )
19: cap nhat bang SANPHAM( ) 20: return ket qua
21: hien thi danh sach cac san pham( )
Biểu đồ lớp phân tích
ICSDL doc bang SANPHAM() cap nhat bang SANPHAM()
SuaTTSanPhamUI kich nut "San pham"() hien thi danh sach cac san pham() kich nut "Sua"() hien thi man hinh sua san pham() kich nut "Xac nhan"()
SuaTTSanPhamController lay danh sach cac san pham() lay thong tin cua san pham duoc chon() sua thong tin san pham()
SanPham maSanPham tenSanPham chiTietSanPham gia anhMinhHoa getMaSanPham() setMaSanPham() getTenSanPham() setTenSanPham() getChiTietSanPham() setChiTietSanPham() getGia() setGia() getAnhMinhHoa() setAnhMinhHoa() getSanPham() getSanPhamByMa() setSanPhamByMa()
Biểu đồ hoạt động bat dau use case SuaTTSanPham
TT san pham use case ket thuc
Hien thi form yeu cau ban muon thoat bam nut Thoat
Chon 1 san pham can sua
Hien thi form nhung thong tin co the sua
Dua ra thong bao sua TT thanh cong bam nut Sua
Hien thi form thong bao ban muon thoat bam nut thoat Khong dong y
: Quan tri vien : XoaSanPhamUI : XoaSanPhamUI :
: SanPham : ICSDL : ICSDL : CSDL : CSDL 1: kich nut "San pham"( )
2: lay danh sach san pham( )
7: hien thi danh sach san pham( )
8: chon san pham can xoa
10: hien thi man hinh xac nhan xoa( )
12: xoa tin tuc duoc chon( )
13: deleteSanPhamByMa( ) 14: cap nhat bang SANPHAM( )
15: cap nhat bang SANPHAM( ) 16: return ket qua
17: hien thi danh sach san pham( )
Biểu đồ lớp phân tích
XoaSanPhamUI kich nut "San pham"() hien thi danh sach san pham() kich nut "Xoa"() hien thi man hinh xac nhan xoa() kich nut "Dong y"()
ICSDL doc bang SANPHAM() cap nhat bang SANPHAM()
XoaSanPhamController lay danh sach san pham() xoa tin tuc duoc chon()
SanPham maSanPham tenSanPham chiTietSanPham gia anhMinhHoa getMaSanPham() setMaSanPham() getTenSanPham() setTenSanPham() getChiTietSanPham() setChiTietSanPham() getGia() setGia() getAnhMinhHoa() setAnhMinhHoa() getSanPham() getSanPhamByMa() setSanPhamByMa() create SanPham() deleteSanPhamByMa()
Bat dau use case XoaSanPham
Hien thi form xoa san pham
Hien thi form thong tin xoa san pham
Hien thi form thoat chuc nang nay
Chon san pham can xoa
Hien thi form thong bao xac nhan
Thong bao xoa thanh cong
An nut thoat An nut xoa san pham No
Biểu đồ lớp phân tích
Biểu đồ hoạt động bat dau UC bao tri he thong
Chương trình UC kết thúc việc hiển thị form bảo trì hệ thống, cho phép người dùng chọn chức năng muốn bảo trì Khi muốn thoát khỏi chức năng này, người dùng chỉ cần chọn một chức năng và xác nhận bằng cách hiển thị dialog yêu cầu xác nhận bảo trì Sau khi chọn, hệ thống sẽ đóng form hiện tại và tiếp tục vận hành Thông báo về trạng thái bảo trì sẽ hiển thị rõ ràng, cho biết quá trình thành công hay không thành công, với các tùy chọn xác nhận như Yes hoặc No để người dùng quyết định tiếp tục hoặc hủy bỏ thao tác.
: Quan tri vien : CapNhatTTSanPhamUI : CapNhatTTSanPhamUI :
: CapNhatSanPhamController : SanPham : SanPham : ICSDL : ICSDL : CSDL : CSDL 1: kich nut "San pham"( )
2: lay danh sach san pham( )
7: hien thi danh sach san pham( )
9: hien thi form nhap TT san pham moi( )
12: sinh ma san pham( ) 13: tao san pham moi( )
16: cap nhat bang SANPHAM( ) 17: return ket qua
18: hien thi danh sach san pham( )
Biểu đồ lớp phân tích
CapNhatTTSanPhamUI kich nut "San pham"() hien thi danh sach san pham() kich nut "Cap nhat"() hien thi form nhap TT san pham moi() kich nut "Tao"()
ICSDL doc bang SANPHAM() cap nhat bang SANPHAM()
CapNhatSanPhamController lay danh sach san pham() sinh ma san pham() tao san pham moi()
SanPham maSanPham tenSanPham chiTietSanPham gia anhMinhHoa getMaSanPham() setMaSanPham() getTenSanPham() setTenSanPham() getChiTietSanPham() setChiTietSanPham() getGia() setGia() getAnhMinhHoa() setAnhMinhHoa() getSanPham() getSanPhamByMa() setSanPhamByMa() create SanPham()
Hien thi thong tin khong hop le
Ket thuc usecase cap nhat thong tin san pham
Hien thi man hinh Cap nhat thong tin san pham
Xu li va man hinh cap nhat san pham
Kiem tra thong tin cua san pham
Thong bao thong tin hop le Hop le
Xac nhan chinh sua Xac nhan
CODE DEMO VÀ NGUYÊN MẪU GIAO DIÊN APP
Code demo
Giao diện ứng dụng
2.4 Giao diện tìm kiếm sản phẩm
2.5 Giao diện thông tin chi tiết về sản phẩm