multimedia software development lifecycle. dr. lili ann2 multimedia software development lifecycle ...

37
MULTIMEDIA SOFTWARE DEVELOPMENT LIFECYCLE

Upload: beverly-hawkins

Post on 24-Dec-2015

226 views

Category:

Documents


3 download

TRANSCRIPT

MULTIMEDIA SOFTWARE DEVELOPMENT LIFECYCLE

Dr. Lili Ann 2

MULTIMEDIA SOFTWARE DEVELOPMENT LIFECYCLE

Multimedia software development is similar to any other kind of software development Is complex Involves a large number of people Takes a long time to develop Has deadlines to meet Has budget limitations Has user requirements

Dr. Lili Ann 3

MULTIMEDIA SOFTWARE DEVELOPMENT LIFECYCLE

Multimedia software have a life cycle Media production

Involves producing graphics, audio, and video material

Has a media production timeline Software production

Involves putting various components and media together

Has a development timeline

Dr. Lili Ann 4

MULTIMEDIA SOFTWARE DEVELOPMENT LIFECYCLE

Dr. Lili Ann 5

Design Brainstorming Storyboarding Flowchart

design Paper design Prototyping User testing

Dr. Lili Ann 6

Development Media

production Programming Debugging Final

debugging

Dr. Lili Ann 7

Multimedia software life cycle

Why apply software engineering principles and practice to multimedia application?

Think about your estimates per e-learning unit or chapter…

Many real world projects have cost overruns

Many projects fail altogether Software engineering seeks to find ways

to build systems that are on time and within budget

Dr. Lili Ann 8

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?

Dr. Lili Ann 9

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

Why would corporate manager types like this development model?

Is something like this more realistic?

Dr. Lili Ann 10

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 a project, we developed a prototype user interface 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

Dr. Lili Ann 11

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

Dr. Lili Ann 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

Dr. Lili Ann 13

Brainstorming

Involves A group of 3 to 7 people

Design, programming, marketing Presenting all ideas

Good or bad No criticism or judgment Free flow of ideas

Dr. Lili Ann 14

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

Dr. Lili Ann 15

So, how will you do requirements analysis

for your multimedia project?

By Sunday: email me a tentative project title, subject teacher, team members and their tentative roles

By next Thursday noon, February 7:1. Brainstorm who, what, why, when, how

questions2. Write a high-level requirements specification 3. Write 1 or 2 uses cases describing sample

behavior(flesh our more use cases for your UI design in March)

Dr. Lili Ann 16

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?

Dr. Lili Ann 17

Storyboarding Serves the purpose of illustrating a concept

Inspires people to think about possibilities Doesn’t need to be fancy or accurate Should show all the key screens or places

Places are a series of environments Places are not static like single frame screen

shots Each key screen should have a brief

description of The scene User interactions Dynamics, such as sound

Dr. Lili Ann 18

Dr. Lili Ann 19

Template | Multimedia Storyboard

.............................................................................................project: date: .............................................................................................screen: ___ of ___ links from screens: links to screens: screen description: .............................................................................................functionality/interactivity:

background:

color schemes: text attributes: audio: video: stills:

Dr. Lili Ann 20

Flowchart

Flowcharts are used to design the structure and user interactions Storyboard shows the initial picture Flowchart links all the places

Organisation Navigation

Flowchart complements storyboards

Dr. Lili Ann 21

Dr. Lili Ann 22

Paper design

Paper design is the blue print for a multimeida title

Paper design covers Structural design Software strategy Media production requirements User interface design

Dr. Lili Ann 23

Paper design

Paper design consists of the following documents Storyboards Flowcharts

Indicating the architectural structure

General navigation through the title Functional specification

Dr. Lili Ann 24

Functional specification It is a walk through each scenario of the

title Frame by frame Details the action on the screen Illustrates how the user interacts with it Describes the buttons Names various media

Sound, video, animation, graphics Describes the graphics in abstract terms

Concentrates on functionality

Dr. Lili Ann 25

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

Dr. Lili Ann 26

Prototyping Prototype allows seeing all the design

ideas and solutions in action do the storyboards and flowchart work separates good and bad ideas Gives real-world feedback Allows making changes before development

starts There are different kinds of prototypes

Mock-ups Partially developed

Dr. Lili Ann 27

Mock-up prototype Are developed using a friendly authoring

tool E.g. Macromedia Director Not necessarily the one used for final

development Different tools perform differently

To show User interaction Graphic style

Are developed quickly May eventually be thrown away

Dr. Lili Ann 28

Partially developed prototype Small cross section of the title developed

fully Are developed using the intended authoring

tool The one used for final development

Allows checking if the authoring tool is suitable Different tools perform differently Some are better at handling animation Some are better at database funtions

Can be used as part of the final product

Dr. Lili Ann 29

User testing It is an important part of design and

development Should happen throughout the lifecycle Is particularly important for checking the

prototype Should involve a focus group

Group randomly selected ordinary users Not the programmers themselves

Should be videotaped/recorded Users’ interactions and reactions May be intimidating for some users

Dr. Lili Ann 30

Development Development begins with media production

Production of sound, video, animation, graphics Must happen to some extent before

programming Stand-in media may be used

Not the final media but something suitable Takes time to create Not used in the final title

Production of all the media has to be coordinated Media production timeline needed

Dr. Lili Ann 31

Development Programming begins when there is

enough media Usually an authoring tool is used Involves assembling all the media into a

structure As described in the paper design

A title is feature complete when all the places and actions are functioning Followed by alpha, beta, and the golden

master

Dr. Lili Ann 32

Development When a title is feature complete, it is

considered I alpha It is testing time All the major features should be available Quality assurance testers find all the bugs Media production and programming

continues All the crashing bugs are fixed

Bugs that freeze up or crash the system

Dr. Lili Ann 33

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

Dr. Lili Ann 34

Development When there are no more crashing

bugs the title enters the beta stage Testing continues There should only be minor bugs left to

fix Bugs are identified Priorities Fixed and fine-tuned

Final media production and programming is done

Dr. Lili Ann 35

Development

When there are only a few minute bugs left in the title golden master is cut Master CD/DVD is created CDs/DVDs are produced, packaged and

distributed Minute bugs are fixed for the next

release

Dr. Lili Ann 36

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

Dr. Lili Ann 37

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

Document as you go (not after-the-fact) Use cases, scripts, well-commented code,

delivery manual (with use cases as a starting point)