Tải bản đầy đủ (.pdf) (54 trang)

bài tập lớn tìm hiểu ứng dụng phát triển phần mềm odoo trong doanh nghiệp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.09 MB, 54 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

TRƯỜNG ĐẠI HỌC THĂNG LONG

<b>KHOA TOÁN TIN</b>

<b><small>GIÁO VIÊN HƯỚNG DẪNNHÓM SINH VIÊN THỰC HIỆN Mai Thúy Nga A40410 Nguyễn Huy Hoàng</small></b>

<b><small> A38219 Phan Duy Thành A39244 Bùi Chí Vĩ</small></b>

<b>BÀI TẬP LỚN : TÌM HIỂU, ỨNG DỤNG & PHÁT TRIỂNPHẦN MỀM ODOO TRONG DOANH NGHIỆP</b>

<b>HÀ NỘI – 2023</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>PHẦN 1: GIỚI THIỆU CÁC MODULE CÓ SẴN CỦAODOO TRONG CÁC MẢNG NGHIỆP VỤ.</b>

<b>1. Giới thiệu về tổ chức, những mảng nghiệp vụ sẽ ứngdụng: </b>

- Tên tổ chức: Klever Fruits

- Sản phẩm kinh doanh: Các sản phẩm hoa quả và giỏ hoa quả bán trong các dịp ngày lễ. Klever Fruits là một tổ chức kinh doanh trực tuyến kinh doanh hoa quả do sinh viên Đại học Thăng Long phát triển. Thời gian đầu nhóm hướng đến mục tiêu kinh doanh các đầu hoa quả nhưng sau một thời gian thử sức, chúng tôi nhận thấy việc tiêu thụ hoa quả chưa thực sự phổ biến và được ưa chuộng đối với khu vực nhắm đến kinh doanh. Xét về nhiều góc độ, nhóm khởi đầu nhắm đến các đối tượng xung quanh trường Đại học Thăng Long. Với tôn chỉ “Mang đến cho khách hàng những sản phẩm trái cây an toàn, chất lượng cao, mà kèm theo đó là những dịch vụ tiện ích thân thiện” .Bằng những nỗ lực không ngừng theo thời gian, hệ thống Klever Fruit khẳng định tiếp tục từng bước hoàn thiện và phát triển tốt nhất về sản phẩm và dịch vụ của mình. Với quy mơ cịn hạn chế, nhóm vẫn đang trên đà cập nhật và mở rộng tổ chức, chúng tôi hiểu rõ tầm quan trọng của việc nâng cao chất lượng tổ chức do thị trường. Vì điều đó, ngồi việc nâng cao các chất lượng sản phẩm thì dịch vụ chăm sách khách hàng và quản lý tổ chức cũng là một khâu không thể thiếu.

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

a. ERP (Enterprise Resource Planning)

ERP là phần mềm hoạch định nguồn lực doanh nghiệp. Hệ thống này cho phép tiếp cận các dữ liệu nội bộ được chia sẻ nhằm quản lý được toàn bộ hoạt động của ty.

<b>- E-Enterprise: Và điều cuối cùng chính là doanh nghiệp- thứ mà ERP muốn nhắm</b>

tới. Mục đích chính của hệ thống này là kết nối và đồng bộ cơng việc giữa các phịng ban, cập nhật mọi thông tin cần thiết theo thời gian thật, thêm tính tự động trong hoạt động cơng ty và giảm sai sót trong q trình xử lý nghiệp vụ.

<b>- R-Resource: Ứng dụng ERP vào trong doanh nghiệp chính là tận dụng được tồn bộ</b>

tài ngun của công ty, đặc biệt là nguồn nhân lực.

<b>- P-Planning: Hệ thống ERP hỗ trợ công ty lên trước các kế hoạch, nghiệp vụ trong</b>

sản xuất, kinh doanh. Phần hoạch định sẽ vạch ra hướng đi cho doanh nghiệp, việc tính tốn và dự báo các khả năng có thể phát sinh trong tương lai sẽ tác động tới các hoạt động sau đó.

Lợi thế và đặc điểm của ERP: - Có khả năng đồng bộ

- Sự linh hoạt, khả năng thay đổi dữ liệu nhanh chóng, kịp theo thời gian thật. - Đáp ứng nhu cầu chung cho các bộ phận.

