1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án tốt nghiệp xây dựng hệ thống quản lý kho greaterwms

88 14 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng hệ thống quản lý kho GreaterWMS
Tác giả Nguyễn Đức Anh
Người hướng dẫn ThS. Lê Tấn Hùng
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công nghệ thông tin và truyền thông
Thể loại đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 88
Dung lượng 4,05 MB

Cấu trúc

  • CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI (0)
    • 1.1 Đặt vấn đề (13)
    • 1.2 Mục tiêu và phạm vi đề tài (13)
    • 1.3 Định hướng giải pháp (14)
    • 1.4 Bố cục đồ án (15)
  • CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU (0)
    • 2.1 Khảo sát hiện trạng (17)
    • 2.2 Tổng quan chức năng (19)
      • 2.2.1 Biểu đồ use case phân rã quản lý nhập kho (ASN) (20)
      • 2.2.2 Biểu đồ use case phân rã quản lý xuất kho (21)
      • 2.2.3 Biểu đồ use case phân rã quản lý thông tin hàng hóa (22)
      • 2.2.4 Biểu đồ use case phân rã quản lý thông tin hàng tồn kho (23)
      • 2.2.5 Biểu đồ use case phân rã quản lý thông tin nhân viên (23)
      • 2.2.6 Biểu đồ use case phân rã quản lý thông tin ngăn lưu trữ (24)
      • 2.2.7 Quy trình nghiệp vụ (24)
      • 2.2.8 Quy trình nghiệp vụ quản lý nhập kho (25)
      • 2.2.9 Quy trình nghiệp vụ quản lý xuất kho (26)
    • 2.3 Đặc tả chức năng (27)
      • 2.3.1 Đặc tả use case CRUD đơn nhập kho (27)
      • 2.3.2 Đặc tả use case B (28)
      • 2.3.3 Đặc tả use case quản lý hàng hóa (30)
      • 2.3.4 Đặc tả use case quản lý ngăn lưu hàng (34)
      • 2.3.5 Đặc tả use case quản lý nhân viên (36)
      • 2.3.6 Đặc tả use case quản lý nhà cung cấp (38)
    • 2.4 Yêu cầu phi chức năng (43)
      • 2.4.1 Yêu cầu đáp ứng với Server (43)
      • 2.4.2 Yêu cầu đáp ứng với Cơ sở dữ liệu (44)
      • 2.4.3 Đáp ứng yêu cầu về bảo mật (44)
      • 2.4.4 Đáp ứng yêu cầu mỹ thuật, kỹ thuật của giao diện chương trình (44)
      • 2.4.5 Đáp ứng về xử lý logic với việc nhập liệu qua các ô nhập liệu (44)
  • CHƯƠNG 3. CÔNG NGHỆ SỬ DỤNG (0)
    • 3.1 Django (46)
      • 3.1.1 Tổng quan (46)
      • 3.1.2 Tính chất (46)
      • 3.1.3 Kiến trúc (47)
      • 3.1.4 Ưu điểm (48)
      • 3.1.5 Nhược điểm (49)
      • 3.1.6 Kết luận (49)
    • 3.2 Framework VueJs (49)
      • 3.2.1 Tổng quan về Vuejs (49)
      • 3.2.2 Ưu điểm (49)
      • 3.2.3 Nhược điểm (49)
      • 3.2.4 Kết luận (50)
    • 3.3 Hệ quản trị cơ sở dữ liệu Mysql (50)
      • 3.3.1 Tổng quan (50)
      • 3.3.2 Ưu điểm (50)
      • 3.3.3 Nhược điểm (51)
      • 3.3.4 Kết luận (51)
    • 4.1 Thiết kế kiến trúc (52)
      • 4.1.1 Lựa chọn kiến trúc phần mềm (52)
      • 4.1.2 Thiết kế tổng quan (53)
      • 4.1.3 Thiết kế chi tiết gói (54)
    • 4.2 Thiết kế chi tiết (56)
      • 4.2.1 Thiết kế giao diện (56)
      • 4.2.2 Thiết kế lớp (58)
      • 4.2.3 Thiết kế cơ sở dữ liệu (61)
    • 4.3 Xây dựng ứng dụng (70)
      • 4.3.1 Thư viện và công cụ sử dụng (70)
      • 4.3.2 Kết quả đạt được (70)
      • 4.3.3 Minh họa các chức năng chính (71)
    • 4.4 Kiểm thử (73)
      • 4.4.1 Kiểm tra tương thích (73)
      • 4.4.2 Kiểm thử tải của hệ thống (74)
      • 4.4.3 Kiểm thử hộp đen (76)
      • 4.4.4 Tổng kết kiểm thử (78)
    • 4.5 Triển khai (78)
  • CHƯƠNG 5. CÁC GIẢI PHÁP VÀ ĐÓNG GÓP NỔI BẬT (0)
    • 5.1 Bài toán quản lý nhập kho và các trạng thái hàng hóa khi nhập kho (80)
      • 5.1.1 Bài toán (80)
      • 5.1.2 Giải pháp (80)
      • 5.1.3 Kết quả (81)
    • 5.2 Bài toán quản lý xuất kho và các trạng thái hàng hóa khi xuất kho (82)
      • 5.2.1 Giải pháp (82)
  • CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (0)
    • 6.1 Kết luận (85)
    • 6.2 Hướng phát triển (85)
  • TÀI LIỆU THAM KHẢO (0)

Nội dung

GIỚI THIỆU ĐỀ TÀI

Đặt vấn đề

Hiện nay, Việt Nam có khoảng 683.000 doanh nghiệp sản xuất kinh doanh, trong đó kho hàng đóng vai trò quan trọng trong việc lưu trữ nguyên liệu thô và sản phẩm Quản lý kho bãi đòi hỏi tính chính xác của dữ liệu cho mọi giao dịch hàng hóa, và với sự phát triển của công nghệ thông tin, việc xử lý thông tin ngày càng trở nên dễ dàng hơn Hệ thống Quản lý Kho hiện đại là cần thiết để nâng cao hiệu quả và độ chính xác, đồng thời giải quyết các vấn đề tồn tại trong kho Các nghiệp vụ kho điển hình như tiếp nhận, chuyển hàng, bổ sung nội bộ, chọn đơn hàng, tích lũy và phân loại, đóng gói và vận chuyển, đều cần có hệ thống thông tin hỗ trợ để kiểm soát dữ liệu hiệu quả Do đó, việc ghi lại chính xác các giao dịch kho và tối ưu hóa kho dựa trên thông tin thời gian thực là yêu cầu thiết yếu.

Mục tiêu và phạm vi đề tài

Sau khi nghiên cứu các sản phẩm WMS trong nước và quốc tế, hiện có hai nhóm giải pháp hỗ trợ quản lý kho: (1) quản lý kho bằng Excel, và (2) phần mềm quản lý chỉ tập trung vào chức năng nhập và xuất kho.

Nhóm giải pháp quản lý kho bằng Excel đã được sử dụng rộng rãi tại Việt Nam, tuy nhiên, khi khối lượng hàng hóa tăng lên, Excel không thể xử lý dữ liệu lớn một cách hiệu quả, dẫn đến tình trạng chậm chạp Một số mẫu Excel phổ biến như banhangexcel.com chỉ cung cấp những tính năng cơ bản như theo dõi số lượng hàng nhập và xuất, mà không cho biết trạng thái đơn hàng hay vị trí hàng hóa trong kho Để áp dụng công nghệ vào quản lý kho hiệu quả, cần thực hiện các bước chính: (i) Tạo đơn nhập kho và theo dõi, (ii) Tạo đơn xuất kho và theo dõi đến khi giao hàng, (iii) Quản lý hàng tồn kho, và (iv) Đếm chu kỳ hàng tồn kho Các sản phẩm quản lý bằng Excel vẫn còn nhiều hạn chế, chỉ tập trung vào một vấn đề mà chưa đi sâu vào các thành phần chi tiết liên quan.

Nhóm giải pháp thứ hai bao gồm nhiều doanh nghiệp phát triển phần mềm quản lý kho, nổi bật như KiotViet với phần mềm quản lý hàng tồn kho và Sapo với phần mềm Haravan Những phần mềm này có nhiều ưu điểm so với nhóm giải pháp đầu tiên, nhờ vào khả năng tích hợp với hầu hết các phần mềm bán hàng, giúp người quản lý dễ dàng theo dõi Tuy nhiên, vẫn còn thiếu một số quy trình trong quản lý kho, như trạng thái đơn xuất nhập kho và quy trình đếm chu kỳ hàng tồn kho.

Cả hai giải pháp quản lý hàng tồn kho đều có nhiều ưu điểm, nhưng vẫn thiếu một số quy trình quan trọng Đồ án này hướng đến việc phát triển phần mềm quản lý dữ liệu kho, giúp theo dõi đơn nhập xuất kho và quản lý hàng tồn kho hiệu quả Phần mềm GreaterWMS không chỉ hỗ trợ quản lý chung mà còn duy trì tính chính xác của hàng tồn kho bằng cách ghi lại tất cả các giao dịch trong kho.

Định hướng giải pháp

Dựa trên yêu cầu tại mục 1.2, cần phát triển phần mềm quản lý thông tin vào ra kho và thông tin hàng tồn kho một cách chính xác Những giải pháp đề xuất để giải quyết vấn đề này được trình bày rõ ràng trong bảng 1.1.

Bảng 1.1: Vấn đề đặt ra và định hướng giải pháp

Yêu cầu Vấn đề cần giải quyết Định hướng giải pháp

