The computer world has changed tremendously indeed, and the methodologies, which are utilized continue to help developers, create a world of technology, that always captivates our current society. In today’s paper, the Unified Process methodology will be discuss, in order to understand, the advantages and disadvantages, of this software development life cycle methodology.
The UP methodology has several refinements such as the Rational Unified Process (RUP) and this paper will present a brief overview of the other UP methodologies that exist today; by discussing, the techniques of the RUP methodology, used, in order to enhance the security of legacy software. We will also present a paper, which uses the techniques of the UP methodology, in order to develop a decision support system (DSS). Finally this paper will also discuss, the use of RUP by a Norwegian company, who adopted RUP by providing comprehensive documentation and training in a simple way, in order to become a better company.
The Unified Process methodology was developed by the Rational Corporation, according to Ambler (1999). Different types of software systems, such as small and large scale projects, can benefit from the UP methodology (Alhir, 2002). As an iterative and incremental software development process framework, the UP methodology can be used for projects which also bring, different levels of complexity, to the management and technical team, of the project (Alhir, 2002). On the first paper analyzed, specific parts of the RUP methodology were used in order to add security features to legacy software (Mocanu, 2010). According to Mocanu (2010), there are a lot of legacy software in the market, which has been designed, without security in mind, because the software security field, has only received attention recently.
Project coordinators are able to choose, the process elements of RUP, which would benefit their project the most, when they use RUP methodologies (Mocanu, 2010). The Unified Process methodology and Unified Modelling Language was utilized, on the next paper analyzed, in order to develop and integrate a Decision Support System (2007). Data Warehouse, Data Mining and OLAP (On Line Analytical Processing) are some examples of, the new generation of Business Intelligence application and technologies; which have made the structure of the environment of the decision support system, very complex today (2007).
Therefore, it is imperative that the correct methodologies or framework are utilized, in order to successfully develop a DSS and satisfy the requirements of the manager (2007). On the third paper analyzed here, a Norwegian software development team, decided to use RUP, because they believed that it would increase the professionalism of their company (Hanssen, Westerheim & Bjørnson, 2005). The company didn’t have any experience with RUP before, or any proper guidance, they simply believed that their company would be better, if they adopted RUP (Hanssen, Westerheim & Bjørnson, 2005).
Methods & Results
On the paper written by Mocanu (2010), the RUP macro process known to be inception, elaboration, construction and transition, are followed in order to retrofit security features to legacy software. During each phase, business model, requirements gathering, analysis and design, implementation, test, and deployment, were the set of core process disciplines applied to the project (Mocanu, 2010). During the inception phase, the project team ensured that the project was feasible and valuable (Mocanu, 2010).
During the requirements discipline phase, the stakeholders came to an agreement, with the development team, regarding the security problems, which the project should solve (Mocanu, 2010). The analysis phase helped developer identify the interworking of the system, to find potential security issues that may stop or slow down the project (Mocanu, 2010). The implementation phase, helped developers address the issues found, during the analysis phase. Mocanu (2010) found that RUP, can assist stakeholders and developers find common ground, regarding the objective of the project, which aimed at solving, software security issues. On the next paper discussed here, four main UP phases were used in order to develop the DSS, these four phases are inception (identification of DSS development requirements), elaboration (DSS analysis and design), construction (DSS development) and transition (DSS installation and integration) (2007). The development and implementation of current DSS, is best accomplished using UP, UML, Prototyping and DSS Tools / DSS Generators (2007).
On the next paper written by Hanssen, Westerheim & Bjørnson, (2005), they found that the RUP methodology had some positive effects on the teams who tried to implement this methodology. Through interviews, which lasted for a period of twelve years, with RUP users, Hanssen, Westerheim & Bjørnson, (2005), were able to identify key issues with RUP implementation. Such issues stressed the fact that the team needed better training, in order to get the most out of RUP; therefore, practical support was also needed. A company who wants to implement RUP, has to make sure, that the proper training and support is in place, for their development team, in order to be successful at implementing RUP into their software development life cycle.
Discussion & Conclusion
The Unified Modeling Language (UML) or any other modeling language is utilized, by the UP methodology, in order to specify, document, visualize and construct a system that is complex in nature (Alhir, 2002). The UP methodology can be specialized for a very large class of software systems and it can also be used to help different types of organizations, achieve their software development goals (Jacobson, Booch & Rumbaugh, 1999). The UP methodology can also be used to develop a variety of applications, and different sizes of projects can also benefit from this methodology as well (Jacobson, Booch & Rumbaugh, 1999).
Software development teams, with different level of competency can also benefit from using the UP methodology, but proper training and guidance must also be in place, for a successful implementation of this methodology (Rafael & Yoshikazu, 2014). The benefits of the UP methodology are obvious; however, this methodology also have pitfalls, which we cannot fail to see (Anwar, 2004). Such disadvantages include but are not limited to these: software developers who use the UP methodology, must be an expert at software development (Anwar, 2004).
Also the UP methodology has a very complex and unorganized, development process, according to Anwar, (2004). Confusion which can cause issues during the testing stage, is added during the integration of the software, which takes place throughout the process of the software development life cycle (Anwar, 2004). The UP methodology is very hard to understand, because the process is too complex, which is why we mentioned that software developers need to be a master at their crafts.
Alhir, S. S. (2002). UNIFIED PROCESS (UP). Encyclopedia of Software Engineering, Volume 2, 21804.
Ambler, S. W. (1999). The Unified Process Elaboration Phase: Best Practices for Implementing the UP. Lawrence, Kan: CRC Press [CAM].
Hanssen G.K., Westerheim H., Bjørnson F.O. (2005). Using rational unified process in an sme—a case study. In: Proceedings of the 12th European conference on software process improvement, pp 142–150.
Jacobson, I., Booch, G., & Rumbaugh, J. (1999). The Unified Process. IEEE Software. Retrieved from https://pdfs.semanticscholar.org/bb74/0a5e33f783d35e96f329df2c4fdc1f34c8...
Marcelo R. B., & Yoshikazu, H. S. (2014). A comparative analysis of two software development methodologies: Rational Unified Process and Extreme Programming. Vértices, 15(3), 141-15. doi:10.5935/1809-2667.20130035.
Mocanu, V. (2010). Requirements for Security Enhancements to Legacy Software with RUP. Information Security Journal, 19(4), 226-236. doi:10.1080/19393555.2010.483929.
Unified Approach in the DSS Development Process. (2007). Informatică economică, 6(1), 98-102.