5 View customer When the staff needs to inspect the customer information or find a specified customer, he will go to the view customer screen and find the customer.. 8 Edit customer stat
Trang 1VIETNAM NATIONAL UNIVERSITY HO CHI MINH CITY UNIVERSITY OF INFORMATION TECHNOLOGY FACULTY OF SOFTWARE ENGINEERING
-🙞🙜🕮🙞🙜 -MAJOR PROJECT 1 REPORT
TOPIC DEVELOPMENT OF ODOO-BASED CORPORATE
GOVERNANCE SUPPORT SYSTEM [ PHÁT TRIỂN HỆ THỐNG HỖ TRỢ QUẢN TRỊ DOANH
NGHIỆP DỰA TRÊN ODOO ]
Instructors: Ph.D Nguyen Trinh Dong
Students perform:
Ho Chi Minh City, December 2023
Trang 2OBSERVE (Instructor's)
Trang 3LIST OF GROUP MEMBERS
Trang 5TÀI LIỆU VỀ ODOO TIẾNG VIỆT (do cá nhân biên dịch)Error! Bookmark not
defined.
Trang 6Acknowledgments
To successfully complete this project, I am fortunate to have received valuable assistance and support from respected teachers Therefore, I would like to dedicate the opening pages to express my gratitude to those who have accompanied me during this period
Firstly, I would like to extend my deep appreciation to all the professors at the University
of Information Technology in general and the Software Engineering Department in particular Special thanks to Ph.D Nguyen Trinh Dong, who has been an inspiring figure, providing dedicated guidance and support in terms of knowledge He has created a conducive environment for me to learn, exchange ideas with peers, and collaborate with fellow researchers
Despite putting in significant effort to perfect the thesis, it is inevitable that there may be some shortcomings and limitations I sincerely hope to receive understanding and constructive feedback from respected teachers
Trang 7CHAPTER 1 : OVERVIEW OF TOPIC
1.1 Initial problem
To keep up with the rapid pace of global economic development in general and Vietnam
in particular, businesses require high operational productivity in a competitive business environment They need to meet the demands in management, market, and customer service
Recognizing this need, I decided to choose the topic "DEVELOPING AN ENTERPRISE MANAGEMENT SUPPORT SYSTEM BASED ON ODOO" for my thesis (supervised by Ph.D Nguyen Trinh Dong) With the open potential for Enterprise Resource Planning (ERP) systems today, Odoo Framework is gradually gaining a prominent position in the Vietnamese market With a dedicated research and development team, Odoo is consolidating its position in the list of versatile platforms catering to the needs of businesses and organizations of various sizes, offering both Community and Enterprise versions
As a student with limited financial resources, I chose to develop the product on the Community version and operate the website on local hosting TripleC simulates a business based on real-world needs that have not yet been approached by enterprise resource planning systems TripleC promises to be a powerful tool for businesses in system management, applicable to human resources management, customer care, planning, and project management
to expand business potential, reach more customer groups, and significantly reduce time in business operations It aims to provide a better experience with the current workload."
1.2 Solutions
To successfully complete the project, it is necessary to research the following aspects:
• Conduct specific research on the workflow, requirements, and needs of the business
in the areas of human resources management, customer care, planning, and project management
• Identify the essential fields for the enterprise management system, including functions and features, information and data, security requirements, and user interaction requirements
Trang 81.3 Project objectives
Building the TripleC website
• Successfully implementing the basic functions of a business resource management website
• Applying to human resources management, customer care, planning, and project management systems
Used tools :
• Tools for analysis and design: draw.io, plantuml
• Tools for application development and database management: Odoo 14
• Project management tool: Github
• Text editing tools: Excel, Word."
1.5 Odoo overview
This section will exclusively concentrate on providing an overview of the information related to Odoo that revolves around the subject matter of the ongoing project
What is Odoo?
• Odoo is an open-source ERP software written in the Python programming language
In this context, ERP (Enterprise Resource Planning) refers to the integration of components to manage a business For example, a business may have various departments such as inventory management, sales, employee management, point of sale (POS), etc These modules are integrated into a management software, Odoo, instead of each department using a separate
Trang 9application Thus, ERP is an optimal solution for businesses, and Odoo ERP stands out as one
of the most valuable software options to implement this solution effectively
• Understanding the workflow of the components within a business is crucial for utilizing Odoo efficiently
• Since Odoo is open-source, developers can program additional modules (addons/extensions) to meet specific user needs and must adhere to the principles corresponding to the Odoo-provided framework
Odoo introduction
• Odoo Homepage: https://www.odoo.com/
• Odoo source code is hosted on Github: https://github.com/odoo/odoo
• Formerly known as OpenERP 5/post/odoo-the-new-openerp-156)
(https://www.odoo.com/blog/odoo-news-• Current Odoo version as of 2023: v16.0
• Two versions of Odoo: Odoo Community (free, open-source on Github) and Odoo Enterprise (paid); https://www.odoo.com/page/editions
• Odoo provides cloud services odoo.sh: https://www.odoo.sh/
• Odoo offers both free and paid modules on the store: https://apps.odoo.com/apps
• User documentation for Odoo:
Odoo Technical Platform
• Primary programming language: Python
• CMS backend: Python
• Frontend: Backbone JS, jQuery, underscore.js, D3.js
Trang 10• DBMS: Postgres
• Proxy: Nginx
Odoo's operational flow provides components such as:
• User login/logout management
• MVC architecture: Model - View - Controller
• ORM binding: Creating Python classes -> mapping to tables in the Postgres database
Customization on the Odoo framework makes software development significantly faster than starting from scratch, presenting a substantial advantage Currently, no competitive rival has been found on the Python platform
Trang 11CHAPTER 2 : SURVEY AND ANALYSIS OF REQUIREMENT
Survey Participants: Management personnel
Q&A Table
What is the scale of the business? Small and medium-sized enterprises
Business departments? Includes 2 departments: Human Resources
and Customer Care, along with other departments related to the nature of the business
Responsibilities of each department? Human Resources Department: Manage
attendance, recruitment and training of personnel,employee information management
Customer Care Department: Manage customer information, handle and process complaints, show appreciation to
customers
Employee attendance method? Employees use a time clock machine for
attendance
Trang 12Information required from customers? Customers need to provide their name and
phone number
In case a customer refuses to provide
information, what happens?
If a customer refuses to provide information or provides false information, they may be denied reception and complaint resolution/support
Does the business have Internet access? Yes
Does the business provide computers to
employees?
The business usually provides computers
to managers; other employees are required
to use their personal computers during work
Does the business need store management
software?
Yes
If using store management software, what
functionalities would the business want?
Customer management, human resources management, statistics, reporting
If there is software/website, how would
you like its interface?
User-friendly, easy to operate
2.1.2 Current organization status
Overall model description :
Management department The highest responsible department in the
store It oversees, reviews, and makes decisions regarding the store's operations
It ensures proper allocation of human resources and monitors detailed reports on the store's performance (revenue, customer volume, bestselling items, monthly reports, etc.)
Trang 13Human Resources Department Manages information on departments and
employees within the business
Oversees attendance management
Manages recruitment and training processes
Administers reward and penalty systems Customer Care Department: Manages customer information
Handles and resolves complaints and support requests
Manages transaction points and decisions related to customers
2.1.3 Current state of informatics
Software and Hardware Requirements Compliance
Management Department Staff Department Hardware component CPU : Intel Core i3-8100
RAM : 4GB Hard Disk : 256GB (HDD) Video Card : Intel HD Graphics 630
CPU Intel : Intel Core
i3-4130 RAM : 4GB Hard Disk : 256GB (HDD) Video Card : Intel HD Graphics 4400
Software component Microsoft Windows 10 Operating System Licensed
Trang 14Many type of filter
7 Delete Employee Move the employee to the contract termination list
Candidates
Many type of filter
9 Delete Candidate Add the candidate to the rejected candidate list,
with corresponding rejection reasons, and send a thank-you email
10 Schedule Interview Add candidates to the interview waiting list and
send batch emails notifying them about the interview details
1
13
Create Training List Add candidates to the training list (candidates
passing the training process will be added to the official employee list)
Fields include: training start date, candidate, training duration, process reports, etc
Trang 1518 Admin Search for
28 Evaluate customer Evaluate customers based on
potential/customer policy violations/customer notes.
- CPU: 2-core or higher - OS : Android 4.4, IOS
Trang 16Smart phone RAM: 2GB or higher - Browser : Any browser
with Cookies Server system - CPU: 4-Core or higher
with a staff member
Trang 17Actor
X: User has full permission to do the action
X(*): User has permission to do the action on his own items
X(**): User has permission to do the action on items sent to him only
X (1): reading permission is specified for each Error Form item regarding to Location
of the item For example, items, which have Location = “London”, are only read by
employees of the location.
- New password must not match the old one
- New password must follow the password rule
in BR1
- The duration between the time user choose to
Trang 18send reset link with the time user click reset link must less than 15 minutes
If [clickDate - sendDate] > 15m: “Sent out of time bound message”
- If [submitDate - sendDate] > 15m: “Send reset link is out of date”
- Recipients list must not be empty
- Send mail with the template below:
From [Current user] or [current
Trang 19- note must not be empty
Trang 20medium-Promises to bring many interface innovations, thereby supporting users to easily access and use the product, improve work efficiency, save time and costs in many aspects
• Project title: TripleC Enterprise Management System
• Languages: Python, XAML
• Development environment: InteliJ, Odoo
• Project management tools: Github, Google Drive, Odoo
• Quality requirements: the software is simple, efficient, user-friendly and ensures an aesthetic that inspires users
• Legal conditions and bases: legal
Trang 21exception and must cope with the diversity of products and various operational tasks, including human resources and customer care, which require significant costs in terms of both manpower and resources A user-friendly, comprehensive, and visually appealing management system with multitasking features is essential for both business owners and employees, aligning with the project's objectives
• Suitable for businesses with 5 - 50 employees
• Target audience: small and medium-sized enterprises, sole proprietorships
2.5.5.2 Technology Platform
The system will be developed online using the Odoo Framework, utilizing the Postgres database management system Currently, access is limited to local hosts through LogMeIn Hamachi However, with successful implementation and financial support for server construction, users will access the website via web browsers on various platforms The system will be built online using AWS as the platform and Postgres as the database management system Users can access the application via Android or iOS smartphones
This project aims to provide a comprehensive and efficient management solution for
small to medium-sized enterprises, enhancing overall operational efficiency and reducing costs
2.5.6 Evaluation
Trang 222.5.6.1 Risks
Several potential issues may arise for auditors or initial system administrators
Odoo, being a relatively new platform, poses challenges in terms of learning and seeking assistance
Familiarization may take some time due to specialized operations and business-oriented requirements
The software currently can only be accessed via the local host using LogMeIn Hamachi However, with successful implementation and financial support, users will be able to access the website through web browsers on various platforms
There is significant competition with major competitors due to the rapid development
of various store management software in the market
2.5.6.2 Economic Impact
The project promises high economic efficiency by saving labor, time, and costs
It holds potential for software coverage in rural areas, where access to large-scale website systems is limited
2.6 Usecase & Diagram
2.6.1 General usecase
Trang 232.6.1.1 Description of Actors
the system
report for other staffs
2.6.1.2 Description of Use Cases
1 Authenticate Staff need to authenticate before doing anything in the system
2 Change password When the staff thinks that the old password isn’t secure
anymore or he just simply wants to update to the new password,
he can change the password
3 Reset password If the staff forgets his password, he can request the AMS to
reset his password, the reset password link will be sent via email, the staff can access that link and change the password to the new one
Trang 244 Send mass email Sometimes, the staff needs to send a lot of emails to all staff of
a department or something like that, so he can use this feature
to send a mass email immediately
5 View customer When the staff needs to inspect the customer information or find
a specified customer, he will go to the view customer screen and find the customer
6 Contact customer The staff can contact a customer with his contact information
when the staff is viewing the customer’s detailed profile
7 View customer request Any customer can send requests to the staff to help them, these
requests are distributed to all customer service staff, customer service staff can view those requests and then resolve it
8 Edit customer status Evaluate by statuses: potential customers/policy
violations/customer notes
9 View request VIew all reporting requests that other staff assigned to you
10 Reject report request If the staff feels that a report request seems unreasonable, he
can reject it with the reason why that request is invalid
11 Request report When a staff member needs to know more about a department's
business status, he can request other staff who are responsible for that field of the business to make a report
12 Cancel report request When the report request is not necessary anymore, the staff
who is the owner of the report request can cancel the report request, so that other staff don’t need to make the report
13 Create report Company staff can create reports and post them to the
company's database
14 Change staff profile Modify staff profile (name, phone, address, citizen id)
15 View timekeeping list The human resource staff member can view the timekeeping
18 Add staff When a new employee joins the company, the human resource
staff can add a new staff account for the new employee
19 View staff The staff member can view the staff profile
20 Terminate the labor
contract with a staff
Trang 2523 View interview result The HR staff member can view the interview result of all
applicants
24 Reject applicant The HR staff member can reject applicants
25 Create training lists The HR staff member can create training lists
26 Send interview result to
applicant
The HR staff member can send the interview result to applicants after the interview result was created
27 Create department The HR staff member can create a new department
28 Edit department profile The HR staff member can modify the department profile
29 Delete department The HR staff member can delete a department
30 View department The HR staff member can view the department
31 View department's change
history
The HR staff member can view the department’s change history
32 Edit staff permission The HR staff member can edit the staff permission
2.6.2 Usecase specification
UC-1 Authenticate
ID and Name: UC-1 Authenticate
Created By: Hoàng Giang Date Created: 14/10/2023
Primary Actor: Staff Secondary
Actors:
Account Management System (AMS)
Description: Staff need to authenticate before doing anything in the system
Trigger: None
Preconditions: None
Postconditions: Staff authenticate successfully to the system
Trang 26Normal Flow:
Alternative Flows: 1.1 The staff has already logged in to the system recently
1 The staff uses an arbitrary function in the system
2 AMS detects that the staff has logged in to the system recently, so AMS doesn’t require the staff to login again but allows the staff to continue his operation
Exceptions: 1.0.E1 The credential information of the staff is invalid
1 AMS informs the staff that his credential information is invalid
2 The staff re-enters username and password
2a If the username and password is valid, AMS informs the staff that
he has successfully logged in 2b If the username and password is invalid, allow the staff to re-enter the credential information
Trang 272c If it’s the 4th try, the staff won’t have permission to try again within
30 minutes
Business rule
Activity BR code Description
- Username and password must have at least 6 character
- Username must not contain space
UC-2 Change password
UC-2 Change password
ID and Name: UC-2 Change password
Created By: Hoàng Giang Date Created: 14/10/2023
Primary Actor: Staff Secondary
Actors:
Account Management System (AMS)
Description: When the staff thinks that the old password isn’t secure anymore or
he just simply wants to update to the new password, he can change the password
Trigger: None
Preconditions: The staff password is the old password
Postconditions: POST-1 The staff’s password is updated to the new one
POST-2 All devices that have already logged in will be logged out instantly
Trang 28Normal Flow:
Alternative Flows: 2.1 The staff change password by accessing the reset password
link
1 The staff enters the new password 2 times
2 AMS examines the new password and changes the staff’s password to the new one
3 AMS informs via email that the staff’s password has changed
- New password must not match the old one
- New password must follow the password rule
in BR1
Trang 29UC-3 Reset password
ID and Name: UC-3 Reset password
Created By: Hoàng Giang Date Created: 14/10/2023
Primary Actor: Staff Secondary
Actors:
Account Management System (AMS)
Description: If the staff forgets his password, he can request the AMS to reset his
password, the reset password link will be sent via email, the staff can access that link and change the password to the new one
Trigger: None
Preconditions: The staff password is the old password
Postconditions: POST-1 The staff’s password is updated to the new one
POST-2 All devices that have already logged in will be logged out instantly
Trang 30Normal Flow:
Alternative Flows: None
Exceptions: None
Business rule
Activity BR code Description
Clicks on reset link BR3 Timing rules:
- The duration between the time user choose
to send reset link with the time user click
Trang 31reset link must less than 15 minutes
If [clickDate - sendDate] > 15m: “Sent out of time bound message”
- If [submitDate - sendDate] > 15m: “Send reset link is out of date”
UC-4 Send mass email
ID and Name: UC-4 Send mass email
Created By: Hoàng Giang Date Created: 14/10/2023
Primary Actor: Staff Secondary
Actors:
Account Management System (AMS)
Description: Sometimes, the staff needs to send a lot of emails to all staff of a
department or something like that, so he can use this feature to send
a mass email immediately
Trigger: None
Preconditions: None
Postconditions: The email is instantly sent to all staff specified
Trang 32Normal Flow:
Alternative Flows: None
Exceptions: 4.0.E1 Some email addresses not found
1 AMS displays the list of email addresses that can not be found
2 The staff changes these misspelling email addresses
3 AMS resent the email to the new email addresses 3a If there are any email addresses that can not be found, return to step 1
3b Else AMS informs that the email is successfully sent
Trang 334 Return to step 2 of normal flow
- Send mail with the template below:
From [Current user] or [current
Thank you
Permission rules:
- Current user must have the permission to send mass email
UC-5 View customer
ID and Name: UC-5 View customer
Created By: Hoàng Giang Date Created: 14/10/2023
Primary Actor: Customer service
staff
Secondary Actors:
Customer Service System (CSS)
Trang 34Description: When the staff needs to inspect the customer information or find a
specified customer, he will go to the view customer screen and find the customer
Trigger: None
Preconditions: PRE-1 The staff has already logged in
PRE-2 The staff has permission to view the customer list
Postconditions: POST-1 The system displays a list of customers that match the staff
Trang 351 In the customer list screen, the staff selects a customer that he wants to view detailed information
2 CSS displays the detailed profile of the specified customer to the screen
Exceptions: None
Business rule
Activity BR code Description
UC-6 Contact customer
ID and Name: UC-6 Contact customer
Created By: Hoàng Giang Date Created: 14/10/2023
Primary Actor: Customer service
staff
Secondary Actors:
Customer Service System (CSS)
Description: The staff can contact a customer with his contact information when
the staff is viewing the customer’s detailed profile
Trigger: None
Preconditions: PRE-1 The staff has already logged in
PRE-2 The staff has permission to view the customer profile
Postconditions: The staff successfully contacts the customer
Trang 36Normal Flow:
Alternative Flows: None
Exceptions: 6.0.E1 The system can not contact the customer
1 CSS informs the staff that the system can not contact the customer
2a If the contact information is misspelling, the staff can update it 2b The staff marks the customer unable to contact
- message must not be empty
UC-7 View customer request
ID and Name: UC-7 View customer request
Created By: Hoàng Giang Date Created: 14/10/2023
Trang 37Primary Actor: Customer service
staff
Secondary Actors:
Customer Service System (CSS)
Description: Any customer can send requests to the staff to help them, these
requests are distributed to all customer service staff, customer service staff can view those requests and then resolve it
Trigger: None
Preconditions: PRE-1 The staff has already logged in
PRE-2 The staff has permission to view the list of customer requests
Postconditions: List of customer requests is displayed on the screen
Normal Flow:
Alternative Flows: None
Trang 38Exceptions: None
Business rule
Activity BR code Description
UC-8 Edit customer status
ID and Name: UC-8 Edit customer status
Created By: Hoàng Giang Date Created: 14/10/2023
Primary Actor: Customer service
staff
Secondary Actors:
Customer Service System (CSS)
Description: Evaluate by statuses: potential customers/policy violations/customer
notes
Trigger: Adding a new customer
Evaluate frequently
Preconditions: PRE-1 The staff has already logged in
PRE-2 The staff has permission to edit customer status
Postconditions: Customer status is updated to the new one
Trang 39Normal Flow:
Alternative Flows: None
Exceptions: None
Business rule
Activity BR code Description
Select new status BR7 Submitting rules:
- status must be valid
UC-9 View request
ID and Name: UC-9 View request
Created By: Hoàng Giang Date Created: 14/10/2023
Trang 40Primary Actor: Staff Secondary
Actors:
Report System (RS)
Description: VIew all reporting requests that other staff assigned to you
Trigger: None
Preconditions: The staff has already logged in
Postconditions: Reporting request list is displayed on the screen
Normal Flow: 9.0 View request
1 The staff choose to view all the reporting requests
2 The staff selects the desired filter
3 RS displays all requests that match the filter and their reporting status
Alternative Flows: None
Exceptions: None
Business rule
Activity BR code Description
UC-10 Reject report request
ID and Name: UC-10 Reject report request
Created By: Hoàng Giang Date Created: 14/10/2023