Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer

Size: px
Start display at page:

Download "Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer"

Transcription

1 Software Engineering Best Practices Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer

2 2

3 3

4 4

5 Examples of Software Engineering Debt (just some of the most common LabVIEW development mistakes) No source code control (or Project) Flat file hierarchy Stop isn t tested regularly Wait until the end of a project to build an application Few specifications / documentation / requirements No buddying or code reviews Poor planning (Lack of consideration for SMoRES) No test plans Poor error handling No consistent style Tight coupling, poor cohesion 5

6 The Cost of a Software Defect Development Phase Cost Ratio Requirements 1 Design 3-6x Implementation 10x Development Testing 15-40x Acceptance Testing 30-70x Post Release x Based on an analysis of 63 software development projects at companies including IBM, GTE and TRW 6

7 High-Volume Production Test Structural Health Monitoring Medical Devices Robotics and Mechatronics Large Physics Applications Avionics Applications Large System Development Powered by LabVIEW

8 Topics Configuration Management Requirements Tracking Architecture and Design Coding Styles and Standards Testing and Debugging Documentation ni.com/largeapps 8

9 Software Engineering V-Model Prototyping Requirements Gathering Review and Test System Testing Service Application Architecture Integration Testing Module Architecture Unit Testing Deployment 9

10 Size of LabVIEW Applications to 100 VIs 100 to 250 VIs 250 to 1000 VIs 1000 to 3000 VIs 3000 to 5000 VIs Greater than 5000 Source: 2010 ni.com/largeapps survey 14

11 Average Number of Developers Per Project > 10 5 to 10 3 to Source: NIWeek 2008 Software Engineering Survey 15

12 Source Code Application Control Architecture Requirements Gathering Development Debugging & Testing Deployment Software Configuration Management Merger Code Revision Locked for edit Developer 1 Checked Out Checked In Get Latest Version Code Repository Checked Out Checked In Checked Out Checked In Developer 2 16

13 SCC Options for Integration within LabVIEW Native LabVIEW Integration Perforce Integration Through Standard API Microsoft Visual SourceSafe Microsoft Team System Rational ClearCase PCVS (Serena) Version Manager MKS Source Integrity Seapine Surround SCM Borland StarTeam Telelogic Synergy ionforge Evolution Support through additional add-ons Subversion Mecurial 17

14 NI Configuration Management Different trunk for each LabVIEW version Teams of 3 to 7 developers work in smaller repositories Individuals may have their own repositories Feature-Team Repository Feature-Team Repository Development Trunk Feature-Team Repository New features and changes are regularly merged in Individual s Local Repositories 18

15 60 Popularity of SCC Options Amongst LabVIEW Programmers Perforce Subversion ClearCase Git VSS Mecurial none Source: 2010 ni.com/largeapps survey

16 Configuration Management DEMO 20

17 Graphical Differencing Provides a checklist of changes Useful for peer reviews Available via command-line 21

18 Separate Compiled Code From Source File Improved Source Code Control Integration 2009.vi file format 2010.vi file format* Front Panel Block Diagram Front Panel Block Diagram Connector Pane Icon Connector Pane Icon Compiled Code Inplaceness Info A separate object file is created to store and retain this information Eliminate the need to re-save and re-submit files to source code control unless the graphical source code has been changed by the developer *this feature is not on by default and needs to be enabled from the VI Properties dialog 22

19 Source Code Control Scenario: Today In SCC Local Machine TopLevel.vi SubVI1.vi SubVI2.vi SubVI1.vi Edit Save Check-in

20 Source Code Control Scenario: 2010 In SCC TopLevel.vi SubVI1.vi SubVI2.vi Local Machine SubVI1.vi local.viobj cache TopLevel.viobj SubVI1.viobj SubVI2.viobj Edit Run/Save Check-in

21 VI Package Manager Build and manage packages of LabVIEW code 25

22 Install and Manage VI Packages Structured Error Handler GXML Library 26

23 Easily Upgrade and Downgrade Versions 27

24 Create VI Configuration Files A single file that contains multiple packages. Easily share and distribute code that depends upon multiple libraries. Structured Error Handler Structured Error Handler Config GXML Library AMC Library G Library 28

25 System Level View Track Changes Integrate with SCC Software Configuration Management for LabVIEW Merge Graphical Code Manage Files and Links Manage Reuse Libraries 33

26 The Software Engineering Process Requirements Gathering Application Architecture Development Testing and Validation Deployment NI Requirements Gateway LabVIEW Statechart Object Orientation NI TestStand Dataflow MathScript Statechart Simulation LabVIEW Unit Test Framework LabVIEW VI Analyzer LabVIEW Desktop Execution Trace Application Builder Real Time FPGA Embedded Prove it works. Improve quality. Reduce risk. Save time. Now Included with DevSuite 34

