Multimedia software life cycle - PowerPoint PPT Presentation

About This Presentation
Title:

Multimedia software life cycle

Description:

Software engineers need to learn how to build systems that are on time and within budget ... Why build in prototyping & user testing? What's different during ... – PowerPoint PPT presentation

Number of Views:137
Avg rating:3.0/5.0
Slides: 20
Provided by: GlennD
Category:
Tags: build | cycle | how | life | multimedia | software | to

less

Transcript and Presenter's Notes

Title: Multimedia software life cycle


1
Multimedia software life cycle
  • What can you infer from this chart?
  • Many real world projects have cost overruns or
    fail
  • Software engineers need to learn how to build
    systems that are on time and within budget
  • Think about your estimates per e-learning unit

Source The Standish Group
2
Software engineering defined
  • Software engineering is multi-person
    construction of multi-version software
  • What is the relationship between the size of a
    program the time it takes to develop it?
  • Real world software projects involve teams of
    developers
  • Whats the relationship between program size and
    the number of people involved?
  • Is it linear (N developers N time speedup)?
  • Or is it exponential (N developers NN speedup)?
  • How does multimedia affect the life cycle?

3
A software life cycle is a process
  • A process is organized in some order or sequence,
    structuring activities as a whole
  • A process involves activities, constraints and
    resources that produce an intended output.
  • Each process activity, e.g., design, must have
    entry and exit criteriawhy?
  • A process uses resources, subject to constraints
    (e.g., a schedule or a budget)

4
A software process requires resources
What is the moral of the story (about project
managers and resources)?
5
Classic waterfall life cycle
  • Cascades from one stage to the next only after
    previous stage is complete
  • Gravity only allows the waterfall to go down
    its very hard to swim upstream

6
Why would corporate manager types like the
waterfall life cycle model?
  • Minimizes change, maximizes predictability
  • Costs and risks are more predictable
  • Each stage has milestones and deliverables
    project managers can use to gauge how close
    project is to completion
  • Sets up division of labor many software shops
    associate different people with different stages
  • Systems analyst does analysis,
  • Architect does design,
  • Programmers code,
  • Testers validate, etc.

7
Is the waterfall model realistic?
  • Is this diagram a more realistic picture?
  • Is this wild view of the process a good idea?
  • Reality check software requirements change so
    embrace change during the process
  • Realistic models allow for cycles
  • How do embrace change, yet hold down costs,
    increase likelihood of project success, and keep
    our project managers happy??

8
Rapid prototyping model
  • A prototype is a partially developed product that
    enables customers and developers to examine some
    aspect of a proposed system and decide if it is
    suitable for a finished product.
  • For the CIMEL project, we developed a prototype
    UI
  • Potential users and domain experts reviewed the
    prototype
  • Review panel summarized findings and made
    recommendations
  • We then developed an alpha version of the
    interface
  • Allow time for prototypes and improved versions
  • Multimedia authoring tools facilitate prototyping

9
Iterative and incremental process
  • Incremental development of functionality
  • Early release starts with small, functional
    subsystem
  • Later releases add additional functionality
  • Iterative development of overall system in each
    release
  • Delivers a full system in the first release, then
    changes the functionality of each subsystem with
    each new release
  • Suppose a customer wants to a word processing
    package
  • Incremental approach provide just Creation
    functions in Release 1, then both Creation and
    Organization in Release 2, finally add
    Formatting in Release 3,
  • Iterative approach provide primitive forms of
    all three functions in Release 1, then enhance
    (making them faster, improving the interface,
    etc.) in subsequent releases
  • Many organizations combine iterative
    incremental

10
Multimedia and the life cycle
  • Lisa Lopucks timeline Whats different?
  • Why brainstorming instead of analysis?
  • Why build in prototyping user testing?
  • Whats different during development?
  • How might e-learning further change the life
    cycle? (See Driscolls ADDIE model.)
  • Another view of e-learning milestones

11
Quiz!
  • What are drawbacks of Waterfall Model?
  • Can prototypes alleviate these drawbacks? Why
    or why not?
  • Why do many software development shops prefer
    iterative incremental models?
  • How does multimedia affect the process?
  • Does this discussion motivate you avoid just
    hacking? Why or why not?

12
Analysis (needs/requirements)
  • Lopuck calls this stage brainstorming
    who, what, why, where, when how?
  • Audience analysis Who is it for?
  • Needs analysis Why develop it?
  • Content analysis What will it cover?
  • Resource analysis How and how much?
  • Estimate When will it get done?
  • Where platform, marketing and distribution?
  • Use cases can help understand requirements

13
Example use case(from Fowler and Scott, UML
Distilled)
  • Use Case Buy a Product (A behavior that
    accomplishes a user goal)
  • Actors Customer, System
  • Customer browsers through catalog and selects
    items to buy
  • Customer goes to check out
  • Customer fills in shipping information (address
    next-day or 3-day)
  • System presents full pricing information,
    including shipping
  • Customer fills in credit card information
  • System authorizes purchase
  • System confirms sale immediately
  • System sends confirming email to customer
  • Alternative Authorization Failure (At what step
    might this happen?)
  • 6a. At step 6, system fails to authorize credit
    purchase
  • Allow customer to re-enter credit card
    information and re-try
  • Alternative Regular customer (At what step might
    this happen?)
  • 3a. System displays current shipping information,
    pricing information,
  • and last four digits of credit card information
  • 3b. Customer may accept or override these
    defaults

14
  • So, how will you do requirements analysis for
    your multimedia e-learning project?
  • By Monday, February 2 email me a tentative
    project title, subject matter expert (someone
    with experience teaching the material), team
    members and their tentative roles, preliminary
    answers to who, what, why, when, how questions
  • By Monday, February 9
  • 1. Refine answers to who, what, why, when, how
    questions
  • 2. Write a high-level requirements specification
  • 3. Write 1 or 2 uses cases describing sample
    behavior(flesh out more use cases for UI design
    in next iteration)

15
Design
  • Whats the difference between analysis and
    design?
  • Storyboards design content as sequence of scenes
    or screens
  • Scripts design content in textual form
  • Flowcharts show navigational structure
  • Why design in detail before programming?
  • User interfacewhy a paper prototype?

16
Implementation
  • How is multimedia development different from
    systems programming?
  • Why is prototyping a good idea?
  • Programming uses authoring tools
  • Media development involves special tools for
    graphics, sound, video, etc.
  • User testing, user observations and focus groups

17
Delivery and maintenance
  • CD-ROM/DVD/memory stick versus
  • Web delivery?
  • Corrective fixing errors after delivery
  • Adaptive new environments
  • Perfective improving behavior or performance
  • Preventive improving maintainability

18
Relative costs to fix errorsWhat can you infer
from this graph?
Cost
Design
Testing
Maintenance
Requirements
Implementation
Cost to fix an error increases as it is found
later and later in the software lifecycle
19
What is your ultimate goal?
  • Why should you plan for maintenance?
  • Would you like to see your project used?
  • How do you plan and develop for maintenance?
  • Do the analysis and design right
  • 85 of the cost of real world bugs occur during
    analysis/design
  • Why document as you go (not after-the-fact)?
  • Use cases, scripts, well-commented code, delivery
    manual (with use cases as a starting point)
  • Why put your document on a web site?
Write a Comment
User Comments (0)
About PowerShow.com