COM102 (Programming II - Java)
Coursework - Practical Skills Assessment 2
Title: Pet Clinics Management System
Ulster University, School of Computing Academic Year: 2023/24
Due: Noon, 12:00 on Friday, 1st December 2023 (Week 12)
This coursework constitutes 60% of the total marks for the module. Feedback will be made available on Cloud Campus within 20 working days from the submission deadline.
For this assignment,you are required to work individually.
By making a submission, you will be deemed to have made the following declaration of
ownership. Source: https://www.ulster.ac.uk/student/exams/policies-procedures.
“I declare that this is my own work and that any material I have referred to has been accurately and consistently referenced. I have read the University’s policy on plagiarism and understand the definition of plagiarism as given in the [course/subject] handbook. If it is shown that material has been plagiarised, or I have otherwise attempted to obtain an unfair advantage for myself or others, I understand that I may face sanctions in accordance with the policies and procedures of the University. A mark of zero may be awarded and the reason for that mark will be recorded on my file.”
Overview
This assignment is concerned with the use of collection to store and manage objects. Write a Java program to store and manage data from a set of pets registered at a pet clinics according to the following requirements:
• Functional Requirements
1. 2.
The application must be able to handle data from at least two types of pets such as cats and dogs. For each pet, their name, age, colour, weight, and breed should be recorded.
Hint: consider creating an array of type Pet, where Pet is a base class you create containing the name, age, colour, and weight as instance variables. Each sub class represents each type of pet has an additional instance variable breed that can store the particular breed of a pet. For example, it could be Persian, Tabby, etc. for a cat and Spaniel, terrier, etc.. for a dog. You need to check that each variable has been entered correctly in whatever format you specify. You might also want to inform the user that if any of the data fields for a given pet are left blank, that pet’s full details will NOT be saved beyond the current session.
V1.0
Page 1 of 3
Ulster University, School of Computing Academic Year: 2023/24
-
The program should contain a method called speak( ) that returns a typical animal noise, plus a description of the animal such as ...
“Miaow! I am Pixel, a 4 year old tabby”, or “Woof! I am Rex, a 9 year old terrier”.
-
The program needs to enable pets to be added to the clinics or deleted from the clinics. There is no requirement to have any facility to modify pet details after they have been created.
Hint: deleting data from an array may leave a blank space in the array, so keep a count of the total number of pets and search for the next free array cell when adding another pet.
-
It must be possible to report (i.e. print to the screen) on the clinic. This report should indicate the clinics name which could be hard-coded, the total number of each type of pets registered and the dominant color for these pets.
-
The program should allow the user to view all the pets currently registered at the clinic.
-
At the end of a session, when the program is being terminated, the clinics details along with the details for each registered pet should be written to disk. These details should be recorded in two standard text files: one containing clinics details (called “ClinicsDetails.txt”) and the other holding all the pet records, to be called “PetDetails.txt”.
Hint: don’t save blank records to disk, check that there is a valid “pet” object in each array cell before writing its contents to disk. If any of the fields within a pet’s details have been left blank (string length of zero) then that student is invalid and their details should not be written to disk.
-
When the program is started, it should read from these standard text files to re-populate the application with any previously stored data as a starting point.
Hint: each record requires a new instance of the Pet class to be created and linked to the next available free cell in your array.
-
The program user must also be able to search for a pet by name or color, causing the sought pet’s details to be displayed and its speak( )method to be called if present.
-
The program must employ a console interface only.
You must develop a set of test cases and at least one unit test and record the results of applying these tests
to your software.
• Other assignment requirements:
-
The adoption of object-oriented principles should be evident in your implementation of the above
requirements including the use of inheritance and polymorphism.
-
A structured approach to testing should be evidenced by submission of a test plan including at least one unit test and outcomes in accordance with the above requirements.
Submission
V1.0 Page 2 of 3
Ulster University, School of Computing Academic Year: 2023/24
-
The following 3 deliverables must be submitted to Cloud Campus on or before noon, 12:00 on Friday 1st Dec 2023 (Week 12)
-
Source code – A Zip file containing all code developed for the application. The easiest way to create this is to Zip the contents of the src folder of your Java project. Each Java file should also be provided as a PDF document.
-
Design and Development Document – A PDF document that contains a written account of the design and development decisions made during the development of your application. You should provide evidence of the adoption of object-oriented principles and your consideration of data structures and program control structures used with justification for your decisions.
-
Testing Document – A PDF document that describes the approach to testing and test cases used. For each operation implemented such as add/delete/..., a screenshot of its output must be included.
-
-
In addition, you are required to give a brief demonstration of your solution to your teacher (Dr. Yuexin Yang) after the submission. The arrangement of the demonstration will be released in due course – Please note that your submission will not be awarded a mark unless a demo has taken place.
Assessment Criteria:
-
Structured, commented and readable code and appropriate use of variables (10%)
-
Implementation of suitable program control structures, classes and methods to solve problem (25%)
-
Program executes according to specification (30%)
-
Structured approach to testing (20%)
-
Design and planning document (15%)
V1.0 Page 3 of 3