UML vs Software Development Process

Software Development Process

A software development process is a recipe used for constructing software determining the capabilities it has, how it is constructed, who works on what, and the time frames for all activities. Processes aim to bring discipline and predictability to software development, increasing the chance of success of a project.

Unified Modeling Language (UML)

UML is the language for modeling your software, it’s an important part of the software development process. Modelling consists of building an abstraction of reality. Abstractions are simplifications that

  • They ignore irrelevant details and
  • They only represent the relevant details.

What is relevant or irrelevant depends on the purpose of the model. UML is not a method, methodology or software development process.

Different Types of Software Development Process

Waterfall — The waterfall method attempts to pin down the requirements early in the project life cycle. After gathering requirements, software design is performed in full. Once the design is complete, the software is implemented. The problem with this method is that if a change in requirements occurs, the impact can be devastating.

Iterative — Iterative methods attempt to address the shortcomings of the waterfall approach by accepting that change will happen and, in fact, embracing it. The Unified Process is a well-known iterative process. It consists of multiple phases, each phase containing some amount of the following activities: requirements, design, and implementation (coding). Iterative methods encompass a wider range of approaches (e.g., agile iterative processes), and they can range from using UML as sketch to using UML as blueprint.

Agile methods — Agile methods use iterations in extremely short bursts and attempt to minimize risk by always having a working system of expanding capabilities. Methodologies under this category have introduced some of the more interesting development practices, such as pair programming and test-driven development. Agile methods emphasize using UML as a sketch.

14 Type of UML 2 Diagrams Articles