27 The Software Engineering Process Requirements Gathering Application Architecture Development Testing and Validation Deployment NI Requirements Gateway LabVIEW Statechart Object Orientation NI TestStand Dataflow MathScript Statechart Simulation LabVIEW Unit Test Framework LabVIEW VI Analyzer LabVIEW Desktop Execution Trace Application Builder Real Time FPGA Embedded Prove it works. Improve quality. Reduce risk. Save time. 35

28 Requirements Traceability Solution from NI 37

29 Requirements Gathering Application Architecture Development Debugging & Testing Deployment Requirements Coverage and Project Tracking Traceability and Documentation Generation 38

30 Requirements Tracking DEMO 39

31 Documentation Labeled objects In-line comments Distinct Icon Description and Tip HTML Print-Out Requirements Coverage 40

32 Tools for Debugging and Testing Debugging & Testing Application Complexity Advanced Simple VI Analyzer Toolkit Desktop Execution Trace Unit Test Framework Real Time Execution Trace Functional Validation of Code Dynamic Code Analysis Static Code Analysis Low Risk High Risk Application Criticality 41

33 Performing a LabVIEW Code Review Walk someone through your code Questions to consider: Is the code easy to maintain, and has it been documented? What happens if the code returns an error? ( or if it receives an error?) Is too much functionality located in a single VI? Are there any race conditions? Is the memory usage within acceptable limits? Perform code reviews frequently 42

34 Establish or Adopt Development Guidelines Front Panel Style Fonts and Text Characteristics Colors Graphics and Custom Controls Layout Sizing and Positioning Labels Paths versus Strings Enumerated Type Controls versus Ring Controls Default Values and Ranges Property Nodes Key Navigation Dialog Boxes Style Checklist VI Checklist Front Panel Checklist Block Diagram Checklist Block Diagram Style Wiring Techniques Memory and Speed Optimization Sizing and Positioning Left-to-Right Layouts Block Diagram Comments Call Library Function Nodes and Code Interface Nodes Type Definitions Sequence Structures Icon and Connector Pane Style Icons Example of Intuitive Icons Connector Panes NI Style Guideline: ni.com/largeapps 43

35 Preparing for a Code Review with VI Analyzer Automate code analysis with 80+ configurable tests Performance Style Complexity Interactively inspect failures Generate custom reports Code complexity metrics Write your own tests with VI Scripting LabVIEW

36 VI Analyzer Code Complexity Metrics Tests for Industry Standard Metric Calculations True Edges = 5 Nodes = 3 Paths = 1 Case 1 Case 2 False Case 3 Cyclomatic complexity: (1) = 4 45

37 VI Analyzer for Peer Reviews DEMO 48

38 Tools for Debugging and Testing Debugging & Testing Application Complexity Advanced Simple VI Analyzer Toolkit Desktop Execution Trace Unit Test Framework Real Time Execution Trace Functional Validation of Code Dynamic Code Analysis Static Code Analysis Low Risk High Risk Application Criticality 49

39 Trace Production Systems Remotely LabVIEW Desktop Execution Trace Toolkit Network Run-Time Execution Information VIs and Debuggable Executables LabVIEW Real-Time Execution Trace Toolkit Network Run-Time Execution Information Deployed Real-Time Applications 51

40 Desktop Execution Trace Toolkit Trace During Run-Time: Event Structures Memory Allocation Queues / Notifiers Reference Leaks Thread ID Unhandled Errors Dynamic / Static SubVIs Custom User Strings 52

41 Desktop Execution Trace Toolkit Trace During Run-Time: Event Structures Memory Allocation Queues / Notifiers Reference Leaks Thread ID Unhandled Errors Dynamic / Static SubVIs Custom User Strings 53

42 Dynamic Code Analysis with Desktop Execution Trace Toolkit DEMO 54

43 Remote Debugging of Executables Include block diagrams with an executable Remotely troubleshoot using LabVIEW debug tools 55

44 Tools for Debugging and Testing Debugging & Testing Application Complexity Advanced Simple VI Analyzer Toolkit Desktop Execution Trace Unit Test Framework Real Time Execution Trace Functional Validation of Code Dynamic Code Analysis Static Code Analysis Low Risk High Risk Application Criticality 56

45 Data Science Automation Developed Long-term testing solution for artificial hearts "The Unit Test Framework s flexibility and ease of use certainly enabled much faster and reliable completion of this portion of the project potentially saving hundreds of hours and thousands of dollars over the life of the project." 57

46 LabVIEW Unit Test Framework Input Values Output VI Under Test Unit Test Framework Expected Output Automated Report Generation Test vector = Input value(s) + Expected output(s) 58

47 LabVIEW Unit Test Framework Input Values Output Unit Test Framework VI Under Test Windows Desktop Expected Output Automated Report Generation Test vector = Input value(s) + Expected output(s) 59

48 LabVIEW Unit Test Framework Input Values Output Unit Test Framework VI Under Test Real Time Expected Output Automated Report Generation Test vector = Input value(s) + Expected output(s) 60

49 Unit Testing DEMO 61

