17.03.2003 Petter Nielsen Information Systems/IFI/UiO 1 Software Prototyping.

Slides:



Advertisements
Similar presentations
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
Advertisements

SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
Software Process Models
Unit 2. Software Lifecycle
Software Project Management
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Alternative Software Life Cycle Models By Edward R. Corner vol. 2, chapter 8, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 4: Phase Management - Elaboration.
Rational Unified Process
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Eleventh Edition 1 Introduction to Information Systems Essentials for the Internetworked E-Business Enterprise Irwin/McGraw-Hill Copyright © 2002, The.
Requirements Analysis Concepts & Principles
Information Systems Development Lecture 2: the idea of the Life Cycle.
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Software Life Cycle Model
Chapter 3 Software Processes.
1. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “Usability Engineering” –Describe the various steps involved.
© 2005 Prentice Hall14-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
CSI315 Web Technology and Applications
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 CMPT 275 Software Engineering Software life cycle.
Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback.
Chapter 2 The process Process, Methods, and Tools
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
Lecture # 04 & 05 CS314 Introduction To Software Development Software Development Process (SDP) Instructor :Muhammad Janas khan
Computers Are Your Future Eleventh Edition Chapter 13: Systems Analysis & Design Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
SOFTWARE PROTOTYPING Anil Kumar.Arikepudi.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Methodologies. Contents Waterfall Model Evolutionary Models Incremental Development.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
COEN/ELEC  What is prototyping  Why prototyping  Types of prototyping  Advantages of each  Recommendations  Incremental Development? 2.
1 Human Computer Interaction Week 7 Prototyping. 2 Introduction Prototyping is a design technique where users can be involved in testing design ideas.
Prototyping. A software requirements prototype is a mock-up or partial implementation of a software system – Helps developers, users, and customers better.
Software Prototyping. Introduction Builds an approximation to some system Builds an approximation to some system Easy to learn and understand different.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Software Prototyping Rapid software development to validate requirements.
BSc Honours Project Introduction CSY4010 Amir Minai Module Leader.
Requirements Validation
Prototyping life cycle Important steps 1. Does prototyping suit the system 2. Abbreviated representation of requirements 3. Abbreviated design specification.
Software Development Life Cycle (SDLC)
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Prototyping.
Teaching slides Chapter 3
Petter Nielsen Information Systems/IFI/UiO 1 Systems development Methodologies IN364.
Software Project Management
Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Software Engineering CE 501 Prepared by : Jay Dave.
A framework that describes the activities performed at each stage of a software development project. A life-cycle or a software process is the organisational.
Systems Development Life Cycle
TK2023 Object-Oriented Software Engineering
Unit 6 Application Design KLB Assignment.
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Software Life Cycle Models
Introduction to Software Engineering
Presentation transcript:

Petter Nielsen Information Systems/IFI/UiO 1 Software Prototyping

Petter Nielsen Information Systems/IFI/UiO 2 Software prototyping Intention/aim of prototyping In relation with general prototyping Approaches to and types of prototyping Strengths and weaknesses of prototyping

Petter Nielsen Information Systems/IFI/UiO 3 Software prototyping Suggestion for definition: “An early demonstration of relevant parts of a desired IS, which are to be combined with other processes in system development to improve the final system“ Early feedback about meeting users needs, as well as technical feasibility and efficiency Demonstrations provides “tangible” models to evaluate Communication and learning: Internal and external

Petter Nielsen Information Systems/IFI/UiO 4 Motivation You only know to build the system when you have built it While working with prototypes, developers learns about the system Preferred to postpone completion of specifications until system construction An executable specification

Petter Nielsen Information Systems/IFI/UiO 5 Conditions for prototyping Have to be a learning process –A dialog –Possible to criticize –Possible to implement the knowledge Early availability for users and developers Easy to change as needed

Petter Nielsen Information Systems/IFI/UiO 6 Terminology of prototyping Not prototyping in a strict sense: –Engineering: A well defined phase were a model is produced in advance, exhibiting all the essential features of the final product, for use as a test specimen and outside the further production Software prototyping: –In the context of the development process –No clear relation between the prototype and final system –Interest in the process and not the prototype as a product: Learning –Reproduction is not a challenge

Petter Nielsen Information Systems/IFI/UiO 7 Approaches to prototyping Approaches to prototyping, according to the goals we want to achieve: –Exploratory –Experimental –Evolutionary

Petter Nielsen Information Systems/IFI/UiO 8 Exploratory prototyping To handle the communication challenge between users and developers: –User don’t know which help IS can give them, and developers does not know users needs To be used in the early phases of development clarifying requirements Alternatives must be available for discussion Only recommended if tools is available to develop with a minimum of effort – cost and time Normally thrown away

Petter Nielsen Information Systems/IFI/UiO 9 Experimental prototyping Proposed solution evaluated by experimental use, also handling communication challenge Appropriate in any phase after initial specification The prototype can serve as: –Complementary to the specification –Refinement of parts of the specification –Step between specification and implementation Can be a throw-away or become a part of or the system

Petter Nielsen Information Systems/IFI/UiO 10 Evolutionary prototyping Far away from the original term: An approach with fixed requirements does not suffice Continuous process of adaptation to changing requirements Two forms: –Incremental Basis in existing practice and substitution over time –Evolutionary Not a focus on capturing all requirements in advance but in cycles

Petter Nielsen Information Systems/IFI/UiO 11 Horizontal and vertical prototyping Horizontal –Only specific layers of system is implemented Vertical –Selected parts down through all layers Functionality Data model User-interface

Petter Nielsen Information Systems/IFI/UiO 12 Relation to the final system –Prototype proper In parallel with the real system Illustrates specific parts of the system: User interface or functionality Several small to address different problems Throw-away –Breadboard Clarifying construction related questions Based on specifications Not related to users Throw-away –Pilot system Not only for testing but also employed in the system No clear distinction between the prototype and the system Requires more elaborated design than proper and breadboard

Petter Nielsen Information Systems/IFI/UiO 13 Summary Type of prototypeExploratoryExperimentalEvolutionary Main aimLearningEvaluationAccommodate change Relation to final system Proper/breadboard Throw-away Proper/breadboard Throw-away or components Pilot system The final system

Petter Nielsen Information Systems/IFI/UiO 14 Strengths and weaknesses of prototyping Introducing communication and feedback into software development methodology Can lead to more adequate systems if used appropriate Early demonstration of operational version Easy way of involving the users: The feel of participation, ownership and commitment After successful evaluation, the prototype can be used as a teaching environment Prepares the organization by giving a foretaste No guaranty for real user participation Requires a willingness to accept criticism and changes Problems with multiple prototypes Prototypes creates expectations: Differences in final system and prototype without user consent will lead to acceptance problems