Difference between Software Process and Software Process Model | Software Engineering

Download our Android App from Google Play Store and start reading Reference Notes Offline.

software process and software process modelDifference between Software Process and Software Process Model,
Software Engineering Notes | Sixth Semester,
BSc.CSIT | Tribhuvan University (TU)

Software Process VS Software Process Model
The systematic approach that is used in software engineering is sometimes called a software process. A software process is a sequence of activities that leads to the production of a software products, while software process models are abstract representations of these process. Difference between Software process and software process model in tabular form are as follows;

Software Process Software Process Model
It is a set of activities and associated results that produce a software product. It is a simplified representation of a software process, presented from a specific perspective.
These activities may involve the development of the software from the scratch, or, modifying an existing system. Software process model may include activities that are part of the software process, software products and the role of people involved in software engineering.
It is a method of developing software. Software process models are abstractions of the process that can be used to explain different approaches to the software development
It is complex and relies on making decisions. Less complex and doesn’t relies on making decisions.
There’s no ideal process and most organizations have developed their own software process. There is some specific software process models.

Software Process:
Generic activities in all software processes are:

  • Specification:– It is the process, where customers and engineers define the software to be produced and the constraints on its operation. (i.e. what the system should do and its development constraints)
  • Development:– It is the process, where the software is designed and programmed. (i.e. production of the software system)
  • Validation:– It is the process, where the software is checked to ensure that it is what the customer requires. (i.e. checking that the software is what the customer wants)
  • Evolution:– It is the process, where the software is modified to adapt it to changing customer and market requirements. (i.e. changing the software in response to changing demands)

These are complex activities and include sub-activities such as requirement validation, architectural design etc. There are also supporting process such as documentation and software configuration management. When we describe and discuss process, we include:

  • Activities like specifying a data model, designing a UI.
  • Ordering of these activities.
  • Products, which are outcome of process activity.
  • Roles, which reflect responsibilities of people involved in process.
  • Pre and post condition, which are statements true before and after a process activity has been enacted.

Software process rely on people making decisions and judgement. Processes have evolved to take advantage of capabilities of people in an organization and specific characteristics of system that are being developed. Software process can be categorized as;

  • Plan driven
    All of the process activities planned in advance and progress is measured against plan.
  • Agile
    Planning is incremental and it is easier to change the process to reflect changing customer requirements.

Software process models
It is a simplified representation of a software process. Each process model represents a process from a particular perspective and thus provides only partial information about the process. Example; process activity model shows the activity and their sequence but may not show roles of people.

Some of the process models are;

  • Waterfall model
    It takes the fundamental activities of specification, development, validation, and evolution and represent them as separate process phases such as requirement specification, software design, implementation, testing and so on.
  • Incremental Development
    This approach interleaves the activities of specification, development and validation. System is developed as a series of versions with each version adding functionality to the previous version.
  • Reuse oriented software engineering
    This approach is based on the existence of a significant number of reusable components. Software development focuses on integrating these components into a system rather than developing them from scratch. These models are not mutually exclusive and often used together.
(Visited 1,658 times, 3 visits today)

Posted By : Digvijay | Comment RSS | Category : Sixth Semester
Tag :

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

Wordpress DMCA
Community | Toolbar | Android App | Founder/Developer : Hari Prasad Chaudhary | CSIT Portal Manager : Digvijay Chaudhary