- Tăng hiệu suất sản xuất và xác định rõ quy trình kinh doanh - Xử lý đơn hàng hoàn chỉnh

- Hạn chế sai lầm trong việc nhập dữ liệu Nhược điểm và rủi ro:

- Nếu triển khai một phần mềm ERP truyền thống, doanh nghiệp cần tri chả khá nhiều tiền để có một bản giấy phép duy nhất. Chi phí chi trả khá cao và đáng lo ngại đối với các doanh nghiệp vừa và nhỏ.

- Cần nhiều thời gian và nhân lực để triển khai. b. Phần mềm Odoo:

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

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, ngồ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à doanh nghiệp mong muốn.

Đặc điểm và lợi ích Odoo mang lại:

- Tích hợp tất cả trong một hệ thống

- Linh hoạt trong tùy chỉnh. Theo thời gian có thể cài đặt thêm các module phát sinh hay kế hoạch phát triển của doanh nghiệp.

- Có thể tạo thêm các module của riêng doanh nghiệp để phục vụ các loại hình kinh doanh khác nhau.

- Tích hợp các phần mềm, ứng dụng bên thứ - Phân quyền linh hoạt.

- Báo cáo tự động Nhược điểm: - Khó khăn trong việc thiết lập. - Khó khăn trong việc duy trì hệ thốn

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Thông tin chi tiết:

Báo cáo thống kê theo số lượng nhân viên mới theo thời gian:

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Module <b>Recruitment</b>: Tổ chức tuyển dụng, sàng lọc và tuyển chọn các ứng cử viên có năng lực đáp ứng nhu cầu của công ty.

Danh sách thông tin các ứng cử viên tham gia các kỳ tuyển dụng:

Lựa chọn giao diện khác phù hợp với mục đích sử dụng dữ liệu :

Biểu đồ thống kê theo trạng thái tuyển dụng của các ứng cử viên:

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

Module <b>Appraisal</b>: Đánh giá nhân viên trong công ty.

Danh sách các bản đánh giá nhân viên, giúp người quản lý đánh giá dễ dàng quan sát cũng như thực hiện việc đánh giá.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Kết quả đánh giá hiển thị trong mục Goals, cho thấy thông tin chi tiết về các bản đánh giá cũng như trạng thái bản đánh giá hiện tại.

Trong phần Reporting- báo cáo hoạt động đánh giá theo tùy chọn, dưới đây là báo cáo thống kê các bản đánh giá theo từng nhân viên:

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Module <b>Time Off</b>: Thiết lập các ngày nghỉ chung của tất cả nhân viên trong công ty( Nghỉ lễ tết, ngày nghỉ bắt buộc,...). Bên cạnh đó, ứng dụng cho phép quản lý, phê duyệt nghỉ phép của nhân viên.

Báo cáo ngày nghỉ theo từng nhân viên:

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>Module Approval: Quản lý phê duyệt các loại đề xuất liên quan đến hợp</b>

đồng, đơn yêu cầu, các khoản phí, giải thưởng,...

Danh sách các yêu cầu với một số thông tin cơ bản:

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

b.

Marketing :

Module <b>Events</b>: Tổ chức các sự kiện quảng bá mặt hàng của doanh nghiệp đến với người tiêu dùng, thu hút khách hàng.

Báo cáo tự động phân tích các sự kiện theo tùy chọn, dưới đây là bản phân tích theo nhóm các sự kiện:

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Ngồi ra module Events có thể kết hợp với module Website đưa các sự kiện tiếp cận đến với người tiêu dùng, đối tượng khách hàng của doanh nghiệp với giao diện trực quan, bắt mắt hơn:

Nhóm Module tiếp cận trực tiếp khách hàng: <b>Email Marketing</b>, SMS Marketing, Social Marketing.

Trong mục này nhóm lựa chọn module Email Marketing, một trong những phương thức tiếp cận và giao tiếp với khách hàng:

Báo cáo các thông số liên quan đến marketing bằng email:

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Module <b>Email Marketing</b>: gửi các email tới khách hàng và theo dõi tất cả các email và lưu trữ chúng, theo dõi tất cả các liên kết chiến dịch email của bạn và toàn bộ hiệu suất.

