検索 検索トップページ トップページ担当別50音一覧 担当別50音一覧

ソフトウェア工学

科目
ソフトウェア工学
区分
電子工学科科目群
授業コード
54304
開設セメスター
4S
曜日・時限
秋 月/56
単位数
2単位
担当者名
小林 由紀男
授業の概要
ソフトウェア工学が発生し・進歩してきた過程を振り返ってみますと,品質と信頼性が高いスフトウェアを短時間に作成する必然性が根底にあります.そのための様々なソフトウェア開発技法や開発ツールが開発されてきました.ソフトウェアの開発」を,その「開発プロセス」の最近の動向から開発作業を5つの開発フロー(要求・分析・設計・実装)ごとに説明する.最近では,オブジェクト指向設計の能力がソフトウェア技術者に求められるようになっていることを考慮して,システム開発用言語 UMLをベースにオブジェクト指向の考え方に沿って授業を進める. 実際にプログラム化するには,Java言語,C++言語を用いる.
到達目標
ソフトウェア開発技術について十分理解し,その開発過程の生産物(成果)を表現する記述法(記述言語)を駆使して,(1)要求仕様,(2)要求分析,(3)設計,(4)実装の 4つのワークフローを一人で遂行でき,それをプレゼンテーションできること.最終的には,各自自分の興味あるシステム(主としてソフトウェア)を題材にして,そのシステムを上記4つのワークフローを通して実現すること.下記の教科書・参考書・配付資料を参考に,授業の進展に沿って,各自選択したシステムの80%程度を実装(プログラミング)できること.
授業計画
テーマ
内容
授業を受けるにあたって
第1回目
ソフトウェアとソフトウェア工学 授業の概要説明.ソフトウェア工学の目的,コンピュータシラバスの確認.教科書1.1~1.3
第2回目
ソフトウェアの設計思想 ソフトウェアの信頼性・品質,設計原理(最近の話題から)前回配布の資料・教科書2.1~2.3
第3回目
開発の目的・要求 ソフトウェアの要求・目標・仕様(UMLを使った要求定義)前回配布の資料・教科書2.4 教科書 6.1
第4回目
要求ワークフロー 要求定義・ユースケース記述     【小テスト】前回配布の資料・教科書6.13-5
小テスト範囲:授業第1回~第3回
第5回目
構造化 フローチャート・構造化とUML前回配布の資料・教科書3.1~3.2
第6回目
データ抽象化 モジュール設計・データ抽象化前回配布の資料・教科書3.2~3.3
第7回目
オブジェクト指向-Ⅰ オブジェクト指向の概念,クラス   【小テスト】前回配布の資料・教科書4.1~4.2
小テスト範囲:授業第4回~第6回
第8回目
オブジェクト指向-Ⅱオブジェクト指向の実際前回配布の資料・教科書4.3~4.4 教科書6.1~6.2
第9回目
設計ワークフロー-Ⅰ分析・オブジェクト・クラス前回配布の資料・教科書5.1~5.2
第10回目
設計ワークフロー-Ⅱ設計モデル・アーキテクチャ前回配布の資料・教科書5.2~5.3
第11回目
統一モデリング言語-ⅠUMLとユースケース図,クラス図,アクティビティ図,【小テスト】前回配布の資料・教科書6.1~6.3
小テスト範囲:授業第7回~第10回
第12回目
統一モデリング言語-Ⅱシーケンス図,コラボレーション図前回配布の資料・教科書6.4~6.6
第13回目
実装ワークフロープログラミング,実装モデル・コンポーネント図前回配布の資料・教科書7.1~7.2
第14回目
テスト・運用・保守テストの設計と評価,保守,再利用とパターン前回配布の資料・教科書8.1~8.3
第15回目
期末試験UMLとオブジェクト指向によるソフトウェア開発演習配布資料・教科書・小テスト問題

教科書
ソフトウェア工学-プロセス・開発方法論・UML-/鈴木正人/サイエンス社/1800円+税
必要に応じてプリントを配布する.
参考文献
ソフトウェア工学入門/河村一樹/近代科学社/2500円
UMLモデリングのエッセンス/M.ファウラー・K.スコット/翔泳社/2400円+税
http://rironnew.inf.eng.tamagawa.ac.jp/index.html
成績評価方法
小テスト(30%),期末試験(50%),授業でのアクティビティー(質問・発表等)で20%,合計を100点満点とします.試験は,ソフトウェアの分析・設計・実装の実務能力と表現能力(プレゼンテーション力)に着目してその到達度を評価します.成績は所定の規則通り,SABCFで評価しますが,出席が3/4に満たないものは期末の定期試験の受験資格を失いますので,合計は50点以下(つまりF)になります.
そのほか受講者への指示/メッセージ
ソフトウェア工学はソフトウェア開発・プログラム開発技術者の基本技術です.製品としてのソフトウェアの表には現れてきませんが,優れたソフトウェア開発は,必ずしっかりしたソフトウェア開発技術に裏付けされています.ソフトウェアで解決を図る問題は身近にも数多くあります.問題解決にどのようなソフトウェア開発技術があるか常に関心を持ち,自ら問題を解決できる能力を養ってほしい.また,何か一つ仮想的なシステムを想定し,試行錯誤を繰り返しながらシステムが設計出来るスキルを身につけてほしい.

更新日:02/08/2004
検索トップページ担当別50音一覧