Introduction to Generic Process Model
Generic Process Model is a definitive description of processes. Generic Processes are designed to run outside a normal component or on an application processor. These processes are not specific to any particular component, can be used in any number of applications. Generic Process Model consists of 5 activities which will be discussed in this article. The software process is a collection of various activities. These activities include communication, planning, modeling, construction, and deployment. Each of these activities includes a set of engineering actions and each action defines a set of tasks that incorporate work products, project milestones, and SQA, Software Quality Assurance points. Let us dig deeper into this Generic Process Model and will go through the working process, its advantages, and disadvantages.
How does the Generic process model work?
Generic Process model includes the below five framework activities,
- Communication: This is the first step in the software development process which starts with the communication between the customer and the developer.
- Planning: This step consists of a complete estimation of the project, scheduling for development of the project, and tracking.
- Modeling: This step consists of complete requirement analysis and project design like algorithm, flowchart, etc.
The algorithm is a step-by-step process of the problem and the flowchart will show the flow of the program.
- Construction: This step consists of code generation and its testing. Coding will implement the design details using appropriate programming languages.
Testing checks if the program or the code provides expected output, and also checks whether the flow of the code is correct or not.
- Deployment: This step consists of delivering the final product to the customer and take feedback. If there are any suggestions or addition of other capabilities, then this change is required for improvement in software quality.
These five framework activities are used for all software developments independent of the application domain, the size of the project, complexity or the efforts, etc. For most of the software projects, these framework activities are applied iteratively where each of the iterations produces a subset of the overall functionality and features of the software
There are Types of Process flow available such as,
- Linear process flow: It executes each activity listed above in sequence form
- Iterative Process flow: This flow repeats one or more activities that are listed above before starting the next activity.
- Evolutionary Process flow: This flow carries out the activities listed above in a circular manner. Each circle leads to the more complete version of the software
- Parallel process flow: This flow executes the activities listed above in parallel with each other i.e. modeling for one aspect of the software in parallel to another aspect of the software.
Generic Process framework provides a list of generic activities to most of the software models. But each model will treat its activities in a different manner according to the project suitability and teams. Activities lined up in the process model should be modified based on,
Problem to be solved.
Characteristics of the Project
Nature of development team and Organisational culture.
So before going into the Advantages and Disadvantages of the Generic Process Model, we will first see what are all the Software models which apply these Generic activities in their life cycle.
Waterfall Lifecycle Model: This model was the first and the only process model available previously. It is also known as the Traditional software lifecycle. Here, the software development process is broken into different stages. Each stage will involve a particular activity, which can be “construction” or “communication”. Each step produces a result when completed and is known as deliverable or product. Input to the next stage will be the product from the previous stage. This model presents itself in s strict one-way sequence, meaning it cannot go back to repeat a stage once that stage is completed.
Incremental Process Model: This model provides limited functionality in the early software lifecycle.
This process allows developers to quickly release a version of the software with limited functionality and at each of the development iteration, additional and incremental features are added. With this, the full task is broken into smaller and manageable portions allowing problems to get highlighted once the full system is completed. It allows releasing the product to the client at the end of each iteration so that client can use it regularly and update versions of the software by giving any additional features and to get knowledge of the progress in software development.
We have many other software lifecycle models such as RAD(Rapid Application Development, also an incremental model which has shorter development lifecycles.), Prototyping lifecycle model, Boehm’s Spiral model, Formal methods model, Unified process model, Agile Process model, which is now the most used process model by developers and testers.
Agile Process Model: This model was developed to curb weaknesses that previous work models had,
Individuals and Interactions OVER Process and Tools
Working Software OVER Comprehensive Documentation
Customer Collaboration OVER Contract Negotiation
Responding to Change OVER following a Plan
Advantages and Disadvantages of Generic Process model
- Testing activities like planning of test cases, test designing will be done way before coding, which saves a lot of time
- Based on Waterfall Model, it lacks flexibility, and the delivery of products is relatively fast.
- It has badly structured systems, and have higher failure chances that user needs will not meet their expectations
- It is useful when there are long-life complex applications being built.
- It is not cost-effective and is static
- In the Evolutionary Process model, Incremental developments are possible and new developments are reflected in the products.
- It has poor structure and has a high risk of failure in delivering the product
- In RAD, it supports future development and maintenance, users can reuse the system, and had a low risk of failure with reduced cost.
- Here, requirements are not always served and is not suitable for all types of application development.
- In V model, it is similar to the waterfall model. It is designed in such a manner that checks are automatically made by ensuring that requirements are met.
- In Agile Model, requirements are delivered in a rapid manner with less risk and software reliability
With this, we conclude our topic ‘Generic Process Model’. We have seen what this model is all about and what are all the activities included with this model. We have seen what each of the activities is all about and at which phase are these activities implemented. We have also seen some of the Software models which are based on the Generic Process Model. Each model is different from the other in some of the other ways, also have looked into the advantages and disadvantages of these Generic Process models.
Recommended Articles
This is a guide to Generic process model. Here we discuss How does the Generic process model work along with the advantages and disadvantages. You may also have a look at the following articles to learn more –