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.