モジュラーアプリケーションの概要AF(操作フレーム)シリーズ(1)-LabVIEWで

まず、プライマー

記事のLabVIEWの面では、コンテンツ開発に前のフレームはほとんど関与して説明しました。QDSM(キュー・ドリブン・ステートマシン)のフレームワークを比較しただけで外れ、オペレータフレームワーク(俳優フレームワーク)の長所と短所を説明するために。

ですから、これは始まり書き込む前に、実際には、常にのLabVIEW開発のためのフレームワークについての記事を望んでいた、メインフレームワーク、自分の長所と短所、使用シナリオ、およびフレームの進化は何ですか、現在の開発環境を説明するのLabVIEW。アーキテクチャのおおよその計画では、程度の書き込みに時間を見つけて準備ができて、この記事を、終了します。

第二に、テキスト

13本のこのシリーズのビデオが、開発の最後の1がベースとNXGのバージョン、現在のピットより多くがありますが、それは考慮されません。

だから、12の音の記事を書くために準備すること。

まず、ビデオの記事のこのシリーズを解釈するために行きます:

このシリーズでは、目的は、誰もがLabVIEWでオペレータ用のアプリケーションを開発し、俳優のフレームワークを使用する方法を知っているようにです。オペレータは、LabVIEWで高度な概念のためのフレームワークである、迅速な開発フレームワークも正式に使用することができ、現在サポートされています。

プログラマは、常に再利用コードに可能な限り、安定性と信頼性の高い方法をしたいです。この需要を満たすために(以下、本明細書中にAFと呼ぶ)俳優フレームワークは、それがコードの再利用をサポートしています。AFは、当然のことながら、いくつかの欠点があり、我々はこの連載のバックにこれらの欠点を紹介します使用して他の多くの利点があります。

技術を説明する記事のこのシリーズは、熟練した技術者がQMHモード、LabVIEWでモジュール式のソフトウェアを開発する能力を使用することができますが必要です。

まず、我々は、QMHモードを使用し、それがどのように機能するかを実証するための基本的な必要性を書きます。その後、これはソフトウェア開発へのより良いアプローチであり得ることを示すために、AFの代替を使用。

一般的に使用される好ましいソフトウェア設計の原則は、我々はモジュールに凝集コードと高内低内部結束を持っています。

、ディスプレイアプリケーションをこの点を例示するために、我々は、単純なデータに異なるサイクル間のすべてのメッセージを整理するために、ファイルI / Oモジュール、ユーザインターフェースモジュール及び制御モジュール、データ収集モジュールを書き込みます。以下のブロックダイアグラム:

下に示すように、基本的な機能モジュールは、次いで、QMHフレーム書き出されます。

ユーザ・インターフェース・モジュールは、実際には、他の環状キーに基づいており、サイクルは、イベントベースである、2サイクルから構成されています。

所谓的高内聚性,就是每个模块都应该有一个明确的目的,只负责一件事,例如用户界面模块只负责接收和显示数据或响应用户输入,但它不负责判断文件是不是你的,也不具备做文件i/o的能力。低耦合,意味着一个模块不应该依赖于另一个模块。例如,即使I/O文件没有加载,用户界面也应该运行。

所以,内聚性指的是模块本身如何编写,而耦合指的是模块如何依赖于其他模块。高内聚性的主要好处是它的可读性,如果你在一个模块中有密切相关的函数,那么很清楚该模块做什么的,也使该模块变得可维护。

举个可维护性的例子,假如,在写入一个文件时有一个bug,您知道另一个必须出现在两个文件I/O模块中,因此您可以很快的测试那些特定的函数,来判断问题所在。

因为该模块只有一个明确的用途,该模块也变得高度可重用,。

如果您有其他需要使用文件i/o模块的应用程序,则有一个明确的目的:它们可以在您想要的任意多个应用程序中将其放到您的框图中,因为低耦合的好处是可维护性,因此对特定模块的更改仅限于该单个模块,而不会对其他模块产生连锁反应模块可测试性。因此,单元测试中涉及的模块可以保持在最低限度。如果所有功能都是一个模块的一部分,那么您可以使用同一个模块测试这些功能。

现在我们知道为什么有这些单独的循环,让我们来演示如何在循环之间进行通信。

首先,点击开始按钮,消息依次在“用户接口模块”、“信息处理循环”、“数据采集模块”进行传递,实现了各模块的功能运行。

综上,搭建了整个通信系统,即队列或用户事件,这些队列或用户事件的引用将存储在功能全局变量(FGVs)中,与其他模块共享。在实际运行过程中,并非所有模块都需要实际加载,它们可以在运行时异步动态启动。

虽然,这只是一个模块化软件开发的概况,但基本覆盖了已知的大多数情况,如果您注意到这些“用户界面模块”、“消息处理循环”、“数据采集模块”,它们都是完全相同的代码,但是不得不重复它三次,所以如果使用QMH框架,通过努力,可以将部分的逻辑封装成子程序,放在单独的项目库中,以简化程序,但仍然有些重复。

现在,我们可以使用一种更为结构化的技术,在开发代码时,最大化将代码重用和高效使用。而这正是AF所具备的特性。所以在下一篇文章解读中,要向您展示AF是如何派生的,以便展示它如何解决代码重用的问题,特别是在这样的模块化应用程序中。


原创码字不易,如有收获,希望关注、点赞和喜欢。

发布了23 篇原创文章 · 获赞 10 · 访问量 6830

おすすめ

転載: blog.csdn.net/qq_26647635/article/details/104369287