OFFERS! offer image Get Expert-crafted assignments
Save 51%

CMP7001 S1 PRAC1 Advanced Programming Assessment: Myriad Medical Services (MMS) Ltd

Published: 31 Oct, 2025
Category Assignment Subject Programming
University Cardiff Metropolition University Module Title CMP7001 Advanced Programming
Word Count 3000 Words
Assessment Type PRAC1
Assessment Title Practical implementation of a software system prototype.
Academic Year 2025/26

CMP7001 S1 PRAC1 Advanced Programming Assessment

Contents

  • Assessment Details
  • Submission Details
  • Assessment Criteria
  • Further Information
  • Who can answer questions about my assessment?
  • Referencing and independent learning
  • Technical submission problems
  • Late submission and mitigating circumstances
  • Academic Misconduct
  • How is my work graded?

Assessment Details

Assessment title

Abr.

Weighting

Practical implementation of a software system prototype.

PRAC1

75%

Pass marks are 40% for undergraduate work and 50% for postgraduate work unless stated otherwise.

CMP7001 Task/Assessment brief:

To demonstrate the system design skills you have developed in CMP7001 you are required to work in teams of two or three to design, build, and test a software system to meet the scenario below.

You may choose who to work with.

Scenario

Myriad Medical Services (MMS) Ltd. is a private medical centre offering its patients a wide range of services. The centre relies on multiple Airtable databases to book in patients, assign patients to clinicians, record treatments and charges, and record when patients pay the charges in full. MMS would like to replace its current system as it is obsolete and no longer supports its key business processes. 

The company has approached you to develop a new system with the following requirements:

Functional Requirements

  1. The system should have three types of users, the centre administrators, the clinicians, and the patients, each of which see different system functionalities.
  2. When a patient comes for a service, they may either be registered or an unregistered ‘walk-in’ patient. The centre administrator should capture all the patient details if unregistered.  
  3. Registered patients can log into the system and book a treatment. 
  4. The centre administrator or the clinician can log patients and treatment details into the system.
  5. The centre administrator can allocate patients to clinicians, in line with their expertise, and the nature of the treatments required. In this case, the system should generate a Treatment ID and initialise its status to ‘New Treatment’. 
  6. The clinician should be able to view all the patients allocated to them – but not to unassigned patients or those assigned to other clinicians – record all the treatments that need to be performed, and update the Treatment ID’s status to ‘Treatment Assessed’. 
  7. In turn, the centre administrator should view all assessed jobs and cost all the treatments logged by the clinician to generate the total bill for the patient.
  8. An unregistered patient can upgrade to a registered patient. 
  9. Registered patients should be able to receive notifications of offers, vouchers, or promotions from the centre administrator.  Patients should have the option to opt-out of receiving these.
  10. The new system should maintain information about different treatments that are offered.
  11. The centre administrator and the clinicians can add or remove treatments or flag non-paying patients as needed.
  12. There should be persistent storage in the system. (Hint: you may choose to store your data in a CSV file, for example)

Non-Functional Requirements

  1. You are required to design your system following object-oriented design principles using multiple classes. (Hint: look at the separation of concerns and single responsibility principles to help factor your classes)
  2. The solution must employ at least one form of polymorphism, be it parametric polymorphism (generics) or subtype polymorphism (inheritance/interfaces).
  3. The solution will require a console-based, command-line interface (CLI) menu system to allow the user to access the required functionality as outlined above. If you wish to implement a graphical user interface (GUI), e.g. using Swing or JavaFX, you are free to do so; however, a CLI must be available.
  4. Your solution must employ exception handling to catch all system errors (input, run-time and output errors). This should include both the handling of API exceptions and throwing your own generated exceptions.
  5. You are required to implement unit tests to validate your prototype.

Deliverable

For this part of the project, you are required to produce and submit the following:

1.A written project report containing the following design elements:

  • Use case diagram(s) showing the actors and key system use-cases.
  • Use case documentation.
  • A class diagram showing the key classes and their associations.  Please ensure the correct notation is used to clearly show inheritance, composition and the order / multiplicity of the association (e.g., 1-to-many).
  • A sequence or collaboration diagram showing how the relevant classes interact for your chosen use cases.
  • A dictionary of class attributes and methods (this can be separate from the diagram itself to reduce clutter).
  • Annotated code snippets with explanations of key implementation decisions.
  • A test plan showing the unit tests you implemented to test the functionality of your system, as well as tests covering each of the use cases.  The plan should include tests that fail in order to test your exception handling functionality.
  • Screenshots of the system to evidence successful implementation, showing tests and use cases in action.

2.An implementation, in Java, of your software prototype based on the above description and requirements.  It is recommended that you use appropriate source control (GitHub for example) to manage the development of your solution. Note that as part of your implementation, you are required to also implement the unit tests outlined in your test plan.

Project Management

It is up to you how you choose to divide the tasks between the team members, but each team member must contribute an equivalent of approximately 3,000 words of work (including written content, diagrams, and code). An identical copy of the report must be submitted by each member, with a contributions page immediately following the cover page with the name and student ID of each member, detailing their specific contributions.

Word count (or equivalent):    3000 (per student in the group)

This a reflection of the effort required for the assessment. Word counts will normally include any text, tables, calculations, figures, subtitles and citations. Reference lists and contents of appendices are excluded from the word count. Contents of appendices are not usually considered when determining your final assessment grade.

Submission Details

Submission Deadline:

This will be provided on the Moodle submission point.

Estimated Feedback

Return Date

This will normally be 20 working days after initial submission.

Submission Time:

By 4.00pm on the deadline day.

 

Moodle/Turnitin:

Any assessments submitted after the deadline will not be marked and will be recorded as a non-attempt unless you have had an extension request agreed or have approved mitigating circumstances. See the School Moodle pages for more information on extensions and mitigating circumstances.

File Format:

A PDF of your project report should be submitted to Moodle.  You can include a link to an unlisted repository containing your code, or include the code files as a zip file.

Your assessment should be titled with your: student ID number, module code and assessment ID,

e.g. st12345678-CMP7001-PRAC1.pdf

Late Submission Window Eligibility

Where submissions are eligible for the late-submission window this will be communicated in the relevant assessment submission point within Moodle.

Feedback

Feedback for the assessment will be provided electronically via Moodle. Feedback will be provided with comments on your strengths and the areas which you can improve. View the guidance on how to access your feedback.

All marks are provisional and are subject to quality assurance processes and confirmation at the programme Examination Board.

Stuck Your CMP7001 PRAC1 Assignment? Deadlines Are Near?

Hire Assignment Helper Now!

CMP7001 Assessment Criteria

Learning outcomes assessed

On successful completion of this module, students will be able to: 

1.Critically evaluate the utility of object-oriented principles such as abstraction, reusability, inheritance, and encapsulation. 

2.Adapt to the advanced concepts in programming with polymorphic constructs through generics and collections.

3.Apply best practices to write secure software through exception handling. 

4.Solve real life problems by using object-oriented constructs and design patterns. Develop proficiency in a high-level programming language at an advanced stage.

5.Develop proficiency in a high-level programming language at an advanced stage.

Other skills/attributes developed

This includes elements of the Cardiff Met EDGE (Ethical, Digital, Global and Entrepreneurial skills) and other attributes developed in students through the completion of the module and assessment. These will also be highlighted in the module guidance, which should be read by all students completing the module. Assessments are not just a way of auditing student knowledge. They are a process which provides additional learning and development through the preparation for and completion of the assessment. 

This module assessment provides opportunities for students to demonstrate development of 
the following EDGE Competencies: 

  • Ethical concerns of team management and human centred approaches to conflict resolution. 
  • Digital management methods are examined and used throughout the module and tasks. 
  • Perspectives of global software development (GSD) are examined and discussed. Task involves reasoning of multi-cultural teams in multiple countries. 
  • How Project Management can used to assist tight budgets and the entrepreneurial development.

Allocation of marks

Marks

Report

(70%)

Use Case Diagram (LO1)

10

Use Case Documentation (LO1)

10

Behavioural Diagrams (Sequence / Collaboration) (LO1)

15

Class Diagram / class dictionary (LO1, LO2, LO4)

20

