System Analysys207 Cls4

  • 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.html
  • 7/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.