Báo cáo về Mass Mailing ( gửi thu hàng loạt) : phân tích tỷ lệ , doanh thu dự kiến và doanh thu được tạo ra từ các chiến dịch

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Đơn hàng có thể được tạo trực tiếp bằng việc nhập dữ liệu theo biểu mẫu có sẵn, ngồi ra khách hàng có thể mua hàng trên website một cách dễ dàng khi đó đơn hàng sẽ tự động được lưu thông tin để xử lý:

Báo cáo về bán hàng cũng được phân tích theo tùy chọn của người quản lý, dưới đây là bản phân tích bán hàng, doanh số theo khách hàng:

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Module <b>Contact</b>: Quản lý các liên hệ với khách hàng, các nhà cung cấp và các đối tác kinh doanh.

- Module <b>CRM</b>: Quản lý quan hệ với các tổ chức cá nhân, doanh nghiệp khác. Giải quyết các vấn đề, yêu cầu của khách hàng cũng như các bên đối tác doanh nghiệp khác:

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

- Báo cáo cho các hoạt động quản lý quan hệ khách hàng:

e.

Chăm sóc khách hàng :

Module <b>Helpdesk</b>: Giải quyết, hỗ trợ các vấn đề phát sinh trong quá trình mua và bán của doanh nghiệp đối với khách hàng.

Báo cáo phân tích theo trạng thái các hỗ trợ chăm sóc khách hàng trong q trình cũng như sau khi mua hàng:

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>PHẦN 2: ỨNG DỤNG BÊN THỨ BA TRONG ODOO.</b>

<b>1. Cấu trúc mở của Odoo và các ứng dụng bên thứ baphát triển.</b>

Odoo là phần mềm lập kế hoạch nguồn lực doanh nghiệp (ERP) mã nguồn mở toàn diện được tạo thành từ một bộ tích hợp các mơ-đun kinh doanh, bao gồm quản lý quan hệ khách hàng (CRM), thương mại điện tử, kế toán, thanh toán, quản lý hàng tồn kho, quản lý dự án, quản lý kho hàng, tài chính quản lý, sản xuất và mua hàng. Các mô-đun này nhằm mục đích giao tiếp hiệu quả và liền mạch với nhau để trao đổi thông tin.

Ngồi ra Odoo cịn bao gồm hơn 30 mơ-đun chính được cập nhật thường xun và hơn 16.000 ứng dụng / plug-in khác của bên thứ ba có sẵn trong cửa hàng ứng dụng của hãng. Bởi vì đây là một hệ thống mơ-đun, khách hàng có thể bắt đầu với các cơng cụ đơn giản có sẵn khác và có thể thêm mơ-đun nếu cần.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>2. Ứng dụng đã cài dặt và các chức năng chính.</b>

1. ỨNG DỤNG: HOTEL MANNAGEMENT

Ứng dụng lựa chọn cài đặt: <b>Hotel Management phiên </b>bản 15.0.

<b>Hotel Management có các chức năng chính như:</b>

 Đặt phịng khách sạn

 Thông báo những người đã check-in, check-out  Nhà hàng của khách sạn

 Tạo các hồ sơ theo dõi các khoản chi tiêu của khách

 Chỉnh sửa thông tin của các phòng, tiện nghi, dịch vụ của khách sạn

Nhập dữ liệu cho các chức năng. Đặt phòng khách sạn:

Theo dõi những người đã check-in:

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

Theo dõi những người đã check-out:

Nhà hàng sẽ có các món ăn cho các bữa sáng, trưa , tối trong ngày:

Chỉnh sửa thông tin của khách sạn:

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

2. ỨNG DỤNG : HOSPITAL MANAGEMENT

<b>Hospital management có các chức năng chính như:</b>

 Quản lí bệnh nhân nhập viện, đơn thuốc,bệnh nhân nội trú  Quản lí bác sĩ, chuẩn đốn bệnh cho các bệnh nhân  Kiểm tra phịng thí nghiệm, vaccine

 Thanh tốn, chi trả viện phí

 Chỉnh sửa thơng tin của các khoa, phòng ban trong bệnh viện Nhập dữ liệu cho các chức năng.

Quản lí bệnh nhân nhập viện, đơn thuốc,bệnh nhân nội trú:

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

Quản lí bác sĩ , và chuẩn đốn bệnh nhân :

Quản lí các Lab và kiểm tra Lab, vaccine cho bệnh nhân :

Chức năng thanh toán:

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

