A process model provides a harness into which the technical activities and the supporting tools can fit. Software process models, range from simple traditional models to advanced software process models suited for safety and mission critical systems.
In the Internet-based environment of today, it is common to have software projects that span just a few weeks. These projects may involve development of small products that may be critical for a business. In such projects, conformance to customer requirements and meeting the project schedule are crucial. The advanced software process models such as the component-based process model, cleanroom software engineering, and the agile process models cater to this scenario.
Advanced Software Process Models course includes:
- Component-Based Process Model
- Formal Methods
- Cleanroom Software Engineering
- Agile Process Models
This course has been co-authored by the internationally recognized consultant and authority on software engineering—Dr. Roger S. Pressman.
This course will enable you to:
- Explain the component-based process model as a reuse paradigm.
- Explain the formal methods.
- Explain the cleanroom software engineering approach.
- Explain the agile process models and the context in which they can be applied.
You receive a certificate of completion after successfully completing this course.
A process model provides a harness into which the technical activities and the supporting tools can fit. Various advanced process models, such as the component-based process model, cleanroom software engineering, and the agile process models, are available for building software products.
The component-based process model is based on the use of available components for building software products, enabling software engineers to derive the benefits of reuse. It includes the identification and selection of suitable components from a library and using these components to build products.
Formal methods are used for building safety-critical or mission critical systems. They use mathematical precision for specifying and verifying the specifications. Specifications are written using formal specification languages that use mathematical notation. Verification is simpler because of the precise nature of the specifications.
Cleanroom software engineering is used for achieving zero-defect software and is especially important for safety-critical applications. The approach uses an incremental approach along with various methods to create verifiable specifications. In cleanroom, the conventional test-and-debug approach is replaced by correctness verification and statistical use testing. The use of statistical quality control is explicit.
The agile process models use a less formal view of software engineering but still provide a basis for rapid development of high-quality products. They cater to situations such as e-commerce and other time-critical systems that require very short cycle times (just a few weeks), during which the requirements and their priority keep changing and evolving. Some examples of agile process models include Extreme Programming (XP), Scrum, Dynamic System Development Method (DSDM), and Feature Driven Development (FDD).