シラバス情報

科目授業名称(和文) Name of the subject/class (in Japanese)
ソフトウェア工学
科目授業名称(英文) Name of the subject/class (in English)
Software Engineering
授業コード Class code
994643B
科目番号 Course number
46CSSOE301

教員名
谷口 行信
Instructor
Yukinobu Taniguchi

開講年度学期
2024年度前期
Year/Semester
2024 first semester
曜日時限
月曜4限
Class hours
Monday 4th period

開講学科・専攻 Department
工学部 情報工学科

Department of Information and Computer Technology, Faculty of Engineering
単位数 Course credit
2.0単位
授業の方法 Teaching method
講義

Lecture
外国語のみの科目(使用言語) Course in only foreign languages (languages)
-
授業の主な実施形態 Main class format
① [対面]対面授業/ [On-site] On-site class

概要 Description
金融システム,鉄道システム,通信システムなどの我々の身の周りにある社会基盤は,コンピュータ・ソフトウェア(以下,ソフトウェア)が無いと成り立たない.ソフトウェアに一旦障害が起こると我々の生活に大きな影響を与える,社会基盤の重要なパーツとなっている.この授業では,大規模なソフトウェアの開発がなぜ難しいかを理解し,品質の良いソフトウェアを効率的に開発・運用・保守するための方法論を提供するソフトウェア工学の基本的な考え方について学ぶ.
目的 Objectives
ソフトウェア工学の基本的な考え方,方法論,ツール等に関する知識を身につけることを目的とする.
本学科のディプロマ・ポリシーに定める「情報工学に必要な基礎学力と専門知識」を身につけるための科目である.
到達目標 Outcomes
  • ソフトウェア開発の流れと,大規模ソフトウェア開発の課題の概要を説明できること.
  • ソフトウェア工学の代表的なモデル,プロセス,ツールについてその概要を説明できること.
  • ソフトウェア工学の代表的な手法を,簡単な例題に対して適用でき,アウトプットとして要求仕様書,設計仕様書,プログラム,テスト仕様書等の成果物を作成できる.
卒業認定・学位授与の方針との関係(学部科目のみ)
リンク先の [評価項目と科目の対応一覧]から確認できます(学部対象)。
履修登録の際に参照ください。
​You can check this from “Correspondence table between grading items and subjects” by following the link(for departments).
https://www.tus.ac.jp/fd/ict_tusrubric/​​​
履修上の注意 Course notes prerequisites
プログラミングに関する基本的な知識を有することが望ましい.
アクティブ・ラーニング科目 Teaching type(Active Learning)
小テストの実施 Quiz type test/グループワーク Group work
-

準備学習・復習 Preparation and review
講義資料・動画を事前に公開するので予習しておくこと.
授業が終わった後にLETUS上で小テストに取り組むこと.
成績評価方法 Performance grading policy
中間テストと到達度評価(80%),授業での積極的な態度(20%)を総合して評価する.
学修成果の評価 Evaluation of academic achievement
・S:到達目標を十分に達成し、極めて優秀な成果を収めている
・A:到達目標を十分に達成している
・B:到達目標を達成している
・C:到達目標を最低限達成している
・D:到達目標を達成していない
・-:学修成果の評価を判断する要件を欠格している

・S:Achieved outcomes, excellent result
・A:Achieved outcomes, good result
・B:Achieved outcomes
・C:Minimally achieved outcomes
・D:Did not achieve outcomes
・-:Failed to meet even the minimal requirements for evaluation

教科書 Textbooks/Readings
教科書の使用有無(有=Y , 無=N) Textbook used(Y for yes, N for no)
N
書誌情報 Bibliographic information
-
MyKiTSのURL(教科書販売サイト) URL for MyKiTS(textbook sales site)
教科書および一部の参考書は、MyKiTS (教科書販売サイト) から検索・購入可能です。
https://mirai.kinokuniya.co.jp/tokyorika/​​​

It is possible to search for and purchase textbooks and certain reference materials at MyKiTS (online textbook store).
​​https://mirai.kinokuniya.co.jp/tokyorika/

参考書・その他資料 Reference and other materials
  • 鰺坂恒夫:ソフトウェア工学入門 (Computer Science Library-16), サイエンス社,2011. 
  • 高橋直久・丸山勝久:ソフトウェア工学,森北出版株式会社,2010.
  • 中所武司:ソフトウェア工学 第3版(情報科学こんぶんせつ),朝倉書店,2014

授業計画 Class plan
  1. ガイダンス,ソフトウェア工学とは?
    • ソフトウェア工学の目的
    • 演習:大規模ソフトウェア開発はなぜ失敗するか?
  2. ソフトウェア開発工程
    • ウォータフォールモデル,スパイラルモデル,プロトタイピング,アジャイルプロセスモデル
    • 要求分析・定義とは?
    • 演習:要求定義の難しさ
  3. 要求の分析と定義
    • 要求分析の目的,要求仕様書の構成,要求獲得,要求記述,機能要求,非機能要求
    • 演習:ユースケースシナリオの作成
  4. 構造化分析とその仕様化
    • データフローモデル(DFD),状態遷移モデル,実体関連モデル(ER)
    • 演習:DFD,状態遷移図の作成
  5. オブジェクト指向分析とその仕様化 (1)
    • オブジェクト指向の基本概念(メッセージパッシング,カプセル化,クラスとインスタンス,継承)
    • 演習:オブジェクト指向の基本概念の確認
  6. オブジェクト指向分析とその仕様化 (2)
    • UML, クラス図,シーケンス図
    • 演習:クラス図,シーケンス図の作成
  7. ソフトウェア設計(1):アーキテクチャ設計
    • ソフトウェア設計工程の進め方,アーキテクチャ設計
    • 演習:アーキテクチャ設計
  8. ソフトウェア設計(2):モジュール設計
    • 構造化設計(モジュール分割,モジュール強度,モジュール結合度),デザインパタン,フレームワーク
    • 演習:モジュール分割
  9. まとめと中間テスト
  10. プログラミング:構造化プログラミング
    • 中間テスト返却と解説
    • 構造化プログラミング,言語の特徴と種類,ソフトウェア開発ツール
    • 演習:分かり易いプログラムとは
  11. ソフトウェアテストとソフトウェア品質管理(1)
    • 単体テスト(制御パスト法,同値分割,境界値分析),カバレッジ
    • 演習:単体テスト
  12. ソフトウェアテストとソフトウェア品質管理(2)
    • 結合テスト,システムテスト,信頼度成長曲線
    • 演習:レビュー,信頼度成長曲線
  13. プロダクトとプロセスの管理(1)
    • プロジェクト管理,時間管理
    • 演習:PERT図,ガントチャートの作成
  14. プロダクトとプロセスの管理(2)
    • 工数の見積り,FP法,プロセスの評価と改善(CMM),ソフトウェアメトリックス
    • 演習:サイクロマティック複雑度,工数の見積もり
  15. 到達度の確認と解説

授業担当者の実務経験 Work experience of the instructor of the class
IT系企業でのソフトウェア開発・プロジェクト管理の実務経験を活かし,ソフトウェア工学の基礎について講義する.
教育用ソフトウェア Educational software
-
-

備考 Remarks

授業でのBYOD PCの利用有無 Whether or not students may use BYOD PCs in class
Y
授業での仮想PCの利用有無 Whether or not students may use a virtual PC in class
N