Applying UML to TestStand and LabVIEW

Slides:



Advertisements
Similar presentations
Five Techniques for Better LabVIEW Code
Advertisements

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--
Unnat-e Infotech 1 Object Oriented Concepts Introduction.
Introduction To System Analysis and Design
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Principles of Object-Oriented Software Development Unified Modeling Language.
7M822 UML Introduction 7 September 2010.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Connecting with Computer Science, 2e
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Itntroduction to UML, page 1 Introduction to UML.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
UML: A Business Value Proposition Luis Ramirez Managing Director SIAC Requirements Engineering CitySPIN – December 2003.
1 Successful Middleware Integration Using a Common Domain Model October, 2000 Gregor Hohpe.
CIS 321—IS Analysis & Design
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
An Introduction to Models & The UML The Unified Modeling Language Copyright © 2007 Patrick McDermott College of Alameda Not really.
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.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
CSCI-383 Object-Oriented Programming & Design Lecture 9.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Object Oriented Design and Programming Alan Goude Room: Sheaf 9323.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
CS-2852 Data Structures LECTURE 3B Andrew J. Wozniewicz Image copyright © 2010 andyjphoto.com.
UML Diagrams A tool for presentation of Architecture.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
 What are CASE Tools ?  Rational ROSE  Microsoft Project  Rational ROSE VS MS Project  Virtual Communication  The appropriate choice for ALL Projects.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
The Unified Modeling Language (UML)
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
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.
A Well Designed Web Application The Benefits of Object Oriented Analysis and Design Simone Becker
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Copyright (C), No Magic, Inc Welcome to No Magic!
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Fundamentals of Software Engineering. Instructor: Dr. Kal Bugrara Office: Snell Engineering, Rm 267 Office Hours: Sat: 12:00-2:00 pm Phone
Defining and Managing Project Scope. MOV Scope Phases Time Estimates Resources Tasks Schedule Budget Sequence Project Planning Framework.
Distributed Java Programming Distributed Java Programming Class #1 August 20, 2002.
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.
Software Engineering: Models David Millard
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
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.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Object-Orientated Analysis, Design and Programming
Introduction to UML.
Evolution of UML.
Object-Oriented Modeling and Design
University of Central Florida COP 3330 Object Oriented Programming
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
A tool for presentation of Architecture
A tool for presentation of Architecture
ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA
Software engineering -1
Object Oriented Analysis and Design
UML Design for an Automated Registration System
Presentation transcript:

Applying UML to TestStand and LabVIEW Matthew Kennedy Engineering Manager matthew.kennedy@bloomy.com Title Slide Guidelines Title Slide should be in Arial Narrow and always 38 point BOLD. This section contains the title of the presentation (consequently, the presentation file should be saved as the SAME name of the title). There should be a space between the Title and the Presenter Name. The next text should be Arial Narrow and always 32 point NORMAL. This line contains the presenters name and title if they choose. The last line (s) should still be Arial Narrow and always 32 point NORMAL. These line/lines can reflect the presentation date, time, room, etc.

Software project problems Why UML? 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. Slide Page and Graphic Guidelines The Slide Title can be 36 point or 32 point (but never smaller), and always BOLD. The Slide Title should not be underlined or italicized. The body of the slide should follow the above format with regards to size and bullet format. The body CAN be emphasized in anyway you need it to be (bold, italics, underline, and so on). Total text area should be limited to the space defined by the ruler guides (click on the slide and you should see a dotted line top, bottom and sides.) Graphics belong below the major text, not above it. (Captions may be below the graphics). Graphics go to the right of the body text. COLOR- Select colors that are darker and not muted, do not use yellow, orange, or other light colors for important information. Keep in mind this needs to show when printed in black and white. Do not use colors to “define” something in the text. You will not be able to match the color definition when printing in black and white.

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 don’t have clear requirements, skip design, and go straight to code development Slide Page and Graphic Guidelines The Slide Title can be 36 point or 32 point (but never smaller), and always BOLD. The Slide Title should not be underlined or italicized. The body of the slide should follow the above format with regards to size and bullet format. The body CAN be emphasized in anyway you need it to be (bold, italics, underline, and so on). Total text area should be limited to the space defined by the ruler guides (click on the slide and you should see a dotted line top, bottom and sides.) Graphics belong below the major text, not above it. (Captions may be below the graphics). Graphics go to the right of the body text. COLOR- Select colors that are darker and not muted, do not use yellow, orange, or other light colors for important information. Keep in mind this needs to show when printed in black and white. Do not use colors to “define” something in the text. You will not be able to match the color definition when printing in black and white.

