COM102 (Programming II - Java)
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
COM102 (Programming II - Java)
Coursework - Practical Skills Assessment 2
Title: Pet Clinics Management System
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.
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. The application must be able to handle data from at least two types of pets such as cats and dogs. 2. 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.
3. The program should contain a method called speak( ) that returns atypical 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” .
4. 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.
5. 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.
6. The program should allow the user to view all the pets currently registered at the clinic.
7. 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.
8. 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.
9. 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.
10. The program must employ a console interface only.
You must develop a set of testcases and at least one unit test and record the results of applying these tests to your software.
• Other assignment requirements:
1. The adoption of object-oriented principles should be evident in your implementation of the above requirements including the use of inheritance and polymorphism.
2. 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
• The following 3 deliverables must be submitted to Cloud Campus on or before noon, 12:00 on Friday 1st Dec 2023 (Week 12)
1. 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.
2. 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.
3. Testing Document – A PDF document that describes the approach to testing and testcases
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%)
2023-11-18
Pet Clinics Management System