Xây dựng chức năng tạo đơn nhập kho để tiếp nhận thông tin từ người dùng, bao gồm đại lý cung cấp và số lượng hàng hóa Đồng thời, quản lý thông tin đơn nhập kho một cách hiệu quả.

Xây dựng các chức năng liên quan đến tạo đơn nhập kho, chuyển trạng thái đơn, xác nhận đơn, thêm vào kho Quản lý xuất kho

Xây dựng chức năng tạo đơn nhập kho, tiếp nhận các thông tin từ người dùng bao gồm khách hàng, số lượng hàng, tên mặt hàng.

Quản lý thông tin về đơn xuất kho

Xây dựng các chức năng quản lý đơn xuất kho,: xác nhận đơn hàng, xác nhận đã đóng đơn, vận chuyển, theo dõi vận chuyển

Quản lý hàng tồn kho

Theo dõi lượng hàng tồn

Xây dựng tính năng đếm dữ liệu tồn kho khi nhập xuất hàng hóa là rất quan trọng, giúp quản lý số lượng hàng tồn kho thực tế và hàng tồn kho có sẵn một cách hiệu quả Tính năng này cũng hỗ trợ việc thực hiện đếm chu kỳ, từ đó đảm bảo tính chính xác trong việc theo dõi và kiểm soát hàng hóa.

Quản lý các thông tin chung

Các thông tin cần thiết khi nhập xuất kho

Xây dựng chức năng quản lý thông tin mặt hàng bao gồm kích thước, nguồn gốc và loại mặt hàng Đồng thời, phát triển tính năng quản lý thông tin khách hàng, nhà phân phối, nhân viên, cũng như quản lý giao hàng, cước phí và vốn.

Trong đồ án này, tôi sẽ phát triển một phần mềm hỗ trợ quản lý kho, tập trung vào các chức năng chính như quản lý thông tin nhập kho và xuất kho, theo dõi hàng tồn kho, phân quyền người dùng, cùng với việc quản lý dữ liệu chung liên quan đến hàng hóa, khách hàng, nhà cung cấp, cước phí, vốn và quy trình giao hàng.

Phần mềm được phát triển trên nền tảng web, bao gồm hai phần chính: Frontend và Backend Backend sử dụng công nghệ Django để xây dựng web service, cung cấp các tính năng quản lý nhập kho, xuất kho và hàng tồn kho Ngoài ra, phần mềm còn hỗ trợ quản lý thông tin chung như hàng hóa, người dùng, khách hàng, nhà cung ứng, vốn, cước và giao hàng.

Phần Frontend được phát triển trên nền tảng web kết hợp với cơ sở dữ liệu mã nguồn mở Mysql, mang đến giao diện người dùng cho các chức năng do Backend hỗ trợ Các tính năng chính bao gồm quản lý nhập kho, quản lý xuất kho, quản lý hàng tồn kho và quản lý thông tin chung.

Bố cục đồ án

Phần còn lại của báo cáo đồ án tốt nghiệp này được tổ chức như sau.

Chương 2 trình bày về hiện trạng mà em đã khảo sát nhu cầu tại các doanh nghiệp, từ đó đưa ra các phân tích yêu cầu đề giải quyết những yêu cầu thực tế về quản lý kho Trong đó em sẽ nêu rõ những usecase sử dụng dành cho từng người dùng trong hệ thống, miêu tả rõ quy trình nghiệp vụ, mô tả những chức năng quan trọng và những yêu cầu phi chức năng của hệ thống

Trong Chương 3, bài viết sẽ trình bày các công nghệ được áp dụng trong quá trình xây dựng sản phẩm, dựa trên những phân tích thiết kế đã được thực hiện ở Chương 2.

Django được sử dụng để xây dựng Web Service cung cấp các Restful API kết nối với cơ sở dữ liệu MySQL, cho phép xử lý dữ liệu và cung cấp API cho các hệ thống khác Đồng thời, Vue framework được áp dụng để phát triển website tương tác với các Restful API từ Backend Chương 4 của báo cáo sẽ trình bày quá trình phát triển, kiểm thử và triển khai ứng dụng, bao gồm kiến trúc hệ thống, thiết kế lớp, thiết kế gói, thiết kế cơ sở dữ liệu, thiết kế giao diện và công cụ phát triển Phần kiểm thử sẽ đề cập đến các kỹ thuật như kiểm thử đơn vị và kiểm thử tích hợp Cuối cùng, kế hoạch triển khai hệ thống sẽ được thảo luận cho các môi trường phát triển, kiểm thử, ổn định và thực tế.

Trong báo cáo này, tôi xin trình bày những đóng góp và giải pháp nổi bật của mình trong quá trình phát triển ứng dụng, bao gồm việc xây dựng quy trình nhập kho, quy trình xuất kho và quản lý hàng tồn kho hiệu quả Những cải tiến này không chỉ giúp tối ưu hóa quy trình logistics mà còn nâng cao khả năng kiểm soát hàng hóa, đảm bảo tính chính xác và kịp thời trong quản lý kho.

Chương 6 của bài viết tổng kết về sản phẩm, nêu rõ những thiếu sót trong quá trình phát triển phần mềm Nội dung chương này cũng chia sẻ những kinh nghiệm quý báu đã tích lũy được trong quá trình xây dựng hệ thống và đề xuất hướng phát triển trong tương lai nhằm hoàn thiện và nâng cao chất lượng sản phẩm.

KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU

Khảo sát hiện trạng

Quản lý kho đóng vai trò quan trọng trong việc điều phối các hoạt động liên quan đến hàng hóa, bao gồm sắp xếp, xuất nhập kho và vận chuyển, nhằm giảm chi phí lưu thông và tối ưu hóa sử dụng cơ sở vật chất Họ cần giám sát cả nguyên liệu thô và thành phẩm, phục vụ cho nhu cầu nội bộ hoặc cho thuê Nhiệm vụ chính của quản lý kho là theo dõi công nhân trong việc sắp xếp, kiểm kê và báo cáo tình trạng hàng hóa Đối với các kho hàng lớn, việc quản lý thủ công sẽ tốn nhiều thời gian và công sức, đồng thời gặp nhiều khó khăn trong quá trình vận hành.

Hiện nay, phần mềm quản lý kho ngày càng phổ biến trên thị trường, nhưng nhiều giải pháp vẫn chưa đáp ứng được nhu cầu xử lý dữ liệu thời gian thực trong quản lý kho hàng Hơn nữa, việc sử dụng giấy tờ cho các báo cáo hiện tại gây cản trở và làm chậm các quy trình khác của doanh nghiệp.

Hiện nay, thị trường đã xuất hiện nhiều sản phẩm hiệu quả trong việc tối ưu hóa quy trình quản lý kho, giúp theo dõi số lượng hàng hóa thiếu hụt và dư thừa Mặc dù giải pháp theo dõi và quản lý đơn nhập xuất vẫn còn nhiều hạn chế, nhưng một số hệ thống đã được phát triển với chức năng tương tự Những phần mềm quản lý kho nổi bật bao gồm KiotViet, Sapo và SOF Để có cái nhìn tổng quát hơn về các sản phẩm này, chi tiết sẽ được trình bày trong bảng 2.1.

Bảng 2.1: Bảng so sánh các giải pháp

Sản phẩm Mô tả Điểm mạnh, điểm yếu Phần mềm quản lý kho KiotViet

Kiotviet là giải pháp công nghệ thông tin toàn diện dành cho doanh nghiệp vừa và nhỏ, hỗ trợ quản lý bán hàng và khách hàng hiệu quả Phần mềm này cho phép người dùng tạo phiếu kiểm kho và thực hiện kiểm kê hàng hóa một cách nhanh chóng chỉ với smartphone hoặc máy tính bảng, giúp tiết kiệm thời gian Ưu điểm nổi bật của Kiotviet là khả năng quản lý toàn diện, tuy nhiên, nhược điểm là chưa phát triển nhiều tính năng quản lý kho, như chuyển trạng thái nhập xuất đơn và đếm chu kỳ cho kho.

Phần mềm quản lý kho SOF

Phần mềm quản lý danh mục hàng hóa cung cấp các tính năng quản lý sản phẩm, nhà cung cấp, mua hàng, kho hàng, nhập kho, xuất kho và kiểm kho, hỗ trợ doanh nghiệp có nhiều chi nhánh với khả năng tích hợp nhanh chóng với các module khác Ưu điểm của phần mềm là khả năng hoạt động trên mọi hệ điều hành và tính thân thiện với Word, Excel Tuy nhiên, nhược điểm là phần mềm chỉ chạy trên desktop và giao diện chưa được bắt mắt.

Phần mềm quản lý bán hàng có khả năng đáp ứng nhu cầu quản lý kho hiệu quả hơn so với Excel, đặc biệt khi làm việc với số lượng hàng hóa lớn Trong khi Excel phù hợp với công nghệ cũ, phần mềm này cung cấp giao diện thân thiện hơn với người dùng, giúp nâng cao trải nghiệm quản lý.

Tổng quan chức năng

Người dùng chưa đăng nhập sẽ không thể sử dụng các tính năng của hệ thống Để khắc phục, quản trị viên cần tạo tài khoản và nhập thông tin cá nhân của nhân viên vào hệ thống, sau đó cung cấp thông tin đăng nhập Quyền truy cập của người dùng sẽ tương ứng với các nhiệm vụ đã được xác định sẵn trong cơ sở dữ liệu.

Sau khi đăng nhập, quản lý sẽ được chuyển đến giao diện đầy đủ chức năng, cho phép xem bảng điều khiển, nhập kho, xuất kho, quản lý hàng tồn kho, quản lý thông tin chung và xuất báo cáo.

