CSE403 Software Engineering Autumn 2001 Prototyping Gary Kimura Lecture #5 October 10, 2001.

Slides:



Advertisements
Similar presentations
Design, prototyping and construction
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Agile Planning Dealing with Reality. Reality Basic agile principle – don’t expect static plans to hold, be flexible and expect changes.
Systems Analysis, Prototyping and Iteration Systems Analysis.
Prescriptive Process Models Developed to bring order and structure to the software development process. To get away from the chaos of most development.
Software Process Models
Alternative Software Life Cycle Models By Edward R. Corner vol. 2, chapter 8, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Prototyping Teppo Räisänen
Computer Literacy PowerPoint Dustin Llanes Comm. 165.
Remedy, a BMC Software company Storyboarding the User Interface: Blueprint for an Application Shanaz Kanga | Michele Sarko Sr. UI Design Engineer | Manager,
Systems Software Operating Systems.
By Bob Bunson  Simulation of software development project  Fictitious system from Concept to Code  Oriented around the.
Presented by: Martin Johnson, V.P. Operations Effective Telemarketing What it takes to make it work.
Introduction to BIM BIM Curriculum 01.
Background History Note 1 Refer to Soltis: Appendix.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback.
Chapter 2 The process Process, Methods, and Tools
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
Design, prototyping and construction CSSE371 Steve Chenoweth and Chandan Rupakheti (Chapter 11- Interaction Design Text)
Prescriptive Process Models
‘Tirgul’ # 7 Enterprise Development Using Visual Basic 6.0 Autumn 2002 Tirgul #7.
Lecture 31 Introduction to System Development Life Cycle - Part 2.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
Rux Richmond User Experience Presenting Yourself: Tips for showcasing your IA experience in your resume and portfolio February 26, 2009.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Slides for User interface design A software engineering perspective Soren Lauesen 2. Prototyping and iterative design August 2006 © 2005, Pearson Education.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
CSE403 Software Engineering Autumn 2001 Interview Questions (A bit Off Topic but Hopefully Informative) Gary Kimura Lecture #14 October 31, 2001.
Eagle: Maturation and Evolution 17th Annual Tcl Conference Joe Mistachkin.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
CS 5150 Software Engineering Lecture 3 Software Processes 2.
Debugging and Profiling With some help from Software Carpentry resources.
Requirements Engineering Southern Methodist University CSE 7316 – Chapter 3.
Prof. Aiken CS 169 Lecture 21 Software Process CS169 Lecture 2.
Prototyping. A software requirements prototype is a mock-up or partial implementation of a software system – Helps developers, users, and customers better.
TEACHER INFORMATION. TARGET AUDIENCE High School students (grades 9-12) that are interested in Engineering and the mechanical arts. Students open to learn.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 18 Goal-Directed.
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
Design, Prototyping and Construction In “ pure ” waterfall, design begins after requirements development has finished However, in the real world there.
Software Engineering Lecture # 1.
Click to add text Systems Analysis, Prototyping and Iteration.
Prototyping life cycle Important steps 1. Does prototyping suit the system 2. Abbreviated representation of requirements 3. Abbreviated design specification.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Rational Unified Process (RUP)
CSE403 Software Engineering Autumn 2001 Gary Kimura Lecture #2 October 3, 2001.
CEN3722 Human Computer Interaction Prototyping Dr. Ron Eaglin.
Rekayasa Perangkat Lunak Part-6
Software Engineering cosc 4359 Spring 2017.
VooTouch - Woocommerce Mobile App Builder
Prototyping Hix & Hartson:
Lecture 3 Prescriptive Process Models
CSE403 Software Engineering Autumn 2000 Prototyping
5 Whys TOTAL QUALITY MANAGEMENT 5 Whys.
Managing the Project Lifecycle
User-centred system design process
Prototyping Lecture # 08.
WXGE6103 Software Engineering Process and Practice
Systems Analysis and Design
Software Process Models
Tools of Software Development
Software Process Models
CSE403 Software Engineering Autumn 2001
CSE403 Software Engineering Autumn 2000 Dead or Alive
Presentation transcript:

CSE403 Software Engineering Autumn 2001 Prototyping Gary Kimura Lecture #5 October 10, 2001

Today Today we’ll look at how to build and use software prototypes The purpose of prototyping Some examples of prototyping The upside and downside of prototyping

What is prototyping Building the throw away model Building models that demonstrate properties of the real product Building something faster and cheaper than the real product

Why prototype To reduce risk To learn while you have the luxury –How people will use and interact with the product –How to build the real product To tweak the design before it is too late –Change requirements –Change interface –Change architecture The goal is to convey enough information to judge the design and the process necessary to build the product

Examples of prototyping The wooden Palm Pilot Model cars Storyboards Mock-ups (space station, airplanes, kitchens, etc.) A subset of an API set can be a prototype A non-fully featured app can be a prototype (then it can act as a sales tool) There is really a wide spectrum from paper design notes to full featured prototypes (for example a building architects sketches to stick models) Building construction sometimes erects a sample wall (to learn how to build the real product and ensuring it meets its requirements)

What is in a software prototype Isn’t the previous version a prototype –It can often be used as a basis for prototyping –What to do in the absence of a previous version Screenshots and storyboards Languages and tools for prototyping Not everything is easy to prototype –UI’s are easier –API sets are hard

What is missing from a software prototype The code is missing –Typically most of the error handling is missing –May not be extensible, maintainable or just well designed –Typically not fully featured It maybe of limited size and scope It maybe slow The documentation, testing, performance, and support considerations are missing

When do we do a prototype and when to start and stop prototyping When potential payoff outweighs the cost of doing a prototype Finish the prototype when you’ve learned what you wanted to know Also move on when other risks become more pressing –Slipping your schedule and spending too much money on development But resist jumping into the coding phase before you’re really ready

Who builds, sees and uses the prototype The program manager The customer to test usage scenarios The developer to see what to build Testing, product support, et cetera

Risks of prototyping Slows the process –A longer time to market often translates to decreased revenue –Software Design Engineers don’t like to wait for Program Management to say what to build –Software Design Engineers don’t listen to Program Management Program Management believes their prototype should be the product Program Management convinces upper management that the product is possible because the prototype works –Sad but true, this occurs more often than it should

My own experience doing prototypes At DEC we prototyped a new system compiler –It was a derivative of a shipping PASCAL compiler –Enhanced the front end to accept a PASCAL variant –Redid the code generator for a new target architecture –Bootstrapped the system and optimizing compiler through the prototype At Microsoft I prototyped the file system –Temporary scaffolding served to help prototype the system (e.g., basic file system operations was first provided via scaffolding) –Some of the API set really wasn’t prototyped very well –Underlying Time is messed up

Project prototypes & next time Project prototypes –Do you need to do a prototype –What type of prototype Next time (Friday) –Design –Quiz #1 –Need to turn in your project requirements draft