Share
Explore

IN2343-G3 Intermediate Java Programming Presentation

Assignment: Object-Oriented Java Programming for a Business Domain Simulation

Objective:

To develop an Object-Oriented (OO) Java application that models an interesting business domain.

You choose what ever you want to do, such as a bookstore, and model its operation with Objects.

The purpose is: to demonstrate your understanding and application of OO principles.
Students will document the development process, code, and use case implementations in a Word document, following the standard class procedures using the Sublime Text editor and JDK at the command line.

Deliverables:

Java Program:
A fully functional OO Java program simulating a business domain with at least two use cases.
Clear demonstration of OO concepts such as classes, objects, inheritance, polymorphism, and encapsulation.
Documentation (Word Document):
Explanation of the problem domain and the design approach.
UML diagrams (e.g., class and sequence diagrams).
Code snippets with explanations of key sections.
Screenshots demonstrating the execution of use cases (e.g., customer purchasing a book).
Reflection on challenges faced and how they were resolved.

Instructions:

Problem Domain Selection:
Choose an interesting business domain such as a bookstore, library management system, or inventory tracking system.
Define the purpose and scope of your simulation.
System Design:
Identify key entities (e.g., books, customers, orders) and their attributes.
Define relationships between classes and use UML diagrams to describe them.
Implementation:
Write a Java program in Sublime Text Editor which implements the design.
Include at least three classes:
Example: Book, Customer, Order.
Demonstrate OO principles:
Encapsulation: Use private fields and public getter/setter methods.
Inheritance: Create a subclass (e.g., EBook extends Book).
Polymorphism: Use method overriding or overloading.
Implement at least two use cases:
Example: Customer purchases a book, Inventory is updated.
Testing:
Run the program and ensure all use cases work as intended.
Capture screenshots of program execution showing the use cases.
Documentation:
Create a Word document explaining your work:
Title Page: Include the title of the assignment, your name, and the course code.
Problem Description: Briefly describe the chosen domain.
Design: Include UML diagrams and a description of your design choices.
Copy/Paste the Code from Sublime into the Word Document: Explain key sections of your code, focusing on how OO principles are applied.
Testing: Provide screenshots of your program execution with an explanation of each screenshot.
Reflection: Discuss challenges faced and solutions implemented.
Ensure professional formatting and clarity.
Submission:
Submit the Word document and Java files to the Google Classroom assignment box by the deadline.
Late submissions will incur penalties as per course policy.

Grading Rubric:

Table 1
Criteria
Weight
Details
1
Problem Domain and Design
20%
Clear and logical explanation of the problem domain and design choices with UML diagrams.
2
Application of OO Principles
25%
Demonstrates encapsulation, inheritance, and polymorphism effectively.
3
Code Quality
20%
Well-structured, properly indented code with comments for clarity.
4
Use Case Implementation
15%
Two or more functional use cases, clearly demonstrated with screenshots.
5
Documentation
20%
Professionally formatted Word document with clear explanations, diagrams, and screenshots.
There are no rows in this table

Example Use Cases:

Use Case 1: Purchasing a Book:
Input: Customer selects a book and provides payment.
Output: Order (object) is created, inventory (object) is updated, and a confirmation is displayed.
Use Case 2: Viewing Inventory:
Input: Administrator requests a list of available books.
Output: Display of all books with details such as title, author, price, and number of books in stock. When a customer purchases a book, the number of books in stock is decremented.

Tools and Resources:

Editor: Sublime Text
Java Development Kit (JDK): Ensure it is installed and configured.
References: "Introduction to Java Programming, Brief Version, 11th Edition" by Y. Daniel Liang (Chapters 9–12).
This assignment emphasizes not only technical proficiency in Java but also the ability to document and communicate your work effectively, an essential skill in the professional environment.
Logical execution and clarity of thought, as always, shall yield optimal outcomes.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.