|
図解でわかるソフトウェア開発のすべて
ISBN4-534-03109-2 日本実業出版社
Mint(経営情報研究会) 著
A5判 344ページ 本体2500円 2000年9月発売
[内容]
IT技術、eビジネスコンテンツなどで、新しいソフトウェアの必要性が高まっている。本書はソフトウェア開発について、単なる技術面だけでなく、考え方などを、豊富な図解でわかりやすく解説。SE初心者、プロジェクトマネージャーなどに絶好の入門書。
[目次]
第1章 ソフトウェアエンジニアリングとは何か
1 ソフトウェアとは
・ソフトウエアと私たちの関わり
・ソフトウェアとハードウェア
・ソフトウェアの定義
・よいソフトウェアとは何か
2 コンピュータとソフトウェアの歴史
・コンピュータとソフトウェアの登場
・高水準ソフトプログラム言語の登場
3 種々のソフトウェア
・規模による分類
・階層による分類
・専用度による分類
・その他の分類
4 ソフトウェアの開発
・ソフトウェアのライフサイクル
・ソフトウェアの開発とは「翻訳作業」
・保守の重要性
5 ソフトウェアエンジニアリングとソフトウェア開発
・ソフトウェア危機からソフトウェアエンジニアリングへの提唱へ
・ソフトウェアエンジニアリングの解決すべきもの
・ソフトウェアエンジニアリングが追求しているもの
・規模のレベルダウン
○コラム
・QCDのバランス
・いろいろなプログラム言語
・情報化コンセプトの歴史
・ソフトウェア危機の背景
・現実の世界とソフトウェア開発の類似性
○コーヒーブレイク
・ソフトウェアで特許が取れるのを知ってますか
第2章 ソフトウェアはどのように作られるのか
1 ソフトウェア開発のプロセスモデル
・ソフトウェア開発のノウハウや方法論
・ソフトウェアのプロセスモデル
2 ウォーターフォール・モデル
・滝から水が流れ落ちるように
・ウォーターフォール・モデルのステップ
・Vカーブ
・開発の期間と工数(ワークロード)
・ウォーターフォール・モデルのメリットと課題
3 さまざまなプロセスモデル
・成長モデル
・プロトタイピング・モデル
・スパイラルモデル
・発展的プロトタイプ・モデル
・段階的配布モデル
・発展的配布モデル
4 どのプロセスモデルを選べばよいのか
・開発ツールとプロセスモデル
・ソフトウェアパッケージの活用
・プロセスモデル選択の注意事項
○コラム
・ソフトウェア開発は簡潔にわかりやすく!
・サブシステム分割の必要性
・共通フレーム98における計画・開発プロセス
・NIHシンドロームからPEE主義へ
・インクリメンタル・モデル
○コーヒーブレイク
・駆け出しSEの思い出
第3章 まずは開発計画から
1 プロジェクト計画と管理の重要性
・ソフトウェア開発プロジェクトの特性
・ソフトウェア開発の問題点
・計画と管理の重要性
2 プロジェクト計画の概要
・計画・管理対象別の重要項目
・プロジェクト対策の計画と管理
・組織や要因の計画と管理
・外部からの調達の計画と管理
・開発費用の計画と管理
・開発環境の計画と管理
・プロジェクト計画書
3 計画作成の要点
・要件・範囲の把握と見積りが出発点
・計画作成手順を標準化
・段階的な見直しと詳細化
4 ソフトウェア見積り技法
・見積りのステップ
・見積りの留意点
・概算法(類推法)
・積算法(積上げ法)
・標準タスク法
・ココモ(COCOMO)
・ファンクションポイント法(FP法)
・COCOMOU
・クライアント/サーバシステムの見積り
5 プロジェクト管理の要点
・事実を正確に把握する
・PDCA(Plan Do Check Action)をまわす
・プロジェクトの利害関係者を理解しコントロールする
・コミュニケーションを図る
・変更を管理する
・マイルストーンを管理する
○コラム
・スケジュール技法の例
・ソフトウエア開発体制
・ソフトウェアを用いたプロジェクト計画
・再利用による規模調整
・プロジェクトは「1+1≧2」で
○コーヒーブレイク
・ソフトウェア開発を歴史に学ぶ
第4章 構造化手法による分析・設計・プログラミング
1 構造化手法の開発プロセス
・ウォーターフォール・モデル開発工程
・「わかりやすい」プログラミングとは
・構造化手法の歴史
2 分析工程とは
・要求分析の意義
・構造分析の考え方
3 構造化分析手法
・デ・マルコの手法
・DFD(データフローダイヤグラム)の手法
・DFDの基本的な考え方
・DFDの具体例
・データディクショナリ(DD)
・ミニ仕様書
・構造化言語
・デシジョンテーブルとデシジョンツリー
4 設計工程とは
・設計工程の考え方
・外部設計から内部設計へ
・構造化設計の考え方
5 構造化設計手法
・モジュール構造図
・DFDから構造図
・STS分割手法
・TR分割手順
・モジュール分割基準
・モジュール構造図の形状
・個々のモジュールの大きさ
・モジュールの独立性
・モジュールの結合度
・モジュールの領域
・モジュール構造図の例
6 プログラミング工程とは
・プログラミング工程の考え方
7 構造化プログラミング
・構造化プログラミングの考え方
・構造化定理
・フローチャートと構造化チャート
・構造化チャートの有用性
・構造化コーディング
○コラム
・状態遷移図
・ER図
・ウォーターフォール・モデル各工程の主担当者
・構造化手法各工程のドキュメント
・ジャクソン法とワーニエ法
・レビューの実施
・最近でも構造化手法は用いられているか
○コーヒーブレイク
・インターネット遠隔学習WBT
第5章 オブジェクト指向による分析・設計・プログラミング
1 オブジェクト指向とは
・手続き型からオブジェクト指向へ
・オブジェクトとは
・オブジェクトの「状態」
・プロパティ、メソッドとカプセル化
・メッセージ・パッシング
・クラスとインスタンス
・クラスの大きさと範囲
2 モデリングとは
・オブジェクト指向でのモデリング
・オブジェクトの関係
・1 is-a関係
・2 part-of関係
・3 関連(association)
・継承(インヘリタンス)
・多重継承
・状態と振舞い
・ポリモルフィズム(polymorphism)
3 オブジェクト指向でのモノ作り
・開発全体の流れ
・分析フェーズでやるべきこと
・要求モデル
・1 オブジェクトモデル
・2 動的モデル
・3 機能モデル
・設計フェーズでやるべきこと
・実装フェーズでやるべきこと
4 目的と利点
・オブジェクト指向技術の目的
・1 情報隠蔽
・2 継承による再利用
・3 ポリモルフィズム
・オブジェクト指向による開発のメリット
・ソフトウェアの部品化・再利用の促進
・オブジェクト指向の課題
5 オブジェクト指向技術のおもな動向
・ユースケース
・デザインパターン
・アナリシスパターン
・統一方法論 UML(Unified Modeling Language)
○コラム
・オブジェクト指向開発のモデル
・オブジェクト指向技術の歴史
・MVCパラダイム
○コーヒーブレイク
・エンジニアの倫理観
第6章 最近のプログラミング環境
1 統合プログラミング環境
・統合開発環境の台頭
・サポーティングツール
・IDEが与えた影響
・IDE活用のポイント
・1 仕組み作りの重要性
・2 プログラム作成の後に
2 Windows時代のプログラミング
・OSの発展とユーザインターフェース
・Windowsプログラミング
・1 イベントドリブン方式
・2 アプリケーション間連携機能
・3 ソフトウェアの部品化
・Windows環境による影響
・1 ウォーターフォールからRAD開発への手法変化
・2 RAD開発の問題点
・3 イベントドリブン方式による影響
・4 コンポーネントウェアの影響
・5 コンポーネントウェアの課題
3 EUC環境の進展
・EUC登場の背景
・EUCの現状と役割の変化
・1 EUCの現状
・2 EUCにおける役割の変化
・EUCがソフトウェア開発に与えた影響
・1 EUCとプロジェクト管理
・2 EUCと保守
4 Webプログラミング
・インターネット時代の到来
・Web環境の進化
・加速するアプリケーションサーバ構築
・ソフトウェア開発への影響
・1 機能別の開発が可能(3階層アプリケーション)
・2 開発ツールの4GL化
・3 新たな課題
5 Java新時代
・OSレス言語
・Java開発環境の推移
・Java活用の留意点とソフトウェア開発への影響
・1 Javaの本質を見抜く
・2 新たな能力の必要性
・3 オブジェクト指向とJava
・4 クラスの活用
○コラム
・上流工程と下流工程
・ソフトウェアの試作品と量産品
・オープン化と信頼性
・プログラム仕様書の必要性
・プログラマの意識改革
・ECUのメリットとデメリット
・XMLの可能性
・いろいろなサーバ
・新たな技術とその関連技術
○コーヒーブレイク
・プログラマの本音
第7章 ソフトウェアの品質と開発工程
1 ソフトウェアの品質とは
・ソフトウェアの品質特性
・品質がよいということ
・ソフトウェアの品質の定義
・ソフトウェアの欠陥はわかりにくい
2 ソフトウェア品質の考え方
・品質を絞り込む
・欠陥の防止と発見
3 設計レビュー
・上流工程での欠陥防止
・設計レビューの種類
・レビューの方法
・効果的なレビューのために
4 テスト工程
・テスト工程の意義
・テスト工程と生産性
・テスト工程とソフトウェア品質
・単体テスト
・結合テスト
・システムテスト
・運用テスト
・テストの実施
5 テスト技法
・ホワイトボックステストとブラックボックステスト
・ホワイトボックスにおけるテストケース
・ブラックボックスにおけるテストケース
・テストツールの利用
・信頼性成長曲線
6 テスト工程の実際
・ソフトウェア開発管理の通信簿
・テストの終了
・工数増による影響
7 品質向上のための取組み
・魅力的品質と当たり前品質
・設計におけるグレーゾーン
・「先取り」の品質管理とマネージャの役割
・品質保証とプロジェクトの締めくくり
○コラム
・RASIS
・性能の指標
・オレンジジューステスト
・「なるほど」と「しまった」
・テストドライバとスタブ
○コーヒーブレイク
・イースターエッグ
第8章 ソフトウェアエンジニアリングの展開
1 作りっぱなしにはできない−保守のプロセス
・保守とは何か
・保守という工程
・保守の手順
・保守における留意点
・ツールの利用
・保守を意識した設計
2 構造化手法を適用する
・構造化手法が向いている業務
・構造化手法が失敗するケース
・構造化分析の適用
・構造化設計の適用
・構造化プログラミングの適用
・上流工程の重視
・使用凍結の問題
3 オブジェクト指向手法を適用する
・オブジェクト指向での失敗の原因
・開発経験の豊富な分野のソフトウェア開発
・リアルタイム制御系でのソフトウェア開発
・今後のビジネスが望める分野のソフトウェア開発
・オブジェクト指向を用いる心構え
4 ソフトウェアは「開発」しない
・部品化・再利用の期待と現状
・ソフトウェアの再利用
・コンポーネントウェア(ソフトウェアの組立て)
・ソフトウェアパッケージの導入(ソフトウェア購入)
5 ソフトウェアパッケージによるシステム開発
・ソフトウェアパッケージの活用
・ソフトウェアパッケージ導入の手順
・導入企業の役割と留意点
・システムインテグレータの役割と留意点
6 最近の標準化動向
・ソフトウェアプロセス成熟度モデル(CMU-SEI-CMM)
・ソフトウェア開発プロジェクト管理技法
・ソフトウェア開発および取引の共通フレーム(SLCP-JCF98)
7 ソフトウェア開発を成功に導くには
・ソフトウェアエンジニアリングの現状と考え方
・ソフトウェアエンジニアリング適用の課題
・ソフトウェア開発プロジェクトの運営
・1 プロジェクトマネージャの役割
・2 ソフトウェア開発チーム
・3 チームにおける目的の共有
・プロジェクト管理と品質管理
○コラム
・ソフトウェアパッケージの開発
・ソフトウェア開発の成功のためにはISO9000のソフトウェアへの適用
○コーヒーブレイク
・情報処理の資格をとろう

|