Docs
Docs
1. Introduction ............................................................................................................................ 12
1.1. Brief ................................................................................................................................. 12
1.2. Relevance to Course Modules.......................................................................................... 12
1.3. Project Background ......................................................................................................... 12
1.4. Literature Review ............................................................................................................ 12
1.5. Analysis from Literature Review ...................................................................................... 13
1.6. Methodology and Software Lifecycle for This Project ...................................................... 14
1.6.1. Rationale behind Selected Methodology ................................................................. 14
2. Problem Definition .................................................................................................................. 15
2.1. Problem Statement.......................................................................................................... 15
2.2. Deliverables and Development Requirements ................................................................. 15
2.3. Current System (if applicable to your project) ................................................................. 16
3. Requirement Analysis ............................................................................................................. 16
3.1. Use Cases Diagram(s)....................................................................................................... 17
3.2. Detailed Use Case ............................................................................................................ 18
3.3. Functional Requirements ................................................................................................. 36
3.4. Non-Functional Requirements ......................................................................................... 39
4. Design and Architecture .......................................................................................................... 40
4.1. System Architecture ........................................................................................................ 40
4.2 . Data Representation ...................................................................................................... 41
4.2.1. DFD Level 0 .................................................................................................................. 41
4.2.2. DFD Level 1 ........................................................................................................................ 42
4.3. Process Flow/Representation............................................................................................... 44
4.4. Design Models ................................................................................................................. 44
5. Implementation ...................................................................................................................... 45
5.1. Algorithm ........................................................................................................................ 45
5.2. External APIs ................................................................................................................... 46
5.3. User Interface .................................................................................................................. 46
6. Testing and Evaluation ............................................................................................................ 51
6.1. Manual Testing ................................................................................................................ 51
6.1.1. System testing .......................................................................................................... 51
6.1.2. Unit Testing .............................................................................................................. 51
6.1.3. Functional Testing .................................................................................................... 62
6.1.4. Integration Testing ................................................................................................... 65
6.2. Automated Testing: ......................................................................................................... 66
6.2.1. Tools used: ................................................................................................................... 66
7. Conclusion............................................................................................................................... 66
8. Future Work ............................................................................................................................ 67
9. References .............................................................................................................................. 68
LIST OF FIGURES
LIST OF TABLES
Introduction
This chapter provides the overview of the project. The first paragraph of every chapter
should provide the chapter summary.
Brief
The ERP (Enterprise Resource Planning) System presented in this thesis serves as a
comprehensive solution designed to meet the specific needs of suppliers, addressing a
critical gap in the market. This chapter offers an introductory glimpse into the ERP
System, summarizing its outcomes, tools, methodologies, and key discussions covered
throughout this report.
Relevance to Course Modules
The development of this ERP System project is directly tied to the coursework
undertaken during our BSE program. This project draws inspiration from various course
modules, incorporating the knowledge and skills acquired over the academic journey.
Project Background
This project started when we realized the challenges faced by small-scale suppliers, who
often grapple with manual record-keeping and management processes. This ERP System
aims to streamline their daily operations by offering a tailored solution. It addresses the
question of what ERP (Enterprise Resource Planning) is and how it can revolutionize
supplier management.
Literature Review
Cloud Based ERP System for SME Industry
The Enterprise resource planning (ERP) system has become the necessity of nearly all
businesses. ERP architecture incorporates and defines a multitude of business
processes and facilitates information transfer between them. An ERP system prevents
duplication of information and ensures data integrity by gathering shared transactional
shared data from multiple sources of an enterprise. There is a range of ERP systems
available providing solutions to large businesses, however ERP systems for small and
medium-sized businesses are obligatory. (Ijcsis, 2020)
The Impact of Enterprise Resource Planning Systems on Small and Medium
Enterprises
The deployment of ERP systems is common practice in today’s business environment.
Kumar and Hillegersber (2000) described the impact of ERP systems on corporations,
and confirmed that ERPs were becoming so common in today’s business environment
that they were described as “the price of entry for running a business” (p.24). Kumar
and Hillegersber highlighted the significance and importance of medium-size
corporations in the ERP marketplace, and confirmed that small and medium-size
corporations are beginning to embrace ERP technologies. The number of small and
medium-sized businesses retiring legacy systems in favor of ERP systems is increasing
exponentially. Esteves (2009) explained that in recent years SMEs are in a better
position to acquire and implement ERP systems, which in the past were only available
to larger corporations due to financial limitations as well as other factors. (Buleje, 2014)
The usefulness of ERP systems for effective management
Enterprise resource planning (ERP) systems offer distinct advantages in this new
business environment as they lower operating costs, reduce cycle times and (arguably)
increase customer satisfaction. (Spathis & Constantinides, 2003)
Problem Definition
Small-scale suppliers often encounter operational inefficiencies and data management
challenges due to the lack of tailored ERP solutions. The problem lies in the absence of ERP
systems specifically designed to cater to their unique needs, leading to manual and
disjointed processes that hinder productivity and decision-making capabilities.
The outcome we aspire to achieve with our ERP System is to empower small-scale suppliers
by offering them a user-friendly, modular, and scalable solution that streamlines their
operations, enhances data integrity, and enables informed decision-making. By addressing
these challenges, our project aims to contribute to the improved efficiency and
competitiveness of small-scale suppliers in the business landscape.
Problem Statement
Small-scale suppliers, despite their critical role in the supply chain, often face significant
challenges due to the lack of efficient ERP systems. Manual and disjointed processes,
data duplication, and limited decision support tools hinder their operational efficiency
and competitiveness in the market.
Small-scale suppliers require a dedicated ERP system that streamlines their operations,
ensures data integrity, and empowers them to make informed decisions.
Functional Requirements
FR1: Authentication for Login
The system shall authenticate users during the login process using secure credentials.
Only registered users with valid credentials shall be allowed to log in.
FR2: Secure User Registration for Signup
The system shall provide a secure user registration process for new users.
User registration shall require valid and unique information, including email and
password.
FR3: Add Product to Inventory
The system shall allow users to add new products to the inventory.
Product information, including name, description, quantity, and price, must be captured
during the addition process.
FR4: Update Product Information
Users with appropriate privileges shall be able to update product information in the
inventory.
The system shall validate and apply the modifications to ensure accurate and up-to-date
product records.
FR5: Delete Product from Inventory
The system shall allow authorized users to delete products from the inventory.
Deletion must be performed securely, and the system shall confirm the removal of the
product.
FR6: View Product Details
Users shall be able to view detailed information about products in the inventory.
The system shall display product details, including name, description, quantity, and
price.
FR7: View Vendor Information
The system shall provide a view of vendor details.
Users should be able to access information about vendors associated with products.
FR8: Add Vendor to System
Authorized users shall be able to add new vendors to the system.
Vendor information, including name and contact details, must be captured during the
addition process.
FR9: Vendor Payment Status
The system shall include a vendor payment status.
Users should be able to view payments to vendors.
FR10: Add Customer Information
The system shall allow users to add new customer records.
Customer information, including name, contact details, and sales history, must be
captured.
FR11: Update Customer Information
Users with appropriate privileges shall be able to update customer information.
The system shall validate and apply modifications to ensure accurate and up-to-date
customer records.
FR12: Delete Customer Record
Authorized users shall be able to delete customer records securely.
The system shall confirm the deletion and remove the customer from the system.
FR13: View Customer Details
Users shall have the ability to view detailed information about customers.
The system shall display customer details, including name, contact information, and
sales history.
FR14: Add Sales Transaction
The system shall allow users to add new sales transactions.
Sales details, including customer information and transaction amount, must be
captured.
FR15: View Sales Records
Users shall be able to view a list of sales records.
The system shall display sales information, including details and amounts.
FR16: Sale Payment Status
The system shall track and display the payment status of sales transactions.
Users should be able to identify whether a sale has been paid or is pending.
FR17: Add Employees to HRM
Authorized users shall be able to add new employees to the Human Resource
Management (HRM) module.
Employee details, including personal information and job roles, must be captured.
FR18: Update Employee Information
Users with appropriate privileges shall be able to update employee information.
The system shall validate and apply modifications to ensure accurate and up-to-date
employee records.
FR19: Delete Employee Record
The system shall allow authorized users to delete employee records securely.
The system shall confirm the deletion and remove the employee from the HRM module.
FR20: Add Attendance Record
Users shall be able to add attendance records for employees.
The system shall capture attendance details, including day and month.
FR21: View Employee Attendance
Users shall have the ability to view attendance records for employees.
The system shall display attendance information, including dates and attendance status.
FR22: Update Attendance Record
Users with appropriate privileges shall be able to update attendance records.
The system shall validate and apply modifications to ensure accurate and up-to-date
attendance information.
FR23: Payroll Processing
The system shall include functionality for payroll processing.
Users should be able to calculate and process payroll based on employee attendance
and salary information.
FR24: Sale Trails
Users shall be able to view trails of sales transactions and get paid for them.
FR25: Vendor Trails
Users shall have the ability to pay for vendor-related activities.
FR26: General Ledger Management
The system shall include a general ledger for financial transactions.
Users should be able to view ledger transactions.
FR27: Payables
The system shall provide functionality for viewing payables.
Users should be able to track amounts payable to vendors.
FR28: Receivables
The system shall include functionality for viewing receivables.
Users should be able to track amounts receivable from customers.
FR29: Profit/Loss Calculation
The system shall calculate and display profit/loss statements.
Users should be able to view the financial performance of the organization.
FR30: Profit Prediction using Prophet Model
The system shall include a prediction model, such as the Prophet Model, for forecasting
profits.
Users should be able to view predicted financial outcomes based on historical data and
trends.
Non-Functional Requirements
Usability
USE-1: The system shall have a consistent and intuitive user interface across all modules and
screens.
USE-2: The system shall adhere to accessibility guidelines.
USE-3: The system shall provide clear and informative error messages and feedback to users for
effective error handling and task completion.
Performance
PER-1: The system shall maintain fast response times less than 1 second.
PER-2: The system should be capable of handling a high volume of concurrent user requests.
PER-3: The system shall provide efficient search and retrieval capabilities, enabling users to
quickly find and access relevant information.
PER-4: The system shall minimize network latency to ensure responsive communication
between client and server components.
Security
SEC-1: The system shall enforce strict access control measures to ensure that only authorized
personnel have the appropriate privileges to access and modify data.
System Architecture
We adopted a Client-Server Architecture, where the system is divided into two distinct
components: the client and the server.
The client represents the user interface, providing a web-based platform accessible from various
devices and web browsers. It serves as the point of interaction for users, enabling them to input
data, access information, and perform tasks seamlessly.
The server component hosts the core system functionalities, including data processing, storage,
and business logic.
Fig 4.1 System Architecture
. Data Representation
Design Models
In the development of our ERP System, we employ several design models to structure and
organize the software components effectively. These design models include:
Component-Based Design
Component-based design is central to our system architecture. It involves breaking down the
ERP system into modular components, each responsible for specific functionalities such as
finance management, CRM, HRM, and inventory management. This design approach promotes
reusability, making it easier to maintain and extend the system in the future.
Document-Oriented Data Modeling
To structure and manage data efficiently, we employ a document-oriented data modeling
approach. This design model aligns with our use of MongoDB as the database system.
MongoDB's flexibility in handling JSON-like documents allows us to store and retrieve data in a
way that suits the specific requirements of our ERP System.
Agile Design
We embrace an agile design approach, aligned with the Scrum methodology, to accommodate
changing requirements and evolving user needs. Agile design allows for flexibility and
adaptability throughout the development process, ensuring that the ERP System remains
responsive to emerging challenges and opportunities.
Implementation
Algorithm
1. Authentication using JWT Tokens
The system employs JWT Tokens to authenticate users, ensuring secure access to individual
accounts. This authentication mechanism enables multiple users to utilize the system
concurrently while maintaining distinct and protected user sessions.
2. Main Modules
The system is structured around four core modules: Inventory, Customers, Employees, and
Finance. These modules serve as the primary organizational units, each focusing on specific
aspects of the system's functionalities.
3. Inventory Module
The Inventory module encompasses key features such as View Products, View Vendors, Vendor
Payment Status, Add Product, and Add Vendor. These functionalities enable users to manage
and monitor product information, vendor details, and payment statuses efficiently.
4. Customer Module
Within the Customer module, users can access features such as View Customers, View Sales,
Sale Payment Status, Add Customer, and Add Sale. This module facilitates the management of
customer-related data, sales information, and payment statuses associated with sales
transactions.
5. Employees Module
The Employees module incorporates functionalities like Add Employees, Add Attendance, View
Employees, View Attendance, and Payroll. These features empower users to handle employee-
related tasks, including attendance tracking and payroll management.
6. Finance Module
The Finance module provides a comprehensive set of features, including Sales Trails, View
Vendor Trails, General Ledger, Payables, Receivables, Profit/Loss Analysis, and Profit Prediction
utilizing the Prophet Model. This module focuses on financial aspects, offering insights into
sales and vendor histories, ledger management, and advanced analytics for profit forecasting.
External APIs
Table 5.1 shows the APIs we used in our ERP System
Table 5.1: Details of APIs used in the project
User Interface
Login Page
Sign Up Page
View Products
Add Vendor
View Customers
Payroll
General Ledger
Profit Forecast
Manual Testing
Manual testing includes unit testing and functional testing of the system.
System testing
After the successful development of the system, rigorous testing is imperative to
ensure that the system functions as intended and meets the predefined
requirements. System testing serves the critical purpose of unveiling any hidden
errors that may not be apparent to users. This testing phase comprises several
essential types, including unit testing, functional testing, and integration testing.
Each type of testing plays a unique role in ensuring the robustness and reliability
of the ERP system.
Unit Testing
Once the system has been successfully developed
Functional Testing
The functional testing will take place after the unit testing. In this functional
testing, the functionality of each of the module is tested. This is to ensure that
the system produced meets the specifications and requirements.
Integration Testing
Integration Testing 1: To ensure the Customer Module integrated with
Inventory Module and Finance Module is working correctly.
No. Test Case/Test Attribute Expected Result Result
Script and Value
1.1 Add Customer and - Successfully add a new customer and Pass
Add Sale in record a sale transaction. Check if the
Customer Module customer information is updated in the
Finance Module.
1.2 View Customer in - View customer details from the Pass
Inventory Module Inventory Module, ensuring data
consistency between modules.
1.3 View Customer - View the trails in the Finance Module to Pass
Trails in Finance verify that customer-related
Module transactions are correctly logged.
Automated Testing:
Tools used:
The following table shows the tools used in automated testing
Tools used
1 Thunder A REST client extension for Visual API Testing - REST APIs and Pass
. Client Studio Code. Flask API
Conclusion
The development and implementation of the ERP System represent a significant milestone in
addressing the organizational needs for streamlined processes, efficient data management, and
improved decision-making. The adoption of a Client-Server Architecture, component-based
design, and agile methodologies has contributed to the creation of a robust and flexible system.
The ERP System's comprehensive modules, including Inventory, Customers, Employees, and
Finance, ensure that key aspects of business operations are seamlessly integrated.
The testing phase, encompassing manual and automated testing, has been instrumental in
ensuring the system's reliability, functionality, and performance. Through unit, functional, and
integration testing, potential issues were identified and addressed, guaranteeing a high-quality
software product.
As the ERP System moves from development to deployment, its success will be measured by its
impact on organizational efficiency and productivity. User feedback and continuous
improvement will be essential in refining the system's performance and addressing any
emerging requirements.