Elevator Example.

Slides:



Advertisements
Similar presentations
Use Case Diagrams Damian Gordon.
Advertisements

P5, M1, D1.
2-Hardware Design of Embedded Processors (cont.) Advanced Approaches.
Use Case & Use Case Diagram
ICT Class System Life Cycle.  Large systems development projects may involve dozens of people working over several months or even years, so they cannot.
Systems Analysis & IT Project Management Pepper. System Life Cycle BirthDeathDevelopmentProduction.
GUI Testing. High level System Testing Test only those scenarios and outputs that are observable by the user Event-driven Interactive Two parts to test.
System Analysis (Part 1)
Chapter 6 Review Questions
Designing new systems or modifying existing ones should always be aimed at helping an organization achieve its goals State the purpose of systems design.
Chapter 14 Requirements and Specifications. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Software Engineering The implementation.
Computer Programming and Basic Software Engineering 4. Basic Software Engineering 1 Writing a Good Program 4. Basic Software Engineering 3 October 2007.
Ch3: Software Engineering Principles 1 What is a principle?  Definition:  Goals of accounting principles:  Goals of software engineering principles?
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Project title Team Members. Project Title Brief description of the project in bullet form.
1 CS1001 Lecture Overview Object Oriented Design Object Oriented Design.
System Implementation
Systems Analysis and Design in a Changing World, 6th Edition
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
System Implementation
Introduction to Computers and Programming
*Object-Oriented Design (Schach Chap 14)
CS 4310: Software Engineering Lecture 3 Requirements and Design.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
CS 0004 –Lecture 8 Jan 24, 2011 Roxana Gheorghiu.
Appendix D McGraw-Hill/Irwin Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved.
Chapter 7 Structuring System Process Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 The requirements engineering process.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Interaction Modeling. Overview The class model describes the objects in a system and their relationships, the state model describes the life cycles of.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
HFOOAD Chapter 2 Requirements. We create software for a reason. We create software fro people. We need to know what the people want in the software we.
CS3320::CH111 OBJECT-ORIENTED ANALYSIS Chapter 11.
Use Cases 1. Last week  Introduction to software engineering  How is it different from traditional engineering?  Introduction to specification  Operational.
1 Analysis Extracting from Use Cases to Create Diagrams.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
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
Introduction to Software Development. Systems Life Cycle Analysis  Collect and examine data  Analyze current system and data flow Design  Plan your.
C++ Basics C++ is a high-level, general purpose, object-oriented programming language.
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Yu Du, Yu Long Electrical & Computer Engineering
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
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.
IS2210: Systems Analysis and Systems Design and Change Twitter:
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
 System Sequence Diagrams Sheridan SYST Engineering Quality Systems 11.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
JORGE JUAN RODRÍGUEZ PEDRO GARIBI DESCRIPTION OF THE IMPLEMENTATION OF WP6 TO 9 IN DELIVERABLE D9.1.
1 Software Development Life cycle (SDLC). Phases of SDLC 2 Requirement Analysis (Defining Requirement) Designing (Design) Coding (Implementation) Software.
A Few Review Questions Dan Fleck Fall System Test Case Enter invalid username in the input box Able to enter text Enter invalid password in the.
Elevator Example. Problem GSU schedules to upgrade all the campus elevators in 6 months. Due to incompatibility with the new hardware, the current software.
Using Use Case Diagrams
System Design, Implementation and Review
Systems Analysis and Design in a Changing World, 6th Edition
Systems Planning and Analysis
Outline 1. Exercise on use case diagram
Systems Analysis and Design
Implementing Functions from a Detailed Design Quick Tips
Introduction Example: model train controller..
תכן UML in Design מקורות: S. R. Schach: Chapter 12
SDLC The systems development life cycle is the foundation for many systems development methodologies such as RAD and agile Systems development life cycle.
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Systems Analysis and Design in a Changing World, 6th Edition
Using Use Case Diagrams
Software Development Life Cycle Models
Plan of the talk Basic Specification blocks
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. You are asked to develop the software 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?

Management aspect - schedule, - budget, - resources - software life cycle Development aspect

Software Development Start with functional requirement Why? How? - observation - documentation - domain expert How about nonfunctional requirement - performance - constrains

How to describe functional requirement? “I take elevators everyday and I know how they work. There is no need to describe the requirements – I have everything in my mind”. We need a “formal” or “semi-formal” way to document the requirements.

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 Two users press floor buttons indicating opposite moving directions One user (inside) presses a floor button but then changes his/her mind and then presses a button for an opposite direction. Is there a “cancel” button available? One user (outside) presses an up button but then changes his/her mind (not entering into the elevator) and press down button. Emergency call function. etc.

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

Analysis Analyze the requirement and identify major objects.

A high-level class diagram

A use case diagram at a lower level

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

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             (to be continue…) }

New Requirements Your group spend 5 months on this project and start to implement and test the software. Then one day you receive a phone call from GSU saying that all elevators should support the function of displaying text messages from the building manager…… What do you do now? This is an example of requirement change in the middle of development.