Sparx Systems Forum

Discussion => Uml Process => Topic started by: Steve_Straley on December 12, 2002, 01:54:51 pm

Title: USE CASE Cookbook
Post by: Steve_Straley on December 12, 2002, 01:54:51 pm
Hi All,

Since I'm swamped and have to focus on what we need to do, one of my employees had a great idea that I would love to do but can't.   Perhaps it could be accomplished in conjunction with this forum.

We do not believe that there is an adequate "Use Case Cookbook"... one that had an index on something like (System - System, Time triggered / User - System / et cetera).   Nothing more than a) the USE CASE document, USE CASES, and USE CASE diagrams for a TON of business problems.

Like I said, it's the type of book I would love to write but my authoring days are on hold at the moment.

Ideas??

Steve
Title: Re: USE CASE Cookbook
Post by: andyd on December 13, 2002, 11:59:32 am
Sounds like analysis patterns as opposed to design patterns ;)

Andy.
Title: Re: USE CASE Cookbook
Post by: Chris_Reynolds on December 13, 2002, 01:54:03 pm
The book "Analysis Patterns" by Martin Fowler from Addison-Wesley has a good collection of class diagrams and occasional interaction diagrams for may common situations.
Title: Re: USE CASE Cookbook
Post by: herbi on December 14, 2002, 12:11:40 am
Hi Steve,

Firstly, (after the university) I thought that use-cases are very important and there must be all from the project included.
Nowadays, I think that use-cases aren't so important as teacher say. I partly agree with Robert C. Martin from the ObjectMentor Inc. who said in his Book "UML for Java Programmers" (2002) that use-cases represent only behavioral requirements. Thay are only a textual description and no diagram. He thinks, that use-cases are less important.
See following link: http://www.objectmentor.com/resources/articleIndex (Use-Case section)

In my opinion, use cases are important to communicate with the customer on the top level of the system. Use-cases could help the customer to check what the programmer want's to do. But they are changing all the time and there is no system, which generates classes automatically from use-cases!

Herbert
Title: Re: USE CASE Cookbook
Post by: Steve_Straley on December 14, 2002, 09:08:41 am
Andy,

I've seen that but isn't as encompassing as I would like.

Steve

Quote
The book "Analysis Patterns" by Martin Fowler from Addison-Wesley has a good collection of class diagrams and occasional interaction diagrams for may common situations.
Title: Re: USE CASE Cookbook
Post by: Steve_Straley on December 14, 2002, 09:11:27 am
Herb,

I agree to a point.  I'm more keen to the complete UML model than just USE CASE Documents.   However, more than just the "user" verifying what is being done, I've seen first hand how Use Case documents that are signed off by the "user" in turn used by the QA, Testing, and Support departments.  They don't need the complete UML Model but they can use the documents as a base line for testing, assuring quality, and as a base-line for support on what to expect.

Steve



Quote
Hi Steve,

Firstly, (after the university) I thought that use-cases are very important and there must be all from the project included.
Nowadays, I think that use-cases aren't so important as teacher say. I partly agree with Robert C. Martin from the ObjectMentor Inc. who said in his Book "UML for Java Programmers" (2002) that use-cases represent only behavioral requirements. Thay are only a textual description and no diagram. He thinks, that use-cases are less important.
See following link: http://www.objectmentor.com/resources/articleIndex (Use-Case section)

In my opinion, use cases are important to communicate with the customer on the top level of the system. Use-cases could help the customer to check what the programmer want's to do. But they are changing all the time and there is no system, which generates classes automatically from use-cases!

Herbert

Title: Re: USE CASE Cookbook
Post by: jaimeglz on December 15, 2002, 09:12:28 pm
Hi all!

I agree with Steve, and give me a chance to convince you why I've found use cases to be so useful, and why I consider the technique to be one the greatest contributions on systems analysis, design and construction.

1. Use cases try to depict a sequence a events (either "as is" or "projected system") that produces a useful product or service. So, first of all, you are identifying the "useful product or service" as your project's real objective. During the project, I have to keep repeating to myself: "Listen, burrito, it's the useful service or product that you're after, not the technology or the nice tools you're using".

