Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / November 2006

Tip: Looking for answers? Try searching our database.

Use Case... advocacy

Thread view: 
Luca - 02 Nov 2006 22:03 GMT
I'm teaching UML to a group of "old fashioned" developers.

I convinced them of the importance of Activity diagrams,

but they seems hard in uderstanding  the GREAT importance of Use Cases.

I told them
- UC and actors identificationit's an easy way to start,
- that UC can be used as test cases,
- etc,

any other great motives in favour of UC ?

Thank you !
Ben_ - 02 Nov 2006 22:06 GMT
See if "Benefits / Limitations of Use Cases" at
http://en.wikipedia.org/wiki/Use_case helps.
Wesley Hall - 02 Nov 2006 23:41 GMT
> I'm teaching UML to a group of "old fashioned" developers.
>
> I convinced them of the importance of Activity diagrams,
>
> but they seems hard in uderstanding  the GREAT importance of Use Cases.

If they are any kind of developers at all then they have already spent a
great deal of time defining use cases. The fact that they are not used
to calling them "use cases", or drawing them in UML is irrelevant.

My advice would be, make up some basic system requirements and get them
discuss the design, what features the software would support and who
would use it. Direct the discussion in the direction of  administration
functions the system would require and who would accomplish these tasks.
Then discuss any time based tasks, and general maintainence requirements.

Then.... draw the discussion as a use case diagram... I suspect they
will get it.
Arne Vajhøj - 03 Nov 2006 02:59 GMT
> I'm teaching UML to a group of "old fashioned" developers.
>
[quoted text clipped - 8 lines]
>
> any other great motives in favour of UC ?

You need to describe the functional requirements.

You can either use a self invented standard that
no new employees or customers has heard about or
the the industry standard use cases.

Arne
bobsardo@gmail.com - 03 Nov 2006 05:50 GMT
If the "old fashioned" developers are from the mainframe world, then I
would recommend that you ask how they documented requirements,
unit-test test cases, user-test test cases, and how did they measure
their results. Once they have defined this to you, thereby creating a
communication baseline, you are prepared to correlate Use Cases to
their older methods.

If you are using tools like RequisitePro to aid in documenting
requirements, and then Clearcase or other Rational products to test the
code, then maybe you need to walk them through in "baby steps".

Hope this helps. I was (and guess I still am) one of those "old
fashioned" developers. You have to hold our hand to help us understand,
but you should do it so that we think we are still the experts.

PM Bob

> I'm teaching UML to a group of "old fashioned" developers.
>
[quoted text clipped - 10 lines]
>
> Thank you !
Thomas Weidenfeller - 03 Nov 2006 09:28 GMT
> but they seems hard in uderstanding  the GREAT importance of Use Cases.
>
> I told them
> - UC and actors identificationit's an easy way to start,
> - that UC can be used as test cases,
> - etc,

Well, there are use cases, and there are UML use cases. The later are of
limited use, unless of course, you like to talk in baby language with
stick figures. And no, it doesn't make things better to call your stick
figures actors.

Use cases are a method to express requirements by describing aspects of
the system. One method, but not the only one. There is no point in use
cases if the requirements are already well expressed in another way.

Done right (not that stick figure junk), use cases are up to par with
other requirements representations. But the "GREAT importance" of use
cases is exaggerated. Compared to other ways of specifying requirements
they are not very special.

/Thomas
Signature

The comp.lang.java.gui FAQ:
http://gd.tuwien.ac.at/faqs/faqs-hierarchy/comp/comp.lang.java.gui/
ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS/computer-lang/java/gui/faq

Simon Brooke - 03 Nov 2006 11:18 GMT
> I'm teaching UML to a group of "old fashioned" developers.
>
[quoted text clipped - 8 lines]
>
> any other great motives in favour of UC ?

If you can't find a compelling case for advocating it, I suggest you
shouldn't advocate it. Those 'old fashioned' developers have masses of
experience, and have seen dozens of methodological fads and fashions come
and go. They may just know a little more about the pragmatics of getting a
well engineered solution built in reasonable time than you do.

