- Introduction to Software Engineering
- The Evolving Role Of Software
- Changing Nature Of Software
- Software Myths
- A Generic View of Process
- Software Engineering- A Layered Technology
- A Process Framework
- The capability maturity model integration (CMMI)
- Process Patterns
- Process Assessment
- Personal And Team Process Models
- Process Models
- The Waterfall Model
- Incremental Process Models
- Evolutionary Process Models
- The Unified Process Model
A process framework
Process framework plays a major role in every software development activity as it forms a base in initiating the development process. It is used to estimate certain framework activities which are applied in very developmental activity, irrespective of its size. The process framework includes several umbrella activities, which are useful throughout the software development process. Next to umbrella activity is a framework activity which includes definite number of software engineering actions applicable in driving a specific software engineering application. Each of these engineering actions corresponds to the task set which encompasses a list of actions to be applied. Each engineering action can perform a constituent activity which forms an essential part of the specific software application being developed.
The five generic process framework activities useful in developing several projects are given below:
1. Communication
This refers to a framework activity where, usually the end users (say customers) are communicated and their views related to the project are analyzed. Here, reports related to customer requirement specifications are developed.
2. Planning
In this framework activity, usually the entire work schedule which is going to be implemented in further stages is prepared. Hence, various issues to be addressed during this framework are risks, requirement of resources, software schedules, important products to be developed etc.
3. Modelling
Once the developer is done with analyzing the customer requirement specifications, the third framework activity will be modeling. Here, usually UML diagrams are used to represent the project in the form of architecture. This helps developers and the customer to gain an insight of the end product.
4. Construction
It is a combination of code generation and testing.
5. Deployment
In this framework activity, usually the developed project is delivered to the end users. They deploy the project and give relative feedbacks to the developers.
Umbrella activities
There are eight umbrella activities of a software process framework. They are:
Tracking and controlling software project
Managing risks
Software Quality Assurance (SQA)
Formal technical reviews
Software measurements
Software Configuration Management (SCM)
Managing reusability factor
Preparing and producing software work products
Tracking and controlling software project
The first umbrella activity is tracking and controlling the software project. This activity allows the software team to perform the following tasks:
Assessing of progress of the project against the plan of the project
Maintaining the schedule of the project by taking appropriate action based on above assessment
Managing risks
This activity involves the following tasks:
Evaluation of those risks that can have a serious impact on the final result of the project
Assessment of those risks that are likely to affect the product’s quality
Software Quality Assurance (SQA)
This activity ensures the software quality by defining and organizing the activities needed to assure quality of software.
Formal technical reviews
This activity tries to eliminate errors as quickly as possible so that they don’t affect the other activities. It is done by evaluation of work products of software engineering.
Software measurements
This activity describes as well as gathers measures of process, product, and project through which software team can deliver a software that fulfills the needs of the customer.
Software Configuration Management (SCM)
SCM is also referred to as Change Management (CM). During the software engineering process, SCM defines a set of activities for managing the changes made to the software components.
Managing reusability factor
This activity is incorporated by the software process framework because of the following reasons:
It defines the basic criteria for reusing a work product. Other than this, it also defines a criteria for software components reuse
It also obtains reusable components by developing the desired methods
Preparing and producing software work products
The last and final activity is the preparation and production of work products. It includes certain activities that are needed for the creation of the following work products:
Models
Logs
Documents
Lists and forms