You are on page 1of 42

Systems Analysis & Design

Class #4 - Requirements
6/11/2012 11:46:55 PM

Slide 1

PowerPoint Presentation for IS-207 Copyright 2006 Michael W. Schaffer. All rights reserved.

Discovery Requirements

PDP: Requirements

Specifications Development Integration Alpha Beta Launch Maintenance

What does it do? and For whom does it do it?


Who: Product Manager, Tech Lead, QA Lead, Project Manager, plus Define what the system does, and for whom. Develop cost assessment and baseline schedule, bottom-up Address risks early: prototype to test feasibility and platform/tools as needed.
Slide 2

Who drives Requirements?


Product Manager is responsible for What is to-be-built
Functional and non-functional req.s Maintain a clear understanding of external forces and customer needs fact-based.

Business Analysts Technology staff involved early to provide feasibility and balance
Slide 3

Requirements aka Needs?


A Team Dialog
A taxonomy of requirements Users & Use Cases, UI/UE Data flow analysis Process analysis & documentation Revised Schedule and Plan

Slide 4

Requirements Taxonomy
Product Functionality Non-Functional
Platform & Compatibility (O/S, DBMS) Bandwidth & connectivity, Performance Marketing and Sales
Channels, Pricing and Licensing

Packaging: SDK, integration hooks Product Support & Training, Roll-out


Slide 5

IBM Sales Model c. 1986


Deep and broad research (interviews and analysis) Document Information Needs, and develop benefit models Build a Conceptual Model specific data-flows to consumers of information. Pitch the solution.
Slide 6

Textbook challenge #1
The text differentiates between Business Process Automation, BP Improvement, and BP Reengineering. Improvement
any incremental systems project

Invention
a 1.0 project
Slide 7

Know the history, then break it


All projects benefit from knowing the background, whether incremental or true 1.0.
Get the background.

All projects benefit from trying to expand the solution space early.
More users, more information flows
Slide 8

Who is the end-user?


Develop a clear vision of who uses the system:
Information Needs Existing solutions (all types) and their issues with the status quo Goals & Fears their unique perspective on the system
Slide 9

Political Support
The process of requirements gathering (through end-user interviews, observation, etc.) creates opportunity to build critical support for your project.

Slide 10

Other players (stakeholders)


Buyer is rarely the end-user Influencers: IT, other departments In Venture-backed start-ups, the investors are critical. Your Boss

Slide 11

Joint Application Development

JAD sessions large, crossfunctional meeting to discuss the proposed system


Expensive -- lots of people Subject to domination

Use with care, with great facilitators only.


Slide 12

Persona
A useful technique for documenting in-depth studies of end-users The Inmates Are Running the Asylum : Why High Tech Products Drive Us Crazy (Alan Cooper)

Slide 13

Persona II
Especially useful when system to be developed is 1.0: no old models, no existing basis
End-users are novices, or new to the proposed system Requirements are difficult to define Multiple groups of end-users
Slide 14

Persona III
Your end-users will determine the style, look & feel, flavor of your system and its interfaces
User Experience = Interactive Brand Iconography, Typography, Palette Visual Design has impact
Develop interactive requirements
Slide 15

The System is the Data


At the core: any system is defined by the data obtained, stored, and displayed Data flow analysis is the center/core/key

Slide 16

DFD Practical Example


Launched Dec. 11, 1998, the Climate Orbiter plunged too steeply into the Martian atmosphere Sept. 23, 1999, and either burned up or crashed. In an initial failure report released Oct. 15, 2000, the review board blamed the navigation error on a communications foul-up between NASA's Jet Propulsion Laboratory and prime contractor Lockheed Martin.
Who was responsible for this task? JPL-1 Collect, analyze, generate flight control data

Transfer of Flight Control Data


This process was missing

? Transfer data

? Convert data from Metric to English

LM-1 Control spaceflight

Metric data

English data

J1

JPL store

LM1

LM store

Slide 17

Context Diagram
Shows the context into which the system fits Shows the overall business process as just one process Shows all the outside entities that receive information from or contribute information to the system

Slide 18

Context Diagram of Alibris


Bibliographic Sources of Catalog Data WWW Customers Used Book Sellers Library Customers Alibris Systems

New Book Publishers and Distributors

Sales Channels (BN.com, Borders, Amazon, eBay, Chapters, Ingram, )

Slide 19

Context of Quicken 1995 (?)

Quicken On PC/Mac Quicken User

Slide 20

Quicken - 2006

Banks Quicken On PC/Mac Quicken User VISA/MC

Vendors (check writing)

Brokerage

Slide 21

Data Flow Diagrams


Keep them simple: Gane-Sarson Only three elements:
Interface / Externals Process Data Store

And data flows to inter-connect


