UMLは、C++を使用したモデリングシステムで最も一般的に使用されます。私のプロジェクトでは、Cは実装言語です。 Cに適用できるUML戦略に関するリソースを探しています。設計時にUMLを使用し、システムのさまざまな側面を表現したいと考えています。
C専用のUMLの使用について説明している既存のリソースはありません。他の人が言及しているように、UMLは言語に依存しません。
UMLを使用すると、問題のドメイン用のモデルと、実装用のモデルを作成できることに注意してください。問題領域をCの観点からモデル化するのではなく、高レベルのOOとしてモデル化するようにしてください。問題のドメインを十分に理解したら、実装のモデリングを開始できます。
手続き型C実装のモデリングには、次の図が役立ちます。
クラス図を拡張すると、手続き型Cの場合、次の方法でクラス図を「乱用」できます。
#define
定数->「列挙」ステレオタイプのクラス実験してみると、UMLを悪用するための独自の規則が見つかります。
Cの問題は、Cが手続き型プログラミング言語であるということです。 Cアプリケーションできめの細かいデザインを取得するのは困難です。 Cを使用している場合は、依存関係や相互作用のグラフではなく、シーケンス図やコンポーネント図を使用して、何が起こっているのかを説明し、概要を説明することをお勧めします。
オブジェクト指向設計は言語に依存せず、もちろんUMLを使用してシステムを設計できます。 Rhapsodyのようないくつかのツールは、コード生成とラウンドトリップも可能にします。C++がオプションではないいくつかの特別なプロジェクトに使用します。コードを手動で記述したい場合は、Subsystem_Module_Class_Methodなどの命名規則を使用して、オブジェクト指向の方法で関数に名前を付け、クラスごとに.cファイルを使用します。 Cを使用することは、すっきりとしたデザインを持つことに対する障害ではありません。