Few Words About Prescriptive Process Models in Software Engineering

CSEBLOG100
0
Definition of process model : The process model can be defined as the abstract representation of process.The appropriate process model can be chosen base on abstract representation of process.
  • The software process model is also known as software Development Life Cycle model or Software paradigm.
  • These models are called prescriptive process models because they are following some rules for correct usage
  • In this model various activities are carried out in some specific sequence to make the desired software product.
  • Various prescriptive process models are waterfall model, Incremental process model and Evolutionary Process model. 
Need for Process Model:
  • The Software development team must decide the process model that is to be used for software product development and then the entire team must adhere to it.This is necessary because the software product development can then be done systematically.Each team member will understand - what is the next activity and how to do it.Thus process model will bring the definiteness and discipline in overall development process.
Every process model consists of definite entry and exit criteria for each phase.Hence the transition of the product through various phases is definite.If the process model is not followed for software development the any team member can perform any software development activity,this will ultimately cause a chaos and software project will definitely fail without using process model,it is difficult to monitor the progress of software product.Let us discuss various process model one by one.
  1. Waterfall Model
  2. Incremental Process Model
  3. Evolutionary Process Model

WATERFALL MODEL
  • The waterfall model is also called as "linear-sequential model' or 'classic life cycle model'. It is the oldest software paradigm.This model suggests a systematic, sequential approach to software development.
  • The software development starts with requirements gathering phase.Then progresses through analysis, design, coding, testing and maintenance.Following figure illustrates waterfall model.
  • In requirement gathering and analysis phase the basic requirements of the system must be understood by software engineer, who is also called analyst.The information domain, function, requirements of the system are understood.All these requirements are then well documented and discussed further with the customer, for reviewing.
  • The design is an intermediate step between requirements analysis and coding.Design focuses on program attributes such as Data structure, software architecture, interface representation, algorithmic details.
  • The requirements are translated in some easy to represent form using which coding can be done effectively and efficiently.The design needs to be documented for further use.
  • Coding is a step in which design is translated into machine-readable form.If design is done in sufficient detail then coding can be done effectively.Programs are created in this phase.
  • Testing begins when coding is done.While performing testing the major focus is on logical intervals of the software.The purpose of testing is to uncover errors, fix the bugs and meet the customer requirements.
  • Maintenance is the longest life cycle phase.When the system is installed and put in practical use then error may get introduced, correcting such errors and putting it in use is the major purpose of maintenance activity.Similarly, enhancing system's services as new requirements are discovered is again maintenance of the system.
This model is widely used model, although it has many drawbacks. Let us discuss benefits and drawbacks.

Benefits of Waterfall model
  • The waterfall model is simple to implement.
  • For implementation of small systems waterfall model is useful.
Drawbacks of waterfall model

There are some problem that are encountered if we apply the waterfall model and those are:
  1. It is difficult to follow the sequential flow in software development process.If some changes are made at some phases the it may cause some confusion.
  2. The requirement analysis is done initially and sometimes it is not possible to state all the requirements explicitly in the beginning.This causes difficulty in the project.
  3. The customer can see the working model of the project only at the end.After reviewing of the working model; if the customer gets dissatisfied them it causes serious problem.
  4. Linear nature of waterfall model induces blocking states, because certain tasks may be dependent on some previous tasks. Hence it is necessary to accomplish all the dependent tasks first.It may cause long waiting time.
Solution:
  • University accounting system: If the software developers who have the experience in developing the account system then building university account system based on existing design could be easily managed with water-fall model.
  • Interactive system that allows railway passengers to find time and other information from the terminals installed in the station.
Final words:
  • For developing such interactive system, all the requirements must be correctly identified and analyzed before the designing of the project. The requirements of end-users must be correctly and unambiguously understood by the developers prior to design phase.Once the requirements are well defined then using disciplined design, coding and testing phases the required system can be built using waterfall model.

Post a Comment

0Comments

Post Your comments,Views and thoughts Here, Give Us Time To Respond Your Queries

Post a Comment (0)