CS 4448 - Spring 1998
Object-Oriented Programming and Design
Talk 9.2.2
by
Steve Goss
Webster's Object-Oriented Modeling
by
Victor Ohnjec and Don Kranz
- Introduction.
Webster's Object-Oriented Modeling (WOOM) is based on the idea that, when working on a given project, "everyone must have the same understanding of the terms and concepts being used" .
- What is WOOM?
It is the idea that development of a project needs to begin from a common ground. WOOM sets up a general structure for terms, methodology etc., so that developers can define the sytax and semantics of the project.
- Why use WOOM?
WOOM is a technique to help developers spend more time making progress on the project and less time trying to make sense of it. If people do not have a common definition for the terms used in the project definition, they begin to use their own definitions based on their own experience.
"The result is a divergent set of ideas based on the words used rather then the definitions of the words used". It is the convergence cost of these discussions that WOOM begins to eliminate.
- Who Should use WOOM?
- The End User
By using terms and definitions accepted by developers they can express problems with clarity and help work towards a solution.
- Marketing People
By using WOOM, the marketer can describe "features and benefits" to the developer in a standard terminology. This helps get a product out to market faster.
- Managers
Common terms help managers communicate between different teams to gauge progress etc.
- Developers
WOOM clearly defines the requirements of the project so developers can "focus on building the right application". With a better understanding of what is required and with all developers working from a common base, projects can be developed with more efficiency despite the initial setup cost.
- Where and When to use WOOM.
WOOM is easy enough to use in any setting at almost any time, but for practical business purposes, a quite conference room is recommended. Sessions begin with brain-storming with one person writing down all the relevant terms. Those terms are then defined by using dictionaries and other reference materials. WOOM can be used by any number of people. It is flexible for large groups because of different communication mechanisms. Using subject matter experts (SME) as reference tools can aid in definition understanding but may inhibit communication if not used properly.
- How to use WOOM.
Time allocation for WOOM development is recommended to be implemented using Time-boxing. Time-boxing places limits on how much time an activity will last. Basic WOOM ideas are outlined in 8 steps.
- (1 hour) Select reference materials.
- (2-3 hours) Discuss project goals. Write down all significant words to form a problem statement.
- (15 min) Circle nouns in problem statement.
- (1 day) Collect all unique terms from the problem statement and use reference material to create a glossary.
- (included in above time) Find conflicting, overlapping definitions (if any) and find different terms or break up terms into components.
- (1 week) Capture business and technical requirements. Use current terms and/or add new terms.
- (2 weeks) Analyze requirements and build object models.
- Repeat 1-7 as needed as problems arise or as models develop.
- The Metamodel Approach
This is where WOOM defends its consistency. For aggregation, "the whole is typically defined as a sum of its parts - each of which is defined seperatly". Some additional characterizations may be needed for expansion. For inheritance, the derived class will "derive the characteristics of the base class". If inconsistencies are found, the team gets almost immediate feedback.
- Conclusion
For progress on a project to be made, the ideas that that project are based on must converge to a common vocabulary. WOOM is a tool to do just that. By using significant words and terms, in addition to relevant reference materials, days of progress can be made in just hours.
Copyright © University of Colorado. All rights reserved.
Revised: March 31, 1998