Sunteți pe pagina 1din 7

Rational Rose is an object-oriented Unified Modeling Language (UML) software design tool intended

for visual modeling and component construction of enterprise-level software applications. In much
the same way a theatrical director blocks out a play, a software designer uses Rational Rose to
visually create (model) the framework for an application by blocking out classes with actors (stick
figures), use case elements (ovals), objects (rectangles) and messages/relationships (arrows) in a
sequence diagram using drag-and-drop symbols. Rational Rose documents the diagram as it is being
constructed and then generates code in the designer's choice of C++, Visual Basic, Java, Oracle8,
CORBA or Data Definition Language.

Two popular features of Rational Rose are its ability to provide iterative development and round-trip
engineering. Rational Rose allows designers to take advantage of iterative development (sometimes
called evolutionary development) because the new application can be created in stages with the
output of one iteration becoming the input to the next. (This is in contrast to waterfall development
where the whole project is completed from start to finish before a user gets to try it out.) Then, as
the developer begins to understand how the components interact and makes modifications in the
design, Rational Rose can perform what is called "round-trip engineering" by going back and
updating the rest of the model to ensure the code remains consistent.

Rational Rose is extensible, with downloadable add-ins and third-party partner applications. It
supports COM/DCOM (ActiveX), JavaBeans, and Corba component standards.

Rose facilitates object-oriented analysis and design, better known as OOAD. In fact, Rose is an
acronym for Rational Object Oriented Software Engineering. The great thing about Rose is that it
allows analysts, engineers, writers, and project managers to create, view, manipulate, and modify
elements in a Unified Modeling Language (UML) across the entire enterprise, using one tool and one
language. The tool͛s true value is that it exposes software development problems early on in the
development life cycle, helping you manage everything from straightforward projects to more
complex software solutions. Basically, Rose supports use-case-driven object modeling.

Rose includes features that simplify the software development process:

jc UML modeling

jc Multilanguage development

jc Component-based development

jc Internet Web publisher

jc Basic report generator

jc Database schema generator

At the ProjectWorld Boston conference, Rational Corporation called Rose an invaluable aid to any
development effort because it unifies software development teams through modeling. After working
with Rose on a frequent basis, I͛m beginning to agree.
Ä 
 

First, let͛s explore why you͛d want to use Rational Rose. The most immediate advantages are that it:

jc D           Rose provides complete team support, allowing users


(developers and analysts) to work with their own version of the model in their own
workspace.

jc !                 From defining the user


requirements to implementation, everyone working on the project understands a universal
language. You can use Rose at any stage in the life-cycle process. It helps you uncover and
prevent potentially serious mistakes downstream.

jc                Any change you make to a Rational Rose model


you make available to others by using a configuration management and version control
(CMVC) system. This lets you integrate changes into the model, no matter where you are in
the development stage. Rose typically uses add-in tools, such as Rational͛s ClearCase and
Microsoft͛s Visual SourceCafe, for this purpose.

jc ã                An advantage here is that you simply


use the models created in Rose as a basis for design and development. I͛ve seen many
projects fail because of poor documentation practices.

jc h           You should consider using Rose when facing software that
doesn͛t fit users͛ needs, since Rose lets you go back and correct flaws within the legacy
application.

Rational Rose uses a GUI that includes a browser, a diagram window, a document window, a
standard toolbar, and a diagram toolbar. You simply configure the Rose interface to suit your needs.
Let͛s face itͶin today͛s Web-based IT environment, it becomes necessary to design scalable
architectures that are easily adapted to constantly changing business conditions. For those solutions
that rely on technologies like Enterprise Java, Web, XML, or embedded technology, Rose accelerates
implementation by automating proven architectural models for each solution. Rose also establishes
a platform for automating architecture-based best practices tailored to specific solution
technologies.

One of the highlights of Rose is its add-in feature, which allows you to simply install programming
languages to generate the necessary code. You can quite easily install C++, PowerBuilder, Forte,
Java, Visual Basic, Oracle 8/9, and XML as add-ins. Rose͛s add-in feature also lets you install
nonlanguage tools, such as the popular Microsoft Project. Once you͛re working on a model, you can
simply deactivate any of the add-in features you don͛t want.

A key factor about Rose is that it allows users to tailor the application to specifically suit their
requirements. Apart from providing a level of tractability throughout the software development life
cycle, Rose has many features and functionality that users today want to see, such as ready-built
frameworks for different types of modelsͶa framework in this context being a set of predefined
model elements that are needed to model a specific type of IT solution. Rose can also provide a set
of reusable components, and it even provides templates for creating new models.

You access frameworks through a Framework wizard, which has a library of predefined frameworks.
The Rational Unified Process (RUP) framework is one example in which Rose provides a model
structure that follows RUP guidelines. The RUP is also tightly integrated with Rose, making it easy to
use. Additionally, it͛s no problem to create your own frameworks based on existing models. Rose
lets you reuse common model elements.

You can also use stereotypes to subclassify UML model elements. For example, you can assign the
actor or interface stereotype to it, thereby defining your own stereotypes and assigning them to
model elements. This lets you create stereotypes for use cases, classes, packages, relationships,
operations, and attributes.

One additional aspect is that Rose facilitates forward and reverse engineering. Forward engineering
typically involves generating code skeletons from Rose models. Reverse engineering allows you to
update or reuse existing code by pinpointing and isolating deviations from the original design.

The list goes on and onͶfrom creating simple associations to reflexive relationships between classes
to dependency relationships between packages and relationships. I believe Rose is truly impressive.
4   shows the various platforms that Rational Rose supports.

 
   
Rose utilizes diagrams as views of the information in a model. Once developed, Rose automatically
maintains consistency between the diagram and its specifications. The following key diagrams are
used:

jc       Analysts and developers use these to capture user requirements by


graphically depicting how the system works. During the design phase of the project, Rose
allows you to actually specify the system behavior (what Rose calls use cases). The use case
diagram therefore graphically represents the system boundary. Typically, a use case diagram
consists of (1) actors or things outside the system, (2) use cases, and (3) relationships
between actors.

jc =     Rose uses class diagrams to graphically describe generic descriptions of the
system you͛re going to build. Class diagrams contain icons that represent classes and
interfaces and their relationships to one another.

jc ã     h    Rose allows users to use statechart diagrams (which are
state-driven) to model the dynamic behavior of individual classes or objects. Statechart
diagrams are very similar to activity diagrams (which are activity-driven). Basically, these
diagrams show you (1) the sequence of states that an object will go through, (2) the events
that cause a transition from one activity to another, and (3) any actions that result from the
state or activity change.

jc !       Rose uses interaction diagrams as a collective name for collaboration
and sequence diagrams, which, in essence, graphically represent interactions. Collaboration
diagrams show how objects are associated with each other, whereas sequence diagrams
show time-based interactions between objects.

jc =       Rose uses component diagrams to clearly reflect the physical


dependency relationships between components (i.e., main program, subprogram, packages,
and tasks) and their arrangement in a graphical manner.

jc Ä       Using the deployment diagram, Rose allows users to graphically


show the connections between processors, devices, and connections.

= 

Ä   
   
     
 
             
     
                   ! 
    
"            
#          $
  %  %% 
 %
   

D  
  




            


         
      #
 $     

 #  $ 


D  


&    
           
 


&     
          

 

'
           

   




 #(  ))*+,-   $ 

     
   
 #+ .! $

/     '    


    %  
%#+ ( 
/
 $     !  
 0
  /  /  
!         
 '  '+

/  /  
  % %
    !  
 
  
     %  %       
 #  $   
%  %    % 
  %        #  $


          

D    

In Rational Rose:

jc Create the model in O 

jc Create a new Component in =


 

jc Right click to ¢     s, select 


jc Select the classes for component, right click and select h

jc Right click for the appropriate language, e.g. ANSI C++, select r  = 

jc The Code Generation form comes up. All classes will be specified ADD or UPDATE. Hit OK to
complete.

   

In Rational Rose:

jc Click File new for and new model, cancel out of the project selection

jc Select Component View - Main

jc Add a new Component

jc Right click component to select Open Specifications ...

jc Select language e.g. ANSI C++ and hit OK

jc Right click ANSI C++ - Open C++ Specifications ..

jc On the Files tab, hit Add Files, and click the ellipse (...) button

jc Select all *.h and *.cpp files and hit Open then OK

jc Right click component to Reverse Engineer ... and hit OK

jc Select Logical View, there is a new folder called C++ Reversed Engineered

jc Select the C++ Reversed Engineered Folder

jc Add classes to Logical View - it will show inheritance and aggregation

    

In Rational Rose:

jc Select File, Print, Layout and choose Fit to page

jc In Printer Properties select Landscape

jc Hit Print Preview to check and OK to print

  

The benefits of using Rational Software Architect include:

jc Build software architecture that supports change with a common platform that facilitates
easy roundtrip engineering and synchronization of models and code.

jc Accelerate implementation and facilitate maintenance of a successful service-oriented


architecture (SOA) solution, such as a web service, with powerful tools and process guidance
jc Leverage UML to ensure the numerous stakeholders within your software development
projects are continuously communicating, and use defined specifications to jumpstart
development.

jc Gain insight into distributed projects and tighter control of shared information.

†  

¢  
c 
  c   c 
c  c  cc 
cc
c
c ccc 
  c
ccc c  cc   
c
   c   c
c  c  c  c   cc  c
c  ccc   c
c
 cc  cc   
c

c 
c cc ccc c c c
 cc
c  cc

c!c" cccc 
c
c c
 c c 
  c   cc
cc 
c   cc  cc  
c 
cc#  c c
 c c   ccc 
c   cccccc   c
   c 
c   c c  c$c%  &c¢¢'(c)¢  ¢ 
c
'c(   *c
c+  &c¢"c)¢ c"
  c ,*c¢ c
  c 
c  

c- c'  " c
c.
/
 c(ccc
cc  c 
c  ccc 0
cc c c
c
1 c2 c  c cc$ c 
cc  cc
 cc

 c
c  cccc¢¢'( c

c  cccc
ccccc
c,  cc  c
c   c
 c
c¢" 
3cc c cc  c
c
   c   c cc  c
   cc  c  
c 
c  
 cc$ c 
c
c¢"c
cc   ccc  
c c4
c5 c6ccc  
c

 ccc
c  c cc cc   c
  c
c

c  c
c 
ccc
   cc c 
 c
c cc
 
c c  c
 c7c c cc
c
cc c cc 
cc
 c8
c$c)+  c' c. *c2c%  c)¢ *c
c
% c+  c)8  c( *c   cc
 c
c cc&c 
c
c  cc   c 0
ccc 
 c  
c 
c


c7cc cccc$c¢¢'(c
c¢" c 
ccc

cccc  
c 
  c   ccc c-c c 
c
c 
c  c
ccc

  c2c 
c cc  c c
  c cc cc    cc  cc c c
c
c
 cc
cc cc'
c c  cc

cc
c  c c  ccc   
c 1 c  c
cc c c c  c 
  c   c
c  c c 
cc c

  c c c c
cc
ccc   c
c
c
   cc cc c 
c  c ccc  c  
c
cc


c  cc  ccc 


c c

c c
7cc   cc  cc  
cc  ccc19 c
cc 
 c c c cc cc c  c 
c
 ,c
3cc

cccc c  c c  c   c c


:cccc 
  c   c c c c   c
c  c
4 cc   ccc c   
c  c
c
 cc c 1c

  cc   c   c-cc
cc  cc  9c'
cc
  c   c,  c ;c'
cc   c c  cc
 c c   ; c'
cc
cc1cc   c  c
 c
c  cc  c c   c
c  cc 
cc
  cc
c c 
<cc  cc   c
c cc  c

 c2 c ccc  c c 


cc c
cc  c ccc
  
c c"1cc  c c
cc
c c c< cc

  cc   c
cc
c cc cc   cc c 
 c
ccc
cc 1 cc   c  cc="#c
  ccc 1cc
c
c cccc cc="#cc
c c c¢ c!c
 c+  c 
c$cc+  c¢ c&c  cccc  c
cc$c
c¢"c 
cc cc
c cc= 
c"
c)ccc
 c 
*cc 
c c¢ c c7
cc c  c%  c 
c
+  c
ccccc="#ccc

cc c¢¢'( c
¢cc 
c cc ccc="#c  cc
  c c% c>c
 c>cc 
c
c
c
1c cc   cc
   c   c4 cc cc c  c cc  cc
  0 ccc="#cc ccc  c?c 
cc="#c
  cc c  0 c  c c

ccc1c
cc
 c
c  c="#c
  cc  c   ccc="#cc

  c  

c4  c(,  c. c5 61
c2# c2  c
2$"c2.¢@c.  c".2c' c"c¢ c+  c c
2   c
c= cc   c 
c cc="#ccc 
  c
  ccc 
 
cc c
c  ccc
c c
c  c
   c="#ccc
cc

0 ccc¢ c"    c
8c)¢"8*c c% cc c ccc,cc ccc

c

  c    c$ c% cc
c% ccc    c cc c
c

cc  
 c c cccc c
c  ccc
   c¢"8c c  
 c7
 c.   c( c¢  c# 
c
6   c   c6c+ c   c' c'   c'c
c
1 c7c  c1ccc 
c 
c c.cA  cc".2c' c

c
 
c c(
c(1 cc+  cc  0c c="#c c
cc
  cc="#ccc

0 cc7c
c  ccc="#c
) c*cc
ccc¢"8cc

0 c c% cc2 c'  c
cc cc
c cc¢"8c7  c
c4 c1c-c)74-*c

cc¢"8c7c$
c
c ccccc cc c¢"8c
 c="#cc c

c cc¢"8c c@ c!c c
"   ccc="#cc c1 cc cc¢"8c+ c1c-c)+-*c

c c.cA  cc+-c 
c c
 c c="#c3c c% cc2 c c
cc+-c 
c="#c:cccc 
c
 c
 c c
  c  c

S-ar putea să vă placă și