OBJECT-ORIENTED PROGRAMMING Semester 1 (ICT502) Assignment Help
Instructions for Mid Semester Test
In this individual assessment, you are required to appear in mid-semester test based on contents covered from 1 to 6 sessions. The weightage of the test is 20%, comprising descriptive questions related to Java programming. The allotted time is 60 minutes, with 5 minutes designated for preparation, 45 minutes for completing the test paper, and 10 minutes for submission.
For this individual assessment, you are tasked with completing a mid-semester test based on the content covered in the first six lectures. Only one attempt is permitted, and the midterm test will be accessible for one hour during week 7 (April 15th – April 20th) within your tutorial session.
Assessment Details for Assessment Item 3:
Overview
Note: * denotes ‘Hurdle Assessment Item’ that students must achieve at least 40% in this item to pass the unit.s
Assessment tasks |
Learning Outcome Mapping |
||||
Assessment ID |
Assessment Item |
When due |
Weighting |
ULO# |
CLO# for MITS |
3* |
Application Development (Group) Part A –Design Part |
Session 8 |
20% |
1 |
1,2 |
Application Development (Group) Part B –Implementation. |
Session 12 |
30% |
1, 2,3,4 |
1, 2, 3,4 |
ASSESSMENT ITEM 3: This is a group assessment (Group Size-5). You will design and implement an application after analyzing requirements given in a case study. You are required to apply basic constructs and OO programming principles in developing this software system.
Introduction (Part A)
INSTRUCTIONS:
Design a VIT Ride Management System using UML(class )diagram.
The system should allow administrators to manage users, drivers, and ride requests. The
1. User:
Design a class representing the user entity in the system. Include attributes such as user ID, name, contact information, and any other relevant information. Methods: Constructors, getters, and
2. Driver:
3. Ride:
4.RideManager:
5. Main:
Contains the main method for testing the functionalities. Creates an instance of the Ride Manager class and provides a menu system to allow administrators to interact with the system.
Define the relationship between the User and Driver classes to represent the association between users and drivers.
Ride-User-Driver Relationship:
Establish relationships between the Ride, User, and Driver classes to represent the associations between ride requests, users, and drivers. You may add some more relationships from your understanding.
The classes should be designed using object-oriented principles such as inheritance, encapsulation, and polymorphism. The application should allow to perform the following tasks:
2. Remove Users:
Implement a feature to remove users from the system based on their student ID.
3 Display All Users:
Implement a feature to register new drivers for the ride service, including details such as name, driver’s license number, and vehicle information.
5. Remove Drivers:
Develop functionality to remove drivers from the system based on their driver’s license number.
Implement a method to display a list of all registered drivers available for rides.
7. Request a Ride:
8. Allocate Drivers to Rides:
Implement a method to allocate available drivers to ride requests based on factors such as proximity and availability.
9. Display Ongoing Rides:
Develop a feature to display a list of all ongoing rides, including details about the user, driver, and current status.
10. Display Ride History:
Implement functionality to display a list of all completed rides, including information such as starting point, destination, and feedback.
1. Utilize appropriate access modifiers for class attributes and methods.
3. Use inheritance or interfaces where applicable to promote code reuse and maintainability.
4. Consider any additional classes or interfaces that may be necessary to support the outlined functionalities.
All Figures included must have captions and Figure numbers and be referenced within the document. Captions for figures placed below the figure, captions for tables placed above the table. Include a footer with the page number. Your report should use 1.5 spacing with a 12-point Times New Roman font. Include references where appropriate
a. Title Page
b. Table of Contents
c. Introduction
d. System Description
e. Requirement Specifications
i. Functional Requirements
ii. Non-functional Requirements
iii. Others
f. Assumptions / Constraints
g. Class Diagram
h. References
Submission Instructions
Submission: The report Application Development Design report of not excessing 2000 words must be submitted in the pdf file through the Moodle submission link for assignment 3 Part A.
Note: All work is due by the due date and time. Late submissions will be penalized at 20% of the assessment final grade per day, including weekends.
Marking Criteria/Rubric
You will be assessed on the following marking criteria/Rubric:
Assessment criteria |
Exceptional >=80% |
Admirable 70% – 79% |
Creditable 60% – 69% |
Acceptable 50% – 59% |
Unsatisfactory <=49 |
Class Design(5) |
The class diagram is exceptionally clear, comprehensive, and anticipates future enhancements. |
The class diagram is admirable in clarity, completeness, and understanding of entities. |
The class diagram is creditable, providing a clear representation but with minor gaps. |
The class diagram is acceptable, capturing the fundamental elements. |
The class diagram is unsatisfactory, lacking clarity and completeness. |
Relationships(5) |
Relationships are accurately defined, demonstrating a deep understanding and foresight. |
Basic relationships are present with potential inaccuracies or areas for improvement. |
Relationships are correctly defined, showing a clear understanding of entity interactions. |
Relationships are acceptable, capturing the basic interactions but with noticeable gaps. |
Relationships are unsatisfactory, hindering the understanding of entity interactions. |
Attributes and Methods(5) |
Attributes and methods are well-defined, showcasing a keen understanding of best practices. |
Basic attributes and methods are present but with room for improvement in completeness. |
Attributes and methods are creditable, providing effective functionality but lacking some completeness. |
Attributes and methods are acceptable, capturing fundamental functionalities but with noticeable gaps. |
Attributes and methods are unsatisfactory, hindering effective functionality. |
Inheritance/Interfaces(5) |
Inheritance/interfaces are used optimally, reflecting a deep understanding and forward-thinking. |
Limited or unclear use of inheritance/interfaces, with potential for improvement. |
Appropriate use of inheritance/interfaces, contributing to a well organized class hierarchy. |
Inheritance/interfaces are acceptable, providing some level of code reuse but with room for improvement. |
Inheritance/interfaces are unsatisfactory, causing confusion in system design. |
Introduction (Part B)
This assignment will be completed in groups.
INSTRUCTIONS:
This assignment is an extension of assignment 3 Part A, that is the team is working on the same case study as in assignment 3 Part A, and
Using the feedback provided by the teaching instructor, update the requirements of the VIT Ride application. Based on the of the whole system showing all classes and relationships, you are expected to develop software application in Java implementing
The system should allow administrators to manage users, drivers, and ride requests. The
1. User:
2. Driver:
Instance Variables: name (String): Driver’s name, license Number (String): Driver’s license
Methods: Constructors, getters, and setters. Methods for driver-related functionalities (e.g.,
3. Ride:
Instance Variables: user (User): User associated with the rid, driver (Driver): Driver assigned to the ride, current Location (String): Current location for the ride, destination (String): Desired
4.RideManager:
Instance Variables: users (List<User>): List of registered users. drivers, (List<Driver>): List of registered drivers., ongoing Rides (List<Ride>): List of ongoing rides., ride History (List<Ride>): List
Methods: Constructors., Methods for registering, removing, and displaying users and drivers. Methods for ride management (e.g., requesting rides, allocating drivers, displaying ride history).
5. Main: Contains the main method for testing the functionalities. Creates an instance of the Ride Manager class and provides a menu system to allow administrators to interact with the system.
11. Register New Users:
a. Implement a method to register new users for the ride service, including details such as name, student ID, and contact information.
12. Remove Users:
Implement a feature to remove users from the system based on their student ID. 13. Display All Users:
Develop a method to display a list of all users registered for the ride service. 14. Register New Drivers:
Implement a feature to register new drivers for the ride service, including details such as name, driver’s license number, and vehicle information.
15. Remove Drivers:
Develop functionality to remove drivers from the system based on their driver’s license number.
16. Display All Drivers:
Implement a method to display a list of all registered drivers available for rides.
17. Request a Ride:
Design functionality that allows users to request a ride by providing their current location and desired destination.
18. Allocate Drivers to Rides:
Implement a method to allocate available drivers to ride requests based on factors such as proximity and availability.
19. Display Ongoing Rides:
Develop a feature to display a list of all ongoing rides, including details about the user, driver, and current status.
20. Display Ride History:
Implement functionality to display a list of all completed rides, including information such as starting point, destination, and feedback.
The classes should be designed using object-oriented principles such as inheritance, encapsulation, and polymorphism. The program should use a graphical user interface (GUI) but should instead use a command-line interface.
Second part Video demonstration
Student Name:
%age of Contribution:
[DATE]
The assessment will be marked on the following criteria
Task1: Implementation (15 Marks)
1. Design in the code matches the design in the class diagram.
3. Functional Completeness: All features are fully implemented, and snapshots are included in
1. Please start the video by discussing the contribution of each team member (i.e., which team
3. Students should point out where in their code the constructs shown in their design
Submission Instructions
6. Your Recorded
7. Combine 1, 2, and 4 into ONE word document.
Put 3, 5,6 and 7 together in one zipped folder. Submit the zipped folder via LMS.
Note:
Marking Criteria/Rubric
You will be assessed on the following making criteria/Rubric:
Assessment criteria |
Exceptional >=80% |
Admirable 70% – 79% |
Creditable 60% – 69% |
Acceptable 50% – 59% |
Unsatisfactory <=49 |
Design-Matching Implementation (5 Marks) |
Code design aligns seamlessly with the class diagram. |
Design and code mostly align with minor discrepancies. |
Adequate alignment with some noticeable design/code mismatches. |
Limited alignment, significant design/code discrepancies. |
Poor alignment, major design/code inconsistencies. |
Coding Standards (5 Marks) |
Exceptional adherence to coding standards, including meaningful variable/method names, thorough commenting, and consistent layout. |
Very good adherence to coding standards with minor lapses. |
Adequate adherence with noticeable lapses in coding standards. |
Limited adherence, several lapses in coding standards. |
Poor adherence, numerous lapses, impacting code readability. |
Functional Completeness (5 Marks) |
Report consists Implementation of the all modules, bug-free, and aligns with requirements. |
Report consists Mostly complete implementation with minor bugs. |
Adequate completion of modules in report , some notable bugs. |
Limited completion, significant bugs impacting functionality. |
Incomplete implementation, major bugs, significant functionality issues. |
Individual Contribution Presentation (5 Marks) |
Clear and comprehensive presentation of each team member’s contribution. |
Mostly clear presentation with minor omissions. |
Adequate presentation, some gaps or lack of clarity. |
Limited presentation, significant gaps in individual contributions. |
Poor presentation, major omissions or unclear contributions. |
Working System Demonstration (5 Marks) |
A fully functional system, is demonstrated effectively. |
Mostly functional system with minor glitches. |
Adequate demonstration with some noticeable issues. |
Limited demonstration, significant issues affecting functionality. |
Incomplete or non functional system demonstration. |
Understanding of Code-Design Relationship (5 Marks) |
Demonstrates a deep understanding of how the code implements the design documents. |
Shows good understanding, with minor gaps or inaccuracies. |
Adequate understanding, with noticeable gaps or inaccuracies. |
Limited understanding, significant gaps in linking code to design. |
Poor understanding, major gaps, inability to link code to design. |
Leave A Comment