1. ソフトウェアの知的財産について説明することができる.
2. プログラミング言語と,主要な計算モデルについて説明することができる.
3. 要求に従ってソフトウェアを中心とした,ハードウェアを含むシステム全体を開発するためのプロセス(ウォーターフォールモデルなど)について説明することができる.
4. WBSなど,主要なプロジェクト管理手法と,プロジェクト管理の必要性について説明することができる.
5. 要求仕様に従って,UMLなどのモデリング言語を用いた設計書を作成することができる.
6. 要求仕様に基づいたシステム開発を行うために必要となる開発環境の構築を行うことができる.
7. 設計書に基づいて,仕様を満たすプログラムを実装することができる.
8. 構築したプログラムをテストし,要求仕様を満たしているか確認することができる.
9. クライアント・サーバモデルを始めとした,主要なシステムの提供形態・利用形態と,その特徴について説明することができる.
10. システム開発を効率的に実施するための様々な手法について説明することができる.
概要:
本講義ではシステム(ソフトウェア)開発について,企画段階からリリース・保守・運用までの一連の流れについて座学と演習を通して学ぶことを目的とする。
また,後期では実際の開発現場で用いられている主要なソフトウェアフレームワークを用いたシステム開発を実施し,実践的な開発技術を身につける。
本講義では企業においてシステムエンジニア(SE)としてシステム開発を担当していた教員が,その経験を活かして講義を行うものである。
授業の進め方・方法:
到達目標の達成度を確認するため,随時課題を与える。
【事前・事後学習など】参考書籍やWebサイトの情報を与えるため,それらによって事前・事後学習を実施すること。
【関連科目】プログラミング応用演習,データベース
【MCC対応】IV-B 技術者倫理および技術史, V-D-1 プログラミング, V-D-2 ソフトウェア, V-D-4 コンピュータシステム, VI-D 情報系分野(実験・実習能力)
注意点:
・ 講義には充電が完了したノート型PCを常に持参すること。
・ 課題については期限を厳守すること。
・ 本講義ではHTML,JavaScript,CSS,PHPの知識が必要となる。4年生までに実施した内容を再度復習しておくこと。
【評価方法・評価基準】成績の評価基準として60点以上を合格とする。
前期中間試験,前期末試験,後期中間試験を実施する。
前期評価:前期中間試験(40%),前期末試験(40%),課題(20%)
後期評価:後期中間試験(40%),課題(60%)
学年末評価:前期評価(50%),後期評価(50%)
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス、ソフトウェア工学の概要 |
ソフトウェア工学の概要について説明できる
|
2週 |
計算モデルとプログラミング言語 |
計算モデルとプログラミング言語について説明できる
|
3週 |
ソフトウェアの開発工程と,様々な開発プロセス |
ソフトウェアの開発工程と,様々な開発プロセスについて説明することができる
|
4週 |
プロジェクト管理 |
プロジェクト管理について説明することができる
|
5週 |
要求分析と要件定義(1) |
要求分析と要件定義フェーズにて実施する内容について説明できる
|
6週 |
要求分析と要件定義(2) |
要求分析と要件定義フェーズにて実施する内容について説明できる
|
7週 |
外部設計 |
外部設計フェーズにて実施する内容について説明できる
|
8週 |
内部設計 |
内部設計フェーズにて実施する内容について説明できる
|
2ndQ |
9週 |
モデリング演習(1) |
仕様に基づいた設計書を作成することができる
|
10週 |
モデリング演習(2) |
仕様に基づいた設計書を作成することができる
|
11週 |
モデリング演習(3) |
仕様に基づいた設計書を作成することができる
|
12週 |
実装,単体テスト,結合テスト(統合テスト) |
テストフェーズにて実施する内容について説明できる
|
13週 |
非機能要件に関するテスト(性能テスト,ペネトレーションテストなど) |
テストフェーズにて実施する内容について説明できる
|
14週 |
リリース(納品)・運用・保守 |
リリース(納品)・運用・保守フェーズにて実施する内容について説明できる
|
15週 |
前期復習 |
|
16週 |
|
|
後期 |
3rdQ |
1週 |
ソフトウェアアーキテクチャ概要 |
ソフトウェアアーキテクチャ概要について説明できる
|
2週 |
オブジェクト指向(Object-oriented) |
オブジェクト指向について説明できる
|
3週 |
主要なソフトウェアアーキテクチャ(MVC,MVVMなど) |
主要なソフトウェアアーキテクチャについて説明できる
|
4週 |
ライブラリ・フレームワークの選定,ソフトウェアの知的財産 |
ライブラリ・フレームワークの選定方法について説明できる ソフトウェアの知的財産について説明できる
|
5週 |
ソフトウェアのバージョン管理 |
ソフトウェアのバージョン管理について説明できる
|
6週 |
ソフトウェアの提供方式(クライアントサーバモデル,分散コンピューティングなど) |
様々なソフトウェアの提供方式について説明できる
|
7週 |
仮想化,コンテナ,CI/CD(継続的インテグレーション/継続的デリバリー) |
仮想化,コンテナ,CI/CDの概要について説明できる
|
8週 |
システム開発演習 環境構築 |
ソフトウェアの開発環境を構築することができる
|
4thQ |
9週 |
システム開発演習(1) |
仕様に基づいたシステムを設計・構築することができる
|
10週 |
システム開発演習(2) |
仕様に基づいたシステムを設計・構築することができる
|
11週 |
システム開発演習(3) |
仕様に基づいたシステムを設計・構築することができる
|
12週 |
システム開発演習(4) |
仕様に基づいたシステムを設計・構築することができる
|
13週 |
システム開発演習(5) |
仕様に基づいたシステムを設計・構築することができる
|
14週 |
システム開発演習(6) |
仕様に基づいたシステムを設計・構築することができる
|
15週 |
後期復習 |
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 技術者倫理(知的財産、法令順守、持続可能性を含む)および技術史 | 技術者倫理(知的財産、法令順守、持続可能性を含む)および技術史 | 知的財産の社会的意義や重要性の観点から、知的財産に関する基本的な事項を説明できる。 | 3 | 後4 |
知的財産の獲得などで必要な新規アイデアを生み出す技法などについて説明できる。 | 3 | 後4 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | プログラミング言語は計算モデルによって分類されることを説明できる。 | 4 | 前2 |
主要な計算モデルを説明できる。 | 4 | 前2 |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | 前7,前8,前9,前10,前11 |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | 後9,後10,後11,後12,後13,後14 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | 前7,前8,前9,前10,前11 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | 後9,後10,後11,後12,後13,後14 |
ソフトウェア | ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 4 | 前3 |
コンピュータシステム | 集中処理システムについて、それぞれの特徴と代表的な例を説明できる。 | 4 | 後6 |
分散処理システムについて、特徴と代表的な例を説明できる。 | 4 | 後6 |
ネットワークコンピューティングや組込みシステムなど、実用に供せられているコンピュータシステムの利用形態について説明できる。 | 4 | 後6 |
デュアルシステムやマルチプロセッサシステムなど、コンピュータシステムの信頼性や機能を向上させるための代表的なシステム構成について説明できる。 | 4 | 後6 |
システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを説明できる。 | 4 | 後1,後2,後3,後4,後5,後6,後7 |
ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。 | 4 | 前3,前5,前6,前7,前8,前9,前10,前11 |
プロジェクト管理の必要性について説明できる。 | 4 | 前4 |
WBSやPERT図など、プロジェクト管理手法の少なくとも一つについて説明できる。 | 4 | 前4 |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。 | 4 | 後8 |
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。 | 4 | 後8 |
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。 | 4 | 後9,後10,後11,後12,後13,後14 |