ソフトウェア工学をつつく1ーソフトウェアってどんなの?
どんなものにも性質や特性はある。ソフトウェアも勿論例外ではなくて次の特徴があるピヨ。
【ソフトウェアの特徴】
- 目に見えない・・・物理的なものじゃないからね。
- 潜在的なバグが常にある・・・バグっていうのは文法エラーだけじゃないピヨ。
- 要求仕様は常に変化している・・・常に世界は動いているからね。
- 些細な変更が大きな影響を与える・・・一つのモジュールを変更しただけで動かない事なんてざら。
- 簡単にコピーできる・・・コピーコマンド一発で窃盗される。
- 創造者の思想を含んでいる・・・ソフトウェアには実態がないから作った人の意思が出やすいよ。
- 物理的なものではない故に無限のバリエーションを持つ・・・芸術は爆発だー。
【ソフトウェアの品質特性】
- 機能性・・・要求仕様をどれだけ満たしているかだよ。顧客満足度ってことだね。
- 信頼性・・・バグに対する対処法がちゃんとあるかとか、信頼に関わる事だよ。
- 操作性・・・機能が良くっても使いづらかったら意味がないよね。わかりやすいGUIがあるかなどの尺度を操作性というピヨ。
- 効率性・・・CPUやメモリなどの資源をどれだけ有効利用しているかということピヨ。コードの行数少なさもこれに含めて言う場合もあるピヨ。
- 保守性・・・ソフトウェアの構造が理解しやすく、変更が行いやすい状態になっているかとか、ドキュメントがあるかとか(コード読めじゃだめ!)、スパゲッティコードを書いていないかとかだよ。
- 移植性・・・Windows用ソフトを、すぐinux用ソフトに作り変えられる時「移植性が高いソフト」というピヨ。どれだけ、違う環境に適用できるかということだね。ということは、ゴキブリは移植性が高いのかな・・・
※それは環境適用能力です。
大まかにはこんなところかな?一度に書いても読みにくいだけだから、詳しい話しはまたあとでするピヨ。おしまい。