Skip to content

This case study is specifically designed to provide valuable insights to second semester students pursuing Business Informatics at Pforzheim University.

License

Notifications You must be signed in to change notification settings

ainzone/cs-inventory-management

Repository files navigation

Case Study Inventory Management

This case study aimes for second semester business informatics students at Pforzheim University.

Background

John is a college student who is studying computer science. He is currently enrolled in an "Introduction to Programming" course that teaches basic programming concepts using the Java programming language and the NetBeans Integrated Development Environment (IDE).

John is interested in learning how to write code that can solve real-world problems, so he decides to apply his newfound programming knowledge to a practical project. He decides to create a simple library management system that can help him keep track of his personal book collection.

To create this system, John decides to break down the project into several smaller programming tasks, each of which will help him build up the final solution piece by piece. He starts with simple tasks, such as defining a Book class that can store information about a book's title, author, and ISBN. As he progresses, he adds more complex functionality, such as methods to add and remove books from a library and perform basic arithmetic operations.

Throughout the project, John learns valuable programming skills, such as how to use classes and objects, control structures, and methods. He also gains experience working with an IDE, debugging code, and testing his solutions.

By the end of the project, John has created a simple but effective library management system that he can use to keep track of his book collection. He feels proud of the work he has accomplished and excited to continue learning more advanced programming concepts in his future coursework.

Tasks

Hint: Class names should be adopted as given. The naming of methods might differ in your solution as the given instruction just tells the function. Hence, the method names in the following are not standardized and non compliant with Java naming conventions.

Creation Tasks

  1. Create a Java class called Item that represents a single item in the inventory. The class should have the following attributes: item name, item code, price, and quantity.
  2. Create a Java class called Inventory that represents the store's inventory. The class should have the following methods: add item, remove item, and display inventory.
  3. Create a Java class called Sales that represents the store's sales. The class should have the following methods: add sale, remove sale, and display sales.
  4. Create a Java class called Purchase that represents a customer's purchase. The class should have the following methods: add item to purchase, remove item from purchase, and display purchase.
  5. Create a Java class called Customer that represents a customer. The class should have the following attributes: customer name, customer ID, and purchase history.
  6. Create a Java class called Store that represents the grocery store. The class should have the following attributes: store name, store address, and store phone number.
  7. Create a Java class called Main that will be used to test the program. The class should have a main method that creates an instance of the Store class and calls the methods in the Inventory, Sales, and Purchase classes to test the program.

Modification Tasks

  1. Modify the Item class to include a discount attribute. Add a method to calculate the discounted price.
  2. Modify the Inventory class to include a method to calculate the total value of the inventory.
  3. Modify the Sales class to include a method to calculate the total revenue.
  4. Modify the Purchase class to include a method to calculate the total cost of the purchase.
  5. Modify the Customer class to include a method to display the customer's purchase history.
  6. Modify the Store class to include a method to display the store's information.

Advanced Tasks

  1. Add error handling to the program to handle invalid input.
  2. Add a graphical user interface to the program using JavaFX or Swing GUI.

Additional instructions and help for the case study

  • Start by reading through the case study background carefully, making note of the programming tasks that John needs to complete.
  • Familiarize yourself with the Java programming language and the NetBeans IDE. If you are new to programming, you may want to complete some introductory Java programming tutorials to get started.
  • Create a new project in NetBeans for your library management system. You will need to create several classes, including the Book class, Library class, and Calculator class.
  • As you work on each programming task, make sure to test your code thoroughly to ensure that it is working as expected. You can use the NetBeans debugger and console to help you with this.
  • Don't be afraid to ask for help if you get stuck. You can use online resources like Stack Overflow or the Oracle Java Tutorials to help you solve specific programming problems.
  • As you complete each programming task, make sure to save your code and commit it to a version control system like Git. This will help you keep track of changes to your code over time and make it easier to revert to earlier versions if necessary.
  • Finally, remember that programming is a creative and iterative process. Don't be afraid to experiment with different solutions and approaches until you find the one that works best for you. Have fun! 😊

About

This case study is specifically designed to provide valuable insights to second semester students pursuing Business Informatics at Pforzheim University.

Topics

Resources

License

Stars

Watchers

Forks

Languages