ソフトウェア工学

授業の概要

 「ソフトウェア危機」が叫ばれソフトウェア工学が誕生したのは、今から30年ほど前のことである。それ以降、ハードウェア技術は劇的に進歩し、当時は考えられないほど高性能なコンピュータを個人が持ち歩いて外出先でも手軽に利用できるようまでになった。一方、ソフトウェア技術のほうはそれほど目覚しい進歩はないものの、オブジェクト指向の提唱以来、技術開発に弾みがつき、近年のUMLの普及と相まって、ようやく「アート」の世界から名前どおり「エンジニアリング」の世界に入ったと言ってよかろう。本科目では、こうしたソフトウェア工学の歴史的背景と目的を理解し、その主要技術の基礎を習得することを目的として、ソフトウェア開発プロセス、従来の分析/設計手法、および近年のUMLモデリングと関連技術について解説する。

授業内容と講義資料

 第01回 ソフトウェア工学とは ― ソフトウェア工学の目的と歴史的背景 (講義スライド:PDF)
 第02回 ソフトウェア開発プロセス ― ウォーターフォール型開発と反復型開発モデル (講義スライド:PDF)
 第03回 要求分析/定義と設計(T) ― 構造化分析/設計 (講義スライド:PDF)
 第04回 要求分析/定義と設計(U) ― 構造化設計 (講義スライド:PDF)
 第05回 要求分析/定義と設計(V) ― ERモデリング、OOAD、UML (講義スライド:PDF)
 第06回 UMLモデリング(T) ― ユースケースモデリングとユースケース駆動型開発 (講義スライド:PDF)
 第07回 UMLモデリング(U) ― システムの静的側面のモデリング (講義スライド:PDF)
 第08回 UMLモデリング(V) ― システムの動的側面(オブジェクト間の相互作用)のモデリング (講義スライド:PDF)
 第09回 UMLモデリング(W) ― システムの動的側面(オブジェクトの状態変化)のモデリング (講義スライド:PDF)
 第10回 ソフトウェア再利用 ― オブジェクト指向プログラミングとデザインパターン (講義スライド:PDF)
 第11回 管理 ― プロジェクト管理と品質管理 (講義スライド:PDF)
 第12回 UML補遺―クラス図の拡張的概念 (講義スライド:PDF)
 第13回 ソフトウェア開発のベストプラクティス (講義スライド:PDF)