大型应用程序开发流程与技巧-labview

上传人:mg****85 文档编号:44600236 上传时间:2018-06-14 格式:PDF 页数:38 大小:3.24MB
返回 下载 相关 举报
大型应用程序开发流程与技巧-labview_第1页
第1页 / 共38页
大型应用程序开发流程与技巧-labview_第2页
第2页 / 共38页
大型应用程序开发流程与技巧-labview_第3页
第3页 / 共38页
大型应用程序开发流程与技巧-labview_第4页
第4页 / 共38页
大型应用程序开发流程与技巧-labview_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《大型应用程序开发流程与技巧-labview》由会员分享,可在线阅读,更多相关《大型应用程序开发流程与技巧-labview(38页珍藏版)》请在金锄头文库上搜索。

1、大型应用程序开发流程与技巧大型应用程序开发流程与技巧Why? 软件产品越来越复杂 安全性,稳定性要求越来越高 团队越来越大 发布周期越来越短 项目经理项目经理 这是客户想要的吗?这是客户想要的吗? 我们能在我们能在之前交付产品吗?之前交付产品吗? 我们的产品能够达到质量要求吗?我们的产品能够达到质量要求吗? 如果这个功能出错了如果这个功能出错了 天啊,需求又变了天啊,需求又变了 工程师工程师 如何设计软件架构如何设计软件架构 我应该已经完成了我应该已经完成了70% 到底是哪里到底是哪里crash了了 正在为此类问题头疼?正在为此类问题头疼?OptiMedica - PASCAL 激光治疗仪激光

2、治疗仪 全视网膜激光治疗仪 由一个NI-7833R和LabVIEW FPGA控制 极高的安全性和稳定性要 求 需要通过FDA认证LabVIEW 助力大型应用程序开发助力大型应用程序开发图形化编程环境快速原型+大型应用开发环境 完善的大型软件开发产品线20052006200319982000LabVIEW 6 Application BuilderLabVIEW 5.0 Real-timeLabVIEW 7 Express PDA 和 FPGA Requirements GatewayLabVIEW 8.20 Object-Oriented ProgrammingLabVIEW 8 Projec

3、t Sourcecode Control2008LabVIEW 8.6 Multi-coreLabVIEW 7.1 VI Analyzer Real-time Execution traceLabVIEW 8.6.1 Unit Test Framework Desktop Execution Trace2009需求搜集应用程序架 构开发调试与测试发布软件工程化的开发过程软件工程化的开发过程软件工程过程与具体的编程语言无关 通过认证需要软件工程过程 CMMI, DO-178, DO-254, MISRA, FDA 21 CFR Part11, ISO 利用NI提供的工具来自动化LabVIEW应用

4、的软件工程过程 SCM 贯穿于整个过程软件配置管理软件配置管理(SCM)修改跟踪修改跟踪查看历史版本信息查看历史版本信息集成集成SCC融合图形代码融合图形代码管理文件与链接管理文件与链接系统级视图系统级视图基于基于LabVIEW的软件配置管理的软件配置管理在在LabVIEW中实现源代码控制中实现源代码控制(SCC) LabVIEW可以和以下软件资源管 理工具集成: Microsoft Visual SourceSafe Microsoft Team System Perforce Rational ClearCase PCVS (Serena) Version Manager MKS Sour

5、ce Integrity Seapine Surround SCM Borland StarTeam Telelogic Synergy ionForge Evolution subVersion* 通过LabVIEW项目浏览器访问 SCC 工具*subVersion is open source and requires plug-in*New in LabVIEW 8.5Requirements GatewayMulticoreObject OrientationDesign Patterns需求搜集应用程序架 构开发调试与测试发布LabVIEW中的软件工程工具和最佳实践软件工程流程软件工

6、程流程VI AnalyzerReal Time Execution TraceDesktop Execution TraceUnit Test FrameworkApplication BuilderReal TimeFPGAEmbeddedDataflowMathScriptStatechartSimulationExpress挑战挑战 明确应用程序实现的功能 定义可接受的和安全的操作 为每一个部件定义测试步骤 从代码到文档都可溯源需求搜集应用程序 架构开发调试与测试发布原型原型说明书说明书测试定义测试定义系统需求系统需求单元说明书单元说明书软件设计阶段软件设计阶段系统级需求软件需求硬件需求