2. They present the sequence events from the point of view of the user. This is of high value, because they directly point to the need of a good user interface, and good user-friendly design. "Listen... this is for the customer/user, not for the programmer...."

3. They bring the nice and clear side of object reuse to the fore, because they help break-up your system (current or projected) into meaningful sequences. Many of these sequences can be reused by other use cases via <<include>>, <<extend>> or generalization/inheritance relationships. (There are postings on this in the General EA forum: search for "extend".) You can save lots and lots of time by taking advantage of this.

4. They help in project planning, by assigning resources to the different use cases; for instance, "Developer 1, who's strong on user interface, should take care of the portal opening..; Developer 2, who's a real ace in RDBMS, should take care of the transactional use cases", and so forth...

5. The use case model is the best way I know of delineating project scope and helping you break-up a big project into stages.

6. Use cases are the way I've found to drive the next stage of your modeling, because they can be directly mapped to sequence diagrams; and these sequence diagrams are a sure-shot way of detecting the classes for your first-cut class model (which will evolve into both your user interface model and your static class or database model).

7. They are great aides for your technical architecture alternatives discussions. The first-cut answer to the question "Should I use a package or custom development?" can be answered by mapping the proposed package components to use case events.

8. Use cases can easily be derived into test scripts.

And there are many more reasons, but I hope these suffice for the moment.

ComputerWorld Mexico published in 1998 a  somewhat long article I wrote on use cases, and I'll gladly submit a more updated version of it as a contribution to the cook-book (it is my intelectual property, so no problem with copyrights). It develops, step by step, a simple use case model. The only problem is that it is in Spanish, but I'll EMail it to anybody who volunteers to translate it.

Also, I would have no gripes if the article is torn apart and re-made (or whatever) into the core of the cook-book.

