19
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- 0 10 20 30 40 50 60 Cost overrun Successful Cancelled Source: The Standish Group

Multimedia software life cycle

  • Upload
    karma

  • View
    81

  • Download
    0

Embed Size (px)

DESCRIPTION

Cost overrun. Successful. Cancelled. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Multimedia software life cycle

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

0

10

20

30

40

50

60

Cost overrun Successful Cancelled

Source: The Standish Group

Page 2: Multimedia software life cycle

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 What’s 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?

Page 3: Multimedia software life cycle

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 criteria—why?

A process uses resources, subject to constraints (e.g., a schedule or a budget)

Page 4: Multimedia software life cycle

A software process requires resources…

What is the moral of the story (about project managers and resources)?

Page 5: Multimedia software life cycle

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; it’s very hard to swim upstream

Page 6: Multimedia software life cycle

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.

Page 7: Multimedia software life cycle

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??

Page 8: Multimedia software life cycle

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

Page 9: Multimedia software life cycle

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

Page 10: Multimedia software life cycle

Multimedia and the life cycle

Lisa Lopuck’s timeline: What’s different? Why brainstorming instead of analysis? Why build in prototyping & user testing? What’s different during development? How might e-learning further change

the life cycle? (See Driscoll’s ADDIE model.)

Another view of e-learning milestones

Page 11: Multimedia software life cycle

Quiz!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?

Page 12: Multimedia software life cycle

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

Page 13: Multimedia software life cycle

Example use case(from Fowler and Scott, UML Distilled)

Use Case: Buy a Product (A behavior that accomplishes a user goal)Actors: Customer, System1. Customer browsers through catalog and selects items to buy2. Customer goes to check out3. Customer fills in shipping information (address; next-day or 3-day)4. System presents full pricing information, including shipping5. Customer fills in credit card information6. System authorizes purchase7. System confirms sale immediately8. System sends confirming email to customerAlternative: 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-tryAlternative: Regular customer (At what step might this happen?)3a. System displays current shipping information, pricing information,

and last four digits of credit card information3b. Customer may accept or override these defaults

Return to primary scenario at step 6Each user function (button or menu choice) can be modeled by a use case

Page 14: Multimedia software life cycle

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)

Page 15: Multimedia software life cycle

Design What’s 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 interface—why a paper prototype?

Page 16: Multimedia software life cycle

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

Page 17: Multimedia software life cycle

Delivery and maintenance

CD-ROM/DVD/memory stick versusWeb delivery?

Corrective: fixing errors after delivery Adaptive: new environments Perfective: improving behavior or

performance Preventive: improving maintainability

Page 18: Multimedia software life cycle

Relative costs to fix errors:What can you infer from this graph?

0

10

20

30

40

50

60

70

80

Requir

em

en

ts

Desi

gn

Imple

menta

tion

Test

ing

Main

tenance

Cost

Cost to fix an error increases as it is found later and later in the software lifecycle

Page 19: Multimedia software life cycle

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?