Elevator Example. Problem GSU schedules to upgrade all the campus elevators in 6 months. Due to incompatibility with the new hardware, the current software.

Slides:



Advertisements
Similar presentations
Case Studies Elevator control system Elevator control system Comet case studies From task structuring to target system configuration.
Advertisements

P5, M1, D1.
2-Hardware Design of Embedded Processors (cont.) Advanced Approaches.
Documentation Letts Study Guide Information Systems - IT Chapter 19.
Techniques for Object Discovery from Real Time UML, B.P. Douglass.
A Brief Introduction to Software Design and Design Quality By Laura Leventhal.
Project Doors Group Doors 3 Presenters: Becky Smith, Tim Hollosy Demo Given by: Tim Hollosy.
1 CS1001 Lecture Overview Object Oriented Design Object Oriented Design.
Chapter 6: An Introduction to System Software and Virtual Machines
7M822 UML Sequence Diagrams 5 October 2009.
PROGRAMMABLE INTERFACE CONTROLLERS Understanding what PIC’s are. How to use PIC logicator Knowing what you can do with PIC circuits.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
System Implementation
*Object-Oriented Design (Schach Chap 14)
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
CSC 213 – Large Scale Programming Lecture 3: Object-Oriented Analysis.
Elevator Control System
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Programming Design ROBOTC Software Principles of Engineering
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
C++ Basics C++ is a high-level, general purpose, object-oriented programming language.
Use Case Maps (UCMs) and UML Use Case Diagrams SEG3201 Fall 2006.
CPSC 203. Use Case Diagram  A description of a system’s behavior as it responds to a request that originates from outside of that system. Specifies the.
Course Presentation EEL5881, Fall, 2003 Project: Network Reliability Tests Project: Network Reliability Tests Team Client: Dr. Joseph Berrios Team Client:
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
Software Engineering Zhang Shuang
The Art of Programming. The process of breaking problems down into smaller, manageable parts By breaking the problem down, each part becomes more specific.
Elevator Example.
Ch 26 & 27 Operating Systems.  Understand the purpose of an operating system  Be able to describe the tasks performed by an operating system.
KEY FEATURES Low Entry Cost Rs. 350/- Only Instant “Member to Member” Payments Direct Payment To Your Bank By The Member You Refer *No ID *NO E-wallet.
 System Sequence Diagrams Sheridan SYST Engineering Quality Systems 11.
 2000 Deitel & Associates, Inc. All rights reserved. Optional Case Study - Chapter 6 Outline 6.1 Introduction 6.2 Implementation: Visibility 6.3 Implementation:
CMSC 104, Section 301, Fall Lecture 18, 11/11/02 Functions, Part 1 of 3 Topics Using Predefined Functions Programmer-Defined Functions Using Input.
Section 3.3 Exceptional Situations. 3.3 Exceptional Situations Exceptional situation Associated with an unusual, sometimes unpredictable event, detectable.
Dialog Boxes Getting information from user. Types of Windows Five types we’ll be using 1. Main Application Window 2. Child Windows 3. Dialog Boxes 4.
Programming Design ROBOTC Software Principles Of Engineering
Overheads for Computers as Components
Lesson Objectives Aims Key Words Interrupt, Buffer, Priority, Stack
Winsteon Automated Window.
Topics Introduction to Repetition Structures
2-Hardware Design of Embedded Processors (cont.)
Outline 1. Exercise on use case diagram
Systems Analysis and Design
Programming Design ROBOTC Software Computer Integrated Manufacturing
Managing the development of information systems (Part 1)
תכן UML in Design מקורות: S. R. Schach: Chapter 12
SAD ::: Spring 2018 Sabbir Muhammad Saleh
MSIS 655 Advanced Business Applications Programming
Global Challenge Night Sensor Lesson 2.
Global Challenge Night Sensor Lesson 2.
Global Challenge Night Sensor Lesson 2.
Global Challenge Night Sensor Lesson 2.
Global Challenge Night Sensor Lesson 2.
Programming Design ROBOTC Software Principles Of Engineering
Topics Introduction to Functions Defining and Calling a Void Function
Using Use Case Diagrams
Global Challenge Night Sensor Lesson 2.
Global Challenge Night Sensor Lesson 2.
Global Challenge Night Sensor Lesson 2.
Global Challenge Night Sensor Lesson 2.
CMSC202 Computer Science II for Majors Lecture 07 – Classes and Objects (Continued) Dr. Katherine Gibson Based on slides by Chris Marron at UMBC.
Global Challenge Night Sensor Lesson 2.
Global Challenge Night Sensor Lesson 2.
Programming Design ROBOTC Software Principles of Engineering
STATE MACHINE AND CONCURRENT PROCESS MODEL
CSE 1321 Modules 1-5 Review Spring 2019
STATE MACHINE AND CONCURRENT
CS 111 – Sept. 24 Operating Systems Commitment: Scheduling
APPLET PROGRAMMING.
A Guide on QuickBooks Error QuickBooks Error is a QuickBooks error which is mainly caused as there is installation or update predicaments.
Presentation transcript:

Elevator Example

Problem GSU schedules to upgrade all the campus elevators in 6 months. Due to incompatibility with the new hardware, the current software that controls the elevators cannot be reused. Your task is to develop the software (in Java) that controls the elevator so that the elevators will operate in the same way as they do now.

You formed a group with 5 group members. What do you do now?

Start with functional requirement -- use case, Why?

Elevators use case: Quickly using idle elevator 1.User enters elevator on ground floor 2.User presses floor 8 button 3.Doors close 4.Elevator moves up to desired floor 5.Doors open 6.User leaves Note: Elevator was waiting on ground floor because it had been idle

Elevators use case: Hold the door User1 enters elevator on ground floor User1 presses floor 8 button Doors start to close User1 sees User2 approaching User1 presses "open door" button Doors open fully User2 enters and sees floor 8 button already lit Doors close after 10 seconds Elevator moves up to desired floor Doors open User leaves Note: User2 does not need to press anything

Use case example: Special conditions 1.Two users press floor buttons indicating conflict moving directions 2.One user (inside) presses a floor button but then changes his/her mind and then presses a button for an opposite direction. 3.One user (outside) presses a up button but then changes his/her mind not entering into the elevator and press down button. 4.etc.

A use case diagram Share a ride Use idle elevator Hold the door Elevator system user administrator Maintenance

A high-level class diagram

A use case diagram at a different level

A more detailed level Elevator controller Floor button Elevator button Elevator motor Door motor Open door close door Move up Move down

Another class diagram

Sequence Diagram for Serving Elevator Button

Sequence Diagram for Serving Door Button

State chart diagram

Detailed class diagram Note: this diagram ignores all the sensors that detect person in door way, overloaded, etc.

Detail Operation Description Module Name Elevator_Control::Elevator_control_loop Module Type Method Input Argument None Output Argument None Error Message None File Access None File Change None Method Invoke button::illuminate, button::cancel_illumination, door::open, door::close, elevator::move, elevator::stop

Pseudo code void elevator_control (void) { while a button has been pressed if button not on { button::illuminate; update request list; } else if elevator is moving up { if there is no request to stop at floor f Elevator::move one floor up; else (not finished) }