Upload
-
View
217
Download
0
Embed Size (px)
Citation preview
7/31/2019 System Analysys207 Cls4
1/42
PowerPoint Presentation for IS-207Copyright 2006 Michael W. Schaffer. All rights reserved.
Slide 1
Systems Analysis & Design
Class #4 - Requirements6/11/2012 11:46:55 PM
7/31/2019 System Analysys207 Cls4
2/42
Slide 2
PDP: Requirements
What does it do? and For
whom does it do it?
Who: Product Manager, Tech Lead, QALead, 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.
Discovery
Requirements
Specifications
Development
Integration
Launch Maintenance
AlphaBeta
7/31/2019 System Analysys207 Cls4
3/42
Slide 3
Who drives Requirements?
Product Manager is responsible forWhat is to-be-built
Functional and non-functional req.s
Maintain a clear understanding ofexternal forces and customer needsfact-based.
Business AnalystsTechnology staff involved early toprovide feasibility and balance
7/31/2019 System Analysys207 Cls4
4/42
Slide 4
Requirementsaka Needs?
A Team Dialog
A taxonomy of requirements
Users & Use Cases, UI/UEData flow analysis
Process analysis & documentation
Revised Schedule and Plan
7/31/2019 System Analysys207 Cls4
5/42
Slide 5
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
7/31/2019 System Analysys207 Cls4
6/42
Slide 6
IBM Sales Modelc. 1986
Deep and broad research(interviews and analysis)
Document Information Needs,and develop benefit models
Build a Conceptual Model
specificdata-flows to consumersof information.
Pitch the solution.
7/31/2019 System Analysys207 Cls4
7/42
Slide 7
Textbook challenge #1
The text differentiates betweenBusiness ProcessAutomation, BPImprovement, and BP Re-engineering.
Improvement
any incremental systems projectInventiona 1.0 project
7/31/2019 System Analysys207 Cls4
8/42
Slide 8
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
7/31/2019 System Analysys207 Cls4
9/42
Slide 9
Who is the end-user?
Develop a clear vision of who
uses the system:
Information NeedsExisting solutions (all types) and theirissues with the status quo
Goals & Fears their uniqueperspective on the system
7/31/2019 System Analysys207 Cls4
10/42
Slide 10
Political Support
The process of requirements
gathering (through end-user
interviews, observation, etc.)creates opportunity to build
critical support for your project.
7/31/2019 System Analysys207 Cls4
11/42
Slide 11
Other players (stakeholders)
Buyer is rarely the end-user
Influencers: IT, other departments
In Venture-backed start-ups, theinvestors are critical.
Your Boss
7/31/2019 System Analysys207 Cls4
12/42
Slide 12
Joint Application Development
JAD sessionslarge, cross-
functional meeting to discuss the
proposed systemExpensive -- lots of people
Subject to domination
Use with care, with greatfacilitators only.
7/31/2019 System Analysys207 Cls4
13/42
Slide 13
Persona
A useful technique for
documenting in-depth studies
of end-usersThe Inmates Are Running the
Asylum : Why High Tech Products
Drive Us Crazy (Alan Cooper)
7/31/2019 System Analysys207 Cls4
14/42
Slide 14
PersonaII
Especially useful when system to
be developed is 1.0: no old
models, no existing basisEnd-users are novices, or new tothe proposed system
Requirements are difficult to defineMultiple groups of end-users
7/31/2019 System Analysys207 Cls4
15/42
Slide 15
PersonaIII
Your end-users will determine the
style, look & feel, flavor of your
system and its interfacesUser Experience = Interactive Brand
Iconography, Typography, Palette
Visual Design has impactDevelop interactive requirements
7/31/2019 System Analysys207 Cls4
16/42
Slide 16
The System is the Data
At the core: any system is
defined by the data obtained,
stored, and displayedData flow analysis is the
center/core/key
7/31/2019 System Analysys207 Cls4
17/42
Slide 17
DFDPractical Example
Launched Dec. 11, 1998, the Climate Orbiter plunged too steeplyinto the Martian atmosphere Sept. 23, 1999, and either burned upor crashed. In an initial failure report released Oct. 15, 2000, thereview board blamed the navigation error on a communicationsfoul-up between NASA's Jet Propulsion Laboratory and prime
contractor Lockheed Martin.
Collect,analyze,
generate flightcontrol data
JPL-1
J1 JPL store
Convert datafrom Metric to
English
?
LM1 LM store
Controlspaceflight
LM-1
English data
Transfer of Flight Control DataThis processwas missing
Metric data
Transfer data
?
Who wasresponsible
for this task?
7/31/2019 System Analysys207 Cls4
18/42
Slide 18
Context Diagram
Shows the context into which thesystem fits
Shows the overall business process asjust one process
Shows all the outside entities thatreceive information from orcontribute information to the system
7/31/2019 System Analysys207 Cls4
19/42
Slide 19
Context Diagram of Alibris
UsedBook
Sellers
BibliographicSources
of Catalog Data
WWW Customers
Sales Channels(BN.com, Borders, Amazon,eBay, Chapters, Ingram,)
AlibrisSystems
New BookPublishers
and Distributors
LibraryCustomers
7/31/2019 System Analysys207 Cls4
20/42
Slide 20
Context of Quicken1995 (?)
QuickenUser
QuickenOn PC/Mac
7/31/2019 System Analysys207 Cls4
21/42
Slide 21
Quicken - 2006
QuickenUser
QuickenOn PC/Mac
Banks
VISA/MC
BrokerageVendors
(check writing)
7/31/2019 System Analysys207 Cls4
22/42
Slide 22
Data Flow Diagrams
Keep them simple: Gane-Sarson
Only three elements:
Interface / ExternalsProcess
Data Store
And data flows to inter-connect
7/31/2019 System Analysys207 Cls4
23/42
Slide 23
DFD Shapes from Visio
From Flow Chart /Data Flow Diagram
Process
Data Store
External Entity
From Software Diagram /Gane-Sarson DFD
Process
ID #
ID#
ExternalEntity
Data Store1
External
Entity
Data Store
Process
From Flow Chart /
Data Flow Diagram
Visio 5.x Visio 2000
7/31/2019 System Analysys207 Cls4
24/42
Slide 24
External Interfaces
The Text says External Entities:
Visio calls them Interfaces.
An API or an external source, oran external consumer of data.
Partner organizations get their
specs, and someone competent.A lot harder than it should be
7/31/2019 System Analysys207 Cls4
25/42
Slide 25
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!
7/31/2019 System Analysys207 Cls4
26/42
Slide 26
An informal DFD
Inventory Files2,000,000
updates / day
8,000Sellers Online
Inventory Tools&
Pricing Service
For-sale
Inventory
with Works
BibliographicSources
Catalog
WorksCreation
1M ActiveWWW Customers
WebSite
Interfaces
Inventory Processingand
Works Matching
B2B Partners
Finance
SystemOrders
Purchase OrdersVouchersInvoices
Debit/Credit MemosGeneral Ledger
A/R & A/P
EDITranslators,B2B Systems
ANSI X.12and
Flat files
Customer & OrderInformation
CustomerEmails
Inventory Replicationto Partners
andReal-time API's
7/31/2019 System Analysys207 Cls4
27/42
Slide 27
DFDA more formal example
Alibris, a typical eCommerce
company
DFD starts basic and cleanExplode to more detail as needed.
7/31/2019 System Analysys207 Cls4
28/42
Slide 28
Data Flow: Keys and Payload
Data flows start general, i.e. ordersor inventory.
As you drive deeper, identify theprimary keys in each element of thedata flow:
i.e.: Order number, SKU number
Think about uniqueness is the process
feasible with the data present?
7/31/2019 System Analysys207 Cls4
29/42
Slide 29
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 thedesign.
7/31/2019 System Analysys207 Cls4
30/42
Slide 30
Data Flow: Keys example
Partner sends an order for a setof books
Purchase Order Number, SKUs
Acknowledge Purchase OrderOrder number, mapped to PO
Line-item IDs needed?Ship product
Ship status by PO? Line-item?
7/31/2019 System Analysys207 Cls4
31/42
Slide 31
Elements of a Use Case
Trigger -- event that causes thescenario to begin
External trigger
Temporal trigger
All possible inputs and outputs
Individual stepsShow sequential order
Show conditional steps
7/31/2019 System Analysys207 Cls4
32/42
Slide 32
Scenario Template (Use Case)Scenario Description
Scenario Name: ID Number:_ __
Short Description:
Trigger: _______________________________________________________________
Type: External / Temporal
Major Inputs:
Description Source
________________________ ___________
________________________ ___________
________________________ ___________
________________________ ___________
________________________ ___________
________________________ ___________
Major Outputs:
Description Destination
_______________________ ____________
_______________________ ____________
_______________________ ___________________________________ ____________
_______________________ ____________
Major Steps Performed Information for Steps
This template can be downloaded from the course download page.
http://www.sims.berkeley.edu/courses/is207/s05/downloads-2005.htmlhttp://www.sims.berkeley.edu/courses/is207/s05/downloads-2005.html7/31/2019 System Analysys207 Cls4
33/42
Slide 33
Integrating Scenario
Descriptions
DFDs generally integrate scenariodescriptions
Names of use cases becomeprocesses
Names of inputs and outputsbecome data flows
Combining small data inputs andoutputs into a single flow
7/31/2019 System Analysys207 Cls4
34/42
Slide 34
Steps in Building DFDs
Build the context diagram
Create DFD fragments for each
scenarioOrganize DFD fragments intolevel 0
Decompose level 0 DFDs asneeded
Validate DFDs with user
7/31/2019 System Analysys207 Cls4
35/42
Slide 35
DFDCommon Errors
Miracle
Black HoleGray Hole
7/31/2019 System Analysys207 Cls4
36/42
Slide 36
DFDPacket Concept
Pay phone
bill
1
Telephone Service
ProviderItemized calls
& invoice
Itemized calls
Invoice
Incorrect use
of the packet
concept
Correct use
of the packet
concept
7/31/2019 System Analysys207 Cls4
37/42
Slide 37
Illegal Data Flows
7/31/2019 System Analysys207 Cls4
38/42
Slide 38
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
7/31/2019 System Analysys207 Cls4
39/42
Slide 39
Other semantics
A system is a collection of processes(Verbs) operating on data entities(Nouns).
As you collect requirements, thinkabout the nouns you encounter asentities.
When you encapsulate behavior anddata, this becomes an object.
7/31/2019 System Analysys207 Cls4
40/42
Slide 40
Non-Functional Requirements
Gathered from users, andenvironment.
Hardware, Operating system,Network issues
Marketing requirements from saleschannel (how to sell it?)
Operating requirements Performance requirements
7/31/2019 System Analysys207 Cls4
41/42
Slide 41
What happened to Prototypes?
Do your users understand the
system?
Build a UI shell that shows theinformation interfaces and reports
Iterate with the users until clarity is
achieved.Document the results.
7/31/2019 System Analysys207 Cls4
42/42
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.