Table of contents
1.
Introduction
2.
Software Process Model
3.
Software Crisis
4.
Software vs. Program
5.
FAQs
6.
Key Takeaways
Last Updated: Mar 27, 2024

Software Process

Author Komal Shaw
1 upvote
Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction

Software refers to the collection of integrated programs and procedures, and a process is followed to produce a software product. This process is called the Software Process, which refers to the set of activities and their outcomes. Software engineers carry out all these activities.

There are four key activities that are common to all software processes. 

Let's have a look at it.

  1. Software Specifications - In this stage, a brief description of the functionalities of the Software and its constraints must be provided.
  2. Software Development - This is the stage of designing, programming, testing, and fixing the bug.
  3. Software Validation - This is the stage of software evaluation. It is done to ensure that the Software performs all the required functions and meets all the end-users needs.
  4. Software Evolution - It is the process of updating the Software to meet client changing needs.

Software Process Model

Software Process Model is the simplified representation or an abstraction of the actual software process. The process model represents the software process from a specific perspective. 

Some types of software process models are listed below:-

  1. A Workflow Model - It is a series of activities or tasks and decisions taken to make a process. It is required generally to perform human actions.
  2. A Dataflow or Activity Model - Here, the process is represented as a set of activities. This set of activities carries out data transformations. The transformations that they perform are carried out by people or by computers.
  3. A Role/Action Model - This specifies the roles and activities that the people involved carry out.

 

Now let us have a look at various general models or paradigms of software development:-

  1. The Waterfall approach - This approach considers the above models or activities and produces them as separate process phases like implementation, software design, testing, etc. After this, the development goes on to the next stage.
  2. Evolutionary Development - This approach alternates the activities of specification, development, and validation phases.
  3. Formal Transformation - The transformation performed in this is "correctness preserving," i.e., the program developed will meet its specification. The given method produces a mathematical system specification and transforms it into a program using mathematical methods.
  4. System Assembly from reusable components - The target of this method is to integrate the parts of the system and not develop them from scratch.
     

Recommended topic,  V Model in Software Engineering

Software Crisis

Software Crisis refers to the difficulty in writing efficient program codes in a given time. The reasons for the software crisis would be using the same methods, tools, and workforce despite the increase in demand and challenges.

Some causes of software crisis are:-

  1. Because of the growing complexity and expectations, the Software is becoming more expensive and complex.
  2. The quality of the software products might be low.
  3. The cost of maintaining the Software is more costly than developing the Software.
  4. It takes longer to build Software, leading to delays in delivering the Software.

Software vs. Program

Program is a subset of Software, and to become a software, the program needs to have documentation and operating procedures manual prepared.

Thus we can say that:-

SOFTWARE = Program + Documentation + Operating Procedures.

These three, i.e., program, documentation, and operating procedures, are Software components.

To know about Adhoc testing click here.

Also Read, human computer interaction

Must Readprototype model in software engineering

FAQs

  1. What is a program?
    Program is defined as the combination of source and object code. Program is a subset of Software.
     
  2. Give an example of how Quality can create a software crisis?
    Example:- When testing the program code of a software, it produces 30 errors per 800 lines of code, which leads to a software crisis.
     
  3. What is the documentation?
    Documentation refers to the collection of flow charts, ER Diagrams, DFDs, etc.
     
  4. Define Operating Procedures.
    Operating Procedures refer to the set of instructions on how to use a software system.
     
  5. Examples of Operating Procedures.
    Installation Guide, System Administration Guide, Beginner's Guide, Reference Guide, etc.

Key Takeaways

In this article, we have extensively discussed the various software processes, the software process model and also learned about the software crisis. We also got to know about the components of Software.

We hope that this blog has helped you enhance your knowledge regarding the software process. If you would like to learn more, check out our articles on Software EngineeringCharacteristics of a Good SoftwareThe 10 Different Types of Software TestingSoftware Reliability Models.

Do upvote our blog to help other ninjas grow. Happy Coding!

Live masterclass