Software Engineering Tutorial

Introduction SDLC

SDLC Models

Agile Model Big-bang Model Incremental Model Iterative Model Prototype Model RAD Model Spiral Model V-Model Waterfall Model Open Source Development Model

Software Management

Project Management Project Management Activities Project Management Tools

Software Metrics

Software Quality Metrics Halstead's Software Metrics Object Oriented Metrices Data Structure Metrics Overall Equipment Effectiveness Some Important Quality Metrics

Project Planning

Software project planning Cost Estimation Model

Software Configuration

Software Configuration Management Project Monitoring and Control

System Design

Strategies for System Design Caching in System Design Load Balancer – System Design Dropbox - System Design Netflix - System Design Twitter - System Design


Routing Requests through Load Balancers Object Oriented Analysis and Design in Software Engineering Online Library Management System ER Diagram in Software Engineering Umbrella Activities in Software Engineering Jelianska Moranda Software Relability Model RAD Model vs SDLC Model Software Myths in Software Engineering What is Capability Maturity Model Characteristics of Software Engineering Characteristics of Good Design in Software Engineering Program Analysis Tools in Software Engineering Reactive and Proactive Software Risk Management in Software Engineering Size-Oriented Metrics in Software Engineering Software Requirements and their Types in Software Engineering Structured Programming in Software Engineering System Development Life Cycle in MIS Difference between V Model and Waterfall Model Overview of Fish SDLC Model

Umbrella Activities in Software Engineering

The various stages of software engineering are tied to one another. Various software process models have different ways of expressing or making these processes available. To manage the development, quality, changes, and hazards of finished development jobs, a team of software developers often follow a set of stages or procedures known as umbrella activities.

So, these umbrella activities are developed through the stages of the broad perspective on software development.

There are other common activities added to the activities associated with the software development process. Common tasks enable the software development teams to monitor and keep tabs on the project's overall progress, quality, modifications, and hazards.

What are Umbrella Activities?

A software development team performs umbrella activities as a set of processes or procedures to maintain the pace, level of quality, consistency, and risks of finished jobs. Over the course of the phases of the general view of software development, these umbrella activities grow.

The Umbrella Activities are the combination of different tasks. Following is a list of the tasks included in umbrella activities:

  • Software Project Tracking and Control
  • Formal Technical Reviews
  • Software Quality Assurance
  • SCM or Software configuration management
  • Document Preparation and Production
  • Re-usability Management
  • Measurement and Metrics
  • Risk Management

Now, we are going to understand briefly about each topic:

Software Project Tracking and Control

The software team can monitor the status of software development through this activity. Create a software development plan before beginning actual development, and work from this plan. However, once some time has passed, it is vital to assess the development's progress to determine what steps should be performed. After development, testing, and other steps have been completed, it should be accepted at the proper time. The development time may need to be revised depending on the test findings.

Risk Management

Software development teams can better comprehend and control uncertainty by following a set of techniques called risk management. That's a very great idea to recognize it, evaluate the possibility that it will occur, evaluate its consequences, and create a contingency plan for "if the problem does materialize."

Software Quality Assurance

This defines and carries out the tasks necessary to assure software quality, as its name would imply. After achieving the required milestones, the quality of the product, such as user experience, effectiveness, workflow flexibility, etc., must be tested and verified, which reduces the tasks at the conclusion of the development process that must be completed by a team of dedicated so that the development can proceed.

Technical Reviews

It evaluates software engineering work products to find and fix faults before they spread to the following activity. Software engineering is performed in groups or modules, and it is a good practice to review each module when it is finished in order to identify and fix any flaws that may have crept in so that their transmission to the following module can be avoided.


This comprises all evaluations of every element of the software project. To assist the team in producing software that satisfies the needs of stakeholders, define and gather procedure, project, and product metrics. These metrics can be employed in combination with all other structures and general operations.

Software Configuration Management

Through the course of the software development process, it controls the effects of modifications. Through the identification of work products that can be altered, the establishment of linkages between them, and the definition of mechanisms for managing various versions of them, a set of procedures known as software configuration management (SCM). It is used to manage changes and  work output.

Reusability Management

It creates mechanisms to build reusable components and establish the criteria for the reuse of work items (including software components). This covers the authorization of any project-related elements for backing up software as well as any kind of assistance offered for current or upcoming updates. Software should be updated to reflect user and current time needs.

Work Product Preparation and Production

It covers all of the tasks necessary to produce work products like models, documentation, logs, forms, and lists.

Re-usability Management

This includes backing up each component of the software project so that it can be fixed or upgraded at a later time in response to user or time demand.