2033 Java Project
2033 Java Project
Roll NO : 2033
PROJECT REPORT ON
“PROJECT NAME”
IN PARTIAL FULFILLMENT OF
SEMESTER II – 2023-24
PROJECT GUIDE
Name Prof. Kanchan Shah
project CA2
Learnings from the
case
/4
Delivery/
presentation skills /3
Total
/15
Inform the class the rubric format and the method of evaluation.
Co-ordinator,
Shubhangi Pawar
Introduction :
The Car Company Management System is a robust Java application
meticulously crafted to streamline the intricate processes involved in
overseeing a car company's operations. It serves as a centralized platform for
managing inventory, sales transactions, and comprehensive statistical
analysis, offering a holistic solution to meet the dynamic demands of the
automotive industry.In today's competitive market, efficient management of
inventory is paramount for the success of any car company. The Car
Company Management System empowers users with the capability to
seamlessly add new cars to the inventory, update stock levels in real-time, and
ensure accurate tracking of available vehicles. By providing a user-friendly
interface, the system simplifies the otherwise complex task of managing a
diverse range of car models, allowing for efficient allocation of resources and
optimal utilization of inventory space.Moreover, the system facilitates the
sales process by offering functionalities for selling cars with automated profit
calculations. Through intuitive features, users can initiate sales transactions,
specifying the desired model and quantity, while the system automatically
computes the profit generated from each sale. This not only streamlines the
sales process but also enables users to make informed decisions regarding
Name : Omkar dhanavade
Roll NO : 2033
import java.util.Scanner;
// Sellable.java
interface Sellable {
// OutOfStockException.java
Name : Omkar dhanavade
Roll NO : 2033
super(message);
// Vehicle.java
this.model = model;
this.stock = stock;
this.price = price;
Name : Omkar dhanavade
Roll NO : 2033
return model;
return stock;
return price;
@Override
stock -= quantity;
} else {
}
Name : Omkar dhanavade
Roll NO : 2033
// ElectricCar.java
this.batteryCapacity = batteryCapacity;
@Override
@Override
Name : Omkar dhanavade
Roll NO : 2033
// InternalCombustionCar.java
this.fuelCapacity = fuelCapacity;
@Override
@Override
// CarCompanyManagementSystem.java
while (true) {
System.out.println("6. Exit");
switch (choice) {
case 1:
addCar(scanner);
break;
case 6:
System.exit(0);
default:
carModels[totalCars] = model;
carStocks[totalCars] = stock;
carPrices[totalCars] = price;
totalCars++;
} else {
Name : Omkar dhanavade
Roll NO : 2033
OUTPUT :
SWOT analysis
Strengths:
1. User-Friendly Interface:
- The console-based interface makes it easy for users to interact with the
system, especially for simple operations.
2. Modularity:
- The code is organized into functions for specific tasks, promoting a
modular structure and ease of maintenance.
3. Basic Functionality:
- The system covers essential functionalities such as adding cars, updating
stock, selling cars, and displaying statistics.
4. Exception Handling:
- The code incorporates exception handling for certain scenarios, providing
a level of robustness.
Weaknesses:
1.Global Variables:
- The use of global arrays for car models, stocks, and prices may lead to
potential issues with scalability and maintenance.
Name : Omkar dhanavade
Roll NO : 2033
2. Limited Features:
- The system lacks more advanced features like user authentication,
database integration, and a graphical user interface (GUI).
3. Input Validation:
- The code does not perform comprehensive input validation, which could
lead to unexpected behavior if users enter invalid data.
4. No Persistence:
- The system does not save data between program executions, relying solely
on arrays stored in memory.
Opportunities:
1. Enhancements:
- Opportunities exist for enhancing the system with advanced features, such
as GUI, database integration, and additional statistical analysis.
2. Database Integration:
- Incorporating a database to store car information could improve data
persistence and management.
3. User Authentication:
- Implementing user authentication and access control could enhance
security and restrict access to authorized users.
4. Error Logging:
- Introducing error logging mechanisms could aid in debugging and
improving system reliability.
Threats:
1. Security Risks:
- Lack of user authentication and authorization poses a security risk,
especially if the system is deployed in a networked environment.
2. Data Loss:
Name : Omkar dhanavade
Roll NO : 2033
- The absence of data persistence may lead to data loss if the application is
closed or crashes.
3. Limited Scalability:
- The reliance on arrays and a console interface may limit the scalability of
the system for larger datasets or more complex functionality.
4. Technological Changes:
- Changes in technology or Java versions may require updates to the code
for compatibility and security reasons.
Objectives
1. Manage Car Inventory:
- Allow users to add new cars to the system, specifying details such as model,
initial stock, and price.
- Implement functionality to update the stock of existing cars.
2. Sell Cars:
- Enable users to sell cars, considering stock availability and calculating
profits.
3. Display Cars:
- Provide an option to display the current inventory of cars, including details
like model, stock, and price.
4. Display Statistics:
- Offer insights into the overall statistics of the car company, such as the
total number of cars in stock and the total profit.
5. User Interaction:
- Facilitate user interaction through a menu-driven system, where users can
choose from different options (add car, sell car, etc.).
6. Input Validation:
- Implement input validation to ensure that users provide valid information
and make valid choices.
Name : Omkar dhanavade
Roll NO : 2033
7. Exit Mechanism:
- Allow users to exit the program gracefully.
8. Object-Oriented Design:
- Utilize object-oriented principles by creating classes such as `Vehicle`,
`ElectricCar`, `InternalCombustionCar`, and
`CarCompanyManagementSystem`.
9. Exception Handling:
- Handle exceptions appropriately, such as when selling cars that are out of
stock.
10. Encapsulation:
- Use encapsulation to encapsulate the state of the cars and ensure proper
data access.
11. Scalability:
- Design the system with scalability in mind, allowing for the potential
addition of more features or cars in the future.