Multimedia software life cycle

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Software process life cycles CSE 432: Object-Oriented Software Engineering.
MIS 2000 Class 20 System Development Process Updated 2014.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Alternative Software Life Cycle Models By Edward R. Corner vol. 2, chapter 8, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
Together and UML Greg Johnson CSE 230 – Software Engineering Spring 2007.
Rational Unified Process
CS 5150 Software Engineering
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
UFCEPM-15-M Object-oriented Design and Programming Jin Sa.
Chapter 13: Designing the User Interface
CHAPTER 19 Building Software.
Multimedia e-learning design After analysis (audience, needs, goals, content, resource requirements and schedule), you are ready for design But don’t skimp.
MULTIMEDIA SOFTWARE DEVELOPMENT LIFECYCLE. Dr. Lili Ann2 MULTIMEDIA SOFTWARE DEVELOPMENT LIFECYCLE  Multimedia software development is similar to any.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 14 Systems Analysis and Design: The Big Picture.
User Interface Theory & Design
Introduction to Interactive Media 02. The Interactive Media Development Process.
S/W Project Management
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Multimedia software life cycle
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
Understand Application Lifecycle Management
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
MULTIMEDIA DEVELOPMENT
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Introduction to Interactive Media The Interactive Media Development Process.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
CHAPTER TWO THE MAKING OF MULTIMEDIA: AND MULTIMEDIA DEVELOPMENT TEAM
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Approaching a Problem Where do we start? How do we proceed?
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Software Processes Naveed Arshad Assistant Professor LUMS
Introduction to Making Multimedia
Plan Design Analyze Develop Test Implement Maintain Systems Development Life Cycle Tier One Dirt Bike Distributors.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
User Interface Theory & Design Lecture 6a 1.  User interface is everything the end user comes into contact with while using the system  To the user,
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Requirements specification CSE432 Object-Oriented Software Engineering.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
Lesson 3-Multimedia Skills. Overview Members of a multimedia team. Roles and responsibilities in a multimedia team.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 CP586 © Peter Lo 2003 Multimedia Communication Multimedia Development Team.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
1 Multimedia Development Team. 2 To discuss phases of MM production team members Multimedia I.
Systems Development Life Cycle
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Statement of Work Lecture. SOW The statement of work is the basis of the contract between the pro- poser and the customer, and is often incorporated into.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
MIS 2000 Class 20 System Development Process Updated 2016.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
CS 5150 Software Engineering
Multimedia Software Engineering An Introduction
SNS College of Engineering Coimbatore
Software process life cycles
Multimedia e-learning design
Presentation transcript:

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 Cost overrun Successful Cancelled Source: The Standish Group

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?

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)

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

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

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

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

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

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

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?

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

Example use case (from Fowler and Scott, UML Distilled) Use Case: Buy a Product (A behavior that accomplishes a user goal) Actors: Customer, System Customer browsers through catalog and selects items to buy Customer goes to check out Customer fills in shipping information (address; next-day or 3-day) System presents full pricing information, including shipping Customer fills in credit card information System authorizes purchase System confirms sale immediately 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

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)

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?

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

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

Relative costs to fix errors: What can you infer from this graph? Design Testing Maintenance Requirements Implementation Cost to fix an error increases as it is found later and later in the software lifecycle

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?