Posted By: m1keread | Nov 30th, 2006 @ 2:39 AM
page 1 of 1
Comments: 22 | Views: 7168
m1keread
m1keread
Bored of Captions
Hi Guys,

Our project has decided to adopt UML big style for a new project we are beginning.  Having sat now through 3  days of UML training, I am struggling to see a benefit of this for our project.

The project will be a GUI based graphical rich application.  With interactions between C# front end and Mathematical modelling on either Solaris, OpenVMS or Server 2003 (Preferred).

UML to me seems to be a huge syntactical nightmare, good for communicating design issues between people, but is it any good for actual design.  A miriad of diagrams with a myriad of stereotypes, OCL etc.  None of which sit exactly with the code. i.e. If a change is made to code, I guess it is not reflected in diagram.

So, my initial feeling is "Bloatware" used by Academics, but not applicable to Windows based applications.

Anyone care to discuss ?

regards

Mike
littleguru
littleguru
<3 Seattle
m1keread wrote:
...So, my initial feeling is "Bloatware" used by Academics, but not applicable to Windows based applications...


I hope you exclude students here! I hate UML! It's a nightmare. Tools are not very useful/mature and you invest more time then you get from it. You can't imagine what crazy UML 2.0 diagrams I have done in my life.

The best of this all is that professors at university who are holding the UML lessons are always business people! I haven't seen a real geek holding an UML lesson at our university. Business guys need those diagrams to understand a little bit what happens at the inside. They want to talk with us. Tongue Out

