UFCF8S-30-2 Advanced Software Development
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
Computer Science and Creative Technologies
Coursework or Assessment Specification
Module Details
Module Code |
UFCF8S-30-2 |
Module Title |
Advanced Software Development |
Module Leader |
Zaheer Khan |
Module Tutors |
Zaheer Khan, Barkha Javed, James Lear |
Year |
2022-23 |
Component/Element Number |
A - Resit |
Total number of assessments for this module |
One assessment. Analysis, design, implementation, presentation and report |
Weighting |
100% |
Element Description |
Individual project. This assignment is to be completed individually. |
Dates
Date issued to students |
March 31, 2023 |
Submission Date |
July 17, 2023 This assessment is eligible for 5 calendar day late submission window |
Submission Place |
Blackboard |
Submission Time |
14:00 |
Date to be returned to students |
Within 20 working days of the final submission. |
Submission Notes |
Please submit a portfolio as a ZIP file with your Use Case diagram, Class diagram, Python code, Individual report and a maximum 5 minutes Video recording demonstration of your software. The full package will need to be uploaded and submitted on Blackboard. You may choose any software for creating the recording e.g., OBS, Screencast-o-matic or any other suitable way such as smart phone or: https://atomisystems.com/screencasting/record- screen-windows-10/. Supported file types are .avi and .mp4 |
Feedback
Feedback provision will be |
As appropriate written feedback uploaded to Blackboard. |
Contents
Module Details .......................................................................................................................1
Dates.......................................................................................................................................1
Feedback.................................................................................................................................1
Contents..............................................................................................................................2
Section 1: Overview of Assessment......................................................................................3
Section 2: Task Specification................................................................................................3
Section 3: Deliverables .........................................................................................................6
Section 4: Marks Distribution and Marking Criteria ............................................................7
Section 5: Feedback mechanisms .........................................................................................7
Appendix A. Marking Criteria...................................................................................................8
Section 1: Overview of Assessment
This resit assignment assesses the following module learning outcomes (taken from the module specification):
• Analyse problems in order to identify software-solution approaches and requirements for computer-based software-intensive systems.
• Compare and contrast software development methodologies and choose one suitable for a given application.
• Design, implement, test and manage reasonably sized concurrent and distributed software systems, working in a group , considering database and GUI components.
• Develop the necessary transferable skills – e.g. communication, delegation, openness, group decision making,flexibility, tolerance - to enable them to work in a group.
• Discuss the needfor security in the context of system development.
• Evaluate emerging software development tools, technologies and methods, e.g. cloud based development, devops and AI-based software development tools.
The assignment is worth 100% of the overall markfor the module.
The assessment is designed to allow you to use your learning and play to your strengths. You can always review learning material to learn and apply your knowledge to complete the assessment.
Broadly speaking, the assignment requires you to design and implement a moderately realistic object-oriented system. You will produce detailed object models and designs from system requirements; use the modelling concepts provided by UML. You will then map the designs into code and perform unit testing using an automated testing tool. You will demonstrate/present your system in a video recording and write an individual report.
The assignment is described in more detail in section 2.
This is an Individual assignment.
Section 2: Task Specification
All the tasks are based on the following scenario. Please read carefully all information contained within the following passage of text.
Horizon Theatre Booking System (HTBS) [This is a revised/updated version of the main sit assignment, so read carefully]
The Horizon Theatre (HT) is a successful chain of theatres in Birmingham, Bristol, Cardiff, London, Manchester and Glasgow. HT is looking for an IT solution to manage theatre shows i.e., live performances, and ticket booking system with the objective to make it convenient for customers to book tickets when they visit a HT branch.
Each theatre runs one or two shows (i.e., early afternoon or/and evening) on every day of the week except Mondays. The show details include actors, show title and description, dates on which a show is available for a particular theatre, start time and end time of the show and ticket prices. Two or more theatres cannot run same show on a same date. The seating capacity for each theatre varies between 60 to 100. For each theatre, seat(s) can be reserved in standard category or VIP category. The following table indicates standard price range.
Table: Price range for standard category
|
Early afternoon performance (starts at 15:00 – ends at 17:30) |
Evening performance (starts at 18:00 – ends at 20:30) |
Birmingham |
£6 |
£8 |
Bristol |
£6 |
£8 |
Cardiff |
£5 |
£7 |
London |
£10 |
£12 |
Manchester |
£7 |
£10 |
Glasgow |
£5 |
£7 |
The standard prices on Friday, Saturday and Sunday are 20% higher than the rest of the week. The VIP category prices are 30% higher than the standard category prices. For example,
If standard price on Wednesday early afternoon in London is £10 per ticket, then VIP ticket price would be (£10 + (£10 x 30%)) = £13.
If standard price on Wednesday evening in Manchester is £10 then the standard category booking price on Saturday evening would be (£10 x (£10 x 20%)) = £12.
Tickets can also be booked for up to two weeks in advance by visiting the booking office. Tickets can be cancelled at least one week prior to the show date and it will incur cancellation charges at 50% of the total price. Cancellation within a week of show date will result in cancellation charges at 100% of the total price.
System has two types of users: Booking staff and Managers.
The system has the following Graphical User Interfaces (GUIs) needs. Please keep it simple and be creative by using labels, text boxes, radio buttons, check boxes, menus, drop-down lists, window tabs, buttons, data tables etc. :
1. Shows: Shows with title, description and actors’ details, age rating, show dates and times and theatre, etc. Be creative and use different GUI widget as you see appropriate.
2. Booking: System should allow to fill a booking form that will provide option to check seats availability and total tickets price for a selected show, date and type of tickets. Booking reference should be unique for each booking. Booking receipt should be generated and this must include Booking reference, show title, show date, show start time, show end time, number of tickets, seat numbers, total booking cost and booking date. The booking receipt should be displayed on screen and either send via email to customer or is printable. Be creative and use different GUI widget as you see appropriate.
Note: You are NOT required to provide a payment mechanism, printing and email functionality for your system, though you may simulate this.
3. Cancellation: There should be an option to cancel booking. There is no cancellation or refund for missed shows. The refunded amount and cancellation charges must be handled properly.
Managers and Booking staff can access above views.
4. Manager view: Manager view is to manage shows. They can add, update and remove shows e.g., add new show, remove show, update show times, etc. Managers can also update theatre details e.g., seating capacity, ticket price etc. HT shareholders would like to see regular strategic reports which should include number of bookings for each show; weekly, monthly, quarterly and annual top revenue generating theatres; top shows and booking staff who made higher number of bookings. These reports should be either displayed in the HT software or generated as formatted text or pdf document. Further, Managers should be able to remove theatres or shows.
Only Managers can access Manager’s view.
HT is also looking to extend their business and start Drive-in Open Air Theatre in Bristol. The capacity of the Open Air Theatre is 50 cars and the standard booking price for each car is £50. There is one weekly show. Extend the class diagram of the HT booking system to incorporate Drive-in Open Air Theatre booking requirement. You are not required to implement this requirement.
You should also consider other suitable non-functional requirements (e.g., security measures) necessary for the HT booking system. Be creative.
You have been asked to design and implement a system which enables the Managers and Booking Staff to schedule theatre shows and booking activities and keep track of the theatres, shows and bookings in a simpler and easier way, enforcing the rules described above.
More specifically there are following tasks:
You are asked to produce the following deliverables for the scenario given above.
Task 1. Produce a use case diagram to capture the functionality for the system to be built. Your use case diagram should be self-explanatory and you are not required to provide use case descriptions.
Task 2. Produce a class diagram to meet all the requirements captured in the use case diagram. Please clearly highlight drive-in open air theatre extension in your class diagram.
Task 3. Produce at least two sequence diagrams for selected use cases that provide meaningful behavioural information about the system.
Task 4. Develop the system using a suitable Object Oriented Programming language (i.e., Python as we used Python for this module) and Database(s) considering all the functionalities described above.
- You should design and implement suitable database(s) and fill it with suitable mock data for testing and demonstration.
- You should be creative and come up with your own User Interface Design for different abovementioned GUI needs.
- You should also implement non-functional requirements (e.g., security measures) to a good standard.
- You should demonstrate that your project is working by recording its functionality.
Task 5: Testing is typically a part of the program development - You should use a test strategy based on both manual and automated testing approaches to test your system thoroughly. You should identify all the suitable test cases for all the classes implemented. When you test your code, you should make sure that your program does not allow bad data to be stored into your objects. Deliberately feed in your program out of range or wrong data and try to make it fail, see if you can swipe bad values into the member variables. One example test case shown below. Include evidence of the testing.
2023-06-27