COSC1295: Advanced Programming Console Implementation Assignment Part 1

Download Solution Order New Solution

Assignment Part 1

Outline

In this assignment you are required to work individually to develop a Resident HealthCare System using Java. Using Java as a vehicle, you are required to demonstrate your understanding of object-oriented design principles, design patterns, generics, graphical user interfaces, unit testing and object relational mapping building on the foundations laid by the Programming Fundamentals course and further developed in COSC1295. The system you develop should be maintainable and extensible as well as produce substantial value for the stakeholders by improving the level of patient care. The marks will therefore be awarded both for your functionality as well as justifying the design decisions and code quality. During the final face to face assessment you will also be required to justify your design decisions as well as explain how your program can be extended to meet other related requirements.

Learning Outcomes

  • CLO01: Use the Java programming language for algorithmic problem-solving and the implementation of small to medium sized application programs that illustrate professionally acceptable coding and performance standards.
  • CLO02: Demonstrate knowledge of the basic principles of the object oriented development process and apply this understanding to the analysis and design of solutions for small to medium scale problems.
  • CLO03: Describe the Java Collections Framework (JCF) and apply this framework in Java code.
  • CLO04: Implement and apply advanced programming concepts in Java such as Java Database Connectivity, handling User Interface events, and/or Java Threads.
  • CLO05: Apply a common OO design pattern such as Model View Controller (MVC), Singleton, or Facade in Java code.

Product Description

You are required to develop a system to manage the high care patients for the RMIT Care Home. The management wants a visual interface that maps the patients to their respective beds to help nurses easily check the prescription details and administer the medications in an effective manner. Moreover, it may be necessary to change the bed assigned to an existing resident when a new resident is admitted reflecting their gender and medical condition (need for isolation). In order to comply with recent regulations, the management wants to archive all the patient related details including medicine prescription and administration details to a database that can be accessed and audited by external parties.

Project Phase 1

Implement the staff and location related functionality incorporating collections, generics and exception handling. As well as the rules for allocating patients to beds and recording medication, etc, requirements, you must account for the following rules/compliance on care staff managing patients:

  • Your program should ensure nurses are assigned to two shifts from 8am to 4 pm, and 2 pm to 10 pm every day of the week (14 shifts). You may assume all nurses work 8 hours a day on a day (i.e., one shift) they are assigned. 
  • There should also be a Doctor assigned for 1 hour, every day of the week (basically, for writing prescriptions). 
  • Regulation also requires no more than 8 hours is assigned to a nurse in a single day. The checkCompliance() method of the CareHome class should throw an exception if these business rules are not enforced. 
  • Assume the same shift pattern will be repeated every week and a list of available qualified Doctors and Nurses are maintained in separate lists. 
  • Incorporate serialization to store objects created to file and to recreate them when the program is restarted. 
  • Write the JUnit tests for the relevant classes to ensure all the business rules are adhered to. Your test cases should include both positive and negative tests (where exceptions are expected to be thrown). 
  • Build a simple text-menu based system for the Aged Care facility manager to access and demonstrate all functionality you build at this stage.

NOTE: that the text-based menu will be replaced by a GUI so you do not need to build both, unless you need to demo functionality BEFORE you build a GUI. (Any text-based menu build will be temporary and therefore does not need to be robust UNLESS you don’t build a GUI interface.)

Summary of Assessment Requirements

The assessment required students to individually develop a Resident HealthCare System using Java to manage patients, staff, and medication details for an aged care facility. The system aimed to improve patient care through an interactive and efficient software solution that adheres to object-oriented programming (OOP) principles, design patterns, generics, graphical user interface (GUI), unit testing, and object-relational mapping (ORM).

Students were expected to:

  • Demonstrate an understanding of OOP principles and design patterns (e.g., MVC, Singleton, Facade).
  • Implement functionality using Java Collections, generics, and exception handling.
  • Develop mechanisms to assign and monitor nurse shifts and doctor schedules, ensuring compliance with regulatory rules.
  • Use serialization to store and recreate objects persistently.
  • Create JUnit test cases for both positive and negative scenarios.
  • Build a menu-based system (temporary) to demonstrate the program’s functionality before transitioning to a GUI.
  • Justify all design and implementation decisions and ensure the system’s extensibility.

