Data Modeling in Software Engineering: Objects, Attributes & Relationships

Instructor: Alexis Kypridemos

Alexis is a technical writer for an IT company and has worked in publishing as a writer, editor and web designer. He has a BA in Communication.

This lesson will explain data modeling within the context of requirements modeling for software engineering. Data objects, attributes, and relationships will also be explained through a use case example.

Data Modeling vs. Requirements Modeling

To understand data modeling and how it contributes to software engineering, it is best to take a step back and examine how data modeling fits into requirements modeling.

Requirements modeling in software engineering is part of analysis and design. It's the planning stage of developing a software application. Requirements modeling focuses on the 'what', not the 'how'. In other words, requirements modeling identifies what requirements the application must meet in order to be successful.

Requirements modeling includes many sub-stages, one of them being data modeling. Generally speaking, requirements modeling will begin with scenario-based modeling, which results in creating a use case. A use case, simply put, is a primary example of how the software application will be used and what it is expected to do. Once a use case exists, one of the stages that follow will be data modeling.

Data Objects, Attributes, and Relationships

Data modeling, sometimes also called information modeling, is the process of visually representing what data the application or system will use, and how it will flow. The resulting diagram or other visual representation is meant to be designed in a way that is as easy to understand as possible. The fundamental elements that a data model needs to include and describe are the data objects, more frequently called 'entities', the attributes of those objects/entities, and the relationships between the objects/entities.

Entities, attributes and relationships are reviewed in greater detail in the example use case that follows. We won't be going into diagrams in this lesson, however it is worth noting that several methods can be used to create the diagrams in data modeling. The two most widely used are UML (Unified Modeling Language), and ERD (Entity-Relationship Diagrams).

Conceptual, Logical, and Physical Modeling

Traditionally, data modeling is comprised of three stages: conceptual, logical, and physical modeling. These stages begin at the most abstract, or general, representation of the data (conceptual modeling). Then they proceed systematically to the most detailed representation using physical modeling.

Conceptual modeling primarily identifies the entities (data objects) that the application will deal with, and traditionally does not describe the attributes of those entities. This stage is deliberately abstract, to avoid becoming 'bogged down in details'. This way it allows all of the stakeholders to participate at this stage, without requiring them to have any specific technical knowledge. For example, the representatives of the company who have commissioned the application (who are not necessarily technically-minded) can contribute meaningfully alongside the software engineers (who are necessarily technically-minded) in designing the application.

Logical modeling uses the entities identified during the conceptual modeling stage, and then identifies the attributes these entities should have, along with the relationships between the entities.

Physical modeling is the most detailed stage of data modeling. The previously defined entities, attributes, and relationships are used to design the database structure, including all of the necessary details (like the number of tables, columns, and data types needed).

An Example of Data Modeling

To further discuss these ideas and these terms, we'll use an example - often called a use case.

The Problem

A publishing company, Acme Publishing, publishes travel books. Acme's clients are travel-related businesses like hotels and airlines that pay Acme to include advertisements of their businesses in the travel books. Up until now, Acme's staff has been storing all of the details (data) about their clients in spreadsheets (rather than a database system proper). This data included the advertisements they sold, and the books they published.

However, as often happens when the need is great (because business has been good), this no longer works well enough for Acme. Its staff members need to access a number of spreadsheets to keep track of which client has paid for what advertisement and in which book it is meant to be published. There is also much miscommunication between Acme's departments as a result - for instance between Sales (advertisements sold) and Editorial (books published).

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account