Reference no: EM132397206
BCE331/BIT331 - Object Oriented Programming with Java Assignment - ZCAS University, Zambia
Scenario - Conventions and conferences are very difficult to plan and organise. Attendance may modulate across the course of a day, space is limited and the demand for space is high. Seminar and events may belong to multiple different tracks and conflict with each other for room resources. Tickets may be for one day, the full event, or complimentary in a variety of different categories. Tracking all of this is challenging, especially if multiple different events must be scheduled at the same time in a larger venue.
It's going to be your job to design a piece of software to address this, at least for a single convention at a time.
Your system is going to have to track the following elements:
1. Rooms and Stall Locations
2. Attendees
3. Stalls
4. Seminars
5. Events
For each of these, you'll be tracking a different set of information:
- Rooms and Stall Locations: Location, capacity, technical resources
- Attendees: Name, email, type of ticket, number of days they are attending
- Stalls: Stall location code, size, which attendees are exhibiting, on which days they are exhibiting and type of stall
- Seminar: Title, time and date, which attendees are presenting, size of room required, duration and which attendees are registered for the audience.
- Events: Title, time and date, description, which attendees are booked in
Your job is to create a system that permits a user to add, edit and remove all data in these categories as well as provide an itinerary of the event from different perspectives to show where people should be, when, and where they have gaps in their schedule.
The system should permit attendees to be registered with their details. When stalls are added, the attendees responsible for them should be added and the times at which they are expected to attend should be registered. When seminars are added, the presenters should have their schedule booked out for that time and when attendees are added to the audience their schedule too should be blocked off. This should also be done for events.
The system should not permit the following:
- Events and Seminars to be registered for the same room at the same time.
- Seminars to be registered when a presenter is otherwise occupied at a stall or an event.
- Registration of audience to exceed the capacity of a room.
- Attendees to be registered for events, stalls and seminars when they are not present at the event.
From this information, the software should be able to output the following:
- The schedule of usage for a room.
- The seminar timetable with rooms, numbers of attendees, and times and dates.
- The event timetable with rooms, numbers of attendees, and times and dates.
- The stall schedule with locations, who is exhibiting, and the days they will be present.
- The itinerary of a specified attendee.
Your application then needs to provide the following functionality:
- Allow for users to be added, edited and removed from the system.
- Allow for rooms and stall locations to be added, edited and removed from the system.
- Allow for events and seminars to be added, edited and removed from the system.
- Prohibit allocation of attendees to events and seminars they cannot attend.
- Prohibit allocation of events and seminars to rooms that are otherwise booked or too full to handle the capacity.
- Prohibit exhibitors at stalls to be assigned when they cannot attend the event.
- Output the itinerary of rooms and stalls.
- Output the itinerary of events and seminars.
- Save the data in an appropriate format.
Key deliverables:
Deliverable 1: OO Analysis and design
Upload by the due date, the final submission all design documents for the OO analysis and design model for the software system:
i) Conceptual and Design UML Class Diagrams
ii) Use Case Analysis - Diagram
iii) Sequence Diagrams for each of the main use cases in (ii)
Deliverable 2: Implementation using Java
Implement the system you designed in deliverable 1. You must use an appropriate DBMS to implement the backend of the proposed software system. NB: You can even use MS Access for the backend.
Deliverable 3: Reflection
You are required to write a 500 word reflection on this activity. Ask yourself the following questions:
i. What have you learnt?
ii. How could the system be improved or further developed?
iii. Which parts of the development did you find most difficult?