Nhân viên quản lý kho sẽ được truy cập vào giao diện để thực hiện các chức năng theo quyền hạn được cấp, bao gồm quản lý nhập xuất kho, quản lý thông tin cơ sở và quản lý hàng tồn kho.

Vai trò quản trị viên hệ thống có thể thực hiện tất cả các chức năng của hệ thống cung cấp.

Các chức năng trong hệ thống quản lý có thể được phân loại dựa trên yêu cầu của môi trường triển khai thực tế, với sự chi tiết đến từng chức năng hoặc API cụ thể Các trường hợp sử dụng phần mềm được minh họa rõ ràng trong Hình 2.1.

Hình 2.1: Biểu đồ use case tổng quan

Trong phần tiếp theo, tôi sẽ phân tích các use case chính liên quan đến nghiệp vụ quản lý kho, bao gồm quản lý nhập kho, quản lý xuất kho, quản lý hàng tồn kho và quản lý thông tin hàng hóa Những use case này sẽ giúp làm rõ các chức năng thiết yếu trong quản lý kho.

2.2.1 Biểu đồ use case phân rã quản lý nhập kho (ASN)

Hình 2.2: Biểu đồ phân rã use case quản lý nhập kho

Biểu đồ use case trong quản lý nhập kho cho thấy các tình huống cụ thể, trong đó nhân viên có quyền tạo đơn nhập kho có thể thực hiện các thao tác như tạo đơn hàng mới, nhập thông tin nhà cung cấp, mã hàng hóa và số lượng hàng hóa Sau khi hoàn tất, hệ thống sẽ tự động cập nhật số lượng tồn kho tương ứng với đơn nhập kho.

Hình 2.3: Biểu đồ phân rã use case quản lý xuất kho

Hình 2.3 trình bày các use case chi tiết trong quản lý xuất kho Trong quy trình này, nhân viên có khả năng tạo mới đơn xuất kho sau khi nhập thông tin khách hàng, loại hàng hóa và số lượng hàng hóa Hệ thống sẽ ghi nhận số lượng hàng đã xuất, và khi trạng thái đơn hàng chuyển sang "đã xuất", hệ thống sẽ tự động cập nhật trạng thái trong kho.

2.2.3 Biểu đồ use case phân rã quản lý thông tin hàng hóa

Hình 2.4: Biểu đồ phân rã use case quản lý thông tin hàng hóa

Biểu đồ Hình 2.4 minh họa các use case trong quản lý thông tin hàng hóa, bao gồm các chức năng như xem, sửa, xóa và xuất thông tin Quản lý hàng hóa trong kho là rất quan trọng để theo dõi các mặt hàng hiện có Nhân viên có thể tạo dữ liệu mới thủ công hoặc thêm hàng loạt thông qua tính năng tải file, giúp cung cấp thông tin hàng hóa nhanh chóng Ngoài ra, tính năng tìm kiếm cũng hỗ trợ việc tra cứu thông tin hàng hóa một cách hiệu quả.

2.2.4 Biểu đồ use case phân rã quản lý thông tin hàng tồn kho

Hình 2.5: Biểu đồ phân rã use case quản lý thông tin hàng hóa

Biểu đồ phân rã use case quản lý thông tin hàng tồn kho cho thấy quy trình kiểm duyệt kho, trong đó nhân viên được phân quyền thực hiện chức năng đếm chu kỳ Đếm chu kỳ là phương pháp kiểm tra số lượng hàng tồn kho thực tế so với hồ sơ của công ty, giúp xác nhận tính chính xác của thông tin hàng hóa lưu kho.

2.2.5 Biểu đồ use case phân rã quản lý thông tin nhân viên

Hình 2.6: Biểu đồ phân rã use case quản lý thông tin nhân viên

Hình 2.6 mô tả phân rã use case cho chức năng quản lý nhân viên của người quản lý hệ thống Chức năng này cho phép quản lý tạo và thêm mới nhân viên, cũng như cấp tài khoản cho người dùng mới, giúp họ truy cập vào hệ thống và sử dụng các chức năng mà họ được phân quyền.

2.2.6 Biểu đồ use case phân rã quản lý thông tin ngăn lưu trữ

Hình 2.7: Biểu đồ phân rã use case quản lý thông tin ngăn lưu trữ

Hình 2.7 mô tả phân rã use case cho chức năng quản lý ngăn lưu trữ hàng hóa, cho phép người dùng thêm mới ngăn lưu trữ hàng hóa tương ứng với ngăn hoặc kệ vật lý trong kho Các ngăn kệ này giúp phân loại trạng thái hàng hóa, bao gồm sẵn sàng, đang kiểm định hoặc bị hỏng hóc.

Hệ thống quản lý kho bao gồm các quy trình nghiệp vụ quan trọng như quản lý nhập kho và quản lý xuất kho Các quy trình này đảm bảo việc kiểm soát hàng hóa hiệu quả, từ việc chuyển hàng hóa vào kho, quản lý thông tin hàng tồn kho, đến quản lý thông tin khách hàng và nhà cung cấp Việc thực hiện đúng các quy trình này không chỉ giúp tối ưu hóa quản lý kho mà còn nâng cao hiệu quả hoạt động kinh doanh.

2.2.8 Quy trình nghiệp vụ quản lý nhập kho

Hinhve/hoat_dong_nhap_kho.png

Hình 2.8: Quy trình nghiệp vụ tạo và xử lý đợt kiểm tra lưới điện

Quá trình nhập kho trong module quản lý nhập kho được mô tả trong Hình 2.8, bao gồm các chức năng tạo lập và xác nhận đơn nhập kho mới Hệ thống còn cung cấp tính năng phản hồi cho người dùng, giúp họ nhận biết rõ ràng về tính chính xác của các thao tác thực hiện.

Hệ thống cần đáp ứng các yêu cầu sau: (i) Nhận dữ liệu và khởi tạo thành công đơn nhập kho; (ii) Thông báo lỗi một cách chính xác cho người dùng; (iii) Tự động cập nhật thông tin hàng tồn kho.

Yêu cầu người dùng: Nhân viên cần tạo đúng theo quy trình nhập kho, nhập đúng thông tin đầu vào của đơn nhập kho.

2.2.9 Quy trình nghiệp vụ quản lý xuất kho

Hinhve/hoat_dong_xuat_kho.png

Hình 2.9: Quy trình nghiệp vụ quản lý xuất kho

Quá trình xuất kho trong module quản lý xuất kho được mô tả tổng quan qua hình 2.8, bao gồm các bước quan trọng như tạo mới đơn nhập kho, xác thực đơn xuất kho, xác thực đơn mới, xác nhận lấy hàng và xác nhận gửi và vận chuyển.

Đặc tả chức năng

2.3.1 Đặc tả use case CRUD đơn nhập kho

Dưới đây là đặc tả use case CRUD đơn nhập kho: bao gồm các hành động của người dùng liên quan đến CRUD dữ liệu.

Bảng 2.2: Đặc tả use case CRUD đơn nhập kho ã Usecase UC00

Tên Usecase CRUD đơn nhập kho

Tác nhân Quản lý kho, Quản trị viên

Tiền điều kiện Người sử dụng đã đăng nhập thành công thành tác nhân Điều kiện kích hoạt

Tác nhân chọn chức năng liên quan nhập kho

Luồng sự kiện chính (Thành công)

STT Thực hiện Hành động

1 Tác nhân Chọn chức năng nhập kho

2 Hệ thống Lấy danh sách các đơn nhập kho

Trong quản lý đơn nhập kho, có ba tác nhân chính cần chú ý: đầu tiên là hệ thống hiển thị thông tin đơn nhập kho, giúp người dùng dễ dàng theo dõi và quản lý thông tin; thứ hai là tác nhân cập nhật thông tin đơn nhập kho, đảm bảo rằng mọi dữ liệu luôn được cập nhật và chính xác; cuối cùng, hệ thống lưu trữ thông tin đơn nhập kho giúp bảo vệ và duy trì dữ liệu quan trọng cho các hoạt động trong tương lai.

Để thêm mới một đơn nhập kho, người dùng cần thực hiện các tác nhân sau: đầu tiên, chọn tùy chọn thêm mới đơn nhập kho Hệ thống sẽ hiển thị giao diện để nhập thông tin cần thiết Tiếp theo, người dùng nhập thông tin về nhà cung ứng, số lượng và hàng hóa Sau khi hoàn tất, người dùng chọn thêm mới đơn nhập kho một lần nữa Hệ thống sẽ tiến hành thêm mới đơn nhập kho và thông báo kết quả thêm mới thành công.

5 Tác nhân Xóa đơn nhập hàng 5.1 Hệ thống Hiển thị danh sách đơn nhập kho 5.2 Tác nhân Chọn xóa đơn nhập kho

5.3 Hệ thống Kiểm tra có được xóa đơn nhập kho không5.4 Hệ thống Xóa đơn nhập kho được chọn

Luồng sự kiện thay thế (Thất bại)

Hệ thống sẽ hiển thị thông báo lỗi khi dữ liệu không hợp lệ hoặc chưa được nhập đầy đủ, cụ thể là thông báo lỗi dữ liệu (3.2a) và lỗi không thể tạo dữ liệu (4.5a) Ngoài ra, hệ thống cũng thông báo không được phép xóa dữ liệu (5.4a) Hậu điều kiện không có.

Bảng 2.3: Dữ liệu đầu vào cho chức năng quản lý đơn nhập kho

