Q:  

Have you ever seen UML Use Cases used as a mechanism of modeling a data warehouse functionality? Currently the DW is modeled using dimensional modeling techniques.

A:  

Larissa Moss' Answer: Data warehouses do not lend themselves to object-oriented application designs, which is the reason why OO is rarely, if ever, used for modeling DW functionality. DW databases do not perform any specific functions like OLTP databases do; DW data is usually accessed either directly in an ad hoc fashion or by programs that produce predefined reports or cubes for further ad hoc data manipulation by users. Thus, using UML Use Cases as a mechanism of modeling DW functionality is not useful. However, using UML Use Cases as a mechanism of modeling DW data can be useful. The result would be the OO version of an entity relationship diagram (classes being entities, etc.) but without the process pieces (methods, behaviors). This model can either serve as the logical business data model (fundamental enterprise data architecture) or it can be further designed (denormalized) into an ODS or EDW (note that a mature DW environment is not all about dimensional databases or dimensional functionality). ODS and EDW are usually implemented as somewhat normalized structures based on entities and relationships as they exist in the operational business world. But since the strength of UML Use Cases lies in modeling functionality more than, or in addition to, data for OO-specific applications, it is rarely used on data warehouse projects as a modeling technique.

Les Barbusinski's Answer: I've never seen UML Use Cases used in data warehousing, and I'm not sure they're applicable. Use Cases do very well in describing processes and system/user interactions that are well defined and unchanging. This is rarely the case in data warehousing. Decision support (the primary raison d'etre for most data warehouses) is, by its very nature, unpredictable ... constantly shifting its focus as one set of questions is answered, and another set is posed. Furthermore, new uses for the information in a data warehouse are constantly emerging to meet changing market conditions and competitive challenges. Modeling the data to meet today's Use Cases may hamstring you when tomorrow's Use Case comes along.

Data warehouses are about data ... not processes. Hence, the information in a data warehouse must be modeled for what it is, not for the processes it may support. To some extent, UML Use Cases may be helpful in uncovering hidden business rules that must be enforced in a data warehouse. But the most important characteristics that must be captured in any DW model are the data's intrinsic structure, content, relationships and business rules ... regardless of the processes that may use it. Hope this helps.

Clay Rehm's Answer: I think it would be a great idea to use UML Use Cases. Use Case diagrams and the text documents that supplement the diagrams are meant for users anyway.

I would use other object oriented (OO) diagrams in conjunction with dimensional models, such as class diagrams and activity diagrams. The point is that it may take several different techniques or documents to help your users understand what you are trying to build and maintain.

Joe Oates' Answer: I have personally never seen UML Use Cases as a mechanism for modeling data warehouse functionality. While it could probably be done technically, it is not the right tool for modeling DW functionality, in my opinion. Dimension modeling techniques were developed specifically for the kind of issues a data warehouse or data mart presents.

Register or login for access to this item and much more

All Information Management content is archived after seven days.

Community members receive:
  • All recent and archived articles
  • Conference offers and updates
  • A full menu of enewsletter options
  • Web seminars, white papers, ebooks

Don't have an account? Register for Free Unlimited Access