クラス階層のレベル数

知り合いと日比谷のマリオンにターミナルを見に. 時間間違えて最終を見れず.しょうがないので不二家の上の居酒屋で不用意に酒. っていうか,ターミナル.


1年半ほど前に,

「クラス階層構造の上限は6レベルが一般的です.」というMSDNの記事にハ?と思ったのだが,

これは,一応有名な文献がRefらしい.
Lorenz, M., Object-oriented Software Development: A Practical Guide, Englewood Cliffs, N.J.: PRT Prentice Hall, 1993.

この文献は,ベストプラクティスを調査した結果だそうだが,
その他にも
・ 平均メソッド規模(LOC)は,C++で24LOC未満
・ クラスあたりの平均メソッド数 20未満
・ クラスあたりの平均インスタンス変数6未満
などなど書いてある.実際に上記の本を読んだわけでないので,これが妥当か何かなんぞは,ぜんぜんわからんが.

上記の結果だけ載っていた本がソフトウェア品質工学の尺度とモデル
今,劇団ひとり輪講(T_T)をしている本.

ソフトウェア品質の基本を抑えた本だが,ちょっとプロセス品質に重きを置きすぎているので,今の話には会わないかもナア.

今日読んでいた範囲での疑問


1. オブジェクト指向言語が最終成果物であることを考慮すると,構造化設計の成果物からの変換は検証が困難だと思う.なのに設計成果物は依然構造化設計のものが多い.なぜか.
⇒ 改めて設計成果物を見直してみたい
2. 分析フェーズで,アーキテクチャに依存しない分析を行うということは,現在アーキテクチャが固定的であることを考えると,本当に意味があるのか?
3. オブジェクト指向開発プロセスが,一般に「軽量」プロセスに相当する開発プロセスとセットに語られるのはなぜか.つまり,実装言語の特徴が開発プロセスの特徴と密接な関係にある直接的な根拠は何か.⇒単に使われる規模が違っていたからで無いのか.
4. 開発プロセスは,いかに既知の要求を実装に機械的に整合性のある状態で変換していくかという点を重視するが,品質が「ユーザ要求の充足性」であるならば,ユーザ要求を明確にすることが最も重要であるのではないか.その点に言及していることはソフトウァエ工学ではどこにあたるのか?RE?

5. 別プロジェクトに対するコンポーネントの再利用性向上の為の一般化の作業は,開発ライフサイクルの最後に来るし,稼動のかかる作業と思われるが,それをやるモティベーションは,誰に発生させるべきで,どのような理由漬けを行うのか?

まあ.いろいろ考えることは多い. これからも週末の劇団ひとり輪講会だな.