Requirements Elicitation from BPMN Models
When building a software system, it is crucial to understand the actual needs and the interfering constraints that apply in the surrounding environment. Elicitation of requirements is all about learning the environment and discovering the needs of users and other stakeholders. One of the primary sources for requirement elicitation is the system (processes, organization, environment and legacy systems) currently being used. The system is often captured in the form of graphical models, which are an important source of information for requirements elicitation. BPMN models are gaining popularity and are frequently used to model systems. Despite the fact that they are a valuable source of knowledge, they are rarely used as a source for eliciting requirements. One reason for this is the lack of concrete and comprehensive guidelines that would assist a systematic requirements elicitation from such models. This thesis presents a method for eliciting functional requirements from BPMN models. The method covers all components of a requirement and gives guidelines where in the BPMN model the information about the components can be found. It also provides a set of questions to be asked from domain experts to make sure that the requirement specification is complete, consistent, bounded and on the required level of granularity. The method was applied on a case study and it was proved that the method is applicable and provides a structured approach to eliciting requirements. The method elicited more requirements than the method previously used by the case organization, and the elicited requirements were also of better quality. The method took considerably less time to apply, it gave better control over the elicitation process, it was easier to evaluate the needed effort, and it enabled to better plan the process. The structured approach makes it easier to delegate work, and there are less situations where something might be overlooked.
Graduation Thesis language
Graduation Thesis type
Master - Software Engineering
Fredrik P. Milani