Definition of a software model.
According to Andrew Sutton of the Kent State University; a Software Model is a description (textual or visual) of any aspect of a software system such as requirements, architecture, behaviour or deployment. The software model used in this design is the agile model.
The Agile method came about to correct the disadvantages of the waterfall method which was a linear process which did not allow for changes during the designing process. The agile methodology speaks to the planning for the needs of the customer then adapting these plans during the designing process to meet the needs of the customer. Using the agile method the designer is able to break down the design process into different phases and have the customer evaluate and make changes after each phase in the design process.
Reasons for using the agile method for software design;
1) Easy to adapt to changes throughout the design process.
2) Changes can be made without rewriting the entire programme.
3) The product is tested at the end of each phase ensuring that bugs are caught and eliminated during the designing process.
4) The product is thoroughly tested before it reaches the final phase in the designing process.
5) This model allows the customer/end user to make specification changes which results in better customer satisfaction.
6) It allows for different parts of the design process to be delegated to different teams making the design process faster.
This Agile Method allows the Grand Magma Hotel to approve and make changes to each phase of the design; of the booking application for mobile phones, easier.
The requirement techniques we would be using for the booking application for mobile phones are customer involvement, prioritization, modelling, documentation and validation.
Customer Involvement would be used because it would make it easier for us as developers to understand what the customer needs. The customer would be involved in every aspect of the development. This would allow the customer to make changes and to give consent to continue with the next stage of the development. At each stage of the development process the customer would be interviewed to ascertain their exact needs.
Prioritization is giving value to each stage of the development and performing the most important tasks first. For example, in designing this interface the most important task may be designing the software so this would be done first. Styling the application may be the least important and so could be done last.
Modelling is used to communicate understanding of a small part of the system during the development process. This would allow us as developers to demonstrate to the customer how parts of the application would function; so that they can make changes or give assent to continue to the next stage of development.
Documentation is used for sharing knowledge and for describing how each stage of the project was carried...