CSE403 Software Engineering Autumn 2000 Prototyping

Slides:



Advertisements
Similar presentations
Software Process Models
Advertisements

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.
Remedy, a BMC Software company Storyboarding the User Interface: Blueprint for an Application Shanaz Kanga | Michele Sarko Sr. UI Design Engineer | Manager,
By Bob Bunson  Simulation of software development project  Fictitious system from Concept to Code  Oriented around the.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
‘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.
CS 5150 Software Engineering Lecture 3 Software Processes 2.
Prof. Aiken CS 169 Lecture 21 Software Process CS169 Lecture 2.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 18 Goal-Directed.
CSE403 Software Engineering Autumn 2001 Prototyping Gary Kimura Lecture #5 October 10, 2001.
Software Engineering Lecture # 1.
Prototyping life cycle Important steps 1. Does prototyping suit the system 2. Abbreviated representation of requirements 3. Abbreviated design specification.
CSE403 Software Engineering Autumn 2001 Gary Kimura Lecture #2 October 3, 2001.
CEN3722 Human Computer Interaction Prototyping Dr. Ron Eaglin.
Systems Development Process and Methodologies Dr. T. Ravichandran.
Rekayasa Perangkat Lunak Part-6
Software Engineering cosc 4359 Spring 2017.
Sampath Jayarathna Cal Poly Pomona
VooTouch - Woocommerce Mobile App Builder
Software Engineering Management
Prototyping Hix & Hartson:
Large-Scale Design Process
Lecture 3 Prescriptive Process Models
Cleveland SQL Saturday Catch-All or Sometimes Queries
5 Whys TOTAL QUALITY MANAGEMENT 5 Whys.
Managing the Project Lifecycle
User-centred system design process
Prototyping Lecture # 08.
Prototyping.
Chapter 5: Using System Software
CS 5150 Software Engineering
Computer tools for Scheduling
WXGE6103 Software Engineering Process and Practice
Consistency Margaret Huck.
Iterative design and prototyping
Prototyping.
Systems Analysis and Design
CSE403 Software Engineering Autumn 2000 Requirements
Software Process Models
Component Based Software Engineering
Software Life Cycle Models
IT Systems Analysis & Design
Design, prototyping and construction
Tools of Software Development
Chapter 2 – Software Processes
Sometimes, Parents Need Time to Think
Step 7: High-Level Product Specification
Software Process Models
CSE403 Software Engineering Autumn 2001
CSE403 Software Engineering Autumn 2000 Requirements
CSE403 Software Engineering Autumn 2000 Dead or Alive
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
Eagle: Maturation and Evolution
Tonga Institute of Higher Education IT 141: Information Systems
Lecture # 7 System Requirements
Requirements Document
Tonga Institute of Higher Education IT 141: Information Systems
Rapid software development
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
CSE403 Software Engineering Autumn 2000
Design, prototyping and construction
Our Process CMSC 345, Version 1/04.
Other System Requirements
Presentation transcript:

CSE403 Software Engineering Autumn 2000 Prototyping CSE 403 Autumn 2000 CSE403 Software Engineering Autumn 2000 Prototyping Gary Kimura Lecture #5 October 4, 2000 October 4, 2000

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 Do you need to do a prototype What type of prototype Is the demo code that you’re getting Thursday a prototype Next time (Friday) Need to turn in your project requirements Then next Friday need project plans or design specs including one for each sub-group, and a timetable More definition of what each sub-group needs to be doing