multimedia software development lifecycle. dr. lili ann2 multimedia software development lifecycle ...
TRANSCRIPT
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 5
Design Brainstorming Storyboarding Flowchart
design Paper design Prototyping User testing
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 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 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)