50 Code Coverage Example 6 Diagrams. 3 Diagrams Executed. 50% Code Coverage 63

51 Code Coverage Example 1 ST Test Vector: Block diagram, 2 Case diagrams executed. ( ) / 6 = 50% Code Coverage 2 nd Test Vector (aggregates covered code from 1 st pass) Block diagram, 5 Case diagrams executed. ( ) / 6 = 83.33% Code Coverage 64

52 Programmatic Unit Testing Programmatically invoke testing and report generation 65

53 Integration with Requirements Gateway Implementation Software Requirements Unit Tests Test Results 66

54 Application Builder API New in LabVIEW 2011 Automate build and deployment processes 69

55 App Builder Log-File Generation Document version, date and time of Vis included in build Available in LabVIEW

56 NI LabVIEW Certifications Align with Training Developer Senior Developer Software Architect / Project Manager LabVIEW Core 1 LabVIEW Core 2 Certified LabVIEW Associate Developer LabVIEW Core 3 LabVIEW Connectivity Certified LabVIEW Developer Advanced Architectures in LabVIEW Managing Software Engineering in LabVIEW Certified LabVIEW Architect Recommended course Optional course Optional certification LabVIEW Performance Object-Oriented Design & Programming in LabVIEW "Certification is an absolute must for anyone serious about calling himself a LabVIEW expert... At our organization, we require that every LabVIEW developer be on a professional path to become a Certified LabVIEW Architect." - President, JKI Software, Inc.

57 More Information on Architectures and Process Dedicated to LabVIEW Development and Software Engineering Practices Technical White Paper Series ni.com/largeapps Online Community Dedicated to Development Best Practices ni.com/community/largeapps Christian Hartshorne

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager Software Engineering for LabVIEW Applications Elijah Kerry LabVIEW Product Manager 1 Ensuring Software Quality and Reliability Goals 1. Deliver a working product 2. Prove it works right 3. Mitigate risk

More information

Source Code Control and Software Reuse

Source Code Control and Software Reuse Source Code Control and Software Reuse Presented by: Steven Hoenig Business Unit Manager Bloomy Controls Inc. OverVIEW About Bloomy Challenges of Large Applications Source Code Control (SCC) Bloomy SCC

More information

System Design in the Software Era. ni.com

System Design in the Software Era. ni.com System Design in the Software Era ni.com 2 3 The Cost of a Software Defect Development Phase Cost Ratio Requirements 1 Design 3-6x Implementation 10x Development Testing 15-40x Acceptance Testing 30-70x

More information

Software Engineering for LabVIEW Applications

Software Engineering for LabVIEW Applications Software Engineering for LabVIEW s Topics Software Quality Standards ISO 9000, CMMI, DO-178B, FDA CFR Part 820 Software Engineering Process (SEP) Validation, -Based Testing, Debugging, Automated Software

More information

The Essentials of File Management with LabVIEW

The Essentials of File Management with LabVIEW The Essentials of File Management with LabVIEW Courtney Lessard LabVIEW Product Manager Presented by Alexandra Valiton, NI Field Engineer, Long Island How many files in your biggest application?.lvproj.vi.ctl.lvlib.dll

More information

Introduction to LabVIEW Design Patterns

Introduction to LabVIEW Design Patterns Introduction to LabVIEW Design Patterns What is a Design Pattern? Definition: A well-established solution to a common problem. Why Should I Use One? Save time and improve the longevity and readability

More information

Manage Software Development in LabVIEW with Professional Tools

Manage Software Development in LabVIEW with Professional Tools Manage Software Development in LabVIEW with Professional Tools Introduction For many years, National Instruments LabVIEW software has been known as an easy-to-use development tool for building data acquisition

More information

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008 Medical Device Design: Shorten Prototype and Deployment Time with NI Tools NI Technical Symposium 2008 FDA Development Cycle From Total Product Life Cycle by David W. Fiegal, M.D., M.P.H. FDA CDRH Amazon.com

More information

and Certification What Does It Take To Get Certified? Steven Hoenig NJ Business Unit Manager

and Certification What Does It Take To Get Certified? Steven Hoenig NJ Business Unit Manager National Instruments Training and Certification What Does It Take To Get Certified? Steven Hoenig NJ Business Unit Manager Certified LabVIEW Architect Certified Professional Instructor 2008 Bloomy Controls.

More information

LabVIEW Advanced Programming Techniques

LabVIEW Advanced Programming Techniques LabVIEW Advanced Programming Techniques SECOND EDITION Rick Bitter Motorola, Schaumburg, Illinois Taqi Mohiuddin MindspeedTechnologies, Lisle, Illinois Matt Nawrocki Motorola, Schaumburg, Illinois @ CRC

More information

Certified LabVIEW Developer (CLD) Certification and Exam Overview