This assessment tested several course learning outcomes (CLOs), including algorithmic problem-solving, OO analysis and design, application of the Java Collections Framework, database connectivity, GUI handling, and implementation of common OO design patterns.

Mentor-Guided Step-by-Step Approach

The Academic Mentor guided the student through the project using a structured, iterative process to ensure clarity, adherence to design principles, and alignment with learning outcomes.

Step 1: Understanding Requirements and Planning the Design

The mentor began by helping the student thoroughly analyze the problem statement and regulatory requirements. Together, they identified the key entities Patients, Beds, Nurses, Doctors, and CareHome and mapped their relationships using UML class diagrams. The mentor emphasized the Model-View-Controller (MVC) pattern as a foundation for future GUI integration and maintainability.

Step 2: Applying Object-Oriented Concepts and Generics

In this phase, the mentor guided the student in implementing encapsulation, inheritance, and polymorphism. Generic collections such as ArrayList and HashMap were introduced for managing lists of staff and patients. The mentor demonstrated how to implement generics to enhance type safety and scalability within the code.

Step 3: Implementing Business Logic and Compliance Checks

The student, under mentor supervision, coded the business logic ensuring each nurse was assigned to one of the two fixed shifts and not exceeding the daily 8-hour limit. A custom exception was created within the CareHome class for the checkCompliance() method to handle violations of these business rules.

Step 4: Incorporating Data Persistence and Exception Handling

The mentor introduced serialization to save and retrieve patient, nurse, and doctor records. Exception handling was embedded throughout to ensure system robustness during runtime errors such as invalid data inputs or scheduling conflicts.

Step 5: Writing and Executing JUnit Tests

Next, the mentor demonstrated JUnit testing techniques, helping the student write both positive and negative test cases. The tests ensured that nurse scheduling rules, data serialization, and compliance checks were working correctly.

Step 6: Developing a Text-Based Interface for Demonstration

Since the GUI phase was to be introduced later, the mentor assisted the student in designing a simple console-based menu. This allowed the student to demonstrate all functionalities interactively and debug effectively before GUI integration.

Step 7: Reviewing and Refining the System

In the final phase, the mentor guided the student through code review and optimization, focusing on modularity, readability, and extensibility. The mentor also emphasized documenting design decisions and explaining how the system could later integrate GUI and database components.

Outcome and Learning Achievements

Through this systematic mentoring process, the student successfully developed a functional Resident HealthCare System prototype that met the specified business and technical requirements. The solution adhered to professional coding standards, demonstrated practical use of OOP principles, and incorporated appropriate exception handling, testing, and serialization.

The key learning objectives achieved included:

  • Applying OOP and design pattern concepts in a real-world software context (CLO2, CLO5).
  • Utilizing Java Collections and Generics effectively for data management (CLO3).
  • Developing and testing robust code using JUnit to ensure compliance and reliability (CLO1).
  • Understanding data persistence and preparing for GUI integration and database connectivity (CLO4).
  • Demonstrating the ability to justify design decisions and ensure maintainability and scalability of the system.

Get Inspired by This Sample But Make Your Submission 100% Original!

Looking for guidance on how to approach your academic assignment? You can download this sample solution to understand the correct structure, formatting, and academic writing standards. However, please remember that this sample is provided for reference purposes only. Submitting it as your own work may lead to plagiarism issues and academic penalties.

If you want a plagiarism-free, custom-written solution tailored to your specific topic, our team of qualified academic writers can help you craft a fresh, original assignment that meets your university’s requirements. Each paper is written from scratch, fully referenced, and checked through plagiarism detection tools to ensure 100% authenticity.

Why Choose a Fresh Custom Solution?

  • Guaranteed 0% plagiarism and original content
  • Written by subject-matter experts with academic experience
  • Fully formatted, referenced, and ready for submission
  • Delivered on time with unlimited revisions for satisfaction

Important Disclaimer: The provided sample is meant strictly for academic reference and learning purposes. It should not be copied, reproduced, or submitted as your own academic work.

Take the next step toward academic success 
Download Sample Solution  Order Fresh Assignment

Get It Done! Today

Country
Applicable Time Zone is AEST [Sydney, NSW] (GMT+11)
+

Every Assignment. Every Solution. Instantly. Deadline Ahead? Grab Your Sample Now.