Minimize Software Project Cost “Just complete the software THEN fix it.” Three simple rules: State requirements Create system design Code to the design Units Stage .1-.2 Requirements .5 Design 1 Coding 2 Unit test 5 Acceptance test 20 Maintenance Slide Page and Graphic Guidelines The Slide Title can be 36 point or 32 point (but never smaller), and always BOLD. The Slide Title should not be underlined or italicized. The body of the slide should follow the above format with regards to size and bullet format. The body CAN be emphasized in anyway you need it to be (bold, italics, underline, and so on). Total text area should be limited to the space defined by the ruler guides (click on the slide and you should see a dotted line top, bottom and sides.) Graphics belong below the major text, not above it. (Captions may be below the graphics). Graphics go to the right of the body text. COLOR- Select colors that are darker and not muted, do not use yellow, orange, or other light colors for important information. Keep in mind this needs to show when printed in black and white. Do not use colors to “define” something in the text. You will not be able to match the color definition when printing in black and white. 1 unit=Effort required to detect and repair a error during coding

UML can help software programmers and project engineers to: 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 Slide Page and Graphic Guidelines The Slide Title can be 36 point or 32 point (but never smaller), and always BOLD. The Slide Title should not be underlined or italicized. The body of the slide should follow the above format with regards to size and bullet format. The body CAN be emphasized in anyway you need it to be (bold, italics, underline, and so on). Total text area should be limited to the space defined by the ruler guides (click on the slide and you should see a dotted line top, bottom and sides.) Graphics belong below the major text, not above it. (Captions may be below the graphics). Graphics go to the right of the body text. COLOR- Select colors that are darker and not muted, do not use yellow, orange, or other light colors for important information. Keep in mind this needs to show when printed in black and white. Do not use colors to “define” something in the text. You will not be able to match the color definition when printing in black and white.

Useful UML Tools for LabVIEW and TestStand Use cases Interaction diagrams Sequence diagrams Activity diagrams

Use case Stage 1: Requirements First step toward defining a software system A set of scenarios tied together by a common user goal Describes what system must do

Use Case Example Example: Load UUT for test Communicate requirements Main success scenario: Operator picks up UUT from rack Operator checks UUT socket clear Operator inserts UUT into test fixture Operator starts test Fixture locks down UUT 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

Use Case Diagram – Example

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

Stage 2: Design Sequence diagram Activity diagram State 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

Sequence Diagram Example Latch UUT For Test

Activity Diagram Latch UUT For Test

State Diagram Read Latch Switch Activity

Software design must be implemented Obvious implementations 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

Isn’t UML just another flowchart? Widely accepted standard Fancy Flowcharts? Isn’t 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

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

New LabVIEW state machine wizard Tools to Help Rational Rose Visio – UML toolkit New LabVIEW state machine wizard Any word processor: Use case development

Keep use cases detailed 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

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

UML Distilled Second Edition, Martin Fowler and Kendall Scott 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

Web Resources Use-cases.org foruse.com UML.org Rational.com

Test, measurement, automation, and control specialists since 1991 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

Email info@bloomy.com Write or visit Contact Bloomy Controls 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 06095 Milford, MA 01757 Mahwah, NJ (860) 298-9925 (508) 902-0054 (201) 818-0117