Any good UML or RUP experiences?

Started by
10 comments, last by lucalus 21 years, 11 months ago
I am a senior in Computer Science, and right now I am in a class called Software Project where we have been learning some basic UML and software design concepts while working on a project for our university. Our instructor has no experience in this field (he''s a business prof. with experience with relational databases), but he got Rational to donate a bunch of software and he has had some training in the use of Rational''s products. So far, we have made a Vision document, a Requirements document, and drawn some Use Case Diagrams, all of which took most of the semester for our instructor to teach (he tried to split up the Rational Suite Enterprise among our classmates so we would each learn an app and try to integrate that knowledge to help our project along). The problem we faced is the project we are working on is so small that if we had just sat around and coded it it would have taken a few weeks at most. The Requirements and Vision document helped a lot in giving us ideas of how to implement the design, but doing diagrams for the project proved to be a waste of time (eventually my classmates convinced him to just let us code the project, but we ran out of time in the semester and those of us coding have to work on other class work so we can graduate). Sorry for the lengthy intro (I was a Math/English double major before I transferred into COSC). So anyway the question I have is this: Has anyone had good experience with UML (possibly with Rational tools and RUP)? And is this method a good way to run a software project? I can see how it could be good on a larger project, but our project that the instructor picked was small enough that 3 people could have completed it from start to finish in half of a semester. I just want to know I haven''t wasted 4 credits (even though I had to have them to graduate) learning this stuff.
"Not everything that can be counted counts, and not everything that counts can be counted." - Albert Einstein (1879-1955)
Advertisement
During the software project class, I learned a lot about the software design process (though most was learned from mistakes made). I would just like to learn some successful or unsuccessful projects and how they turned out or what caused them to fail. I think our problem was the inexperience of the class and the instructor. Thanks!
"Not everything that can be counted counts, and not everything that counts can be counted." - Albert Einstein (1879-1955)
I use rose on a semi-daily basis for my indie project. For any large scale project I definately recommend it. It keeps you well organized, and I definately get better results using UML than without it.

If you don''t hate UML (As many people do right off the bat) then you are a step ahead of the game. Try using it on any of your personal projects (that are of moderate size). Once you get used to it, it will improve your software design abilities.

Plus, you get a big fat salary hike when you say I''m a software architect, rather than a programmer.
He''s a bad motha - Shut yo mouth.
Yah I actually enjoyed RUP and UML, and I think I understand it well enough to use it in a project. I am comfortable with Rational Rose. I am glad to hear you find UML and RUP useful.
"Not everything that can be counted counts, and not everything that counts can be counted." - Albert Einstein (1879-1955)
As you might find from other UML threads in here recently, I am not much of a fan of UML in small projects, or indeed for game development. However, it is better than nothing. I think the best indicator of whether you need a diagram or not is whether someone can totally understand the system when you describe it to them verbally.

On the other hand, a streamlined version of the RUP really does benefit any type development in my opinion. Ever found yourself hacking away at 4am before a next-day deadline because your project doesn''t work at all, even though you know that a single fix - if you could find where to apply it - would make it all work? The RUP avoids that by ensuring that you have something deliverable at the earliest possible stage. But I am talking about taking the basic beliefs of the RUP and applying them, as opposed to working directly from the book in a ''high ceremony'' fashion.

[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files ]
Also the spirit of UML is something like "if you dont need this diagram then don''t do it". RUP also has a more flexible development style than say the waterfall modell. In rup you can fix and add code if you like (sort of, there are som byrocratic issues ) but for medium to large projects RUP and UML is very good

--spencer
--Spencer"All in accordance with the prophecy..."
If RUP or ROPES, and UML don''t do it for you, take a look at this
XP

Magmai Kai Holmlor

"Oh, like you''ve never written buggy code" - Lee

[Look for information | GDNet Start Here | GDNet Search Tool | GDNet FAQ | MSDN RTF[L] | SGI STL Docs | STFW | Asking Smart Questions ]

[Free C++ Libraries | Boost | ACE | Loki | MTL | Blitz++ ]

Shamelessly ripped from Oluseyi
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
Yah. Our class convinced our instructor to drop the RUP and UML so we could just code, and from there it was very much like XP. Thanks to everyone who responded to this. It gave me some good thoughts and perspective on RUP and UML.
"Not everything that can be counted counts, and not everything that counts can be counted." - Albert Einstein (1879-1955)
Skipping design and just coding is the reason that most software projects fail. Now I''m not saying that by not using Rose, you weren''t doing design. But the "just code" statement sort of implies that.

As for personal experience: I am finishing up a contract with a telecom company, and they''ve embraced RUP pretty completely. And it''s a huge pain in the butt. Not so much because of shortcomings in RUP, but because of the idiocy of the people implementing it.

On an indie project with one or two people, most of RUP is overkill. It''s a little easier to manage when you have all of the Rational tools, but still overkill.

UML, on the otherhand, is much more useful. Unless you''re doing something trivial, you will only benefit from having some diagrams. UML is basically a way of expressing your design, and if you don''t have *some* kind of diagrams (UML or whatnot), I would strongly suspect that you don''t have a design.

Take care,
Bill
Thank''s for the input Bill. Those are the conclusions I reached through completing the class (we presented our final and incomplete project to our stakeholders today). We used UML and made Use Case Diagrams of our project, which helped alot in the implementation in code, but if we would have sat down and done Sequence diagrams, class diagrams, and so on, we would never have gotten what we did done. The stakeholders weren''t surprised that we didn''t finish because most Software Project classes here don''t either, but it wasn''t the point of the class. Thanks for the input on RUP and UML!
"Not everything that can be counted counts, and not everything that counts can be counted." - Albert Einstein (1879-1955)

This topic is closed to new replies.

Advertisement