Jump to content

About Rational Rose & UML

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
11 replies to this topic

#1
gamiR

gamiR

    Learning Programmer

  • Members
  • PipPipPip
  • 96 posts
I am new to UML.In our academic course we have to make project , for this we have to make all kinds of UML diagrams for our project.For this I think we have to use Rational Rose Software.Can any one help me from where i should start for study of these things.Also please suggest some study materials in market as well as on web.
Busy Penguin

#2
morefood2001

morefood2001

    Speaks fluent binary

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,720 posts
UML is a picture of what a program looks like, specifically an object oriented program.

There are several ways classes talk to each other in a program or create each other and uml makes this easy to read.

A nice writeup that I found about uml can be found here (pdf)

#3
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
You do not need to use Rational Rose to create UML diagrams. Most any decent diagramming tool can be used, including Visio (expensive), Dynamic Draw (freeware) and Dia (open-source). You may be able to get an academic license of Rational Rose at their website, but I would clarify with your instructor what is expected. Also, be aware that UML will not eliminate the need for other design tools, such as flowcharts, etc.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#4
John

John

    Writes binary right handed and hex left handed

  • Moderators
  • 6,321 posts

morefood2001 said:

UML is a picture of what a program looks like, specifically an object oriented program.

There are several ways classes talk to each other in a program or create each other and uml makes this easy to read.

A nice writeup that I found about uml can be found here (pdf)

I don't like to consider a UML diagram "a picture of what the program looks like." It merely represents the relationship between objects. Can UML be used in a non OOP language?

#5
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
I can't see how it would be helpful, unless doing a non-OOP Event-Driven program (do those exist?)
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#6
morefood2001

morefood2001

    Speaks fluent binary

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,720 posts

WingedPanther said:

I can't see how it would be helpful, unless doing a non-OOP Event-Driven program (do those exist?)

John's argument is valid. I've never seen UML used outside of OOP programs, they simply wouldn't be helpful.

#7
gamiR

gamiR

    Learning Programmer

  • Members
  • PipPipPip
  • 96 posts
So, UML can be used only for Object-Oriented software development.How is it more helpful in any software development process?
Busy Penguin

#8
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
Because most modern languages (C++, VB, C#, Java, Delphi, etc) are OOP, and most software is developed using OOP techniques, UML is relevant to the design. It's just important to be aware that UML will only be part of the design. You will still need flowcharts for describing class methods and data dictionaries for describing databases used.

When developing new functionality in my job, we create a functional specification (it talks ONLY about what the user sees) as well as a technical specification (which discusses screen-database mappings, function calls used, etc). UML can be part of the technical spec, though it may or may not be necessary.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#9
morefood2001

morefood2001

    Speaks fluent binary

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,720 posts
I rarely use UML diagrams unless the program is huge and there is a lot to keep track of. UML can be helpful when used because it gives the programmer an overview of what the application is doing from start to finish without all the code in the way.

It is also helpful to me when I have a bug in my program that is being generated outside of the class where its being reported at because I can trace where the bug might have originated from without much difficulty.

#10
JGRobinson

JGRobinson

    Newbie

  • Members
  • PipPip
  • 22 posts
I tend to use StarUML to do the diagrams - but tend to major on the sequence diagrams, and very high level component diagrams, just so I can understand and refine all of the messages being passed, before I commit to code.
Hope this helps
Graham - http://programmingtips.co.uk

#11
G_Morgan

G_Morgan

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 537 posts

WingedPanther said:

Because most modern languages (C++, VB, C#, Java, Delphi, etc) are OOP, and most software is developed using OOP techniques, UML is relevant to the design. It's just important to be aware that UML will only be part of the design. You will still need flowcharts for describing class methods and data dictionaries for describing databases used.

When developing new functionality in my job, we create a functional specification (it talks ONLY about what the user sees) as well as a technical specification (which discusses screen-database mappings, function calls used, etc). UML can be part of the technical spec, though it may or may not be necessary.

There are activity diagrams within UML. These are basically flowcharts with a different name. Personally I find state machine diagrams more useful than flowcharts anyway. They have them in UML as well.

Anyway, yes UML can be used outside of OOP. While the class diagram is linked directly to OOP the use case diagram, activity diagram and state machine diagram are useful in all forms of programming. Even the class diagram can be used in procedural programming if you go out to program in an OOP style within procedural (i.e. make the self variable explicit as a pointer in every function, provide functions to cleverly construct new instances rather than using malloc directly). Remember that OOP is a way of thinking about programming and is absolutely separate to languages that enforce or support OOP. You can program in an OOP style within C. In fact the Glib library uses C macros to create an entire object system with polymorphism and the rest within C.

#12
qwertyuiop123

qwertyuiop123

    Newbie

  • Members
  • PipPip
  • 18 posts
hi dude, could you try with a simpler tool? maybe rational isn't the best tools for uml learning it is too complex, too heavy and use too many resources, but take care is a great tool if you can pay for it.
pick up one of this CASE Tools - Computer-Aided Software Engineering Tools Community : Uml Modeling and choose one for single user (easier) and start to fight only with uml concepts not with the tool.

kind regards

Edited by qwertyuiop123, 27 May 2011 - 05:05 PM.