Introduction
This material introduces the first steps in modelling a software system. Software development is made up of phases, which are often organised into cycles. The first of these phases is requirements specification. In this particular unit you will explore how to analyse the requirements document (the output from the requirements specification phase) to arrive at an understanding of how the proposed software system will be structured.
After studying this unit you should be able to:
- describe and use each of this unit's key terms (summarised in the Glossary section at the end);
- list the components that make up a conceptual model of a system domain, and describe briefly the form and purpose of each component;
- explain why a conceptual model forms the basis for modelling the structure of the system, i.e. gives an initial structural model of the system;
- use various techniques and guidelines to identify an appropriate set of classes and associations from a requirements document, including their attributes and multiplicities;
- identify situations where a generalisation relationship between classes exists, and decide on appropriate parent and child classes, and their attributes and associations;
- use various criteria to decide whether an event should be modelled as a class or as an association;
- identify invariants and express them in terms of classes, associations and attributes, and distinguish between valid and invalid combinations of objects and links;
- identify and reason about derived attributes and associations;
- draw simple object and class diagrams using the diagrammatic notations introduced in this unit.