Certified LabVIEW Developer (CLD) Certification and Exam Overview Certification Overview The National Instruments LabVIEW Certification Program consists of the following three certification levels: 1. Certified LabVIEW Associate Developer (CLAD) 2. Certified LabVIEW

More information

ni.com Remote Connectivity with LabVIEW

ni.com Remote Connectivity with LabVIEW Remote Connectivity with LabVIEW What Is Remote Connectivity? Local Monitoring 3 Remote Mobile Access 4 What Is Remote Connectivity Two machines talking to one another Client Server PC PC Consumes Data

More information

National Instruments: LabVIEW

National Instruments: LabVIEW National Instruments: LabVIEW LabVIEW is a graphical programming language that uses icons instead of lines of text to create applications. In contrast to textbased programming languages, where instructions

More information

SCADE System 17.0. Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System 17.0 1

SCADE System 17.0. Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System 17.0 1 SCADE System 17.0 SCADE System is the product line of the ANSYS Embedded software family of products and solutions that empowers users with a systems design environment for use on systems with high dependability

More information

Getting Started with the LabVIEW Mobile Module Version 2009

Getting Started with the LabVIEW Mobile Module Version 2009 Getting Started with the LabVIEW Mobile Module Version 2009 Contents The LabVIEW Mobile Module extends the LabVIEW graphical development environment to Mobile devices so you can create applications that

More information

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

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

Getting Started with the LabVIEW Mobile Module

Getting Started with the LabVIEW Mobile Module Getting Started with the LabVIEW Mobile Module Contents The LabVIEW Mobile Module extends the LabVIEW graphical development environment to Mobile devices so you can create applications that run on Windows

More information

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

Project Management Support

Project Management Support Project Management Support Project management is the discipline of planning, organizing, securing, managing, leading, and controlling resources to achieve specific goals. A project is a temporary business

More information

BI xpress Product Overview

BI xpress Product Overview BI xpress Product Overview Develop and manage SSIS packages with ease! Key Features Create a robust auditing and notification framework for SSIS Speed BI development with SSAS calculations and SSIS package

More information

LabVIEW Report Generation Toolkit for Microsoft Office

LabVIEW Report Generation Toolkit for Microsoft Office USER GUIDE LabVIEW Report Generation Toolkit for Microsoft Office Version 1.1.2 Contents The LabVIEW Report Generation Toolkit for Microsoft Office provides VIs and functions you can use to create and

More information

Firewall Builder Architecture Overview

Firewall Builder Architecture Overview Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.

More information

MicroStrategy Course Catalog

MicroStrategy Course Catalog MicroStrategy Course Catalog 1 microstrategy.com/education 3 MicroStrategy course matrix 4 MicroStrategy 9 8 MicroStrategy 10 table of contents MicroStrategy course matrix MICROSTRATEGY 9 MICROSTRATEGY

More information

Xcode Project Management Guide. (Legacy)

Xcode Project Management Guide. (Legacy) Xcode Project Management Guide (Legacy) Contents Introduction 10 Organization of This Document 10 See Also 11 Part I: Project Organization 12 Overview of an Xcode Project 13 Components of an Xcode Project

More information

Application Development

Application Development Thomas Schneider SAP' Business ByDesign Studio Application Development Foreword 15 About This Book 17 Introduction 21 1.1 Introducing Site Management 37 1.2 Introducing SAP Business ByDesign Studio 42

More information

Learning Remote Control Framework ADD-ON for LabVIEW

Learning Remote Control Framework ADD-ON for LabVIEW Learning Remote Control Framework ADD-ON for LabVIEW TOOLS for SMART MINDS Abstract This document introduces the RCF (Remote Control Framework) ADD-ON for LabVIEW. Purpose of this article and the documents

More information

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX Oracle Application Express 3 The Essentials and More Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX Arie Geller Matthew Lyon J j enterpririse PUBLISHING BIRMINGHAM

More information

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com Best Practises for LabVIEW FPGA Design Flow 1 Agenda Overall Application Design Flow Host, Real-Time and FPGA LabVIEW FPGA Architecture Development FPGA Design Flow Common FPGA Architectures Testing and

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

TestStand Certification Overview

TestStand Certification Overview TestStand Certification Overview The National Instruments TestStand Certification Program consists of the following two certification levels: - Certified TestStand Developer (CTD) - Certified TestStand

More information

Solving the Software Quality Challenges of Agile Development

Solving the Software Quality Challenges of Agile Development Solving the Software Quality Challenges of Agile Development 2 Solving the Software Quality Risks of Agile Development Agile software development is a series of iterative and incremental development methods

More information

Appendix 2-A. Application and System Development Requirements

Appendix 2-A. Application and System Development Requirements Appendix 2-A. Application and System Development Requirements Introduction AHRQ has set up a Distributed Systems Engineering Lab (DSEL) to support all internal development efforts and provide a facility

More information

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. 20486B: Developing ASP.NET MVC 4 Web Applications Course Overview This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. Course Introduction Course Introduction

More information

