Presentation is loading. Please wait.

Presentation is loading. Please wait.

Multimedia software life cycle

Similar presentations


Presentation on theme: "Multimedia software life cycle"— Presentation transcript:

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 Cost overrun Successful Cancelled

2 A software life cycle is a process
Involves activities, constraints and resources that produce an intended output. Organized in some order or sequence to show the structuring activities as a whole Uses resources, subject to constraints (e.g., a schedule or a budget) Each stage has milestones and deliverables: project managers can use them to measure how close project is to completion Each process activity, e.g., design, must have entry and exit criteria—why?

3 A software process requires resources
What is the moral of the story about project managers and resources?

4 Development Lifecycle stages
concept development requirements specification design prototype production testing and evaluation delivery These are not the only seven stages. Not everyone agrees with this taxonomy, and later we will explore whether these are followed linear fashion or iteratively. But to begin with these are certainly phases, or stages that are widely used, and there is a fair degree of common understanding. Also we introduce the importance of early definition of testing methodology, test specs etc. Failure to set some of this, at least, in place early on, can only lead to scope creep later. The definition of a test - how we can demonstrate that we have met an objective, will often clarify that objective and avoid misinterpretation The importance of good project management should also be highlighted, and to help students get a better understanding of this an interactive guide is provided (MDMDS1.exe). This was developed in–house using Macromedia Authorware Professional. There is a blurring between this and the previous and following units- the emphasis is that the lifecycle is not something that one follows, it something that one selects and drives, perhaps modifies with greater understanding of what is useful. Storyboards are an early example of documentation that creates impressions, makes commitments, to which the developer is held.

5 1.Concept Development: A typical approach
Begins with an idea (Initial concept), refined by outlining its messages & objectives Identifying a relevant theme for the multimedia title. Brainstorming: who, what, why, where, when & how? Who? Audience analysis. Who is your audience? ages, genders, backgrounds, experiences, attitudes, etc. Do you want to include or attract a wider audience? If so, be more inclusive. What can you assume as background? What limitations might some of the audience have that need to be overcome? What? Goals and Content Analysis What material do you want to teach? What are the key concepts/skills that you would like the user to master? What is the desired performance level for learning these concepts/skills? Explain what each of the first set of points are. Do they follow sequentially? Or are they a number of techniques to be used as appropriate, that help us develop the concept a little further? But do we incur contractural, or pseudo-contractural obligations? Each storyboard can lock an image in the customer’s mind against which the final product will be measured, regardless of how many changes happen thereafter. Are commitments made during a pitch when enthusiastic creatives get a little carried away? And before we even get to this stage, aren’t we assuming a level of maturity in the customer that may not be there. E&F suggest a more cuatious approach?

6 Concept Development: A typical approach
Why? Needs Assessment What are the current sources/methods/practices by which users learn these concepts/skills? What are the results of these practices? How can these practices be improved by multimedia? What areas of difficulty are users having? How could multimedia help? Describe one or more scenarios for how learners will interact with your multimedia as use cases. Explain what each of the first set of points are. Do they follow sequentially? Or are they a number of techniques to be used as appropriate, that help us develop the concept a little further? But do we incur contractural, or pseudo-contractural obligations? Each storyboard can lock an image in the customer’s mind against which the final product will be measured, regardless of how many changes happen thereafter. Are commitments made during a pitch when enthusiastic creatives get a little carried away? And before we even get to this stage, aren’t we assuming a level of maturity in the customer that may not be there. E&F suggest a more cuatious approach?

7 Concept Development: A typical approach
Where, how and when? Deployment, resources and timeline. Where will your module be deployed? Via CD-ROM or via the Web or both? How will your team utilize the available resources? Schedule: when do you expect to complete a design, a prototype, a testable program? Explain what each of the first set of points are. Do they follow sequentially? Or are they a number of techniques to be used as appropriate, that help us develop the concept a little further? But do we incur contractural, or pseudo-contractural obligations? Each storyboard can lock an image in the customer’s mind against which the final product will be measured, regardless of how many changes happen thereafter. Are commitments made during a pitch when enthusiastic creatives get a little carried away? And before we even get to this stage, aren’t we assuming a level of maturity in the customer that may not be there. E&F suggest a more cuatious approach?

8 Concept Development: A typical approach
Conceptualization involves availability of content Feasibility study Plan what media types to be involved Estimate the time to do all elements ensure it is on schedule and within budget Locate and obtain permission for use of any materials created by others Project brief Work a proof of concept that enables customers and developers to examine some aspect of a proposed system and decide if it is suitable for a finished product Explain what each of the first set of points are. Do they follow sequentially? Or are they a number of techniques to be used as appropriate, that help us develop the concept a little further? But do we incur contractural, or pseudo-contractural obligations? Each storyboard can lock an image in the customer’s mind against which the final product will be measured, regardless of how many changes happen thereafter. Are commitments made during a pitch when enthusiastic creatives get a little carried away? And before we even get to this stage, aren’t we assuming a level of maturity in the customer that may not be there. E&F suggest a more cuatious approach?