Unit Test Plan & Documentation (LO1)

15

Implementation

(30%)

Object Oriented Implementation (correct alignment with your class diagram and implementation of the required functionality) (LO4, LO5)

10

Polymorphic features (LO2, LO5)

5

Design Pattern Implementation (LO4, LO5)

5

Exception Handling (LO3, LO5)

5

Unit Test Implementation (LO1)

5

Total

100

Grade

Criteria

70 – 100%

(Distinction)

An excellent report / design document is given.  The Use-Case diagram shows all key Use-Cases and Actors, as well as the relevant associations.  The Use-Case documentation is very detailed and shows clearly the main and alternate scenarios.  The behavioural diagrams are very detailed and correctly show the relevant classes and interactions between them to accomplish the given scenario.  The class diagram contains all key classes, with correct associations given, showing excellent understanding of UML notation and design pattern structures.  The class dictionary lists all relevant attributes, including references matching associations in the class diagram, as well as all relevant methods.  An excellent range of unit tests has been documented that test all aspects of the system and exception handling capability.

An excellent implementation is given that demonstrates a deep understanding of object-oriented design principles.  The implemented classes and resulting object graphs match the class model given in the documentation.  Excellent use of polymorphic features as well as creational, structural and behavioural design pattern structures is evident to accomplish the requirements of the system.  An extensive exception handling system is given showing an excellent understanding of error handling code.  An excellent range of unit tests have been correctly implemented and match those tests documented in the test plan.

60 - 69%

(Merit)

A very good report / design document is given.  The Use-Case diagram shows all key Use-Cases and Actors, as well as most of the relevant associations.  The Use-Case documentation is detailed and shows the main and alternate scenarios, though some aspects could be expanded upon.  The behavioural diagrams are detailed and correctly show the relevant classes and interactions between them to accomplish the given scenario.  The class diagram contains most of the key classes and correct associations between them, showing very good understanding of UML notation and design pattern structures.  The class dictionary lists most relevant attributes, including references matching associations in the class diagram, as well as most relevant methods.  A very good range of unit tests has been documented that test most aspects of the system and exception handling capability.

A very good implementation is given that includes most of the needed object-oriented principles.  The implemented classes and resulting object graphs mostly match the class model given in the documentation.  Very good use of polymorphic features as well as creational, structural and behavioural design pattern structures is evident to accomplish the requirements of the system.  A very good exception handling system is given that captures most relevant errors that can occur.  A very good range of unit tests have been correctly implemented where most of the documented tests have been implemented.

50 - 59%

(Pass)

A good report / design document is given.  The Use-Case diagram shows many Use-Cases and Actors, as well as most of the relevant associations, but this could be expanded upon.  The Use-Case documentation shows most the main scenario and some attempt has been made to document the alternate scenarios, though this needs to be expanded upon.  The behavioural diagrams show the relevant classes and interactions between them to accomplish the given scenario, but more detail is needed and a number of minor errors are evident.  The class diagram contains most key classes and associations between them, showing a good understanding of UML notation and design pattern structures.  However, some minor errors and omissions are evident.  The class dictionary lists most relevant attributes, including references matching associations in the class diagram, as well as most relevant methods.  A good range of unit tests has been documented but these need to be expanded.

A good implementation is given that includes some of the needed object-oriented principles.  The implemented classes and resulting object graphs partially match the class model given in the documentation, but the implementation lacks documented / needed functionality.  Some use of polymorphic features as well as creational, structural and behavioural design pattern structures is evident, but a number of errors exist throughout the implementation.  Some exception handling is evident but needs to be expanded – a number of errors remain uncaught in the given implementation.  A good range of unit tests have been correctly implemented but not all relevant aspects of the system are tested.

40 - 49%

(Narrow Fail)

A basic report / design document is given.  The Use-Case diagram shows only a few relevant Use-Cases, Actors and associations, but this needs much more detail.  The Use-Case documentation shows most aspects of the main scenario, but no attempt has been made to document the alternate scenarios.  The behavioural diagrams show some of the relevant classes and interactions between them but much more detail is needed, and a number of errors are evident throughout.  The class diagram contains some classes and associations, but a number of errors are evident showing only a basic understanding of UML notation and design pattern structures.  The class dictionary lists some relevant attributes, including references matching associations in the class diagram, as well as some relevant methods.  However, the class documentation does not match the class diagram – key discrepancies are evident.  A limited range of unit tests have been documented and these need to be expanded upon.

