Use Case Diagram vs Use Case Specification

Just showing the use case diagram in UML notation is not enough. Each use case accompanied by text explaining the purpose of the use case as well as what functionality is accomplished when a use case is executed.

The use case specification is typically created in analysis and design phase in an iterative manner.

  • At first, only a brief description of the steps needed to carry out the normal flow of the use case (i.e., what functionality is provided by the use case) is written.
  • As analysis progresses, the steps are fleshed out to add more detail.
  • Finally, the exceptional flows are added to the use case
  • Each project can adopt a standard use case template for the creation of the use case specification.

Use Case vs Use Case Specification

A Use Case describes a task that is performed by an actor yielding a result of business value for a business. A use case may be visualized as a use case diagram or/and in structured textual specification format:

Use Case (task — a customer want to perform) may be:

  • Interactive — A system use case describes an actor’s interaction with a system in pursuit of the defined business goal
  • Manual — A sequence of actions performed by an actor
  • Automated — A sequence of steps performed by a program or script

Characteristics of Use Cases

A use case has:

  • Only one goal
  • A single starting point
  • A single ending point
  • Multiple paths for getting from start to finish
  • i.e. Specify behavior for a variety of possible conditions
  • Each conditions may require specific action(s)

For Example — Customer pays bill:

There are multiple paths to achieve the goal:

  • Telephone payment
  • By mail
  • In person
  • by check
  • by cash, etc.

A path that does not lead to the goal:

  • Credit card is declined

Agile Use Case Approach

The use case model and its individual use cases evolve level by level over time. Not all use cases of a model will necessarily need to be specified to the same level of detail.

Just-in-Time and Just-Enough

Use cases can be written at differing levels of data and scope, each serves a purpose:

  • Summary: General descriptions and sweeping overviews of system functionality or business processes.
  • User Level : Task-related descriptions of users and how they interact with the system; descriptions of a specific business process. User-Level use cases are usually considered to be at the level of task that is the main work of the user.
  • Sub-function: Descriptions of lower-level activities that are used to complete subparts of a core use case.

Note: Some use cases may be sufficiently specified up to level II. You stop when sufficient detail is achieved using just-in-time and just-enough manner.


A Detailed Use Case Specification

The detailed use case is a textual representation illustrating a sequence of events together with other related use case information in certain format. People typically adopt a standard use case template for recording the detailed information for the use cases


Use Case Template — ATM withdraw case example

As mentioned before, there are several notation styles for use cases (e.g. diagram style, unified modeling language, textual format). Whatever notation is used should be easy to understand. You can use templates, like the ones from Alistair Cockburn, but it is also an option to use what fits best for your team.

Use Case Specification

Use Case Name: Withdraw Cash

Actor(s):Customer (primary), Banking System (secondary)

Summary Description: Allows any bank customer to withdraw cash from their bank account.

Priority: Must Have

Status: Medium Level of details

Pre-Condition: The bank customer has a card to insert into the ATM
The ATM is online properly

Post-Condition(s):

  • The bank customer has received their cash (and optionally a receipt)
  • The bank has debited the customer’s bank account and recorded details of the transaction

Basic Path:

  1. The customer enters their card into the ATM
  2. The ATM verifies that the card is a valid bank card
  3. The ATM requests a PIN code
  4. The customer enters their PIN code
  5. The ATM validates the bank card against the PIN code
  6. The ATM presents service options including “Withdraw”
  7. The customer chooses “Withdraw”
  8. The ATM presents options for amounts
  9. The customer selects an amount or enters an amount
  10. The ATM verifies that it has enough cash in its hopper
  11. The ATM verifies that the customer is below withdraw limits
  12. The ATM verifies sufficient funds in the customer’s bank account
  13. The ATM debits the customer’s bank account
  14. The ATM returns the customer’s bank card
  15. The customer takes their bank card
  16. The ATM issues the customer’s cash
  17. The customer takes their cash

Alternative Paths:

2a. Invalid card

2b. Card upside down

5a. Stolen card

5b. PIN invalid

10a. Insufficient cash in the hopper