Application Lifecycle Management White Paper. Source Code Management Best Practice: Applying Economic Logic to Migration ALM

Application Lifecycle Management White Paper. Source Code Management Best Practice: Applying Economic Logic to Migration ALM ALM Application Lifecycle Management White Paper Source Code Management Best Practice: Applying Economic Logic to Migration Summary: Is there a Business Case for Migration? Ultimately, what is the value

More information

Title Release Notes PC SDK 5.14.01. Date 2011-06-15. Dealt with by, telephone. Table of Content GENERAL... 2

Title Release Notes PC SDK 5.14.01. Date 2011-06-15. Dealt with by, telephone. Table of Content GENERAL... 2 1/10 Table of Content GENERAL... 2 Release Information... 2 Introduction... 2 Installation... 3 Hardware and Software requirements... 4 Compatibility... 5 Updates in PC SDK 5.14.01 vs. 5.14... 6 Updates

More information

Also on the Performance tab, you will find a button labeled Resource Monitor. You can invoke Resource Monitor for additional analysis of the system.

Also on the Performance tab, you will find a button labeled Resource Monitor. You can invoke Resource Monitor for additional analysis of the system. 1348 CHAPTER 33 Logging and Debugging Monitoring Performance The Performance tab enables you to view the CPU and physical memory usage in graphical form. This information is especially useful when you

More information

Application. 1.1 About This Tutorial. 1.1.1 Tutorial Requirements. 1.1.2 Provided Files

Application. 1.1 About This Tutorial. 1.1.1 Tutorial Requirements. 1.1.2 Provided Files About This Tutorial 1Creating an End-to-End HL7 Over MLLP Application 1.1 About This Tutorial 1.1.1 Tutorial Requirements 1.1.2 Provided Files This tutorial takes you through the steps of creating an end-to-end

More information

Key Benefits of Microsoft Visual Studio Team System

Key Benefits of Microsoft Visual Studio Team System of Microsoft Visual Studio Team System White Paper November 2007 For the latest information, please see www.microsoft.com/vstudio The information contained in this document represents the current view

More information

LabVIEW programming I

LabVIEW programming I FYS3240 PC-based instrumentation and microcontrollers LabVIEW programming I LabVIEW basics Spring 2013 Lecture #2 Bekkeng 8.1.2013 Virtual Instruments LabVIEW programs are called virtual instruments, or

More information

Android Developer Fundamental 1

Android Developer Fundamental 1 Android Developer Fundamental 1 I. Why Learn Android? Technology for life. Deep interaction with our daily life. Mobile, Simple & Practical. Biggest user base (see statistics) Open Source, Control & Flexibility

More information

Source Control Guide: Git

Source Control Guide: Git MadCap Software Source Control Guide: Git Flare 11.1 Copyright 2015 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this

More information

Microsoft Visual Studio Integration Guide

Microsoft Visual Studio Integration Guide Microsoft Visual Studio Integration Guide MKS provides a number of integrations for Integrated Development Environments (IDEs). IDE integrations allow you to access MKS Integrity s workflow and configuration

More information

Model Simulation in Rational Software Architect: Business Process Simulation

Model Simulation in Rational Software Architect: Business Process Simulation Model Simulation in Rational Software Architect: Business Process Simulation Mattias Mohlin Senior Software Architect IBM The BPMN (Business Process Model and Notation) is the industry standard notation

More information

New and Changed Application Services in Informatica 10.0

New and Changed Application Services in Informatica 10.0 New and Changed Application Services in Informatica 10.0 1993-2015 Informatica LLC. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording

More information

Introducing IBM Tivoli Configuration Manager

Introducing IBM Tivoli Configuration Manager IBM Tivoli Configuration Manager Introducing IBM Tivoli Configuration Manager Version 4.2 GC23-4703-00 IBM Tivoli Configuration Manager Introducing IBM Tivoli Configuration Manager Version 4.2 GC23-4703-00

More information

Republic Polytechnic School of Infocomm C308 Web Framework. Module Curriculum

Republic Polytechnic School of Infocomm C308 Web Framework. Module Curriculum Republic Polytechnic School of Infocomm C308 Web Framework Module Curriculum This document addresses the content related abilities, with reference to the module. Abilities of thinking, learning, problem

More information

Includes SDKs for Mac OS X 10.7 Lion and ios 5

Includes SDKs for Mac OS X 10.7 Lion and ios 5 apple Xcode 4.2 Includes SDKs for Mac OS X 10.7 Lion and ios 5 Contents Introduction About SDKs Installation Deprecation Notice Introduction Xcode is the complete developer toolset for creating applications

More information

Drivers by Seagull. The Advantage of Using Drivers by Seagull with BarTender WHITE PAPER

Drivers by Seagull. The Advantage of Using Drivers by Seagull with BarTender WHITE PAPER Drivers by Seagull The Advantage of Using Drivers by Seagull with BarTender WHITE PAPER Contents Overview 3 Understanding Printer Drivers 4 "Embedded" Printer Drivers 4 Windows Printer Drivers 4 Drivers

