Unified Process Model: Definition & Application

An error occurred trying to load this video.

Try refreshing the page, or contact customer support.

Coming up next: Practical Application for Software Engineering: Process Models

You're on a roll. Keep up the good work!

Take Quiz Watch Next Lesson
 Replay
Your next lesson will play in 10 seconds
  • 0:04 Opening Example
  • 0:49 Definition
  • 2:27 Unified Process Model Phases
  • 5:06 Lesson Summary
Save Save Save

Want to watch this again later?

Log in or sign up to add this lesson to a Custom Course.

Log in or Sign up

Timeline
Autoplay
Autoplay
Speed Speed
Lesson Transcript
Instructor: Shweta Gadagkar

Shweta holds a Masters Degree in Biochemical Engineering and is a coding enthusiast

Process models in software engineering are simply a series of steps followed to create a software product. This lesson looks at the unified process model with an overview of the process steps. We'll also take a look at the applications of this model through some examples.

Opening Example

Let's say you own a small baking company, where you make and design custom cakes for different occasions. You now wish to take your business online, so that you could cater to a large customer base. You hire a web development company to build an online cake store for you. What kind of an approach would you like the developers to have towards creating your website? Would you want to receive the completed website all at once after a month, or would you like it to be developed in stages, so that you could take a look at the working software and request any modifications right away? It would be reasonable to go with the second approach, as you'd get to see well-developed bits of your website. It would also ensure that the developers were proceeding in the right direction. This is the same approach that you'd take if you were building a software product on the basis of the unified process model.

Definition

The unified process model (or UPM) is an iterative, incremental, architecture-centric, and use-case driven approach to software development. Let's first take a look at the use-case driven approach.

Use-Case Driven Approach

A use-case defines the interaction between two or more entities. The list of requirements specified by a customer are converted to functional requirements by a business analyst and generally referred to as use-cases. A use-case describes the operation of a software as interactions between the customer and the system, resulting in a specific output or a measurable return. For example, the online cake shop can be specified in terms of use cases such as 'add cake to cart,' 'change the quantity of added cakes in cart,' 'cake order checkout,' and so on. Each use case represents a significant functionality and could be considered for an iteration.

Architecture-Centric Approach

Now, let's take a closer look at the architecture-centric approach. Using this approach, you'd be creating a blueprint of the organization of the software system. It would include taking into account the different technologies, programming languages, operating systems, development and release environments, server capabilities, and other such areas for developing the software.

Iterative and Incremental Approach

And finally, let's take a closer look at the iterative and incremental approach.

Using an iterative and incremental approach means treating each iteration as a mini-project. Therefore, you'd develop the software as a number of small mini-projects, working in cycles. You'd develop small working versions of the software at the end of each cycle. Each iteration would add some functionality to the software according to the requirements specified by the customer.

Now that we saw the distinctive characteristics of the unified process model, let's take a look at the process steps involved.

Unified Process Model Phases

We'll go through the four different phases, one at a time, here:

  1. Inception: The inception phase is similar to the requirements collection and analysis stage of the waterfall model of software development. In this phase, you'd collect requirements from the customer and analyze the project's feasibility, its cost, risks, and profits.

  2. Elaboration: In this phase, you'd be expanding upon the activities undertaken in the inception phase. The major goals of this phase include creating fully functional requirements (use-cases) and creating a detailed architecture for fulfillment of the requirements. You'd also prepare a business case document for the customer.

  3. Construction: In this phase, you'd be writing actual code and implementing the features for each iteration. You'd be rolling out the first iteration of the software depending on the key use-cases that make up the core functionalities of the software system.

  4. Transition: In this phase, you'd be rolling out the next iterations to the customer and fixing bugs for previous releases. You would also deploy builds of the software to the customer.

To unlock this lesson you must be a Study.com Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use Study.com

Become a Study.com member and start learning now.
Become a Member  Back
What teachers are saying about Study.com
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? Study.com has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account
Support