5.3: Conceptual Modeling
Generally, three model types for software engineering are presented in this course: process-oriented, data-oriented, and object-oriented. They have similar processes but different perspectives and emphases concerning data and activities. Since the OO model incorporates aspects of the other two, it is presented in this section.
Requirement analysis is concerned with identifying concepts related to the requirements and creating a conceptual model of the problem domain. A conceptual model shows a static view of associations between concepts. This section reviews OO conceptual modeling and its main components.
Conceptual models are models of entities from the problem domain that are configured to reflect their real-world relationships and dependencies. This section defines requirements, explains requirements analysis, and several types of model diagrams that can be developed. This includes data and control flows, state models, event traces, user interactions, object models, data models, and many others. The model must be selected according to the nature of the problem, the software engineer's expertise, the customer's process requirements, and the availability of methods and tools. The development then transitions from the requirements model to a design model, such that a requirement is allocated to one or more design elements. The section summarizes requirements analysis functions and activities, the use of the requirements, and the products of analysis.