9 2. Requirements Specification
System constraints: Will run over the internet or on PCs under Windows or Unix/Linux. Stakeholders: Identify, negotiate agreements with, coordinate, and supervise any subcontractors Project schedule and milestones: use PERT or GANTT chart? Individual assignment: Develop use cases that show overall system behavior. Team assignment: the analyst will then develop a requirements specification that satisfies the customer and show overall system behavior and its more interesting features. This is based on software engineering approaches combined with approaches for developing educational materials. One of the interesting aspects about the WWW is that we can no longer specify the delivery platform with any certainty In Chapter 4,5 and 6 E&F talk about the proposal, contract and related issues

10 3. Design Design is thinking, choosing, making and doing
The design phase takes its input from the specifications created in the analysis phase, and will output a detailed description so that the program may be physically created. During the design phase, the objectives, presentation style, delivery platform, and the overall approach are finalized. Details such as the design of each screen, the type of navigation to be used, the structure of the presentation, and the interactive characteristics of the interface are worked out. Continue

11 Story Board I Never begin a multimedia project without first outlining its structure and content. How? Using story board Story boards: is an expression of everything that will be contained in the program. That is a graphic outline describing the project in exact detail using words and sketches for each and every screen image, sound, and navigation choices. Also describe colors, text, buttons,..... Two approaches to create an interactive MM Design Detailed story board: used if another team will work out the implementation Les detailed story board: used if the same team members will be implementing the project The more planning on paper the better and easier it will be to construct the project.

12 Story Board II project: date:
screen: ___ of ___ links from screens: links to screens: screen description: functionality/interactivity: background: color schemes: text attributes: audio: video: stills:

13 4. Prototype 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. So it is a visualisation tool helps reveal problems at early stage helps clear up any misconceptions between designer and customer Notice clarification works both ways – implies your commitment to what the customer has seen Different approaches paper based sketches computer based screen mock-ups نماذج شاشات interactive demos Allow time for prototypes and improved versions Multimedia authoring tools facilitate prototyping

14 5. Production Activities in this phase include: Content Research
In-house development (photoshop, soundedit etc) External (commissioned or clip media?) Copyright clearance Graphics Development Selection of musical background and sound recording Development of computer animation Production of digital video Authoring tools (or programming) Media Integration director, frontpage, java etc This is traditionally the most intensive phase in the development cycle. Different approaches may be taken. For large-scale productions, the script expands into a lengthy document describing screens, menus, titles and captions, every word spoken or seen. Descriptions of images, animations, audio and video may also be included. An evolutionary approach may be taken for small-scale productions. Here the prototype is added to and refined until the requirements have been meet and the client satisfied. In each case, individual media components have to be sourced, digitised, and processed. Copyright clearances will have to be obtained. Integration can then take place as the elements are imported into the authoring environment. Images are then arranged on screen, objects animated, text formatted and audio and movies synchronised. Programming can then take place, with the software coming to life as interactivity is added to the content. Installation routines are prepared. After some tweaking of detail for the client the product is then ready for beta testing. However there are projects where production is an ongoing issue, even after delivery, which may only have involved a small, token, amount of content. Typically this might involve a "content management" system. Here the customer may take responsibility for generating further assets to your specification, that your software "engine" can then access for their end-users. E-commerce websites are a good example of this marketplace, but education, training and audio-visual entertainment products also have a constant flow of new product and variations to old.

15 Continue Production Monitor all aspects of production to ensure it is on schedule and within budget Organize review and testing of the product throughout development process This is traditionally the most intensive phase in the development cycle. Different approaches may be taken. For large-scale productions, the script expands into a lengthy document describing screens, menus, titles and captions, every word spoken or seen. Descriptions of images, animations, audio and video may also be included. An evolutionary approach may be taken for small-scale productions. Here the prototype is added to and refined until the requirements have been meet and the client satisfied. In each case, individual media components have to be sourced, digitised, and processed. Copyright clearances will have to be obtained. Integration can then take place as the elements are imported into the authoring environment. Images are then arranged on screen, objects animated, text formatted and audio and movies synchronised. Programming can then take place, with the software coming to life as interactivity is added to the content. Installation routines are prepared. After some tweaking of detail for the client the product is then ready for beta testing. However there are projects where production is an ongoing issue, even after delivery, which may only have involved a small, token, amount of content. Typically this might involve a "content management" system. Here the customer may take responsibility for generating further assets to your specification, that your software "engine" can then access for their end-users. E-commerce websites are a good example of this marketplace, but education, training and audio-visual entertainment products also have a constant flow of new product and variations to old.

16 Documentation User documentation is a very important feature of high-end multimedia titles. This includes: Instructions for installing System requirement Developing acknowledgments Copyrights Technical support and other information important for the user.

17 6. Testing Testing: make sure that the MM project meets its objectives and work as your client need User testing, user observations and focus groups Correct minor errors revealed during testing Make slight modifications needed for running the production on other platforms Burn the master and distribution copies of the CDROMs Continue

