Ngày bắt đầu dự án: 12/03/2022 Ngày kết thúc dự án:24/07/2022
Quản Lý Dự Án: Nguyễn Phúc Tân, 0899797454, 2034801040019@student.tdmu.edu.vn Mục Tiêu Dự Án:
Xây dựng cho cửa hàng Tân Hưng một ứng dụng bán laptop để khách hàng có thể tiến hành đặt hàng online bên cạnh việc truy cập và đặt mua ở website của cửa hàng. Bao gồm: 5 thành viên, thực hiện trong vòng 3,5 tháng. Ngân sách đầu tư là 144.000.000 VNĐ trong đó 115.000.000 (80% tổng vốn điều lệ) VNĐ là chi phí thực hiện công việc và dịch vụ tư vấn được cửa hàng bán laptop Tân Hưng hỗ trợ.
Sử dụng công cụ Android studio để thực hiện viết code, sữ dụng SQLite để lưu trữ dữ liệu.
Cách tiếp cận:
Khảo sát mức độ rộng lớn của thị trường thương mại điện tử. Tìm hiểu hoạt động của các công ty lớn trong thị trường này. Tìm hiểu các ứng dụng bán laptop online của dự án tương tự.
Kết hợp với các công ty tư ván để xác định yêu cầu của người dùng và phát triển chương trình đối tác
Dựa trên các dịch vụ của các công ty tư vấn và cửa hàng bán laptop Tân Hưng ở Bình Dương để xác định yêu cầu người dùng và phát triển chương trình đối tác. Phát triển ước tính chi phí và báo cáo với cửa hàng Tân Hưng.
Vai trò và trách nhiệm
Tên Chức vụ Nhiệm vụ Liên lạc
Cửa Hàng Tân Hưng
Đối tác + Hỗ trợ việc tư vấn và tìm hiểu thông tin khách hàng.
+ Đối tác sẽ mua ứng dụng khi dự án hoàn thành.
+ Hỗ trợ và giới thiệu việc đưa ứng dụng tiếp cận với người dùng. TanHungBD_Store@ gmail.com Nguyễn Phúc Tân Trưởng dự án
+ Lập kế hoạch và quyết định chiến lược phát triển cho dự án.
+ Huy động và cung cấp tiền bạc cho dự án. + Liên lạc chính đối tác cửa hàng Tân Hưng
2034801040019@stu dent.tdmu.edu.vn Huỳnh Thanh Sang Thư ký dự án
+ Tổng hợp nội dung và lập biên bản cho từng cuộc họp.
+ Tổng hợp báo giá từ nhân viên kinh doanh để báo cáo với trưởng dự án
+ Kiểm thử dự án. Triển khai dự án cho khách hàng, hướng dẫn sử dụng và thu thập các ý kiến của khách hàng chuyển về nhóm phát triển + Tiếp nhận và lắng nghe ý kiến của khách hàng sau đó phản hồi lại cho trưởng dự án
2034801040018@stu dent.tdmu.edu.vn Lê Thanh Nhàn Chuyên viên IT 1
+ Xây dựng giao diện của ứng dụng + Xây dựng chức năng của ứng dụng
2034801040012@stu dent.tdmu.edu.vn Nguyễn Thị Thanh Tuyền Chuyên viên IT 2
+ Thiết kế cơ cở dữ liệu bên SQLite
+ Hỗ trợ chuyên viên IT 1 trong xây dựng giao diện của ứng dụng 2034801040025@stu dent.tdmu.edu.vn Bùi Thị Ánh Nguyệt Nhân viên kinh doanh
+Tìm hiểu và tư vấn về thị trường bán laptop. +Tìm hiểu giá cả và mua sắm tài nguyên cho dự án.
+ Hỗ trợ trưởng dự án trong việc huy động vốn + Hỗ trợ chuyên viên IT 1 và 2 trong việc bàn giao sản phẩm dự án
2034801040011@stu dent.tdmu.edu.vn
Các chữ ký: Tân Hưng, Tân, Sang, Nhàn, Tuyền, Nguyệt,
Cửa Hàng Tân Hưng, Đối tác Nguyễn Phúc Tân, Trưởng dự án Huỳnh Thanh Sang, Thư ký
Lê Thanh Nhành , Chuyên viên IT 1
Nguyễn Thị Thanh Tuyền, Chuyên viên IT 2 Bùi Thị Ánh Nguyệt, Nhân viên kinh doanh
Ghi chú:
CHƯƠNG 2: PHÂN TÍCH CHỨC NĂNG HỆ THỐNG 2.1 Danh sách chức năng dự án cần đáp ứng
STT năng chínhTên chức (Lưu ý: mỗi chức năng chi tiết nằm trên 1 dòng)Phân rã chức năng chi tiết Ghi chú I. Những chức năng phải làm
1 Quản lý tàikhoản
1.1 Thay đổi thông tin tất cả tài khoản.
Quản lý sử dụng 1.2 Thêm thông tin vào tài khoản.
1.3 Xóa thông tin tài khoản
1.4 Thay đổi thông tin tài khoản cá nhân. Người dùng sử dụng 2 Hiển thị sảnphẩm 2.1 Xem chi tiết sản phẩm Người dùng sử dụng 3 Quản lý bìnhluận 3.1 Bình luận sản phẩm3.2 Đánh giá sản phẩm Người dùng sử dụng 4 Tìm kiếm 4.1 Tìm kiếm sản phẩm theo tên laptop Người dùng sử dụng 5 Quản lý giỏhàng
5.1 Thêm sản phẩm vào giỏ hàng
Người dùng sử dụng 5.2 Lưu các sản phẩm của người dùng chọn
5.3 Sửa số lượng sản phẩm 5.4 Xóa sản phẩm khỏi giỏ hàng
6 Thanh toán 6.1 Gom nhóm các sản phẩm để thanh toán6.2 Chọn hình thức thanh toán Người dùng sử dụng 6.3 Chọn hình thức vận chuyển 7 Quản lý sảnphẩm 7.1 Thêm sản phẩm mới Quản lý sử dụng 7.2 Sửa sản phẩm 7.3 Xóa sản phẩm
8 Quản lý hóađơn 8.1 Sửa hóa đơn8.2 Xóa hóa đơn Quản lý sử dụng 8.3 In hóa đơn
9 Quản lý dịchvụ 9.1 Góp ý 9.2 Xem thông tin liên hệ Người dùng sử dụng 9.3 Xem thông tin tuyển dụng
10 Quản lý thốngkê 10.1 Thống kê doanh thu Quản lý sử dụng
11 Đăng nhập 11.1 Đăng nhập dành cho người dùng11.2 Đăng nhập dành cho quản lý 12 Đăng ký 12.1 Đăng ký dành cho người dùng
2.2 Danh sách chức năng dự án không làm
STT Tên chức năng chính Phân rã chức năng chi tiết Ghi chú
II. Những chức năng không làm
1 Quản lý thống kê 1.1 Thống kê hóa đơn Quản lý sử dụng 2 Tìm kiếm 2.1 Tìm kiếm bằng giọng nói
Người dùng sử dụng 3 Quản lý dịch vụ 3.1 Chat trực tuyến
4 Thanh toán 4.1 Thanh toán qua ngân hàng
Bảng 2.2 Bảng danh sách các chức năng dự án không làm.
2.3 Công nghệ và công cụ dùng để làm dự án 2.3.1 Tổng quan về hệ điều hành Android
Android là hệ điều hành mã nguồn mở 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 với hơn một tỷ thiết bị và hàng trăm triệu người dùng. Nhưng phần lớn trong chúng ta không biết hệ điều hành này có một lịch sử hình thành vô cùng thú vị.
Hệ điều hành Android được lấy tên từ Android, Inc. – công ty khai sinh ra nó. Công ty này được thành lập tại Palo Alto, California vào tháng 10 năm 2003 bởi Andy Rubin – đồng sáng lập công ty Danger, Rich Miner - đồng sáng lập công ty Viễn thông Wildfire, Nick Sears – cựu Phó giám đốc T-Mobile, và Chris White – trưởng thiết kế và giao diện tại WebTV
Đến nay, Android là một thương hiệu của Google và Android đã có các phiên bản (kèm tên mã) lần lượt là:
Phiên bản Tên Ngày phát hành
Android 1.5 Cupcake 27/4/2009 Android 1.6 Donut 15/9/2009 Android 2.0 – 2.1 Eclair 26/9/2009 Android 2.2 – 2.2.3 Froyo 20/5/2010 Android 2.3 – 2.3.7 Gingerbread 6/12/2010 Android 3.0 – 3.2.6 Honeycomb 22/2/2011 Android 4.0 – 4.0.4 Ice Cream Sandwich 18/10/2011 Android 4.1 – 4.3.1 Jelly Bean 9/7/2012
Android 4.4 – 4.4.4 KitKat 31/10/2013 Android 5.0 – 5.1.1 Lollipop 12/11/2014 Android 6.0 – 6.0.1 Marshmallow 5/10/2015 Android 7.0 – 7.1.2 Nougat 22/8/2016 Android 8.0 – 8.1 Oreo 21/8/2017 Android 9 Pie 07/08/2018 Android 10 Android 10 03/09/2019 Android 11 Android 11 9/2020
Android 11 là phiên bản mới nhất của hệ điều hành android, mang đến những thay đổi mới giúp việc sử dụng smartphone trở nên dễ dàng hơn như quay video màn hình, tùy chỉnh giao diện theo sở thích của bản thân, bảo mật tốt hơn với tính năng chia sẻ vị trí một lần,….
Hệ điều hành Android được ưa chuộng nhất thế giới với vô vàn điểm thú vị, được cả thế giới yêu thích. Hy vọng chia sẻ trên giúp bạn biết nhiều thông tin hấp dẫn về Android giúp bạn sử dụng hệ điều hành tốt hơn.
2.3.2 Kiến trúc hệ điều hành Android
+ Tầng Applications: Là tầng chứa các ứng dụng danh bạ, gọi điện, trình duyệt, Nghe nhạc, … các ứng dụng này thường mua máy về chúng ta đã có sẵn rồi.
+ Tầng Framework: Là tầng chứa các API để làm việc với hệ điều hành như lấy thông tin danh bạ, quản lý các Activity (Activity là gì thì giờ chúng ta chưa cần quan tâm, các bài sau sẽ giải thích kĩ), quản lý địa điểm, quản lý các View (cũng chưa cần quan tâm).
+ Tầng Libraries: Chứa các thư viện, API gần như là cốt lõi của Android, bao gồm bộ quản lý bề mặt cảm ứng (Surface Manager), OpenGL (phục vụ cho việc dựng đồ họa phức tạp), …
+ Tầng Android Runtime: Chứa các thư viện lõi của Android và máy ảo Dalvik Virtual Machine (từ Android 4 trở lên chúng ta có thêm máy ảo ART).
+ Tầng Kernel: Là nhân lõi của hệ điều hành, chứa các tập lệnh, driver giao tiếp giữa phần cứng và phần mềm của Android.
Trong quá trình làm việc, chúng ta sẽ gần như chỉ làm việc với tầng xanh lam (Applications và Application Framework) và xanh lá (Libraries). Chương trình Android được viết bằng ngôn ngữ Java và được máy ảo DVM / ART trong mỗi thiết bị Android biên dịch ra mã máy.
Hình 2.1 Tổng quan hệ điều hành Android 2.4 Cấu hình phần cứng tối thiểu
- Cấu hình tối thiểu cài đặt Android Studio:
+ Microsoft® Windows® 10/8/7 (32 or 64-bit) + 4 GB RAM. (Khuyến cáo là 8GB)
+ Chip core I3 trở lên
+ 400 MB hard disk space + ít nhất 1GB cho Android SDK, emulator + Độ phân giải tối thiếu 1366 x 768
- Một số tính năng nổi bật của Android Studio:
+ Bộ công cụ build ứng dụng dựa trên Gradle (thay vì Maven). + Chức năng dò và sửa lỗi nhanh, hướng Android.
+ Công cụ chỉnh sửa màn hình dạng kéo thả tiện lợi.
2.5 Các phần mềm nền tảng 2.5.1 Giới thiệu Android Studio
Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng để phát
triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như các loại điện thoại smartphone, các tablet... Android Studio được đóng gói với một bộ code editor, debugger, các công cụ performance tool và một hệ thống build/deploy (trong đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoại hoặc tablet trên máy tính) cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp.
Hình 2.2 Logo Android Studio
Android Studio lần đầu tiên được công bố tại hội nghị Google I/O vào năm 2013 và được phát hành cho công chúng vào năm 2014 sau nhiều phiên bản beta khác nhau. Trước khi được phát hành, các nhà phát triển Android thường sử dụng các công cụ như Eclipse IDE, một IDE Java chung cũng hỗ trợ nhiều ngôn ngữ lập trình khác.
Công cụ hỗ trợ lập trình Android: - Android Studio
- SQLite - Java
2.5.2 Giới thiệu về Java
Java là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp (class), ban đầu được phát triển bởi Sun Microsystems do James Gosling khởi xướng và phát hành vào năm 1995. Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy.
Hình 2.3 Logo Ngôn Ngữ Java
Java hỗ trợ tối đa cho hệ điều hành Android. Vì thế ngôn ngữ lập trình này được áp dụng rất nhiều vào các ứng dụng dành cho Android. Số người sử dụng Android chiếm hơn một nửa thị phần vì vậy có thể thấy, nhu cầu sử dụng các ứng dụng là rất lớn.
Nếu trong tay bạn đang cầm một chiếc điện thoại chạy trên hệ điều hành Android thì đừng bất ngờ, bất cứ một ứng dụng nào trên đó cũng đều được hình thành và phát triển trên nền tảng Java. Chính điều này đã tạo ra cơ hội lớn cho các lập trình viên Java: nếu họ học tốt và có kỹ năng thì chắc chắn những lập trình Java sẽ không bao giờ sợ thất nghiệp.
Để bắt đầu học lập trình Java, bạn phải cần thông thạo các ngôn ngữ lập trình hướng đối tượng, có thể học qua lập trình C để làm quen với những khái niệm của loại lập trình này cũng như có thể hiểu sâu hơn về Java và các công nghệ Java mà nhiều người thường sử dụng như:
- Java Core.
- Enterprise Java Beans. - JSP/Java Severlet. - JDBC và RMI.
2.5.3 Giới thiệu về SQLite
SQLite là một thư viện phần mềm mà triển khai một SQL Database Engine, không cần máy chủ, không cần cấu hình, khép kín và nhỏ gọn. Nó là một cơ sở dữ liệu, không cần cấu hình, có nghĩa là giống như các cơ sở dữ liệu khác mà bạn không cần phải cấu hình nó trong hệ thống của mình.
SQLite engine không phải là một quy trình độc lập (standalone process) như các cơ sở dữ liệu khác, bạn có thể liên kết nó một cách tĩnh hoặc động tùy theo yêu cầu của bạn với ứng dụng của bạn. SQLite truy cập trực tiếp các file lưu trữ (storage files) của nó.
Hình 2.4 Logo SQLite Studio Tóm tắt lịch sử của SQLite:
- 2000 - D. Richard Hipp đã thiết kế SQLite cho mục đích không yêu cầu quản trị để vận hành chương trình.
- 2000 - Vào tháng 8, SQLite 1.0 được phát hành với trình quản lý cơ sở dữ liệu GNU. - 2011 - Hipp tuyên bố bổ sung giao diện UNQl vào SQLite DB và phát triển UNQLite
(Cơ sở dữ liệu hướng tài liệu - Document oriented database).
2.6 Biểu đồ use case và đặc tả use case của hệ thống 2.6.1 Biểu đồ tổng thể mức tổng quát
2.6.1.1 Các biểu đồ chi tiết use case người dùng được phân rã từ biểu đồ tổng quát
Hình 2. 6 Biểu đồ chi tiết được phân rã từ biểu đồ tổng quát của Người dùng.
2.6.1.2 Các biểu đồ chi tiết use case quản lý được phân rã từ biểu đồ tổng quát
2.7 Các use case được phân rã ở mức nhỏ nhất
2.7.1 Các use case được phân rã ở mức nhỏ nhất của Người dùng2.7.1.1 Sơ đồ và đặc tả Use Case đăng nhập 2.7.1.1 Sơ đồ và đặc tả Use Case đăng nhập
Hình 2. 8 Use case đăng nhập cho người dùng
Use Case ID UC-1.1 Use Case Name Đăng nhập
Description Là người dùng, tôi muốn đăng nhập vào ứng dụng, để sử dụng dịch vụ từ ứng dụng.
Actor(s) Người dùng
Priority Có
Trigger Người dùng muốn đăng nhập vào ứng dụng bán laptop online Pre-
Condition(s):
Tài khoản người dùng đã được tạo sẵn Tài khoản người dùng đã được phân quyền
Thiết bị của người dùng đã được kết nối internet khi thực hiện đăng
nhập Post-
Condition(s):
Người dùng đăng nhập ứng dụng thành công
Hệ thống ghi nhận hoạt động đăng nhập thành công vào Activity Trang Chủ.
Basic Flow 1. Người dùng truy cập ứng dụng bán laptop online.
2. Người dùng chọn phương thức đăng nhập bằng tài khoản 3. Người dùng nhập tài khoản và chọn lệnh đăng nhập
4. Hệ thống xác thực thông tin đăng nhập thành công và cho phép người dùng truy cập ứng dụng
5. Hệ thống ghi nhận hoạt động đăng nhập thành công vào Activity Trang Chủ.
Alternative Flow Không có
Exception Flow 4c. Hệ thống xác thực thông tin đăng nhập không thành công và hiển thị thông báo.
4c1. Người dùng chọn lệnh hủy đăng nhập. Use Case dừng lại. Business Rules Không có
Non-Functional Requirement
NFR1.1-1: Timeout cho màn hình đăng nhập dưới 60 giây. NFR1.1-2: Mật khẩu của người dùng phải được hash bằng MD5. NFR1.1-3: Mật khẩu của người dùng phải trên 8 ký tự.
2.7.1.2 Sơ đồ và đặc tả Use Case đăng ký
Hình 2. 9 Use case đăng ký cho người dùng
Use Case ID UC-1.2 Use Case Name Đăng ký
Description Giúp người dùng (khách hàng) đăng ký tài khoản trên ứng dụng
Actor(s) Người dùng
Priority Có
Trigger Là người dùng, tôi muốn đăng ký tài khoản, để sử dụng dịch vụ tại ứng dụng bán laptop online
Pre-
Condition(s):
Thiết bị của người dùng đã được kết nối internet khi thực hiện đăng ký
Post-
Condition(s):
Người dùng đăng ký tại ứng dụng thành công
Hệ thống ghi nhận hoạt động đăng ký thành công vào Activity đăng