Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor



Similar documents
Designing Real-Time and Embedded Systems with the COMET/UML method

Application of UML in Real-Time Embedded Systems

How To Design Software

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Object-oriented design methodologies

UML Diagram Types. Use Cases do the Following. Use Case Diagram

Chap 1. Introduction to Software Architecture

Business Modeling with UML

Software Requirements Specification of A University Class Scheduler

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

Requirements / Use Case Specification

Mastering increasing product complexity with Collaborative Systems Engineering and PLM

Object-Oriented Design Guidelines

An Introduction to MPLAB Integrated Development Environment

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

AUTOMATIC NIGHT LAMP WITH MORNING ALARM USING MICROPROCESSOR

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2

Basic academic skills (1) (2) (4) Specialized knowledge and literacy (3) Ability to continually improve own strengths Problem setting (4) Hypothesis

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

What CMMI Cannot Give You: Good Software

Serial port interface for microcontroller embedded into integrated power meter

Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs

Use Case Diagram. Tom Polanski, Analex Corporation CSCI Object-Oriented Analysis and Design (Spring 2001) Homework #3 Use Cases

PART 11: START-UP PROCEDURES FOR THE INSTALLER

UML TUTORIALS THE USE CASE MODEL

How to read this guide

Using Use Cases for requirements capture. Pete McBreen McBreen.Consulting

8051 MICROCONTROLLER COURSE

UML SUPPORTED SOFTWARE DESIGN

A UML Introduction Tutorial

Scenario-based Requirements Engineering and User-Interface Design

Hardware and Logic Implementation of Multiple Alarm System for GSM BTS Rooms

CS 589 Project Smart Home Hub, Phase I Due before 9am on October 21, 2015

Use Case Modeling. Software Development Life Cycle Training. Use Case Modeling. Set A: Requirements Analysis Part 3: Use Case Modeling

Web Site: Forums: forums.parallax.com Sales: Technical:

What is a life cycle model?

Applying 4+1 View Architecture with UML 2. White Paper

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

A UML Documentation for an Elevator System. Distributed Embedded Systems, Fall 2000 PhD Project Report

Fig 3. PLC Relay Output

UML Activity Diagrams: Versatile Roadmaps for Understanding System Behavior

ECU State Manager Module Development and Design for Automotive Platform Software Based on AUTOSAR 4.0

Use of the VALIDATOR Dosimetry System for Quality Assurance and Quality Control of Blood Irradiators

Software Engineering. System Modeling

3C05: Unified Software Development Process

Project Plan. Project Plan. May Logging DC Wattmeter. Team Member: Advisor : Ailing Mei. Collin Christy. Andrew Kom. Client: Chongli Cai

Types of UML Diagram. UML Diagrams OOAD. Computer Engineering Sem -IV

The I2C Bus. NXP Semiconductors: UM10204 I2C-bus specification and user manual HAW - Arduino 1

Lecture 9: Requirements Modelling

Object-Oriented Analysis and Design

AN LPC1700 timer triggered memory to GPIO data transfer. Document information. LPC1700, GPIO, DMA, Timer0, Sleep Mode

2.0 Command and Data Handling Subsystem

Classical Software Life Cycle Models

2. Analysis, Design and Implementation

Microtronics technologies Mobile:

Microcontroller Code Example Explanation and Words of Wisdom For Senior Design

P545 Autonomous Cart

Menouer Boubekeur, Gregory Provan

Designing An Android Sensor Subsystem Pitfalls and Considerations

WIRELESS BLACK BOX USING MEMS ACCELEROMETER AND GPS TRACKING FOR ACCIDENTAL MONITORING OF VEHICLES

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Location-Aware and Safer Cards: Enhancing RFID Security and Privacy

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson

Monitoring of Intravenous Drip Rate

Sofware Requirements Engineeing

Design of an Insulin Pump. Purpose of an Insulin Pump:

Use Case Task 1-7: Network Equavalents between EMS & Planning

NOTICE: This publication is available at:

1 Descriptions of Function

Abstract. 1 Introduction

Rational Unified Process for Systems Engineering RUP SE1.1. A Rational Software White Paper TP 165A, 5/02

Layered Approach to Development of OO War Game Models Using DEVS Framework

F-16 Modular Mission Computer Application Software

Designing a Home Alarm using the UML. And implementing it using C++ and VxWorks

Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6

Introduction to System-on-Chip Design

Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML

Assuming the Role of Systems Analyst & Analysis Alternatives

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Measuring Resistance Using Digital I/O

A HW/SW Codesign Methodology based on UML

Description of High Accuracy Digital Pressure Gauge Design

Home Appliance Control System

How to design an insulin pump

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC Microprocessor & Microcontroller Year/Sem : II/IV

Fourth generation techniques (4GT)

VASCO Data Security International, Inc. DIGIPASS GO-7. FIPS Non-Proprietary Cryptographic Module Security Policy

How To Design An Information System

Representing Exceptional Behaviour at the earlier Phases of Software Development

ABB i-bus EIB Logic Module LM/S 1.1

The following information can be output as speech: status of the teacher / student connection. time markers of the timers.

EXPLORER 4 MULTIPOINT

From Business Process Models to Use Case Models

System Modeling / Class Diagra Diagr m a Week 6

Masters of Science in Software & Information Systems

Green House Monitoring and Controlling Using Android Mobile Application

