To date , I have just discussed in detail the Waterfall Model. I will now explain the concept of RUP (Rational Unified Process), a method briefly mentioned in my previous post.
RUP is another traditional method of software development. It is similar to the Watefall Model in that it origionated by Rational Software. Furthermore, like the Waterfall, this model also operates in a series of phases that follow and flow into one another. The following are the stages of RUP:
Here, the aim of the project is stated and an analysis of the validity of the project is performed. Costs, risks, difficulty and benefits/drawbacks are all considered to determine whether or not the project is worth going ahead with or even possible to complete. If the project is deemed feasable, resources needed will be determined here.
This involves taking a closer and deeper look at the fundementals of the project. Requirements are specified in detail and project team is configured and developers take a closer look at the project to determine its architecture foundation and to evaluate the architecture in relation to the project.
Software is built during this stage. Application design is completed and the source code is written. Supporting documentation is produced. Testing is also done to ensure that the software has met its targets and achieved its goals as decided on and outlined in the inception phase.
This is like a maintenance phase. The software is tested and re run and any adjustments are made, user feedback plays a key role here.
Based on this, what are the advantages and disadvantages associated with RUP?
- There is a huge focus on accuracy of documentation.
- The user is greatly involved and the system is capable of changing and adjusting should customer require it.
- Requires less time for intergation as this processis ongoing throughout the software
- Development time reduced due to reuse of components.
- There is online training and tutorial available for this process, making it accessible to all.
- Expertise is required to develop software using this method, driving up staff costs.
- The development process is very complicated and can lead to confusion and disorganisation.
- Sometimes the reuse of components is not applicable, therefore advantage 4 above may not apply in some cases.
- Integration throughout the process of development can lead to confusion and cause more issues during the stages of testing in larger projects.
Thanks for reading🙂