Prototyping Information Systems Analysis Presentation By: India Thomas

Slides:



Advertisements
Similar presentations
Chapter 8 Software Prototyping.
Advertisements

2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Software Project Management
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
7M701 1 Software Prototyping Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 8
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Alternative Software Life Cycle Models By Edward R. Corner vol. 2, chapter 8, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
Alternate Software Development Methodologies
Software Engineering 6/e, Chapter 8
Chapter 6 The Process of Interaction Design Presented by: Kinnis Gosha, Michael McGill, Jamey White, and Chiao Huang.
Software Engineering.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
Chapter 6 Prototyping, RAD, and Extreme Programming
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
CS 501: Software Engineering
CS 425/625 Software Engineering Software Processes
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Software Life Cycle Model
Chapter 3 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
CSI315 Web Technology and Applications
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Petter Nielsen Information Systems/IFI/UiO 1 Software Prototyping.
Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback.
Lecture # 04 & 05 CS314 Introduction To Software Development Software Development Process (SDP) Instructor :Muhammad Janas khan
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Animating and.
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.
SOFTWARE PROTOTYPING Anil Kumar.Arikepudi.
SOFTWARE PROTOTYPING Vishnu Chaitanya reddy Nara Vishnu Chaitanya reddy Nara
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Software Engineering Management Lecture 1 The Software Process.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
Methodologies. Contents Waterfall Model Evolutionary Models Incremental Development.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Chapter 9 Prototyping. Objectives  Describe the basic terminology of prototyping  Describe the role and techniques of prototyping  Enable you to produce.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
Chapter 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition.
1 Human Computer Interaction Week 7 Prototyping. 2 Introduction Prototyping is a design technique where users can be involved in testing design ideas.
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
SOFTWARE ENGINEERING MCS-2 LECTURE # 4. PROTOTYPING PROCESS MODEL  A prototype is an early sample, model or release of a product built to test a concept.
S OFTWARE P ROTOTYPING C HAPTER 4. SOFTWARE PROTOTYPING Prototype: Customers and end-users of the system find it difficult to express their real requirements.
Introduction to Software Development (Software Engineering - I)
Software Prototyping Rapid software development to validate requirements.
Prototyping life cycle Important steps 1. Does prototyping suit the system 2. Abbreviated representation of requirements 3. Abbreviated design specification.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Prototyping.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 System prototyping l Prototyping is the rapid development of a system l In the past, the developed system.
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.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Software Engineering Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
RANDOM TESTING & PROTOTYPING Presented By: Presented By: Vipul Rastogi M.Tech (S.E.) SRMSCET Presented To: Dr. Himanshu Hora Chief Proctor SRMSCET.
Rekayasa Perangkat Lunak Part-6
Software Engineering cosc 4359 Spring 2017.
Prototyping in the software process
Software Prototyping.
Software Processes (a)
Prototype Model Lecture-4.
Software Myths Software is easy to change
Prototyping.
Software Prototyping Animating and demonstrating system requirements.
Requirements Analysis Techniques
Presentation transcript:

Prototyping Information Systems Analysis Presentation By: India Thomas Dayanand Thakur

Agenda for discussion Define Prototyping Need/Importance for prototyping Types of prototypes Prototyping as methodology User interface prototyping Advantages and disadvantages of prototyping Lessons learnt

Prototyping Defined Prototyping is the process of quickly putting together a working model (a prototype) in order to test various aspects of a design, illustrate ideas or features and gather early user feedback.- Wikipedia IEEE defines prototyping as “ A type of development in which emphasis is placed on developing prototypes early in the development process to permit early feedback and analysis in support of the development process.”

Need for prototyping Enables us to explore the problem space with the stakeholders. As a requirements artifact to initially envision the system. As a design artifact that enables us to explore the solution space of your system. A vehicle for you to communicate the possible UI design(s) of your system. A potential foundation from which to continue developing the system

Advantages & Disadvantages of Prototyping Users can try the system and provide constructive feedback during development Each iteration builds on the previous iteration and further refines the solution. This makes it difficult to reject the initial solution as inappropriate and start over. An operational prototype can be produced in weeks Formal end-of-phase reviews do not occur. Thus, its is very difficult to contain the scope of the prototype. Users become more positive about implementing the system as they see a solution emerging that will meet their needs System documentation is often absent or incomplete, since the primary focus is on development of the prototype. Prototyping enables early detection of errors System backup and recovery, performance, and security issues can be overlooked. Reference: http://facpub.stjohns.edu/~wolfem

Journey of the Prototyping process Functionality Evaluate Goals Develop

Types of prototyping Throw-away Prototyping Evolutionary Prototyping Low Fidelity Prototyping High Fidelity Prototyping

Throw Away Prototype Throw Away Prototype is developed from the initial requirements but is not used for the final project. Written specifications of the requirements Some developers believe that this type is a waste of time because you don’t use it. Regardless if prototype is discarded or kept for production, you must use a easy to use language.

Advantages & Disadvantages Significantly reduce project risk The prototype actually does nothing, its just presentational. Has a short project timeline Only for a limited purpose Starting become a thing of the past. Not getting used as much now.