10b. Wrong denomination of cash in the hopper

11a. Withdrawal above withdraw limits

12a. Insufficient funds in customer’s bank account

14a. Bank card stuck in machine

15a. Customer fails to take their bank card

16a. Cash stuck in machine

17a. Customer fails to take their cash

  • a ATM cannot communicate with Banking System
  • b Customer does not respond to ATM prompt

Business Rules:

B1: Format of PIN

B2: Number of PIN retries

B3: Service options

B4: Amount options

B5: Withdraw limit

B6: card must be taken away before dispense of cash

Non-Functional Requirements:

NF1: Time for complete transaction

NF2: Security for PIN entry

NF3: Time to allow collection of card and cash

NF4: Language support

NF5: Blind and partially blind support


84 komentarze

  1. My programmer is trying to peruade me to move to .net ffom PHP.
    I have always disliked the idwa because of the expenses.
    But he’s tryiong none the less. I’ve been using Movable-type on a variedty
    of websites for about a year andd am worried about switching to another platform.
    I have heard good things about blogengine.net. Is there a way I can transfer all
    my wordpress posts into it? Any kind of help would be grewatly appreciated! https://66Bb4C96E165C.Site123.me/

  2. A person essentially lend a hand to make significantly articles I’d state.
    This is the first time Ifrequented your website page andd thus far?
    I surprised with the analysis you made to create this particular put up incredible.
    Excellent activity! https://caramellaapp.com/milanmu1/ASMauCr-k/crypto-casino

  3. Hi there to all, how is everything, I think every one is getting more from
    this site, and your views are fastidious designed for new viewers. https://telegra.ph/Strategies-for-a-Profitable-Cryptocurrency-Betting-09-17

  4. Hello there I am so thrilled I found your blog page,
    I really found you by accident, while I was researching on Yahnoo for something else, Anyways I am here now and wouldd just like to say thanks a loot for a tremendous post and a all roundd entertaining
    blog (I also love the theme/design), I don’t have time to go through
    it all att the minute but I have book-marked it and also added in your RSS feeds,
    so when I havfe time I wwill be bak to read much more, Pleaase do keep upp thhe excellent jo. https://dimension-gaming.nl/profile.php?id=290765

  5. I’ve been browsing online more than 3 hours today, yet I never found any interesting afticle like yours.
    It’s pretty worth enough for me. Personally, if all webmasters and bloggers madfe good content as you did, the internet will be a lot more useful than ever
    before. https://justbevictorious.com/sample-college-admission-essays-2/

  6. Howdy would yoou mind letting me know which web hoost you’re utilizing?
    I’ve loaaded your blog in 3 completely different browsers and I must say this
    boog loads a lot quicker then most. Can you suggest a good web hosting provider
    at a honest price? Cheers, I appreciate it! https://njspmaca.in/2024/09/17/how-to-write-a-great-college-application-essay/

  7. I’ve been browsing on-line more than 3 hours as of late, yet I never discovered any fascinating article like yours.
    It’s lovely value enough forr me. In my view, if alll
    site owneres and bloggers made excellent content as you did, the web will probably be a lot more helpful than evsr before. https://form.jotform.com/241844577252058

  8. Hello very nice website!! Guy .. Excellent .. Wonderful ..

    I will bookmark your blog and take the feedes also?
    I’m happy to search out a lot of useful information here in the put up, we need
    devlop more techniques on thiis regard, thank you
    for sharing. . . . . . https://pastelink.net/gagg4eqj

  9. I’ve been browsing on-line greater tgan 3 hours lately, but I by no means found any
    fascinating article like yours. It’s pretty value enough for
    me. Personally, if all site owners and bloggers made just right content material ass
    you probably did, the weeb shall be a loot more useful than ever before. https://www.diigo.com/item/image/8pwxn/toku

  10. This wesite was… how do I say it? Relevant!! Finally I’ve fund something that helped me.
    Thanks! https://medium.com/@lonoli5089/utiliza%C3%A7%C3%A3o-dos-princ%C3%ADpios-de-probabilidade-para-aumentar-as-chances-de-sucesso-3cd2e89de59c

  11. I’m really impressed with your writing abijlities as smartly as with the layout
    for your blog. Is this a paid subject matter or did you
    customize it yourself? Anyway keep up the nice high quality
    writing, itt is uncommon to peer a great weblog like this one these days.. https://at.pinterest.com/pin/1018939484440148350/

  12. Please let me know if you’re looking for a article author for
    your blog. You have some really good posts and I think
    I would be a good asset. If you ever want to take some of the load off,
    I’d absolutely love to write some articles for your blog in exchange
    for a link back to mine. Please blast me an email if interested.
    Many thanks! https://es.gta5-mods.com/users/GingerLi

  13. Hi! I could hasve sworn I’ve been to this site before but after reading through some
    of the post I realized it’s new to me. Nonetheless, I’m definitely glad I found it and I’ll be bookmarking and
    checking back frequently! https://fi.pinterest.com/Johanna20209/

  14. Just want to say your article is as surprising. The clearness on yoir publish is just great
    aand i can suppose you are knowledgeable in this subject.
    Fine along with your permission allow me to grazb ypur RSS feed to keep up to date with imminnt post.
    Thank you one millio and please continue the gratifying work. https://www.collcard.com/post/166672_discover-a-exhilarating-gaming-experience-with-rise-of-olympus-a-online-casino-p.html

  15. Howdy! Thiis is kind of off topic but I need some advice from
    an established blog. Is it very hard to set up your oown blog?
    I’m not very techincal but I can figure things out pretty quick.
    I’m thinking about making my ownn bbut I’m nott sure where to
    begin. Do you have any tips or suggestions? Appreciate it https://no.pinterest.com/pin/1053420169086515545/

  16. Hello there! This article couldn’t be writtten any better!

    Going through this post reminds me of my previous roommate!

    He constantly kept talking about this. I most certainly
    will forward this information to him. Pretty sure hhe will have a very good read.

    Thanks for sharing! https://hashnode.com/@emmaconnor738

  17. Woah! I’m really digging the template/theme of this site.
    It’s simple, yet effective. A lot of times it’s very hrd to get that „perfect balance” between superb usability and visual
    appearance. I must say thgat you’ve done a great job with this.
    Also, the blog loads extremely fast for me on Firefox.
    Superb Blog! https://guides.co/g/optimizing-your-strategy-in-aviator-game

  18. Simply want to say yolur article is as astonishing. The clearjess in your post is just cool and i
    can assume you are an exppert on this subject. Well with your permission allow
    mee to grab your feed too keep up to date with forthcoming post.
    Thanks a million and please continue the enjoyable work. http://www.daedo.kr/bbs/board.php?bo_table=free&wr_id=759445

  19. Thank you, I’ve just been searching for information approximately this subject for a long time and yours is the greatest I’ve found out till now.
    However, what in regards to the conclusion? Are you
    sure in regards to the supply? https://demo.qkseo.in/viewtopic.php?id=980771

  20. Hi it’s me, I am also visiting this site regularly, this web
    page is actually nice and the viewer are really sharing fastidious thoughts. https://www.quotev.com/story/16732309/O-prop%C3%B3sito-e-o-processo-de-escrita-acad%C3%AAmica-para-estudantes-brasileiros

  21. Thanks for the good writeup. It in fact was once a enjoyment account it.
    Glance complex to far added agreeable from you!
    By the way, how could we kep uup a correspondence? https://www.camedu.org/blog/index.php?entryid=36800 https://www.camedu.org/blog/index.php?entryid=36800

  22. Greetings! I know this is kinda off topic however
    I’d figured I’d ask. Would you be interested in trading links or maybe guest writing a blog article or
    vice-versa? My blog goes over a lot of the same topics as yours and I feel we could greatly benefit from each other.

    If you are interested feel free to shoot me an email. I look forward to hearing from you!

    Terrific blog by the way!

  23. Every weekend i used to pay a visit this site,
    because i want enjoyment, for the reason that this this website conations actually
    fastidious funny stuff too.

Leave a Reply

Twój adres e-mail nie zostanie opublikowany.