UNIFIED PROCESS MODEL PREPARED BY: RANDY E. MAALA ANALYN B. NOVEDA
definition : also known as “Unified Software Development Process”. is a popular use-case driven, architecture-centric, iterative and incremental software development process framework. it is a framework for object-oriented software engineering using UML (Unified Modeling Language. It also implements many of the best principles of agile software development. The leading object-oriented methodology for the development of large scale software.
history: 1967: Ivar Jacobson proposed the use of software engineering process at Ericsson. 1987: Jacobson start his own company named Objectory AB Company. 1988: Objectory v1.0 is defined by Ivar Jacobson’s company. The Objectory process defined the core process from which the RUP and later the EUP evolved. 1995: Releases the first online version of Objectory v3.8. & Rational Corporation purchases Objectory AB. 1996: Rational Objectory Process (ROP) 4.0 is developed. 1998: Rational Unified Process (RUP) 5.0 is released. 1999: The Unified Software Development Process was published by Ivar Jacobson, Grady Booch and James Rumbaugh. It is the first book to describe the Unified Process.
Four phases :
Unified process workflows REQUIREMENTS WORKFLOW - building the use case model, which captures the functional requirements of the system being defined. This model helps the project stakeholders reach agreement on the capabilities of the system and the conditions to which it must conform. ANALYSIS WORKFLOW - building the analysis model, which helps the developers refine and structure the functional requirements captured within the use case model. This model contains realizations of use cases that lend themselves to design and implementation work better than the use cases.
Unified process workflows DESIGN WORKFLOW - building the design model, which describes the physical realizations of the use cases from the use case model, and also the contents of the analysis model. The design model serves as an abstraction of the implementation model. Design workflow also focuses on the deployment model, which defines the physical organization of the system in terms of computational nodes. IMPLEMENTATION WORKFLOW - building the implementation model, which describes how the elements of the design model are packaged into software components, such as source code files, dynamic link libraries (DLLs), and EJBs. TEST WORKFLOW - building the test model, which describes how integration and system tests will exercise executable components from the implementation model. The test model also describes how the team will perform those tests as well as unit tests.
Unified process vs. waterfall Unified Process method phases reflects business activities and user feedback. Unified Process method delivers executable release at the end of each iteration with changes included. Unified Process used UML diagrams as artifacts in the development. Unified Process is an adaptable framework of software processes in iterative development process. Unified Process can be used when company is not clear about the problem and per phase budgeting. Traditional Waterfall method is sequential and prescriptive concrete process. Waterfall method phases are equated with the process activities and obtain user feedback at the end of the development lifecycle. Traditional Waterfall method does not produced release at the end of iterations and requirements are captured only in initial phase. Waterfall artifacts were typically very document heavy. Traditional Waterfall method is appropriate when problem domain and the requirements are very well understood.
Advantages of unified process : Resolve the project risks related with the changing requirements. Integration requires less time as it is carried out throughout the software development life cycle. Since the components reusable, development phase consumes less time. Focuses on accurate documentation, hence can be considered as complete methodology.
Disadvantages of unified process : Complex and disorganized development process. Reusability is impossible to the projects which incorporates new technology. High expense can be involved in heavy documentation. Issues may arise at the testing phase due to too many integrations. Expect expert team members.