Development ProcessThe Waterfall Model was the process model that was used to plan and complete the project. It is a linear sequential life cycle model thus very easy to understand and use effectively. Using this model, each phase has to be completed fully before moving to the next phase. It is typically used for projects which are small and there are no uncertain requirements making it very suitable for this process. Following this method the project was developed in the stages of:User and system requirements and specification analysis. This is the requirement analysis phase of the project where the product perspective will outline the context of the project, product functions will detail the the use of the software, constraints will be identified on both the project and the user and any assumptions made in regards to the specification will be outlined. The critical, major and minor system requirements will be identified from the specification. Finally scenarios will be described to illustrate the how the user will interact whatt the system and for what purpose. Software Design and class and object modelling and planning. This phase the structure of the software will be identified and classes will be broken down to detail how they will work in the system. A use case diagram will be constructed to illustrate how the end users will interact with the software and affect the system. A design of the database will model how customer information will be secured and how the classes will have access to the data, this will illustrate how certain users will only have access to certain information and restrict sensitive information from lower authority end users. Implementation. The code will be implemented in chunks to ensure each class is functioning correctly and allow testing to better identify bugs. This section will include a state diagram to illustrate the implementation of the classes.and how they interact, diagrams to illustrate the controller class and state diagram of the system from start to end. Sequence diagrams of play, customer, gold membership and booking screens. Testing ********* Deployment of System and Maintenance. The project will be completed and submitted.In this model, at the end of each phase a review must take place to evaluate whether that part of the project has gone successfully, this was also the same time the report would be written on the section. The step that was applied differently to this project was the traditional method of only testing at the end; this was replaced with a more efficient method of testing than allowing bgs t potentially pile up. Due to the constraints put on the project and thus the team working on it due to schedule and workload, the waterfall method was determined as the best development process for the project. This model allowed progress on the project to be easily tracked and understood and allowed clear deadlines for each phase to be set in relation to the current progress due to its sequential nature. This allowed the project to be managed effectively tanks to its small scale.Diagram of Waterfall-model: The sequential nature of the project also has disadvantages with the planning stages being much more crucial as unlike agile or iterative methods the structure and planning of the software had to be very solid in the system design phase otherwise significant time would have been used to re organise or modify the design. The Agile model and Iterative model were not applied to this project as the specification was very clear and specific and thus did not need the freedom that agile development allows nor was it so large that an iterative design would have been more effective.Product PerspectiveThe system is to be implemented into the theatre to act as its standard system that will be used for the booking and sales of tickets. While the system itself does not interface with any software or hardware it is to be used by a member of staff at the theatre who will be speaking to customers through use of a telephone system. The system that will be created will be used by these members of staff to ensure that the theatre is able to manage all of its ongoing and upcoming plays.Product FunctionsThe system that is being created is designed to be used as the main method in which any member of staff will be able to manage the booking and sales of tickets for all plays and shows that the theatre is hosting. On top this the system must be able to allow for the creation, editing and deletion of plays from the system but that should only be allowed by specific members of staff with the required clearance. This means that the system should be suitable for a wide range of staff at the theatre but there should be enforced restrictions in place within the system that ensure that only the permitted members can manage the details of the plays that the theatre runs. The software should also be able to handle the theatre’s gold club memberships. This club consists of theatregoers that pay an annual fee of ten pounds and by doing so they receive a ten percent price reduction on the prices of any bookings that they make. This means that the software should include a feature where the user of the software can specify that a gold club member is booking which in turn should mean that will receive an automatic ten percent price reduction on the booking. The software should notify the current user that they are dealing with a gold member’s booking and at the end when prices are displayed it should also include a part that shows the ten percent price reduction and this should be removed from the final total that the customer will need to pay. The system will need to be able to display a list of members who are due for of their gold club membership. This should work for any given month and not just the current month to ensure that the theatre is able to keep a track of when it will need to send out a reminder to any member who is due for renewal. If a member of the gold club fails to pay the annual fee then they should be removed from gold club members list and this will need to be done on the system to ensure that they do not receive the ten percent discount and to ensure that the theatre has an accurate and update list of current members of the gold club.User CharacteristicsThroughout the previous paragraphs the focus has been on the software/system and why it is being created and the methods that it will make use of to allow it to complete it required tasks. While looking at how the system is expected to work in the environment that it will be implemented into is fine and should a key area of focus for any software development project there is another area that should be focused on as well and that is the users that will be using the program. While not a lot of information is provided by the theatre about the staff that will be using software one they did make it clear that staff that work at the theatre are temporary hires due to the theatre’s trade being a seasonal business. This means that the members of staff that do interact will likely have very little knowledge of the workings of the business. This means that the program should be as straightforward as possible while at the same time ensure that if the user does make an error then an error message/informative pop-up should be displayed to the user explaining what caused the problem as well as explaining to the user what type of information is required. So, for example in relation the booking management it requirements it says that customers can then book or reserve seats for a particular performance of a particular show, up to 6 months in advance. They can reserve up to 6 seats for a performance. By detecting the errors/invalid data as soon as it has happened while the program is in use can prevent further errors from happening and when it is something as important as managing the booking and reservation of seats you have to remember that if this software fails to detect errors/invalid or incorrect data entry such as seats not being marked as reserved from a previous booking and the current customer is able to book them oblivious to the fact that they had been previously booked. This simple error will likely to frustrate the customer as the seats they had played for and reserved had already been reserved and nobody from the theatre notified them because the software itself did not notify them that an error had occurred and did not deal with it a suitable manner. The implementation should so simple that any new temporary member of staff should be able to use the program with no possibility of allowing errors/invalid data to happen under most normal circumstances.