Development Environments

Software methodologies

Traditional methodologies

  

As developing software products is not an easy task, there are some different methodologies that we can follow for this development. A methodology is a set of techniques and methods that help us face each stage of a lifecycle. This way, we can:

1. Elements of a methodology

A methodology is composed of:

2. Traditional methodologies

Some methodologies are traditional, they focus on controlling every part of the process at any time. They set the activities to be done, the deliverables that must be produced in every stage, and the tools and standards that will be employed. For certain projects, these methodologies can be too rigid, and hard to adapt.

Mosf of these methodologies are based on some of the lifecycle models seen before, specially the iterative and spiral models. Both of them apply several iterations over the software development stages, generating some intermediate products along the process.

Let’s see some of the most popular, traditional methodologies.

2.1. Example: RUP

Rational Unified Process (RUP) is an iterative framework created by Rational Software Corporation, which is part of the IBM company. But, instead of being what a traditional methodology is supposed to be, RUP is not a rigid framework. It can be adapted to different projects, choosing the most suitable elements for each one.

RUP methodology is based on spiral lifecycle model, and it tries to improve the drawbacks of the cascade model. Besides, it also tries to include the object oriented paradigm through UML (Unified Modeling Language). We will talk about it in later units.

Modules

RUP is structured in some elements called modules. These modules are:

These three modules define who does the job (role), what it is about (work product) and how he does it (task).

Stages

According to RUP methodology, the lifecycle of a product consists of four stages

We can think that this methodology is very similar to the cascade model, but one of the strenghts of RUP relies on the iterations that can be performed at any stage. Besides, each stage has a final target to reach.

Exercise 1:

Search on the Internet about all the possible diagrams that we can use in UML (Unified Modeling Language), which is an essential part of the RUP methodology. These diagrams can be of two types: structural diagrams or behavioral diagrams. Identify at least three diagrams of each type.

2.2. Example: MSF

Microsoft Solutions Framework (MSF) is a customizable methodology that applies a traditional approach to develop a software product. As you can figure out, it was created by Microsoft, and it can be applied not only to software development, but also to other computer issues, such as network planning, infrastructures…

Stages

As we have seen for RUP, MSF is also based on the spiral model. The process consists of 5 iterative stages. At the end of each one we must have reached a given target, and completed a set of deliverables.

The main benefits of this methodology are its adaptability to different projects (as RUP does), and the cooperation with the customer. Their main drawbacks are the excessive documentation that needs to be created, and the dependence on Microsoft products.