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
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)
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.
I can't see how it would be helpful, unless doing a non-OOP Event-Driven program (do those exist?)
So, UML can be used only for Object-Oriented software development.How is it more helpful in any software development process?
Busy Penguin
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.
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.
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
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks