You are on page 1of 37

MULTIMEDIA SOFTWARE DEVELOPMENT LIFECYCLE

MULTIMEDIA SOFTWARE DEVELOPMENT LIFECYCLE


Multimedia software development is similar to any other kind of software development

Dr. Lili Ann

Is complex Involves a large number of people Takes a long time to develop Has deadlines to meet Has budget limitations Has user requirements
2

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 3

MULTIMEDIA SOFTWARE DEVELOPMENT LIFECYCLE

Dr. Lili Ann

Design
Brainstorming Storyboarding Flowchart design Paper design Prototyping User testing
Dr. Lili Ann 5

Development
Media production Programming Debugging Final debugging
Dr. Lili Ann 6

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 7

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?

Dr. Lili Ann

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 Why would corporate manager types like this development model? Is something like this more realistic?
Dr. Lili Ann 9

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

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

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 12

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

13

(from Fowler and Scott, UML Distilled)

Example use case

Use Case: Buy a Product (A behavior that accomplishes a user goal) Actors: Customer, System 1. Customer browsers through catalog and selects items to buy 2. Customer goes to check out 3. Customer fills in shipping information (address; next-day or 3-day) 4. System presents full pricing information, including shipping 5. Customer fills in credit card information 6. System authorizes purchase 7. System confirms sale immediately 8. 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 Return to primary scenario at step 6 Each user function (button or menu choice) can be modeled by a use case
Dr. Lili Ann 14

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 questions 2. 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 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?
Dr. Lili Ann 16

Storyboarding
Serves the purpose of illustrating a concept Doesnt 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

Inspires people to think about possibilities

Each key screen should have a brief description of


The scene User interactions Dynamics, such as sound

Dr. Lili Ann

17

Dr. Lili Ann

18

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

19

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

20

Dr. Lili Ann

21

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

22

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 23

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 24

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 25

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 26

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 27

Partially developed prototype


Small cross section of the title developed fully Are developed using the intended authoring tool

Allows checking if the authoring tool is suitable


Different tools perform differently Some are better at handling animation Some are better at database funtions

The one used for final development

Can be used as part of the final product


Dr. Lili Ann 28

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
29

Dr. Lili Ann

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

30

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 31

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 32

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

80 70 60 50 40 30
Design Implementation

Cost

Testing

20 10 0

Cost to fix an error increases as it is found later and later in the software lifecycle
Dr. Lili Ann 33

Requirements

Maintenance

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 34

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

35

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

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

You might also like