How can the application domain and the requirements be better understood using object-oriented (OO) modeling? How do scenarios / use cases fit together with functional requirements? How can a domain model be used for a model-based transition to a design model? This tutorial addresses these questions in the following manner. It shows how each requirement given in natural language can be viewed itself as an object and modeled as such. This approach facilitates both a hierarchical organization (by grouping requirements instances into classes and subclasses) and explicit association (by relating requirements through OO associations). While scenarios / use cases can somehow illustrate the overall functionality, additionally functional requirements for the system to be built should be formulated and related to them appropriately. All kinds of requirements make statements about the application domain, which should be first represented in a domain model of conceptual classes, in order to make the requirements better understandable. This tutorial explains a seamless transition to a high-level design model, where design classes are abstractions of implementation classes. This transition from requirements to software design is also investigated in model-driven terms, whether it is a transformation or just a mapping. In addition, the influence of non-functional requirements for selecting an architecture is explained.
展开▼