1 ECE 18-649 Soda Machine Example Status Update February 19, 2010 Group 7 Justin Ray READ THE SLIDE NOTES FOR COMMENTARY ON THIS EXAMPLE.

Slides:



Advertisements
Similar presentations
Log In with RF LCD Clickers Channel 65. Log In with your Clicker This is what the clicker looks like Here are the steps: 1.Click on CH button 2.The light.
Advertisements

Test process essentials Riitta Viitamäki,
1 ECE Soda Machine Example Status Update March 26, 2010 Group 7 Justin Ray (other group member names would go here)
Building Dependable Systems. R1. There is a single control button available for the user of the oven. If the oven is idle with the door closed and you.
1 Lecture 2: Processes, Requirements, and Use Cases.
Finite state machines.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 ECE Mini-Report #1 Starting Point Month Day, 2010 Group #N Member Name 1 Member Name 2 Member Name 3 Member Name 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Use cases and requirement specification - 1 Use case diagrams 3 use cases System boundaries Remember: Use case diagramming is a tool, not the requirements.
1 ECE Mini-Report #2 Starting Point Month Day, 2010 Group #N Member Name 1 Member Name 2 Member Name 3 Member Name 4.
SE 450 Software Processes & Product Metrics 1 Defect Removal.
1 Lecture 1: Processes, Requirements, and Use Cases.
THE OBJECT-ORIENTED DESIGN WORKFLOW Statechart Diagrams.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Systems Analysis and Design in a Changing World, 6th Edition
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 10: Statecharts.
UML exam advice. Minimal, yet sufficient UML course 80% of modeling can be done with 20% of the UML. Which 20% was that again? We’re supposed to be “Use.
Systems Development (SD) Presentation Michael Webb IT Director for Medicaid Utah Department of Health UDOH Informatics Brownbag August.
Chapter 19 Fundamental PLC Programming
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
ECE Mid-Term Project Presentation
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Interaction Modeling. Overview The class model describes the objects in a system and their relationships, the state model describes the life cycles of.
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Testing 29/Apr/2009 Petr Panuška.
Click the mouse button or press the space bar to display information. Why is it important to write things down or have them on paper? Why are contracts.
Systems Analysis and Design in a Changing World, 6th Edition
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Flowcharts.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Submitted By: Memon Khurshed (Group Leader) Hamed Abdollahpur
Implementing software in IEC Languages in IEC IEC uses the following languages Instruction List – Assembly level programming using.
Microsoft ® Office Word 2007 Training Revising Documents with Track Changes and Comments Aubrey Crook, M.Ed. Presents.
VirtuCo :: Process description ::. :: Reference ::
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Agile Test-based Modeling 資工 聶順成. Outline  Introduction : Modeling meets Programming  Agile Modeling: Using Models in Agile Projects  Model-based.
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
A note on oral presentations These are the progress report presentations. Please note that the individual presentations should be ~8 min long. Since the.
Chapter 3 Functions, Events, and Control Structures JavaScript, Third Edition.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 5 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
State Table Problem #1 An electronic lock is controlled by a keypad, which has three buttons labeled A, B, and R. The keypad is restricted such that, at.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Project Management. Introduction  Project management process goes alongside the system development process Process management process made up of three.
Managing Challenging Projects Presented to the class of: Dr. Jane Mackay M.J. Neely School of Business.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 10: Statecharts.
Excel part 5 Working with Excel Tables, PivotTables, and PivotCharts.
To play, start slide show and click on circle Lesson 1 Lesson 1 Lesson 2 Lesson 2 Lesson Lesson 3.
1 ECE Final Project Report Starting Point December zz, 2015 Group # gg Member Name 1 Member Name 2 Member Name 3 Member Name 4 SPEAKER NAME GOES.
Extracting Information from an Excel List The purpose of creating a database, or list in Excel, is to be able to manipulate the data elements in ways that.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 ECE Final Mini-Report Starting Point Month Day, 2010 Group #N Member Name 1 Member Name 2 Member Name 3 Member Name 4.
Basic Navigation in Oracle R12 BY: Muhammad Irfan.
1 Punishment Through Continuous Delivery If it hurts, do it more often…
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
Slides by Evan Gallagher
An Overview of Requirements Engineering Tools and Methodologies*
Technical Methods for Specifying Requirements
IT316 Software Requirement Engineering
Systems Analysis and Design in a Changing World, 6th Edition
Concurrent Systems Modeling using Petri Nets
Programming and File Management Part 2
Topics Introduction to Repetition Structures
Lesson 05: Iterations Class Chat: Attendance: Participation
Lesson 16: State-Based Sequential Design
Systems Analysis and Design in a Changing World, 6th Edition
Alternating tree Automata and Parity games
Yes, we need hundreds of methodologies!!!
Lesson 3 Sub-Routines.
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Building Dependable Systems
Modeling Behavior in Statechart Diagrams
Presentation transcript:

1 ECE Soda Machine Example Status Update February 19, 2010 Group 7 Justin Ray READ THE SLIDE NOTES FOR COMMENTARY ON THIS EXAMPLE

Group #7Justin Ray2 Overview  ButtonControl Design Process Use case: pressing the button Scenarios, Sequence Diagrams, Requirements Statecharts: to nest or not to nest  Design revisions Missing inputs Incorrect flashing behavior  Project Statistics  Lessons Learned

Group #7Justin Ray3 ButtonControl: Use Case and Scenario  U2. Customer pushes a soda button Primary use case for soda vending  U4. Observe soda availability Deals with the behavior of the button light  Scenario 2A: push button after paying Precondition: 2 coins inserted Scenario  The Customer pushes soda button ‘s’.  The light on the soda button ‘s’ begins flashing.  … (vend cycle)  The light on the soda button s stops flashing. Postcondition: A soda has been vended.

Group #7Justin Ray4 Sequence Diagram 2A Customer Button CoinControl CoinCount==2 VendControl 2a. ButtonLight[s](false) ButtonLight ButtonControl 2b. ButtonLight[s](true) 2a and 2b repeat until 5a. 1a. Button s pressed 1d. mCoinCount(2) 1c. mButton[s](true) 1b. Button[s](true) 16pt Note: Subset of the SD 2A relevant to the controller behavior. Flashing light behavior indicates that a soda vend is in progress. mVend == False

Group #7Justin Ray5 Requirements  6 Requirements total  R2.4 indicates a vend cycle is in progress If  Button[s] True AND  mEmpty[s] False AND  mCoinCount equals SODA_COST AND  mVend False, then  R2.4a. ButtonState shall be set to True.  R2.4b. ButtonLight[s] shall be commanded to blink with a period of 1s.

Group #7Justin Ray6 Statechart  Nested statechart avoids duplicating T2.2 and T2.3  Early work on Proj 5  nested statechart is hard to implement S2.3 VEND S2.1 IDLE DO: ButtonLight  On mButton[s]  False FlashCounter  0 S2.2 EMPTY DO: ButtonLight  Off mButton[s]  False FlashCounter  0 S2.4 FLASH_OFF DO: ButtonLight  Off mButton[s]  TRUE Increment FlashCounter S2.4 FLASH_ON DO: ButtonLight  On mButton[s]  TRUE Decrement FlashCounter T2.1 T2.2 T2.3 T2.6 T2.7 T2.4T2.5 T2.1 mButton[s] ← True AND mEmpty[s] ← False AND mVend ← False AND mCoinCount ← SODA_COST ….

Group #7Justin Ray7 Project Statistics Date of Presentation02/18Pres2Pres3 # of Sequence Diagrams7--- # of SD arcs73--- # of Requirements20--- # of statecharts4--- # of SC states16--- # of SC arcs22--- # of non-comment LOCN/A--- # of unit testsN/A--- # of integration testsN/A--- # of acceptance testsN/A--- # unresolved defects0--- # of issue log entries7---

Group #7Justin Ray8 Lessons Learned & Open Issues  Problems that you have already solved CoinControl missing a VEND state  Identified in reviews  mVend input unused ButtonControl defects  Identified in reviews  incorrect flashing behavior  Team strategies Sort out tools early Only let one person edit a document at a time  Open issues Refactor the ButtonControl statechart?  Decide between  more complex statechart that matches the code better  less complex statechart with duplicated transitions in code

9 Any Questions? Team 7 Justin ray – …

10 Backup Slides

Group #7Justin Ray11 Statechart T2.1mButton[s] ← True AND mEmpty[s] ← False AND mVend ← False AND mCoinCount ← SODA_COST T2.2mVend ← True AND mEmpty[s] ← False T2.3mVend ← True AND mEmpty[s] ← True S2.3 VEND S2.1 IDLE DO: ButtonLight  On mButton[s]  False FlashCounter  0 S2.2 EMPTY DO: ButtonLight  Off mButton[s]  False FlashCounter  0 S2.4 FLASH_OFF DO: ButtonLight  Off mButton[s]  TRUE Increment FlashCounter S2.4 FLASH_ON DO: ButtonLight  On mButton[s]  TRUE Decrement FlashCounter T2.1 T2.2 T2.3 T2.6 T2.7 T2.4T2.5 T2.4FlashCounter > FlashLimit T2.5FlashCounterLimt ← 0 T2.6mEmpty ← True T2.7mEmpty ← False