当前位置:网站首页>LabVIEW large project development tools to improve quality
LabVIEW large project development tools to improve quality
2022-06-13 01:49:00 【LabVIEW development】
LabVIEW Large scale projects develop tools to improve quality
stay LabVIEW In related large-scale projects , Can cooperate with LabVIEW Some kits , To improve the quality of the project , Reduce the risk , Save time . Here is a general introduction .
Software engineering has many different forms and structures , Like the waterfall model , Spiral model , Extreme programming (xp) (XP) And agile processes (AgileProcesses). chart 1 Medium V Models are probably the most common , The easiest to understand .
It can be seen from the figure that the development and verification processes in software engineering are closely related , This is because the development process of software engineering is composed of these organized development steps . Each of these steps requires strict methods and specifications , Before proceeding to the next step, it needs to be evaluated and implemented . and LabIVEW The development process of the project also follows this framework , So every step needs to be done professionally .

have .

chart 2
1 Requirements management software (RequirementsGateway)
Take a closer look at the picture above , We will find that it begins with the analysis of product requirements . This is a LabVIEW The first step in application design , It's also the most important part . In order to be consistent with customers in terms of product functions , Gathering requirements is essential . Only comprehensive 、 Fully understand the real needs of users , To ensure that designers can do what they should “ How to do it ”. Otherwise, it is likely that the project will go on to the later stage , Discover that the requirements are wrong , Need to redevelop , This will seriously affect the progress of the project . For large or critical systems , It is more important to define the requirements of each independent code module , Even how to test these code modules . Part of this process is to reach an agreement on how to be safe or do acceptable operations even if the hardware fails .

Requirements management software (RequirementsGateway) It is a bridge between requirements document and application software , Used to provide requirements tracking and impact analysis .NI RequirementsGateway You can read the requirements in different documents . meanwhile NI Requirements Gateway Be able to capture information from executing applications , Determine which requirements have been implemented .
Requirements management software (RequirementsGateway) Link development and validation documents to formal requirements stored in documents and databases , It is a solution to meet requirements tracking . With this software , You can specify applications related to documentation requirements 、 Test and simulation module . In distinguishing this correlation , Requirements management software (Requirements Gateway) Capture tracking information , And cover for inspection and analysis 、 Conflict information provides an interface .NI Requirements management software can be used with NI LabVIEW、 be used for ANSI C Developed NI LabWindows/CVI、NI TestStand Test management software 、MATRIXx Design and development tools and some common requirements management and archiving tools work together , for example ,Telelogic DOORS、IBM Rational RequisitePro and Microsoft Word etc. .
2. Testing and debugging
Testing and debugging software is often an important part of the development process , When developing large projects , Checking code manually is obviously time-consuming and labor-intensive . So static code analysis tools , for example :LabVIEW VI Analyzer Toolkit Is a typical example used to check the source code , It can help find out some possible problems in advance . It mainly involves code style , organization , Skills, etc . Dynamic code analysis tools , for example :LabVIEW Desktop Execution Trace Toolkit It can help to obtain the low-level execution details during code execution , Help developers locate the cause of the problem .
And automated tools such as :LabVIEWUnit Test Framework It can be used to test complex software . Automating this process reduces the time developers spend on testing and enables exhaustive testing . This not only ensures high-quality software generation , meanwhile , Save money and reduce the time developers spend performing tests by finding problems early .

chart 4
LabVIEW VI Analysis Kit (LabVIEW VI Analyzer Toolkit)
LabVIEW VI The analysis toolkit can help us realize the static analysis of code , Commonly used in Code Review before , The programmer passes LabVIEW VI The analysis toolkit checks whether there are some programming specification errors in its own program , These errors may lead to more serious errors .

The way to start this toolkit is very simple , stay LabVIEW Find... Under the tools menu VI Analyzer Can start , You can also right-click a... Directly in the project browser VI, choice Analyze VIs. Then check the items to be checked , You can run the tool .
LabVIEW Desktop execution tracking toolkit (LabVIEWDesktop Execution Trace Toolkit)
LabVIEW The desktop execution trace toolkit is a dynamic code analyzer , Engineers can use... At runtime , Detect and locate problems in your code that may affect performance or cause unexpected behavior . It shows when the program executes , Events that occur in sequence , Queue operation , Citation leaks , Memory allocation , Unhandled errors and children VI Implementation, etc . Highlight individual events , Provides more information for Engineers , Such as call chain , Threads ID and CPU The number of , To help them debug and optimize their LabVIEW Code . They can also double-click various events to highlight the corresponding block diagram object .
stay LabVIEW Start in LabVIEW Desktop Execution Trace Toolkit, You can use the project browser , Right click My Computer From the menu bar choice Trace Execution . After opening this tool , It has set up a system for all VI Monitoring during execution .

