TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT CÔNG NGHỆTIỂU LUẬN MÔN HỌC PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Xây dựng ứng dụng di động quản lý cửa hàng thời trang Giáo viên hướng dẫn: Nguyễn Hữu Vĩnh
Trang 1TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT CÔNG NGHỆ
TIỂU LUẬN MÔN HỌC PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG
Xây dựng ứng dụng di động quản lý cửa hàng thời trang
Giáo viên hướng dẫn: Nguyễn Hữu Vĩnh
Sinh viên thực hiện:
Sinh viên 1: Họ và tên: Lê Thanh Hiệp
Trang 2NHẬN XÉT VÀ CHẤM ĐIỂM CỦA GIẢNG VIÊN
Họ và tên giảng viên: Nguyễn Hữu Vĩnh
Đề tài: Xây dựng ứng dụng kế toán gia đình
Nội dung nhận xét:
Điểm:
Bằng số:
Bằng chữ:
Bình Dương, ngày tháng năm 2021
GIẢNG VIÊN
Nguyễn Hữu Vĩnh
Trang 3MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH 5
DANH MỤC BẢNG 7
DANH SÁCH CÁC KÝ TỰ, CHỮ VIẾT TẮT 9
PHỤ LỤC 10
MỞ ĐẦU 11
CHƯƠNG I GIỚI THIỆU TỔNG QUAN ĐỀ TÀI 13
I GIỚI THIỆU ĐỀ TÀI 13
1 Mục đích: 13
2 Ý nghĩa của đề tài: 14
II GIỚI THIỆU DỰ ÁN 15
1 Thông tin ứng dụng 15
2 Tính năng và tiện ích của ứng dụng 15
3 Phương pháp thực hiện: 17
4 Dự kiến kết quả đạt được: 17
5 Cấu trúc của dự án: 18
CHƯƠNG II CƠ SỞ LÝ THUYẾT 19
I Tổng quan về hệ điều hành Android: 19
1 Giới thiệu về hệ điều hành Android 19
2 Kiến trúc cơ bản của hệ điều hành Android 20
II Giới thiệu về ngôn ngữ lập trình Java: 21
III Các khái niệm cơ bản trong lập trình ứng dụng Android: 22
1 Activity 22
2 Service 23
Trang 43 Content Provider 23
4 Broadcast Receive 24
5 View 24
6 Intent 24
IV FireBase: 25
1 Giới thiệu 25
1.1 Realtime Database 25
2 Firebase Hosting 26
3 Firebase Storage 27
4 Firebase Test Lab và Crash Reporting 27
CHƯƠNG III PHÂN TÍCH VÀ THIẾT KẾ 28
I Xác định bài toán 28
1 Định nghĩa bài toán: 28
2 Các nhóm chức năng của hệ thống 28
3 Xác định các tác nhân 29
III XÁC ĐỊNH CÁC USE CASE, CÁC GÓI UC VÀ XÂY DỰNG BIỂU ĐỒ UC CHI TIẾT 31
1 Xác định các Use case 31
2 Xác định các gói UC và biểu đồ UC chi tiết 32
3 Đặc tả các Use Case 37
4 Hệ thống đăng ký, đăng nhập 38
5 Hệ thống xem thông tin 40
6 Hệ thống quản lý thông tin 44
7 Hệ thống mua hàng 46
8 Hệ thống tiếp nhận và xử lý đơn hàng 50
Trang 5IV XÁC ĐỊNH CÁC LỚP THỰC THỂ VÀ CÁC LỚP BIÊN 60
V BIỂU ĐỒ HOẠT ĐỘNG CỦA CÁC USE CASE 61
1 UC Đăng ký 61
2 UC Đăng nhập 61
3 UC Sửa thông tin cá nhân 61
4 UC Quản lý danh sách thành viên 62
5 UC Quản lý danh sách thành viên 62
6 UC Mua hàng, tiếp nhận và xử lý đơn hàng 63
7 Bảo hành sản phẩm 63
VI MÔ HÌNH HÓA TƯƠNG TÁC TRONG CÁC USE CASE: BIỂU ĐỒ TUẦN TỰ VÀ BIỂU ĐỒ GIAO TIẾP 64
1 Use case Đăng ký thành viên 64
2 Use case Đăng nhập 65
3 Use case Sửa thông tin cá nhân 66
4 Use case Quản lý danh sách thành viên 67
5 Use case Quản lý danh mục sản phẩm 68
6 Use case Mua hàng, tiếp nhận và xử lý đơn hàng 69
7 Use case Bảo hành sản phẩm 70
CHƯƠNG IV CÀI ĐẶT ỨNG DỤNG 71
1 Giao diện đăng ký 71
2 Giao diện đăng nhập 72
3 Giao diện trang chủ App 73
4 Giao diện Xem thông tin sản phẩm 74
5 Giao diện Đăng sản phẩm 75
6 Giao diện cập nhật sản phẩm 76
Trang 68 Giao diện giỏ hàng 78
CHƯƠNG V TỔNG KẾT 79
TÀI LIỆU THAM KHẢO 80
NỘI DUNG THỰC HIỆN 81
Trang 7DANH MỤC HSNH
Hình 1: Logo của ứng dụng 15
Hình 2: Tổng quan về hệ điều hành Android 20
Hình 3: Kiến trúc hệ điều hành Android 21
Hình 4: Vòng đời của một Activity 22
Hình 5: Các tính năng cơ bản của Firebase 25
Hình 6: Mô tả về tính năng Firebase Mesaging 26
Hình 7: Mối quan hệ giữa các tác nhân 29
Hình 8: Biểu đồ Use case tổng quát 32
Hình 9: Biểu đồ các gói UC 33
Hình 10: Biểu đồ UC của gói UC Đăng ký, đăng nhập 33
Hình 11: Biểu đồ UC của gói UC Quản lý thông tin cá nhân 33
Hình 12: Biểu đồ UC của gói Quản lý danh sách thành viên 34
Hình 13: Biểu đồ UC của gói Quản lý danh mục sản phẩm 34
Hình 14: Biểu đồ UC của gói Mua hang 35
Hình 15: Biểu đồ UC của gói tiếp nhận và xử lý đơn hang 35
Hình 16: Biểu đồ UC của gói Bảo hành sản phẩm 36
Hình 17: Biểu đồ phân tích lớp thực thể 60
Hình 18: Các lớp biên 60
Hình 19: Biểu đồ hoạt động của UC Đăng ký thành viên 61
Hình 20: Biểu đồ hoạt động của UC Đăng nhập 61
Hình 21: Biểu đồ hoạt động của UC Sửa thông tin cá nhân 61
Hình 22: Biểu đồ hoạt động của UC Quản lý danh sách thành viên 62
Hình 23: Biểu đồ hoạt động của UC Quản lý danh sách thành viên 62
Trang 8Hình 24: Biểu đồ hoạt động của UC Mua hàng, tiếp nhận và xử lý đơn hàng 63
Hình 25: Biểu đồ hoạt động của UC Bảo hành sản phẩm 63
Hình 26: Biểu đồ tuần tự của UC Đăng ký thành viên 64
Hình 27: Biểu đồ giao tiếp của UC Đăng ký thành 64
Hình 28: Biểu đồ tuần tự của UC Đăng nhập 65
Hình 29: Biểu đồ giao tiếp của UC Đăng nhập 65
Hình 30: Biểu đồ tuần tự của UC Sửa thông tin cá nhân 66
Hình 31: Biểu đồ giao tiếp của UC Sửa thông tin cá nhân 66
Hình 32: Biểu đồ tuần tự của UC Quản lý danh sách thành viên 67
Hình 33: Biểu đồ giao tiếp của UC Quản lý danh sách thành viên 67
Hình 34: Biểu đồ tuần tự của UC Quản lý danh sách sản phẩm 68
Hình 35: Biểu đồ giao tiếp của UC Quản lý danh sách sản phẩm 68
Hình 36: Biểu đồ tuần tự của UC Mua hàng 69
Hình 37: Biểu đồ giao tiếp của UC Mua hàng 69
Hình 38: Biểu đồ tuần tự của UC Bảo hành sản phẩm 70
Hình 39: Giao diện đăng ký 71
Hình 40: Giao diện đăng nhập 72
Hình 41: Giao diện trang chủ App 73
Hình 42: Giao diện Xem thông tin sản phẩm 74
Hình 43: Giao diện đăng sản phẩm 75
Hình 44: Giao diện cập nhật sản phẩm 76
Hình 45: Giao diện kho hàng sản phẩm 77
Hình 46: Giao diện giỏ hàng 78
Trang 9DANH MỤC BẢNG
Bảng 1: Danh sách các ký tự, chữ viết tắt 9
Bảng 2: Phụ lục giải nghĩa ký hiệu 10
Bảng 3: Danh sách các Actor 30
Bảng 4: Dách sách Usecase 37
Bảng 5: Đặc tả User đăng ký thành viên 38
Bảng 6: Đặc tả User đăng nhập 39
Bảng 7: Đặc tả User xem thông tin giỏ hàng 40
Bảng 8: Đặc tả User Xem thông tin đơn hàng 41
Bảng 9: Đặc tả User Xem thông tin sản phầm 42
Bảng 10: Đặc tả User xem thông tin cá nhân 43
Bảng 11: Đặc tả User sửa thông tin cá nhân 44
Bảng 12: Đặc tả User quản lý danh mục sản phẩm 45
Bảng 13: Đặc tả UC chọn sản phẩm cần mua 46
Bảng 14: Đặc tả UC thêm sản phẩm vào giỏ hàng 47
Bảng 15: Đặc tả UC loại sản phẩm đã chọn ở giỏ hàng 48
Bảng 16: Đặc tả UC thanh toán 49
Bảng 17: Đặc tả UC tiếp nhận đơn hàng 50
Bảng 18: Đặc tả UC giao cho nhân viên thực hiện 51
Bảng 19: Đặc tả UC nhận đơn hàng và giao hàng 52
Bảng 20: Đặc tả UC báo cáo kết quả 53
Bảng 21: Đặc tả UC yêu cầu bảo hành 54
Bảng 22: Đặc tả UC nhận yêu cầu bảo hành 55
Bảng 23: Đặc tả UC giao cho nhân viên thực hiện 56
Trang 10Bảng 24: Đặc tả UC thực hiện bảo hành 57
Bảng 25: Đặc tả UC nhận lại thiết bị 58
Bảng 26: Đặc tả UC thanh toán chi phí bảo hành 59
Bảng 27: Nội dung thực hiện 81
Trang 12PHỤ LỤC
Bảng 2: Phụ lục giải nghĩa ký hiệu
Trang 13MỞ ĐẦU
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức, cũng như của các công ty, nó đóng vai trò hết sức quan trọng, có thể tạo ra những bước đột phá mạnh mẽ
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử, công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinh phục hết đỉnh cao này đến đỉnh cao khác Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sử dụng: chỉ cần có một máy tính kết nối internet và một dòng dữ liệu truy tìm thì gần như lập tức… cả thế giới về vấn đề mà bạn đang quan tâm
sẽ hiện ra, có đầy đủ thông tin, hình ảnh và thậm chí đôi lúc có cả những âm thanh nếu bạn cần…
Bằng Internet, chúng ta đã thực hiện được nhiều công việc với tốc độ nhanh hơn và chi phí thấp hơn nhiều so với cách thức truyền thống Chính điều này, đã thúc đẩy sự khai sinh và phát triển của thương mại điện tử và chính phủ điện tử trên khắp thế giới, làm biến đổi đáng kể bộ mặt văn hóa, nâng cao chất lượng cuộc sống con người
Trong hoạt động sản xuất, kinh doanh, giờ đây, thương mại điện tử đã khẳng định được vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp Đối với một cửa hàng hay shop, việc quảng bá và giới thiệu đến khách hàng các sản phẩm mới đáp ứng được nhu cầu của khác hàng sẽ là cần thiết Vậy phải quảng bá thế nào đó là xây dựng được một Ứng dụng cho cửa hàng của mình quảng bá tất cả các sản phẩm của mình bán Vì vậy, nhóm em đã thực hiện đồ án “Xây dựng ứng dụng di động quản lý cửa hàng thời trang” cho các cửa hàng nhỏ và vừa theo mô hình kinh tế chia sẻ các chủ cửa hàng đưa các sảnphẩm đó lên app thông qua tài khoản cá nhân và quản lý bằng app đó Khách hàng có thểđặt mua hàng trên app mà không cần đến cửa hàng Các chủ cửa hàng sẽ gửi sản phẩm
Trang 14doanh thu + 200.000VNĐ phí duy trì tài khoản một khoản phí hấp dẫn cho các chủ shop kinh doanh nhỏ và vừa và tạo cơ hội cho các chủ shop nhỏ và vừa có thể cạnh tranh với các shop lớn.
Với mong muốn được chia sẻ mô hình kinh tế chia sẻ với các shop quần áo nên nhóm
em xin chọn đề tài “Xây dựng ứng dụng di động quản lý cửa hàng thời trang” đây sẽ là
vũ khí giúp các shop nhỏ vừa có thể cạnh tranh công bằng với các shop lớn
Đề tài tiểu luận được phân các chương như sau:
Chương 1.Giới thiệu tổng quan đề tài
Chương 2 Cơ sở lý thuyết
Chương 3 Phân tích thiết kế hệ thống
Chương 4 Cài đặ ứng dụng
Chương 5 Tổng kết
Trang 15CHƯƠNG I GIỚI THIỆU TỔNG QUAN ĐỀ TÀI
I GIỚI THIỆU ĐỀ TÀI
Công việc kinh doanh buôn bán đã xuất hiện từ rất lâu, trải qua mỗi giai đoạn lịch sử nó mang một hình thức đặc thù riêng Trước kia, khi các công cụ hỗ trợ công việc mua bán chưa phát triển mạnh, thì người kinh doanh mua bán chỉ diễn ra dưới hình thức mua bán trực tiếp.Từ khi khoa học công nghệ phát triển, nó đã tạo ra phát triển các loại hình thức mua bán mới, điển hình là mua bán trực tuyến.Hình thức mua bán trực tuyến hỗ trợ đắc lực cho người kinh doanh tiếp xúc với được nhiều khách hàng, còn khách hàng thì công việc mua bán được diễn ra nhanh chóng, thuận lợi, tiết kiệm được thời gian …
Hiện nay, Thương Mại Điện Tử (TMĐT) đang được nhiều quốc gia quan tâm, coi là một trong những động lực phát triển chủ yếu của nền kinh tế TMĐT đem lại những lợi ích tiềm tàng, giúp doanh nghiệp thu được thông tin phong phú về thị trường và đối tác, giảm chi phí tiếp thị và giao dịch, tạo dựng và củng cố quan hệ bạn hàng
Việc mua hàng qua mạng chỉ với thủ tục đăng ký mua sắm đơn giản nhưng đem lại nhiều lợi ích: tiết kiệm và chủ động về thời gian, tránh khỏi những phiền phức khó chịu Vậy nên việc mua bán hàng qua mạng đang rấtđược mọi người quan tâm
Trên cơ sở các kiến thức được học trong nhà trường và quá trình tìm hiểu
các website trong thực tế , em đã quyết định chọn đề tài “Xây dựng ứng
dụng mua bán sản phẩm trên nền Android”.
- Phục vụ tốt hơn nhu cầu của khách hàng và quản lý của nhà hàng trong hoạt động kinh doanh
- Khách hàng chỉ cần các thao tác đơn giản trên điện thoại di động là
có thể đặt hàng được ngay
1 Mục đích:
Ứng dụng mua bán sản phẩm chạy trên nền Android được thực hiện dựa trên hai mục đích chính sau :
Trang 16Thứ nhất là nghiên cứu các công nghệ lập trình như : lập trình ứng dụng với Android.
Thứ hai là phát triển ứng dụng có tính thực tiễn cao, có khả năng triển khai ứng dụng vào thực tế, giúp những người có nhu cầu mua bán thức ăn nhanh có thể thao tác dễ dàng và tiện lợi
Em hy vọng dựa trên nền tảng lý thuyết đã được thầy cô truyền thụ lại, kết hợp với sự tìm hiểu công nghệ của cá nhân, luận văn tốt nghiệp của em
sẽ đạt được mục đích mong đợi
Ứng dụng mua bán sản phẩm chạy trên nền Android được thực hiện dựa trên hai mục đích chính sau :
Thứ nhất là nghiên cứu các công nghệ lập trình như : lập trình ứng dụng với Android
Thứ hai là phát triển ứng dụng có tính thực tiễn cao, có khả năng triển khai ứng dụng vào thực tế, giúp những người có nhu cầu mua bán thức ăn nhanh có thể thao tác dễ dàng và tiện lợi
2 Ý nghĩa của đề tài:
Trước hết,đề tài “Xây dựng ứng dụng mua bán sản phẩm trên nền Android”
là một ứng dụng được xây dựng như một đề tài thể hiện việc áp dụng những kiến thức quý báu đã được các thầy cô của trường Đại học Bách Khoa – Đại học Đà Nẵng nhiệt tình truyền thụ lại cho chúng em Và đặc biệt là sự theo dõi và quan tâm giúp đỡ của thầy Nguyễn Văn Hiệu trong suốt thời gian em thực hiện đề tài này
Thứ hai là những kinh nghiệm quý báu mà em có được trong quá trình thựchiện đề tài sẽ là hành trang tuyệt vời giúp ích rất nhiều cho công việc sau nàycủa mình
Thứ ba, trong thời đại công nghệ thông tin phát triển như vũ bão ngày nay, công nghệ không ngừng được cải tiến, những công nghệ mới ra đời đòi hỏi người lập trình viên phải cố gắng nghiên cứu và tìm hiểu để áp dụng vào thực tiễn Điều này cũng được thể hiện qua sự cố gắng em khi quyết định thực hiện đề tài này với các công nghệ được coi là mới nhất hay và được dự báo sẽ phát triển mạnh mẽ trong tương lai
Trang 17Do vậy, em rất hy vọng sẽ tạo nên một sản phẩm hoàn chỉnh nhất có thể để đáp lại sự nhiệt tình giúp đỡ từ thầy cô và cả tâm huyết của em khi quyết định thực hiện đề tài này.
II GIỚI THIỆU DỰ ÁN
Quản lý thông tin khách hàng
Chatbox trực tiếp cho Khách hàng, nhân viên chăm sóc khách hàng
Quản lý kho đăng bán
Quản lý việc đặt hàng, xử lý giỏ hàng,…
Trang 18 Xử lý thống kê theo yêu cầu như: đơn hàng, hóa đơn
Cho phép tìm kiếm thông tin trong hệ thống,…
Giao diện thân thiện, dễ sử dụng
- Tiện ích mang đến:
Ứng dụng mua bán rao vặt hàng đầu Việt Nam Tiếp cận hàngtriệu khách hàng, hàng trăm ngàn sản phẩm rao bán mỗi ngày
ở ATA thật hiệu quả: “Mua gì cũng có - Bán nhanh như gió”
Ứng dụng rao bán trực tuyến hàng đầu việt nam:
ATA là ứng dụng mua bán rao vặt cho phép người mua và người bán kết nối và giao dịch an toàn, dễ dàng trong một môi trường tiện lợi và rõ ràng
Đăng tin rao vặt hoàn toàn miễn phí Ứng dụng hỗ trợ tìm kiếm nhanh các đăng tin rao vặt vô cùng nhanh chóng ở tất cả các danh mục khác nhau từ bất động sản, điện thoại, xe máy, vật nuôi
Ở ATA bạn có thể mua bán hàng thật phong phú, đa dạng và độc đáo ATA - Muốn Là Có!
rao vặt dễ dàng - hoàn toàn miễn phí:
Đăng tin mua bán hoàn toàn dễ dàng với 1 bước đơn giản: Chụp hình đăng bán nhanh chóng trong vòng 30 giây
Tin đăng có hình giúp bạn dễ dàng mua bán hơn bao giờ hết Giúp bạn tiếp cận hàng triệu khách hàng mua sắm online tại Việt Nam
Chia sẻ tin đăng rao vặt trên các mạng xã hội khác,
dễ dàng thu hút khách hàng, bán hàng thật hiệu quả
Mua sắm dễ dàng an toàn tiện lợi:
ATA Thời trang và phụ kiện thời trang
Săn hàng dễ dàng - mọi lúc mọi nơi:
Thoả cơn khát shopping với ứng dụng ATA Tìm ngay món hàng ưng ý giá rẻ bằng các thao tác đơn giản
Trang 19Liên tục cập nhật sản phẩm, giá bán nhanh chóng vớinhiều ưu đãi, khuyến mãi, giảm giá Thông tin sản phẩm đầy đủ giúp bạn mua sắm đơn giản hơn tại ATA Đánh dấu hàng hot thật thuận tiện Lưu tìm kiếm giúp bạn mua sắm tiện lợi dễ dàng.
3 Phương pháp thực hiện:
- Kỹ thuật và phương pháp triển khai
Kỹ thuật thuật và phương pháp triển khai để xây dựng ứng dụng rao bán sản phẩm thời trang trên nền tảng Android:
Phân tích thực trạng thực tế để lựa chọn đề tài, lựa chọn hệ điều hành, ngôn ngữ phát triển
Tìm hiểu về ngôn ngữ lập trình trên nền tảng Android
- Môi trường phát triển
Sử dụng phần mềm Android Studio để phát triển ứng dụng
4 Dự kiến kết quả đạt được:
Dự kiến sẽ đạt được kết quả như sau:
- Phân tích hệ thống ứng dụng rao bán sản phẩm thời trang trênnền tảng Android
- Xây dựng ứng dụng với các chức năng thanh toán online và các chức năng quản lý cho khách hàng
Trang 205 Cấu trúc của dự án:
Chương 1.Tổng quan: Giới thiệu về đề tài: lý do chọn đề tài;
mục đích, ý nghĩa chọn đề tài và giới thiệu về các phương pháp triểnkhai, ngôn ngữ, môi trường sử dụng
Chương 2 Cơ sở lý thuyết: Giới thiệu về hệ điều hành Android,
cơ sở lý thuyết của ngôn ngữ thực hiện (Java-Android) Phân tích hệ thống bao gồm các phương pháp đặc tả người dùng, xây dựng các sơ
đồ mô tả hệ thống, qua đó có cách nhìn tổng quan về hệ thống hơn
Chương 3 Kết quả thực nghiệm: Trình bày quá trình thực hiện,
triển khai, kết quả demo và đánh giá kết quả
Chương 4 Kết luận và kiến nghị: Trình bày kết quả đạt được khi xây dựng chương trình và các hạn chế còn tồn tại, qua đó đánh giá lại sản phẩm và nêu các hướng phát triển
Tài liệu tham khảo
Trang 21CHƯƠNG II CƠ SỞ LÝ THUYẾT
I Tổng quan về hệ điều hành Android:
1 Giới thiệu về hệ điều hành Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và các thiết bị máy tính bảng Ban đầu Android được phát triển bởi tổng công tyAndroid, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005 Android ra mắt năm 2007 cùng với tuyên bố thành lập liên minh thiết bị cẩm tay mở cho các thiết bị di động
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do.Các ứng dụng cho Android được phát triển bằng ngôn ngữ Java sử dụng bộ phát triển phần mềm Android (SDK) SDK bao gồm một bộ đầy đủ các công
cụ dùng để phát triển gồm có công cụ gỡ lỗi, thư viện phần mềm, bộ giả lập điện thoại dựa trên QEMU, tài liệu hướng dẫn, mã nguồn mẫu, và hướng dẫntừng bước Môi trường phát triển tích hợp (IDE) được hỗ trợ chính thức là Eclipse sử dụng phần bổ sung Android Development Tools (ADT) Các công
cụ phát triển khác cũng có sẵn, gồm có Bộ phát triển gốc dành cho các ứng dụng hoặc phần mở rộng viết bằng C hoặc C++, Google App Inventor, một môi trường đồ họa cho những nhà lập trình mới bắt đầu, và nhiều nền tảng ứng dụng web di động đa nền tảng phong phú
Android được Google tự phát triển riêng cho đến khi những thay đổi và cậpnhật đã hoàn thiện, khi đó mã nguồn mới được công khai Mã nguồn này, nếukhông sửa đổi, chỉ chạy trên một số thiết bị, thường là thiết bị thuộc dòng Nexus Có nhiều thiết bị có chứa những thành phần được giữ bản quyền do nhà sản xuất đặt vào thiết bị Android của họ
Trang 22Hình 2: Tổng quan về hệ điều hành Android
2 Kiến trúc cơ bản của hệ điều hành Android
Android gồm 5 phần chính sau được chứa trong 4 lớp:
- Nhân Linux: Đây là nhân nền tảng mà hệ điều hành Android dựa vào
nó để phát triển Đâu là lớp chứa tất cả các thiết bị giao tiếp ở mức thấp dùng để điều khiển các phần cứng khác trên thiết bị Android
- Thư viện: Chứa tất cả các mã cái mà cung cấp cấp những tính năng
chính của hệ điều hành Android, đôi với ví dụ này thì SQLite là thư viện cung cấp việc hộ trợ làm việc với database dùng để chứa dữ liệu Hoặc Webkit là thư viện cung cấp những tính năng cho trình duyệt Web
- Android runtime: Là tầng cùng với lớp thư viện Android runtime
cung cấp một tập các thư viện cốt lỗi để cho phép các lập trình viên phát triển viết ứng dụng bằng việc sử dụng ngôn ngữ lập trình Java Android Runtime bao gốm máy ảo Dalvik (ở các version < 4.4, hiện tài là phiên bản máy ảo ART được cho là mạnh mẽ hơn trong việc xử
lý biên dịch) Là cái để điều khiển mọi hoạt động của ứng dụng Android chạy trên nó(máy ảo Dalvik sẽ biên dịch ứng dụng để nó có
Trang 23thể chạy(thực thi) được , tương tự như các ứng dụng được biên dịch trên máy ảo Java vậy) Ngoài ra máy ảo còn giúp tối ưu năng lượng pin cũng như CPU của thiết bị Android
- Android framework: Là phần thể hiện các khả năng khác nhau của
Android(kết nối, thông báo, truy xuất dữ liệu) cho nhà phát triển ứng dụng, chúng có thể được tạo ra để sử dụng trong các ứng dụng của họ
- Application: Tầng ứng dụng là tầng bạn có thể tìm thấy chuyển các
thiết bị Android như Contact, trình duyệt…Và mọi ứng dụng bạn viết đều nằm trên tầng này
Hình 3: Kiến trúc hệ điều hành Android
III Giới thiệu về ngôn ngữ lập trình Java:
Java là một ngôn ngữ lập trình cao cấp, ban đầu được phát triển bởi Sun Microsystems và được phát hành vào năm 1995 Java chạy trên nhiều nền tảng, chẳng hạn như Windows, Mac OS và các phiên bản khác nhau của UNIX Là ngôn ngữ kế thừa trực tiếp từ C/C++ và là một ngôn ngữ lập trình hướng đối tượng
Java như là một công nghệ hay một nền tảng phát triển Nó bao gồm các
bộ phận:
- Máy ảo Java: JVM
Trang 24- Bộ công cụ phát triển: J2SDK
- Các đặc tả chi tiết kĩ thuật (specifications)
- Ngôn ngữ lập trình (programming language)
IV Các khái niệm cơ bản trong lập trình ứng dụng Android:
1 Activity
Một Activity là một thể hiện của ứng dụng Một ứng dụng có thể gồm chỉ 1 hoặc nhiều Activity Activity chính phải được hiển thị đầu tiên khi khởi động chương trình Chuyển từ một Activity này sang một Activity khác bằng cách cho Activity hiện thời khởi động Activity
kế tiếp
Một cây phân cấp View được đặt trong một cửa sổ của Activity bằngphương thức Activity.setContentView(), Content view là đối tượng View ở gốc của cây phân cấp
Class cơ sở Activity định nghĩa một loạt các sự kiện mà điều chỉnh vòng đời của một hoạt động
Hình 4: Vòng đời của một Activity
Trang 25Class Activity định nghĩa các sự kiện sau đây :
- onCreate(): Được gọi khi hoạt động được tạo ra lần đầu tiên
- onStart(): Được gọi khi hoạt động trở nên hữu hình so với người dùng
- onResume(): Được gọi khi hoạt động bắt đầu tương tác với người sử dụng
- onPause(): Được gọi để dừng các hoạt động hiện tại và nối lại các hoạtđộng trước đó
- onStop(): Được gọi khi hoạt động không còn hiển thị với người dùng
- onDestroy(): Được gọi trước khi hoạt động bị phá hủy bởi hệ thống (bằngtay hoặc bằng hệ thống để bảo tồn bộ nhớ)
- onRestart(): Được gọi khi hệ thống đã được dừng lại và khởi động lại mộtlầnnữa
3 Content Provider
Một Content Provider tạo ra một tập cụ thể các dữ liệu của ứng dụng khả dụng cho các ứng dụng khác Dữ liệu có thể được lưu trữ trong hệ thống file, trong một cơ sở dữ liệu SQLite, hay trong một cách khác nào đó Content Provider mở rộng của lớp cơ sở
ContentProvider để cài đặt một tập các chuẩn các phương thức cho phép các ứng dụng khác đạt được và lưu trữ dữ liệu của kiểu mà nó điều khiển Tuy nhiên, các ứng dụng không gọi trực tiếp các phương thức này, chúng sử dụng một đối tượng ContentResolver và gọi các phương thức của nó Một ContentResolver có thể nói chuyện với bất
Trang 26cứ Content Provider nào, chúng cộng tác với provider để quản lý giao tiếp liên tiến trình.
4 Broadcast Receive
Một Broadcast Rreceiver là một thành phần không làm gì ngoài việcnhận và đáp lại các thông báo Broadcast Nhiều Broadcast khởi đầu trong mã hệ thống Các ứng dụng có thể tạo ra các Broadcast, chẳng hạn để ứng dụng khác biết được một số dữ liệu đã được tải về thiết bị
và sẵn sàng cho việc sử dụng chúng
Broadcast Receiver không hiển thị một giao diện người dùng Tuy nhiên, chúng có thể bắt đầu một Activity để đáp lại thông tin mà chúng nhận, hay chúng có thể sử dụng NotificationManager để cảnh báo người dùng Notifications có thể gây sự chú ý của người dùng bằng nhiều cách
5 View
Trong một ứng dụng Android, giao diện người dùng được xây dựng
từ các đối tượng View và ViewGroup Có nhiều kiểu View và
ViewGroup Mỗi một kiểu là môt con của Class View và tất cả các kiểu đó gọi là các Widget
Tất cả các Widget đều có chung các thuộc tính cơ bản như là trình bày vị trí, background, kích thước, lề…Tất cả những thuộc tính này được thể hiện hết ở trong đối tượng View
Để thể hiện một màn hình thì trong hàm onCreate của mỗi Activity cần phải được gọi một hàm là setContentView (R.layout.my_layout ) Hàm này sẽ load giao diện từ file XML lên để phân tích thành mã bytecode
6 Intent
Là cầu nối giữa các Activity: ứng dụng Android thường bao gồm nhiều Activity, mỗi Activity hoạt động độc lập với nhau và thực hiện những công việc khác nhau Intent chính là người đưa thư, giúp các
Trang 27Activity có thể triệu gọi cũng như truyền các dữ liệu cần thiết tới một Activity khác.
V FireBase:
1 Giới thiệu
Firebase là một nền tảng ứng dụng di động và web với các công cụ
và hạ tầng được thiết kế để giúp các lập trình viên xây dựng các ứng dụng chất lượng cao
- Tự động tính toán quy mô ứng dụng của bạn
- Các tính năng bảo mật lớp đầu
- Làm việc offline
Trang 28Firebase Authentication Với Firebase, bạn có thể dễ dàng xác thực người dùng từ ứng dụng của bạn trên Android, IOS và JavaScript SDKs chỉ với một vài đoạn
mã Firebase đã xây dựng chức năng cho việc xác thực người dùng với Email, Facebook, Twitter, GitHub, Google, và xác thực nạc danh.Các ứng dụng sử dụng chức năng xác thực của FireBase có thể giải quyết được vấn đề khi người dùng đăng nhập, nó sẽ tiết kiện thời gian và rất nhiều các vấn đề phức tạp về phần backend Hơn nữa bạn
có thể tích họp xác thực người dùng với các chức năng backend đã
có sẵn sử dụng
2 Firebase Hosting
Phát triển ứng dụng web của bạn trong thời gian ngắn với các hosting tĩnh đã được cung cấp sẵn Tất cả các kết nối được phân phốiqua SSL từ CDN trên toàn thể giới của Firebase
Triểu khai siêu tốc: Việc triển khai sử dụng các công cụ dòng lệnh Firebase và có thể quay trở lại với phiên bản trước chỉ với một cú click chuột Tất cả các ứng dụng sẽ có đường dẫn mặc đinh ở sau firebaseapp.com và nếu trả phí thì có thể triểu khai một tên miền tuỳ chỉnh
SSL bởi default: Mọi ứng dụng được xử lý thông qua một kết nối
an toàn, và Firebase đã cẩn thận cung cấp SSL cert cho bạn
Cloud Messaging
Trang 29Hình 6: Mô tả về tính năng Firebase Mesaging
3 Firebase Storage
Firebase cũng sẽ ra mắt Firebase Storage để giúp lập trình viên upload và download file dễ dàng Firebase Storage được Google Cloud Storage hỗ trợ, mang đến khả năng lưu trữ khổng lồ và cho phép Google Cloud project truy cập file dễ dàng Firebase Storage client SDKs còn có logic nâng cao có thể
dễ dàng xử lý điều kiện mạng kém
4 Firebase Test Lab và Crash Reporting
Firebase Crash Reporting là công cụ báo cáo crash có khả năng ưu tiên, hành động nhanh giúp bạn chuẩn đoán và xử lý ngay các vấn đềcủa ứng dụng iOS và Android Crash Reporting còn có thể kết nối đến nhóm Audiences trong Firebase Analytics, từ đó bạn có thể biết được người dùng bị crash đang dùng thiết bị nào, khu vực địa lý nào,
…
Trang 30CHƯƠNG III PHÂN TÍCH VÀ THIẾT KẾ
I Xác định bài toán
1 Định nghĩa bài toán:
- Hệ thống mua bán và bảo hành thiết bị máy tính là một Website cung cấp cho người sử dụng, nhà quản lý những chức năng cần thiết để tiếnhành giao dịch, quản lý sự hoạt động cũng như theo dõi tình hình pháttriển cửa hàng của mình Đối với khách hàng, hệ thống cho phép xem thông tin về sản phẩm của cửa hàng Sau khi đăng ký làm thành viên, khách hàng có thể chọn sản phẩm trên website đưa vào giỏ hàng và tiến hành giao dịch mua bán Sau khi chọn hàng xong khách hàng chuyển qua việc thanh toán bằng một trong các hình thức thanh toán, đồng thời chọn địa điểm và xác định thời gian giao hàng Sau khi đã thực hiện xong, khách hàng nhấn xác nhận để hoàn tất giao dịch
- Đối với các nhân viên, là người sẽ tiếp nhận đơn hàng do người quản
lý chuyển đến, thực hiện việc giao hàng và xác nhận việc giao hàng đãhoàn tất
- Khi khách hàng có yêu cầu về bảo hành thiết bị đã mua ở cửa hàng,
bộ phận bảo hành sẽ tiến hành kiểm tra, sửa chữa và gửi lại cho kháchkèm theo một hoá đơn thanh toán bảo hành (nếu thiết bị đã quá thời gian bảo hành) Các thông tin về việc bảo hành thiết bị sẽ được lưu lạitrong sổ bảo hành
2 Các nhóm chức năng của hệ thống
Chức năng của hệ thống có thể chia làm các nhóm chức năng chính như sau:
- Nhóm chức năng đăng ký, đăng nhập thành viên
- Nhóm chức năng xem thông tin, bao gồm xem thông tin giỏ hàng, xem thông tin đơn hàng, xem thông tin sản phẩm, xem thông tin cá nhân
- Nhóm chức năng quản lý thông tin, bao gồm quản lý thông tin cá nhân, quản lý danh sách thành viên, quản lý danh mục sản phẩm
Trang 31- Nhóm chức năng mua hàng, tiếp nhận và xử lý đơn hang
- NHÂN VIÊN: là người tiếp nhận và xử lý các đơn hàng, các yêu cầu
bảo hành do người quản lý giao
- THÀNH VIÊN: bao gồm người quản lý, nhân viên và những khách
hàng đã đăng ký Sau khi đăng nhập để trở thành thành viên, ngoài những chức năng chung của người sử dụng, còn có thêm một số chứcnăng khác phục vụ cho công việc cụ thể của từng đối tượng
- Theo tính chất của các Actor, ta có thể tổng quát hoá chúng như sau:
Trang 32Hình 7: Mối quan hệ giữa các tác nhân
Danh sách các Actor:
Khách hàng viếng thăm Xem danh sách sản phẩm
Xem thong tin chi tiết sản phẩmĐăng ký
Tìm kiếm sản phẩmĐưa sản phẩm vào giỏ hàngXem tin tức
Khách hàng thành viên Có các chức năng như Khách hàng viếng thăm và còn
có thêm một số chức năng khác như:
Đặt MuaXem danh sách đơn hàngQuản lý đơn hàng
Thanh toánĐăng nhậpNhân Viên Có tất cả chức năng của Khách hàng thành viên và
thêm một số chức năng khác và yêu cầu Đăng Nhập mới được sử dụng:
Xem danh sách đơn hàngCập nhật đơn hàngCập nhật sản phẩmCập nhật đơn giáGhi nhận đơn hàng
…Các chức năng còn tùy thuộc vào quyền của nhân viên Mỗi người có chức năng nhất định
Giám Đốc Có tất cả các quyền trong hệ thống Và là người cấp
phát quyền cho nhân viên
Trang 33VII XÁC ĐỊNH CÁC USE CASE, CÁC GÓI UC VÀ XÂY DỰNG
BIỂU ĐỒ UC CHI TIẾT
1 Xác định các Use case
- Tác nhân Khách hàng có các UC sau:
Đăng ký làm thành viên
Xem thông tin sản phẩm
Xem thông tin giỏ hàng
Chọn sản phẩm cần mua
Thêm, bớt sản phẩm trong giỏ hàng
hiện việc mua hàng
Thanh toán
Yêu cầu bảo hành
Nhận lại thiết bị sau khi bảo hành
- Tác nhân Người quản lý có các UC sau:
Tiếp nhận đơn hàng, nhận yêu cầu bảo hành
Giao cho nhân viên thực hiện
Quản lý danh sách thành viên
Quản lý danh mục sản phẩm
- Tác nhân Nhân viên có các UC sau:
Thực hiện việc giao hàng
Thực hiện việc bảo hành sản phẩm
Báo cáo kết quả
- Ngoài ra, các thành viên của hệ thống bao gồm người quản lý,nhân viên và các khách hàng đã đăng ký làm thành viên còn
có các UC sau:
Đăng nhập
Xem thông tin cá nhân
Sửa đổi thông tin cá nhân
Trang 342 Xác định các gói UC và biểu đồ UC chi tiết
2.1 Biểu đồ UC tổng quát
Hình 8: Biểu đồ Use case tổng quát
Trang 35Từ việc phân tích các UC của từng tác nhân, ta xây dựng thành các gói UC như sau:
Hình 9: Biểu đồ các gói UC
2.2 Gói UC Đăng ký, đăng nhập
Hình 10: Biểu đồ UC của gói UC Đăng ký, đăng nhập.
2.3 Gói UC Quản lý thông tin cá nhân
Hình 11: Biểu đồ UC của gói UC Quản lý thông tin cá nhân
Trang 362.4 Gói UC Quản lý danh sách thành viên
Hình 12: Biểu đồ UC của gói Quản lý danh sách thành viên
2.5 Gói UC Quản lý danh mục sản phẩm
Hình 13: Biểu đồ UC của gói Quản lý danh mục sản phẩm
Trang 382.8 Gói UC Bảo hành sản phẩm
Hình 16: Biểu đồ UC của gói Bảo hành sản phẩm
1.2
Trang 393 Đặc tả các Use Case
Dách sách Usecase
1 sản phẩmXem danh sách Khách hàng viếng thăm, khách hàng thành viên, nhân viên, giám đốc
2 Xem thông tin
sản phẩm
Khách hàng viếng thăm, khách hàng thành viên, nhân viên, giám đốc
3 Đăng ký nhân viên, giám đốcKhách hàng viếng thăm, khách hàng thành viên,
4 Tìm kiếm Khách hàng viếng thăm, khách hàng thành viên, nhân viên, giám đốc
5 Đưa sản phẩm
vào giỏ hàng
Khách hàng viếng thăm, khách hàng thành viên, nhân viên, giám đốc
6 kiệnXem tin tức, sự Khách hàng viếng thăm, khách hàng thành viên, nhân viên, giám đốc
7 Đăng nhập Khàng thành viên, nhân viên, giám đốc
8 Đặt mua Khách hàng thành viên, nhân viên, giám đốc
9 Thanh toán Khách hàng thành viên, nhân viên, giám đốc
10 Xem danh sách đơn hàng Khách hàng thành viên, nhân viên, giám đốc Người Dùng, Nhân Viên, Admin
Trang 404 Điều kiện kích hoạt (Trigger) Chọn chức năng đăng ký
5 Tiền điều kiện:
6 Luồng sự kiện
6.1 Luồng sự kiện chính:
những bước hoạt động của hệ
thống (tác nhân) mang lại kq
Hiện thông báo xác nhận tài khoản được tại thành công
Đưa khách hàng đến trang chủ để khách có thể thực hiện các chức năng tiếp theo
6.2 Luồng sự kiện thay thế
công thì điều gì sẽ xảy ra?
Khách hàng điền không đúng yêu cầu của from, hộp thông báo sẽ hiện lên yêu cầu người dùng nhập lại
7 Hậu điều kiện: Điều gì xảy ra
sau khi UC thực hiện xong
Hệ thông đưa ra hộp thoại thông báo đăng ký thành công và lưu
dữ liệu vào Database
8 Các yêu cầu khác
Bảng 5: Đặc tả User đăng ký thành viên