Explain software development methodology.
Software development is a process of making computer programming, documenting the programs, testing the software and bug fixing the application to meet the requirement of the user (Fioravanti, 2006). It is a process through which an application is developed for support the use of hardware. It includes creation and development of frameworks and these frameworks includes software release life cycle that finally results into creation of a software product. Software development includes several types of methodologies (Kumiega and Van Vliet, 2008). Choosing an appropriate methodology depends on the requirement of the software. There are several types of methodologies used in developing software. They are basically waterfall method, incremental method, prototype model, agile software development etc. (Sillitti, 2010). In most cases the first type of methodology is used, i.e. the waterfall method is used because it is an easier process of software development system and it makes the work of the software developer easier to be conducted (Khoury, n.d.). It is a sequential process of software development in which each task is followed by another task to complete the entire development process. In this report the waterfall method is used because it suites the requirement of the software development process. The processes involved in waterfall methodology of software development are as follows:-
1. Requirements: For developing software the first and foremost step that must be taken by the software developer is to check and know the requirement of the software that the software must fulfill after development. To know this the developing team makes the market survey and survey of the requirements of the software. It is important to check the requirements of the software to design its development process.
2. Design: The creation of the design of the software development process that is done by the software developing company. The design serves as the blueprint of the system that is to be developed in the entire process. It is a method of planning and deciding the objective of the developing project.
3. Implementation: After the completion of the design the project is conducted and the software is developed by the developers by using coding and other methods for creating the software (Mathaisel, Manary and Criscimagna, 2012). This is a process of documenting the design into a real system.
4. Testing: After the creation of the software system, the software is checked by the test analyst to see whether the software meets the requirement of the producing company for whom the software is been developed (Lewis, 2008). Is the software capable to run the automatic vehicles? If the software passes the test, a final projection is made and the software is launched in the app market for sale.
5. Deployment: This process comes after the completion of the development process of the software. During this step the software is made available in the market for the customers to be used. The available software is used by the user and a feedback is collected on the performance of the software. For example, how much is the software capable of running the automatic robotic vehicles.
6. Maintenance: As per the feedback of the market necessary changes are made and new updates are created for making the software more useful for the users.
Fioravanti, F. (2006). Skills for managing rapidly changing IT projects. Hershey PA: IRM Press.
Khoury, F. (n.d.). Data centric development methodology.
Kumiega, A. and Van Vliet, B. (2008). Quality money management. Amsterdam: Elsevier/Academic Press.
Lewis, W. (2008). Software Testing and Continuous Quality Improvement. Hoboken: Taylor & Francis.
Mathaisel, D., Manary, J. and Criscimagna, N. (2012). Engineering for sustainability. Boca Raton, FL: CRC Press.
Sillitti, A. (2010). Agile processes in software engineering and extreme programming. Berlin: Springer-Verlag.