More information

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix Model-driven development solutions To support your business objectives IBM Rhapsody edition comparison matrix IBM Rhapsody 7.5 edition: capabilities and comparisons The enclosed table compares the capabilities

More information

Distance-Learning Remote Laboratories using LabVIEW

Distance-Learning Remote Laboratories using LabVIEW Distance-Learning Remote Laboratories using LabVIEW Introduction Laboratories, which are found in all engineering and science programs, are an essential part of the education experience. Not only do laboratories

More information

BarTender s.net SDKs

BarTender s.net SDKs The World's Leading Software for Label, Barcode, RFID & Card Printing White Paper BarTender s.net SDKs Programmatically Controlling BarTender using C# and VB.NET Contents Overview of BarTender.NET SDKs...

More information

TEST AUTOMATION FRAMEWORK

TEST AUTOMATION FRAMEWORK TEST AUTOMATION FRAMEWORK Twister Topics Quick introduction Use cases High Level Description Benefits Next steps Twister How to get Twister is an open source test automation framework. The code, user guide

More information

14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë

14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë 14.1 bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë bî~äì~íáåö=oéñäéåíáçå=ñçê=emi=rkfui=~åç=lééåsjp=eçëíë This guide walks you quickly through key Reflection features. It covers: Getting Connected

More information

Vendor briefing Business Intelligence and Analytics Platforms Gartner 15 capabilities

Vendor briefing Business Intelligence and Analytics Platforms Gartner 15 capabilities Vendor briefing Business Intelligence and Analytics Platforms Gartner 15 capabilities April, 2013 gaddsoftware.com Table of content 1. Introduction... 3 2. Vendor briefings questions and answers... 3 2.1.

More information

NI TestStand Version 2012

NI TestStand Version 2012 RELEASE NOTES NI TestStand Version 2012 These release notes contain NI TestStand 2012 system requirements, installation instructions, information about new features, and other changes since TestStand 2010

More information

Up and Running with LabVIEW Web Services

Up and Running with LabVIEW Web Services Up and Running with LabVIEW Web Services July 7, 2014 Jon McBee Bloomy Controls, Inc. LabVIEW Web Services were introduced in LabVIEW 8.6 and provide a standard way to interact with an application over

More information

Test Executive And Development Studio Integrated Test Executive and Application Development Environment

Test Executive And Development Studio Integrated Test Executive and Application Development Environment Test Executive And Development Studio Integrated Test Executive and Application Development Environment MARVINTEST.COM ATEASY 9.0 ATEasy offers a rapid application development framework and a test executive

More information

Instrumentation Software Profiling

Instrumentation Software Profiling Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the

More information

October 21 November 5 November 14 December 12. Washington DC Boston Chicago San Jose. ni.com

October 21 November 5 November 14 December 12. Washington DC Boston Chicago San Jose. ni.com October 21 November 5 November 14 December 12 Washington DC Boston Chicago San Jose 1 Evaluating Software Tools and Architectures to Design Test Systems A Sample Modular Software Architecture

More information

Best Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications. ni.com

Best Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications. ni.com Best Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications System Deployment System Replication Configuration Mgmt. System Monitoring System Updates 2 Agenda Preparing for

More information

Software configuration Management as a Software Engineering Discipline

Software configuration Management as a Software Engineering Discipline Software configuration Management as a Software Engineering Discipline Lorenco Damjanic Ericsson Nikola Tesla Zagreb Contents Product structures Software Engineering Software Configuration Management Software

More information

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management IKAN ALM Architecture Closing the Gap Enterprise-wide Application Lifecycle Management Table of contents IKAN ALM SERVER Architecture...4 IKAN ALM AGENT Architecture...6 Interaction between the IKAN ALM

More information

Continuous Integration. CSC 440: Software Engineering Slide #1

Continuous Integration. CSC 440: Software Engineering Slide #1 Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge

More information

Integrity 10. Curriculum Guide

Integrity 10. Curriculum Guide Integrity 10 Curriculum Guide Live Classroom Curriculum Guide Integrity 10 Workflows and Documents Administration Training Integrity 10 SCM Administration Training Integrity 10 SCM Basic User Training

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

More information

For Introduction to Java Programming, 5E By Y. Daniel Liang

For Introduction to Java Programming, 5E By Y. Daniel Liang Supplement H: NetBeans Tutorial For Introduction to Java Programming, 5E By Y. Daniel Liang This supplement covers the following topics: Getting Started with NetBeans Creating a Project Creating, Mounting,

More information

Exercise 1: Add Tests Using NI TestStand Sequence Editor

Exercise 1: Add Tests Using NI TestStand Sequence Editor Exercise 1: Add Tests Using NI TestStand Sequence Editor Objective: To create a TestStand sequence and add steps to the MainSequence that uses the Frequency test created in the first three exercises. The

More information

