\documentclass[12pt]{article} \title{ESOEN Lab 1 Report} \author{Krzysztof Rudnicki, 307585} \begin{document} \maketitle \section{Project specification} \subsection{System description} My project topic was theater. \paragraph{What is the goal of the system?} The goal of the system is to allow users to book seats for theater spectacle. \paragraph{What scope does it cover?} Project needs have external web interface for booking tickets and internal for creating events. \paragraph{What functionalities does it offer?} System allows theater visitors to book tickets for a spectacle and theater staff to create bookable events. \paragraph{Who are the intended users?} Theater owners, event managers and visitors. \paragraph{Do the customers have the access to the system?} Yes, the web interface system must allow customers (external to theater) to access it in order to function properly. \subsection{Problem domain glossary} \begin{itemize} \item Theatre Company - Institution that takes care of scheduling, organizing and finding theater venue. \item Theatre Venue - Place where the spectacle can take place. \item Ticket - Item identifying ticket holder as being allowed to watch a spectacle. \item Spectacle - Event organized by theatre company. \item Potential Customer - Person who has not yet buy the theatre ticket. \item Ticket Holder - Person who has already bought the theatre ticket. \item Event Manager - Person responsible for scheduling spectacle dates and filling this information into our system. \item Spectacle Date - Specific Year, Month, Day, Hour and minute on which the spectacle will be played. \item Seat - Area assigned to specific ticket holder from which they are expected to watch the spectacle \item Booking Ticket - Paying for ticket in the system \end{itemize} \subsection{Requirements specification} \subsubsection{Functional requirements 1/2} \begin{tabular}{| c | c | p{5cm} | c | } \hline Id & Name & Description & Priority \\ \hline 1. & Spectacle Management & Creating and modifying spectacle & 5 \\ \hline 1.1. & Creating Spectacle & Entering spectacle details into system and saving them & 5 \\ \hline 1.1.1. & Managing tickets & Defining tickets limit, price, types and discounts & 5 \\ \hline 1.1.2 & Managing spectacle date & Defining when the spectacle will take place & 4 \\ \hline 1.1.3 & Managing seats & Defining seats placement, types and ticket price for specific seat & 2 \\ \hline 1.1.2 & Creating Spectacle & Specifying date and name of spectacle & 5 \\ \hline 2 & Viewing Bookable spectacles & Potential Customer view allowing them to see what spectacles are available to book & 5 \\ \hline 2.1 & Spectacle Generalized list & Spectacle list with most general information, title, date, venue, remaining tickets and their price & 5 \\ \hline 2.2 & Spectacle detailed view & Accessible after choosing one of the spectacles, containing in addition to general information: spectacle description, actors that will take part in it, director, date of when it was first played & 1 \\ \hline \end{tabular} \subsubsection{Functional requirements 2/2} \begin{tabular}{| c | c | p{5cm} | c | } \hline 3 & Booking spectacle ticket & Paying and reserving ticket for specific spectacle & 5 \\ \hline 3.1 & Choosing seat & Choosing specific seat for which potential customer buys ticket from the list & 2 \\ \hline 3.2 & Choosing discounts & Choosing potential discounts like student discount for the ticket & 1 \\ \hline 3.3 & Buying multiple tickets & Buying multiple tickets within one booking ticket operation, with potential group discounts & 1 \\ \hline 3.3 & Paying for ticket & Sending money to the theater company & 5 \\ \hline 3.4 & Verifying payment & Veryfing whether money was received & 5 \\ \hline 3.5 & Receiving ticket & Getting the ticket or id allowing to receive ticket later in theater venue & 5 \\ \hline 3.6 & Refunding tickets & Ticket holder returns the ticket back to the system and receives 50\% of money back & 1 \\ \hline \end{tabular} \subsubsection{Non-functional requirements} \begin{itemize} \item In general system should have the uptime of more than 90\% per year, which means no more than 36 days of downtime per year \item Booking tickets should support at most 100 people at the same time for 99\% of system uptime \item Verifying payment should not take more than 10 seconds in more than 90\% of cases \item System should be able to hold information about no more than 50 spectacles \item System should prioritize giving specific seat to a person who first bought the ticket for this seat \item Ticket should be received in digital form if possible, but there should be a fallback mechanism which allows to receive ticket \end{itemize} \end{document}