STT Trường dữ liệu Mô tả Bắt buộc Điều kiện hợp lệ

Tên của nhà cung cấp có trong hệ thống

Có Công ty cổ phần viễn thông FPT

2 Mã hàng hóa thứ nhất

Tên của mã hàng hóa đầu tiên

3 Số lượng mã hàng hóa thứ nhất

Số lượng của mã hàng hóa thứ nhất

4 Mã hàng hóa thứ hai

Tên của mã hàng hóa thứ hai

5 Số lượng mã hàng hóa thứ hai

Số lượng của mã hàng hóa thứ hai

6 Mã hàng hóa thứ ba

Tên của mã hàng hóa thứ ba

7 Số lượng mã hàng hóa thứ ba

Số lượng của mã hàng hóa thứ ba

Bảng 2.4: Đặc tả use case CRUD đơn xuất kho kho ã Usecase UC00

Tên Usecase CRUD đơn xuất kho

Tác nhân Quản lý kho, Quản trị viên

Tiền điều kiện Người sử dụng đã đăng nhập thành công thành tác nhân Điều kiện kích hoạt

Tác nhân chọn chức năng liên quan xuất kho

Luồng sự kiện chính (Thành công)

STT Thực hiện Hành động

1 Tác nhân Chọn chức năng xuất kho

2 Hệ thống Lấy danh sách các đơn xuất kho

Ba tác nhân chính trong việc chỉnh sửa đơn xuất kho bao gồm: hệ thống hiển thị thông tin đơn xuất kho, tác nhân cập nhật thông tin đơn xuất kho, và hệ thống lưu trữ lại thông tin đơn xuất kho.

Để thêm mới một đơn xuất kho, người dùng cần chọn tùy chọn thêm mới đơn xuất kho trên giao diện hệ thống Sau đó, hệ thống sẽ hiển thị giao diện để người dùng nhập thông tin khách hàng, số lượng và hàng hóa Khi tất cả thông tin đã được nhập đầy đủ, người dùng tiếp tục chọn thêm mới đơn xuất kho Hệ thống sẽ tiến hành thêm mới đơn xuất kho và thông báo khi quá trình thêm mới thành công.

5 Tác nhân Xóa đơn xuất hàng 5.1 Hệ thống Hiển thị danh sách đơn xuất kho 5.2 Tác nhân Chọn xóa đơn xuất kho

5.3 Hệ thống Kiểm tra có được xóa đơn xuất kho không5.4 Hệ thống Xóa đơn xuất kho được chọn

Luồng sự kiện thay thế (Thất bại)

Hệ thống hiển thị thông báo lỗi dữ liệu khi có vấn đề xảy ra trong quá trình nhập liệu Nếu người dùng chưa nhập đủ thông tin hoặc thông tin sai, hệ thống sẽ thông báo lỗi và không cho phép tạo dữ liệu mới Ngoài ra, hệ thống cũng sẽ hiển thị thông báo khi người dùng cố gắng xóa dữ liệu mà không được phép.

Bảng 2.5: Dữ liệu đầu vào cho chức năng quản lý đơn xuất kho

STT Trường dữ liệu Mô tả Bắt buộc Điều kiện hợp lệ

1 Tên khách hàng Tên của khách hàng có trong hệ thống

2 Mã hàng hóa thứ nhất

Tên của mã hàng hóa đầu tiên

3 Số lượng mã hàng hóa thứ nhất

Số lượng của mã hàng hóa thứ nhất

4 Mã hàng hóa thứ hai

Tên của mã hàng hóa thứ hai

5 Số lượng mã hàng hóa thứ hai

Số lượng của mã hàng hóa thứ hai

6 Mã hàng hóa thứ ba

Tên của mã hàng hóa thứ ba

7 Số lượng mã hàng hóa thứ ba

Số lượng của mã hàng hóa thứ ba

2.3.3 Đặc tả use case quản lý hàng hóa

Bảng 2.6: Đặc tả use case quản lý hàng hóa ã Usecase UC00

Tên Usecase Quản lý hàng hóa

Tác nhân Quản lý kho, Quản trị viên

Tiền điều kiện Người sử dụng đã đăng nhập thành công thành tác nhân Điều kiện kích hoạt

Tác nhân chọn chức năng liên quan đến hàng hóa

Luồng sự kiện chính (Thành công)

STT Thực hiện Hành động

1 Tác nhân Chọn chức năng quản lý hàng hóa 1.1 Tác nhân Tìm kiếm thông tin hàng hóa

2 Hệ thống Lấy danh sách hàng hóa trong hệ thống

Trong quá trình chỉnh sửa hàng hóa, có ba tác nhân quan trọng cần lưu ý: đầu tiên là hệ thống hiển thị thông tin hàng hóa, giúp người dùng dễ dàng tiếp cận và quản lý thông tin sản phẩm Thứ hai, tác nhân cập nhật thông tin hàng hóa đảm bảo rằng dữ liệu luôn được cập nhật và chính xác Cuối cùng, hệ thống lưu trữ lại thông tin hàng hóa đóng vai trò quan trọng trong việc bảo tồn và truy xuất dữ liệu khi cần thiết.

Trong quá trình thêm mới hàng hóa, có bốn tác nhân chính cần chú ý Đầu tiên, tác nhân chọn thêm mới một hàng hóa giúp người dùng khởi tạo quy trình Tiếp theo, hệ thống hiển thị giao diện hàng hóa cung cấp thông tin trực quan và dễ hiểu Sau đó, tác nhân nhập thông tin chi tiết về mã hàng hóa, mô tả, nhà cung cấp, trọng lượng, kích thước, đơn vị, nhãn hiệu, màu sắc, hình dạng, thông số kỹ thuật, giá vốn và giá bán là rất quan trọng để đảm bảo tính chính xác Cuối cùng, tác nhân chọn thêm mới hàng hóa hoàn tất quy trình và lưu thông tin vào hệ thống.

4.5 Hệ thống Thêm mới hàng hóa 4.6 Hệ thống Thông báo thêm mới thành công

Để thêm mới hàng loạt hàng hóa, tác nhân cần thực hiện các bước sau: sử dụng hệ thống tải file excel mẫu, điền đầy đủ thông tin hàng hóa theo yêu cầu trong file excel mẫu, và sau đó upload file excel mẫu lên hệ thống Cuối cùng, hệ thống sẽ ghi nhận những dòng trong file excel hợp lệ.

6 Tác nhân Xóa hàng hóa 6.1 Hệ thống Hiển thị danh sách hàng hóa 6.2 Tác nhân Chọn xóa hàng hóa

6.3 Hệ thống Kiểm tra có được xóa hàng hóa không6.4 Hệ thống Xóa hàng hóa được chọn

Luồng sự kiện thay thế (Thất bại)

Hệ thống hiển thị thông báo lỗi dữ liệu khi có sự cố xảy ra trong quá trình nhập liệu Cụ thể, nếu người dùng chưa nhập đủ thông tin hoặc nhập sai, hệ thống sẽ thông báo lỗi không thể tạo dữ liệu Ngoài ra, trong trường hợp không thể upload dữ liệu, hệ thống cũng sẽ hiển thị thông báo lỗi tương ứng Đặc biệt, người dùng sẽ nhận được thông báo khi không được phép xóa dữ liệu Hiện tại, không có hậu điều kiện nào được ghi nhận.

Bảng 2.7: Dữ liệu đầu vào cho chức năng quản lý hàng hóa

STT Trường dữ liệu Mô tả Bắt buộc Điều kiện hợp lệ

1 Mã hàng hóa Mã của hàng hóa

2 Mô tả hàng hóa Mô tả chi tiết về hàng hóa

3 Nhà cung cấp hàng hóa

5 Chiều rộng hàng hóa Đơn vị tính mm Có 1000

6 Chiều dài hàng hóa Đơn vị tính mm Có 1000

7 Chiều cao hàng hóa Đơn vị tính mm Có 1000

8 Đơn vị hàng hóa Đơn vị theo cấu hình của hệ thống

9 Loại hàng hóa Loại hàng hóa được cấu hình trong hệ thống

Nhãn hiệu của hàng hóa

Hình dạng của hàng hóa

Nguồn gốc Có Trung quốc

13 Giá vốn Giá vốn của mặt hàng

14 Giá bán Giá bán của mặt hàng

2.3.4 Đặc tả use case quản lý ngăn lưu hàng

Bảng 2.8: Đặc tả use case quản lý ngăn lưu hàng ã Usecase UC00

Tên Usecase Quản lý ngăn lưu hàng

Tác nhân Quản lý kho, Quản trị viên

Tiền điều kiện Người sử dụng đã đăng nhập thành công thành tác nhân Điều kiện kích hoạt

Tác nhân chọn chức năng liên quan đến ngăn lưu hàng

Luồng sự kiện chính (Thành công)

STT Thực hiện Hành động

1 Tác nhân Chọn chức năng quản lý ngăn lưu hàng

2 Hệ thống Lấy danh sách ngăn lưu hàng trong hệ thống

Ba tác nhân chính trong việc chỉnh sửa ngăn lưu hàng bao gồm: Hệ thống hiển thị thông tin ngăn lưu hàng, tác nhân cập nhật thông tin ngăn lưu hàng và hệ thống lưu trữ lại thông tin ngăn lưu hàng.

