Phần mềm Odoo ERP có một kho hệ thống đa dạng hỗ trợ từng bộ phận trọng công ty từ kế toán, quản lý dự án, chăm sóc khách hàng, cho đến quản lý nhà kho, nguyên liệu sản xuất, … Đặc biệt hệ thống Odoo được xây dựng theo cấu trúc module, người dùng có thể tùy ý lựa chọn các ứng dụng phù hợp trên kho apps và cài đặt về tài khoản của công ty. Hơn 10.000 module hỗ trợ chính là điểm nổi bật của hệ thống Odoo. Doanh nghiệp chỉ cần lựa chọn những chức năng phù hợp, loại bỏ được các chức năng thừa thãi không cần thiết.
GIỚI THIỆU ỨNG DỤNG QUẢN LÝ KHO HÀNG
Mục tiêu đề tài
Tìm hiểu, nghiên cứu việc quản lý kho hàng tại siêu thị NewWay –
Tại địa chỉ 497 Hòa Hảo, chúng tôi tiến hành thu thập thông tin, báo cáo và tài liệu liên quan đến quản lý kho hàng tại siêu thị Qua việc phân tích và thiết kế hệ thống thông tin quản lý kho hàng, chúng tôi sẽ phát triển một ứng dụng hiệu quả nhằm tối ưu hóa quy trình quản lý kho cho siêu thị.
Giới thiệu về siêu thị
Lĩnh vực hoạt động: Bán lẻ
Chuyên kinh doanh: Thực phẩm, đồ dùng, dụng cụ gia đình và các loại cần thiết khác.
Địa chỉ: 497 Hòa Hảo, Phường 7, Quận 10, Thành Phố Hồ ChíMinh.
Mô tả hoạt động hệ thống
Siêu Thị NewWay chuyên cung cấp thực phẩm, đồ dùng và dụng cụ gia đình, với nhiều kho hàng để duy trì nguồn cung ứng Để quản lý kho hiệu quả, siêu thị cần áp dụng hệ thống quản lý kho nhằm giảm độ phức tạp trong công việc Khi nhập hàng, thủ kho lập phiếu nhập và kiểm kê, đồng thời phân loại hàng hóa theo quy ước, lưu trữ thông tin chi tiết vào hồ sơ Hàng tồn kho được cập nhật vào sổ hàng, và nếu mặt hàng mới, sẽ được thêm vào danh mục Khi xuất hàng, thủ kho kiểm tra số lượng và lập phiếu xuất; nếu không đủ hàng, sẽ yêu cầu chuyển từ kho khác Hàng tồn lâu nhất sẽ được xuất trước, và mọi thông tin xuất kho sẽ được ghi lại Trong trường hợp thiếu hàng, thủ kho thực hiện nghiệp vụ luân chuyển kho và cập nhật thông tin vào sổ chuyển kho, đảm bảo không xảy ra tình trạng thiếu hàng tại các kho.
Khi một kho mới được tạo, thông tin sẽ được lưu vào hồ sơ kho và sổ kho sẽ được cập nhật Tương tự, khi kho được sửa, các thông tin sửa chữa cũng sẽ được cập nhật Việc xóa kho chỉ diễn ra khi kho không còn hoạt động và không lưu trữ hàng hóa nữa Dựa trên số liệu thống kê, thủ kho sẽ lập các báo cáo theo yêu cầu của lãnh đạo.
TÌM HIỂU LẬP TRÌNH PHẦN MỀM TRÊN NỀN TẢNG ODOO
Tổng quan về phần mềm Odoo
Vào năm 2005, Fabien Pinckaers đã khởi đầu dự án phát triển phần mềm mã nguồn mở mang tên TinyERP nhằm quản lý doanh nghiệp Ông hướng đến việc tối ưu hóa giá trị của phần mềm ERP và cạnh tranh với gã khổng lồ SAP trong ngành này.
Hình 2.1: Định hướng kinh doanh của phần mềm Odoo Đến năm 2010, công ty ông có hơn 100 nhân viên đồng thời TinyERP đã đổi tên thành OpenERP
Hiện tại, công ty đang tìm kiếm các nhà đầu tư mới nhằm mục tiêu chuyển mình từ một công ty dịch vụ sang một công ty chuyên xuất bản phần mềm.
Fabient đã nhận được khoản đầu tư lớn từ Sofinnova Partners và Xavier Niel, giúp OpenERP đạt mức tăng trưởng ấn tượng 1549% trong giai đoạn 2007-2011 Đến năm 2013, OpenERP đã thu hút hơn 2.000.000 người dùng toàn cầu và ghi nhận 1.000 lượt cài đặt mỗi ngày, theo các nhà phân tích từ Big.
4 cũng đã bắt đầu ưa chuộng OpenERP hơn SAP
Từ năm 2014 đánh dấu một bước đi quan trọng khi OpenERP đổi tên thành Odoo, họ đã bước ra ngoài ranh giới của ERP truyền thống
Odoo không chỉ mở rộng các module về bán hàng, kế toán, hàng kho và mua sắm mà còn bắt đầu phát triển hệ thống CMS và eCommerce riêng, đánh dấu bước tiến vào thị trường mới.
Từ một gã tí hon giờ Odoo ERP của Fabient Pinckaers đã được đánh giá là top 1 các phần mềm ERP trên thế giới (theo trang Capterra)
Odoo là phần mềm ERP mã nguồn mở, cho phép người dùng tùy chỉnh và phát triển các tính năng một cách linh hoạt Ngoài các module cơ bản như POS, CRM, quản lý kho và nhân sự, Odoo còn hỗ trợ chỉnh sửa, thêm bớt tính năng hoặc tạo ra các phân hệ mới theo nhu cầu của doanh nghiệp.
Ngoài ra, Odoo còn cung cấp các tính năng bảo mật cho các cộng đồng về công nghệ kinh doanh và phát triển phần mềm trên toàn thế giới.
Hệ thống ERP hiện nay đã thu hút hơn 7 triệu người dùng trên toàn cầu, nhờ vào khả năng cung cấp tầm nhìn kinh doanh toàn diện và giao diện người dùng thân thiện.
Ưu và nhược điểm của Odoo trong doanh nghiệp
Hình 2.3: Ưu điểm của Odoo mang lại trong doanh nghiệp
Phần mềm Odoo ERP cung cấp một hệ thống đa dạng, hỗ trợ các bộ phận trong công ty như kế toán, quản lý dự án, chăm sóc khách hàng, và quản lý kho nguyên liệu sản xuất Điểm nổi bật của Odoo là cấu trúc module linh hoạt, cho phép người dùng tự do lựa chọn và cài đặt các ứng dụng phù hợp từ kho ứng dụng cho tài khoản công ty.
Hơn 10.000 module hỗ trợ chính là điểm nổi bật của hệ thống Odoo Doanh nghiệp chỉ cần lựa chọn những chức năng phù hợp, loại bỏ được các chức năng thừa thãi không cần thiết.
Odoo sở hữu kho ứng dụng đa dạng, mang lại tính linh hoạt cao, phù hợp với mọi loại hình doanh nghiệp, đặc biệt là các doanh nghiệp vừa và nhỏ.
Người dùng có thể khởi đầu với các module mặc định để quản lý doanh nghiệp và sau đó cài đặt thêm các module khác khi có nhu cầu phát sinh hoặc theo kế hoạch phát triển của doanh nghiệp.
Odoo cho phép tùy chỉnh các module hoặc phát triển module riêng biệt cho từng loại hình doanh nghiệp Để thực hiện điều này, bạn chỉ cần một đội ngũ lập trình viên chuyên nghiệp có khả năng tạo ra hoặc chỉnh sửa các tính năng theo yêu cầu của bạn.
Odoo là một ứng dụng nổi bật với khả năng tích hợp mạnh mẽ, khác biệt so với nhiều phần mềm ERP thường gặp, thường có mã nguồn đóng Điều này gây khó khăn trong việc liên kết với các phần mềm bên thứ ba, đặc biệt khi doanh nghiệp sử dụng nhiều ứng dụng để quản lý các bộ phận khác nhau.
Nhiều phần mềm ERP hiện nay giới hạn khả năng tích hợp với các ứng dụng bên thứ ba, đặc biệt là khi sử dụng phần mềm ở Việt Nam, khiến việc kết nối với các phần mềm quốc tế trở nên khó khăn Tuy nhiên, Odoo nổi bật với việc cung cấp API miễn phí, cho phép doanh nghiệp tích hợp linh hoạt với bất kỳ phần mềm nào mà không bị giới hạn Nhờ đó, Odoo giúp kết nối và thống kê hoạt động của từng phần mềm trong các phòng ban, từ đó nâng cao hiệu suất làm việc và quản lý cho cả nhân viên lẫn nhà quản lý.
Giá thành là một trong những điểm nổi bật của Odoo, phù hợp với mọi loại doanh nghiệp từ SME đến doanh nghiệp lớn Nếu doanh nghiệp chỉ cần sử dụng các module cơ bản, chi phí sẽ rất hợp lý Hơn nữa, Odoo cho phép thanh toán theo từng module, nghĩa là bạn chỉ cần trả phí cho các chức năng mà bạn muốn sử dụng Chẳng hạn, nếu bạn chỉ cần Odoo để quản lý POS hoặc kho, bạn có thể mua các module riêng lẻ để phục vụ cho các chức năng cụ thể đó.
Nếu bạn chỉ sử dụng một chức năng của Odoo, bạn sẽ không phải trả phí và được sử dụng trọn đời Tuy nhiên, nếu bạn muốn trải nghiệm ít nhất 2 chức năng, Odoo cung cấp cho bạn thời gian dùng thử 15 ngày trên Odoo.com.
Chi phí Odoo sẽ tăng khi doanh nghiệp bạn cần sửa đổi hoặc lập trình thêm các module phù hợp với mô hình kinh doanh Nếu doanh nghiệp có đội ngũ lập trình Odoo riêng, chi phí này có thể được miễn phí Tuy nhiên, trường hợp này rất hiếm, do đó, bạn thường phải liên hệ với các đối tác của Odoo như Magenest để sử dụng dịch vụ lập trình.
Hình 2.4: Thiết kế đơn giản và thân thiện
Hệ thống Odoo ERP nổi bật với giao diện thân thiện, giúp người dùng dễ dàng quản lý nhờ vào thiết kế tối giản và cách sắp xếp các module hợp lý.
Người mới bắt đầu sử dụng Odoo có thể nhanh chóng làm quen và thành thạo ứng dụng này chỉ trong vòng 2 ngày Các chức năng được sắp xếp hợp lý, dễ nhìn và dễ hiểu, giúp cả nhân viên lẫn quản lý doanh nghiệp có thể sử dụng ngay lập tức.
Việc thiết lập phần mềm ERP như Odoo gặp nhiều khó khăn, đòi hỏi kỹ năng lập trình để hiểu và cài đặt hiệu quả Điều này có thể gây cản trở cho doanh nghiệp, tiêu tốn thời gian, công sức và tiền bạc cho nhân sự chỉ để giải quyết vấn đề cài đặt.
Việc duy trì hệ thống Odoo có thể gặp nhiều khó khăn cho doanh nghiệp, chẳng hạn như chức năng không đáp ứng đủ nhu cầu hoặc cần tích hợp với các phần mềm bên thứ ba Điều này khiến nhiều doanh nghiệp bối rối trong việc tìm cách tích hợp và thêm các tính năng cần thiết để tối ưu hóa quy trình làm việc.
Mặc dù cộng đồng Odoo rất lớn, việc duy trì hệ thống ERP Odoo cần kiến thức lập trình phần mềm chuyên sâu Để xử lý hiệu quả, nhân viên lập trình của bạn cũng cần có sự am hiểu sâu về Odoo.
Kỹ thuật lập trình Odoo
Odoo không chỉ mang lại những tính năng kỹ thuật tiên tiến mà còn tích hợp một framework quản trị hiện đại, cung cấp quy trình quản lý doanh nghiệp khép kín Nhờ đó, bất kỳ doanh nghiệp nào áp dụng Odoo đều có khả năng nâng cao năng lực quản trị của mình.
Odoo không phải đơn thuần là một ứng dụng web, nó không dùng bất cứ web framework nào như Django, Flask, Tornado
Odoo là một web framework, trong code của Odoo có đủ các thành phần cần thiết của một web framework:
Router: Odoo tự viết luôn 1 ORM (Object Relational Mapping) chỉ hỗ trợ PostgreSQL
Kiến trúc: Odoo sử dụng kiến trúc server - client
Code server viết bằng Python, chạy phía máy chủ
Code client viết bằng Javascript, chạy trên trình duyệt web, nó tương tác với server bằng JSON-RPC trên nền HTTP request
Mỗi chương trình (webapp), được đóng thành 1 python module (thư mục với file init .py), và nằm trong thư mục addons.
Flow hoạt động của Odoo đã cung cấp các thành phần như:
Quản lý user login / logout.
Kiến trúc MVC: Model - View – Controller.
Hình 2.5: Minh họa mô hình MVC
MVC (Model-View-Controller) là một mẫu kiến trúc phần mềm giúp xây dựng giao diện người dùng trên máy tính Mẫu này chia ứng dụng thành ba thành phần tương tác, nhằm tách biệt cách thức xử lý thông tin và phần thông tin được trình bày, cũng như tiếp nhận từ người dùng.
Khi áp dụng mẫu MVC một cách hiệu quả, nó giúp các nhà phát triển phần mềm tách biệt rõ ràng giữa các nguyên tắc nghiệp vụ và giao diện người dùng, từ đó nâng cao khả năng bảo trì phần mềm Trong cấu trúc Model-View-Controller, mô hình (Model) đại diện cho dữ liệu của chương trình, trong khi khung nhìn (View) chứa các thành phần giao diện người dùng Bộ điều khiển (Controller) đóng vai trò quan trọng trong việc quản lý sự tương tác giữa dữ liệu và các nguyên tắc nghiệp vụ trong các thao tác liên quan đến mô hình.
Các thành phần trong mô hình MVC:
Mô hình là thành phần chịu trách nhiệm thực hiện các nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị cơ sở dữ liệu như MySQL, MSSQL Nó bao gồm các đối tượng và phương thức để xử lý nhiều nhiệm vụ như kết nối cơ sở dữ liệu, truy vấn dữ liệu, cũng như thực hiện các thao tác thêm, xóa và sửa dữ liệu.
View là thành phần hiển thị giao diện người dùng, bao gồm các nút bấm, khung nhập liệu, menu và hình ảnh Nó có vai trò quan trọng trong việc trình bày dữ liệu và tạo điều kiện cho người dùng tương tác hiệu quả với hệ thống.
Controller là thành phần tiếp nhận yêu cầu từ người dùng, bao gồm các lớp và hàm xử lý logic để truy xuất thông tin cần thiết Nó tương tác với lớp Model để lấy dữ liệu và hiển thị thông tin đó cho người dùng thông qua lớp View.
Sự tương tác giữa các thành phần:
Controller tương tác qua lại với Model
Model và View không có sự tương tác với nhau mà nó tương tác với nhau thông qua Controller
Trình tự xử lý rất rõ ràng
Mô hình MVC phân chia các lớp và chức năng thành ba thành phần riêng biệt: Controller, Model và View Sự phân chia này giúp quá trình phát triển, quản lý, vận hành và bảo trì website trở nên dễ dàng hơn, đồng thời cho phép tạo ra các chức năng chuyên biệt và kiểm soát luồng xử lý hiệu quả.
Tạo mô hình chuẩn cho dự án, khi người có chuyên môn ngoài dự án tiếp cận với dự án dễ dàng hơn
Mô hình đơn giản, dễ hiểu, xử lý những nghiệp vụ đơn giản, và dễ dàng triển khai với các dự án nhỏ.
Đối với các dự án có tính phức tạp cao thì mô hình MVC trở nên không khả dụng
ORM binding: tạo class Python -> mapping thành bảng trong cơ sở dữ liệu Postgress
Các thành phần chính trong một module của Odoo
Một module trong Python là một gói (package) chứa một hoặc nhiều module hoặc các gói khác Tệp init .py hoạt động như một constructor và sẽ được gọi đầu tiên khi chúng ta nhập gói đó.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Quy trình nghiệp vụ
Nhân viên: Có trách nhiệm hướng dẫn, tư vấn sản phẩm khi khách hàng cần giúp đỡ.
Thanh toán, tính tiền: Khi khách yêu cầu thanh toán, nhân viên lập hóa đơn dựa vào giỏ hàng, nhân viên đưa hóa đơn cho khách và thu tiền.
Quản lý thông tin nhân viên: giúp ta biết được số nhân viên trong quán, lý lịch của nhân viên, lương cơ bản (lương theo ca) của nhân viên.
Chấm công cho nhân viên: Ngày nào nhân viên đi làm thì được chấm công theo ca làm để tiện cho việc tính lương nhân viên.
Cuối tháng, công ty sẽ công bố bảng danh sách chấm công của nhân viên, ghi nhận số ca làm việc trong tháng Dựa trên số ca làm, lương của nhân viên sẽ được tính toán và thông báo.
Hằng ngày, nhân viên cần tổng hợp doanh thu để chủ cửa hàng nắm bắt kết quả kinh doanh Việc này giúp chủ cửa hàng xây dựng chiến lược kinh doanh hiệu quả và phù hợp với tình hình thực tế.
Mô hình ca sử dụng
3.2.1 Biểu đồ ca sử dụng mức tổng thể của hệ thống
Hình 3.1: Mô hình ca sử dụng tổng quát.
3.2.2 Biểu đồ ca sử dụng mức chi tiết
Hình 3.3: Mô hình Use Case - Thủ kho.
Hình 3.5: Mô hình Use Case - Nhân viên kinh doanh.
3.2.3 Đặc tả các ca sử dụng
3.2.3.1 Đặc tả UseCase Đăng Nhập
Bảng 3 1: Đặc tả Usecase Đăng nhập S
TT Tên UC User Đăng nhập
1 Tác nhân Quản lý, Nhân viên, Khách hàng
2 Mô tả Đăng nhập vào hệ thống để sử dụng
1 Quản lý, Nhân viên, Khách hàng truy cập vào hệ thống.
2 Hệ thống hiển thị giao diện người dùng
3 Quản lý, Nhân viên, Khách hàng click vào button Login.
4 Hệ thống hiển thị form đăng nhập.
5 Quản lý, Nhân viên, Khách hàng nhập tên đăng nhập và mật khẩu.
6 Hệ thống thực hiện chức năng và thông báo cho người dùng.
1 Quản lý, Nhân viên, Khách hàng đăng nhập không thành công
2 Hệ thống hiển thị thông báo và yêu cầu đăng nhập lại.
1 Người dùng chọn phương thức đăng nhập bằng tài khoản phần mềm.
2.Hệ thống chuyển sang màn hình đăng nhập của phần mềm.
3.Người dùng nhập tài khoản phần mềm và chọn lệnh đăng nhập
4.Phần mềm 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
1.Người dùng đăng nhập ứng dụng thành công
2.Hệ thống ghi nhận hoạt động đăng nhập thành công vào Activity Log.
7Yêu cầu đặc biệt 1.Mật khẩu của người dùng phải được hash bằng MD5.
3.2.3.2 Đặc tả Usecase Quản lý Kho hàng
Bảng 3.2: Đặc tả Usecase Quản lý Kho hàng
TT Tên UC Quản lý kho hàng
Nhập hàng hóa mới vào kho, Xem thông tin hàng trong kho, Cập nhật thông tin hàng hóa trong kho, xóa hàng khỏi CSDL.
1 Quản lý đăng nhập vào hệ thống.
2 Hệ thống xác nhận thông tin và hiển thị giao diện Danh mục điều khiển
3 Quản lý vào Quản lý Kho hàng.
5 Lựa chọn các chức năng Nhập hàng hóa mới vào kho, Xem thông tin hàng trong kho, Cập nhật thông tin hàng hóa trong kho, xóa hàng khỏi CSDL và Click lưu lại.
6 Thực hiện chức năng và thông báo cho người dùng.
1 Quản lý đăng nhập không thành công.
2 Hệ thống hiển thị thông báo và yêu cầu đăng nhập lại
Dòng thay thế 1 Quản lý chọn phương thức đăng nhập bằng tài khoản hệ thống.
2 Hệ thống chuyển sang màn hình đăng nhập của phần mềm.
3 Quản lý nhập tài khoản phần mềm và chọn lệnh đăng nhập
4.Phần mềm xác thực thông tin đăng nhập thành công và cho phép quản lý truy cập kho.
1.Quản lý đăng nhập ứng dụng thành công
2.Hệ thống ghi nhận hoạt động đăng nhập thành công vào Activity Log.
7 Yêu cầu đặc biệt 1.Không cho ai khác ngoài kho đăng nhập về hệ thống kho hàng.
3.2.3.3 Đặc tả Usecase Quản lý Thống kê
Bảng 3 3: Đặc tả Usecase Quản lý Thống kê
TT Tên UC Quản lý thống kê
2 Mô tả Thống kê Lương nhân viên, thống kê
1 Quản Lý đăng nhập vào hệ thống.
2 Hệ thống xác nhận thông tin và hiển thị giao diện Danh mục điều khiển
3 Quản Lý click vào Thống kê.
4 Hiển thị 2 submenu Thống kê Lương vàThống kê doanh thu
5 Click vào submenu Thống kê Lương.
6 Hiển thị giao diện Danh sách lương nhân viên.
9 Click vào submenu và Thống kê doanh thu.
10 Hiển thị giao diện và Tổng doanh thu.
1 Quản lý đăng nhập không thành công.
2 Hệ thống hiển thị thông báo và yêu cầu đăng nhập lại
1 Quản lý chọn phương thức đăng nhập bằng tài khoản phần mềm.
2.Hệ thống chuyển sang màn hình đăng nhập của phần mềm.
3 Quản lý nhập tài khoản phần mềm và chọn lệnh đăng nhập
4.Phần mềm xác thực thông tin đăng nhập thành công và cho phép quản lý truy cập ứng dụng
1.Quản lý đăng nhập ứng dụng thành công
2.Hệ thống ghi nhận hoạt động đăng nhập thành công vào Activity Log.
7 Yêu cầu đặc biệt Không
3.2.3.4 Đặc tả Usecase Xem thông tin hàng.
Bảng 3 4: Đặc tả Usecase Xem thông tin hàng.
TT Tên UC Quản lý bán hàng
2 Mô tả Làm đơn, Thanh toán và in hóa đơn.
1 Quản Lý, Nhân Viên đăng nhập vào hệ thống.
2 Hệ thống xác nhận thông tin và hiển thị giao diện Danh mục điều khiển
3 Quản Lý click vào Bán hàng.
4 Hiển thị submenu Đặt đồ
5 Click vào submenu Đặt đồ.
6 Hiển thị giao diện Gọi món gồm Menu và giá tiền.
7 Lựa chọn món theo yêu cầu của khách, Click lưu lại và thanh toán.
8 Hệ thống lưu lại thông tin
10 Chọn món bị đổi và món đổi.
Click lưu lại và thanh toán.
12 Hệ thống lưu lại thông tin
13 Hệ thống tạo hóa đơn.
14 Thực hiện chức năng và in hóa đơn.
1 Quản lý, Nhân viên đăng nhập không thành công.
2 Hệ thống hiển thị thông báo và yêu cầu đăng nhập lại
1 Người dùng chọn phương thức đăng nhập bằng tài khoản phần mềm.
2.Hệ thống chuyển sang màn hình đăng nhập của phần mềm.
3.Người dùng nhập tài khoản phần mềm và chọn lệnh đăng nhập
4.Phần mềm 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
1.Người dùng đăng nhập ứng dụng thành công
2.Hệ thống ghi nhận hoạt động đăng nhập thành công vào Activity Log.
Phân tích kiến trúc
HỆ THỐNG QUẢN LÝ KHO HÀNG
CSDL chi tiết đơn xuất
Hệ thống kiểm tra thống kê kho hàng
CSDL nhập hàng CSDL xuất hàng CSDL loại hàng
CSDL chi tiết đơn nhập
Hình 3.6: Mô hình ngữ cảnh
Hệ thống bảo mật: cho phép bảo mật thông tin tài khoản, mỗi tài khoản có một người sử dụng và phân quyền khác nhau.
Hệ thống nhập hàng cho phép người dùng dễ dàng thêm hàng mới khi cần thiết, chỉnh sửa thông tin sản phẩm đã nhập và xóa các mặt hàng không còn nhu cầu khỏi danh sách.
Hệ thống xuất hàng cho phép người dùng thực hiện các thao tác như xuất hàng theo nhu cầu, chỉnh sửa thông tin hàng xuất và xóa hàng không còn xuất khỏi danh sách.
Hệ thống kiểm tra, thống kê kho hàng: cho phép xem thông tin hàng hóa, kiểm tra, thống kê hàng hàng hóa trong kho.
CSDL loại hàng lưu trữ thông tin chi tiết về hàng hóa, bao gồm mã loại hàng, tên loại hàng, mã mặt hàng, nhà sản xuất, ngày sản xuất, đơn giá và số lượng Trong khi đó, CSDL xuất hàng ghi nhận thông tin liên quan đến quá trình xuất hàng, với các dữ liệu như mã đơn xuất, mã nhân viên, ngày xuất, tổng tiền và mã khách hàng.
CSDL nhập hàng: lưu trữ thông tin nhập hàng (mã đơn nhập, mã nhân viên, ngày nhập, thành tiền).
CSDL khách hàng: lưu trữ thông tin khách hàng (mã khách hàng, tên khách hàng, địa chỉ, số điện thoại, mã số thuế).
CSDL nhà cung cấp: lưu trữ thông tin nhà cung cấp (mã nhà cung cấp, tên nhà
cung cấp, địa chỉ, số điện thoại, mã số thuế).
CSDL nhân viên: lưu trữ thông tin nhân viên (mã nhân viên, tên nhân viên).
CSDL mặt hàng: lưu trữ thông tin loại hàng (mã mặt hàng, tên mặt hàng, mã nhà cung cấp).
CSDL chi tiết đơn nhâp: lưu trữ thông tin nhập hàng (mã chi tiết nhập, mã loại hàng, tên loại hàng, đơn giá nhập, số lượng, mã đơn nhập)
CSDL chi tiết đơn xuất: lưu trữ thông tin xuất hàng (mã chi tiết xuất, mã loại hàng, tên loại hàng, đơn giá xuất, số lượng, mã đơn xuất)
3.3.2 Mô hình luồng dữ liệu của chức năng chính
Người quản trị hệ thống
Chức năng thêm nhân viên
Chức năng quản lý nhân viên
Nhập dữ liệu cần thêm
Cập nhập vào cơ sở dữ liệu
Hiển thị thông tin nhân viên
Bảng quản lý nhân viên
Dữ liệu được cập nhập
Hình 3.7: Mô hình luồng dữ liệu - Chức năng thêm nhân viên.
Chức năng thêm hàng hóa
Chọn hàng hóa Điền dữ liệu hàng hóa
Chọn chức năng thêm hàng hóa
Hiển thị thông tin hàng hóa
Bảng quản lý hàng hóa
Dữ liệu hàng hóa đã được điền
Dữ liệu được cập nhập
Cập nhập vào CSDL hàng hóa
Dữ liệu đã được thêm
Hình 3.8: Mô hình luồng dữ liệu - thêm hàng hóa.
Chức năng nhập, xuất hàng hóa
Chọn nhập hàng hoặc xuất hàng Điền dữ liệu nhập, xuất hàng hóa
Chọn chức năng thêm hàng nhập, xuất
Hiển thị thông tin hàng hóa nhập, xuất
Bảng nhập hàng hoặc xuất hàng
Dữ liệu hàng nhập, xuất đã được điền
Dữ liệu được cập nhập
Thông tin hàng hóa nhập, xuất
Cập nhập vào CSDL nhập, xuất hàng hóa
Dữ liệu đã được thêm
Hình 3.9: Mô hình luồng dữ liệu - nhập, xuất hàng hóa.
Chức năng thay đổi thông tin hàng hóa.
Chọn thông tin cần thay đổi
Chọn chức năng xóa, sửa thông tin
Hiển thị thông tin hàng hóa đã thay đổi Điền dữ liệu thông tin cần thay đổi
Dữ liệu được cập nhập
Dữ liệu đã được thay đổi
Hình 3.10: Mô hình luồng dữ liệu - thay đổi thông tin hàng hóa.
Chức năng thay đổi giá hàng hóa
Chọn hàng hóa cần thay đổi giá
Chọn chức năng thêm thông tin
Hiển thị đơn giá hàng hóa đã thay đổi Điền đơn giá hàng hóa
Dữ liệu được cập nhập
Cập nhập vào CSDL Đơn giá hàng hóa đã được thay đổi
Hình 3.11: Mô hình luồng dữ liệu - thay đổi giá hàng hóa.
Chức năng xem thông tin hàng hóa
Xem thông tin hàng hóa
Hình 3.12: Mô hình luồng dữ liệu - xem thông tin hàng hóa
Thủ kho Đăng nhập hệ thống
Sai tên hoặc mật khẩu Nhập tên và mật khẩu
Dữ liệu đăng nhập Yêu cầu nhập tài khoản
Tên và mật khẩu hợp lệ Cho phép đăng nhập
THỦ KHO HỆ THỐNG HỆ THỐNG CSDL CSDL
Yêu cầu chức năng hàng hóa Xem dữ liệu hàng hóa Kết quả dữ liệu hàng hóa
Y/C chức năng nhập hàng hóa Cập nhật hàng hóa
Kết quả dữ liệu nhập hàng
Dữ liệu sau khi nhập
Y/c chức năng xuất hàng Cập nhật hàng hóa
Kết quả dữ liệu Xuất hàng
Dữ liệu sau khi xuất
Cập nhật dữ liệu hàng hóa
Nhập thông tin hàng hóa mới
Cập nhật dữ liệu hàng hóa Kết quả dữ liệu hàng hóa
Y/C chức năng thêm hàng hóa
Dữ liệu sau khi thêm
Hình 3.13: Mô hình ứng xử
Phân tích biểu đồ tuần tự pha phân tích
3.4.1 Biểu đồ tuần tự đăng nhập
Hình 3.15: Biểu đồ tuần tự nhân viên đăng nhập
3.4.2 Biểu đồ tuần tự Quản trị hệ thống
Hình 3.16: Biểu đồ tuần tự tìm kiếm nhân viên
Hình 3.17: Biểu đồ tuần tự them mới nhân viên
Hình 3.18: Biểu đồ tuần tự cập nhật nhân viên
Hình 3.19: Biểu đồ tuần tự xóa nhân viên
3.4.2.5 Xem thông tin nhân viên
Hình 3.20: Biểu đồ tuần tự xem thông tin nhân viên
Hình 3.21: Biểu đồ tuần tự reset mật khẩu
Hình 3.22: Biểu đồ tuần tự phân quyền sử dụng
3.4.3 Biểu đồ tuần tự quản lý hàng hóa
3.4.3.1 Nhập hang mới vào kho
Hình 3.23: Biểu đồ tuần tự nhập hang hóa mới vào kho
3.4.3.2 Biểu đồ tuần tự xem thông tin hang trong kho
Hình 3.24: Biểu đồ tuần tự xem thông tin hàng trong kho 3.4.3.3 Biểu đồ tuần tự cập nhập thông tin hàng hóa trong kho
Hình 3.25: Biểu đồ tuần tự cập nhập thông tin hàng hóa
3.4.3.4 Biểu đồ tuần tự xóa hàng
Thiết kế các lớp
Một lớp giao diện thể hiện một giao diện người dùng có thể có nhiều lớp, mỗi lớp trên một cửa sổ.
Lớp điều khiển có thể trở thành một lớp thiết kế hoặc một phương thức trong lớp thiết kế.
Một lớp phân tích có thể trở thành một trong các thành phần sau đây trong mô hình thiết kế.
Một nhóm của các lớp kế thừa cùng một lớp.
Một quan hệ giữa các lớp phân tích có thể trở thành một lớp trong mô
Một phần của lớp phân tích có thể được thực hiện bởi phần cứng và không mô hình hóa trong mô hình thiết kế.
Dựa các yếu tố sau:
Phân bổ nguồn lực giữa các nhóm phát triển
Phản ánh loại người dùng
Đại diện cho những sản phẩm hiện có và dịch vụ sử dụng hệ thống.
TRIỂN KHAI VÀ THỰC NGHIỆM
Cài đặt môi trường
Yêu cầu tối thiểu RAM 2GB, CPU 2 core
Cài đặt Cơ sở dữ liệu PostgreSQL
Hướng dẫn chạy chương trình
Odoo và PostgreSQL tự động khởi động trong dịch vụ, giúp người dùng không cần thực hiện cài đặt bổ sung Để sử dụng phần mềm, người dùng chỉ cần thực hiện hai bước đơn giản.
Chạy chương trình (chạy file odoo-bin.py trong Odoo package)
Mở trình duyệt sau đó truy cập vào đường dẫn https://localhost:8069 Sau khi truy cập sẽ dẫn đến giao diện màn hình đăng nhập.
Giao diện chương trình
Hình 4.1: Giao diện đăng nhập
Người dùng nhập tên đăng nhập và tài khoản sau đó ấn “LOG IN” để hoàn tất quá trình đăng nhập.
Sau khi đăng nhập người dùng sẽ được đưa đến trang chủ.
Hình 4.2: Giao diện trang chủ
Giao diện trang chủ hiển thị các module được phân quyền truy cập cho tài khoản ở bên trái, trong khi trung tâm là giao diện chính của module Quản lý kho hàng.
4.2.3 Giao diện xử lý biên lai
Hình 4.3: Giao diện xử lý biên lai
4.2.4 Giao diện xử lý đơn đặt hàng
Hình 4.4: Giao diện xử lý đơn đặt hàng
4.2.5 Giao diện xử lý đơn hàng
Hình 4.5: Giao diện xử lý đơn hàng
4.2.6 Giao diện sản phẩm trong kho
Hình 4.6-4.7: Giao diện sản phẩm trong kho
4.2.7 Giao diện báo cáo hàng tồn kho
Hình 4.8: Giao diện báo cáo hàng tồn kho
4.2.8 Giao diện báo cáo bằng biểu đồ
Hình 4.9: Giao diện báo cáo bằng biểu đồ
4.2.9 Giao diện cấu hình quản lý kho
Hình 4.10-4.12: Giao diện cấu hình quản lý kho
4.2.10 Giao diện lịch làm việc
Hình 4.13: Giao diện lịch làm việc
4.2.11 Giao diện tạo lịch làm việc
Hình 4.14: Giao diện tạo lịch làm việc
4.2.12 Giao diện quản lý người lao động
Hình 4.15: Giao diện quản lý người lao động
4.2.13 Giao diện thêm người lao động
Hình 4.16: Giao diện thêm người lao động
4.2.14 Giao diện diểm danh/chấm công
Hình 4.17-4.18: Giao diện điểm danh/chấm công
4.2.15 Giao diện báo cáo giờ làm việc của nhân viên
Hình 4.19-4.20: Giao diện báo cáo giờ làm việc của nhân viên
Hình 4.21-4.22: Giao diện bảo trì