今日はOCLについて教授と話し合いました。彼は、関数の定義されたコンテキスト内で不変条件、事後条件、および事前条件が許可されると信じています。
私のソフトウェア開発者は、OCLによってモデルに一般的な制約を課すことができると信じたいと思っています。このモデルのクラスPersonのすべてのオブジェクトの性別が男性である、またはクラスの車のすべてのオブジェクトに4つの車輪があるなどの制約は非常に便利であり、モデルに対して宣言型パラダイムを使用することは正しいと感じます。
私はそれを現実の世界のように見ています。ボルトにナットをねじ込むと、ナットは一方向にフィットします。これらは、ボルトにナットをねじ込むなど、どのようなアクションを実行しても保持される物理的な制約であり、違反したり、基本的な方法でモデルを無効にしたりすることはできません。
彼の見解は、OCLでは、コンテキストが提供される関数内でのみ制約(前後の条件/不変条件)を定義できるというものです。
誰かが私のためにこれを片付けることができますか?