Bài viết này trình bày quy trình thêm mới ngăn lưu hàng với bốn tác nhân chính Đầu tiên, người dùng chọn thêm mới một ngăn lưu hàng, sau đó hệ thống hiển thị giao diện để nhập thông tin cần thiết như mã ngăn lưu hàng, kích thước và thuộc tính của ngăn Sau khi hoàn tất việc nhập thông tin, người dùng tiếp tục chọn thêm mới ngăn lưu hàng Hệ thống sẽ thực hiện việc thêm mới ngăn lưu hàng và cuối cùng, thông báo kết quả thêm mới thành công sẽ được hiển thị.

5 Tác nhân Xóa ngăn lưu hàng 5.1 Hệ thống Hiển thị danh sách ngăn lưu hàng 5.2 Tác nhân Chọn xóa ngăn lưu hàng

5.3 Hệ thống Kiểm tra có được xóa ngăn lưu hàng không 5.4 Hệ thống Xóa ngăn lưu hàng được chọn

Luồng sự kiện thay thế (Thất bại)

Hệ thống hiển thị thông báo lỗi dữ liệu khi có sự cố xảy ra, bao gồm thông báo lỗi do chưa nhập đủ thông tin hoặc thông tin sai Ngoài ra, hệ thống cũng thông báo không thể xóa dữ liệu khi vẫn còn hàng hóa liên quan Trong tất cả các trường hợp này, không có hậu điều kiện nào được áp dụng.

Bảng 2.9: Dữ liệu đầu vào cho chức năng quản lý ngăn lưu hàng

STT Trường dữ liệu Mô tả Bắt buộc Điều kiện hợp lệ

1 Tên ngăn Tên của ngăn lưu trữ hàng hóa

Có Ngăn lưu trữ số 1

2 Kích thước ngăn Mô tả chi tiết về ngăn lưu trữ hàng hóa

Có Ngăn lưu trữ số 1

3 Thuộc tính ngăn Thuộc tính của ngăn bao gồm: Lưu trữ, Giữ hàng: là hàng chưa được chuyển, kiểm duyệt: ngăn lưu trữ cần kiểm duyệt và thiệt hại: là ngăn lưu trữ hàng bị hỏng

Có Bin lưu trữ, Giữ hàng, Kiểm duyệt, Thiệt hại

2.3.5 Đặc tả use case quản lý nhân viên

Bảng 2.10: Đặc tả use case quản lý ngăn quản lý nhân viên ã Usecase UC00

Tên Usecase Quản lý nhân viên

Tác nhân Quản lý kho, Quản trị viên

Tiền điều kiện Người sử dụng đã đăng nhập thành công thành tác nhân Điều kiện kích hoạt

Tác nhân chọn chức năng liên quan đến quản lý nhân viên

Luồng sự kiện chính (Thành công)

STT Thực hiện Hành động

1 Tác nhân Chọn chức năng quản lý nhân viên 1.1 Hệ thống Lấy danh nhân viên trong hệ thống

Trong quản lý nhân sự, có hai tác nhân chính trong việc chỉnh sửa thông tin nhân viên Đầu tiên, hệ thống hiển thị thông tin nhân viên giúp người quản lý dễ dàng theo dõi và đánh giá dữ liệu liên quan đến nhân viên Thứ hai, tác nhân cập nhật thông tin nhân viên cho phép thực hiện các thay đổi cần thiết để đảm bảo thông tin luôn chính xác và kịp thời Cuối cùng, hệ thống lưu trữ lại thông tin nhân viên đảm bảo rằng tất cả dữ liệu quan trọng được bảo quản an toàn và có thể truy cập khi cần thiết.

Yêu cầu phi chức năng

2.4.1 Yêu cầu đáp ứng với Server

Hệ thống cần đảm bảo thời gian phản hồi yêu cầu với các tiêu chí sau: (i) Thời gian phản hồi trung bình cho mỗi yêu cầu phải dưới 3 giây; (ii) Thời gian phản hồi tối đa không vượt quá 6 giây; (iii) Khả năng xử lý yêu cầu phải lớn hơn 1000 yêu cầu mỗi phút; (iv) Số lượng yêu cầu không thể xử lý phải dưới mức cho phép.

2.4.2 Yêu cầu đáp ứng với Cơ sở dữ liệu

Phần mềm quản trị dữ liệu cần đáp ứng các yêu cầu quan trọng như sau: (i) Bảo mật, với khả năng kiểm soát quyền truy cập của từng người dùng thông qua các vai trò khác nhau; (ii) Hiệu năng, cho phép nhiều người dùng truy cập đồng thời nhờ vào cơ chế khóa và giao dịch để xử lý dữ liệu hiệu quả; (iii) Linh hoạt, có khả năng hoạt động trên nhiều hệ điều hành như Linux, MacOS và Windows.

2.4.3 Đáp ứng yêu cầu về bảo mật Đảo bảo dữ liệu đặt ra trong môi trường internet, phải đảm bảo về mặt truyền, nhập dữ liệu, bảo vệ mật khẩu người dùng, không để lộ, mất mát thông tin Sử dụng giao thức mạng an toàn như HTTPS, bảo mật website khỏi tấn công DDOS, ngăn chặn SQL injection và tạo các bản sao thường kỳ giúp đảm bảo website được an toàn.

2.4.4 Đáp ứng yêu cầu mỹ thuật, kỹ thuật của giao diện chương trình Phần mềm được thiết kế đảm bảo thân thiện, dễ sử dụng, bố cục giao diện giúp cho thao tác nhanh và thuận tiện.

Phần mềm cần cung cấp hỗ trợ cho người dùng trong việc xử lý các thao tác sai, với các cảnh báo được hiển thị rõ ràng và nổi bật Đặc biệt, những cảnh báo liên quan đến việc lưu trữ, thay đổi không thể hoàn tác hoặc xóa dữ liệu trong cơ sở dữ liệu cần yêu cầu người dùng xác nhận thêm một lần nữa để đảm bảo an toàn và chính xác.

Phần mềm hỗ trợ người dùng soạn thảo tiếng Việt một cách dễ dàng, với khả năng chuẩn hóa ngôn ngữ theo tiêu chuẩn Unicode (TCVN 6909:2001) Người dùng có thể sử dụng các bộ gõ tiếng Việt như Unikey và Vietkey mà không gặp khó khăn về ngôn ngữ.

Khuôn dạng hiển thị ngày tháng: YYYY-MM-DD.

2.4.5 Đáp ứng về xử lý logic với việc nhập liệu qua các ô nhập liệu Các ô nhập liệu trên giao diện cần đảm bảo các nguyên tắc như sau:(i) Dữ liệu được kiểm tra ngay thời điểm người dùng nhập liệu (ii) Hiển thị thông báo ngay khi người dùng nhập dữ liệu không hợp lệ (iii) Các ô dữ liệu bắt buộc có ký hiệu thông báo cho người dùng (iv) Các ô nhập có định dạng chuyên biệt cần có giao diện chọn VD: chọn ngày tháng (v) Đối với các dữ liệu dạng cố định như danh mục, danh sách cụ thể cần hỗ trợ hiển thị danh sách chọn thay vì nhập liệu từ bàn phím.

Kết luận chương này, chúng ta đã tổng hợp các chức năng và nghiệp vụ quan trọng của hệ thống dựa trên khảo sát và thống kê từ các hệ thống tương tự, cùng với các yêu cầu phi chức năng cần thiết cho phần mềm Chương tiếp theo sẽ giới thiệu công nghệ được sử dụng trong sản phẩm phần mềm.

CÔNG NGHỆ SỬ DỤNG

Django

Django là một framework cao cấp được phát triển bằng Python, chuyên dụng cho việc xây dựng các website an toàn và dễ bảo trì Với sự hỗ trợ từ các nhà phát triển dày dạn kinh nghiệm, Django có khả năng xử lý nhiều khía cạnh phức tạp trong quá trình phát triển web, cho phép bạn tập trung vào việc viết ứng dụng mà không bị gián đoạn Django hoàn toàn miễn phí và là mã nguồn mở, đồng thời sở hữu một cộng đồng người dùng lớn cùng nhiều tài liệu hỗ trợ phong phú.

Django mang đến cho lập trình viên nhiều đặc tính nổi bật, bao gồm độ hoàn thiện cao với khả năng tích hợp liền mạch, giúp tiết kiệm thời gian phát triển web theo phong cách riêng Framework này linh hoạt, cho phép xây dựng nhiều loại trang web khác nhau, từ hệ thống quản lý nội dung đến mạng xã hội, và hỗ trợ nhiều định dạng nội dung như HTML, JSON, và XML Django còn có khả năng mở rộng vượt trội nhờ kiến trúc thành phần, cho phép thêm phần cứng để nâng cao hiệu suất, như trường hợp của Instagram Đặc biệt, Django đảm bảo an toàn cho các ứng dụng web bằng cách cung cấp các giải pháp bảo mật hiệu quả, giúp ngăn chặn các lỗi bảo mật phổ biến và bảo vệ khỏi các cuộc tấn công mạng như SQL injection và Cross-site Scripting.

Hình ảnh 3.2 cho thấy rằng mỗi lớp kiến trúc chỉ giao tiếp với lớp liền kề, điều này giúp quản lý các module trở nên dễ dàng hơn Mỗi layer chỉ phụ thuộc vào các layer bên trên hoặc bên dưới, do đó khi có sự thay đổi trong API của một module, chỉ cần cập nhật các layer cạnh nó Việc này đảm bảo rằng các module vẫn hoạt động độc lập mà không bị ảnh hưởng nhiều.