Signature

simon@jasmine.org.uk (Simon Brooke) http://www.jasmine.org.uk/~simon/

       ;; It's dangerous to be right when the government is wrong.
       ;; Voltaire                     RIP Dr David Kelly 1945-2004

Luca - 03 Nov 2006 12:14 GMT
I do have maximum respect for them.

That said, they had many problems due to their "old fashioned"
"intuition-based" methods
so I try to teach them
the power of modeling and complete documentation
+... that's why they pay me for (well).

Regards
Luca - 03 Nov 2006 12:11 GMT
Thankyou and ... let me be more precise.

They made a huge work on documenting all their existing ERP
with just

- a list of use cases (just the titles and the UC diagram, no
storyboarding-scenarios, not even an internal description)

- an Activity diagram for each Use Case

I must say their point is not so bad,
maybe it's really easier and just as useful

to write UC title and short description and then specify them well with

a good Activity diagram ...?
Chris Uppal - 03 Nov 2006 15:54 GMT
> I'm teaching UML to a group of "old fashioned" developers.

Are they any good ?  if they are then you are probably trying to teach them
stuff that they've known since you were in the cradle.   If not, then why
bother at all ?

It's a standard cycle:

Year N.  Situation is that there are a variety of "methodologies" available,
but none of them seem to work very well in real life.  That's to say that there
are people who can produce good (in whatever sense matters in context)
programs,
but that their presence on a team doesn't correlate with the methodology used
by the team (or to the dedication which that team applies it).

Year N+1.  People are starting to realise this, so they ask themselves: "what
do the good programmers do which is different from everyone else ?".  They find
one or more candidate answers.   They try to apply them in their own
development.

Year N+2.  They find they have some success with the new methods !  (Or maybe
they don't but carry on regardless -- I admit that speculation is a little
cynical).   So they get enthusiastic about the new methods.

Year N+3.  People to whom "methodology" is important, start to notice the new
methods, and convert them into a methodology.  They, or their supporters, build
some buzz around the new methodologies.  A trend starts.  A new fashion
emerges.  The hype builds...

Year N+4.  People begin to apply the new methodologies in less talented teams.
Oddly, the new methodologies work less well.  Hardly work at all, even.
Clearly
the problem is that the teams are not "buying in" to the new stuff -- if they
were more dedicated then it would all work as it should.  Answer: more
education!  We must teach the old dogs!  Let them learn new tricks, or let
them go!  Buy in, or starve!

Year N+5.  It is now clear that the new methodology is not significantly better
than the one we started off with (in year N).  The good programmers largely
ignore it (their existing practices may overlap with the ones advocated
by the methodology -- it's the methodology they reject, not the good
practices).  The less good programmers are muddling along ineffectually as
before.

Full circle....

(The literal year numbers in the above should not be taken seriously, of
course -- I think the cycle time is more like 10 years than 5).

   -- chris
Patricia Shanahan - 03 Nov 2006 17:48 GMT
>> I'm teaching UML to a group of "old fashioned" developers.
>
[quoted text clipped - 44 lines]
> (The literal year numbers in the above should not be taken seriously, of
> course -- I think the cycle time is more like 10 years than 5).

Agree, but with one additional comment.

Each methodology includes practices that have different value in
different situations.

The programmers who developed the practices generally knew what they
were good for, and when to do something different. In the middle of a
methodology cycle its practices get pushed for all situations. If a
practice that is part of a methodology push does not work well in one
situation, it does not necessarily mean it is a bad practice. It may
just be being misapplied.

As far as the original problem is concerned, I would suggest documenting
the requirements for some test project in UML and in whatever way the
developers like.

Compare the two representations, and the work involved in producing
them. Which did better at bringing out issues? Which gives the clearer
view? Fewest pages to cover the whole requirements? Easier to edit?
Bring in a developer who is not part of the class to evaluate readability.

