Introduction

The following report is going to cover the Software Development Life Cycle and the tools and techniques that are used with them to create software. The tools include what UML and SSM are used for, as well as the advantages and disadvantages of the different models which are used in the industry.

Structuring software development

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

When developing a new piece of software or improving and updating an old deployment it is important to have a structure or plan. This show at what stage the development should be at throughout the process.

The plans and structures that are used are referred to as the “Software Development Life Cycle” (Tutorials Point, 2015). There are many different structures which can be used which will be explained in the Models section. Developing software without using one of these models can end in unexpected results, such as a program not meeting the user requirements. In the worst cases of not using a software development life cycle the whole project has had to be scrapped because it is too far behind schedule or over budget. This would mean that the finished product would cost too much to get to a useable state or take too long to implement, or the project becomes out of date and have to be started again straight away.

Models

Software development life cycle(SDLC) is the general term given to a plan or structure that is followed when developing a piece of software. These plans or structures are referred to as models and there are many different models. The first two created and implemented were the Waterfall and the Spirals models.

The waterfall model is a software development life cycle. This was the first model to be widely used as explained by ISTQB Exam Certification (2015) and it is easy to understand. This model is linear-sequential. By dividing the different stages in separate phases, the flow of the project can be shown, meaning that it can be tracked to check that it is on target and budget. As shown in appendix 1, each of the separate phases do not overlay, meaning that when the first phase is done, then and only then can the next phase start.

The spiral model is an SDLC model which allows for testing and development to be done continually, implies Bellin and Simone (1997). Using this model, it is easy to control and keep track of the process, which has been made by iterating through the different phase of an SDLC, says Sabharwal (2009). Appendix 2 contains a model of the spiral method, which clearly shows how the project begins in the middle with basic requirements and expands out as the project develops.

When using the Waterfall model some problems may occur as the model does not allow for much revision or reflection of the program, states Verma (2015). Tutorials Point (2015) expands by saying it’s difficult to change parts which have not been well documented or designed. However, Software Testing Help (2015) explains when using the Spiral model the requirements are reviewed to ensure they are correct every cycle of the model and amended if necessary. As the project progresses the requirements may change for the program that is being created, meaning the program will need to be redefined, to meet the full requirements. Therefore the Spiral model can handle this challenge, suggests Choudhury (2012).

Using the waterfall model can have its advantages but also its disadvantages. By using this method a project can be split easily between different departments within a company. This means that each phase of the project has a deadline that needs to be met, allowing the project to maintain a strict order states, Verma (2015). The waterfall can be used when it is appropriate, when the product is well thought out and documented, as well as having a small scope.

When the spiral model is used to plan and implement a project, there are advantages and disadvantages. Software Testing Help (2015) says the advantages of using this model are the requirements are updated as necessary and prototyping allows the project to be tracked throughout its life. Management of a spiral model project can be more complex than other models, but the good points outweigh the bad because the user gets to interact with the program while it is in development and tailor it to their needs.

Structured Systems Analysis & Design Method or SSADM is a widely used model in the UK with government computing projects. It is similar to the waterfall model where each phase links to the next. The difference is each step is checked to make sure it match the previous criteria. The SSADM model was formally a British Standard as stated by Rouse (2008) and originally developed during the eighties says Informatik.uni-bremen.de( 2002).

Rapid Application Development or RAD model uses prototypes to build the application up from scratch, states Sabharwal (2009). This method uses minimal planning, and using functional modules which are developed alongside each other, which are then integrated to make one finished product. This model has some benefits over the other models, such as the time spent developing ideas is reduced and the components are more reusable, explains Tutorials Point (2015). The disadvantages of this model, is how technically strong the development team is, and the general management is more complex.

Agile is a Software Development Life Cycle which breaks a project into small sections or sprits and is development each sprit at a time, explained by CA Technologies (2011). This allows for a working product to be delivered to a customer and implemented. Once the first section of the program has been developed the next will begin. Within each section the requirements are checked to unsure that the project is on track.

Tools

