Book a Demo

Author Topic: UML real world example??  (Read 12864 times)

jonespm

  • EA User
  • **
  • Posts: 24
  • Karma: +0/-0
    • View Profile
UML real world example??
« on: September 16, 2004, 04:54:32 pm »
Hi,

I've just been looking at this site and it looks as though EA is a great product and loyal customers (as per this forum space).

I've never really used UML - just read a couple of books. We have a project coming up (VB.Net / SQL Server) and I'm determined that we will use UML modelling. What I would really like is to see a complete UML specification for a non-trivial system - does anyone, per chance, know where I can find such a document. I'm sure just doing that would bring a lot of clarity on the use of UML to achieve a commercial object.

Cheers, Peter

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: UML real world example??
« Reply #1 on: September 16, 2004, 05:23:46 pm »
Forgive me folks ;)

Quote
I'm determined that we will use UML modelling


One must ask - why?  What do you hope to achieve through its use?

The reason I ask is that providing a sample UML "specification" will only help you if the sample is oriented towards the same goals.

Remember, UML is a notation - not a method.  The primary goal of the notation is to allow rapid, clear, unambiguous discussion of the specific issues that concern a particular project - and also (hopefully) to allow agreement to be reached concerning those issues.

If I was trying to design a beach house using a CAD tool, and asked for some sample designs to help me learn how to design buildings I may end up with CAD samples for anything from a high-rise office block to a roller skate wheel assembly.  Neither I expect would provide me with a basis for furthering my understaning of CAD designs for beach houses - nor would they probably help me finish the beach house "on time in budget".

If you are looking for a modern, standardised notation in which to cast your design - then I certainly advocate UML.  If your looking for a great tool at a great price and some great help as you travel the "true path to UML enlightenment"  ;D then IMO you cant go past EA.

However, if you are also looking for a way to employ UML to bring benefits to a specific project then my best advice is to engage the services of skilled practicioners in the area - my beach house is a personal project, but if I was charged with the responsibility for a high-rise project then I would certainly seek the help of experienced professionals.

It is very easy to "go overboard" when initially adopting UML, sinking very rapidly into A&D paralysis.  There are 3 components to successfully using UML - the method, the tool(s) and the UML itself.

hth
Bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

jonespm

  • EA User
  • **
  • Posts: 24
  • Karma: +0/-0
    • View Profile
Re: UML real world example??
« Reply #2 on: September 16, 2004, 05:54:17 pm »
Hi Bruce,

Thanks for the very thoughtful response - I hear what you say and understand. I can see the advantages that UML is likely to bring in terms of achieving a better understanding with the user as to what the system is supposed to achieve and passing that understanding through to the developers. But, at the moment, it is just a little too abstract.

Perhaps you can think back to when you where first introduced to UML - would it have been easier to grasp how all the pieces fitted together and were used if you had, as a point of reference, a UML spec for, say, a billing system?

At the moment all I see is are snippits here, snippits there. If I could see a document that had successfully collected requirements and resulted in a computer system that gave the client what they wanted it would, for me at least, put a whole lot of stuff into context.

Cheers, Peter

Molto Mike

  • EA User
  • **
  • Posts: 66
  • Karma: +0/-0
    • View Profile
Re: UML real world example??
« Reply #3 on: September 16, 2004, 11:16:52 pm »
Hi Peter,

as Bruce mentioned, UML is just the language to express whatever you plan to build. What you are looking for is methodology.

You will find more or less complete (in the sense of going from customer requirements to deployment and further on) usage samples for UML in books and articles about the various software development processes.

There is a dedicated area in this forum to visit. Or search for "Unified Process" on the web, a process that uses UML extensively. (I don't mean to say you should use this process, but it will give you real world ideas.)

Good luck,
Mike

thomaskilian

  • Guest
Re: UML real world example??
« Reply #4 on: September 17, 2004, 12:20:02 am »
To put one on top: I started self study of UML some years ago in a project where I was forced to do so. The result was an (awful) use case model and a (quite useful) class model. I was able to use say 5% of the whole UML language. And it took me some half a year to reach this 5% limit - without any help.

Currently I'd say that my level (for language and methodology) is at some 25% (a wild guess since I have no clue what 100% will mean). However these 25% bring me forward a lot at my day to day work.

To support Bruce: If I had had the chance to get external support I would have taken it with a kiss. Understanding language and methodology just by your own is okay if you are a student.  A professional should take a consultant...

mbc

  • EA User
  • **
  • Posts: 237
  • Karma: +1/-0
  • Embedded software developer
    • View Profile
Re: UML real world example??
« Reply #5 on: September 17, 2004, 12:58:10 am »
Hi Peter

First I will quote what Mike said, just be cause it can't be said enough times:
Quote
UML is just the language to express whatever you plan to build. What you are looking for is methodology.

This is where most people go wrong when they start using UML. They think that the UML will tell them what to do. It will not! It is only a notation.

What is the right way to use the UML then? There are many, many answers to this. Even after everyone in the community has agreed that UML is a good notation, lots of battles are going on over which methodology is the best. Nobody has found a conclusion to this yet. The term for a methodology in this context is a "Process". I will list a few that I know:

UP: Unified Process. A process defined by some of the famous people in OO development, Ivar Jacobson, Grady Booch, and James Rumbaugh. They have written a reference book: "The Unified Software Development Process", Addison-Wesley, 1999. IMO this is a reference book which would not be much use to someone unfamiliar with OO processes.

RUP: Rational Unified Process. The UP detailed by Rational (now IBM). This is a commercial product that comes with document templates, web site framework, etc.

Note: Rational produces the CASE tool Rational Rose (many times the price of EA), and the people above are employed by Rational, so their books are not entirely impartial when it comes to the choice of tool.

ROPES: Rapid Object-oriented Process for Embedded Systems. The main character behind this is Bruce Douglass, who is employed by I-Logix, the company behind the CASE tool Rhapsody. You can download a whitepaper (by Douglass) about ROPES somewhere on the internet. Just search for "ROPES process" and ignore all the results about climbing gear manufacturers.

For starters, I would recommend the book "Applying UML and Patterns" by Craig Larman (whom, I think, has ties to TogetherSoft). It gives a UP-oriented introduction to object-oriented development. It is a very good eye-opener to the fact that the UML itself will not tell you what to do.

If you are working with real-time or embedded systems, you should get "Real Time UML, third edition" by Bruce Douglass. It gives many answers to the practical application of UML to specific situations and design questions that other books tend to overlook.

All this said, I agree that the fastest way forward is to employ a professional consultant.

Mikkel

CJ

  • EA User
  • **
  • Posts: 288
  • Karma: +0/-0
    • View Profile
Re: UML real world example??
« Reply #6 on: September 17, 2004, 06:08:49 am »
G'day Peter,

If you want to see UML in context, you may want to check out the following books:

- Teach Yourself UML in 24 Hours (Schmuller)
- UML Weekend Crash Course (Pender)

Also, check out:
- http://www4.informatik.tu-muenchen.de/publ/reports/TUM-I9735.pdf

I agree, though, that consultant is a good idea.
Cheers and best regards.

jonespm

  • EA User
  • **
  • Posts: 24
  • Karma: +0/-0
    • View Profile
Re: UML real world example??
« Reply #7 on: September 17, 2004, 06:17:43 pm »
Hi All,

Thanks for your responses - very much appreciated. CJ I've downloaded (but not yet read) the pdf - I think it will be very useful.

I didn't think I was looking for a process - I have fairly clear idea of how to successfully develop software but I must say that OO development is reasonably new to me - I've only been working with VB.Net for the last 18 months but I think I'm getting the hang of it. Defining what to put into each class is, of course, an issue and one that I'm hoping that UML notation will help with. I've successfully used Use Cases in the requirements phase for a number of years.

What I was looking for wasn't a roadmap on what to do - just a nontrivial example of what an in-the-wild, end-to-end spec, using UML looks like. I just thought (and still do) that it would help to clarify my understanding.

Cheers, Peter



TrtnJohn

  • EA User
  • **
  • Posts: 176
  • Karma: +0/-0
    • View Profile
Re: UML real world example??
« Reply #8 on: September 20, 2004, 05:45:55 pm »
Quote
Hi All,
I didn't think I was looking for a process - I have fairly clear idea of how to successfully develop software but I must say that OO development is reasonably new to me - I've only been working with VB.Net for the last 18 months but I think I'm getting the hang of it. Defining what to put into each class is, of course, an issue and one that I'm hoping that UML notation will help with. I've successfully used Use Cases in the requirements phase for a number of years.Cheers, Peter


I think you may be confused on what is going on here.  UML, the notation, is used as a common language to describe YOUR design.  This is important for working in teams and for documenting your OO systems.  UML will not tell you how to design your system any more than a pencil will tell you what to write on a piece of paper.   But, it can be used as a tool to keep you organized.  

jonespm

  • EA User
  • **
  • Posts: 24
  • Karma: +0/-0
    • View Profile
Re: UML real world example??
« Reply #9 on: September 20, 2004, 06:09:13 pm »
Hi Guys,

Let me state clearly - I do know that UML is a set of formal notations for describing systems from requirements to deployment. So enough already!!

Can I take a straw poll here - except for CJ no one has offered any help regarding non-trivial examples of UML is use.

So do I take it:

1. UML is too difficult to implement without consulting advice that wraps the notation into a methodology.

2. UML is simple enough to understand if you know what you are doing from a design perspective therefore examples are of little or no use and may just confuse.

What's do you think?

Cheers, Peter

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: UML real world example??
« Reply #10 on: September 20, 2004, 06:22:06 pm »
Peter,

Have a look thruogh the Iconix site and their whitepapers.  http://www.iconixsw.com/

Much of their material helped me in my early days - which I must admit suffered from the same attempt to try and understand "all" of UML and object design and how it "all" fits together.

There are also links from the Sparx site to many of their articles etc that directly relate to EA - see the training page http://www.sparxsystems.com.au/IconixCD.html for instance.

Bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

jonespm

  • EA User
  • **
  • Posts: 24
  • Karma: +0/-0
    • View Profile
Re: UML real world example??
« Reply #11 on: September 20, 2004, 09:44:25 pm »
Hi Bruce,

Thanks for the lead. I've ordered the CD - it looks as though it will be very useful indeed.

Cheers, Peter

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: UML real world example??
« Reply #12 on: September 20, 2004, 11:14:37 pm »
Re straw poll:


2  very much so!


Bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

CJ

  • EA User
  • **
  • Posts: 288
  • Karma: +0/-0
    • View Profile
Re: UML real world example??
« Reply #13 on: September 21, 2004, 04:48:48 am »
G'day g'day,

Quote
UML is too difficult to implement without consulting advice that wraps the notation into a methodology


Oh, you can do anything without a consultant.  But if you've got the budget for a big enough project and/or time is tight, an "expert" helps big time.

Quote
UML is simple enough to understand if you know what you are doing from a design perspective therefore examples are of little or no use and may just confuse


UML is as simple or as complicated as anyone wants it to be.  You don't have to use it all if you don't want to.  Also, use the UML notations whatever way you want to ... there are no rules, just guidelines (VERY GOOD guidelines, but guidelines nonetheless).

I wouldn't say that UML is trivial, but it is only a notation.  Where I get hung up is in process, and how to organize all of the elements and diagrams in EA to fit the process, to fit the desired HTML and RTF output, and to facilitate maintenance and development of the system and the documentation.

This is turning into a pretty cool thread...

Here are some more links:

A little analysis, design and programming for An ATM:
http://www.math.gordon.edu/local/courses/cs211/ATMExample2001/index.html

All kinds of stuff:
http://www.onesmartclick.com/programming/unified-modeling-language.html

And of course:
http://www.cetus-links.org
« Last Edit: September 21, 2004, 05:02:23 am by jasonv »
Cheers and best regards.

jonespm

  • EA User
  • **
  • Posts: 24
  • Karma: +0/-0
    • View Profile
Re: UML real world example??
« Reply #14 on: September 22, 2004, 02:55:46 am »
Hi CJ,

Lots of stuff to in those links - thanks for taking the time. The ATM link looks like it will really hit the spot in terms of an end-to-end example.

Thanks and regards, Peter