We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byVernon Stoughton
Modified over 2 years ago
Applying UML to TestStand and LabVIEW Matthew Kennedy Engineering Manager
© 2003 Bloomy Controls Inc. Agenda Software project problems Why UML? Useful UML tools for TestStand and LabVIEW Conclusion Resources * This is not a UML course. Just not enough time.
© 2003 Bloomy Controls Inc. Software Project Problems Software functionality Requirements definition End users and programmers exist in different worlds and speak different languages Requirements get lost or misunderstood Software programmers dont have clear requirements, skip design, and go straight to code development
© 2003 Bloomy Controls Inc. Minimize Software Project Cost Just complete the software THEN fix it. Three simple rules: 1.State requirements 2.Create system design 3.Code to the design UnitsStage.1-.2Requirements.5Design 1Coding 2Unit test 5Acceptance test 20Maintenance 1 unit=Effort required to detect and repair a error during coding
© 2003 Bloomy Controls Inc. Where Does UML Come In? UML can help software programmers and project engineers to: Define customer requirements Create basic designs Set of notation and meta-model language tools Defined notation Applicable to many programming languages Makes programmers put pencil to paper and diagram/plan systems
© 2003 Bloomy Controls Inc. Useful UML Tools for LabVIEW and TestStand Use cases Interaction diagrams Sequence diagrams Activity diagrams
© 2003 Bloomy Controls Inc. Stage 1: Requirements Use case First step toward defining a software system A set of scenarios tied together by a common user goal Describes what system must do
© 2003 Bloomy Controls Inc. Use Case Example Example: Load UUT for test Main success scenario: 1.Operator picks up UUT from rack 2.Operator checks UUT socket clear 3.Operator inserts UUT into test fixture 4.Operator starts test 5.Fixture locks down UUT 6.Test begins Extension 5a.Fixture fails to lock down 5a1. Eject UUT 5a2. Reset test system 5a3. System request maintenance Communicate requirements A set of scenarios tied together by a common user goal Plain language Actor
© 2003 Bloomy Controls Inc. Use Case Diagram – Example
© 2003 Bloomy Controls Inc. Use Cases – Final Thought Of all UML tools, use cases are arguably the most important Key to ensure a successful requirements stage Actors are not always easy to identify Actor could be the test system itself, a sequence, etc. Meant to be simple but detailed enough to manage project scope
© 2003 Bloomy Controls Inc. Stage 2: Design Sequence diagram Describes how groups of objects or processes behave in a sequential and concurrent manner Typically defines a single use case Activity diagram A state of doing something Describes sequence of activity State diagram Describes all possible states that can occur in a system
© 2003 Bloomy Controls Inc. Sequence Diagram Example Latch UUT For Test
© 2003 Bloomy Controls Inc. Activity Diagram Latch UUT For Test
© 2003 Bloomy Controls Inc. State Diagram Read Latch Switch Activity
© 2003 Bloomy Controls Inc. Stage 3: Coding Software design must be implemented Obvious implementations State diagrams: LabVIEW state machines Sequence diagrams: TestStand sequence LabVIEW dataflow programming Sequence structures Activity diagrams: LabVIEW state machines TestStand sequences Using a state diagram does not mean you must use a LabVIEW state machine
© 2003 Bloomy Controls Inc. Fancy Flowcharts? Isnt UML just another flowchart? Widely accepted standard Intuitive to use Many end users already have familiarity with UML Instantly start talking the same language Plenty of resources to help Flowcharts and more with standardized notation
© 2003 Bloomy Controls Inc. More UML Uses Tools for programming graphical object orientated code in LabVIEW – GOOP Useful for class diagrams, package and collaborations diagrams Some projects require merging traditional text-based OOP languages and LabVIEW UML design tools do not necessarily determine implementation Mix and match the appropriate tools and ADEs
© 2003 Bloomy Controls Inc. Tools to Help Rational Rose Visio – UML toolkit New LabVIEW state machine wizard Any word processor: Use case development
© 2003 Bloomy Controls Inc. Lessons Learned Keep use cases detailed Avoid using language-specific information of software design in use cases Use swimlanes with activity diagrams to assist in modularizing TestStand sequence development Finish state machine diagram before writing LabVIEW code Use only what you need Unnecessary to use every diagram tool to adequately design a software system
© 2003 Bloomy Controls Inc. Conclusion UML is an industry-accepted standard for developing software architectures More and more people are becoming aware of the benefits of using UML UML is an excellent tool for developing LabVIEW and TestStand architectures BEFORE coding Use appropriate UML tools UML can save time and money by preventing costly rework
© 2003 Bloomy Controls Inc. Recommended Reading UML Distilled Second Edition, Martin Fowler and Kendall Scott Managing Software Requirements a Unified Approach, Dean Leffingwell and Don Widring The Unified Modeling Language Guide, Grady Booch, Ivar Jacobson, James Rumbaugh Writing Effective Use Cases, Alistair Cockburn
© 2003 Bloomy Controls Inc. Web Resources Use-cases.org foruse.com UML.org Rational.com
© 2003 Bloomy Controls Inc. About Bloomy Controls Test, measurement, automation, and control specialists since 1991 Systems integration, software development, and training provider NI Select Integrator and Certified Training Center 3 Certified LabVIEW Architects 8 Certified LabVIEW Developers 1 Certified TestStand Architect 2 Certified TestStand Developers 8 Certified Professional Instructors Offices in Windsor, CT; Milford, MA; and Mahwah, NJ
© 2003 Bloomy Controls Inc. Contact Bloomy Controls Write or visit CT, Western MA, Eastern NY: Eastern MA, RI, Northern New England: Greater NYC, NJ: 839 Marshall Phelps Rd.100 Medway Rd., Ste 202 Windsor, CT 06095Milford, MA 01757Mahwah, NJ (860) (508) (201)
Five Techniques for Better LabVIEW Code Peter Blume President
CS-2852 Data Structures LECTURE 3B Andrew J. Wozniewicz Image copyright © 2010 andyjphoto.com.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Distributed Java Programming Distributed Java Programming Class #1 August 20, 2002.
Fundamentals of Software Engineering. Instructor: Dr. Kal Bugrara Office: Snell Engineering, Rm 267 Office Hours: Sat: 12:00-2:00 pm Phone
Principles of Object-Oriented Software Development Unified Modeling Language.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Copyright (C), No Magic, Inc Welcome to No Magic!
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
The Unified Modeling Language (UML) A Standard Graphical Modeling Notation Eddie Roache.
A Well Designed Web Application The Benefits of Object Oriented Analysis and Design Simone Becker
An Introduction to Models & The UML The Unified Modeling Language Copyright © 2007 Patrick McDermott College of Alameda Not really.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
UML Course Instructor: Rizwana Noor. Overview Modeling What is UML? Why UML? UML Diagrams Use Case Components Relationships Notations.
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
7M822 UML Introduction 7 September 2010.
Software Engineering: Models David Millard
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 1: Introduction.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Object Oriented Design and Programming Alan Goude Room: Sheaf 9323.
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
Introduction To System Analysis and Design 1. What Is An Information System? An information system is a collection of interrelated components that collect,
2Object-Oriented Analysis and Design with the Unified Process Objectives Explain the purpose and various phases of the traditional systems development.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
UML Diagrams A tool for presentation of Architecture.
Use Cases UML. Use Cases What are Use Cases? A statement of the functionality users expect and need, organized by functional units Different from.
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.
Requirements Analysis 4. 1 Use Case I b504.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Use-Cases.
Unnat-e Infotech 1 Object Oriented Concepts Introduction.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
Connecting with Computer Science, 2e Chapter 13 Software Engineering.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
MADALINA CROITORU Software Engineering week 4 Practical Madalina Croitoru IUT Montpellier.
UML: A Business Value Proposition Luis Ramirez Managing Director SIAC Requirements Engineering CitySPIN – December 2003.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Itntroduction to UML, page 1 Introduction to UML.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
Use Cases, slide no. 1 Use Case Diagrams. Use Cases, slide no. 2 Use Cases Were Introduced by Ivar Jacobson in the Beginnig of the 1990s. “A use case.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to System Requirements Lecture 2 Use-Cases.
7M822 UML Use Case Diagram / Use Case Text / Activity Diagram 23 September 2010.
© 2016 SlidePlayer.com Inc. All rights reserved.