Skip to main content

Conceptual Models

One of the most useful tools for explicating the terminology of customers is a conceptual model. Conceptual models depict the concepts in the problem domain and their relationships.

At Cauvin, Inc., we compose conceptual models in the form of static structure diagrams. Conceptual models resemble glossaries (in that they define the words in the domain), but they are richer and more concise.

Here is an example of a conceptual model:



Conceptual models in this format contain the following elements:
  • Concepts. Each rectangular box depicts a concept.
  • Links. A line between two concepts shows that an association exists between them.
  • Association. The name of an association is shown on or next to a link between two concepts.
  • Multiplicities. Multiplicities show how many instances of the concepts participate in the association. An asterisk (*) means that an indefinite (potentially infinite) number of instances participates in the relationship.
  • Specialization. A specialization is a kind of association with a hollow triangle connecting the link to a concept. The concept on the triangle link is the general concept. The concept on the other end of the link is its specialization, which means it is a kind of the general concept.
The example diagram thus directly implies the following statements:
  • A product is sold in zero or more markets.
  • A market is divided into zero or more market segments.
  • A segmentation method is a method of segmenting a market.
  • Regional segmentation is a kind of segmentation method.
  • Regional segmentation segments a market by zero or more regions.
Building a conceptual model helps a product manager understand the language of the customer. The process often exposes inconsistencies or inefficiencies in the terminology that a product manager can eliminate by explicating the concepts as she composes and refines the diagram.

Comments

Anonymous said…
While I appreciate how the diagram outlines the relationships, a UML diagram may be a challenge to communicate conceptual models depending on your audience.

The most effective conceptual models that I have seen/used were simplistic in communicating the business model (compelling/viability) at the highest level. If I am trying to communicate with a development team, it might be more intuitive.

While I would probably not use this format, I think it does a great job outlining the relationships between the entities.
Conceptual model has many similarities with "Concept Maps" and "Class Diagrams" which should be more appropriately called "Inter-Class Diagrams".

To startwith simplified graphic models (diagrams) are helpful but they should be extencible to express higher complexity with precision and rigor. Otherwise, the initial documentation looses correlation with design / implementation details. Currently UML 2.0 Diagrams are OK but extensibility is yet to evolve to reduce the gap between the diagrams and the software that gets developed. I understand that "Executable UML" aims to achieve this.

Putcha V. Narasimham
Roger L. Cauvin said…
Putcha, I am not optimistic about the prospect of reducing the gap between conceptual models and software design. The purposes are quite different. The purpose of a conceptual model is to fully understand the concepts in the domain. While understanding concepts is an important prerequisite to designing software, concepts do not generally map one-to-one to classes.
Dave said…
Ontologies form the basis of the Semantic Web. They also represent the xml means of encoding a conceptualization.

Once you get the conceptual model encoded, you do terminology managment. In terminology management, you are creating a vocabulary for your conceptualization.

Once you have your terminology done, you are ready to move the conceptual model to UML.

Concepts may look like UML, but there is a leap between them.

That UML is now executable means that it is much closer to be the carrier than the carried. UML is the automating, rather than the automated.

Programmers diverge from requirements. They deal with language constraints, APIs, design patterns, and things that move them away from the use of resulting software.

UML diverges as well. It has to diverge to deal with programmer considerations.

Once the UI is finished. The users take it out for a drive. As they drive they notice the response. They build a user conceptual model of their experiences. Hopefully, the conceptual model emerging from requirements elicitation matches the conceptual model emerging from the user experience.
Roger: I am coming back to it nearly 7 years after because of your recent prompt.

I did not see your comment earlier.

How long it takes to reduce the gaps is one aspect but I see the very purpose of UML or any such language is to reduce the gap between the concepts and their representations. Text is considered too elaborate but not precise enough. So we find that a lot of math, drawings, diagrams, simulations, come in different combinations. The key is to reduce the gap formally so that it becomes executable.

Cheers,

09FEB14
I do not have a site of my own but I have uploaded a few PPTs and PDFs to slideshare.

Those who may be interested may take a look at

http://www.slideshare.net/putchavn/concept-maps-knowledge-encoding

This is on the basics of relation...

http://www.slideshare.net/putchavn/relation-need-for-radical-redefinition-pdf

Best wishes,

Popular posts from this blog

Why Spreadsheets Suck for Prioritizing

The Goal As a company executive, you want confidence that your product team (which includes all the people, from all departments, responsible for product success) has a sound basis for deciding which items are on the product roadmap. You also want confidence the team is prioritizing the items in a smart way. What Should We Prioritize? The items the team prioritizes could be features, user stories, epics, market problems, themes, or experiments. Melissa Perri  makes an excellent case for a " problem roadmap ", and, in general, I recommend focusing on the latter types of items. However, the topic of what types of items you should prioritize - and in what situations - is interesting and important but beyond the scope of this blog entry. A Sad but Familiar Story If there is significant controversy about priorities, then almost inevitably, a product manager or other member of the team decides to put together The Spreadsheet. I've done it. Some of the mos

Is Customer Development Pseudoscience?

The “Science” of Lean Startup Lean startup practitioners embrace the scientific method, seeking the "truth" about what business model and strategy will lead to product success. We do so by: Formulating hypotheses Crafting and running experiments to test them Learning from the experiments Iteratively feeding our learnings back into revised hypotheses Sounds pretty scientific, at least in spirit, doesn't it? Yet this process actually neglects a key ingredient in the scientists' mode of operation. To identify what’s missing, let’s examine “customer development”. Customer Development Steve Blank is one of the pioneers of the lean startup movement. He introduced into the lean startup lexicon the term “customer development”. Customer development consists of sessions and interactions with customers to test hypotheses. For example, a product manager might interview a prospect, asking if she agrees with the product manager’s hypotheses about the problem

Interaction Design: the Neglected Skill

Your product development organization has a big, gaping hole in it. (Be prepared to feel defensive as you continue reading.) One of the most important roles in product development is the role of interaction designer. An interaction designer designs how the users will interact with the product and conceptualize the tasks they perform. He decides whether, for example, the user interface will be command driven, object oriented (clicking on objects then specifying what to do with them), or wizard based. The interaction designer decides the individual steps in the use cases. Every company has one or more people that play the interaction designer role. Usually, those people have little or no expertise in interaction design. Sadly, they typically don't even realize how unqualified they are. Let's see who typically plays the role at companies. Engineer . An engineer is an expert on building what is designed. Yes, an engineer may know how to design the internal structure of the hardware