Class-Based Data Modeling: Definition & Application

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.

Class-based modeling is reviewed in the context of requirements modeling for software engineering. Components such as identifying analysis classes, specifying attributes, and defining operations are discussed through an example use case.

Class-based Modeling

Class-based modeling is a stage of requirements modeling. In the context of software engineering, requirements modeling examines the requirements a proposed software application or system must meet in order to be successful. Typically, requirements modeling begins with scenario-based modeling, which develops a use case that will help with the next stages, like data and class-based modeling. Class-based modeling takes the use case and extracts from it the classes, attributes, and operations the application will use. Like all modeling stages, the end result of class-based modeling is most often a diagram or series of diagrams, most frequently created using UML, Unified Modeling Language.

Example Use Case

To better discuss what class-based modeling entails, let's assume scenario-based modeling has already completed and resulted in the following use case: Sunny Beach Hotel purchases an advertisement in the 'Best Hotels' travel book published by Acme Publishing. The client for the software development project is Acme Publishing, which has commissioned an application to manage the whole publication process, from selling an advertisement to a client to creating the book's content to finally printing, shipping and selling the book.

Working Through a Class-based Model

Class-based modeling begins by identifying the classes in the use case.

What Are Classes?

One way to identify potential analysis classes is by performing what is called a 'grammatical parse' of the problem statement or use case. This is done by underlining each noun or noun clause in the problem statement or use case and ignoring verbs.

A grammatical parse of the example use case looks like this (nouns normally underlined are marked in bold):

Sunny Beach Hotel purchases an advertisement in the 'Best Hotels' travel book published by Acme Publishing.

How do you Identify Classes?

With this done, class-based modeling then uses several general classifications to help identify elements that can be considered potential classes:

  1. External entities that produce or consume information to be used by the application. (In the example use case, Sunny Beach Hotel.)
  2. Things that are part of the information domain of the problem. (The advertisement that Sunny Beach Hotel purchases.)
  3. Occurrences or events that occur within the context of system operation. (The transaction of Sunny Beach Hotel purchasing the advertisement from Acme Publishing)
  4. Roles played by people who interact with the system. (The marketing representative at Sunny Beach Hotel that places the order for the advertisement with Acme Publishing and the salesperson at Acme Publishing that receives the order.)
  5. Organizational units that are relevant to an application. (Divisions, groups or teams, like the Sales and Editorial departments at Acme Publishing.)
  6. Places that establish the context of the problem and the overall function of the system. (Sunny Beach Hotel's location, Acme Publishing's office location.)
  7. Structures that define a class of objects or related classes of objects. (The 'Best Hotels' travel book is one of several travel books that Acme Publishing publishes, so within this context 'travel book' is a class of objects.)

Selection Characteristics

Once the potential classes have been identified, six selection characteristics are used to decide which classes to include in the model:

  1. Retained information - Information must be remembered about the system over time. (The fact that the advertisement has been sold to the Sunny Beach Hotel.)
  2. Needed services - A set of operations that can change the attributes of a class. (The number of advertisements sold will change the number of pages of the 'Best Hotels' travel book and also the amount of income it has generated for Acme Publishing.)
  3. Multiple attributes - A class must have multiple attributes. If something identified as a potential class has only a single attribute, it is best included as a variable. (The 'Best Hotels' travel book has multiple attributes, like number of pages, page size, and retail price.)
  4. Common attributes - All instances of a class share the same attributes. (All travel books published by Acme Publishing will have the same attributes: number of pages, page size, and retail price. The values of these attributes may differ from one travel book to another, for example, one travel book may have 170 pages while another will have 200 pages, but they both still have a number of pages, which is one of their common attributes.)
  5. Common operations - A set of operations apply to all instances of a class. (All travel books published by Acme Publishing have pages that need to be filled with advertisements or other content, they all need to be printed and shipped to point of sale..)
  6. Essential requirements - Entities that produce or consume information. (The 'Best Hotels' travel book consumes information by storing the advertisement's content in its pages and produces information with the amount of income earned for the sale of that advertisement.)

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