1 / 24

Applying UML to TestStand and LabVIEW

Applying UML to TestStand and LabVIEW. Matthew Kennedy Engineering Manager matthew.kennedy@bloomy.com. 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. Software Project Problems.

curt
Download Presentation

Applying UML to TestStand and LabVIEW

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Applying UML to TestStand and LabVIEW Matthew Kennedy Engineering Manager matthew.kennedy@bloomy.com

  2. 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.

  3. 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

  4. Minimize Software Project Cost “Just complete the software THEN fix it.” Three simple rules: • State requirements • Create system design • Code to the design • 1 unit=Effort required to detect and repair a error during coding

  5. 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

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

  7. 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

  8. Use Case Example Example: Load UUT for test 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

  9. Use Case Diagram – Example

  10. 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

  11. 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

  12. Sequence Diagram Example Latch UUT For Test

  13. Activity Diagram Latch UUT For Test

  14. State Diagram Read Latch Switch Activity

  15. 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

  16. 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

  17. 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

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

  19. 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

  20. 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

  21. 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

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

  23. 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

  24. Contact Bloomy Controls • Email info@bloomy.com • Write or visit

More Related