ソフトウェア工学概論
状態:本書はまだ作成中です。
本書は、ソフトウェア工学の入門書であり、学部レベルのコースの教科書として意図されている。
ソフトウェア工学( software engineering )は、チームに関するものであり、品質に関するものである。 解決すべき問題は非常に複雑であったり、大規模であったりするため、一人の開発者ではもう解決できない。 また、ソフトウェア工学は、チーム内や社内外の関係者とのコミュニケーションについても重要である。 チームは開発者だけでなく、品質保証テスター、システム設計者、システム/プラットフォームエンジニア、顧客、プロジェクトマネージャー、その他の利害関係者( stakeholders )で構成されている。
実装は、もはやコードを書くだけでなく、ガイドラインに従い、ドキュメントを書き、ユニットテストを書くことも必要である。 しかし、ユニットテストだけでは十分ではない。さまざまなピースが組合わされなければならないのである。 そして、測定基準を使って問題のある部分を発見し、その部分の品質を向上させることができなければならない。 コードは、チームが一緒に作業しやすいように、一定の標準に従っている必要がある。 大規模なプロジェクトでは、ソフトウェアのメンテナンスなど、多くの人を長い間、忙しく働かせることになる。
プロジェクトの成否を左右する要素は非常に多いため、本書ではプロジェクトマネジメントのスキルについて取り上げている。 ソフトウェアプロジェクトは非常に大規模なものになるため、綿密な計画を立てなければならない。 プロジェクトが失敗する要因と成功する要因について説明する。 最後に、優れたソフトウェアエンジニアは、他のエンジニアと同様に、ツールを必要とする。 本書では、大規模なプロジェクトから小規模なプロジェクトまで、日常的に使用する優れたツールについて取り上げている。
本書では、大小さまざまなプロジェクトで日常的に使用できる優れたツールを紹介している。
皆さんも、ソフトウェア工学の迷宮への旅にでよう!
ソフトウェア工学
[編集]UML
[編集]プロセスと手法
[編集]- /プロセス
- /プロセス/手法
- /プロセス/Vモデル
- /プロセス/アジャイルモデル
- /プロセス/標準
- /プロセス/ライフサイクル
- /プロセス/ラピッドアプリケーション開発
- /プロセス/エクストリーム・プログラミング
- /プロセス/パーソナルソフトウェアプロセス
- /ツール/プロセスツール
- /プロセス/Labs
計画
[編集]プロジェクト管理
[編集]アーキテクチャーとデザイン
[編集]実装
[編集]- /実装
- /実装/コーディング規約
- /実装/ドキュメンテーション
- /実装/良質なコーディング
- /ツール/コンパイラー
- /ツール/デバッガー
- /ツール/IDE
- /ツール/GUIビルダー
- /ツール/ソースコントロール
- /ツール/ソフトウェアドキュメンテーション
- /実装/Labs
テスト
[編集]- /テスト
- /テスト/ユニットテスト
- /テスト/プロファイリング
- /テスト/テスト駆動開発
- /テスト/リファクタリング
- /ツール/テストツール
- /ツール/コード網羅率
- /ツール/プロファイリング
- /テスト/Labs
ソフトウェア品質
[編集]開発と保守
[編集]リエンジニアリング
[編集]- /リエンジニアリング
- /リエンジニアリング/リバースエンジニアリング
- /リエンジニアリング/ラウンドトリップエンジニアリング
- /ツール/デコンパイラー
- /ツール/難読化
- /リエンジニアリング/Labs