BỘ CƠNG THƯƠNG
TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
QUẢN LÝ KHO HÀNG CHO MỘT SIÊU
THỊ TRÊN NỀN TẢNG ODOO
Ngành: Hệ Thống Thông Tin
Giảng viên hướng dẫn:
THÀNH PHỐ HỒ CHÍ MINH, THÁNG 3 NĂM 2022
1
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HCM
KHOA CÔNG NGHỆ THÔNG TIN
QUẢN LÝ KHO HÀNG CHO MỘT SIÊU THỊ
TRÊN NỀN TẢNG ODOO
Ngành: Hệ Thống Thông Tin
Giảng viên hướng dẫn:
THÀNH PHỐ HỒ CHÍ MINH, THÁNG 12 NĂM 2022
2
INDUSTRIAL UNIVERSITY OF HO CHI MINH CITY
FACULTY OF INFORMATION TECHNOLOGY
CAO VO NHAT MINH
STOCK MANAGEMENT FOR A SUPERMARKET ON
THE ODOO PLATFORM
Major: Information Technology
Supervisor:
HO CHI MINH CITY – 2022
3
LỜI CẢM ƠN
Để hoàn thành đồ án, trước hết em xin gửi lời cảm ơn chân thành và sâu sắc
đến thầy giáo TS…., người đã tận tình hướng dẫn em trong suốt quá trình nghiên
cứu vừa qua. Trong thời gian được thầy hướng dẫn, em không những tiếp thu thêm
nhiều kiến thức bổ ích mà cịn học tập được tinh thần, thái độ làm việc nghiêm túc,
hiệu quả. Đây là điều rất cần thiết cho em trong quá trình học tập và làm việc sau
này.
Em chân thành cảm ơn các thầy cô trong khoa công nghệ thông tin, Đại học
Công nghiệp TP. Hồ Chí Minh đã tâm huyết dạy dỗ, truyền đạt những kiến thức
quý báu cho em trong suốt 5 năm học đại học. Những kiến thức đó khơng chỉ giúp
em hoàn thành đồ án tốt nghiệp này mà cịn là thứ hành trang q báu để em có thể
tự tin trên q trình theo đuổi thành cơng của mình.
Em cũng xin cảm ơn gia đình, bạn bè, người thân và đặc biệt là tập thể ….đã
hỗ trợ em hết mình trong những năm tháng sinh viên.
Xin kính chúc tất cả mọi người dồi dào sức khỏe và tràn đầy nhiệt huyết
trong cuộc sống cũng như công việc của mình.
Người thực hiện đề tài
4
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
TP. Hồ Chí Minh, ngày…. Tháng …. năm….
CHỮ KÝ CỦA GIẢNG VIÊN
5
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 1
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
TP. Hồ Chí Minh, ngày…. Tháng …. năm….
CHỮ KÝ CỦA GIẢNG VIÊN
6
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
TP. Hồ Chí Minh, ngày…. Tháng …. năm….
CHỮ KÝ CỦA GIẢNG VIÊN
7
MỤC LỤC
MỤC LỤC HÌNH ẢNH........................................................................................10
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT....................................................11
CHƯƠNG 1. GIỚI THIỆU ỨNG DỤNG QUẢN LÝ KHO HÀNG.................13
1.1. Mục tiêu đề tài...........................................................................................13
1.2. Giới thiệu về siêu thị..................................................................................13
1.3. Mô tả hoạt động hệ thống.........................................................................13
CHƯƠNG 2. TÌM HIỂU LẬP TRÌNH PHẦN MỀM TRÊN NỀN
TẢNG ODOO........................................................................................................15
2.1. Tổng quan về phần mềm Odoo................................................................15
2.1.1. Lịch sử hình thành...............................................................................15
2.1.2. Khái niệm.............................................................................................16
2.2. Ưu và nhược điểm của Odoo trong doanh nghiệp.................................17
2.2.1. Ưu điểm...............................................................................................17
2.2.2. Nhược điểm..........................................................................................20
2.3. Kỹ thuật lập trình Odoo...........................................................................21
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG........................................25
3.1. Quy trình nghiệp vụ..................................................................................25
3.2. Mơ hình ca sử dụng...................................................................................25
3.2.1. Biểu đồ ca sử dụng mức tổng thể của hệ thống...................................25
3.2.2. Biểu đồ ca sử dụng mức chi tiết..........................................................26
3.2.3. Đặc tả các ca sử dụng.........................................................................28
3.2.3.1. Đặc tả UseCase Đăng Nhập...............................................28
3.2.3.2 Đặc tả Usecase Quản lý Kho hàng........................................31
3.2.3.3. Đặc tả Usecase Quản lý Thống kê.....................................32
3.2.3.4. Đặc tả Usecase Xem thông tin hàng..................................34
3.3. Phân tích kiến trúc....................................................................................36
3.3.1. Mơ hình ngữ cảnh................................................................................36
3.3.2 Mơ hình l̀ng dữ liệu của chức năng chính.........................................37
3.3.2. Mơ hình ứng xử....................................................................................42
3.4. Phân tích biểu đồ tuần tự pha phân tích.................................................43
3.4.1. Biểu đồ tuần tự đăng nhập.................................................................43
3.4.1.1. Quản lý đăng nhập.............................................................43
3.4.1.2. Nhân viên đăng nhập..........................................................43
3.4.2. Biểu đồ tuần tự Quản trị hệ thống.....................................................44
3.4.2.1. Tìm kiếm nhân viên...........................................................44
8
3.4.2.2. Thêm mới nhân viên..........................................................44
3.4.2.3. Cập nhật nhân viên.............................................................45
3.4.2.4. Xóa nhân viên....................................................................45
3.4.2.5. Xem thông tin nhân viên....................................................46
3.4.2.6. Reset mật khẩu...................................................................46
3.4.2.7. Phân quyền.........................................................................47
3.4.3. Biểu đờ tuần tự quản lý hàng hóa........................................................47
3.4.3.1. Nhập hang mới vào kho.....................................................47
3.4.3.2. Biểu đồ tuần tự xem thông tin hang trong kho...................48
3.4.3.3. Biểu đồ tuần tự cập nhập thơng tin hàng hóa trong kho....48
3.4.3.4. Biểu đồ tuần tự xóa hàng...................................................49
3.5. Thiết kế các lớp..........................................................................................49
3.5.1. Các lớp thiết kế....................................................................................49
3.5.2. Các gói thiết kế....................................................................................50
3.5.3. Thêm sản phẩm....................................................................................50
3.5.4. Sửa sản phẩm.......................................................................................51
3.5.5. Xóa sản phẩm......................................................................................51
3.5.6. Tìm sản phẩm.......................................................................................52
3.5.7. Xuất sản phẩm.....................................................................................52
CHƯƠNG 4: TRIỂN KHAI VÀ THỰC NGHIỆM...........................................53
4.1. Cài đặt môi trường....................................................................................53
4.2. Giao diện chương trình.............................................................................53
4.2.1. Giao diện đăng nhập...........................................................................53
4.2.2. Giao diện trang chủ.............................................................................54
4.2.3. Giao diện xử lý biên lai.......................................................................54
4.2.4. Giao diện xử lý đơn đặt hàng..............................................................55
4.2.5. Giao diện xử lý đơn hàng....................................................................55
4.2.6. Giao diện sản phẩm trong kho.............................................................55
4.2.7. Giao diện báo cáo hàng tồn kho..........................................................56
4.2.8. Giao diện báo cáo bằng biểu đờ..........................................................57
4.2.9. Giao diện cấu hình quản lý kho...........................................................57
4.2.10.Giao diện lịch làm việc........................................................................58
4.2.11. Giao diện tạo lịch làm việc..................................................................58
4.2.12.Giao diện quản lý người lao động.......................................................59
4.2.13.Giao diện thêm người lao động...........................................................59
4.2.14.Giao diện diểm danh/chấm công.........................................................60
4.2.15.Giao diện báo cáo giờ làm việc của nhân viên...................................61
9
4.2.16.Giao diện bảo trì.................................................................................62
KẾT LUẬN............................................................................................................63
TÀI LIỆU THAM KHẢO....................................................................................64
10
MỤC LỤC HÌNH ẢNH
Hình 1.1:...................................................................................................................5
Hình 1.2:...................................................................................................................6
11
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT
Từ viết tắt
Từ đầy đủ
Nghĩa
API
Application
Giao diện lập trình ứng dụng
Programming
Interface
APK
Android Package Kit
Gói ứng dụng Android
DOM
Document Object
Giao diện lập trình ứng dụng
Model
CPU
Central Processing
Bộ xử lý trung tâm
Unit
CI
Continuous
Tích hợp liên tục
Integration
DOM
Framework
Document Object
Mơ hình các đối tượng trong tài
Model
liệu HTML
Framework
Framework là phần mềm được
phát triển và sử dụng bởi các nhà
phát triển để xây dựng
các ứng dụng
GUI
Graphical User
Giao diện đồ họa người dùng
Interface
HTML
HyperText Markup
Ngôn ngữ đánh dấu siêu văn bản
Language
IDE
Integrated
Development
Mơi trường phát triển tích hợp
Environment
IE
Internet Explorer
Một trình duyệt web
Module
Module
Một thành phần phần mềm hoặc
12
một phần của chương trình
13
CHƯƠNG 1. GIỚI THIỆU ỨNG DỤNG QUẢN LÝ KHO HÀNG
1.1. 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 – 497 Hòa
Hảo. Thu thập các thơng tin, báo cáo và giấy tờ có liên quan đến việc quản lý kho
hàng của siêu thị, phân tích thiết kế hệ thống thơng tin quản lý kho hàng cho siêu
thị. Từ đó có thể xây dựng ứng dụng quản lý kho hàng của siêu thị.
1.2. Giới thiệu về siêu thị
Siêu thị NewWay:
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.
1.3. Mơ tả hoạt động hệ thống
Siêu Thị NewWay kinh doanh các mặt hàng thực phẩm, đồ dùng, dụng cụ
gia đình và các loại cần thiết khác. Qua khảo sát, siêu thị có nhiều kho để lưu trữ
hàng hóa nhằm mục đich ln duy trì được hàng hóa để phục vụ bán hàng. Do đó
để quản lý các kho cũng không phải dễ dàng, và sẽ càng phức tạp hơn nếu như các
kho ở xa nhau. Chính vì vậy, siêu thị cần ứng dụng quản lý kho để giảm thiểu độ
phức tạp của công việc này cũng như tăng hiểu quả trong công việc. Khi nhập
hàng, thủ kho lập phiếu nhập kho đồng thời kiểm kê, đưa hàng vào kho. Trước đó,
tồn bộ hàng trong kho đã được thống kê lại vào sổ hàng trong kho. Hàng nhập về
được phân loại theo quy ước của nhóm hàng, thơng tin về hàng hóa như: mã hàng,
tên hàng, đơn vị, số lượng, đơn giá,…Được lưu lại thành hồ sơ hàng hóa. Nếu mặt
hàng đã từng tồn tại trong kho và có trong danh mục hàng thì khơng phải tạo mới,
ngược lại mặt hàng mới sẽ được khởi tạo trong danh mục hàng. Hàng nhập vào
kho sẽ được cập nhật vào sổ nhập hàng, sau đó thủ kho cập nhật lại lượng hàng
trong kho vào sổ hàng trong kho. Khi xuất hàng, thủ kho kiểm tra lại lượng hàng
trên hệ thống có đủ để xuất hàng hay không. Nếu đủ, thủ kho lập phiếu xuất kho,
ngược lại sẽ báo cáo hết hàng. Tuy nhiên, siêu thị có nhiều kho lưu trữ hàng hóa
14
khác nhau, vậy nên khi một kho xuất hàng sẽ xảy ra trường hợp kho đó cịn đủ
hàng để xuất hoặc khơng cịn đủ hàng để xuất. Nếu kho đó đủ hàng, nghiệp vụ xuất
kho được tiến hành bình thường. Hàng tồn tại trong kho lâu nhất sẽ được xuất
trước, mọi thông tin liên quan đến hàng xuất kho sẽ được cập nhật vào sổ xuất
hàng. Sau khi xuất kho, thủ kho lưu lại lượng hàng trong kho vào sổ hàng trong
kho. Ngược lại, nếu kho đó khơng đủ lượng hàng, thủ kho sẽ yêu cầu chuyển hàng
từ các kho khác, khi hàng được chuyển về đủ mới chấp nhận xuất kho. Hàng được
chuyển sẽ được mô tả ở “luân chuyển kho”. Ví dụ: Siêu thị cần xuất tại kho A 20
kg thịt bị đơng lạnh, trong kho có đủ lượng hàng, thủ kho lập phiếu xuất kho cho
phép xuất kho mặt hàng này. Mặt hàng xuất kho sẽ được lưu lại sổ xuất hàng, sau
đó thủ kho thống kê lại lượng hàng trong kho, lưu lại sổ hàng trong kho. Mặt khác,
kho B cần xuất 50 kg thịt bò tươi, nhưng kho không đủ, lúc này thủ kho kiểm tra
trên hệ thống các kho khác và yêu cầu chuyển hàng đến kho B. Nghiệp vụ “luân
chuyển kho” được thực hiện, khi hàng đã chuyển về đủ, thủ kho thực hiện xuất
hàng bình thường. Về nghiệp vụ luân chuyển kho, khi các kho khác nhận được yêu
cầu chuyển hàng đến kho chỉ định, do thủ kho đã kiểm tra lượng hàng ở các kho
này đủ để đáp ứng nên không xảy ra tình trạng thiếu hàng. Phiếu chuyển kho được
lập trước, khi hàng được chuyển về kho chỉ định, thủ kho sẽ cập nhật lại lượng
hàng trong các kho. Thông tin hàng chuyển được lưu lại sổ chuyển kho. Do hàng
có thể đã được luân chuyển qua rất nhiều kho nên sẽ lưu lại lịch sử chuyển hàng
trên hệ thống. Hệ thống cho phép thủ kho: tạo kho mới, sửa kho, xóa kho. Khi một
kho mới được tạo, các thơng tin sẽ được lưu vào hồ sơ kho và cập nhật sổ kho.
Tương tự, đối với kho được sửa sẽ cập nhật thơng tin được sửa chữa. Việc xóa kho
chỉ được thực hiện khi kho đó khơng cịn hoạt động và lưu trữ thơng tin hàng hóa
nữa. Dựa vào các số liệu thống kê, thủ kho lập các bản báo cáo theo yêu cầu từ
lãnh đạo.
15
CHƯƠNG 2. TÌM HIỂU LẬP TRÌNH PHẦN MỀM TRÊN NỀN TẢNG
ODOO
16
2.1. Tổng quan về phần mềm Odoo
2.1.1. Lịch sử hình thành
Câu chuyện bắt đầu từ năm 2005 khi Fabien Pinckaers bắt
tay vào xây dựng một phần mềm open source để quản lý doanh
nghiệp với cái tên TinyERP. Mục tiêu của ông là tối đa hóa giá trị
của một phần mềm ERP và có thể đánh bại đối thủ lớn nhất trong
thị trường này – SAP.
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.
Vào thời điểm này, cơng ty bắt đầu tìm kiếm những nhà đầu tư mới với mục
đích chuyển đổi từ một công ty dịch vụ sang thành một công ty xuất bản phần
mềm.
Fabient đã nhận được một khoản tiền đầu tư lớn từ Sofinnova
Partners và Xavier Niel. Số tiền này giup công ty OpenERP đạt chỉ tiêu tăng
trưởng mạnh mẽ lên tới 1549% (2007-2011),
17
Đến năm 2013, OpenERP có hơn 2.000.000 người dùng trên toàn thế giới
đồng thời với 1000 lượt cài đặt mỗi ngày. Các nhà phân tích đến 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.
Ngoài phát triển thêm các module về bán hàng, kế toán, hàng kho và mua
sắm, Odoo đang bắt đầu tiến vào thị trường mới khi bắt đầu phát triển hệ thống
CMS và eCommerce riêng.
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).
2.1.2. Khái niệm
Odoo là một phần mềm ERP mã nguồn mở (open-source),
nghĩa là khả năng tùy chỉnh và phát triển các tính năng của phần
mềm này là vơ hạn. Cụ thể hơn, ngoài các phân hệ hay module cơ
bản của Odoo như POS, CRM, quản lý kho, quản lý nhân sự,… thì
Odoo cho phép bạn hồn tồn chỉnh sửa hay thêm bớt những tính
năng hoặc tạo ra các phân hệ mới mà bạn mong muốn.
Ngồ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.
Hiện nay, hệ thống ERP này có hơn 7,000,000 người dùng
trên tồn thế giới, nhờ ưu thế về tầm nhìn kinh doanh rộng và
giao diện người dùng thân thiện.
18
Hình 2.2: Phần mềm Odoo
2.2. Ưu và nhược điểm của Odoo trong doanh nghiệp
2.2.1. Ưu điểm
Hình 2.3: Ưu điểm của Odoo mang lại trong doanh nghiệp
19
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ế tố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.
Tính linh hoạt
Nhờ vào việc kho ứng dụng đa dạng được đề cập ở trên, Odoo có tính linh
hoạt cao phù hợp cho mọi loại hình doanh nghiệp (đặc biệt dành cho các doanh
nghiệp vừa và nhỏ).
Ban đầu người dùng có thể bắt đầu với những module mặc định để quản lý
doanh nghiệp, theo thời gian có thể cài đặt thêm các module theo nhu cầu phát sinh
hay kế hoạch phát triển của doanh nghiệp.
Ngoài ra, Odoo cho phép bạn tuỳ chỉnh module hoặc tạo thêm module của
riêng bạn để phục vụ từng loại hình doanh nghiệp khác nhau. Những gì bạn cần chỉ
là một đội ngũ lập trình viên mạnh mẽ để tạo ra hay chỉnh sửa các tính năng theo ý
của bạn.
Dễ dàng tích hợp
Khơng nhiều ứng dụng có khả năng tích hợp mạnh mẽ như Odoo. Thơng
thường, các phần mềm ERP thường là close source, tức là mã nguồn đóng. Việc
này khiến bạn muốn liên kết với các phần mềm của bên thứ ba trở nên khó khăn,
đặc biệt khi bạn sử dụng rất nhiều phần mềm để quản lý từng bộ phận khác nhau.
Hoặc, một số phần mềm ERP khác thì cho phép bạn tích hợp một số phần
mềm bên thứ ba nhất định chứ khơng được tích hợp với các phần mềm bạn mong
20
muốn. Đặc biệt, nếu bạn đang sử dụng một phần mềm nào đó ở Việt Nam thì các
phần mềm quốc tế sẽ không cho phép bạn kết nối.
Điều này lại hoàn toàn ngược lại trên Odoo, Odoo cung cấp API miễn phí,
cho phép bạn hồn tồn có thể tích hợp với bất kỳ một phần mềm nào mà không
giới hạn. Doanh nghiệp bạn hồn tồn có thể tích hợp Odoo để phục vụ các quy
trình riêng, làm cấu nối để kết nối và thống kê hoạt động của từng phần mềm riêng
biệt của các phòng ban lại với nhau. Từ đó, nhân viên hay nhà quản lý đều có thể
tăng hiệu suất làm việc và quản lý một
Giá thành hợp lý
Giá thành có lẽ là điểm nổi bật của Odoo. Odoo phù hợp với mọi loại doanh
nghiệp khác nhau từ SME đến những doanh nghiệp lớn. Lí do là bởi nếu doanh
nghiệp bạn chỉ có nhu cầu sử dụng các module cơ bản thì chi phí thật sự khơng
cao. Ngồi ra, Odoo cho phép trả phí theo module tức bạn muốn sử dụng chức
năng nào thì trả phí chức năng đó. Ví dụ như bạn chỉ muốn Odoo sử dụng để làm
POS hay quản lý kho thì bạn chỉ việc mua các module nhỏ lẻ để phục vụ các chức
năng chuyên biệt.
Ngoài ra, nếu bạn chỉ sử dụng một chức năng của Odoo thì chi phí bạn phải
trả là 0 đồng và sử dụng trọn đời. Còn nếu bạn muốn sử dụng thử ít nhất 2 chức
năng trở lên thì Odoo cho phép bạn sử dụng thử 15 ngày trên Odoo.com.
Chi phí Odoo bắt đầu tăng là khi bạn muốn sửa đổi hay lập trình thêm các
module riêng lẻ theo mơ hình kinh doanh của doanh nghiệp bạn. Phần chi phí gia
tăng này hồn tồn có thể miễn phí nếu doanh nghiệp bạn có một đội ngũ lập trình
Odoo. Tuy nhiên, điều này rất hiếm khi xảy ra, vậy nên bạn sẽ thường phải liên hệ
các đối tác của Odoo như Magenest để có thể sử dụng dịch vụ này.
UI/UX
21
Hình 2.4: Thiết kế đơn giản và thân thiện
Một điểm nữa được đánh giá cao trong hệ thống Odoo ERP là một nền tảng
thân thiện với người dùng. Thiết kế đã được tối giản hóa, các module được sắp xếp
đơn giản để người dùng dễ dàng quản lý.
Với một người bắt đầu sử dụng Odoo, không cần tốn quá 2 ngày để có thể
thành thạo được ứng dụng này. Các chức năng đều được sắp xếp một cách hợp lí
và dễ nhìn, dễ hiểu và dễ sử dụng. Bất kể là nhân viên hay quản lý doanh nghiệp
đều có thể bắt đầu sử dụng ngay lập tức.
2.2.2. Nhược điểm
Khó khăn trong việc thiết lập
Đây có lẽ điểm chung của bất cứ phần mềm ERP mạnh mẽ nào hiện nay.
Việc thiết lập và lắp đặt Odoo không hề dễ dàng. Bạn cần địi hỏi kĩ năng lập trình
để có thể hiểu được Odoo này.
Điều này có thể gây cản trở tới doanh nghiệp khi vừa mất thời gian vừa mất
công sức và quan trọng nhất tiền bạc cho các nhân sự của doanh nghiệp bạn, chỉ để
xử lí vấn đề cài đặt.
Khó khăn trong việc duy trì hệ thống
22
Đây cũng là một khó khăn nhiều doanh nghiệp mặc phải khi sử dụng Odoo.
Điển hình là trong quá trình sử dụng bạn sẽ gặp nhiều vấn đề như chức năng khơng
đáp ứng được tồn bộ nhu cầu của bạn hay doanh nghiệp bạn cần liên kết một số
phần mềm bên thứ ba và bạn không biết phải xoay xở như nào để tích hợp hay
thêm các tính năng này.
Mặc dù cộng đồng Odoo trên mạng rất nhiều nhưng việc duy trì hệ thống
ERP Odoo địi hỏi kiến thức cao về lập trình phần mềm để xử lí. Hơn nữa, những
nhân viên lập trình của bạn cũng phải có kiến thức về Odoo cao để xử lí.
2.3. Kỹ thuật lập trình Odoo
Ngồi góc độ kỹ thuật như trên, Odoo cịn chứa trong phần mềm của mình
một framework (kiến trúc) quản trị hiện đại, quy trình quản lý doanh nghiệp khép
kín giúp bất kỳ doanh nghiệp nào khi áp dụng Odoo cũng có thể cải thiện 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.
Template render: Qweb
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.
23
Kiến trúc MVC: Model - View – Controller.
Hình 2.5: Minh họa mơ hình MVC
MVC (viết tắt của Model-View-Controller) là một mẫu kiến trúc phần mềm
để tạo lập giao diện người dùng trên máy tính. MVC chia một ứng dụng thành ba
phần tương tác được với nhau để tách biệt giữa cách thức mà thông tin được xử lý
nội hàm và phần thơng tin được trình bày và tiếp nhận từ phía người dùng.
Khi sử dụng đúng cách, mẫu MVC giúp cho người phát triển phần mềm cô
lập các nguyên tắc nghiệp vụ và giao diện người dùng một cách rõ ràng hơn. Phần
mềm phát triển theo mẫu MVC tạo nhiều thuận lợi cho việc bảo trì vì các nguyên
tắc nghề nghiệp và giao diện ít liên quan với nhau. Trong mẫu Model-ViewController, mơ hình tượng trưng cho dữ liệu của chương trình phần mềm. Tầm
nhìn hay khung nhìn (view) bao gồm các thành phần của giao diện người dùng. Bộ
kiểm tra hay bộ điều chỉnh (controller) quản lý sự trao đổi giữa dữ liệu và các
nguyên tắc nghề nghiệp trong các thao tác liên quan đến mơ hình.
Các thành phần trong mơ hình MVC:
24
Model: là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ
quản trị cơ sở dữ liệu (mysql, mssql…); nó sẽ bao gồm các đối
tượng và hành vi (phương thức) xử lý nhiều nghiệp vụ như kết nối
database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu…
View: là nơi chứa những giao diện như một nút bấm, khung nhập,
menu, hình ảnh… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp
người dùng tương tác với hệ thống.
Controller: là nơi tiếp nhận những yêu cầu xử lý được gửi từ người
dùng, nó sẽ gồm những class/ function xử lý nhiều nghiệp vụ logic
giúp lấy đúng dữ liệu thông tin cần thiết nhờ các nghiệp vụ lớp
Model cung cấp và hiển thị dữ liệu đó ra cho người dùng nhờ lớp
View.
Sự tương tác giữa các thành phần:
Controller tương tác với qua lại với View.
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.
Ưu điểm của MVC:
Trình tự xử lý rất rõ ràng
Mơ hình MVC quy hoạch các class/function vào các thành phần
riêng biêt Controller - Model - View, việc đó làm cho quá trình phát
triển - quản lý - vận hành - bảo trì web diễn ra thuận lợi hơn, tạo ra
được các chức năng chuyên biệt hoá đồng thời kiểm soát được
luồng xử lý.
Tạo mơ hình chuẩn cho dự án, khi người có chun mơn ngồ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ỏ.
Nhược điểm của MVC:
Đố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
25