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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

14<br />

Friday Evening<br />

be some strengths and weaknesses in each approach. This should give a fair idea of the<br />

opportunities available to you and the factors that may influence your choices.<br />

The list of all methodologies is far too long to cover here, so at the end of the session I’ll<br />

point you to a resource where you can check out many of the others and dig a little deeper<br />

into the methodologies presented here.<br />

I have selected these four methodologies because they represent the diversity inherent<br />

in system development. The Rational Unified Process works well in large projects where<br />

quality artifacts and communication are critical. The Shlaer-Mellor Method was developed<br />

primarily to address the unique needs of real-time systems long before the <strong>UML</strong> existed,<br />

but has since adopted the <strong>UML</strong> notation. CRC is almost more of a technique than a methodology.<br />

It was designed as a tool to help people gain an understanding of objects and how<br />

they work. Extreme Programming tries to reduce many of the existing development practices<br />

to the bare essentials, attempting to optimize the relationship between developers and<br />

clients.<br />

The Rational Unified Process<br />

One method that has received a lot of interest recently is the Rational Unified Process<br />

(RUP). RUP is the latest version of a series of methodologies resulting from a blending of<br />

methodologies. You may have heard the names Objectory Process, the Rational Approach,<br />

the Rational Objectory Process, and the Unified Software Development Process. These were<br />

all predecessors and have been synthesized into the RUP. Actually, it gets a bit confusing<br />

because the Rational Unified Process was a proprietary process within Rational Software,<br />

Inc. The merged method was published in 1999 as The Unified Software Development<br />

Process. The method has since been made public and the name reverted to the Rational<br />

Unified Process (RUP).<br />

The hallmarks of RUP are the two terms incremental and iterative. These concepts are<br />

part of most current methods, but RUP places particular emphasis on their value and<br />

their associated artifacts. The goal of the methodology is to deliver an executable release<br />

of a product, an increment of the product for every pass, or iteration, through the<br />

process. The motivation for this approach is to keep delivery times short and deliveries<br />

frequent. This prevents the historical problem of projects that run for months or even years<br />

before they actually produce anything. It also supports early review and early problem<br />

detection.<br />

Note that in the very early increments, the concept of an executable release is a bit of a<br />

stretch. Typically, you might produce prototypes or layouts without anything executable<br />

until at least a few iterations into the project. The key is to produce some verifiable output<br />

for the clients.<br />

The process is built around the two concepts of project lifecycle phases and process workflow.<br />

Figure 2-1 shows a two-dimensional matrix. The horizontal axis represents the progress<br />

of the project over time. The vertical axis represents the core process workflow. Using this<br />

visualization, you can see that in each iteration, or small step through the life of the project,<br />

the team is working through all the steps in the process workflow. In each subsequent<br />

iteration, the team digs deeper into each activity in the process workflow.<br />

The workflow consists of a set of activities, business modeling through defining the environment.<br />

Each activity is associated with a set of artifacts or work products. In most cases,<br />

the artifacts are <strong>UML</strong> diagrams, but they may also be items like requirements documents,<br />

test plans, risk assessments, deployment plans, and much more.

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

Saved successfully!

Ooh no, something went wrong!