Domain Modeling in Software Engineering

In this tutorial, we will learn about domain modeling in software engineering, domain analysis, and different kinds of objects in the domain analysis. By Monika Sharma Last updated : April 05, 2023

What is Domain Modeling?

Domain modeling is also known as conceptual modeling. It is a very important concept in software engineering. This phase is usually followed after the feasibility testing and requirement analysis phase. In the domain modeling, we represent the concepts, objects and various other entities that appear in the domain of the problem statement that our software is intended to resolve.

For example, consider a library management system. In the software which handles all the work for the library book issue and submission and also handles the total book count and the fine amount along with the issuer’s details, we need to draw the main concepts that are visible from the problem domain. Here, the concepts or the entities that we can draw are: BookName, BookAuthor, BookNumber, MemberDetails, LibrarianDetails, FineAmount, RegisterdCustomersList, etc.

Thus, domain modeling in terms of software engineering can be defined as creating a rough conceptual model from the problem statement which our software needs to solve. Here, the focus is just to draw attention to the major parts and functionalities of the software. Later, this rough conceptual model is refined and extended incrementally in the designing phase and final software design is created.

What is Domain Analysis in Domain Modeling?

During the domain analysis, which is the initial step of domain modeling, the objects are to be identified. These objects are classified into three categories,

  1. Boundary objects
  2. Controller objects
  3. Entity objects

The boundary and the controller objects can be easily identified from the use case diagram but the entity objects require observation and whole detail of the software requirements. Hence, it can be said that the main aim of domain modeling is to identify the entity models and define the entity objects.

Different Types of Objects in Domain Analysis

1) Boundary Objects

These are the objects which are mainly responsible for the user interaction with the software, i.e. these objects are those with which the user directly interacts. These include everything through which you operate the software, i.e. the menus, buttons, toggle bars, dialogues, screens, etc. These objects only explain how the software would appear to the user and do not include any logic of the interior processing. The boundary objects are also called the interface objects and are responsible for validating the inputs and formatting the outputs from the user.

2) Entity Objects

These objects are usually responsible for storing the data. These include the data tables, registers, logs and everything that can be related to and stored in the database. The operations that are usually performed on these kinds of objects are: storing data, fetching data, modifying data, altering storage format, etc.

3) Controller Objects

These objects are responsible for controlling the data flow and dialogue flow between the boundary objects and the entity objects. This can be explained as follows: suppose the user gives some commands through the boundary objects, which needs to display some data to be displayed on to the screen. Now, the displaying of the stored data is a function of the boundary object, but the data is stored in the entity object, and someone has to bring that data from the database to the output unit. This work is performed by the controller object. This object involves all the processing logic that takes place behind the software.




Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.