32
1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.a u. Imagery is fromWikimedia except where marked with *.

1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

Embed Size (px)

Citation preview

Page 1: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

1

Information Management

DIG 3563 – Lecture 3:

Requirements

J. Michael Moshell

University of Central Florida

Ferrit.com.au.

Imagery is fromWikimedia except where marked with *.

Page 2: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-2 - -2 -

Tell 'em what you're gonna tell 'em

• concepts of requirements analysis

• Problems with requirements analysis

• A rubric and check-list

• JMM applies the rubric to a problem

• Your team applies the rubric to a practice problem

THEN WE: * brainstorm a list of REAL problems

* each team chooses one

* your team is USER for another team

* you will draft & present reqs for them

Shingleberrysigns.com

Page 3: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-3 - -3 -

Classical Requirements Analysis

• The 'waterfall model' of software development:

A one-way flow of activities:

- figure out the requirements

- design the software

- build the software

- test it

- deliver it to the client

- fix bugs and maintain the software

What's wrong with that model?

Aynsof.com

Page 4: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-4 - -4 -

Problems with the Waterfall

What's wrong with that model?

• Customers don't really know what they need

• Requirements change as

- customers learn from prototypes

- customers' activities and needs change

• Constraints change as the true costs emerge

Result: "Design" and "Build" are not really separate processes!

Aynsof.com

Page 5: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-5 - -5 -

So, what to do about it?

We still have to start with requirements

But we will revisit them and revise them

during the building process

AND manage the chaos ….here we go:

• Stakeholder identification

• User Stories and Use Cases

• Requirements lists (and problems with them)

• Measurable Goals and Acceptance Procedures

• Mock-ups and Prototypes

Lrn.usace.army.mil

Page 6: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-6 - -6 -

My Example:Conference Management

* A small business (owned by my wife)

Manages conference registration

(including one at the Shanghai Conference Center, above)

• Needs to be able to look at previous name-tags

and select one (or more) to emulate for a new conference.

Web.cs.gc.suny.edu

Page 7: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-7 - -7 -

Stakeholder Identification

"Who cares?". More formally -

• Who is going to use this system?

• Who is going to have to take care of it?

• Who is going to be affected by it?

• Who will benefit, directly or indirectly?

• Who will lose, directly or indirectly?

• Who is affected in some indefinite way?

Truelegends.coml

Page 8: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-8 - -8 - -8 -

User Stories

Short enough to write on a 3" x 5" card.

As a <role>, I want <goal/desire>.

Example:

As a conference manager, I want to be able to look

At the nametags from previous conferences so

We can reuse the designs or get ideas from them.

Cs.rochester.edul

Page 9: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-9 - -9 -

What is a Use Case?

• It is a single KIND of interaction with a system

• We define Use Cases to help design User Interfaces

• The Use Case does NOT explain. It just identifies –

The actor or actors

The activity

and, in limited, cases, extensions of the activity.

UC is the first step in Analyzing the User Story

Page 10: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-10 - -10 - -10 -

Use Cases

Conference manager:

(1) enter conference name and see badges

from all years of that conference

(2) select a badge and inform IT manager of its selection

IT manager: transfer a badge from the registration

system to the badge display system, along with its

metadata (e. g. association, conference, year).

www.wikipedia.org

Page 11: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

Registration System

Badge Display System

-11 - -11 - -11 -

Use Case DiagramsExplain WHO does WHAT and with WHOM.

(Does not explain HOW it is done.)Cs.rochester.edul

Conference

Manager

See Badges

Select Badge

Transfer Badge

IT

Manager

Page 12: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-12 - -12 - -12 -

Use Case Diagrams

.. Are part of a system called UML

(Unified Modeling Language)

We will use elements of UML in the course,

But will not formally study the "whole thing" – It's large and complicated.

It is used for designing software systems of

all sorts.

Page 13: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

AnotherUse Case DiagramExample

Page 14: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-14 - -14 -

Where are the Details?

• Specify them in your Requirements List

((Be clear about what you require your system to do,

because you’ll have to IMPLEMENT IT!))

Page 15: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-15 - -15 - -15 -

Use Case DiagramsExplain WHO does WHAT and with WHOM.

(Does not explain HOW it is done.)

Customer

Buy Gas

Buy Lotto Ticket

Count Inventory

Clerk

Page 16: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-16 - -16 - -16 -

Use Case Diagrams

More Examples

atlas.kennesaw.edu

Page 17: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-17 - -17 - -17 -

