Presentation on theme: "Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis"— Presentation transcript:
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
2 An introduction to Lifecycle for Interaction Development
3 Learning outcomes Lifecycle development process Most common lifecycle development models Traditional approaches to system/software development User-centered approach Typical approaches of lifecycle development processes
4 An introduction to Lifecycle for Interaction Development The Systems Development Life Cycle (SDLC): …is a conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application. (def.1) …is the process of creating or altering systems, and the models and methodologies that people use to develop these systems. The concept generally refers to computer or information systems. (def.2)
5 Lifecycle Interaction Development Traditional approaches to system development Software Engineering approach was taking into considerations in mid-70’s, 80’s sought to solve the problem of the lack of management of increasingly large software development projects and has, to some extent, been successful! We must acknowledge that software engineering approach: is essentially top-down and sequential, although it does incorporate some iteration is primarily concerned with producing software - using high-level languages, abstraction, development environments, CASE tools, software reusability is concerned with software quality - correctness, reliability, maintainability, formal specification, program-proving – all vital for developing complex software systems
6 Lifecycle Interaction Development However, if the system is to be successful in terms of meeting the needs of the user, then the interface and the needs of the user require more consideration than this. Once you wish to include considerations about the user in the design, the software engineering approach becomes less useful, because the user introduces an element of unpredictability which it is not capable of addressing. A user-centred life cycle is now acknowledged as being primarly suitable for designing the interaction component of interactive systems. It is certainly appropriate for smaller scale systems, or for innovative applications for which there are no clear requirements at the outset. The traditional software engineering life cycle is clearly appropriate for developing the functional software components of large and/or complex systems. The two approaches therefore complement each other, one ensuring usability, and the other ensuring efficient and error-free software.
7 An introduction to Lifecycle for Interaction Development To manage this level of complexity, a number of systems development life cycle (SDLC) models have been created: 1.Waterfall 2.Spiral 3.Rapid prototyping 4.Incremental 5...other models!
8 Waterfall model The waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of: -- Conception, -- Initiation, -- Analysis, -- Design (validation), -- Construction, -- Testing and Maintenance.
9 Waterfall model A typical waterfall model looks like the diagram below:
10 Spiral model The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. This model of development combines the features of the prototyping model and the waterfall model. The spiral model is intended for large, expensive and complicated projects.
11 Spiral model “Spiral model is widely used in games industry”
12 Rapid prototyping model Rapid Prototyping refers to the creation of a model that: 1.Will eventually be discarded rather than becoming part of the final delivered software. 2.After preliminary requirements gathering is accomplished, a simple working model of the system is constructed to visually show the users what their requirements may look like when they are implemented into a finished system.
13 Rapid prototyping model The idea for the Rapid prototyping is that it will be discarded and the final system will be built from scratch. The steps in this approach are: 1. Write preliminary requirements 2. Design the prototype 3. User experiences/uses the prototype, specifies new requirements 4. Repeat if necessary 5. Write the final requirements 6. Develop the real products In Rapid prototyping the use of storyboards, or drawings are common technique. These are non-functional implementations but show how the system will look.
14 Incremental model Incremental development is a cyclic software development process developed in response to the weaknesses of the waterfall model. It starts with an initial planning and ends with deployment with the cyclic interaction in between. Basic idea of Incremental Model The basic idea behind incremental model is to develop a software system incrementally, allowing the developer to take advantage of what was being learned during the development of earlier, incremental, deliverable versions of the system.
15 Incremental model Basic principles of incremental development are: 1.A series of mini-Waterfalls are performed, where all phases of the Waterfall development model are completed for a small part of the systems, before proceeding to the next incremental, or 2.Overall requirements are defined before proceeding to evolutionary, mini- Waterfall development of individual increments of the system, or 3.The initial software concept, requirements analysis, and design of architecture and system core are defined using the Waterfall approach, followed by iterative Prototyping, hence heading to the installation of the final prototype (i.e., working system).
16 Incremental model A typical Incremental model looks like the diagram below: