On Improvement of Requirements Engineering in the Automotive Domain
Licentiatavhandling, 2007
Over the last decades software has been the driving force for change in many domains, causing increased global competition. To stay competitive, organizations need to produce more complex products, incorporating more and more functionality, while minimizing the cost for development and production. The automotive industry is no different, the greater part of the functional growth in road vehicles is realized by electronics, and existing mechanical systems are gradually being replaced by electric systems, a large part of which is software. Increased competitive pressure has meant that automotive development and production have had to become very cost-efficient, imposing restrictions on the software produced and development methods used. Increasingly distributed development and the heterogeneity and complexity of software systems in vehicles give automotive software engineers further challenges.
To be able to implement high quality products cost effectively, engineers need to establish, and be able to communicate, exactly what they must produce. Having clear realistic goals and adequate requirements is necessary to be able to deliver what the stakeholders need. This thesis presents research aimed at improving requirements engineering (RE) practices based on needs identified in the automotive industry.
Addressing the need for improved communication in early phases of software development, the first contribution of this thesis is a proposed standard for the creation of use cases describing embedded systems. The suggested standard utilizes use cases at two levels of detail and comprises templates and guidelines assisting in the creation of high quality use cases.
Use case modeling has gained great attention from both academia and the industry, but few empirical findings from industrial projects have been reported. Addressing this problem is a central contribution of this thesis. Data from a quality evaluation of use cases created and used in actual development at Volvo Car Corporation is provided. The most common defects in these use cases are identified and improvements to both industrial practice and academic guidelines are suggested.
Finally, there is a need for continuous improvement of requirements engineering practices. Existing software process improvement frameworks are, however, either too expensive to deploy or do not take each organizations specific needs into consideration. In this thesis a step-by-step guide to iFLAP, a new packaged improvement framework holding both process assessment and improvement planning utilities, is presented. iFLAP is explicitly developed to be light weight in nature and involves practitioners throughout the improvement effort, basing improvements on the knowledge inherent in the organization to assure that its specific needs are met.
Software Process Improvement
Software Engineering
Quality of Use Cases
Automotive
Requirements Engineering