In-Depth

A CBD-UML mix

Platinum has continued to expand UML support in its Paradigm Plus enterprise component modeling tool. According to Dilhar DeSilva, vice president of Platinum's Paradigm Plus Development Lab, the current version of Paradigm Plus supports UML 1.1. "I say this with a caveat," said DeSilva. "A lot of tools say they are UML 1.1 compliant, but unfortunately there is no way to prove compliancy. What it really means is that some tools may be compliant from a meta model view, some from a notation view and some from the diagrams view."

According to DeSilva, Paradigm Plus is 90% compliant with the UML meta model, supports all of the UML diagrams, and is 90% to 95% compliant with the notation.

Platinum has also added two industry experts to its team: Desmond D'Souza, developer of the Catalysis method for component-based development, and Thomas Vayda, author of the Complete LifeCycle Incremental Parallel Process (Clipp). Platinum plans to provide support for both Catalysis and Clipp with the next generation of Paradigm Plus.

Platinum is also following a component-based development (CBD) strategy. According to D'Souza, CBD can be valuable when used with UML. "There is some challenge to this, however, because CBD is not all tackled by the UML," he said.

Added DeSilva, "CBD is a new technology, but we have found that people are interested in it. One of the key things we had to do was draw a fine line in what we could put in the UML as a standard. Not every approach is familiar or popular. We can add hooks to the standard, and we can build on top of it, to make sure these things become part of it to bring UML into CBD world."

Cauldwell Spartan, a Platinum customer in Marietta, Ga., develops software for leading staffing companies. With 250 customers, the company has been building products for 15 years, but was lacking an orderly development process.

When the company's owner decided to implement a process, new tools, platforms and object modeling technology were brought in. Platinum's Vayda, and his Clipp methodology, was also brought in to the project.

Driving forces included the need to build truly scalable products, to create a repeatable development process, and to ensure that employees became familiar with all of the new technologies.

"Our programming staff is one of the largest in this industry," said Jeffery Morrison, director of product development at Cauldwell Spartan. "We have 70 employees, and there were about 21 in development. Extensive on-the-job training was required."

The company's product, StaffSuite, tracks everything in a staffing company, including jobs, telephone numbers, addresses, billing information and clients, purchase orders, assignments, representatives, relationships and activities.

Cauldwell Spartan chose to work with UML, the Clipp methodology and Platinum's Paradigm Plus. Visual Basic was used for prototyping.

"We've had no glitches at all with UML," said Morrison. "We've even taught our trainers and sales people the UML notation so they can look at a model and explain how the company can work."

Paradigm Plus worked very well with UML, particularly in publishing. Scripts were also written in Paradigm Plus for code generation. "We generate actual C++ code through these scripts and the UML," said Morrison.

Morrison has used both Rational Rose and Paradigm Plus. "Paradigm Plus to me seems more `real world' in building the application. Rational Rose was more complex and required more of a learning curve," he noted.

Morrison is proud of the company's development process, and also has metrics for his productivity gains. "The industry average is 18 lines of quality code per day per developer," he said. "We're doing upwards of 130 per day."

In addition to learning UML, organizations may be faced with re-evaluating their existing modeling and design tools. While most tools support the UML, some may meet the needs of a particular project better than others. At the same time, these tools may carry some complexities and a learning curve.

Complexity is a relevant term, according to software reviewer James Heires. "Some people require complexity in their tools to get the job done," he said. "The term complexity may be misleading, because in Rational Rose, for example, you have a full-featured diagramming tool. As such, there are complexities built into being a full-featured product."

Heires, who recently completed a full review of Rational Rose that will appear in the November 1998 issue of Application Development Trends, is employed by a Fortune 500 aerospace company in the midwest. He has used Rose, which is a standard at his company. "The tool itself does a good job of implementing the UML," he said. "I feel that Rational is an expert in the UML, and the staff they have keeps Rose complete.

"I understand why Rational has put the complexity in there, but I can also understand why the user sees it as complex," he added. "The initial user may require some handholding, and I think that some simpler tutorials may be in order. The Rose tutorial is good, except that it's a little too much to swallow."