Use Cases. Use Cases Diagrams

How to make a good Software Requirement Specification(SRS)

UPS PIco. to be used with. Raspberry Pi B+, A+, B, and A. HAT Compliant. Raspberry Pi is a trademark of the Raspberry Pi Foundation

Transcription:

Applying Use Cases to Microcontroller Code Development Chris Gilbert Cypress Semiconductor

Agenda Why Use Cases Microcontroller Project Development Use Cases Defined Use Cases Composition General Example Embedded Example Conclusion 1

Why Use Cases Simple and extensible process Provide a methodical approach to requirements capture and definition Clarify system, subsystem, and component responsibilities Assist in decomposing the design Identify special conditions or error handling Form the spring board from requirements to verification Applicable to object-oriented oriented and functional development 2

Embedded Software Development Lifecycle Requirements Statement of work Informal correspondence with the customer System description General and high level Design is an informal process that maps the requirements to a framework Functional Implementation Verification 3

Embedded Software Code Framework Sequential flow Real-time operating system (RTOS) Interrupt driven State machine Master/slave Functional Implementation Small memory footprint Speed efficiency is often optimized due to relatively low speed devices Limited development tool capability C or assembly language 4

Use Case History Background Ivar Jacobson in 1985 Introduced in the Object-Oriented Oriented Software Engineering (OOSE) Process Primary element of the Unified Software Development Process Supported in Universal Model Language (UML) 5

Use Case Definition Booch,, Jacobson, Rumbaugh, The Unified Software Development Process Specifies a sequence of actions, including variants, that the system can perform and that yields an observable result of value to an actor 6

What is a Use Case Describes what the systems does A collection of operational scenarios that identify the role played by the system in response to stimulus, and the output produced by the system Provides a value for at least one stakeholder Initiated by external events that precipitate a system action Includes the action performed within the system A Use Case model contains all the use cases required to completely describe the functionality of a system 7

What a Use Case Isn t Description of the internal structure of the system Data structures Data base Low level interface Single event or message Event or action internal to the system that is not externally observable or does not produce a result external to the system 8

Use Case Composition Name Summarizes the usage of the system it models Description or Sequence of Steps Description of goal to be achieved Describe the sequence of interactions between the system and the actors that transpire from the input stimulus to the goal Actors Object outside the system that interact with the system Assumptions Assumptions, preconditions, and post conditions required for the use case to execute 9

Use Case Description Brief description Relationships Relationship between the use case and actors or other use cases Basic flow Describe the sequence of interactions between the system and the actors that transpire from the input stimulus to the goal May include state charts, sequence diagrams, etc. Alternative flow Special requirements QOS requirements Requirements not naturally included in the flow description 10

Actors Definition Represents what interacts with the system Any object outside the system under development that has a significant interaction with the system Characteristics One or more per use case Not necessarily involved in all use cases Examples Users, other systems, subsystems, hardware or software components, etc. Microcontroller peripherals such as A/D converter, serial interfaces, sensors Hardware components, LCD, push buttons, sensors 11

Actor Example Carbon Monoxide Monitor Device Microcontroller LED Display Timers Carbon Monoxide Monitor System CO Sensor Sounder Test Button Nonvolatile Memory Calibration Jumper 12

Not Actors Digital interface to the LED display Display was defined as actor A/D converter internal to microcontroller Microcontroller interrupt controller 13

Identifying Use Cases List the primary capabilities of the system, then the actors, then identify specific scenarios within each use case. Identify the actors to the system and their interactions, then group those into use cases. Begin with a system scenario, identify the actors, and combine those into use cases. 14

Use Case Diagram Carbon Monoxide Monitor System Report CO Level 1 CO Sensor LED Display Monitor CO Level Sounder Timers Test Button <<include>> 1 Perform Unit Test Issue Alarm <<include>> Calibrate Unit Calibration Jumper Nonvolatile Memory 15

Use Case: Monitor CO Level Brief Description This use case is initiated periodically, measures the CO sensor level, and computes the CO PPM value. Basic Flow This use case is initiated every 30 seconds. The raw sensor voltage is measured. A PPM value is computed based on the measured value. The PPM value is averaged using a running average with the last 3 readings. Requirements The PPM value is limited to values between 0 to 999 inclusive. 16

Use Case: Perform Unit Test Brief Description Perform a self test of the unit and issue the alarm if an abnormal test is encountered. Basic Flow This use case is initiated when the test button is pressed. At a 2 second rate, the CO sensor is placed in test mode, and the sensor is measured by including the Monitor CO Level use case. Display the test CO level by including the Report CO Level use case. If the CO level is within the test alarm window, issue the CO alarm by including the Issue Alarm use case. If the CO level is outside the alarm threshold window, issue the trouble alarm by including the Issue Alarm use case. After 6 seconds of test, reset the unit if the CO alarm was issued. 17

Use Case: Perform Unit Test Alternate Flow If the calibration jumper is present, reset the unit without performing any unit tests. Requirements The test alarm window lower and upper bounds are 200 and 400 PPM, respectively. 18

Summary Use cases Can be documented minimally, but effectively A complete use case model can be documented on index cards Suitable for customer review Capture functional requirements Drive the system architecture Provide definition for design Are a starting place for verification Assist in identifying unusual or unexpected aspects of the system 19

Questions and Answers 20