Use Case Diagrams

More Examples

tigris.org

Page 18: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-18 - -18 - -18 -

Use Case Diagrams

More

Examples

visual-paradigm.com

Page 19: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-19 - -19 - -19 -

Use Case Diagrams

More

Examples

Note

SUBSET

relations

between

user types.

We don’t

need to do this, in our course. visual-paradigm.com

Page 20: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-20 - -20 - -20 -

Use Case Diagrams

Examples with

the <extend>

and

<include>

relationships.

You will NOT

need these in

this course.

www.modernanalyst.com

<include>

<extend>

Page 21: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-21 -

Mother

Buy food

Cook Food

ChildServe Dinner

Eat Dinner

Child

NOT A Use Case Diagram!It's a WB*

it contains a sequence of activities

(WB* see your lecture notes)

Page 22: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-22 - -22 -

Requirements Lists

* Dangerous, if they are taken as a "contract"

- because of a false sense of mutual understanding

("We agree on the words, but not on what they mean.")

Lots of effort may go into meeting a requirement which is

then discarded.

* Useful, if they can be amended as the process continues.

Lrn.usace.army.mil

Page 23: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-23 - -23 -

Requirements Lists

Example:

1.System will have a GUI with pull-down menus that list

associations, conferences and years. One, two or three

of these items may be specified. A little window will

show thumbnails of all the badges matching the choices.

2. Metadata: associations, conferences, years, are all controlled

vocabularies.

Conference manager will be able to extend each vocab item.

3. Manager will be able to communicate the specifics of

the selected badge to the IT manager, together with

a note of any needed changes, for use in a new conference,

by clicking on a button.

Page 24: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-24 - -24 -

Measurable Goals

Example:

1.Manager will be able to find any name badge for any

conference we ever managed, within 20 seconds of

beginning the search.

2.System will not consume more than 2* the amount of

disk storage required to store GIF images of badges.

Lrn.usace.army.mil

Page 25: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

Badge Display System

www.wikipedia.org

Mockups and Prototypes

Select Association

Select Conference

Select Year

2010

2009

2008

Pull-down

Menus

Show BadgeButton

ACM

POPL

2011

Page 26: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

Iterating the Process• I showed the prototype to the user

• She said "I want to see multiple badges at once,

side-by-side for comparison.I prepared a modified mockup.

-26 -

Page 27: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

Badge Display System

www.wikipedia.org

Mockups and Prototypes

Select Association

Select Conference

Select Year

2010

2009

2008

Pull-down

Menus

Add Badge

Button

ACM

POPL

2011

ACM

POPL

2011

ACM

POPL

2011

ACM

POPL

2011

ACM

POPL

2011

Close

Close

Close

CloseClose All

Page 28: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

Iterating the Process

• She said "I don't want to have to add badges one-

by-one. Can I just select "All badges from the

Cat Fancier's Association?"

I added a "wild card" to each pulldown menu.

Etc, etc.

-28 -

Page 29: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

Iterating the Process• I showed the next prototype to the user• She said "Cool. Now, how do I tell the IT

manager about a new conference?

+ As part of that, how do I add to a controlled

vocabulary, e. g. by adding an association?

My next step would be to create a new use

case, requirement list, measurable goal, mockup.

Then we build some small prototypes that actually WORK,

Show them to the user, get further feedback.

-29 -

Page 30: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

-30 - -30 -

A Practice Project(In class)

Online Pokemon Card Exchange, OR

Online Used Boyfriend/Girlfriend Exchange

I will bring the one-page Grading Rubric up on the screen

You will use it to remind you of the steps,

Prepare a Requirements Analysis (on paper or laptop)

In 20 minutes we sample groups – You can SHINE or FAIL

Smh.com.au

Page 31: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

Brainstorming Projects

1. Class will generate a list of 12 projects

2. Discuss within your group

3. Select your Semester Project

(Duplication is OK)

Requirements Analysis, Part 1:

4. Group N: analyze Requirements for M+1Next week in class: present to Group N+1

(written form + discussion). -31 -

Knowyourmeme.com

Page 32: 1 Information Management DIG 3563 – Lecture 3: Requirements J. Michael Moshell University of Central Florida Ferrit.com.au. Imagery is fromWikimedia except

Presenting Requirements

After you receive your partner-group's

Requirements Analysis,

You will perform your own.

(Modify theirs/borrow from it, or

Throw it out, if necessary.)

In a few weeks, all groups will present your

Requirements to the class.

-32 -

Knowyourmeme.com