CHAPTER 1

Software Development Methodologies and Metamodelling

A major area of interest within the computing discipline of software engineering is that of software development methodologies. A methodology has several constituent parts including a full lifecycle process, a comprehensive set of concepts, a set of rules, heuristics and guidelines underpinning appropriate development techniques, a set of metrics, information on quality assurance, a set of coding and other organizational standards, and advice on reuse and project management [9]. In order to describe all these parts in a consistent and useful manner, we need some kind of formalism. The formalism chosen here is that of metamodelling.

We begin this book with an examination of what is meant by a methodology and how metamodelling can be useful in creating robust and effective methodology models. Later we describe how the basic metamodelling ideas can be used in various domains, such as for modelling work products and processes. We evaluate the current state-of-the-art in these and other application areas before introducing some advanced ideas and how they have led to the creation of international standards that support the development of industry-strength methodologies for use in professional, commercial software development endeavours.

Get Metamodelling for Software Engineering now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.