Finally, having praised use cases, let me now make a criticism: the user case model is not user-friendly, and you will not communicate your ideas to senior management with a use case model. To communicate with users and senior management, you should use a process model (see EA's document on process modeling).

Jaime
Title: Re: USE CASE Cookbook
Post by: andyd on December 16, 2002, 11:14:17 am
They can also be useful for estimating effort, along with the initial class diagrams produced in analysis.  Even easier in EA!

Andy.
Title: Re: USE CASE Cookbook
Post by: PhilR on December 18, 2002, 01:46:25 am
For a good read on use cases try
http://www.amazon.com/exec/obidos/tg/detail/-/0201702258/qid=1040204651/sr=2-1/102-4315568-0380965?v=glance&s=books

and

http://www.amazon.com/exec/obidos/tg/detail/-/0201721848/qid=1040204721/sr=1-3/ref=sr_1_3/102-4315568-0380965?v=glance&s=books

Phil
Title: Re: USE CASE Cookbook
Post by: Steve_Straley on December 18, 2002, 07:37:00 am
Phil,

I have those and they aren't what I'm thinking about when I say "cook book".   Hmmm.. I wonder if I have to break out the writing pens again and take up a profession from which I retired <LOL>.

Steve
Title: Re: USE CASE Cookbook
Post by: Tim Camp on December 21, 2002, 04:49:41 pm
This may not be the appropriate time or place but I have to ask.  Steve_Straley, are you an old Clipper guru, who used to do conferences?  Were you at the one in California when there was a small tremor right after they announced the new version of Clipper?

I thought I recognized the name.  If you are the gentleman I am thinking of, I really enjoyed your seminar that I went to.
Title: Re: USE CASE Cookbook
Post by: Steve_Straley on December 22, 2002, 06:31:07 pm
Tim,

Yes, I hate to admit it, but I am one in the same.  Even more appropriate now is the adjective "old" <ROFL>.   And yes I was at that conference with the earthquake in the middle of Larry H's keynote during the tremor when he said, "Well, was that as good for you as it was for me?"

I thank you for remembering and the kind words.   May the holiday blessings be upon you and your family!

Steve

Quote
This may not be the appropriate time or place but I have to ask.  Steve_Straley, are you an old Clipper guru, who used to do conferences?  Were you at the one in California when there was a small tremor right after they announced the new version of Clipper?

I thought I recognized the name.  If you are the gentleman I am thinking of, I really enjoyed your seminar that I went to.
Title: Re: USE CASE Cookbook
Post by: AltatemTC on December 23, 2002, 06:43:20 pm
Steve,
Uhhhhh, when I said "old" I was referring to Clipper not you!  ;D

Everyone,
One of the things I struggle with at times is, "What do I do when?".  I would like to know how other folks tie UML into their analysis process.  Would someone mind listing the steps they use in their analysis and a brief description of each step?  After the steps are defined then please show what UML elements you use for notation at each analysis step.  I have my own set that I use but I would really like to compare notes with someone else.

If there is a good book that explains this I would also be interested in the name of the book.

As far as the Cookbook, how about starting with a General Ledger system?  I think I have written about 4 of these.  GL is simple and straightforward and might make a good starting point.  I'll even volunteer to glean the information from the thread and make a complete document out of it and provide a link to it for everyone to download.  We could use the GL system as a template for future postings.
Title: Re: USE CASE Cookbook
Post by: Steve_Straley on December 24, 2002, 03:20:28 am
Tim,

The idea of the cook book I had was based on the system I'm doing at GE.   There are over 300 UC documents with over 1120 UC steps.   Now, the interesting thing about this is system-to-system, actor-to-system, web method and pub/sub integration, et cetera...   The idea of the cook book was to have so MANY different types of systems, more than even a complete accounting system or ERP system, that you could find a similar scenario, see how it was mapped out, and emuluate.   I've got 37 different types of packages in this endeavor, web methods, BPM stuff, and rules engine beans... squirly doesn't do it justice.

Steve
Title: Re: USE CASE Cookbook
Post by: Tom_Andries on December 24, 2002, 05:51:39 am
At the risk of repeating an already quoted reference, I recommend:

Writing Effective Use Cases by Alistair Cockburn (Paperback)
Title: Re: USE CASE Cookbook
Post by: Steve_Straley on December 24, 2002, 10:32:15 am
Tim,

I have it and it is _NOT_ thorough enough.  I'm thinking far more exhaustive.   The situations I found myself in at GE with the last project were only .10 covered in the above mentioned book.   I can't cook a meal if the only recipe I've been given is for the soup course.

Steve
Title: Re: USE CASE Cookbook
Post by: jaimeglz on December 24, 2002, 11:07:48 am
Hi Tim,

Some pious cyber-spirit transformed Alistair C-o-c-k-b-u-r-n's (pronounced Co-burn) name in your posting. The same funny change happened when in this same frorum I recommended a link to one of Alistair's writings.

Hi AltatemTC,

There's a Sept. 19 thread with a quick answer to your question, "What do I do when?". See:

http://www.sparxsystems.com.au/cgi-bin/yabb/YaBB.cgi?board=general&action=display&num=1032446412

Be aware that the answer I gave then was very general, and the purpose of this forum is precisely to collectively work out questions on details of the software development process.

For a "light-weight" and very comprehensible view on the software development process, see Martin Fowler's "UML Distilled" (Addison Wesely). And probably the most recognized work is Jacoboson, Buch and Rumbaugh's 450 page "The Unified Software Development Process" (also published by Addison Wesley).

I'm sending a Powerpoint slide to your EMail on the general path I use. (For lack of time, I have not finished setting up a proper web page for this material.)

Everybody,

Have a merry, merry Xmas!

Jaime
Title: Re: USE CASE Cookbook
Post by: AltatemTC on December 24, 2002, 11:35:17 am
Hey jamieglz,

Thank you very much.  I appreciate the link and the slide.  I will study both.  I have read "UML Distilled" and found it very good.  I have written myself a cheat sheet on what each element is for.  I guess my biggest problem is my ignorance concerning a "formal" analysis process.

I'm one of those guys who has been doing everything by the seat of his pants for so long that it is difficult to convert over.  I keep opening up my program editor so I can code instead of determining exactly what I need to code.  Most of my projects have been simple and straight forward, such as AP, GL, AR, etc.  I am starting to work on some pretty complex systems and determined I really need to create a "formal" analysis process.

I have been studying quite a bit over the last year in order to make sure I formulate a reasonably good process.  I have read Steve McConnell's "Project Survival" which I found very informative.  It helped me crystalize some of the thoughts I had concerning my haphazard development process.  I have also read many other books and found several good sights on the web.  What I haven't seen is, someone layout their process.  Sometimes I think they fear the backlash because someone doesn't agree or it won't work for them and so on.  I'd really like to compare notes with someone.  I realize that there may be things that they do that I don't need to and things that I do that they don't need to.  As I said before, my ignorance is showing, and I am just trying to get my arms/mind wrapped around this.

The thing that I have been trying to do since I found Enterprise Architect is to determine how to best utilize EA, a formal process and UML in order to create an efficient project management process.

Thank you again for your help.
Title: Re: USE CASE Cookbook
Post by: AltatemTC on December 24, 2002, 11:39:31 am
Hey Steve,

I agree with you concerning the fact that most books aren't nearly exhaustive enough.  To me the "Cookbook" is kind of like component technology.  Write it once and use it again and again.  Same way with the "Cookbook" if folks are willing to share their analysis, it would save some others from having to completely reinvent the wheel when they attempt a similar type project.

So what do we do to get started?  Where do we put the repository?
Title: Re: USE CASE Cookbook
Post by: Steve_Straley on December 25, 2002, 05:03:11 am
TC,

Well, I kindof thought the same thing... gathering a TON of "examples" but again, the time to do this and organize it and everything else that goes into a book is extensive.  Not sure if people are willing to give up their UC's to their software AND to write a BRIEF outline to the scope and intent of the UC as it fits in with the overall process.     Also, not sure if people will agree with everyone else's UC's... the art form of our industry lends itself to various interpretations.

Steve
Title: Re: USE CASE Cookbook
Post by: AltatemTC on December 25, 2002, 05:25:18 am
Steve,

The price of admission to the sharing could be the submission of a UC with the outline.

As far as folks disagreements, I think that is understood.  Everyone who has been in this industry as long as you and I (almost 20 years for me) knows that there are _AT LEAST_ 10 ways of doing things.  I am concerned that folks will start a war over someone else is doing it "wrong" but I think it is worth a shot.

Organization will have to be done by a group.  If we could get maybe 6 folks to donate 1 hour per week this could work.  They would have to verify that a UC is viable and not someone submitting an empty EAP, categorize it and then issue admittance to the group.

Is there some place to put this or does someone need to pony up some server space?
Title: Re: USE CASE Cookbook
Post by: Steve_Straley on December 25, 2002, 08:37:15 am
TC,

I am very concerned about "I am concerned that folks will start a war over someone else is doing it "wrong" but I think it is worth a shot."  I totally agree.   And I've experienced this myself and didn't like it one bit.   But, like you, the potential or the "marginal benefit" versus the "marginal cost" make it tempting!

I have some space on my server and will have more once we move our web site over to our .COM site.   Once this is finished, the .NET and .ORG sites could be used to help facilitate this.   I'll see if I can hook up some Cold Fusion stuff and to use a database to store these things and then dynamically display them upon request.   Just an idea if people are into this.

Steve
Title: Re: USE CASE Cookbook
Post by: AltatemTC on December 26, 2002, 08:33:07 am
I'm ready.  If there is something I can do to help, let me know.  If you need some additional space, I will chip in a GB.
Title: Re: USE CASE Cookbook
Post by: Quozzbat on January 06, 2003, 03:47:40 am
For TC:

I'm currently using Developing Applications with Java and UML by Paul R. Reed, Jr. I believe this might answer some of your questions. I have been following it pretty closely and, so far, my client has been impressed with the documentation I have produced.

Andrew Knight
Title: Re: USE CASE Cookbook
Post by: doug rosenberg on January 16, 2003, 10:58:09 am

Hello

I've written two books on the subject:

Use Case Driven Object Modeling with UML -- A Practical Approach

and

Applying Use Case Driven Object Modeling with UML - an annotated e-Commerce example

The second book (which we call the "workbook") takes an interenet bookstore example, and has examples with mistakes left in highlighted in red, flip the page and see the corrected exercises.

The books have some "cookbook" aspects to them, in that they have "Top 10 Errors" lists for things like writing style, sequence diagrams, etc.  

Info at http://www.iconixsw.com/UMLbook.html and
http://www.iconixsw.com/UMLworkbook.html

I just taught a class with EA for the first time last week and was quite pleasantly surprised at how well it behaved.

regards,

Doug Rosenberg
ICONIX
Title: Re: USE CASE Cookbook
Post by: Steve_Straley on January 16, 2003, 11:48:28 am
Doug,

Hi and welcome to the fray.  I am familiar with those books.  As a published author myself (and the guy who started this thread) I know the problems between the publisher's needs standing between the author's desires and the public's wishes.

A single application's Use Case set is the problem IMO.  I mean, we can get language reference guides and books and even pocket reference guides (C# and O'Riley for example).  It just would be nice to have a TON of various types of application (from legacy to new and a mix between) UC's in one guide.   That way whenever someone had a scenario they had to UC document, they could get some idea of how the diagram might be established.

Just an idea...

Steve
Title: Re: USE CASE Cookbook
Post by: MichaelRuschena on February 03, 2003, 06:38:37 pm
Steve,

I just wanted to throw in another idea... I've recently been thinking about a similar issue. I write Use Cases for apps, and so do half a dozen people sitting around me. We all work in pretty much the same domain, and deliver products not hugely dissimilar.

Given this, you'd expect that we could share Use Cases. (I take it this is what is meant by Use Case cookbook.) Well, it never worked out that way. Sharing tended to lead to cut-and-paste, with minor modificiations, which tended to get lost. (Of course, it was also a rather amature effort never strongly embraced. Maybe a serious author could put together something worthwhile.  ???)

I've been thinking that the problem is that a Use Case represents a way of resolving a bunch of issues. To reuse a use case, all of these issues have to be the same. In practice, this doesn't really happen.

This lead me instead to the idea of patterns (mentioned briefly above). Instead of trying to present completed solutions which may or may not fit, I'm working at the moment to sort out the particular patterns. The idea is that these patterns can be used to build use cases.

I've been thinking about this for only a few weeks when I have time, so work hasn't progressed very far. I'll see how it comes out.



(Doug, loved Applying Use Case Driven Object Modeling with UML... I'm evangalising Robustness diagrams to anyone who'll sit still long enough    :D)