18 Continue Testing Test schedule milestones: alpha, beta, acceptance
Testing conducted internally by the manufacturer Takes a new product through a protocol of testing procedures to verify product functionality and capability. Beta: The second-stage test-version, which is distributed free to a limited sample of users so that they can subject it to daily use and report any problems to the manufacturer. After the "bugs" are fixed, the final version of the program is released to the general public. Acceptance: Once the application is tested and revised, it enters the packaging stage. It could be burned into a CD-ROM or published on the internet as a website. Continue When programmers are confident that the code is solid, beta testers try to break it. The program is installed on a number of different platforms and the testers are asked to review its functionality, critique it and report bugs. Where possible, typical users should be involved in the testing of the product. Corrections are made. Further testing and debugging takes place until both developer and client are satisfied that the product is ready for mass distribution. Regression testing requires a subset of all known tests to be run every time an aspect of the programme is changed. All too often, a fix to a bug "breaks" another aspect of the programme, or reveals a previously undetected flaw.

19 Continue Testing black box testing (functional testing)
aims to test a program from the specification white box testing (structural testing) aims to test a program by concentrating on the implemented code Adapting to changing need revision and update documentation When programmers are confident that the code is solid, beta testers try to break it. The program is installed on a number of different platforms and the testers are asked to review its functionality, critique it and report bugs. Where possible, typical users should be involved in the testing of the product. Corrections are made. Further testing and debugging takes place until both developer and client are satisfied that the product is ready for mass distribution. Regression testing requires a subset of all known tests to be run every time an aspect of the programme is changed. All too often, a fix to a bug "breaks" another aspect of the programme, or reveals a previously undetected flaw.

20 7. Delivery Arrange for packaging, advertising, and distribution
A golden master (& packaging) is prepared and sent to the disc duplicator for replication. Delivering: package and delver to end user Settle any remaining details with the client Continue

21 Continue Delivery Associated software
Create an installation program, read-me files, user guide, and other documentation such as Installation information Associated software Installation shell, Quicktime, fonts, adobe acrobat etc Configuration management of the end user’s machine

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

23 Continue Maintenance This phase continues until the end of the project life cycle. It includes user support, modifications and upgrades. Maintenance must be: afforded high priority planned for from the earliest stages of the development assigned to competent, motivated staff

24 Continue Maintenance Maintenance: can take one of the following ways:
Corrective maintenance: Users will notice performance problems with software, such as error messages coming on the screen or the program freezing or crashing involves developing and deploying solutions to problems ("bugs") that arise during use of a software program error correction (fixes) are provided by means of “patches” Adaptive maintenance: alterations to meet new specifications in both Hardware (example change the speed of the processor) and software developments. Software interacts with other software programs on a computer or network, meaning changes in one program can require changes in other programs. Perfective maintenance: No software program contains zero areas for improvement. Thus programmers will be working to improve the way a software program functions or how quickly it processes requests.

25 Evaluation of Educational Project I
Why evaluate multimedia educational materials? Depending on the nature of the evaluation you conduct, evaluation satisfies different goals: To improve the multimedia product To help assess the effectiveness of the instructional material  To improve your skills or the skills of your team in instructional media development To improve the multimedia development process To comply with requirements For the benefit of the end-user, the client, but also (for future reference) the developer. Testing is primarily concerned with the functionality of the application. These are aspects which either work or don't, or which work efficiently or not The usability of the interface also needs to be evaluated. Is the application "fit for purpose"? Is it effective to use in the environment? More worryingly, if the customer has gone through a number of changes in their business objectives, do we still understand what the objectives for the programme are? This could make all the difference between getting a follow-up job and not.

26 Evaluation of Educational Project II
Types of evolutions: formative evaluation Evaluating in order to make improvements carried out during the development cycle information gained is fed back to influence the development summative evaluation Judging the effectiveness of your instruction normally done on completion of the project to answer the question have aims and objectives been met? integrative evaluation carried out once application is being used has system as a whole been improved ? Evaluation can be qualitative and quantitative For the benefit of the end-user, the client, but also (for future reference) the developer. Testing is primarily concerned with the functionality of the application. These are aspects which either work or don't, or which work efficiently or not The usability of the interface also needs to be evaluated. Is the application "fit for purpose"? Is it effective to use in the environment? More worryingly, if the customer has gone through a number of changes in their business objectives, do we still understand what the objectives for the programme are? This could make all the difference between getting a follow-up job and not.

27 Rapid Application Development
Design Requirements Specification Completion Review Evaluate Implement To be added Compare this with user-centred design (ISO 13407) Compare also with Extreme Programming Summary slide

28 Relative costs to fix errors:
Testing Maintenance Design Implementation Requirements Cost to fix an error increases as it is found later and later in the software lifecycle

29 Summary Multimedia is a team effort and requires cooperation from the team member. It also includes the step by step phase from start to finish to make sure the development runs smooth according to the time constraint and dateline.


Download ppt "Multimedia software life cycle"

Similar presentations


Ads by Google