UML Stands for Unified Modelling Language and is used with many different languages to document, construct and specify parts of a program, says Tutorials point (2015). These languages include C++, Java, COBOL and many more. Soft System Methodology or SSM, is a tool used to solve programs, by using techniques like rich pictures or mind maps to develop ideas and ensure that nothing is missed that may cause problems in the long run. This is done by using CATWOE. Using this tool involves researching all the possible problems that may happen, such as ethical and incompatibles, to name a few. CATWOE stands for Customers, Actors, Transformation Process, World View, Owner and Environmental Constraints, states Mindtools (2015). These tools work with the models above to keep the projects and on track and ensure nothing is missed during development.

Conclusion

The tools and methodologies that have been touched on in this report are all very effective when used in the right situation. However, the agile model when used can get the best results in most situations.

Reference

Bellin, D. and Simone, S. (1997). The CRC card book. Reading, Mass.: Addison Wesley, p.142.

Sabharwal, S (2009) Software Engineering. India: New Age International. p18-20.

CA Technologies (2011) Agile: An Introduction. Available at: https://www.youtube.com/watch?v=OJflDE6OaSc (Accessed: 5 November 2015).

Choudhury, A. (2012). Difference between Spiral and Waterfall Model | SDLC. [online] Software Development Life Cycle. Available at: https://www.sdlc.ws/difference-between-spiral-and-waterfall-model/ [Accessed 5 Nov. 2015].

Mindtools, (2015). CATWOE: Developing a Robust Problem Definition. [online] Available at: https://www.mindtools.com/pages/article/newTMC_83.htm [Accessed 5 Nov. 2015].

Tutorials Point, (2015). SDLC – Overview. [online] Available at: http://www.tutorialspoint.com/sdlc/sdlc_overview.htm [Accessed 30 Oct. 2015].

Tutorials point, (2015). UML – Overview. [online] Available at: http://www.tutorialspoint.com//uml/uml_overview.htm [Accessed 5 Nov. 2015].

Informatik.uni-bremen.de, (2002). 2.8 The Complex Method SSADM. [online] Available at: http://www.informatik.uni-bremen.de/gdpa/methods/m-ssadm.htm [Accessed 5 Nov. 2015].

ISTQB Exam Certification, (n.d.). What is Waterfall model- advantages, disadvantages and when to use it?. [online] Available at: http://istqbexamcertification.com/what-is-waterfall-model-advantages-disadvantages-and-when-to-use-it/ [Accessed 5 Nov. 2015].

Rouse, M. (2008). What is SSADM (Structured Systems Analysis & Design Method) ? – Definition from WhatIs.com. [online] SearchSoftwareQuality. Available at: http://searchsoftwarequality.techtarget.com/definition/SSADM [Accessed 5 Nov. 2015].

Verma, E. (2015). Waterfall Model : Design Phase, advantages disadvantages and applications | Engineer’s Portal. [online] Er.yuvayana.org. Available at: http://er.yuvayana.org/waterfall-model-design-phase-advantages-disadvantages-and-applications/ [Accessed 5 Nov. 2015].

Tutorials Point, (2015). SDLC – RAD Model. [online] Available at: http://www.tutorialspoint.com/sdlc/sdlc_rad_model.htm [Accessed 5 Nov. 2015].

Tutorials Point, (2015). SDLC – Waterfall Model. [online] Available at: http://www.tutorialspoint.com/sdlc/sdlc_waterfall_model.htm [Accessed 5 Nov. 2015].

Bellin, D. and Simone, S. (1997). The CRC card book. Reading, Mass.: Addison Wesley, p.142.

Sabharwal, S (2009) Software Engineering. India: New Age International. p18-20.

Bibliography

Benington, H. (1983) ‘Production of Large Computer Programs’, IEEE Annals Hist. Comput., 5(4), pp. 350-361. doi: 10.1109/mahc.1983.10102.

Coleyconsulting.co.uk, (2015) Waterfall Model Software Development Life Cycle (SDLC). Available at: http://www.coleyconsulting.co.uk/waterfall-model.htm (Accessed: 1 November 2015).

Department of Health and Human Services, (200 SELECTING A DEVELOPMENT APPROACH.

Desir, W. (2008) Using Rapid Application Development for your software project. | The wysteria, Wysterdesir.com. Available at: http://wysterdesir.com/2008/09/28/using-rapid-application-development-for-your-software-project/ (Accessed: 4 November 2015).

x

Hi!
I'm Niki!

Would you like to get a custom essay? How about receiving a customized one?

Check it out