Welcome Message. Overview

Welcome Message. Overview Welcome Message Thank you for your interest in reviewing TeamCity 3.0, an innovative continuous integration server and distributed build management tool that automates routine processes and streamlines

More information

Sitecore InDesign Connector 1.1

Sitecore InDesign Connector 1.1 Sitecore Adaptive Print Studio Sitecore InDesign Connector 1.1 - User Manual, October 2, 2012 Sitecore InDesign Connector 1.1 User Manual Creating InDesign Documents with Sitecore CMS User Manual Page

More information

Outlines. Business Intelligence. What Is Business Intelligence? Data mining life cycle

Outlines. Business Intelligence. What Is Business Intelligence? Data mining life cycle Outlines Business Intelligence Lecture 15 Why integrate BI into your smart client application? Integrating Mining into your application Integrating into your application What Is Business Intelligence?

More information

Kentico CMS 5 Developer Training Syllabus

Kentico CMS 5 Developer Training Syllabus Kentico CMS 5 Developer Training Syllabus June 2010 Page 2 Contents About this Course... 4 Overview... 4 Audience Profile... 4 At Course Completion... 4 Course Outline... 5 Module 1: Overview of Kentico

More information

MOC 20488B: Developing Microsoft SharePoint Server 2013 Core Solutions

MOC 20488B: Developing Microsoft SharePoint Server 2013 Core Solutions MOC 20488B: Developing Microsoft SharePoint Server 2013 Core Solutions Course Overview This course provides students with the knowledge and skills to work with the server-side and client-side object models,

More information

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev International Journal "Information Technologies & Knowledge" Vol.5 / 2011 319 AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev Abstract: This paper presents a new approach

More information

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 by IBM Corporation v1.1, 2002 05 03 Revision History Revision v1.1 2002 05 03 Revised by: sds Converted to DocBook XML and updated broken links. Revision v1.0 2002 01 28 Revised

More information

Title Release Notes PC SDK 5.14.03. Date 2012-03-30. Dealt with by, telephone. Table of Content GENERAL... 3. Corrected Issues 5.14.03 PDD...

Title Release Notes PC SDK 5.14.03. Date 2012-03-30. Dealt with by, telephone. Table of Content GENERAL... 3. Corrected Issues 5.14.03 PDD... 1/15 Table of Content GENERAL... 3 Release Information... 3 Introduction... 3 Installation... 4 Hardware and Software requirements... 5 Deployment... 6 Compatibility... 7 Updates in PC SDK 5.14.03 vs.

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software

More information

Graphical Environment Tool for Development versus Non Graphical Development Tool

Graphical Environment Tool for Development versus Non Graphical Development Tool Section 4 Computing, Communications Engineering and Signal Processing & Interactive Intelligent Systems Graphical Environment Tool for Development versus Non Graphical Development Tool Abstract S.Daniel

More information

Integrating CaliberRM with Software Configuration Management Tools

Integrating CaliberRM with Software Configuration Management Tools Integrating CaliberRM with Software Configuration Management Tools A Borland White Paper By Jenny Rogers, CaliberRM Technical Writer January 2002 Contents Introduction... 3 Enabling SCM for a Project...

More information

Cache Configuration Reference

Cache Configuration Reference Sitecore CMS 6.2 Cache Configuration Reference Rev: 2009-11-20 Sitecore CMS 6.2 Cache Configuration Reference Tips and Techniques for Administrators and Developers Table of Contents Chapter 1 Introduction...

More information

Development in Azure. Dan Gartner Developer Technology Specialist Microsoft

Development in Azure. Dan Gartner Developer Technology Specialist Microsoft Development in Azure Dan Gartner Developer Technology Specialist Microsoft MSDN Azure Benefits Visual Studio / Azure Integration Azure SDK 2.5 Visual Studio Online Build and Load Test Application Insights

More information

Eliminate Memory Errors and Improve Program Stability

Eliminate Memory Errors and Improve Program Stability Eliminate Memory Errors and Improve Program Stability with Intel Parallel Studio XE Can running one simple tool make a difference? Yes, in many cases. You can find errors that cause complex, intermittent

More information

The Way to SOA Concept, Architectural Components and Organization

The Way to SOA Concept, Architectural Components and Organization The Way to SOA Concept, Architectural Components and Organization Eric Scholz Director Product Management Software AG Seite 1 Goals of business and IT Business Goals Increase business agility Support new

More information

Running a Program on an AVD

Running a Program on an AVD Running a Program on an AVD Now that you have a project that builds an application, and an AVD with a system image compatible with the application s build target and API level requirements, you can run

More information

Copyright Notice. 2013 SmartBear Software. All rights reserved.

Copyright Notice. 2013 SmartBear Software. All rights reserved. USER MANUAL Copyright Notice Automated Build Studio, as described in this on-line help system, is licensed under the software license agreement distributed with the product. The software may be used or

More information

Essential Visual Studio Team System