Các layer chính trong Django bao gồm: (i) Django Template, cung cấp các mẫu HTML hoặc Restful API cho frontend; (ii) View Logic, xử lý yêu cầu web và trả về phản hồi như HTTP, HTML hoặc chuyển hướng; (iii) App Logic, xử lý logic cho View layer và kết nối cơ sở dữ liệu; (iv) Model, đảm bảo kết nối với cơ sở dữ liệu an toàn, ngăn ngừa các lỗ hổng bảo mật như SQL Injection.

Django là một framework nổi bật với nhiều ưu điểm, bao gồm tính đơn giản và nhanh chóng, giúp các nhà phát triển tiết kiệm thời gian nhờ nguyên tắc DRY (Don’t Repeat Yourself), cho phép tái sử dụng mã nguồn hiệu quả Bảo mật cũng là một trong những ưu tiên hàng đầu của Django, với hệ thống bảo mật mạnh mẽ giúp ngăn chặn các lỗ hổng như Cross-site scripting, Cross-site request forgery và SQL injection Ngoài ra, Django có cộng đồng người dùng lớn và thiết lập hoàn thiện, chứng minh được sự tin cậy qua thời gian Cuối cùng, tài liệu thư viện của Django rất chi tiết và được cập nhật liên tục, giúp người dùng dễ dàng thích nghi với các thay đổi.

Mặc dù Django là một framework mạnh mẽ, nhưng vẫn có một số điểm cần lưu ý: đầu tiên, nó không hỗ trợ xử lý nhiều yêu cầu đồng thời; thứ hai, các thành phần của Django được kết hợp chặt chẽ, gây khó khăn trong việc tùy chỉnh; cuối cùng, mọi thao tác dữ liệu đều phải thông qua Django ORM, điều này làm hạn chế khả năng tùy chỉnh khi sử dụng câu truy vấn SQL.

Django là một framework phát triển ứng dụng mạnh mẽ với nhiều ưu điểm như tốc độ phát triển nhanh, giảm thiểu công sức cấu hình, dễ sử dụng và học hỏi Nó cho phép triển khai ứng dụng một cách nhanh chóng và an toàn mà không cần phải viết quá nhiều mã Vì những lý do này, tôi đã quyết định chọn Django để phát triển ứng dụng của mình.

Framework VueJs

Vue.js là một framework linh hoạt dành cho việc xây dựng giao diện người dùng, thiết kế để phát triển ứng dụng theo từng bước Người dùng có thể sử dụng thư viện lõi của Vue, dễ học và tích hợp với các dự án hiện có Đồng thời, với các kỹ thuật hiện đại như SFC và các thư viện hỗ trợ, Vue đáp ứng nhu cầu phát triển ứng dụng một trang (SPA) với độ phức tạp cao.

Vue.js sử dụng kiến trúc MVC (Model-View-Controller) và có khả năng tương tác với nhiều kiến trúc khác như CBA (Component-Based Architecture), giúp nó trở nên phổ biến trong phát triển web Những ưu điểm nổi bật của Vue bao gồm: thư viện và công cụ hỗ trợ phong phú, yêu cầu lưu trữ thấp, dễ học và sử dụng, tài liệu hướng dẫn đầy đủ, khả năng tái sử dụng component, kiến trúc dựa trên thành phần, dễ đọc và bảo trì, cùng với tính thích ứng cao trong lập trình.

Mặc dù Vue.js đã khắc phục nhiều nhược điểm từ các framework trước, nhưng vẫn tồn tại một số hạn chế như rào cản ngôn ngữ và cộng đồng phát triển chủ yếu ở Trung Quốc Việc tích hợp lỏng lẻo có thể dẫn đến sự cố khi sử dụng các thư viện khác nhau, và thiếu hỗ trợ tài chính cho các dự án quy mô lớn do vị thế của nó chưa thể so sánh với Angular hay React.

Nguồn tài nguyên giới hạn do còn mới.

Vue.js là một Framework JavaScript được các nhà phát triển trên toàn thế giới tin dùng nhờ vào cú pháp dễ sử dụng, kiểu định dạng rõ ràng và tính tương thích cao Chính vì vậy, tôi đã quyết định sử dụng Vue cùng với ngôn ngữ lập trình JavaScript để xây dựng phần mềm và thể hiện các chức năng của mình.

Hệ quản trị cơ sở dữ liệu Mysql

MySQL is an open-source relational database management system (RDBMS) that operates on a client-server model It serves as software or a service for creating and managing databases, focusing on the relationships between data.

MySQL là một phần mềm quản lý cơ sở dữ liệu quan hệ (RDBMS) nổi tiếng, thường được nhầm lẫn với RDBMS do sự phổ biến rộng rãi của nó Nhiều ứng dụng web lớn như Facebook, Twitter, YouTube, Google và Yahoo! sử dụng MySQL để lưu trữ dữ liệu Ban đầu, MySQL chỉ được sử dụng hạn chế, nhưng hiện nay nó đã tương thích với nhiều hệ điều hành quan trọng như Linux, macOS, Microsoft Windows và Ubuntu.

MySQL có nhiều ưu điểm nổi bật, bao gồm: dễ sử dụng với tốc độ cao và ổn định, phù hợp cho nhiều hệ điều hành; tính bảo mật cao với nhiều tính năng bảo vệ, lý tưởng cho ứng dụng truy cập cơ sở dữ liệu qua internet; hỗ trợ đa chức năng SQL cho cả quản trị cơ sở dữ liệu trực tiếp và gián tiếp; khả năng mở rộng mạnh mẽ, xử lý khối lượng dữ liệu lớn; tương thích với nhiều hệ điều hành như Windows, Linux và các loại UNIX; và khả năng khôi phục giao dịch, cam kết và phục hồi sự cố hiệu quả.

MySQL có một số nhược điểm như sau: đầu tiên, MySQL bị hạn chế về dung lượng, dẫn đến khó khăn trong việc truy xuất dữ liệu khi số lượng bản ghi tăng lên, buộc người dùng phải áp dụng các biện pháp như chia tải database ra nhiều server hoặc sử dụng cache MySQL để tăng tốc độ chia sẻ dữ liệu Thứ hai, so với Microsoft SQL Server và Oracle, MySQL có độ bảo mật chưa cao bằng và quá trình phục hồi (Restore) cũng chậm hơn Tuy nhiên, những nhược điểm này không đáng kể đối với các hệ quản trị nội dung cỡ trung, vì chỉ những hệ thống lớn hoặc rất lớn mới gặp phải các yêu cầu phức tạp hơn.

Mặc dù MySQL có một số nhược điểm nhỏ, nhưng những ưu điểm vượt trội của nó khiến tôi quyết định sử dụng MySQL để phát triển ứng dụng của mình.

Kết luận chương 3 trình bày các công nghệ được áp dụng trong phát triển phần mềm nhằm đáp ứng các yêu cầu đã phân tích trong chương 2 Chương tiếp theo sẽ tập trung vào quy trình phát triển, kiểm thử và triển khai ứng dụng.

Thiết kế kiến trúc

4.1.1 Lựa chọn kiến trúc phần mềm Đây là ứng dụng web service, em sử dụng mô hình 3 lớp (layer) [7]

Mô hình phát triển phần mềm này bao gồm ba phần chính: (i) Giao diện người dùng (User Interface) chịu trách nhiệm giao tiếp với người dùng thông qua các thành phần giao diện như Giao diện Web, thực hiện nhập liệu, hiển thị dữ liệu và kiểm tra tính đúng đắn trước khi chuyển đến lớp tiếp theo (ii) Lớp nghiệp vụ (Business Logic) bao gồm các lớp nhỏ: Presentation cung cấp các form dữ liệu, Application xử lý logic và đáp ứng yêu cầu trước khi truyền xuống tầng cơ sở dữ liệu, Domain Model thực hiện ORM mapping với cơ sở dữ liệu, và Persistence chuyển đổi các câu lệnh ORM thành câu truy vấn cơ sở dữ liệu (iii) Tầng dữ liệu (Data) là nơi lưu trữ toàn bộ dữ liệu của hệ thống Ưu điểm của mô hình này là việc chia thành các lớp giúp mã nguồn trở nên tường minh, dễ bảo trì, phát triển và tái sử dụng nhờ vào cấu trúc khoa học.

Hình 4.2: Biểu đồ phụ thuộc gói

Biểu đồ phụ thuộc gói trong kiến trúc thiết kế phần mềm được trình bày trong Hình 4.2, cung cấp cái nhìn chi tiết về các gói, đặc biệt là liên quan đến phần frontend.

Gói App: là file App.js là file chính của chương trình mọi request đều sẽ đi qua gói App này

Gói router là bộ chứa các đường dẫn đến các trang của website, cho phép cấu hình menu và các tuyến đường dẫn đến từng trang Gói layout đảm nhận việc bố trí và phân bố tài liệu cho trang web, bao gồm các phần như đầu trang, lề trái, lề phải, chân trang, và nội dung bên trong.

Gói Page là nơi tập hợp tất cả các trang của phần mềm, với mỗi thư mục trong gói tương ứng với một module riêng biệt Chẳng hạn, module quản lý kho sẽ lấy dữ liệu từ gói API và hiển thị thông tin cho người dùng cuối.

Gói API là gói kết nối trực tiếp với backend thông qua các giao thức, bao gồm các Interface xác định các lời gọi API, cho phép ứng dụng giao tiếp hiệu quả với backend ở tầng dưới.

Gói Presentation chứa các tệp cấu hình API, cho phép thực hiện các yêu cầu từ bên ngoài và định nghĩa phản hồi của API Mỗi tệp tương ứng với một mô hình và các chức năng nghiệp vụ liên quan Trong các tệp này, đường dẫn API được cấu hình để khách hàng có thể truy cập và yêu cầu các chức năng tương ứng.