Michael
Title: Re: USE CASE Cookbook
Post by: Andrew_Webster on February 10, 2003, 03:25:48 pm
I'm just getting used to working with the UML (got the idea ages ago, but it's purchasing EA that really got me going).
I can see that a Cookbook would be an excellent idea.  

I'm thinking of starting something similar for data structures, since most of my work is in database design. Design Patterns a la Gang of Four are great, but almost too re-usable and abstract. For my project, I'm thinking of 'Organisation has several Addresses of various Types' for instance, and publishing a table structure that contains just the basics for that situation. There are so many similar structures in databases is seems mad to keep re-building the same damn thing over and over.

I'd fall over myself to grab a UML cookbook that did the same thing. Having come into this game via experience and an MCSD, rather than through an IT degree, and now working as a lone contractor, I find lot of the analysis and design work to be a tremendous challenge, although I'm keen to avoid the mistake of trying to be too agile and just jumping in.  I make most of my living trying to de-kludge databases that were built too fast (why to they let users have MS Access? To make me a living!) Anything that would let me browse for a UML 'situation' that's similar to one I've come across would save an awful lot of wheel re-invention.

I'm more of a database guy than a website guy, otherwise I'd volunteer to try and start a site that could collate people's working UML/data model 'recipes'.  I'd gladly work with someone who wanted to get such a thing going.

