资源预览内容
第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
第9页 / 共44页
第10页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
LabVIEW开发技术丛书LabVIEW软件工程动手课程LabVIEW Software Engineering Hands-On Exercises Elijah Kerry, LabVIEW Product Manager Please send any mistakes, corrections or suggestions found in this Beta version of the guide to elijah.kerryni.com 1 CONTENTS Introduction To Software Engineering . 2 Software Configuration Management . 3 Exercise: Tracking Changes to VIs Using Source Code Control . 4 Performing Code Reviews . 11 Exercise: Analyzing Code Quality . 12 Advanced Debugging and Dynamic Code Analysis . 17 Exercise: Debugging Unexpected Behavior . 18 Part 1: Trace an Example in the Development Environment . 19 Part 2: Trace an Executable . 25 Testing and Validation . 29 Exercise: Unit Testing and Validation of Code . 30 Optional Exercise: Finding Un-Covered Code . 38 More Information . 42 2 INTRODUCTION TO SOFTWARE ENGINEERING National Instruments LabVIEW is a complete programming language, suitable for handling the biggest and most complex applications that engineers and scientists face today. In particular, programmers creating mission-critical applications embedded control applications, industrial monitoring applications, and high-performance test systems cannot afford to introduce errors or uncertainty into the system. For these kinds of applications, a very structured, and in some cases externally certified, programming process must be followed to ensure quality and repeatability of the code developed. Software engineering typically refers to a regimented and procedural methodology for developing software. As software has gotten more complex and team sizes have grown, various software engineering process models have evolved to encourage efficient development that ensures quality, follows timelines, and meets the expectations of the end-user. This guide will examine the development life-cycle and explain some of the tools that can improve and automate common software engineering practices. 3 SOFTWARE CONFIGURATION MANAGEMENT Many developers have experienced the frustration of unmanaged environments, where people overwrite each others changes or are unable to track revisions. Managing a large number of files or multiple developers is a challenge in any language. In fact, its often a challenge to manage an application even if its just one developer working on a small to medium application. Large development projects rely upon configuration management tools to satisfy the following goals: 1. Define a central repository of code 2. Manage multiple developers 3. Detection and resolution of code collisions 4. Tracking behavioral changes 5. Identification of changes are who made them 6. Ensuring everyone has latest copy of code 7. Backing up old code versions 8. Managing all files, not just source code Perhaps the most important and commonly known SCM tool is source code control (SCC). However, in addition to many third party SCC tools, well see that there are a number of additional tools available in the LabVIEW development environment that is designed to help with these goals. Establishing guidelines for storing and managing files requires foresight into how the application will be structured, how functionality will be divided, and the types of files beyond source code that will be important to keep track of. Devote time to making decisions about how functionality will be divided among code and to working with developers on file storage locations and the additional files or
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号