| 
			授業科目名
		 | 
		
			ソフトウェア開発プロジェクト実習II
		 | 
	
	 
	
		| 
			時間割番号
		 | 
		
			TCS330
		 | 
	
	
		| 
			担当教員名
		 | 
		
			郷 健太郎/鈴木 智博/盧 暁南
		 | 
	
	 
		| 
			開講学期・曜日・時限
		 | 
		
			後期・金・III-IV
		 | 
		
			単位数
		 | 
		 
			3
		 | 
	
	
		| 
		<対象学生>
		 | 
	
	
		| 
			コンピュータ理工学科3年生
		 | 
	
	
		| 
			<授業の目的>
		 | 
	
	
		| 
			本実習では,先行科目「データベース及び演習」,「ソフトウェア工学及び演習I」,「ソフトウェア工学及び演習II」,「ソフトウェアプロジェクト管理」および「ソフトウェア設計開発演習I」において習得した,各種の要求分析・設計・プロジェクトマネジメント・品質テストの手法を実践し,中・大規模なソフトウェアの開発を行う.ソフトウェア開発では,多くの人々がかかわって多数の成果物を限られた時間内に生成する.本実習では,複数人の学生がチームを構成し,チームの目標と期限を独自に設定し,その上でソフトウェアの要求分析,設計,実装,評価を行う.プロジェクトのプロセスはチームが管理し,問題が発生すれば解決を行う.これらの活動を通して,実際のソフトウェア開発において,何が問題でその解決が如何に難しいかを学習するとともに,開発に必要な実践的知識とスキルを修得することを目的とする.なお,本科目はPBL科目であり,学生による主体的かつ自律的なグループワークを行う.すなわち,教員より与えられた課題を学生が主体的に学習しながら演習内容を進行する.教員の与える課題は,ICT システムの設計,構築,運用とする.
		 | 
	
	
		| 
			<本授業科目による獲得・涵養が特に期待されるコンピテンシー>(能力・資質)
		 | 
	
	
		
			| 工学部>コンピュータ理工学科向け |  | 記号 | コンピテンシー(能力・資質) |   | 
|---|
 | CS-A | 専門 | 4.チームの一員としてシステム開発に参画し貢献することができる。 | ◎ |  | CS-B | 5.時代の変化に対応できるよう、最新の技術動向を考慮して、自律的・継続的に学習できる。 | ○ |  | CS-C | 6.情報科学、及び、数学や自然科学等の知識と手法を用いて、以下のことができる。 | 6b.要求、時間、費用、資源等の制約条件を考慮した上で、複数の解が存在するような複雑な問題の中から適切な解を見つけ出すことができ | ○ |  | CS-D | 6c.各種のツールや手法に関する十分な知識をもち、それらをシステムの設計・開発・運用に応用できる。 | ◎ |  
  |   
		 | 
	
	
		| 
			<到達目標>  到達目標とは
		 | 
	
	
		| 目標NO | 説明 | コンピテンシーとの対応 | 
|---|
 | CS | 
|---|
 | 1 | チームを構成して目標と期限を設定し,その上でソフトウェアの要求分析と設計,実装,評価ができる. | CS-A |  | 2 | 上記のプロセスを管理し,問題があれば解決を行うことができる. | CS-B |  | 3 | 顧客やユーザの要求を聞き取り,デザイン問題として整理し,そのデザイン解をソフトウェアやシステムとして表現・構築することができる. | CS-C |  | 4 | これらの活動を通して,ソフトウェア開発において何が問題でその解決が如何に難しいかを説明できる. | CS-D |   
	 | 
	
	
		| 
			<成績評価の方法>
		 | 
	
	
		
			| 目標No | 割合 | 評価の観点 | 
|---|
 | 1 | 60% | プロジェクトのドキュメントやプログラム等の成果物で評価する. |  | 2 | 10% | プロジェクトのドキュメントやプログラム等の成果物で評価する. |  | 3 | 10% | プロジェクトのドキュメントやプログラム等の成果物で評価する. |  | 4 | 20% | プロジェクト報告会でのプレゼン内容で評価する. |  | 合計 | 100% |   | 
|---|
  
		 | 
	
	
		| 
			<授業の方法>
		 | 
	
	
		| 
			本実習では,受講者はコンピュータシステムの基礎,及び,プログラミング,ソフトウェア開発の基本的な知識を有することを仮定する.したがって,授業科目「情報処理及び実習」,「計算機アーキテクチャI, II」,「計算機アーキテクチャI演習」,「プログラミング基礎」,「プログラミング基礎演習」,「プログラミング応用」,「プログラミング応用演習」,「アルゴリズムとデータ構造I, II」,「アルゴリズムとデータ構造I演習」,「ハードウェア基礎実験」,「データベース及び演習」,「オペレーティングシステム」,「オペレーティングシステム演習」を予め履修し,その講義内容を充分理解していることが望ましい.また,「ソフトウェア工学及び演習I」,「ソフトウェア工学及び演習II」,「ソフトウェア開発プロジェクト実習I」を履修していることが望ましい.
		 | 
	
	
		| 
			<受講に際して・学生へのメッセージ>
		 | 
	
	
		| 
			(未登録)
		 | 
	
	
		| 
			<テキスト>
		 | 
	
	
		
			
