01.01.2015 Views

UML Weekend Crash Course™ - To Parent Directory

UML Weekend Crash Course™ - To Parent Directory

UML Weekend Crash Course™ - To Parent Directory

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

310<br />

Sunday Afternoon<br />

Repository<br />

A repository is simply a place to store all the work you do in the tool. Most often the repository<br />

is a database. In a few tools, the repository is a proprietary format. This means that<br />

you will be limited to the vendor’s own tools to create reports and do queries. The added<br />

software can be a hidden cost.<br />

Some tools use a relational database, which allows you to augment their reporting features<br />

with standard SQL tools.<br />

Still others use an object database. This can provide some significant productivity<br />

advantages with performance and when working with team development. Object-level<br />

locking allows multiple users to view the same diagram and edit individual elements of the<br />

diagram while others observe the changes.<br />

Code generation<br />

Code generation is one of the big selling features of modeling tools. It is also one of the<br />

biggest sources of skepticism. Modeling tools have had a poor history of code generation,<br />

but the advent of object-oriented programming and object-oriented modeling changed the<br />

problem significantly. Now the diagrams and the code line up so well that there is very little<br />

difference between the two.<br />

The list of languages supported in modeling tools is surprisingly long. The most common<br />

languages include Java, C++, and Visual Basic. Many tools are now supporting Microsoft’s C#<br />

programming language. You will also find CORBA IDL, JavaScript, SmallTalk, C, and Ada,<br />

among others.<br />

One key feature of code generation to be aware of is code markers. A code marker is one<br />

line (or sometimes two lines) of code that identifies where the code fits into the model. It is<br />

generated along with the code. The result is a listing that is two and sometimes three times<br />

longer than you expected. The markers can make the code very difficult to work with. The<br />

upside is that the tools that use this method will often provide an editor that hides the<br />

markers. But then again, you have to use that vendor’s editor.<br />

Most tools have avoided the problem of markers. The result is just the code you wanted<br />

and the freedom to use whatever editor you like.<br />

Integrated editor<br />

Speaking of editors, the situation used to be that you worked either with modeling tools<br />

doing the modeling or you worked with an Integrated Development Environment (IDE) writing<br />

and maintaining code. The line between the two products is becoming blurred. Some<br />

modeling tool vendors have literally built the coding features into the modeling product.<br />

Others have formed partnerships with IDE vendors so that the user (you or I) can move<br />

almost seamlessly between the two. Practically speaking, that’s how it really works. There<br />

are some things best done in a modeling tool and some things best accomplished in an IDE.<br />

One very common situation is the need to define operations. A modeling tool only supports<br />

the operation signature. An editor or IDE is required to add the method to the operation.<br />

Version control<br />

Version control is a fact of life on every project and modeling vendors know it. Most<br />

vendors either provide the version control features in the modeling tool itself or they

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!