F-nameのブログ

はてなダイアリーから移行し、更に独自ドメイン化しました。

ソフトウェアプロセス(ソフトウェア工学第4回)

productが出来るならprocessはどうでもいい、に陥りがちだけど気をつけよう。

 

開発のプロセス。SoftwareProcess。どう設定し構築するか?
ProcessとProductsとの関係。あらゆる商品について重要。車の両輪の如く。ライフサイクルモデル。Softwareの一生。プロセスの研究。80年代の後半から盛ん。ソフトウェアプロセスもソフトウェアである。Programとして記述実行。87年にCMM。成熟度モデル。産業界に定着。アーキテクチャに関心がシフト。96年「ソフトウェアアーキテクチャ」プロダクトの基本設計。
プロセスのモデル。ライフサイクルモデル。一番大きな単位。ライフサイクルをフェイズに分ける。関係や入力出力の明確化。プロジェクトマネジメント。ISO12207。色々なモデルがある。計画駆動形モデル。予め計画を予定。それに従って管理。ウォーターフォール型。分析、設計、開発実装、テスト、運用保守。上から下へ。徐々に落ちていくimage。V字型モデル。ISO12207。実装して単体テスト、システムテスト、受け入れテスト。要求から詳細設定まで。仕様に対応。前のフェーズへの手戻りが起こるという問題点が。プロトタイピング型。要求分析が難しい場合、試しにプロトタイプを先ず作り、訂正点をはっきりさせる。らせん型モデル。幾つかのサイクルの繰り返しで。4つのステップを何回か繰り返す。開発の初期で充分に作る必要があるが、事前に無理な場合も。軽快型。アジャイル。期間が短い開発モデル。サイクルごとに新しいソフトウェアを提供する。軽快宣言。共同作業を重視。計画は変わるもので、それへの対応を。ウェブサービスのように頻繁に変わるものに適する。極端Programming。XP。テスト駆動開発。先ずテストを書く。通るようにProgrammingをする。ペアーProgramming。2人でプログラムを書く。1人だと変わりが居ない。2人が最低限必要。再構成。XPでは全体像が歪むことが。構造だけを作り変える。XPと近いものにスクラム。スプリントという1ヶ月程度の期間を反復。優先順位を議論して内容を決定する。機能を増やした分を出荷しユーザーに。計画駆動形モデル、4,5年のものも。
開発のプロセスを計画通りに進める支援。プロセスをどのように記述するか?Programmingのようなもの。エディターで記述。コンパイラエラーがあれば修正。テスト。そのような手続。Programmingに近い。手続型の記述法。しかしProgrammingと違う。関数型、論理型の記述法も。開始と終了の条件を書く。入力出力。一つの関数として。開始条件終了条件を論理式として書く。大きな目標は記述したプロセスを自動化して実行するということ。しかし人間を抜きには考えられない。完全な自動化は無理、という反省。プロセス中心の開発環境を作る、という方向に。多くのプロセスの記述の型。規範型。どういうプロセスが規範になるか?ISO12207。様々なプロセスが定義。観察型。実際に行われている現場でのプロセスを観察し記述し評価改善する。ダミアン他によるプロセス観察。要求分析を中心に克明に観察し評価する。
定義したプロセスを実施すれば高いプロダクトが出来る?CMM。プロセスをいかに評価するか?しかしそれだけでは無理で、改善する努力が必要。CMMIに。評価だけではなくて改善のフェーズに重点が。22のプロセス領域。プロセス管理分野、など。プロセス管理。プロジェクト管理。エンジニアリング分野。支援分野。CMMIは成熟度を5段階に分けている。初期レベル。殆どプロセスが定義されていない。レベル2。経験の蓄積。レベル3、標準のレベル。プロセスが既に定義されている。レベル4、プロセスが管理下にある。きちんとデータが取られている。レベル5、最適化。先のプロセスについても。レベル4やレベル5の企業が多い?プロセスを改善する方法としては?スピン。活動ネットワーク。米国以外にも40カ国に拠点が。ISO12207に関連して、ISO9000。品質の保障の為のプロセス。ISO9001。二者間契約。ソフトウェアに限らない。9000ダッシュ3。改善につながる手引。

 

 

ソフトウェア工学 (放送大学大学院教材)

ソフトウェア工学 (放送大学大学院教材)

 

放送大学の書きなぐりのまとめページは、https://blog.kaname-fujita.work/openuniversityymうほh