- Xây dựng phần mềm quản lý xưởng sản xuất có đầy đủ chức năng cần thiết cho nhân viên và người quản lý, giao diện thân thiện với người dùng, dễ dàng sử dụng và tiết kiệm thời gian.. - D
TỔNG QUAN VỀ ĐỀ TÀI
Giới thiệu về đề tài
Hệ thống phần mềm mang lại nhiều lợi ích tối ưu cho người quản lý Hệ thống hỗ trợ quản lý thông tin hàng hóa, nhân sự một cách dễ dàng và nhanh chóng Người quản lý có thể nắm rõ số lượng hàng hóa còn lại cũng như số lượng đã bán ra tại xưởng Không chỉ vậy, hệ thống giúp tiết kiệm thời gian đáng kể cho người quản lý và nhân viên Giao diện thân thiện, dễ sử dụng cũng là một ưu điểm của hệ thống.
- Xây dựng phần mềm quản lý xưởng sản xuất có đầy đủ chức năng cần thiết cho nhân viên và người quản lý, giao diện thân thiện với người dùng, dễ dàng sử dụng và tiết kiệm thời gian
Giới hạn và phạm vi đề tài:
- Tên hệ thống: Xưởng Sản Xuất
+ Mang tính chuyên nghiệp cho việc quản lý hàng, nhân sự, khách hàng hoá tối ưu nhất
+ Hồ sơ lưu trữ của sản phẩm và thống kê số lượng sẽ được tốt hơn
+ Đáp ứng nhu cầu xử lý tính toán, tìm kiếm, thống kê, thông tin một cách nhanh chóng, chính xác và có hiệu quả
Với nhu cầu quản lý xưởng và thanh toán hàng hóa hiệu quả, việc sử dụng một phần mềm quản lý như "Phần mềm quản lý xưởng sản xuất" là giải pháp tối ưu Phần mềm này được thiết kế để hỗ trợ người quản lý và nhân viên kiểm tra hàng hóa và thanh toán hóa đơn mua bán dễ dàng và chính xác Nhờ đó, doanh nghiệp có thể nâng cao năng suất làm việc, tránh rủi ro sai sót trong tính toán và tiết kiệm đáng kể chi phí quản lý.
Phân tích yêu cầu đề tài
1.2.1 Tóm tắt yêu cầu của hệ thống
- Là một phần mềm quản lý các sản phẩm đồ gỗ của xưởng
- Là phần mềm động các thông tin được cập nhật liên tục, update thông tin thường xuyên
- Người dùng có thể truy cập xem sản phẩm còn trong xưởng, mua các sản phẩm hoặc thanh toán
- Các sản phẩm phải được sắp xếp logic Vì vậy người dùng sẽ có cái nhìn tổng quan về tất cả các sản phẩm hiện có
- Người dùng có thể xem chi tiết từng sản phẩm (có hình ảnh minh hoạ sản phẩm)
- Người dùng vẫn có thể quay trở lại trang sản phẩm để xem và chọn tiếp, các sản phẩm đã chọn sẽ được lưu vào mục thanh toán để có thể tiến hành thanh toán đơn hàng
- Sản phẩm được sắp xếp có hệ thống nên người dùng dễ tìm kiếm cũng như xem sản phẩm chọn mua và thanh toán dễ dàng
1.2.2 Phạm vi dự án được ứng dụng
- Dành cho nhân viên và quản lý xưởng phục vụ việc quản lý hàng hóa và thanh toán cho khách hàng khi có nhu cầu mua hàng tại xưởng sản xuất
Với nền tảng Android, cửa hàng kết hợp nghiệp vụ và công nghệ mới để quản lý hàng hóa, nhân viên và đơn hàng nhanh chóng, tiết kiệm thời gian và chi phí Ngoài ra, hệ thống còn cập nhật thông tin đến người dùng một cách hiệu quả, giúp họ nắm bắt thông tin mới nhất.
Chức năng của hệ thống
Chức năng quản lý nhân viên
Cung cấp chức năng quản lý nhân viên: giúp cho việc theo dõi thông tin nhân viên của xưởng
✓ Thêm mới nhân viên: Khi xưởng sản xuất thêm sản phẩm mới , người quản lý có thể sử dụng chức năng này để đưa vào cơ sở dữ liệu tiện cho việc quản lý
Tính năng chỉnh sửa thông tin nhân viên trong hệ thống cho phép người quản lý thay đổi các thông tin cá nhân của nhân viên nếu có lỗi hoặc cập nhật mật khẩu khi nhân viên quên.
✓ Xoá nhân viên: Khi nhân viên không còn liên quan đến công việc của xưởng hoặc đã hết hợp đồng làm việc với xưởng, người quản lý sử dụng chức năng này để xóa thông tin nhân viên khi không còn làm việc với xưởng nữa
✓ Liệt kê nhân viên: Duyệt hết tất cả nhân viên hiện đang có trong cơ sở dữ liệu để có thể tiện theo dõi và và cập nhật thông tin thay đổi khi cần thiết
Chức năng quản lý sản phẩm :
Cung cấp chức năng quản lý sản phẩm: giúp cho việc theo dõi các sản phẩm hiện đang có
✓ Thêm mới sản phẩm: Khi xưởng sản xuất thêm sản phẩm mới , người quản lý có thể sử dụng chức năng này để đưa vào cơ sở dữ liệu tiện cho việc quản lý
✓ Cập nhật thông tin sản phẩm: Nếu thông tin liên quan đến sản phẩm có sai sót, người quản lý có thể sử dụng chức năng để cập nhật thông tin của sản phẩm theo đúng thông tin chính xác
✓ Xoá sản phẩm: Khi sản phẩm không còn liên quan đến công việc kinh doanh hoặc đã hết hạn sử dụng, người quản lý sử dụng chức năng này
✓ Liệt kê sản phẩm: Duyệt hết tất cả các sản phẩm hiện đang có trong cơ sở dữ liệu để có thể tiện theo dõi và có cái nhìn trực quan
Chức năng quản lý khách hàng
✓ Nhập thông tin khách hàng
✓ Liệt kê danh sách khách hàng
✓ Thống kê đơn hàng (bao gồm đã thanh toán và chưa thanh toán)
✓ Thống kê đơn hàng theo ngày và theo tháng
✓ Những đơn hàng có giá trị tổng tiền lớn nhất
✓ Thống kê khách hàng mua hàng nhiều nhất
Giao diện của phần mềm
Giao diện thân thiện dễ sử dụng
Màu sắc hài hòa thể hiện rõ hình ảnh sản phẩm, font chữ thống nhất, tiện lợi khi sử dụng
1.4.2 Giao diện người quản trị:
- Giao diện đơn giản dễ quản lý và cập nhật dữ liệu
- Được Bảo vệ bằng User & Password riêng của Admin
- Có sự phân quyền riêng giữa Admin và Member
Phân tích các chức năng của hệ thống
➢ Administrator: là thành viên quản trị của hệ thống, có các quyền và chức năng như: tạo các tài khoản, quản lý sản phẩm, quản trị người dùng, quản lý hoá đơn…
➢ Member: là hệ thống thành viên có chức năng: Đăng kí, đăng nhập, tìm kiếm, xem, sửa thông tin cá nhân, xem đơn hàng hàng, đặt hàng, xem thông tin về các hóa đơn đã lập và thanh toán cho khách.
CƠ SỞ LÝ THUYẾT
2.1 Tìm hiểu về ngôn ngữ JAVA:
Java là một ngôn ngữ lập trình hướng đối tượng phổ biến được sử dụng rộng rãi trong phát triển phần mềm, trang web, ứng dụng cho thiết bị di động và cả trò chơi.
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem năm 1991 Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng, và có tên là Oak
Java được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun MicroSystem
Java được khai sinh tại Sun Microsystem vào năm 1991 bởi James Gosling cùng các đồng nghiệp Ban đầu, Java có tên là Oak và mục đích chính là phát triển phần mềm cho các thiết bị gia dụng.
Hệ điều hành Android bao gồm hệ điều hành, middleware và một số ứng dụng cốt lõi, cung cấp nền tảng cho các thiết bị di động Android SDK cung cấp các công cụ và thư viện API cần thiết để phát triển ứng dụng trên nền tảng này Ngôn ngữ lập trình được sử dụng trong Android là Java.
Những tính năng mà nền tảng Android hổ trợ:
➢ Application framework: Cho phép tái sử dụng và thay thế các thành phần sẳn có của Android
Dalvik virtual macine: Máy ảo java được tối ưu hóa cho thiết bị di động
➢ Intergrated browser: Trình duyệt web tích hợp được xây dựng dựa trên
Optimized graphics: Hổ trợ bộ thư viện 2D và 3D dự vào đặc tả OpenGL ES
➢ SQLite: DBMS dùng để lưu trữ dữ liệu có cấu trúc
Hổ trở các định dạng media phổ biến như: MPEG4, H.264, MP3, AAC, ARM, JPG, PNG, GIF
Hổ trợ thoại trên nền tảng GSM (Phụ thuộc vài phần cứng thiết bị) Bluetooth, EDGE, 3G và WiFi (Phụ thuộc vài phần cứng thiết bị)
Camera, GPS, la bàn và cảm biến (Phụ thuộc vài phần cứng thiết bị)
Lược đồ sau thể hiện các thành phần của hệ điều hành Android:
Hình 1: Mô Hình Kiến Trúc Nần Tảng Android
Hệ điều hành Android tích hợp sẳn một số ứng dụng cơ bản như email client, SMS, lịch điện tử, bản đồ, trình duyệt web, sổ liên lạc và một số ứng dụng khác Ngoài ra tầng này cũng chính là tầng chứa các ứng dụng được phát triển bằng ngôn ngữ Java
Tầng này của hệ điều hành Android cung cấp một nền tảng phát triển ứng dụng mở qua đó cho phép nhà phát triển ứng dụng có khả năng tạo ra các ứng dụng vô cùng sáng tạo và phong phú Các nhà phát triển ứng dụng được tự do sử dụng các tính năng cao cấp của thiết bị phần cứng như: thông tin định vị địa lý, khả năng chạy dịch vụ dưới nền, thiết lập
Tầng này bao gồm một tập các services và thành phần sau:
➢ Content Provider: Cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứng dụng khác hoặc chia sẽ dữ liệu của chúng
➢ Resource Manager: Cung cấp khả năng truy xuất các tài nguyên non-code như hình ảnh hoặc file layout
➢ Notification Manager: Cung cấp khả năng hiển thị custom alert trên thanh status bar
➢ Activity Manager: Giúp quản lý vòng đời của một ứng dụng
Hệ điều hành Android bao gồm một tập các bộ thư viện C/C++ được sử dụng bởi nhiều thành phần của Android system Những tính năng này được cung cấp cho các lập trình viên thông qua bộ framework của Android Dưới đây là một số thư viện cốt lõi:
➢ System C library: một thể hiện được xây dựng từ BSD của bộ thư viện hệ thống C chuẩn (libc), được điều chỉnh để tối ưu hóa cho các thiết bị chạy trên nền Linux
➢ Media libraries: Bộ thư viện hổ trợ trình diễn và ghi các định dạng âm than và hình ảnh phổ biến
➢ Surface manager: Quản lý hiển thị nội dung 2D và 3D
➢ LibWebCore: Một web browser engine hiện đại được sử dụng trong trình duyệt của Android lần trong trình duyệt nhúng web view được sử dụng trong ứng dụng
➢ SGL: Engine hổ trợ đồ họa 2D
➢ 3D libraries: Một thể hiện được xây dựng dựa trên các APIs của OpenGL
ES 1.0 Những thư viện này sử dụng các tăng tốc 3D bằng phần cứng lẫn phần mềm để tối ưu hóa hiển thị 3D
➢ FreeType: Bitmap and vector font rendering
➢ SQLite: Một DBMS nhỏ gọn và mạnh mẽ
Hệ điều hành Android tích hợp sẳn một tập hợp các thư viện cốt lõi cung cấp hầu hết các chức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java Mọi ứng dụng của Android chạy trên một tiến trình của riêng nó cùng với một thể hiện của máy ảo Dalvik Máy ảo Dalvik thực tế là một biến thể của máy ảo Java được sửa đổi, bổ sung các công nghệ đặc trưng của thiết bị di động Nó được xây dựng với mục đích làm cho các thiết bị di động có thể chạy nhiều máy ảo một cách hiệu quả Trước khi thực thi, bất kì ứng dụng Android nào cũng được convert thành file thực thi với định dạng nén Dalvik Executable (dex)
Hệ điều hành Android được xây dựng trên bộ nhân Linux 2.6 cho những dịch vụ hệ thống cốt lõi như: security, memory management, process management, network stack, driver model Bộ nhân này làm nhiệm vụ như một lớp trung gian kết nối phần cứng thiết bị và phần ứng dụng
Dưới đây là mô hình hợp tác giữa máy ảo Dalvik và Navite code:
Hình 2: Mô hình hợp tác giữa máy ảo Dalvik và Navite code
2.3 Các thành phần cơ bản của một ứng dụng Android
Là thành phần quan trọng của bất kỳ một ứng dụng Android nào thuật ngữ Activity chỉ một việc mà người dùng có thể thực hiện trong một ứng dụng Android Do gần như mọi activity đều tương tác với người dùng, lớp Activity đảm nhận việc tạo ra một cửa sổ để người lập trình đặt lên đó một giao diện UI với setContentView (View)
Có hai phương thức mà gần như mọi lớp con của Activity đều phải hiện thực: onCreate(Bundle) - Nơi khởi tạo activity
• onPause () - Nơi giải quyết sự kiện người dùng rời khỏi activity Mọi dữ liệu được người dùng tạo ra tới thời điểm này cần phải được lưu vào ContentProvider
Vòng đời của một activity
Hình 3: Lược đồ vòng đời của 1 activity
Intent is employed with the startActivity() method to initiate an Activity, with broadcastIntent to transmit it to relevant BroadcastReceivers, and with startService(Intent),bindService(Intent, ServiceConnection, int) to interface with background Services.
Hình 4: Sử dụng Intent để trao đổi thông tin giữa hai chương trình
Một service là một thành phần của ứng dụng, thể hiện mong muốn ứng dụng thực hiện các hành động trong khi không tương tác với người dùng hoặc cung cấp chức năng cho các ứng dụng khác sử dụng Nói một cách đơn giản, service là các tác vụ (task) chạy ngầm dưới hệ thống nhằm thực hiện một nhiệm vụ nào đó Mỗi class Service phải chứa thẻ được khai báo trong file AndroidManifext.xml Services có thể được bắt đầu bởi Context.startService() và Context.bindservice()
➢ Vòng đời của một Service
Dù cho một service có được start bao nhiêu lần đi nữa thì nó sẽ bị tắt ngay khi phương thức Context.stopService() hoặc phương thức stopSelf () được gọi Service có thể dùng phương thức stopSelf(int) để đảm bảo rằng service sẽ không được tắt cho đến khi Intent đã khởi tạo nó được xử lý
Hình 5: Lược đồ vòng đời của một Service
Dựa theo hình bên trên, có thể thấy service được bắt đầu bởi phương thức startService() là service thực hiện các tác vụ ngầm dưới nền, trong khi service được bắt đầu bởi phương thức bindService() được dùng để cung cấp các chức năng cho các chương trình khác.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Phân tích thiết kế với uml
Người quản lý là người có toàn quyền tương tác với hệ thống, quyền sử dụng tất cả các chức năng mà ứng dụng xây dựng, điều khiển và kiểm soát mọi hoạt động của ứng dụng
Nhân viên ở đây là những người truy cập vào ứng dụng, có thể đăng kí làm thành viên hoặc không Nhân viên chỉ có một số quyền nhất định đối với ứng dụng
1 Đăng nhập UC này mô tả chức năng đăng nhập vào hệ thống của nhân viên hoặc Admin
2 Đăng kí UC này mô tả chức năng đăng nhập vào hệ thống của người dùng hoặc Admin
3 Khach hang UC này mô tả chức năng quản lý khác hàng cũng như quản lý, sản phẩm
4 Danh sách UC này mô tả chức năng quản lý các hạng mục nội thất, sản phẩm có ở xưởng sản xuất khách UC này mô tả chức năng quản lý danh sách khách hàng
6 Thanh toán UC này mô tả chức năng thanh toán tiền của người dùng
UC này mô tả chức năng xem thông tin sản phẩm có trên app của nhân viên
8 Thống kê UC này mô tả chức năng thống kê theo các tiêu chí khác nhau của Admin
9 Đăng xuất UC này mô tả chức năng thoát khỏi app của quản lý hoặc nhân viên
3.2 Biểu đồ usecase mức tổng quát
3.2.1 Biểu đồ usecase tổng quát
Hình 6:Biểu Đồ Use Case Tổng Quát
3.2.2 Biểu đồ usecase nhân viên
Hình 7:Biểu đồ Use case nhân viên
Hình 8: Biểu đồ Use case admin
3.3 Biểu đồ usecase Phân rã chức năng (mức 2)
3.3.1 Phân rã usecase Quản lý nhân viên
Hình 9: Biểu đồ Use case quản lý nhân viên
3.3.2 Phân rã usecase Quản lý khách hàng
Hình 10:Biểu đồ Use case quản lý khách hàng
3.3.3 Phân rã usecase Thống kê
Hình 11:Biểu đồ Use case thống kê
3.4 Biểu đồ usecase phân rã chức năng (mức 3)
3.4.1 Phân rã usecase Quản lý người dùng
Hình 12: Biểu đồ usecase phân rã chức năng Quản lý người dùng
3.4.2 Phân rã usecase Quản lý sản phẩm
Hình 13: Biểu đồ usecase phân rã chức năng Quản lý sản phẩm
3.4.4 Phân rã usecase Đặt mua
Hình 14: Phân rã usecase Đặt mua
3.5.1 Đặc tả Usecase đăng nhập (Người dùng)
Hình 15: Đặc tả Usecase đăng nhập (Người dùng)
Actor Người dùng là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng đăng nhập vào website của người dùng Sau khi đăng nhập vào website, lúc đó Người dùng mới có thể thực hiện được các chức năng khác, như là: Thanh toán tiền, Gửi ý kiến phản hồi…
Dòng sự kiện a Dòng sự kiện chính
(1) Người dùng chọn chức năng đăng nhập từ trang chủ của website
(2) Trang chủ sẽ mở đến trang đăng nhập
(3) Người dùng nhập tài khoản của mình (bao gồm tên đăng nhập và mật khẩu) (4) Hệ thống xác nhận thông tin đăng nhập
(6) Kết thúc Use Case b Các dòng sự kiện khác
* Dòng sự kiện thứ nhất
(1) Người dùng hủy yêu cầu đăng nhập
(2) Hệ thống bỏ qua trang đăng nhập, trở lại trang hiện tại
* Dòng sự kiện thứ hai
(1) Người dùng nhập sai thông tin đăng nhập
(2) Hệ thống từ chối đăng nhập, hiển thị thông báo và trang đăng nhập
Các yêu cầu đặc biệt
Không có yêu cầu đặc biệt
Trạng thái hệ thống khi bắt đầu thực hiện Use Case
Không đòi hỏi bất cứ điều kiện nào trước đó
Trạng thái hệ thống sau khi thực hiện Use Case
Sau khi đăng nhập thành công, người dùng sẽ được chuyển đến trang chủ hệ thống Họ có thể thực hiện các chức năng tương ứng với quyền đã đăng nhập, bao gồm thanh toán và gửi phản hồi.
* Trường hợp đăng nhập thất bại: Hệ thống đưa ra thông báo đăng nhập không thành công và hiển thị trang chủ Điểm mở rộng
Không có Use Case nào có quan hệ > với Use Case này
3.5.2 Đặc tả Usecase đăng kí tài khoản
Hình 16: Đặc tả Usecase đăng kí tài khoản
Actor Người dùng là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng đăng kí tài khoản của người dùng Sau khi đăng kí tài khoản, lúc đó Người dùng mới có thể đăng nhập vào website và thực hiện được các chức năng như là: Thanh toán tiền, Gửi ý kiến phản hồi…
Dòng sự kiện a Dòng sự kiện chính
(1) Người dùng chọn chức năng đăng kí từ trang chủ của website
(2) Trang chủ sẽ mở đến trang đăng kí
(3) Người dùng nhập đầy đủ thông tin tài khoản và thông tin cá nhân
(4) Hệ thống xác nhận thông tin và lưu lại
(6) Kết thúc Use Case b Các dòng sự kiện khác
* Dòng sự kiện thứ nhất
(1) Người dùng hủy yêu cầu đăng kí
(2) Hệ thống bỏ qua trang đăng kí, trở lại trang hiện tại
* Dòng sự kiện thứ hai
(1) Người dùng nhập sai thông tin tài khoản, cá nhân hoặc tài khoản đã tồn tại (2) Hệ thống thông báo lỗi và yêu cầu nhập lại
Các yêu cầu đặc biệt
Không có yêu cầu đặc biệt
Trạng thái hệ thống khi bắt đầu thực hiện Use Case
Không đòi hỏi bất cứ điều kiện nào trước đó
Trạng thái hệ thống sau khi thực hiện Use Case
* Trường hợp đăng kí thành công: hệ thống hiển thị trang đăng nhập để người dùng có thể đăng nhập vào website và thực hiện các chức năng tương ứng với quyền đăng nhập của mình, như là thanh toán tiền, gửi ý kiến phản hồi
* Trường hợp đăng kí thất bại: Hệ thống đưa ra thông báo đăng kí không thành công và hiển thị trang chủ Điểm mở rộng
Không có Use Case nào có quan hệ với Use Case này
3.5.3 Đặc tả Usecase đặt mua
Hình 17: Đặc tả Usecase đặt mua
Actor Người dùng là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng đặt mua sản phẩm của người dùng Sau khi truy cập vào app và xem thông tin sản phẩm, người dùng có thể đặt mua sản phẩm mà mình cảm thấy vừa ý
Dòng sự kiện a Dòng sự kiện chính
(1) Người dùng chọn chức năng xem của sản phẩm
(2) Trang chủ sẽ mở đến trang thông tin chi tiết của sản phẩm
(3) Người dùng xem và nhấn vào nút “đặt mua”
(4) Hệ thống xác nhận thông tin và lưu lại
(5) Hiển thị trang thông tin sản phẩm
(6) Kết thúc Use Case b Các dòng sự kiện khác
* Dòng sự kiện thứ nhất
(1) Người dùng hủy yêu cầu đặt mua
(2) Hệ thống xóa sản phẩm đó tại danh mục khách và trở lại trang hiện tại (3) Kết thúc Use Case
* Dòng sự kiện thứ hai
(1) Người dùng thay đổi số lượng sản phẩm vừa đặt mua
(2) Hệ thống kiểm tra và lưu lại
* Dòng sự kiện thứ ba
(1) Người dùng đặt mua sản phẩm đã hết
(2) Hệ thống đưa ra thông báo và quay lại trang trước đó
Các yêu cầu đặc biệt
Không có yêu cầu đặc biệt
Trạng thái hệ thống khi bắt đầu thực hiện Use Case
Không đòi hỏi bất cứ điều kiện nào trước đó
Trạng thái hệ thống sau khi thực hiện Use Case
* Trường hợp đặt mua thành công: hệ thống tiến hành thêm sản phẩm vào danh mục giỏ hàng của khách và hiện ra trang thông tin sản phẩm để người dùng tiếp tục đặt mua
* Trường hợp đặt mua thất bại: Hệ thống đưa ra thông báo và quay về trang trước đó Điểm mở rộng
Trong usecase này có các quan hệ gồm thêm sản phẩm, cập nhật số lượng và xóa sản phẩm
3.5.4 Đặc tả Usecase thanh toán
Hình 18: Đặc tả Usecase thanh toán
Actor Nhân viên là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng thanh toán tiền cho sản phẩm của khách đã đặt mua Sau khi đã đặt mua sản phẩm, mục của khách hàng đã tồn tại một hoặc nhiều sản phẩm, nếu muốn mua các sản phẩm này người dùng cần phải chọn UC này để thanh toán
Dòng sự kiện a Dòng sự kiện chính
(1) Nhân viên chọn chức vào danh mục khách hàng và lựa chọn khách hàng cần mua
(2) Trang chủ sẽ mở đến trang khách
(3) Nhân viên xem và nhấn vào nút “thêm sản phẩm trong mục khách hàng” (4) Hệ thống xác nhận thông tin và hiển thị thêm số lượng
(5) Người dùng nhập đầy đủ thông tin
(6) Hệ thống đưa ra thông báo và quay trở lại trang khách hàng
(7) nhân viên nhấn nút “thanh toán” trong mục khách hàng để thanh toán sản phẩm đã chọn
(8) Kết thúc Use Case b Các dòng sự kiện khác
* Dòng sự kiện thứ nhất
(1) Người dùng hủy yêu cầu thanh toán
(2) Hệ thống hủy việc thanh toán, hiển thị trang trước đó
* Dòng sự kiện thứ hai
(1) Người dùng nhập sai thông tin thanh toán
(2) Hệ thống đưa ra thông báo và yêu cầu nhập lại
* Dòng sự kiện thứ ba
(1) Người dùng chưa đăng nhập
(2) Hệ thống sẽ đưa ra thông báo và yêu cầu đăng nhập
Các yêu cầu đặc biệt
Không có yêu cầu đặc biệt
Trạng thái hệ thống khi bắt đầu thực hiện Use Case
Người dùng phải đăng nhập vào hệt hống mới có thể thực hiện UC này
Trạng thái hệ thống sau khi thực hiện Use Case
* Trường hợp thanh toán thành công: Hệ thống tiến hành tiếp nhận thông tin và chuyển sản phẩm đến tay khách hàng
* Trường hợp thanh toán thất bại: Hệ thống đưa ra thông báo và quay về trang trước đó Điểm mở rộng
Không có Use Case nào có quan hệ với Use Case này
Hình 19: Đặc Tả Use Case Đăng nhập (Admin)
Actor Admin là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng đăng nhập vào hệ thống của Admin Sau khi đăng nhập vào hệ thống, trang quản trị sẽ hiển thị và Admin sẽ sử dụng được các chức năng như quản lý, thống kê, quản lý sản phẩm, quản lý khách hàng
Dòng sự kiện a Dòng sự kiện chính
(1) Admin chọn chức năng đăng nhập từ trang chủ
(2) Hệ thống hiển thị trang đăng nhập
(3) Admin nhập tài khoản của mình (bao gồm tên đăng nhập và mật khẩu) (4) Hệ thống xác nhận thông tin đăng nhập
(5) Hệ thống xử lý quyền đăng nhập
(6) Hiển thị trang quản trị
(7) Kết thúc Use Case b Các dòng sự kiện khác
* Dòng sự kiện thứ nhất
(1) Admin hủy yêu cầu đăng nhập
(2) Hệ thống bỏ qua trang đăng nhập, trở lại trang chủ
* Dòng sự kiện thứ hai
(1) Admin nhập sai thông tin đăng nhập
(2) Hệ thống từ chối đăng nhập, hiển thị thông báo và trở về trang chủ (3) Kết thúc Use Case
Các yêu cầu đặc biệt
Không có yêu cầu đặc biệt
Trạng thái hệ thống khi bắt đầu thực hiện Use Case
Không đòi hỏi bất cứ điều kiện nào trước đó
Trạng thái hệ thống sau khi thực hiện Use Case
* Trường hợp đăng nhập thành công: Hệ thống hiển thị trang chủ quản trị
* Trường hợp đăng nhập thất bại: Hệ thống đưa ra thông báo đăng nhập không thành công và hiển thị trang chủ Điểm mở rộng
Không có Use Case nào có quan hệ với Use Case này
3.5.6 Đặc tả Usecase Quản lý nhân viên
Hình 20: Đặc tả Usecase Quản lý nhân viên
Actor Admin là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng quản lý thông tin của Admin Sau khi đăng nhập vào hệ thống, Admin có thể thêm, cập nhật thông tin, xóa các đối tượng có trong hệ thống như: sản phẩm, nhà cung cấp…
Dòng sự kiện a Dòng sự kiện chính
(1) Admin chọn chức năng quản nhân viên tin từ trang chủ
(2) Hệ thống hiển thị trang quản lý nhân viên
(3) Admin nhập đầy đủ thông tin của các đối tượng
(4) Hệ thống kiểm tra và lưu thông tin
(6) Hiển thị trang quản lý nhân viên
(7) Kết thúc Use Case b Các dòng sự kiện khác
* Dòng sự kiện thứ nhất
(1) Admin hủy yêu cầu quản lý nhân viên
(2) Hệ thống bỏ qua trang quản lý thông tin, trở lại trang chủ
* Dòng sự kiện thứ hai
(1) Admin nhập sai hoặc thiếu thông tin của các đối tượng
(2) Hệ thống từ chối thao tác, hiển thị thông báo, trở về trang quản lý nhân viên
Các yêu cầu đặc biệt
Không có yêu cầu đặc biệt
Trạng thái hệ thống khi bắt đầu thực hiện Use Case
Yêu cầu Admin phải đăng nhập vào hệ thống
Trạng thái hệ thống sau khi thực hiện Use Case
* Trường hợp quản lý nhân viên thành công: Hệ thống ghi nhận thao tác, tiến hành cập nhật lai dữ liệu và đưa ra thông báo thành công
* Trường hợp quản lý thông tin thất bại: Hệ thống đưa ra thông báo và hiển thị trang quản lý nhân viên
3.5.7 Đặc tả Usecase Quản lý khách hàng
Hình 21: Đặc tả Usecase Quản lý khách hàng
Actor Admin là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng quản lý thông tin của Admin Sau khi đăng nhập vào hệ thống, Admin có thể thêm, cập nhật thông tin, xóa các đối tượng có trong hệ thống như: sản phẩm, nhà cung cấp…
Dòng sự kiện a Dòng sự kiện chính
(1) Admin chọn chức năng quản nhân viên tin từ trang chủ
(2) Hệ thống hiển thị trang quản lý nhân viên
(3) Admin nhập đầy đủ thông tin của các đối tượng
(4) Hệ thống kiểm tra và lưu thông tin
(6) Hiển thị trang quản lý nhân viên
(7) Kết thúc Use Case b Các dòng sự kiện khác
* Dòng sự kiện thứ nhất
(1) Admin hủy yêu cầu quản lý nhân viên
(2) Hệ thống bỏ qua trang quản lý thông tin, trở lại trang chủ
* Dòng sự kiện thứ hai
(1) Admin nhập sai hoặc thiếu thông tin của các đối tượng
(2) Hệ thống từ chối thao tác, hiển thị thông báo, trở về trang quản lý nhân viên
Các yêu cầu đặc biệt
Không có yêu cầu đặc biệt
Trạng thái hệ thống khi bắt đầu thực hiện Use Case
Yêu cầu Admin phải đăng nhập vào hệ thống
Trạng thái hệ thống sau khi thực hiện Use Case
* Trường hợp quản lý nhân viên thành công: Hệ thống ghi nhận thao tác, tiến hành cập nhật lai dữ liệu và đưa ra thông báo thành công
* Trường hợp quản lý thông tin thất bại: Hệ thống đưa ra thông báo và hiển thị trang quản lý nhân viên
3.5.8 Đặc tả Usecase Quản lý danh sách
Hình 22: Đặc tả Usecase Quản lý danh sách
Actor Admin và nhân là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng quản lý danh sách sản phẩm của Admin và nhân viên Sau khi đăng nhập vào hệ thống, Admin có thể thêm, cập nhật thông tin, xóa các đối tượng có trong hệ thống như: sản phẩm … , còn nhân viên sẽ bị hạn chế một số chức năng
Dòng sự kiện a Dòng sự kiện chính
(1) Admin chọn chức năng danh sách từ trang chủ
(2) Hệ thống hiển thị trang quản lý danh sách sản phẩm
(3) Admin nhập đầy đủ thông tin của các đối tượng
(4) Hệ thống kiểm tra và lưu thông tin
(6) Hiển thị trang danh sách sản phẩm
(7) Kết thúc Use Case b Các dòng sự kiện khác
* Dòng sự kiện thứ nhất
(1) Admin hủy yêu cầu quản lý nhân viên
(2) Hệ thống bỏ qua trang quản lý thông tin, trở lại trang chủ
* Dòng sự kiện thứ hai
(1) Admin nhập sai hoặc thiếu thông tin của các đối tượng
(2) Hệ thống từ chối thao tác, hiển thị thông báo, trở về trang quản lý nhân viên
Các yêu cầu đặc biệt
Không có yêu cầu đặc biệt
Trạng thái hệ thống khi bắt đầu thực hiện Use Case
Yêu cầu Admin phải đăng nhập vào hệ thống
Trạng thái hệ thống sau khi thực hiện Use Case
* Trường hợp quản lý nhân viên thành công: Hệ thống ghi nhận thao tác, tiến hành cập nhật lai dữ liệu và đưa ra thông báo thành công
* Trường hợp quản lý thông tin thất bại: Hệ thống đưa ra thông báo và hiển thị trang quản lý nhân viên
3.5.9 Đặc tả Usecase Thống kê
Hình 23: Đặc tả Usecase Thống kê
Actor Admin là người sử dụng Use Case này Use Case này được sử dụng để thực hiện chức năng thống kê theo một tiêu chí nào đó
Dòng sự kiện a Dòng sự kiện chính
(1) Admin chọn chức năng tìm kiếm từ trang chủ quản trị
(2) Hệ thống đưa tra các tiêu chí để thống kê cho Admin lựa chọn
(3) Admin lựa chọn tiêu chí muốn thống kê
(4) Hệ thống xác nhận thông tin và thực hiện thống kê
(5) Hệ thống trả về thông tin thống kê
(6) Kết thúc Use Case b Các dòng sự kiện khác
* Dòng sự kiện thứ nhất
(1) Admin hủy việc việc thống kê
(2) Hệ thống bỏ qua trang thống kê, trở lại trang chủ quản trị
* Dòng sự kiện thứ hai
(1) Hệ thống có lỗi trong quá trình thống kê
(2) Hệ thống thông báo lỗi
Các yêu cầu đặc biệt
Không có yêu cầu nào đặc biệt
Trạng thái hệ thống khi bắt đầu thực hiện Use Case
Admin phải đăng nhập trước khi thực hiện chức năng này
Trạng thái hệ thống sau khi thực hiện Use Case
* Trường hợp thành công: hệ thống hiển thị thông tin thống kê theo tiêu chí đã chọn
* Trường hợp thất bại: Hệ thống đưa ra thông báo lỗi và trở lại trang thống kê Điểm mở rộng
Các UC có quan hệ với UC này là: thống kê doanh thu, thống kê sản phẩm
Hình 24: Biểu Đồ Tuần Tự Chức Năng Đăng Ký
• Admin chọn chức năng đăng kí
• Giao diện hiển thị form đăng kí và yêu cầu nhập đầy đủ thông tin
• Admin nhập thông tin và ấn nút đăng kí
• Hệ thống kiểm tra tính hợp lệ của thông tin
• Nếu đúng thì tài khoản được tạo và thêm vào cơ sở dữ liệu và báo thành công
• Nếu sai thì báo lỗi
Hình 25: Biểu đồ tuần tự chức năng đăng nhập
• Admin chọn chức năng đăng nhập
• Giao diện đăng nhập yêu cầu nhập tài khoản và password
• Admin nhập tài khoản và password
• Hệ thống kiểm tra tính hợp lệ của thông tin
• Nếu đúng thì đăng nhập thành công
• Nếu sai thì báo lỗi
3.6.2 Chức năng Quản lý nhân viên
❖ Chức năng thêm nhân viên
Hình 26: Biểu đồ tuần tự chức thêm nhân viên
3.6.2 Chức năng xóa nhân viên
Hình 27: Biểu đồ tuần tự chức năng xóa nhân viên
Hình 28: Biểu đồ tuần tự chức năng đặt mua
Hình 29: Biểu đồ tuần tự chức năng thanh toán
3.6.5 Chức năng thêm sản phẩm
Hình 30: Biểu đồ tuần tự chức năng thêm sản phẩm
3.6.6 Chức năng sửa thông tin sản phẩm
Hình 31:Biểu đồ tuần tự chức năng sửa thông tin sản phẩm
3.6.7 Chức năng xóa sản phẩm
Hình 32: Biểu đồ tuần tự chức năng xóa sản phẩm
Hình 33: Biểu đồ tuần tự chức tìm kiếm
Hình 34: Biểu đồ tuần tự chức năng thống kê
3.7.1 Biểu đồ hoạt động chức năng đăng kí
Hình 35: Biểu đồ hoạt động chức năng đăng kí
3.7.2 Biểu đồ hoạt động chức năng đăng nhập
Hình 36: Biểu đồ hoạt động chức năng đăng nhập
3.7.3 Biểu đồ hoạt động chức năng quản lý nhân viên
Hình 37: Biểu đồ hoạt động chức năng quản lý nhân viên
3.7.4 Biểu đồ hoạt động chức năng quản lý khách hàng
Hình 38: Biểu đồ hoạt động chức năng quản lý khách hàng
3.7.5 Biểu đồ hoạt động chức năng quản lý sản phẩm
Hình 39:Biểu đồ hoạt động chức năng quản lý sản phẩm
3.7.6 Biểu đồ hoạt động chức năng quản lý thống kê
Hình 40: Biểu đồ hoạt động chức năng quản lý thống kê
3.8 Thiết kế cơ sở dữ liệu
Dùng để lưu thông tin về đơn mua của khách hàng
Name Type Null Chú thích
MaDonMua Int(10) No Mã Đơn Mua
MaKhach Int(10) No Mã Khách Hàng
Manv Int(10) No Mã nhân viên
TinhTrang Varchar(255) No Tình Trạng
NgayMua Varchar(255) No Ngày Mua
Tongtien Varchar(255) No Tổng Tiền
* Bảng chi tiết đơn mua:
Dùng để lưu thông tin về thông tin chi tiết đơn mua
Name Type Null Chú thích
MaDonMua Int(10) No Mã đơn mua
MaHang Int(10) No Mã thuốc diachi Int(10) No Địa chỉ
Dùng để quản lí danh mục khách hàng
Name Type Null Chú thích
MaKhach Int(10) No Mã Khách
TenKhach Int(11) No Tên Khách
Tinhtrang Text No Tình Trạng
Dùng để quản lý loại sản phẩm
Name Type Null Chú thich
MaLoai Int(10) No Mã loại
TenLoai Varchar(255) No Tên loại
HinhAnh byte No Hình ảnh
Dùng để quản lý hàng
Name Type Null Chú thích
MaHang Int(20) No Mã hàng
TenHang Varchar(255) No Tiên hàng
GiaTien Varchar(255) No Giá Tiền
TinhTrang Varchar(255) No Tình Trạng
HinhAnh byte No Hình ảnh
MaLoai Varchar(255) No Mã Loại
Dùng để quản lý Nhân viên
Name Type Null Chú thích
MaNV Int(20) No Mã nhân viên
MaQuyen Int(20) No Mã Quyền
TenDN Varchar(255) No Tên đăng nhập
MatKhau Varchar(255) No Mật khẩu
SĐT Varchar(255) No Số điện thoại
GioiTinh Varchar(255) No Giới tính
NgaySinh Varchar(255) No Ngày sinh
Dùng để phân quyền quản lý và nhân viên
Name Type Null Chú thích
MaQuyen Int(20) No Mã Quyền
TenQuyen Varchar(255) No Tên quyền
Dùng để thanh toán đơn hàng cho khách hàng
Name Type Null Chú thích
Tenhang Varchar(255) No Mã Quyền
Soluong Int(20) No Tên quyền
Các bước thực hiện kiểm thử chấp nhận:
- Phân tích các yêu cầu nghiệp vụ của phần mềm
- Tạo kế hoạch kiểm tra Acceptance Testing
- Xác định các kịch bản kiểm thử
- Tạo các trường hợp kiểm tra Acceptance Testing
- Chuẩn bị data test (giống với data thật nhất)
- Xác nhận các chức năng của sản phẩm
Các bước thực hiện hệ thống
- Phân tích và thiết kế (Tạo testcase và các bước kiểm tra chi tiết cho mỗi version)
- Thực thi test bao gồm thực hiện test và chạy test (chuẩn bị data test, chạy case và so sánh kết quả)
- Đánh giá kết quả thực thi và báo cáo kết quả test
Các bước thực hiện kiểm thử tích hợp:
- Chọn mô-đun hoặc thành phần sẽ được kiểm tra
- Thiết kế các kịch bản thử nghiệm, trường hợp, và Script (Test Scenarios, Cases, and Scripts)
- Thực hiện kiểm tra theo test case đã viết
- Theo dõi & tái kiểm tra các lỗi ở trên
- Lặp lại các bước trên cho đến khi hệ thống hoàn chỉnh được kiểm tra đầy đủ
Quy trình kiểm thử đơn vị được thực hiện trong 4 giai đoạn:
Quá trình kiểm tra đơn vị bao gồm:
- Devs viết code trong ứng dụng để kiểm tra chức năng
Đoạn mã sau đó được các Dev cô lập nhằm mục đích xác định và loại bỏ các sự phụ thuộc.
- Devs sử dụng đáng kể các Unit test frameworks hoặc các tools kiểm thử đơn vị để phát triển các trường hợp kiểm thử tự động
KẾT QUẢ ĐẠT ĐƯỢC
Hình 41 : Giao diện Đăng Nhập
Hình 43 Giao Diện Trang Chủ Hình 42 Giao Diện Tạo Tài Khoản
Hình 45 : Giao Diện Thêm Nhân Viên Hình 44: Giao Diện Quản Lý Nhân Viên
Hình 46: Giao Diện Quản Lý Khách hàng
Hình 47: Giao Diện Thêm Khách Hàng
Hình 48 : Giao Diện Các hạng Mục Hàng Hóa
Hình 49 : Giao Diện Thống Kê
Hình 50: Giao Diện Chi Tiết Đơn Mua
4.2 Đánh giá kết quả Ứng dụng được xây dựng sử dụng thành công trên điện thoại di động hệ điều hành android
Thực hiện đầy dủ các chức năng như đã phân tích So với những ứng dụng đã được phát triển hiện nay, ứng dụng được xây dựng trong phạm vi luận văn đã phát triển thêm các chúc năng khác để hỗ trợ người dùng trong quá trình sử dụng
4.3 Sản Phẩm hoàn thành https://drive.google.com/drive/folders/1lrIgFeeuU8UrLWUPkKL9vS8qtyMZA fF7?usp=sharing