If you think UML is to much for the project you should do only some of the diagrams. Perhaps the class diagram or some flow diagrams... perhaps only for critical code. UML doesn't say you need to do any diagram. Even the tools, don't need to implement the FULL UML standard (there are several steps between non UML and full UML - it's crazy, you know)!

Btw: I'm more for XP or Scrum.
littleguru
littleguru
<3 Seattle
Our professor mentioned in one lecture that we are only going to do UML diagrams in 5 years. No more coding. Just "UML coding". I hope so much we are NOT!

When looking at the tools I can't believe we are going to do any UML only coding for the next 50 years. That's enough for me to be out of business Tongue Out
Dr Herbie
Dr Herbie
Horses for courses
littleguru wrote:
Our professor mentioned in one lecture that we are only going to do UML diagrams in 5 years. No more coding. Just "UML coding". 


That's a bit like the 'This is the year of Linux' line.  I first heard the 'UML will take over in five years' line about, oh, five years ago. Big Smile

UML is good for documentation, but not a useful tool for design (except when a diagram can help you clarify your thoughts).

I only use 'simple' UML: basic class and sequence diagrams.  The rest is just academic 'dreamland' junk.

I once saw a UML diagram of the UML syntax -- it spanned two pages in the UML book I was reading and was totally impenetrable. A picture might be worth a thousand words, but a big picture is too much to take in.

Use UML to augment the plain english description, don't leave the words out completely.

Herbie
Tensor
Tensor
Im in yr house upgrading yr family

For class diagrams, the vs2005 Class Designer is massively more useful than UML now.

Massif
Massif
aim stupidly high, expect to fail often.
Having seen examples of how UML should be run, I can see the benefit for medium to large applications.

Start with your use cases - break them down to scenarios - create first draft interaction diagrams of the scenarios - create first draft class diagrams - polish diagrams iteratively and then write some code. It does have a flow, but it's only really useful if you follow that flow.

However, I never actually got to work on such a project using UML, so I have no idea whether it actually works like that Big Smile

The tools to support UML however are a catastrophe, I've not seen any of the super-expensive tools, but anything less than $1000 is pretty much useless.

IMHO, if they could strip out some things from UML, and create a half-decent tool it could be useful, but at the moment it's almost a hindrance.
Dr Herbie
Dr Herbie
Horses for courses
Massif wrote:


The tools to support UML however are a catastrophe, I've not seen any of the super-expensive tools, but anything less than $1000 is pretty much useless.

IMHO, if they could strip out some things from UML, and create a half-decent tool it could be useful, but at the moment it's almost a hindrance.


I have used the C# generation feature of Visio to create basic class outlines, but that's it.  It's a usefull tool to take some of the donkey work out of the initial class generation, but that's as far as it goes.

I will not be replaced by a UML tool! Smiley


Herbie
Massif
Massif
aim stupidly high, expect to fail often.
We did a comparison of the cheap UML tools, and not one of them came out without some sort of glaring error. In visio I think I was most distressed by the ability to put anything from any of the UML diagrams onto any of the other diagrams.

So you could draw states inheriting from classes and all sorts. Pretty odd stuff. Other people were worried by other things.

And then there's the special joy of using XML to transfer UML diagrams, despite a standard (whose name currently escapes me) we only found two tools which could talk to each other, and I think they were both based on the same open source project. All the other tools either didn't support the standard at all, or supported it in subtly different ways.

Sigh...

I quite liked poseidon, but was told by other team members that it fell over quite badly in wider use.
harumscarum
harumscarum
out of memory
I actually used Enterprise Architect in my previous job but we never really got off the ground with UML. I think UML is great for documentation when a project is complete but too much of a learning curve for the design phase.

Anyone here ever worked with Rational? Curious of how hands off of code you actually are.
littleguru
littleguru
<3 Seattle
harumscarum wrote:
I actually used Enterprise Architect in my previous job but we never really got off the ground with UML. I think UML is great for documentation when a project is complete but too much of a learning curve for the design phase.

Anyone here ever worked with Rational? Curious of how hands off of code you actually are.


I was allowed to use it for university... To complex... Even simple stuff is hard to do...

I don't like tools that add more complexity to a simple task than required. The only button for such a tool is the uninstall button in the control panel.

Btw. don't ask me never something about using Oracle 9i (+) in Windows XP SP2. *grrr*
section31
section31
OutOfCoffeeException
I guess the DSL way is more for developer than UML. Because you have a specific language for a specific task, like the class diagrams in visual studio. One tool I have tested was the VS Together plugin from Borland which works good, but was also a good way to decrease the performance of VS.
Sabot
Sabot
My name is Dave Oliver. I'm a Technical Architect.

UML is not presciptive.

It's a tool box.

You pick the diagramming style and actifacts that suits your need.

The problem with UML is it's coverage is to broad in my opinion.

For my mind a business analyst can document business processes with UML, but a developer cannot get enough detail from UML to start to code.

The people behind UML, the OMG , say the answer is to add more artifacts and rules about logic, I believe there is over 60 artifacts now, so it's just getting to complicated. Better tools isn't going to make it easier.

Microsoft believe the answer is building Domain Specific Languages or DSL's for short. What are simply that, languages, graphical, notational, whatever you like, but for your particular context. Good examples of a DSL are an electonic wiring diagram (graphical) or SQL (notational)

The key to an DSL is that logic/definitions/stuff is all parcelled up logically, an example is a transistor, you don't care about it's component parts that make it up or how it works, so you just create a picture that means transistor.

The same can be done with code and this is what you do with the DSL tool kit version 1.0 that you can find in the Visual Studio 2005 SDK (which you can download from here).

So the next time you think about your class diagram ... think about a DSL being the next logical step. Think about that class, as a whole segment of code, classes, programs ... even whole systems! Why not?

So is DSL going to be the missing link between Business Analysts and Developers? So we can at last start speaking a common language?

Well may be, but we aren't there yet, I believe we are on the right lines with DSL's, I believe a set of domain languages with hand off to each other will evolve but I think they will evolve from us and not from the likes of a software company or an university. I would like to think that this is something we could do right here ... and why not ?

section31
section31
OutOfCoffeeException

Uuups Sabot , the same opinion at the same time.
So, I guess we have a wish. Maybe Vista Ultimate Big Smile
littleguru
littleguru
<3 Seattle
Sabot wrote:
The people behind UML, the OMG , say the answer is to add more artifacts and rules about logic, I believe there is over 60 artifacts now, so it's just getting to complicated. Better tools isn't going to make it easier.


Oooh! The CORBA guys. UML 2.0 adds a lot new diagrams, artifacts and nonsense. It makes everything so complex and you need sometimes draw 3 - 5 diagrams to have everything for a little feature. It's to much overhead.
Sabot
Sabot
My name is Dave Oliver. I'm a Technical Architect.
littleguru wrote:

Sabot wrote: The people behind UML, the OMG , say the answer is to add more artifacts and rules about logic, I believe there is over 60 artifacts now, so it's just getting to complicated. Better tools isn't going to make it easier.


Oooh! The CORBA guys. UML 2.0 adds a lot new diagrams, artifacts and nonsense. It makes everything so complex and you need sometimes draw 3 - 5 diagrams to have everything for a little feature. It's to much overhead.


I'm not excited by UML 2.0 and I'm sure I'm not the only one, this is perhaps why I'm just not hearing stories of it's adoption.

I would be interested to hear about anyone that is using it.

Anyway, if I hear that 'code is the documentation' again ... I will scream ... because this just shows complete lack of understanding. There are more people in the development life-cycle than just coders and they need to understand whats happening.
littleguru
littleguru
<3 Seattle
Sabot wrote:
I'm not excited by UML 2.0 and I'm sure I'm not the only one, this is perhaps why I'm just not hearing stories of it's adoption.

I would be interested to hear about anyone that is using it.

Anyway, if I hear that 'code is the document' again ... I will scream!!!!!


There is so much (sooooooooooooooooooo much) space between UML 2.0 and "code is the document" - Miles, no better: light years!

I haven't seen it also being used very much. The time (a year ago) I had to do UML 2.0 at university I had to draw some shapes and diagrams on our own. On paper, since there was no decent tool to do them...
littleguru wrote:
Our professor mentioned in one lecture that we are only going to do UML diagrams in 5 years. No more coding. Just "UML coding". I hope so much we are NOT!


We've been using UML only coding for a couple of our software projects for the past 4 or 5 years. The advantages in coding time and ease of coding are minimal at best. The real advantage of model based design (and this is a HUGE advantage) is in simulation and testing.

littleguru wrote:
When looking at the tools I can't believe we are going to do any UML only coding for the next 50 years.


These tools are already on the market, and being used by millions of software engineers already. The tools are very mature.
littleguru
littleguru
<3 Seattle
Detroit Muscle wrote:

littleguru wrote: Our professor mentioned in one lecture that we are only going to do UML diagrams in 5 years. No more coding. Just "UML coding". I hope so much we are NOT!


We've been using UML only coding for a couple of our software projects for the past 4 or 5 years. The advantages in coding time and ease of coding are minimal at best. The real advantage of model based design (and this is a HUGE advantage) is in simulation and testing.

littleguru wrote: When looking at the tools I can't believe we are going to do any UML only coding for the next 50 years.


These tools are already on the market, and being used by millions of software engineers already. The tools are very mature.


Expressionless help!
PerfectPhase
PerfectPhase
"This is not war, this is pest control!" - Dalek to Cyberman
Detroit Muscle wrote:


We've been using UML only coding for a couple of our software projects for the past 4 or 5 years. The advantages in coding time and ease of coding are minimal at best. The real advantage of model based design (and this is a HUGE advantage) is in simulation and testing.



I've used a UML tool for doing state machines for embedded systems, that really is worth while and saved me sooo much time!

Massif
Massif
aim stupidly high, expect to fail often.
Detroit Muscle wrote:

These tools are already on the market, and being used by millions of software engineers already. The tools are very mature.


This just makes me think the tools you're using are of the hugely expensive variety. I haven't had the opportunity to use the really expensive variety but until mature tools reach the mass-market I think I'll side with the "we need better tools" camp.
harumscarum wrote:
I actually used Enterprise Architect in my previous job but we never really got off the ground with UML.
I like Borland Together, is very cool and easy to use tool.

UML is cool, i like use case, class and activity diagrams, they are very, very usefull to help understand other peoples what you what to do. The rest of diagrams sucks!

littleguru wrote:
Business guys need those diagrams to understand a little bit what happens at the inside. They want to talk with us. 
Tongue Out
ScanIAm
ScanIAm
On a scale of 1 to 10, people are stupid.
Ion Todirel wrote:


UML is cool, i like use case, class and activity diagrams, they are very, very usefull to help understand other peoples what you what to do. The rest of diagrams sucks!


completely agree.  The cool part is that the use use cases and activity diagrams should help the developer recognize when they are overengineering.  Just make the code do what it needs to do, not 100 other unlikely possibilities.

Plus, it helps you code from the user point of view.

albertat
albertat
albertat
UML is a nightmare. I write this from my home office, at 5am, trying to write yet another use case, and submitting yet another change request for the other 24 use cases i had to do for my part of the project. I´m a business analyst, have never coded a single line in my life, and frankly, i don´t see any value for the business in spending so much time writing and updating use cases. I just feel we´re developing square, unnattached bits of software that don´t play well together, and are a PAIN to write. From what i gather from your comments, it´s also not very useful for pure coding...so why do we continue using this old bloatware?? I have seen XP and SCRUM, how do you think they would work for a large website project?
page 1 of 1
Comments: 22 | Views: 7168
Microsoft Communities