【信頼性の高いモデル】の作成のために~ 例外処理はクラスや関数の振る舞いの1つ』であることを意識しよう
例外処理は組込みシステムやリアルタイムシステムでは極めて重要な処理であるが、不思議な事に例外処理は異常処理であり、かつ、オプション的な処理と思っている方がいる。
『例外処理はクラスや関数の振る舞いの1つ』である。
例外処理は、「想定外の異常」を処理するこもあるが、多くの場は要件仕様から逸脱した操作やデーターによる「予め想定された条件違反」の処理を定義する。
だから、要件定義の際に:
「ビジネスルールは何か?」
「システムの規則なのか?」
「システムの規則やビジネスルールに違反した時はどのような仕様にするのか?」
を明確にしておかなくてはいけない。
これにより、仕様の「ルール」に違反することが想定される事項や違反したときの例外処理の指定(不変条件違反、境界違反、メモリー不足、スタックオーバーフロー、etc)が可能なのだ。
そして、例外の種類に応じて適切な処理(リカバリー処理、中断、etc)を指定できる。システムの信頼性が高まる。
以上かから『例外処理はクラスや関数の振る舞いの1つ』であって、分析と設計でキッチリ明確にしていく必要ある。
そして、確実に実装される必要ある。
例外処理が全て定義されていないシステムは、不完全なシステムである。
だから、分析と設計時に作成されるモデルに例外違反が考慮されていないモデルは不完全であり、かつ妥当性(validation)を欠く間違ったモデルであることを意識する必要ある。
例外が指定されていないモデルは一瞬で分かる。
かつ、その時点で価値の無いモデルになってしまう。
仕様の要求を確実に反映していないモデルであり、システムの信頼性への考慮が著しく低いモデルであるからである。
しかしながら、多くの開発現場や書籍やセミナーで例外が扱われていないモデルが非常に多く作成されてしまっている。
| 固定リンク
最近のコメント