If UML use-case diagrams really are a better technique for documenting
their requirements, it should become apparent.

Patricia
Hendrik Maryns - 06 Nov 2006 11:45 GMT
Patricia Shanahan schreef:
> It may just be being misapplied.

Nice!  Inflected verb, infinitive, progressive and participle with
almost nothing in between, and still make sense.

H.
- --
Hendrik Maryns
http://tcl.sfs.uni-tuebingen.de/~hendrik/
==================
http://aouw.org
Ask smart questions, get good answers:
http://www.catb.org/~esr/faqs/smart-questions.html
Simon Brooke - 03 Nov 2006 20:29 GMT
>> I'm teaching UML to a group of "old fashioned" developers.
>
[quoted text clipped - 15 lines]
> (The literal year numbers in the above should not be taken seriously, of
> course -- I think the cycle time is more like 10 years than 5).

Well said that man.

To which I would add: it's not new that managing software development is
hard. Frederick Brooks 'The Mythical Man Month' may be more than thirty
years old, but it's still one of the most thoughtful (and in my opinion
best) books on the subject.
http://www.amazon.com/dp/0201835959/

The core of the issue is that the best programmers are an order of
magnitude more productive than average programmers. It's seductive to
believe that if you could encapsulate the methods of those best
programmers into a methodology, you could raise the standard of the
average very significantly. Sadly, this turns out not to be true.
Consequently Brooks recommends not trying to develop methods which would
try to smooth out the difference between the best and the average, but
instead to build 'surgical' teams around the best, where the team
comprises

* one 'surgeon' - the recognised highly productive programmer, who does the
 majority of the actual code-cutting work, and is boss to the rest of the
 team
* one 'co-pilot' - a less experienced programmer who is being groomed to
 become a 'surgeon' and who sits with the surgeon, discussing the work and
 methods as required
* one 'administrator' - an office manager type person, reporting to the
 surgeon (NOT the other way around) whose job it is to handle all
 organisational problems relating to the team and its resources
* one 'editor' - responsible for generating and maintaining
 documentation of the code and of design decisions
* two secretaries, one each reporting to the administrator and the editor
* one 'program clerk' - responsible for maintaining all project files
 including released deliverables

Brooks also advises 'plan to throw one away' - in other words, rapid
prototype. Note that this has quite a lot in common with modern XP
methodologies.

I have to say that in my twenty years of personal experience as a
programmer and manager of programmers, and as technical director of
software companies:

(1) Brooks' recipe as described above definitely works (very well),
although these days with improved office support software and version
control systems you can probably do away with the secretaries and roll the
program clerk job description into either the co-pilot's or the
administrator's. Obviously, if you appoint the wrong people as surgeons,
this approach fails; but if you appoint the right people, it is hugely
productive.

(2) If, as an organisation, you are promoting your most productive people
away from the code face to become 'managers' or 'analysts' or
even 'designers', your productivity will fall, not rise. If, on the
contrary, you promote your less competent people to become 'managers'
or 'analysts' and give them more status than programmers, then your most
productive people will leave, and your productivity will plummet.
So 'managers' _must_ be junior to 'programmers' in a software
organisation, or else you might as well close the doors.

(3) Any system which tries to divorce design from implementation will fail.
Consequently, any methodology which uses a formal language to communicate
between 'designers' or 'analysts' or 'specifiers' on the one hand,
and 'developers' or 'programmers' or 'implementers' on the other, is
highly suspect. If the person doing the requirements analysis and the
architectural design is the senior surgeon on the project, then he has his
own way of making the design notes he will use and will get the editor to
document. And if the person doing the analysis and design is not the
senior surgeon, you might as well start putting your CV round the
agencies, 'cause your project is going to fail.

Signature

simon@jasmine.org.uk (Simon Brooke) http://www.jasmine.org.uk/~simon/

       For office use only. Please do not write or type below this line.



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.