Question

In: Computer Science

Software Engineering Subject 1.  Discuss the four phases of the Rational Unified Process (RUP) and their relationship...

Software Engineering Subject

1.  Discuss the four phases of the Rational Unified Process (RUP) and their relationship to the development activities such as requirements analysis, design, and testing.

Solutions

Expert Solution

ANS->

Rational Unified Process (RUP) is an agile software development method, in which the life cycle of a project, or the development of software, is divided into four phases. Various activities take place during these phases: modelling, analysis and design, implementation, testing and application.

The Rational Unified Process (RUP) is iterative, meaning repeating; and agile. Iterative because all of the process’s core activities repeat throughout the project. The process is agile because various components can be adjusted, and phases of the cycle can be repeated until the software meets requirements and objectives.

The process, as visualised in the image in this article, should be looked at from two dimensions. Firstly, there is the time dimension, represented by the horizontal axis. The time dimension is expressed in terms of the phases and cycles, iterations, and milestones. The vertical axis is the process dimension. This dimension represents the static aspect of the process and is described in terms of activities, artefacts, workers, and workflow.

Time dimension

The time dimension means the dynamic organisation from the process over time. The software’s life cycle is itself divided further into cycles. Each cycle corresponds to, for example, a period in which a new generation of a product is being worked on. The Rational Unified Process (RUP) divides development into the four consecutive phases:

  • Inception phase
  • Elaboration phase
  • Construction phase
  • Transition phase

Each phase is finalised with a milestone. A milestone is a point in time where decisions of critical importance must to be made. In order to be able to make those decisions, the objectives must have been accomplished. For example, a milestone from the first two phases is the progress of the use case. A use case is a description of a system’s behaviour and describes who can do what using a system. This is an important component in the development of software. As can also be seen in the RUP visualisation, testing already starts in the first phase. Normally, a product will already have to be completed by then. That is because this involves prototypes and test models.

Phase 1: Inception

During the first phase, the basic idea and structure of the project are determined. In this phase, the team meets regularly to determine the project’s necessity, but also its viability and suitability. Viability and suitability also include the expected costs and the means needed to complete the project after the green light has been given.

Depending on the project, the result of the first phase could be:

  • A vision statement
  • First use case (20% completed)
  • Market research results
  • Financial prognosis
  • Risk assessment
  • Project plan
  • Corporate or business model
  • Prototypes

The results should then be assessed according to several criteria:

  • Were all interested parties included and do they all agree?
  • Are the requirements of the development reliable?
  • Are the costs credible? What are the priorities and risks?

Phase 2: elaboration

During the elaboration phase, the system’s requirements and its required architecture are assessed and analysed. This is where the project begins to take shape. The objective of the elaboration phase is to analyse products and to lay a foundation for the future architecture. Results of the elaboration phase include:

  • Use case (80% completed)
  • Description of the feasible architecture
  • Project development plan
  • Prototypes for tackling risks
  • User manual

Criteria for the results:

  • Is the architecture stable?
  • Are important risks being tackled?
  • Is the development plan sufficiently detailed and accurate?
  • Do all interested parties agree on the current design?
  • Are the expenditures acceptable?

Phase 3: construction

In the construction phase of the Rational Unified Process (RUP), the software system is constructed in its entirety. The emphasis is on the development of components and other features of the system. The majority of coding also takes place in this phase. In this production process, the emphasis is on managing costs and means, as well as ensuring quality. Results from the production phase include:

  • Fully completed software system
  • User manual

To be assessed according to:

  • Is the product stable and complete enough for use?
  • Are all interested parties/users ready for the transition into the product’s usage?
  • Are all the expenditures and means still in good order?

Phase 4: transition

The objective of the transition phase is to transfer the product to its new user. As soon as the user starts using the system, problems almost always arise that require changes to be made to the system. The goal, however, is to ensure a positive and smooth transition to the user. Results and activities in the last phase:

  • Beta testing
  • Conversion of existing user databases
  • Training new users
  • Rolling out of the project to marketing and distribution

