Get Instant Help From 5000+ Experts For
question

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing:Proofread your work by experts and improve grade at Lowest cost

And Improve Your Grades
myassignmenthelp.com
loader
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!
Free Quote
wave
Pi Tuition Centre Lesson Booking Software

System Requirements

. LO1 - Design and implement a substantial software artefact.

. LO2 - Evaluate, choose and employ appropriate data structures and algorithms.

. LO3 - Refactor part of a software item to achieve a specified goal.

. LO4 - Be able to design a test suite, and perform a set of tests.

Students should submit on Studynet the following three items:

  1. a single pdf document containing the practical report and UML class diagrams,
  2. a zipped folder containing the final source code, and
  3. an executable jar file for running the final system.

The marks will be based mainly on the report in the pdf document and the jar file. Source code will

be checked to confirm both that the work has been implemented by yourself, and its design.

. UML Class diagram.

. Working jar file.

. Use of version control, with suitable commit messages.

. Appropriate design and implementation.

. Use of JUnit testing.

. Report format and writing quality.

Implement a system according to the following description

The Pi Tuition Centre (PTC) needs software for managing lesson bookings made by the students. The centre offers different group tuition lessons on both Saturday and Sunday. The tuition lesson subjects could be English Comprehension, English Writing, Math, Verbal Reasoning, etc. Each lesson can accommodate 4 students at most.

For either day (Saturday or Sunday), there are 3 tuition lessons per day: 1 in the morning, 1 in the afternoon, 1 in the evening. The price of each lesson is different. The lesson price for the same subject will remain the same even if they run at a different time.

A student who wants to book a lesson on a day needs to select the specific lesson time (i.e., morning, afternoon, evening). Students are allowed to change the date/time of the booked lessons, provided there are still spaces available for the newly selected date/time in the same subject. A student can book as many lessons as they want as far as there is no time conflict.

After each tuition lesson, students are able to write a review of the lesson they have attended and provide a numerical rating of the lesson ranging from 1 to 5 (1: Very dissatisfied, 2: Dissatisfied, 3: Ok, 4: Satisfied, 5: Very Satisfied). The rating information will be recorded in the system. After four weeks (four weekends), the user of the system must print:

  • a report containing the number of students per tuition lesson, along with the average rating;
  • a report containing the tuition subject which has generated the highest income.

In your final deliverable, provide data covering at least 4 different types of tuition subject lessons, 10 students, and 20 reviews (with rating), which can then be displayed in the output reports. You need to design at least 8 weekends teaching timetable by yourself. The system should also allow new students to be registered and then book the lessons.

Note: you do not need any kind of external database for this program. The final program should be selfcontained. The reports can be printed to System.out, or output to a suitable GUI interface. You also do not need any kind of security protocol: just allow the user to identify themselves with a unique name or ID.

Your tasks:

  1. Create a class diagram, highlighting the main classes in the system and their associations.

Include the attributes and key methods.

  1. Implement the system, using Junit tests to confirm the functionality.
  2. Write a short report (no page limit) explaining your program.

Discuss:

  1. a) Any assumptions made about the system, in addition to the above description.
  2. b) The overall structure and design of your program.
  3. c) Any design patterns/design principles used.
  4. d) The JUnit tests.
  5. e) Any refactoring used during the development of the system. Deliverables:
  6. Develop your code using bitbucket or other version control software. Take snapshots of your project repository and commit messages. Include the snapshots in your report.
  7. Submit to Studynet:
  8. Your report with the UML class diagrams in a single PDF document.
  9. An executable jar file, demonstrating your final system. The system should have some data preloaded (as described above).
  10. A zip-file containing the source code of your project.

support
close