Evolutionary Prototype Evolutionary prototyping is consider the most fundamental form of prototyping. Evolutionary prototyping main concept is to build a robust prototype and constantly improve it. Objective to deliver a working system to the end user. According to Steve McConnell, "evolutionary delivery is a lifecycle model that straddles the ground between evolutionary prototyping and staged delivery."

Evolutionary Delivery Rapid Development, Taming Wild Software Schedules, by Steven McConnell, Press 1996

Evolutionary Prototyping phases Define the basic requirements Create a working prototype Verification of the working prototype Evaluate And Deliberate the requirements

Advantages You are always looking for new ways to improve the system. This model increases the chance of having the client satisfied with the working system. The model can be used even when the requirements are not defined. Quicker delivery of the system

Disadvantages This method can be used to avoid documenting the requirements of the system. Management is required Long term maintenance can be expensive Uncertain design idea’s Information can be lost through so many improvement changes

Low-fidelity Prototyping Low-fidelity prototyping is generally limited function, limited interaction prototyping effort. They are constructed to depict concepts, design alternatives and screen layouts. They are intended to demonstrate general look and feel of the interface. They are created to educate , communicate and inform, but not to train, test or serve as a basis for which to code. Low fidelity prototyping is used early in the design cycle to show general conceptual approaches without much investment in development. Low vs. High Fidelity Prototyping Debate, Rudd J., Stern K.,Isensee S., ACM Interactions, Jan. 1996

High-Fidelity Prototyping High-fidelity prototypes represent the core functionality of the products user interface. High fidelity prototypes are fully interactive systems. Users can enter data in entry fields, respond to messages, select icon to open windows and interact with user interface as if it were a real system. They trade-off speed for accuracy. Building high fidelity prototypes consume resources and have high cost. Low vs. High Fidelity Prototyping Debate, Rudd J., Stern K.,Isensee S., ACM Interactions, Jan. 1996

Comparison of two prototyping efforts Low vs. High Fidelity Prototyping Debate, Rudd J., Stern K.,Isensee S., ACM Interactions, Jan. 1996

Prototyping-based Methodology An Introduction to Rapid System Prototyping, Fabrice Kordon and Luqi, IEEE Transactions on Software Engineering, Vol.28, No.9, Sep 2002

Prototyping as methodology for systems development A preliminary design of the system is built using throw-away prototyping. Demonstrations to end users, as well as investigations on this prototype, allows for the design of more precise requirements as well as the evaluation of techniques to be used in the final system. Refinements on throw-away prototype concerning the requirements are done. Evolutionary prototyping used to build a model prototype (an accurate and complete description of the system). These prototypes can be studied under various simulated conditions. Refinement on model prototype, concerning the actual system, is done and final system is rolled out after testing. An Introduction to Rapid System Prototyping, Fabrice Kordon and Luqi, IEEE Transactions on Software Engineering, Vol.28, No.9, Sep 2002

User Interface Prototyping Development of highly interactive software system with graphical user interfaces (GUI) has become increasingly common and acceptance of such a system depends highly on the quality of GUI. Prototyping is an excellent means of generating ideas about how the GUI can be designed and it helps to evaluate quality of solution at an early stage.

Classification of user interface prototypes Presentation Prototypes Functional Prototypes Breadboards Pilot Systems

Risks in Prototyping Client may believe that system is real. Unrealistic expectations of the progress Implementers make poor choice Justified in prototype but not in real system Tempting to build real system same way Prototype is not identical to the real system Users may interact differently due to different response characteristics Must interpret prototype experience with care

Do we need prototyping?? Two “points of interest” for companies to adopt prototyping based methodologies are: Point 1: They allow us to reduce the cost and time-to-market of a system. Point 2: For companies building critical systems, prototyping would help them perform formal verification when required. These methodologies provide high level of reliability in the system design and implementation.

Key Learning A prototype can be used to give end-users a concrete impression of the system’s capabilities Prototyping is becoming increasingly used for system development where rapid development is essential Throw-away prototyping is used to understand the system requirements In evolutionary prototyping, the system is developed by evolving an initial version to the final version

Key Points Rapid development of prototypes is essential. This may require leaving out functionality or relaxing non-functional constraints Prototyping techniques include the use of very high-level languages, database programming and prototype construction from reusable components Prototyping is essential for parts of the system such as the user interface which cannot be effectively pre-specified. Users must be involved in prototype evaluation

Questions

Bibliography Baumer, B. (1996). User Interface prototyping- Concepts, Tools, and Experience. Proceedings of ICSE , 18, 532-541. Hoffer, J. J. (2007). Modern Systems Analysis and Design. Reading,MA: Prentice Hall Publishing Company. Luqui, V. Berzins (1988).Rapidly prototyping Real-Time System.IEEE Software, September 1998, 25-36. SoftDevTeam. (2006). Evoutionary Prototyping Model. Retrieved 04 12, 2008, from http://www.softdevteam.com Sommerville, I. (2000). Software Engineering. Pearson publications.