A basic implementation is given that includes only a few of the relevant object-oriented principles.  The implemented classes and resulting object graphs lack key functionality and need to be expanded and do not fully match the class model given in the documentation.  An attempt has been made to implement polymorphic features as well as creational, structural and behavioural design pattern structures, but a number of key errors are evident.  Very basic exception handling is evident but needs to be expanded – a number of potential errors remain uncaught in the given implementation.  A basic range of unit tests have been implemented but not all relevant aspects of the system are tested.

35 - 39%

(Fail)

A very basic report / design document is given.  The Use-Case diagram shows only a few Use-Cases, Actors and associations but a number of significant errors exist.  The Use-Case documentation shows little to no elements of the main scenario, and no attempt has been made to document the alternate scenarios.  The behavioural diagrams show few classes and interactions and contains a number of significant errors so that building a system from this design would not be possible.  The class diagram contains few to no relevant classes and associations, showing little to no understanding of UML notation and design pattern structures.  The class dictionary lists few relevant attributes, with few to no references matching associations in the class diagram evident.  The class documentation does not match the class diagram – key discrepancies are evident throughout.  Few to no meaningful unit tests have been documented.

A very basic implementation is given that includes few relevant object-oriented principles.  The functionality is bare-bones and does not need to requirements of the system given above.  An attempt has been made to implement polymorphic features as well as creational, structural and behavioural design pattern structures, but these are incorrect and do not work.  Little to no exception handling is evident but needs to be expanded – a large number of potential errors remain uncaught in the given implementation.  A very basic range of unit tests have been implemented and little of the actual system is tested.

<35%

(Low Fail)

A very poor submission.  The Use-case documentation does not capture the requirements of the system.  The class model does not adequately model the system, with little to no understanding of Object-Oriented principles evident.  No meaningful test plan is given.

The implementation includes little to no relevant design elements and little to no functionality required by the system is evident.  Polymorphism and design pattern structures are either not implemented or do not function at all.  Little to no error handling or testing is evident.

Order Custom Answers for CMP7001 PRAC1 Assignment

Order Non Plagiarized Assignment

Struggling with your CMP7001 Advanced Programming PRAC1 Assignment? Let us help! We offer professional, affordable assignment writing services that are AI-free, plagiarism-free, and delivered on time. Our team of PhD experts understands what universities expect and creates high-quality content tailored to your needs. We also offer free assignment samples so you can check our quality before booking. Our expert team provides Programming Assignment Help that has been designed for the students. We’re available 24/7 to support you. Don’t wait until the last minute—contact us now and make your academic life easier with trusted expert assignment help!

Workingment Unique Features

Hire Assignment Helper Today!


Latest Free Samples for University Students

ACC217 Accounting Information Systems Assignment Sample | SUSS

Category: Assignment

Subject: Accounting

University: Singapore University of Social Sciences | SUSS

Module Title: Accounting Information Systems (ACC217)

View Free Samples

ACC210 Accounting for Decision Making and Control Assignment Answers SUSS

Category: Assignment

Subject: Accounting

University: Singapore University of Social Sciences (SUSS)

Module Title: ACC210 Accounting for Decision Making and Control

View Free Samples

BUS105 Statistics Assignment Sample Solution Docx | SUSS

Category: Assignment

Subject: Business

University: Singapore University of Social Sciences

Module Title: Statistics (BUS105)

View Free Samples

MKT542 Digital Marketing Analytics Assignment Sample Answer

Category: Assignment

Subject: Marketing

University: Singapore University of Socical Sciences

Module Title: MKT542 Digital Marketing Analytics

View Free Samples

ELT201 Understanding Poetry SUSS Assignment Sample

Category: Assignment

Subject: English

University: Singapore University of Social Sciences

Module Title: ELT201 Understanding Poetry

View Free Samples
Online Assignment Help in UK