Gói Application bao gồm ba thành phần chính: (i) views, nơi tiếp nhận yêu cầu từ client và ánh xạ URL vào các lớp để xử lý; (ii) app, nơi thực hiện các xử lý logic nghiệp vụ sau khi nhận yêu cầu hợp lệ từ client; và (iii) config, chứa các cấu hình về database, các ứng dụng bên ngoài, middleware và các cấu hình khác trong hệ thống.

Gói model bao gồm các ORM giúp ánh xạ dữ liệu trong hệ quản trị cơ sở dữ liệu thành các đối tượng trong các class Việc sử dụng gói này không chỉ ngăn chặn lỗi SQL Injection mà còn tăng tốc độ thao tác với cơ sở dữ liệu nhờ vào nhiều interface có sẵn.

Lớp dữ liệu: Cơ sở dữ liệu: lưu trữ các dữ liệu của ứng dụng.

4.1.3 Thiết kế chi tiết gói a, Thiết kế chi tiết gói cho chức năng nhập kho

Thiết kế chi tiết gói cho chức năng nhập kho

Hình 4.3 minh họa sự phụ thuộc giữa các lớp trong chức năng nhập kho Lớp ModelViewSet thuộc framework và cần được kế thừa cũng như tiêm phụ thuộc vào lớp urlpartern Các gói đã được mô tả rõ ràng về nhiệm vụ và hành vi tại mục 4.1.2.

Hinhve/class_nhap_kho.png

Hình 4.3: Thiết kế chi tiết gói cho chức năng quản lý nhập kho b, Thiết kế chi tiết gói cho chức năng xuất kho

Thiết kế chi tiết gói cho chức năng xuất kho

Hình 4.3 minh họa sự phụ thuộc giữa các lớp trong chức năng xuất kho Thiết kế cần lưu ý rằng lớp ModelViewSet thuộc framework, yêu cầu kế thừa và tiêm phụ thuộc vào lớp urlpattern Lớp ModelSerializer, cũng thuộc framework, giúp chuyển đổi dữ liệu sang dạng lưu trữ và cần kế thừa để khai báo các trường dữ liệu Các gói đã được mô tả chi tiết về nhiệm vụ và hành vi trong mục 4.1.2.

Hình 4.4: Thiết kế chi tiết gói cho chức năng xuất kho

Thiết kế chi tiết

4.2.1 Thiết kế giao diện a, Thiết kế bố cục

Hình 4.5: Sơ đồ phân cấp nhiệm vụ

Hình 4.5 thể hiện sơ đồ phân cấp các chức năng của phần mềm. b, Thiết kế hỗ trợ tương tác

Thông báo là công cụ quan trọng giúp người dùng nhận biết kết quả của thao tác đã thực hiện trên hệ thống Khi người dùng hoàn thành một thao tác, thông báo sẽ cung cấp thông tin rõ ràng về việc thao tác đó có thành công hay không, từ đó nâng cao trải nghiệm sử dụng và đảm bảo tính chính xác trong quá trình tương tác với hệ thống.

Hình 4.6 minh họa các thông báo quan trọng mà ứng dụng sẽ hiển thị khi người dùng thực hiện thao tác có thể dẫn đến một sự kiện đặc biệt Những thông báo này giúp người dùng nắm bắt thông tin kịp thời và nâng cao trải nghiệm sử dụng ứng dụng.

Cảnh báo được hiển thị khi người dùng thực hiện sai yêu cầu của phần mềm.

Hình 4.7: Thiết kế cảnh báo

Hình 4.7 minh họa các cảnh báo khi người dùng để trống một hoặc nhiều trường quan trọng; ứng dụng sẽ hiển thị thông báo yêu cầu người dùng tiếp tục nhập liệu vào các ô tương ứng.

Hộp thoại xuất hiện khi yêu cầu người dùng xác nhận thực hiện một thao tác.

Hình 4.8: Thiết kế cảnh báo

Hình 4.8 minh họa các thông báo xác nhận dành cho người dùng khi thực hiện các chức năng như chỉnh sửa hoặc xóa dữ liệu trong hệ thống Ứng dụng sẽ yêu cầu người dùng xác nhận trước khi tiến hành các thao tác này.

Hình 4.9 minh họa các lớp chính cho chức năng quản lý xuất kho, trong đó sẽ chi tiết hóa tất cả các phương thức và thuộc tính liên quan.

Hinhve/class_thiet_ke_xuat_kho.png

Hình 4.9: Thiết kế chi tiết cho một lớp quản lý xuất kho

Bảng 4.1 biểu đạt danh sách một số thuộc tính trong lớp DN, là lớp kết nối trực tiếp đến cơ sở dữ liệu

Bảng 4.1: Danh sách thuộc tính trong lớp DN

Thuộc tính của đơn xuất kho bao gồm: id (int) là mã định danh của đơn, asn_code (varchar) là mã của đơn nhập kho, asn_status (int) thể hiện trạng thái của đơn nhập kho, total_weight (bigint) là tổng trọng lượng, total_volume (bigint) là tổng dung tích, total_cost (double) là tổng giá vốn mua, customer_id (double) là ID của khách hàng, bar_code (varchar) là mã barcode của đơn xuất, và back_order_label (boolean) để kiểm tra xem hàng có đang được lưu trữ hay không.

Bảng 4.2 liệt kê một số phương thức trong lớp DN, lớp này đóng vai trò kết nối trực tiếp với cơ sở dữ liệu và thực hiện các truy vấn để tạo mới thông qua giao dịch.

Bảng 4.2: Danh sách phương thức trong lớp DN

The methods for managing orders in the database include filter_by_id, which retrieves an order by its ID; filter_by_status, which fetches an order based on its status; and create, which generates a new object in the database, rolling back in case of an error Additionally, the delete method removes an order from the database, while the update method modifies the information fields of an existing order in the database.

Bảng 4.3 biểu đạt danh sách một số phương thức trong lớp DnListViewSet, là lớp xử lý logic và kết nối xuống tầng model để lưu trữ dữ liệu

Bảng 4.3: Danh sách phương thức trong lớp DnListViewSet

Tên phương thức Đầu vào Đầu ra Ý nghĩa get_project Không Id của người dùng

Identify the user and the project they are utilizing with the get_queryset filter List[Object(DN)] Retrieve the list based on the provided filter, querying down to the model layer to create a new Object(DN) with an integer ID Implement the logic for creating a new export order and the logic for deleting an export order.

Bảng 4.3 trình bày danh sách các phương thức trong lớp DnUpdateViewSet, một lớp trừu tượng cho phép các lớp con như DnNewOrderViewSet và DnOrderReleaseViewSet kế thừa Mỗi lớp con cần triển khai các phương thức như update_by_status và update_stock_list, với từng loại trạng thái khác nhau sẽ tạo ra một lớp con tương ứng Đây là ứng dụng của Strategy Pattern trong lập trình.

Bảng 4.4: Danh sách phương thức trong lớp DnUpdateViewSet

Phương thức `update_by_status` nhận đầu vào là đối tượng `DN` và trả về ID của đơn hàng, được khai báo dưới dạng phương thức trừu tượng trong lớp cha, cho phép lớp con kế thừa và ghi đè theo logic riêng Phương thức `check_can_pick` kiểm tra khả năng lấy hàng hóa từ kho và trả về giá trị boolean Tương tự, `check_back_order` xác định xem đơn hàng có phải là đơn lưu trữ hay không, cũng trả về giá trị boolean Phương thức `update_stock_list` nhận đầu vào là số nguyên và đối tượng `DN`, là phương thức trừu tượng yêu cầu các lớp con thực thi logic riêng khi cần sử dụng Cuối cùng, `create_back_order` tạo mới đơn lưu trữ với đầu vào là số nguyên và đối tượng `DN`.

4.2.3 Thiết kế cơ sở dữ liệu

Trong phần thiết kế cơ sở dữ liệu, em xin giới thiệu hệ thống bao gồm các thực thể:

• Thực thể dùng cho quản lý các thông tin chung: Supplier, customer, driver, staff

• Thực thể dùng cho quản lý nhập kho: asn_list, asn_detail

• Thực thể dùng quản lý xuất kho: dn_list, dn_detail, picking_list, dispatch

• Thực thể dùng cho quản lý hàng tồn kho: good, stock_bin, stock_list, cy- cle_countday

• Thực thể dùng lưu trữ quản lý ngăn chứa hàng: bin_size, warehouse, bin_set

Hình 4.10: Biểu đồ thực thể liên kết (ER)

Từ biểu đồ thực thể liên kết trong Hình 4.10, cơ sở dữ liệu chi tiết được thiết kế và trình bày trong Hình 4.11.

Hình 4.11 cung cấp cái nhìn tổng quan về thiết kế cơ sở dữ liệu cho toàn bộ hệ thống Các bảng quan trọng sẽ được trình bày chi tiết ngay sau đây.

Bảng 4.5 là bảng danh sách các đơn nhập kho, lưu trữ các trường liên quan đến tổng hàng hóa trong đơn nhập kho, giá, dung tích, nhà cung cấp.

Bảng 4.5: Chi tiết của dữ liệu danh sách nhập kho

STT Thuộc tính Kiểu dữ liệu Giải thích

1 id int Id của một đơn nhập kho

2 asn_code varchar Mã của đơn nhập kho

3 asn_status int trạng thái của đơn nhập kho

4 total_weight double tổng trọng lượng của đơn nhập kho

5 total_volume double tổng dung tích của cả Đơn

6 total_cost double tổng giá vốn mua của Đơn

7 supplier_id int (FK) id của nhà cung cấp

Bảng 4.6 cung cấp thông tin chi tiết về đơn nhập kho, trong đó mỗi bản ghi đại diện cho một mặt hàng cụ thể Bảng này lưu trữ các thông số quan trọng như số lượng hàng hóa, tình trạng bị hỏng và bị thiếu, giúp quản lý kho hiệu quả hơn.

Bảng 4.6: Bảng dữ liệu chi tiết đơn nhập nhập kho

STT Thuộc tính Kiểu dữ liệu Giải thích

1 id int Id của một chi tiết đơn

2 asn_id int (FK) Id của đơn nhập kho

3 good_id int (FK) id của hàng hóa

4 goods_qty bigint tổng số lượng trên đơn

5 goods_actual_qty bigint tổng thực nhập

6 goods_shortage_qty bigint Đếm số hàng bị thiếu

7 goods_more_qty bigint Đếm hàng gửi quá số lượng

8 goods_damage_qty bigint Đếm hàng bị hỏng

Bảng 4.7 trình bày danh sách đơn xuất kho trong hệ thống, với mỗi bản ghi bao gồm các thông tin quan trọng như tên khách hàng đặt hàng, tổng số lượng sản phẩm, dung tích và số tiền đặt hàng.

Bảng 4.7: Chi tiết của dữ liệu danh sách xuất kho

STT Thuộc tính Kiểu dữ liệu Giải thích

1 id int Id của một đơn xuất kho

2 asn_code varchar Mã của đơn nhập kho

3 asn_status int trạng thái của đơn nhập kho

4 total_weight bigint tổng trọng lượng của đơn nhập kho

5 total_volume bigint tổng dung tích của cả Đơn

6 total_cost double tổng giá vốn mua của Đơn

7 customer_id double (FK) ID của khách hàng

8 bar_code varchar Mã barcode của đơn xuất

9 back_order_label boolean Kiểm tra hàng có đang được lưu trữ không

Bảng 4.8 biểu đạt cho chi tiết mỗi đơn xuất kho, gồm có hàng hóa xuất kho là gì, số lượng hỏng, thiếu, có phải đơn lưu trữ không.

Bảng 4.8: Bảng dữ liệu chi tiết đơn xuất kho

STT Thuộc tính Kiểu dữ liệu Giải thích

1 id int Id của một chi tiết đơn xuất

2 dn_id int (FK) Id của đơn xuất kho

3 good_id int (FK) id của hàng hóa

4 pick_qty bigint Số lượng hàng cần lấy

5 picked_qty bigint số lượng hàng hóa đã lấy

6 intransit_qty bigint Đếm hàng đã được chuyển

7 delivery_shortage_qty bigint Số lượng hàng bị thiếu

8 delivery_more_qty bigint Đếm hàng gửi đi bị quá

8 delivery_damage_qty bigint Đếm hàng gửi đi bị hỏng

Bảng 4.9 cung cấp danh sách hàng hóa có trong doanh nghiệp và cần được khai báo trước khi sử dụng hệ thống Mỗi bản ghi trong bảng này sẽ bao gồm các thông số quan trọng của hàng hóa như loại và đơn vị đo.

Bảng 4.9: Bảng dữ liệu hàng hóa

STT Thuộc tính Kiểu dữ liệu Giải thích

1 id int Id của hàng hóa

2 good_code varchar Mã hàng hóa

3 good_desc varchar Mô tả hàng hóa

4 good_weight double Cân nặng hàng hóa

5 good_w double Chiều rộng hàng hóa

6 good_d double Chiều dài hàng hóa

7 good_h double Chiều cao hàng hóa

8 unit_volume double Dung tích (thể tích) hàng hóa

9 good_unit varchar Đơn vị đếm của hàng hóa ví dụ: cái, chiếc

10 good_class varchar Loại hàng hóa

11 good_brand varchar Thương hiệu hàng hóa

12 good_shape varchar hình dạng của hàng

13 good_specs varchar Đặc điểm hàng hóa

14 good_origin varchar Xuất xứ của hàng hóa

15 safety_stock bigint Dự trữ an toàn của hàng hóa

16 goods_cost double Giá gốc của sản phẩm

17 goods_price double Giá bán của hàng hóa

18 bar_code varchar Mã hàng hóa

Xây dựng ứng dụng

4.3.1 Thư viện và công cụ sử dụng

Bang 4.14 trình bày về danh sách thư viện và công cụ sử dụng trong việc phát triển phần mềm

Bảng 4.14: Danh sách thư viện và công cụ sử dụng

Mục đích Công cụ Địa chỉ URL

IDE lập trình Pycharm education https://www.jetbrains.com

IDE lập trình Visual Studio

Code https://code.visualstudio.com/

Cơ sở dữ liệu MySQL https://hub.docker.com/ / mysql

Xem dữ liệu Datagrip https://www.jetbrains.com Đóng gói và triển khai

Docker https://www.docker.com/

Vẽ biểu đồ UML Astah UML 8.2 http://astah.net

Vẽ biểu đồ thiết kế Visual paradigm https://online.visual- paradigm.com/

Vẽ biểu đồ thực thể liên kết dbdiagram https://dbdiagram.io/

Kết quả đạt được sau khi thực hiện xong chương trình:

Phần mềm quản lý kho GreaterWMS được phát triển thành công, hỗ trợ tối ưu công việc của nhân viên quản lý kho và cung cấp các API cho hệ thống khác Sản phẩm bao gồm: (i) Phần mềm đóng gói dưới dạng docker file, (ii) Quy trình di chuyển cơ sở dữ liệu, và (iii) Tài liệu hướng dẫn sử dụng cũng như triển khai.

Thống kê chi tiết hơn về phần mềm được trình bày trong bảng 4.15

Bảng 4.15: Thống kê thông tin phần mềm

Hệ thống tổng thể có dung lượng 18 Mb, không bao gồm thư viện Phần mềm đóng gói Backend chiếm 2 Mb, trong khi phần mềm Frontend có dung lượng 16 Mb, cũng không bao gồm thư viện Cơ sở dữ liệu chứa 17 bảng, chưa tính các bảng được sinh tự động từ framework.

4.3.3 Minh họa các chức năng chính

Giao diện web của chức năng quản lý nhập kho, như được thể hiện trong Hình 5.1, bao gồm danh sách đơn nhập kho cùng với các nút hành động như xem, xác nhận hàng, xác nhận đã kiểm tra và đã vào kho Bên cạnh đó, hệ thống còn có các bộ lọc phía trên giúp người dùng dễ dàng và thuận tiện trong việc lọc các trạng thái của đơn.

Hinhve/chuc_nang_nhapkho.png

Hình 4.12: Giao diện về chức năng quản lý nhập kho

Hình 5.1 hiển thị giao diện web cho chức năng quản lý xuất kho, bao gồm danh sách các đơn xuất kho, các hành động mà người dùng có thể thực hiện, và bộ lọc trạng thái để dễ dàng quản lý thông tin.

Hinhve/chuc_nang_xuat_kho.png

Hình 4.13: Giao diện về chức năng quản lý xuất kho

Hình 4.14 thể hiện chức năng xem danh sách hàng tồn kho, hiển thị rõ ràng các thông số quan trọng như hàng còn, hàng hiện có và hàng đang được đặt, giúp người dùng dễ dàng theo dõi tình trạng hàng hóa.

Hinhve/chuc_nang_hang_ton_kho.png

Hình 4.14: Giao diện về chức năng quản lý hàng tồn kho

Hình 4.15 trình bày danh sách hàng hóa với các chức năng như thêm mới, làm mới, sửa đổi, xem và xóa hàng hóa Đặc biệt, tính năng xem hàng hóa cho phép quét mã QR để hiển thị mã vạch của sản phẩm.

Hinhve/chuc_nang_danh_sach_hanghoa.png

Hình 4.15: Giao diện về chức năng quản lý danh sách hàng hóa

Hình 4.16 minh hoạ chức năng xuất dữ liệu: dữ liệu nhập kho, xuất kho, dữ liệu hàng hóa đề được xuất ở màn hình web này.

Hinhve/chuc_nang_export_dulieu.png

Hình 4.16: Giao diện về chức năng quản lý xuất dữ liệu

Kiểm thử

Kiểm thử tương thích trình duyệt là quá trình đảm bảo phần mềm hoạt động hiệu quả trên nhiều thiết bị khác nhau Ba yếu tố chính cần xem xét trong kiểm thử này bao gồm hệ điều hành, phần mềm và phần cứng, bao gồm cấu hình và độ phân giải màn hình.

Bảng 4.16: Bảng kiểm thử khả năng tương thích

Thiết bị Trình duyệt Phần cứng Kết quả

Bảng 4.16 trình bày kết quả kiểm thử tương thích của phần mềm trên các nền tảng phần mềm, phần cứng khác nhau Tất cả trường hợp đều tương thích.

4.4.2 Kiểm thử tải của hệ thống

Kiểm thử tải (load testing) là quá trình đánh giá phản ứng của ứng dụng dưới các điều kiện tải khác nhau Để thực hiện kiểm thử này, tôi đã sử dụng công cụ Locust, một phần mềm mã nguồn mở được viết bằng Python, nhằm kiểm tra khả năng đáp ứng của máy chủ với các mức độ truy cập khác nhau.

Bảng 4.17: Bảng kiểm thử tải

Chức năng Đầu vào Đầu ra mong muốn

Tạo mới đơn nhập kho

Thời gian trả lời trung bình:

Ngày đăng: 12/12/2023, 15:11

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w