/JavaAssignment

Repository for the Java Assignment, use this repo to store all the requirement diagrams and other resources for completing the assignment.

Primary LanguageJavaMIT LicenseMIT

Note: Please read the GitHub readme.
Note: If you want to get started with the project head to this section.

EVA - Simplified Brief

Deadline Before 10am on: 29/05/2020
Unit title & code CIS016-1 Principles of Programming / CIS096-1 Principles of Programming and Data Structures
Weighting of Assessment 70%
Assessment type Code and Report // Presentation

“Submit a word-processed report detailing the work that you have done. // Submit an individual video presentation about your work.”

Deliverables

  1. Project Report (max 9000 words or 2 pages), 20% of grade.

    • Illustrate and justify your choices in analysis and implementation. Provide evidence that you actually tested your code. Any code may go into the appendix, except core classes that you may explain in the main text.
    • This is a formal report and attention should be given to the format of this work. You should include a title page, table of contents, heading and sub-headings (introduction, main part, summary, appendices), and captions for figures.
    • You are strongly advised to use the report template provided.
  2. Each student, has to upload a short video of up to 5 minutes maximum where they vocally explain their contribution to the group project. Such an explanation should show the parts they implemented and explain some chosen example code they developed.

  3. A .zip file containing your running the complete program code, 50% of grade.

    • Instructions how to run the code should go into the project report above.

Possible Discussion Topics for the Report

  • Reflect upon your strength and weaknesses in relation to a programming project you have undertaken and use these to improve your program code 3
  • Outline a test routine to check the logical correctness of a program you have written and provide the results of your testing demonstrating a working piece of code


Functional Requirements

EEMS = Extra-Curricular Events Management System

Req. No

Requirement

Priority*

1

As student must be able to register on the EEMS

MUST

2

A student must be able to log in to the EEMS

MUST

3

A student must be able to log out of the EEMS

COULD

4

An administrator must be able log in to the EEMS

SHOULD

5

An administrator must be able to log out of the EEMS

COULD

6

An administrator must be able to grant Organiser rights to a student

SHOULD

7

An administrator must be able to revoke Organiser rights from a student

SHOULD

8

A student must be able to search events

SHOULD

9

A student must be able to view all events

MUST

10

A student must be able to book an event

MUST

11

A student must be able to view his/her bookings

MUST

12

A student must be able to cancel a booking

MUST

13

An organiser must be able to post an event

MUST

14

An organiser must be able to view all his/her events

SHOULD

15

An organiser must be able to edit an event

SHOULD

16

An organiser must be able to cancel an event

SHOULD

17

An administrator must be able to view all events

SHOULD

18

An administrator must be able to search all events

COULD

19

An administrator must be able to cancel an event

SHOULD

20

An administrator must be able to view all bookings

SHOULD

21

An administrator must be able to cancel a booking

SHOULD

22

An administrator must be able to confirm a booking

SHOULD

 

 

Non-functional Requirements

 

Req. No

Requirement

Priority*

1

The EEMS should process input and return results within 10 seconds

 

2

The EEMS should run on a range of devices from PCs to mobile phones

 

3

The EEMS design should be sufficiently scalable and flexible to allow for further future enhancements

 

4

The EEMS users should not experience critical system failures.  99.99% ‘uptime’ should be achieved.

 

 

 

 

Usability Requirements

 

Req. No

Requirement

Priority*

1

The EEMS should incorporate a user-centric design

 

2

The design should demonstrate evidence of a good understanding of interface design issues – for example, a consistent design for each form, layout of content, use of colour schemes and images, navigational methods, usability when viewed at various screen resolutions and various monitor dimensions. 

 

3

All data entry forms should be short and easy to complete and there should be entry validation.

 

4

The EEMS short have clear and intuitive navigation

 

5

The EEMS should comply with WW3 Web Accessibility Standards (WCAG)

Text easy to read and language and language style should be appropriate with absence of grammar / spelling errors

 

 

There should be a clear layout which remains consistent throughout the application.  Style, layout and content should be appropriate for the purpose of the application. 

 

The Actual Task

Extra-curricular eVent mAnagement (EVA)

Your task is to create a Java desktop application to create and manage student-led events at the university.

  • Event Properties:
    • Online or Physical
      • Online => URL
      • Physical => Location
    • Title and description
    • Time and date
    • Place limitations (e.g. up to 30 participants)
  • Student: Student:
  • Properties:
    • name
    • student ID
    • password
    • isOrganizer = True // False

      “An administrator can provide a student with event organisation rights (essentially making a student an event organizer) or revoke these rights. The administrator can view all events and bookings. They can also cancel events or bookings.”

  • to Register:
    • name
    • student ID
    • password
  • Login with (student ID, password):
    • Views:
      • (SHOW TO ALL STUDENTS)
        • Events View
          • Book events
        • Booked Events List View
          • Cancel Booking
      • (SHOW ONLY to ORGANIZER = YES)
        • Post Events View
        • View Listed Events View
          • Cancel Events
            • Note: “In case of event cancellation all bookings associated with an event have to automatically be canceled, too.”
          • Modify Events