7、模块需求单元需求测试需求测试需求测试需求测试测试测试结果实现实现实现NI可溯源的需求管理解决方案可溯源的需求管理解决方案DEMOGenerate a Traceability Matrix with Requirements Gateway目标目标 根据功能决定代码如何进行划分 为代码模块开发标准的接口和API 确保代码的规模、可读性和可维护性需求搜集应用程序 架构开发调试与测试发布如果没有很好的设计应用程序架如果没有很好的设计应用程序架 构?构?生产者生产者/ 消费者消费者 设计模式设计模式工具: LabVIEW设计模式模板 生产者/消费者 面向对象的设计 LabVIEW状态图模块 多核和多

8、线程编程需求搜集应用程序 架构开发调试与测试发布目标目标 根据设计规范开发应用程序 严格遵守编程风格 文档,文档,文档需求搜集应用程序 架构开发调试与测试发布文档记录文档记录 带标签的对象 内嵌的注释 独特的图标 描述和提示 HTML 打印输出需求覆盖率需求覆盖率 需求的可追溯性需求的可追溯性LabVIEWUnit TestsSpecification s实践实践 代码的人工互审 静态和动态的代码分析 开发时期的迭代测试 对需求的验证需求搜集应用程序 架构开发调试与测试发布LabVIEW开发环境提供的工具开发环境提供的工具 Constantly compilation Highlight ex

9、ecution Breakpoint manager Automatic Error Handling Diagram cleanup National Instruments Style Guideline VI Profiler Coercion (Memory) Dots Conditional disable structures需求搜集应用程序 架构开发调试与测试发布如何进行如何进行LabVIEW代码审查代码审查 正式和非正式 询问以下问题: 这段代码容易维护吗? 如果这段代码返回错误会发生什么? 这个VI里面是不是实现了太多的功能?否则需要 用sub VI呢? 代码可能导致死锁吗?

10、 这里有没有冗余的逻辑?可以优化吗? 这里将开辟多少内存?使用使用LabVIEW VI Analyzer进行代码审阅进行代码审阅 超过60种可配置的测试 进行自动代码分析 性能 风格 交互式检查错误 生成用户报告DEMOAnalyze your code with VI Analyzer用于代码调试与测试的工具用于代码调试与测试的工具高风险高风险低风险低风险调试与测试调试与测试动态代码分析动态代码分析Real Time Execution Trace静态代码分析静态代码分析代码功能验证代码功能验证Requirements Gateway复杂复杂简单简单应用程序复杂度应用程序的关键性Deskto

11、p Execution TraceUnit Test FrameworkVI Analyzer Toolkit动态代码分析的目标动态代码分析的目标:系统内存消耗在哪里? 我已经捕捉和处理了程序报出的所有错误吗? 在之前的最后一个事件是什么? 当程序到达时候的调用栈是什么? 当前这段函数正运行在哪个线程里面? 我真的进到这个时间分支里面了吗? 这个结构里面到底发生了什么? 这些事件产生的顺序是什么? 后台是不是正有一个邪恶的进程在悄悄运行着? 这段代码在编译出来的可执行程序里面行为有什么不同吗?LabVIEW 桌面执行跟踪工具包桌面执行跟踪工具包运行时跟踪运行时跟踪 事件结构 内存分配 队列/通

12、知器 引用泄漏线程ID 未处理的错误 动态/静态子VI远程跟踪系统的运行远程跟踪系统的运行运行时执行信息运行时执行信息NetworkVI和可调试的运行程序运行时执行信息运行时执行信息LabVIEW Desktop Execution Trace ToolkitLabVIEW Real-Time Execution Trace Toolkit发布的实时应用程序LabVIEW 单元测试架构单元测试架构VI Under Test预期输出预期输出Unit Test FrameworkAutomated Report GenerationSetup VITeardown实际输出实际输出单元测试单元测试实

13、现实现软件需求软件需求测试结果测试结果与与NI Requirements Gateway无缝集成无缝集成DEMOCreate and execute tests with Unit Test Framework & Integrate with Requirements Gateway目标目标 制定一个可重复的过程 交付产品给客户,包括需要的驱动和引擎 隐藏敏感的代码需求搜集应用程序架 构开发测试与调试发布Deploy Software to Embedded Hardware TargetsBuild Professional Applications for the Desktop需求搜集应用程序架 构开发测试与调试发布需求搜集应用程序架 构开发测试与调试发布LabVIEW中的软件工程工具软件工程流程软件工程流程Requirements GatewayMulticoreObject OrientationDesign PatternsDataflowMathScriptStatechartSimulationExpressVI AnalyzerReal Time Execution TraceDesktop Execution TraceUnit Test FrameworkApplication BuilderReal TimeFPGAE / community

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号