Slide 22

DFD Shapes from Visio


Visio 5.x
From Flow Chart / Data Flow Diagram From Software Diagram / Gane-Sarson DFD
ID #

Visio 2000
From Flow Chart / Data Flow Diagram

Process
Process Process

Data Store
Data Store 1 Data Store

ID #

External Entity

External Entity

External Entity

Slide 23

External Interfaces
The Text says External Entities: Visio calls them Interfaces. An API or an external source, or an external consumer of data. Partner organizations get their specs, and someone competent.
A lot harder than it should be
Slide 24

Data Stores
Sure, could be a database ... but do not get caught up in specifics too early. (Flat) Text files, XML files, cookies firmware any sort of repository. Physical model comes later!
Slide 25

An informal DFD
Inventory Files 2,000,000 updates / day

Catalog
Inventory Processing and Works Matching

8,000 Sellers

Online Inventory Tools & Pricing Service

Works Creation

Bibliographic Sources

Web Site Interfaces

For-sale Inventory with Works Customer & Order Information

Inventory Replication to Partners and Real-time API's ANSI X.12 and Flat files

1M Active WWW Customers

B2B Partners

Finance System
Customer Emails Orders Purchase Orders Vouchers Invoices Debit/Credit Memos General Ledger A/R & A/P

EDI Translators, B2B Systems

Slide 26

DFD A more formal example


Alibris, a typical eCommerce company
DFD starts basic and clean Explode to more detail as needed.

Slide 27

Data Flow: Keys and Payload


Data flows start general, i.e. orders or inventory. As you drive deeper, identify the primary keys in each element of the data flow:
i.e.: Order number, SKU number Think about uniqueness is the process feasible with the data present?
Slide 28

Data Flow: Keys and Payload


Do not get caught-up in specifying every single data element of the payload.
Use next phase for details Map the flow of keys, esp. across system seams to validate the design.
Slide 29

Data Flow: Keys example


Partner sends an order for a set of books
Purchase Order Number, SKUs

Acknowledge Purchase Order


Order number, mapped to PO Line-item IDs needed?

Ship product
Ship status by PO? Line-item?
Slide 30

Elements of a Use Case


Trigger -- event that causes the scenario to begin
External trigger Temporal trigger

All possible inputs and outputs Individual steps


Show sequential order Show conditional steps
Slide 31

Scenario Template (Use Case)


Scenario Description
Scenario Name: Short Description: Trigger: _______________________________________________________________ Type: External / Temporal Major Inputs: Description ________________________ ________________________ ________________________ ________________________ ________________________ ________________________ Major Steps Performed Source ___________ ___________ ___________ ___________ ___________ ___________ Major Outputs: Description _______________________ _______________________ _______________________ _______________________ _______________________ Destination ____________ ____________ ____________ ____________ ____________ ID Number: _ __

Information for Steps

This template can be downloaded from the course download page.


Slide 32

Integrating Scenario Descriptions


DFDs generally integrate scenario descriptions Names of use cases become processes Names of inputs and outputs become data flows Combining small data inputs and outputs into a single flow
Slide 33

Steps in Building DFDs


Build the context diagram Create DFD fragments for each scenario Organize DFD fragments into level 0 Decompose level 0 DFDs as needed Validate DFDs with user
Slide 34

DFD Common Errors


Black Hole Gray Hole

Miracle
Slide 35

DFD Packet Concept


Te le phone Service Prov ider
Itemized calls & invoice

Correct use of the packet concept

Incorrect use of the packet concept


Itemized calls

1 Pay phone bill

Invoice

Slide 36

Illegal Data Flows

Slide 37

Use cases do not collect formulae, state, cardinality, performance, uptime, ...
Examples:
1. Order cost = order item costs * 1.06 tax

2. Promotions may not run longer than 6 months. 3. Customers only become Preferred after ... 4. A customer has one and only one sales contact. 5. Response time is ... 6. Uptime requirement is ... 7. Number of simultaneous users will be ... Capture those in any form available
Slide 38

Other semantics
A system is a collection of processes (Verbs) operating on data entities (Nouns). As you collect requirements, think about the nouns you encounter as entities. When you encapsulate behavior and data, this becomes an object.
Slide 39

Non-Functional Requirements
Gathered from users, and environment.
Hardware, Operating system, Network issues Marketing requirements from sales channel (how to sell it?) Operating requirements Performance requirements
Slide 40

What happened to Prototypes?

Do your users understand the system?


Build a UI shell that shows the information interfaces and reports Iterate with the users until clarity is achieved. Document the results.
Slide 41

Now revise the Plan


All this design enables the team to revisit the implementation plan
How might this be built? Components available to buy? Resources needed? Feasible?

Create a detailed project plan.


Slide 42

You might also like