Chỉnh sửa thơng tin của các khoa, phịng ban trong bệnh viện, các giường bệnh :

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<b>PHẦN 3: TÌM HIỂU VỀ CẤU TRÚC MÃ NGUỒN VÀ CƠSỞ DỮ LIỆU CỦA ODOO.</b>

<b>1. Cấu trúc mã nguồn và cơ sở dữ liệu của Odoo.</b>

a.

Cấu trúc mã nguồn của Odoo.

<b>Odoo là một kiến trúc ba tầng đa đối tượng: tầng ứng dụng để xử lý, tầng</b>

trình bày cho giao diện người dùng và tầng cơ sở dữ liệu để lưu trữ dữ liệu. Bản thân tầng áp dụng được viết như một lõi, nhiều mơ-đun khác có thể được đưa vào để tạo cấu hình được chọn của kiến trúc Odoo.

Cốt lõi của kiến trúc Odoo và các mơ-đun của nó được viết bằng Python. Tính thực tiễn của một mô-đun được thể hiện thông qua XML-RPC (và / hoặc NET-RPC đặt cược vào cấu hình của máy chủ). Các mô-đun thường xây dựng việc sử dụng ORM của Odoo để duy trì kiến thức của chúng trong một dịch vụ thông tin điện tử (PostgreSQL). Các mô-đun sẽ chèn kiến thức vào thông tin trong suốt quá trình cài đặt bằng cách cung cấp các tệp XML, CSV hoặc YML. Một hệ thống Open ERP được cấu tạo từ 3 thành phần chính:

- PostgreSQL database server, chứa tồn bộ cơ sở dữ liệu, trong đó có hầu hết các dữ liệu và cấu hình của hệ thống. - Open ERP application server, chứa các thuật toán và đảo bảo Open ERP vận hành hiệu quả nhất.

- Web server, một ứng dụng riêng, được gọi là Open Object client-web, cho phép bạn kết nối đến Open ERP từ một trình duyệt web thông thường mà không cài GTK Client. Kiến trúc của Odoo:

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

Server ?

Odoo cung cấp một máy chủ điều hành liên kết trên các ứng dụng kinh doanh cụ thể có thể được thiết kế, với các tùy chọn nổi bật là ORM linh hoạt, thiết kế MVC liên kết trong điều hành, các mô hình và chế độ xem theo từng phần, các cơng cụ báo cáo hoàn toàn riêng biệt, tất cả đều gắn liền với nhau trong một khuôn khổ kết nối, có thể truy cập mạng. Server tương tác với Client thông qua giao thức XML –RPC.

Client ?

Odoo cung cấp cho người dùng một giao diện dễ dàng thao tác và sử dụng. Khi người dùng thực hiện một hành động (lưu biểu mẫu, mở menu, in,...) Client sẽ gửi hành động này đến Server . Sau đó Server sẽ gửi hành động mới để thực thi cho

Client.Client sẽ lấy dữ liệu (forms, lists, trees) từ Odoo Server thông qua giao thức XML-RPC và gửi chúng lại cho ngời dùng.Với cách tiếp cận này, gần như tất cả các thay đổi, phát triển đều được thực hiện ở phía Server, điều này giúp Odoo trở nên dễ dàng hơn trong việc thay đổi và bảo trì.

Khơng những thế Odoo cịn phát triển 2 phiên bản (Offline cho desktop và Online trên web) để đáp ứng nhu cầu sử dụng của người sử dụng.

b.

Cơ sở dữ liệu của Odoo

<b>Odoo một cơ sở dữ liệu với đầy đủ các công cụ để tạo, sao chép, xóa, sao</b>

lưu và khơi phục cơ sở dữ liệu. Ngồi ra người dùng cịn có thể thay đổi mật

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

khẩu chính được sử dụng để bảo vệ quyền truy cập vào giao diện quản lý cơ sở dữ liệu.

Phần mềm ODOO sử dụng PostgreSQL database server để chứa tồn bộ dữ liệu và cấu hình của hệ thống, bao gồm tất cả công cụ,

phương thức quản lí tiêu chuẩn của một cơ sở dữ liệu nhưng Odoo cũng đề xuất một giao diện web để đáp ứng thêm nhu cầu của người sử dụng.

PostgreSQL là gì?