- 鶴保征城, 駒谷昇一共著, ずっと受けたかったソフトウェアエンジニアリングの授業 1 増補改訂版, 翔泳社, ISBN:4798119326, 
 (2011年出版)
  
 - 鶴保征城, 駒谷昇一共著, ずっと受けたかったソフトウェアエンジニアリングの授業 2 増補改訂版, 翔泳社, ISBN:4798119334, 
 (2011年出版) 
  
		 | 
	
	
		| 
			<参考書>
		 | 
	
	
		
			
- 横瀬明仁(akiyoko)著, 現場で使えるDjangoの教科書 基礎編 v1.2.0, [出版者不明], ISBN:4802094744, 
 (2019年出版) 
  
		 | 
	
	
		| 
			<授業計画の概要>
		 | 
	
	
		
			| 1 | タイトル | ガイダンス,ソフトウェア企画の発案,プロジェクト・マネジメント | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | ガイダンス,ソフトウェア企画の発案,プロジェクト・マネジメント | 
|---|
 | 2 | タイトル | システム提案書の作成 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | システム提案書の作成 | 
|---|
 | 3 | タイトル | Python入門 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | Python入門 | 
|---|
 | 4 | タイトル | Gitによるバージョン管理 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | Gitによるバージョン管理 | 
|---|
 | 5 | タイトル | Djangoによるwebアプリケーション開発 1 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | Djangoによるwebアプリケーション開発 | 
|---|
 | 6 | タイトル | Djangoによるwebアプリケーション開発 2 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | Djangoによるwebアプリケーション開発 | 
|---|
 | 7 | タイトル | Djangoによるwebアプリケーション開発 3 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | Djangoによるwebアプリケーション開発 | 
|---|
 | 8 | タイトル | Djangoによるwebアプリケーション開発 4 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | Djangoによるwebアプリケーション開発 | 
|---|
 | 9 | タイトル | プロジェクト報告会 1 (システム提案) | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | プロジェクト報告会 1 (システム提案) | 
|---|
 | 10 | タイトル | プロジェクト報告会 1 (システム提案) | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | プロジェクト報告会 1 (システム提案) | 
|---|
 | 11 | タイトル | GitHubを使ったチーム開発 1 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | GitHubを使ったチーム開発 | 
|---|
 | 12 | タイトル | GitHubを使ったチーム開発 2 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | GitHubを使ったチーム開発 | 
|---|
 | 13 | タイトル | GitHubを使ったチーム開発 3 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | GitHubを使ったチーム開発 | 
|---|
 | 14 | タイトル | GitHubを使ったチーム開発 4 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | GitHubを使ったチーム開発 | 
|---|
 | 15 | タイトル | 外部設計書の作成 1 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | 外部設計書の作成・開発ツールの習得におけるグループワーク | 
|---|
 | 16 | タイトル | 外部設計書の作成 2 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | 外部設計書の作成・開発ツールの習得におけるグループワーク | 
|---|
 | 17 | タイトル | コーディング 1 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | 開発に取り込むグループワーク | 
|---|
 | 18 | タイトル | コーディング 2 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | 開発に取り込むグループワーク | 
|---|
 | 19 | タイトル | コーディング 3 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | 開発に取り込むグループワーク | 
|---|
 | 20 | タイトル | コーディング 4 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | 開発に取り込むグループワーク | 
|---|
 | 21 | タイトル | アプリケーションのデプロイ | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | アプリケーションのデプロイに取り込むグループワーク | 
|---|
 | 22 | タイトル | 開発計画の見直し | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | 各チームに対して個別面談,開発に取り込むグループワーク | 
|---|
 | 23 | タイトル | 単体テスト 1 | 
|---|
 事前学習 事後学習 | 自律的なグループワーク | 
|---|
 | 授業内容 | 単体テスト・開発に取り込むグループワーク | 
|---|
 | 24 | タイトル | 単体テスト 2 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | 単体テスト・開発に取り込むグループワーク | 
|---|
 | 25 | タイトル | 総合テストとデバッグ 1 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | 総合テストとデバッグに取り込むグループワーク | 
|---|
 | 26 | タイトル | 総合テストとデバッグ 2 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | 総合テストとデバッグに取り込むグループワーク | 
|---|
 | 27 | タイトル | 報告会の準備 1 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | 報告会の準備に取り込むグループワーク | 
|---|
 | 28 | タイトル | 報告会の準備 2 | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | 報告会の準備に取り込むグループワーク | 
|---|
 | 29 | タイトル | プロジェクト報告会 2 (最終成果物の発表) | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | プロジェクト報告会 2 (最終成果物の発表) | 
|---|
 | 30 | タイトル | プロジェクト報告会 2 (最終成果物の発表) | 
|---|
 事前学習 事後学習 | 講義中またはCNSの掲示により指示する | 
|---|
 | 授業内容 | プロジェクト報告会 2 (最終成果物の発表) | 
|---|
  
		 | 
	
| <実務経験のある教員による授業科目の概要> | 
| ソフトウェア開発やプロジェクト管理に現在携わっている非常勤講師により技術内容を指導する.また,その経験をもつシニアマネージャーである非常勤講師(山梨県情報通信業協会より派遣された外部講師)が,個別に開発チームの進捗内容と成果物にアドバイスする. | 
	
		| 
			<備考>
		 | 
	
	
		| 
			(未登録)
		 |