Steve, this is a great idea, I'm right behind you!

Andrew Webster
Title: Re: USE CASE Cookbook
Post by: Andrew_Webster on February 10, 2003, 03:36:49 pm
Hah! Just found the second page of postings for this thread...duh!

I'm up for the hour a week idea, I can always spare an hour when I've got a feeling that somewhere down the track it'll save me two hours.

I don't think it would be a huge problem if people were supplying different ways to solve the same problem. I applaud the effort to try and distill patterns from similar Use Cases, but I could see that a Cookbook could perhaps benefit from people suypplying their own flavours!  If the goal is to provide a resource that analyst programmers could browse through to find something to simplify their lives, then seeing several takes on the same issue could be helpful.  If the Cookbook was a website, then users could vote for recipes, and this would make them self-sorting.

All the best

Andrew Webster
Title: Re: USE CASE Cookbook
Post by: PhilR on February 10, 2003, 07:49:09 pm
Quote
I'm thinking of starting something similar for data structures, since most of my work is in database design.

Andrew,

Take a look at Data Model Patterns: Conventions of Thought
by David C. Hay.
http://www.amazon.com/exec/obidos/tg/detail/-/0932633293/qid=1044935170/sr=8-1/r
ef=sr_8_1/104-2446082-3500760?v=glance&s=books&n=507846


PhilR
Title: Re: USE CASE Cookbook
Post by: Andrew_Webster on February 10, 2003, 09:55:30 pm
That's rather what I had in mind.

Anyone seen a website that offers the same sort of information?

:-*

All the best

Andrew Webster
Title: Re: USE CASE Cookbook
Post by: Jon Kern on March 13, 2003, 06:59:06 am
Steve,

There is a book I worked on with Peter Coad called Modeling in Color with UML -- it had a bunch of domain models. The idea was that we had seen many, many reusable models through a variety of experiences. Why not publish them in the hopes that people would have similar needs and could simply copy and tweak.

This might be along the lines of what you are describing for the UC catalog? (Likely it is more of a catalog than a recipe book.)

-- jon
Title: Re: USE CASE Cookbook
Post by: Steve_Straley on March 13, 2003, 09:13:31 am
Jon,

Nice to see you here and nice to speak to another fellow published author.

The "catelog" you worked on is exactly along the lines that I was referring to at the start of this thread.  The idea to "tweak" an existing model to fit a current need is similar to taking a recipe and tweaking it to fit the tastes of guests at a dinner party.   Of course, I'd like to see a TON of examples, particular interest and focus are those large cumbersome UC's that are system-to-system only found in large corporations.   And of course, having these available via the web with a cool search engine attached would be ideal!!!!

Steve
Title: Re: USE CASE Cookbook
Post by: PhilR on March 13, 2003, 07:02:11 pm
Hi Everyone,

Jon - the concepts in your book UML Modelling in Colour had a profound affect on my work.  Having taught object modelling for more years than I care to mention, and been concerned (and depressed) that many people simply didin't "get it", I found a method that was "teachable" in your book.  Whats more, everyone in the class gets simsilar results so no lengthy (and boring) philosophical debates!  Thanks.

All -  in regards to the use case cookbook, I re-discovered this paper recently "Tools for inventing organizations: Toward a handbook of organizational processes" read it at
http://ccs.mit.edu/papers/CCSWP198/index.html

The paper describes a similar concept but for processes.  (It is also similar to the "Domain Neutral Component Catalogue" (or whatever it was called) that came on the CD with the UML in Colour book.

I couldn't access the on-line handbook just now but I could earlier in the week  ???  When it comes back on line spend some time browsing through it.  I can easily imagine a similar thing for use cases.

Hope this proves useful.

Phil
Title: Re: USE CASE Cookbook
Post by: PhilR on March 19, 2003, 06:50:45 pm
Quote
I couldn't access the on-line handbook just now but I could earlier in the week  ???


If you are interested try

http://process.mit.edu/eph/

seems to work now.

PhilR