Input from the new users should guide the assessment here.

Process dimension

The various phases related to developing software systems are now clear. As in any other process, the RUP describes who does what, where, and when. The ‘who’ in this process is the employee who is actively engaged in building the system. ‘What’ refers to something concrete, a piece of information. These ‘artefacts’ may take many forms, for example that of a user case or prototype.

The various phases already indicate the various activities involved in the development of a system. Here follows a more detailed explanation of the core activities.

1. Corporate modelling

One of the problems in the use of technical systems is that of the system and the user not being able to communicate properly. This leads to inefficiency in multiple areas. For example, the input the developer receives from the user is not properly used for the development of the generation of systems. Rational Unified Process (RUP) partly solves this problem by creating an universal language and offering processes.

2. Requirements

The objective of requirements is to describe what the system should do and how it should function. Both the user and the developer should agree on the requirements as described in the first phase. Everything is included in a vision document. After that, a use case is developed.

3. Analysis and design

The objective of analysis and design is to show how the system is realised in the implementation phase. It should meet all requirements, be robust, and execute all its tasks as described in the use case. This model design functions as a blueprint for the rest of the process.

4. Implementation

Implementation is found throughout the Rational Unified Process (RUP), as is every other activity, but it is also one of the model’s engineering disciplines. The objective of implementation is to construct the full system. This is where components are tested and released.

5. Testing

The objective of testing is to verify the proper integration of all the components and the software. The testing phase is also where defects are identified and resolved. Testing does not only happen in the testing phase. The Rational Unified Process (RUP) is iterative, so testing happens throughout the project.

Tests are carried out along three dimensions:

  • Reliability
  • Functionality
  • Application management and system performance

6. Application

The objective of applying a system is, naturally, successfully releasing a software system and enabling the user to work with the new system. It includes many activities described in the transitional phase 4, including:

  • Packaging
  • Distribution
  • Installation
  • Help and assistance
  • Beta tests
  • Data migration
  • Acceptance

In addition, there are three supporting disciplines:

  1. Configuration and change management
  2. Project management
  3. Environment

Related Solutions

Software Engineering Process Discuss the activities that make up a software engineering process. Your response should...
Software Engineering Process Discuss the activities that make up a software engineering process. Your response should include the engineering phases of requirements : - Design, coding, testing, reviews, refactoring, defects, team and customer communication. - How is Agile the same as the Plan and Document process (aka Waterfall) - In what ways is Agile different from Plan and Document
Q1: Discuss the unified process and its lifecycle regarding software development methodology for object-oriented development. Q1:...
Q1: Discuss the unified process and its lifecycle regarding software development methodology for object-oriented development. Q1: Discuss the unified process and its lifecycle regarding software development methodology for object-oriented development.
Discuss the four phases of gout?
Discuss the four phases of gout?
What is the relationship between law, ethics, and reverse engineering? Why is reverse engineering a subject...
What is the relationship between law, ethics, and reverse engineering? Why is reverse engineering a subject for regulation or ethical questions?
Discuss the concept of software maintenance in software engineering and the reasons for software modification. List...
Discuss the concept of software maintenance in software engineering and the reasons for software modification. List at least 3 reasons:
Unlike other engineering approaches software engineering process is NOT rigid. Justify why?
Unlike other engineering approaches software engineering process is NOT rigid. Justify why?
Question 1 Software engineering is an engineering discipline that is concerned with all aspects of software...
Question 1 Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use. Explain why software developers should adopt the discipline of software engineering to develop a system. Question 2 You are designing a mobile banking system. The system enable customer to access the information from his personal mobile and can able to view his account details. This...
In Software engineering, Describe in detail the five activities associated with the software measurement process.
In Software engineering, Describe in detail the five activities associated with the software measurement process.
Discuss steps required to manage a software engineering project.
Discuss steps required to manage a software engineering project.
Subject - Software Engineering Give a brief background about what is behavior driven development (BDD) and...
Subject - Software Engineering Give a brief background about what is behavior driven development (BDD) and how it is relevant in a Software Engineering context?
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT