Software Engineering Essentials, Learn the types of software engineering process and process models.
A software development process, also known as a software development lifecycle, is a structure imposed on the development of a software product. A software process is represented as a set of work phases that is applied to design and build a software product. There is no ideal software process, and many organisations have developed their own approach to software development. Software development processes should make a maximum use of the capabilities of the people in an organisation and the specific characteristics of the systems that are being developed.
There are some fundamental activities that are common to all software processes:
- Software specification. In this activity the functionality of the software and constraints on its operation must be defined.
- Software design and implementation. The software that meets the specification is produced.
- Software validation. The software must be validated to ensure that it has all the functionalities what the customer needs.
- Software evolution. The software must evolve to meet changing customer needs.
A software process model is an abstract representation of a software process. In this course a number of general process models are introduced and they are presented from an architectural viewpoint. These models can be used to explain different approaches to software development. They can be considered as process frameworks that may be extended and adapted to create more specific software engineering processes. In this course, we will learn about the process models.