Essential Visual Studio Team System Essential Visual Studio Team System Introduction This course helps software development teams successfully deliver complex software solutions with Microsoft Visual Studio Team System (VSTS). Discover how

More information

LabVIEW Object-Oriented Programming

LabVIEW Object-Oriented Programming LabVIEW Object-Oriented Programming Concepts, Use Cases and Best Practices Jeffrey Habets NI Certified LabVIEW Architect www.vi-tech.nl 25 september 2008 LabVIEW Object Oriented Programming 1 Agenda Object-Oriented

More information

IBM Business Process Manager Version 8 Release 5. Hiring Tutorial IBM

IBM Business Process Manager Version 8 Release 5. Hiring Tutorial IBM IBM Business Process Manager Version 8 Release 5 Hiring Tutorial IBM Note Before using this information and the product it supports, read the information in Notices on page 95. This edition applies to

More information

Top 10 Oracle SQL Developer Tips and Tricks

Top 10 Oracle SQL Developer Tips and Tricks Top 10 Oracle SQL Developer Tips and Tricks December 17, 2013 Marc Sewtz Senior Software Development Manager Oracle Application Express Oracle America Inc., New York, NY The following is intended to outline

More information

1.3 Expand ANSI C and.net Development with Express Technology. Bridging Validation and Test with Common Software Technology

1.3 Expand ANSI C and.net Development with Express Technology. Bridging Validation and Test with Common Software Technology 1.3 Expand ANSI C and.net Development with Express Technology Bridging Validation and Test with Common Software Technology 47 Interactive versus Automated Measurements/Tests Interactive Measurements Benchtop

More information

Private Public Partnership Project (PPP) Large-scale Integrated Project (IP)

Private Public Partnership Project (PPP) Large-scale Integrated Project (IP) Private Public Partnership Project (PPP) Large-scale Integrated Project (IP) D9.4.2: Application Testing and Deployment Support Tools Project acronym: FI-WARE Project full title: Future Internet Core Platform

More information

What's New in BarTender 2016

What's New in BarTender 2016 What's New in BarTender 2016 WHITE PAPER Contents Introduction 3 64-bit BarTender Installation 3 Data Entry Forms 3 BarTender Integration Builder 3 BarTender Print Portal 3 Other Upgrades 3 64-bit BarTender

More information

Only Athena provides complete command over these common enterprise mobility needs.

Only Athena provides complete command over these common enterprise mobility needs. Mobile devices offer great potential for making your enterprise run faster, smarter, and more profitably. However, mobile devices can create considerable challenges for your IT organization, since they

More information

PTC Integrity Eclipse and IBM Rational Development Platform Guide

PTC Integrity Eclipse and IBM Rational Development Platform Guide PTC Integrity Eclipse and IBM Rational Development Platform Guide The PTC Integrity integration with Eclipse Platform and the IBM Rational Software Development Platform series allows you to access Integrity

More information

Frequently Asked Questions

Frequently Asked Questions Table of contents 1. Agent Technology...3 1.1. Has the Knoa agent been tested with standard set of services on the PC?... 3 1.2. Do users need to do anything to activate the Agent?...3 1.3. Does the Knoa

More information

Computing Concepts with Java Essentials

Computing Concepts with Java Essentials 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann

More information

"Charting the Course...... to Your Success!" MOC 50290 A Understanding and Administering Windows HPC Server 2008. Course Summary

Charting the Course...... to Your Success! MOC 50290 A Understanding and Administering Windows HPC Server 2008. Course Summary Description Course Summary This course provides students with the knowledge and skills to manage and deploy Microsoft HPC Server 2008 clusters. Objectives At the end of this course, students will be Plan

More information

... Introduction... 17

... Introduction... 17 ... Introduction... 17 1... Workbench Tools and Package Hierarchy... 29 1.1... Log on and Explore... 30 1.1.1... Workbench Object Browser... 30 1.1.2... Object Browser List... 31 1.1.3... Workbench Settings...

More information

Configuration & Build Management

Configuration & Build Management Object-Oriented Software Engineering Using UML, Patterns, and Java Configuration & Build Management Outline of the Lecture Purpose of Software Configuration Management (SCM) Some Terminology Software Configuration

More information

White Paper. CCRM Services on Cloud Benefits of Private Cloud for CCRM Services. Abstract. - Krishna Vaddadi

White Paper. CCRM Services on Cloud Benefits of Private Cloud for CCRM Services. Abstract. - Krishna Vaddadi White Paper CCRM Services on Cloud Benefits of Private Cloud for CCRM Services - Krishna Vaddadi Abstract Configuration, Change and Release Management (CCRM) activities are the primary deliverables in

More information

Sisense. Product Highlights. www.sisense.com

Sisense. Product Highlights. www.sisense.com Sisense Product Highlights Introduction Sisense is a business intelligence solution that simplifies analytics for complex data by offering an end-to-end platform that lets users easily prepare and analyze

More information