PostgreSQL là một hệ thống cơ sở dữ liệu quan hệ đối tượng mã nguồn mở mạnh mẽ, sử dụng và mở rộng ngôn ngữ SQL kết hợp với nhiều tính năng giúp lưu trữ và chia tỷ lệ một cách an tồn các khối lượng cơng việc dữ liệu phức tạp nhất. Nguồn gốc của PostgreSQL có từ năm 1986 như một phần của dự án POSTGRES tại Đại học California ở Berkeley và đã có hơn 30 năm phát triển tích cực trên nền tảng cốt lõi.

Postgres là hệ quản trị cơ sở dữ liệu đầu tiên thực hiện điều khiển đồng thời nhiều phiên bản (MVCC) ngay cả trước oracle. Đây là hệ thống cơ sở dữ liệu tiên tiến nhất và cơ sở dữ liệu được khuyến khích sử dụng đặc biệt cho những tổ chức thích sử dụng phần mềm miễn phí và phần mềm mã nguồn mở như Odoo.

Tại sao PostgreSQL được dùng cho Odoo?

Nếu chúng ta muốn một trang web hoặc ứng dụng nhỏ có phần phụ trợ cơ sở dữ liệu, thường thì mySQL sẽ là tùy chọn. Nhưng đối với một DBMS doanh nghiệp, Postgres là tốt hơn.

<b> PostgreSQL đi kèm với nhiều tính năng nhằm giúp các nhà phát triển</b>

xây dựng ứng dụng, quản trị viên để bảo vệ tính tồn vẹn của dữ liệu và xây dựng mơi trường chịu lỗi, đồng thời giúp bạn quản lý dữ liệu của mình bất kể tập dữ liệu lớn hay nhỏ. Khơng nhưng thế PostgreSQL có một số lợi thế so với hệ thống cơ sở dữ liệu khác.Cụ thể như là:

<b> Mã nguồn mở: PostgreSQL là một mã nguồn mở và có thể tùy chỉnh</b>

theo nhu cầu của người sử dụng. Khả năng tùy biến rất là hữu ích trong các ứng dụng quy mô lớn

<b> Cộng đồng nhà phát triển lớn:</b>PostgreSQL đã có mặt trên thị trường hơn 15 năm và cộng đồng các nhà phát triển của nó đã phát triển

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

rất nhiều vào thời điểm này. Cộng đồng nhà phát triển lớn có nghĩa là hỗ trợ tốt và giúp giải quyết các vấn đề liên quan đến cơ sở dữ liệu.

<b> Tiết kiệm chi phí: PostgreSQL khơng u cầu bảo trì q nhiều vì nó có</b>

tính ổn định cao. Do đó, nếu bạn phát triển các ứng dụng dựa trên PostgreSQL, chi phí sở hữu sẽ thấp hơn so với các hệ thống quản lý dữ liệu khác.

<b> Độ tương thích cao: PostgreSQL có thể tương thích với hầu hết các nền</b>

tảng và ngơn ngữ lập trình. Vì vậy, PostgreSQL là một cơ sở dữ liệu lý tưởng cho việc nhắm mục tiêu ứng dụng trên nhiều nền tảng

<b> Có khả năng mở rộng cao: PostgreSQL cũng có khả năng mở</b>

rộng tuyệt vời. Do đó bạn có thể định nghĩa các kiểu dữ liệu riêng của bạn, xây dựng các hàm tùy chỉnh, hay viết mã từ các ngôn ngữ lập trình khác nhau mà khơng cần biên dịch lại cơ sở dữ liệu.

<b> Độ tin cậy và tính ổn định cao: Không giống như các hệ thống cơ sở dữ</b>

liệu khác, cơ hội xảy ra sự cố trong PostgreSQL là ít khi xảy ra và ngay cả khi có gặp sự cố, vẫn có những cách và tính năng mà bạn có thể khơi phục lại dữ liệu đã mất.

<b>2. Quy trình phát triển module trong ODOO.</b>

a. Quy trình phát triển module Offline

<b>Các thành phần của Odoo Addon Module:</b>

- Business objects: Các đối tượng nghiệp vụ, được khai báo dưới dạng 1 Python Class

- Data files: Các file xml chứa dữ liệu

- Web controllers: Kiểm soát, xử lý các request từ web browser

- Static web data: Các thành phần tĩnh tạo nên giao diện website: JS, CSS, Images…

<b>Tạo Odoo Addon Module</b>

Odoo cho phép ta tạo 1 module cơ bản sử dụng subcommad là scaffold, cú pháp tạo module như bên dưới:

</div>

×