The toolkit can also optionally track programs on remote computers . besides , We have also heard of Real-time Execution Trace Toolkit, It can be seen that it should be right RT A tool for analyzing programs in a system , You can study how to use it by yourself .
LabVIEW Unit test framework toolkit (LabVIEWUnit Test Framework)
about LabVIEW For developers , stay LabVIEW Environment , There are many tools and many other software engineering tools for advanced testing and code analysis . Mention here LabVIEW Unit test framework toolkit (LabVIEW Unit Test Framework), It can be used to automate unit tests , Requirements based validation and regression testing VI.
Use LabVIEW Unit test framework toolkit ,LabVIEW Our development engineers can enable requirements - based testing and verification VI Process automation of . Engineers can specify test cases , Define the input and compare the result after execution with the expected output , Implement software function and regression test .HTML Including reporting function , Can be generated automatically ,ATML/ XML or ASCII Format , This is a valuable record , Verification file for the normal operation of the application . LabVIEW The unit test framework toolkit also works with NI Requirements management software is integrated , To help engineers manage requirements documents for software testing , Track the coverage and understand the impact of changes .
stay LabVIEW Create a UTF test , Right click to be tested in the project browser VI, And select ‘Unit Tests’ A menu item . choice ‘New Test’ Create a new file , extension .lvtest. As shown in the figure below :

The next step is to set up test cases , Define the input and compare the result after execution with the expected output , Implement software function and regression test .UTF Make it possible to test without modifying the program .

UTF in , The test case setting interface is shown in the figure 10, Define the input value , And expected output . And then run UTF The expected output value will be compared with the actual running result , And generate reports . You can also create a new , To add multiple test cases , Design different test conditions .
In the item attribute configuration box , choice Unit Test Framework bar , You can set UTF Format of report generation , As shown in the figure below , Yes .xml,.html,.txt Three formats .

3. Source code control (SourceCode Control)
For large projects developed by many people , Source code management is essential . The main functions of source code management include source code backup 、 version control 、 Source code merging, etc .LabVIEW Although it does not have the function of source code management , But you can easily call common source code management tools ( Such as Perforce、Virtual、SourceSafe etc. ) To achieve the above functions .
With Perforce For example ,Perforce It's a commercial software , Official homepage :http://www.perforce.com/, They define Perforce Configure the management system for the software . General abbreviation P4, The system consists of a server , Client composition , It also includes several mediation servers (Proxy Server). The client will have GUI Interface , Command line interface ,Web Interface .
If the computer is equipped with Perforce The client of the software , It's in LabVIEW Of the options dialog box “ Source code control ” You can choose Perforce As a source code control tool .
With source code control, you can put a VI Different versions are recorded in the development process , such , Editors can reply to a previous version at any time as needed . You can also compare the differences between the current version and the previous version , Help developers determine whether recent changes are correct . If recent changes are not correct , You can discard the current version , Use a previous stable version instead .
Develop a large 、 complex LabVIEW Applications , It is usually impossible for an engineer to do it alone . Development of most large applications , There will be many engineers working together . therefore , Developing an effective workflow or work framework will be of great help to the development of large-scale projects .
In addition to the content introduced in this article , In the process of project development, we should also be good at using various tools to facilitate our development and management . Such as the well-known project browser 、 Library usage , There is also the division of modules in the process of program design , Object-oriented design ideas . Welcome to have new additions , Discuss together .
LabVIEW、LabVIEW Development 、LabVIEW Programming 、LabVIEW Program
边栏推荐
- Tweets movement description and chart display
- 6、 Implementation of warehouse out management function
- matplotlib画图中文乱码
- About retrieving ignored files in cornerstone
- leetcode743. 网络延迟时间(中等, dijkstra)
- Crypto JS reports uglifyjs error
- 详细受众特征详细解释
- Cmake has no obvious error after compilation, but prompts that pthread cannot be found
- Magics 23.0如何激活和使用视图工具页的切片预览功能
- 万字讲清 synchronized 和 ReentrantLock 实现并发中的锁
猜你喜欢
Combining strings and numbers using ssstream
Vscode configuration header file -- Take opencv and its own header file as an example
Detailed understanding of white noise
机器学习基础 SVM(支持向量机)
6、 Implementation of warehouse out management function
Using OpenCV in go
Devexpress implementation flow chart
【MathType】利用MathType输出LaTex样式的公式
dfs与bfs解决宝岛探险
Learning notes 51 single chip microcomputer keyboard (non coding keyboard and coding keyboard, scanning mode of non coding keyboard, independent keyboard, matrix keyboard)
随机推荐
Learning notes 51 single chip microcomputer keyboard (non coding keyboard and coding keyboard, scanning mode of non coding keyboard, independent keyboard, matrix keyboard)
Explanation and application of prefix sum (one-dimensional, two-dimensional)
matplotlib画图中文乱码
Interruption of 51 single chip microcomputer learning notes (external interruption, timer interruption, interrupt nesting)
Calculation of accuracy, recall rate, F1 value and accuracy rate of pytorch prediction results (simple implementation)
D template instance does not match declaration
Topic creation and running example of ROS
Detailed explanation of maxpooling corresponding to conv1d, conv2d and conv3d machines of tensorflow2
This of phaser3 add. add. image
Alertwindowmanager pop up prompt window help (Part 1)
Workspace for ROS
Detailed understanding of white noise
TensorFlow 2.x 多显卡分布式训练
三、上传织物图片至SQL Server并提供name进行展示织物照片
Logging system in chromium
四、入库管理功能的完善
[andoid][step pit]cts 11_ Testbootclasspathandsystemserverclasspath at the beginning of R3_ Analysis of nonduplicateclasses fail
Tweens of phaser3
Project training (XVII) -- personal work summary
[wsl2]wsl2 migrate virtual disk file ext4 vhdx