Choose your subset

Case Parts, Monterey Park, Calif., has taken a subset approach with UML. The firm distributes commercial refrigeration parts to restaurants and concerns, such as ice cream maker Baskin Robbins.

"There are parts of the UML not relevant to what we do because they are so complex," said George Bullock, senior developer at Case Parts. "It's a complex language, but we have found a way to use it expressively and adapt it to what we need."

Bullock suggests that in using UML it is important to go through the language as a whole just to digest everything. "Then you can get comfortable with what subsets you need to use and dig in," he said.

UML has been in use at Case Parts for about a year and has seen the company through to completion on a number of small- and medium-sized projects. "UML is good for all size projects," said Bullock. "We've used it for everything from whiteboard design to documenting the architecture of a medium-sized application."

Bullock and his team are now using UML to develop an internal business system that will perform accounting, order entry, accounts payable and accounts receivable functions. The applications are being designed as distributed applications, which the company will also bring to the intranet and Web.

Bullock said UML has been helpful with this larger system, which uses SQL Server on the back end with Visual Basic interfaces and Web-based clients. The system will host 100 users, but Bullock estimates that depending on which components are in use, only between five and 50 users will be on at a time.

In conjunction with UML, Case Parts is using Rational Software's Rational Rose object-oriented design tool and Microsoft's Visual Basic.

Case Parts follows a Use Case-driven process, and a fairly full subset of UML. The first step was to identify Use Cases for a given application. Sequence diagrams are then used to flesh out how the Use Cases will be implemented. Classes of objects can then be identified.

"We also use various stereotype artifacts, for example, Use Case and various connecting elements," said Bullock. The UML stereotypes provide a detailed look at how the Use Cases interact with each other and how the user interacts with them.

Bullock also uses some higher level UML, such as elements representing physical components, to group classes that will be integrated as a component. Various elements of the UML are also used for application partitioning in both logical and physical ways.

While Bullock is excited about the new Microsoft Visual Studio suite, he noted that for modeling and design his company plans to stay with the high-end Rational Rose. "The underlying architecture of Rose is good, and we like the fact that Booch, Rumbaugh and Jacobson are there," he said. "Rational has also been responsive in the need to map to Visual Basic elements."