Discovering Use Cases The Project Process Inception initial

  • Slides: 16
Download presentation
Discovering Use Cases

Discovering Use Cases

The Project Process Inception - initial planning Elaboration - refining the design Construction -

The Project Process Inception - initial planning Elaboration - refining the design Construction - building the system Transition - installation support

Inception Ask important questions such as What is the system going to do? What

Inception Ask important questions such as What is the system going to do? What is the business case for the system? Are we better off buying a system off the shelf? Development Artefacts Project specification Ethical review Event tables Initial use case diagrams + descriptions Class diagram Early prototype – a “smoke and mirrors” model of how the system will work Testing – test plans – test framework – usability testing

Dealing with Uncertainty Project development is not a nice clean and tidy process Uncertainty

Dealing with Uncertainty Project development is not a nice clean and tidy process Uncertainty and Proofs of concept Should the main screen be blue or green? Will the language I am using work on that version of the operating system? How do I process this list of data to format it in a specific way? I am really not very clear on what the user wants with this single requirement? Is it possible to connect this system to Oracle rather than SQL server?

Digesting the Problem – The Specification As a self employed computing consultant you encounter

Digesting the Problem – The Specification As a self employed computing consultant you encounter a large number of people whilst involved in your networking activities. One consequence of these activities is that you accumulate a huge number of business cards/flyers. These documents contain a large quantity of useful information that needs to be input into suitable database system.

Role Play the Scenario Who, what, when, where and why? (If you are not

Role Play the Scenario Who, what, when, where and why? (If you are not clear on any of these points then you must return to the client and find out. )

Refined Specification The consultant sits at their desk with a stack of business cards

Refined Specification The consultant sits at their desk with a stack of business cards and flyers. They pick up a business card and start to input the details into system. The first field they enter is the name of the company. While doing this the system looks up the company name to see if it is already on the system. The next field the user enters is the name of the contact. Whilst dong this, the list of contacts for that company is displayed such that if the contact is already on the system the user may move onto another business card. At this point the user should have the opportunity to update the details on the system should they note that some aspect has change e. g. email address.

The Event Table Probably the most useful tools for digesting the problem Informs your

The Event Table Probably the most useful tools for digesting the problem Informs your use cases Informs your class diagram Don’t get hung up on it being right Better to add more events and discount them later Understanding will still be fuzzy at this stage of the game

Address Book Event Table Subject User Verb Views Object Address List Response Addresses are

Address Book Event Table Subject User Verb Views Object Address List Response Addresses are listed by the system User Filters Address List User Adds Address User Updates Address User Deletes Address System Validates Address list is filtered based on pattern Address is added to the system Address is updated on the system Address is deleted from the system Address data is accepted or error is displayed

Identify Candidate Events from the Specification The consultant sits at their desk with a

Identify Candidate Events from the Specification The consultant sits at their desk with a stack of business cards and flyers. They pick up a business card and start to input the details into system. The first field they enter is the name of the company. While doing this the system looks up the company name to see if it is already on the system. The next field the user enters is the name of the contact. Whilst dong this, the list of contacts for that company is displayed such that if the contact is already on the system the user may move onto another business card. At this point the user should have the opportunity to update the details on the system should they note that some aspect has change e. g. email address.

Some Filtering Required Not events but still contain important information about the system “consultant

Some Filtering Required Not events but still contain important information about the system “consultant sits at desk” “pick up a business card” Are these the same thing? “input the details” “enter the company name” “enter the name of the contact”

Identify the Verbs in the Event Table Subject User Verb Views User Filters User

Identify the Verbs in the Event Table Subject User Verb Views User Filters User Adds User Updates User Deletes System Validates Object Response Address List Addresses are listed by the system Address List Address list is filtered based on pattern Address is added to the system Address is updated on the system Address is deleted from the system Address data is accepted or error is displayed

This Informs the Selection of Use Cases

This Informs the Selection of Use Cases

The Subject Column Identifies the Actors Subject User Verb Views User Filters User Adds

The Subject Column Identifies the Actors Subject User Verb Views User Filters User Adds User Updates User Deletes System Validates Object Response Address List Addresses are listed by the system Address List Address list is filtered based on pattern Address is added to the system Address is updated on the system Address is deleted from the system Address data is accepted or error is displayed

Create Use Case Descriptions Use Case Name (Short two or three word name) Use

Create Use Case Descriptions Use Case Name (Short two or three word name) Use Case Description (Short description) Use Case Author(s) (Who wrote this) Actor(s) (Who does this) Locations (Where does this happen) Primary pathway (What is the normal “happy path” for this use case? ) Alternate pathways (What other paths are there that are not the “happy path”? ) List Addresses The user views a list of addresses in the system Matthew Dean User On-line List addresses User enters the system A list is displayed to the user at system start There is no data in the system – a message is displayed saying so User applies filter A filtered list is displayed to the user User clears filter Full list is displayed to the user Exception pathways Database connection fails (What could Error displayed to the user advising of connection problem possibly go wrong? )

Exercise Extended Specification On the module web site you now have the extended specification

Exercise Extended Specification On the module web site you now have the extended specification for the project bank. Working in teams select one of the features from the specification and brain storm the following. Flesh out a detailed scenario Event table (Subject – verb – object – response) What candidate actors / use cases do you come up with?