山梨大学電子シラバス>検索結果一覧>授業データ



授業科目名 ソフトウェア開発プロジェクト実習I
時間割番号 TCS329
担当教員名 鍋島 英知
開講学期・曜日・時限 前期・金・II 単位数 2
<対象学生>
(未登録)
<授業の目的>
ソフトウェア開発における実践的問題解決能力の向上を目的として,本科目では,学生一人一人がそれぞれ異なる課題に対してソフトウェア開発に取り組む.各学生には課題の大枠とサンプルプログラムラムが与えられ,それらを基にオリジナルの企画を立案し,各学生は他人の企画を実現するためのプログラムの開発に取り組む.開発ではオブジェクト指向に基づく分析・設計・実装手法を実践し,また各種の開発支援ツールの利用方法を習得する.
<本授業科目による獲得・涵養が特に期待されるコンピテンシー>(能力・資質)
工学部(~2023年度入学生)>コンピュータ理工学科向け
記号コンピテンシー(能力・資質) 
CS-A専門5.時代の変化に対応できるよう、最新の技術動向を考慮して、自律的・継続的に学習できる。
CS-B6.情報科学、及び、数学や自然科学等の知識と手法を用いて、以下のことができる。6a.解決すべき問題を形式化することができる。
CS-C6b.要求、時間、費用、資源等の制約条件を考慮した上で、複数の解が存在するような複雑な問題の中から適切な解を見つけ出すことができ
CS-D6c.各種のツールや手法に関する十分な知識をもち、それらをシステムの設計・開発・運用に応用できる。
<到達目標>  到達目標とは
目標NO説明コンピテンシーとの対応
CS
1顧客の要求を満たすソフトウェアを実現するための問題解決能力を身につけることCS-C
2オブジェクト指向に基づく分析・設計・開発を実践的に実施できることCS-B
3開発支援のための基本的なツールを利用してソフトウェアの開発ができることCS-D
4開発言語や開発手法について自律的に学習できることCS-A
<成績評価の方法>
目標No割合評価の観点
140%レポートおよび最終成果物により評価する
235%レポートおよび最終成果物により評価する
320%レポートおよび最終成果物により評価する
45%レポートおよび最終成果物により評価する
合計100% 
<授業の方法>
・アルゴリズムとデータ構造に関する基本的な知識とプログラミング能力を有すること
・データベース及び演習,オペレーティングシステム,同演習,ソフトウェア工学及び演習Iを予め履修し,その講義内容を十分理解していることが望ましい.
・また同時期に開講されるソフトウェア工学及び演習IIを履修していることが望ましい
<受講に際して・学生へのメッセージ>
(未登録)
<テキスト>
  1. 中山清喬, 国本大悟著, スッキリわかるJava入門 第4版, インプレス, ISBN:4295017930,
    (2023年出版)
<参考書>
  1. 鶴保征城, 駒谷昇一共著, ずっと受けたかったソフトウェアエンジニアリングの授業 1 増補改訂版, 翔泳社, ISBN:4798119326,
    (2011年出版)

  2. 鶴保征城, 駒谷昇一共著, ずっと受けたかったソフトウェアエンジニアリングの授業 2 増補改訂版, 翔泳社, ISBN:4798119334,
    (2011年出版)
<授業計画の概要>
1タイトル統合開発環境,Java の基本型,文字列,入出力,制御構造と配列
事前学習
事後学習
事前学習:教科書第4章までを読んでおくこと
事後学習:教科書第4章までの練習問題に取り組むこと
授業内容統合開発環境を利用して Java 言語における基本型,文字列,入出力,制御構造と配列について学ぶ
2タイトル統合開発環境でのデバッグ,Java のクラスとインスタンス,コンストラクタ,toString メソッド
事前学習
事後学習
事前学習: 教科書第10章までを読んでおくこと
事後学習: 教科書第10章までの練習問題に取り組むこと
授業内容統合開発環境におけるデバッグ方法と Java におけるクラス定義を学ぶ
3タイトルMVC アーキテクチャと View クラスの作成
事前学習
事後学習
事前学習: Java における配列(教科書4章)について復習しておくこと
事後学習: ConsoleView クラスが講義前半の基礎となるため完成させておくこと
授業内容授業内容: MVC アーキテクチャについて学び,端末に画面表示を行う ConsoleView クラスを作成する
4タイトルModel と View の連携
事前学習
事後学習
事前学習: Model と View の連携で例年つまづく学生が多数いるため,講義資料を事前に読んでおくこと
事後学習: 演習問題を通して,View は Model の持つデータを表示するだけであることを理解すること
授業内容MVC における Model と View の連携方法,Java Collection Framework,反復子,クラスメソッド・クラス変数について学ぶ
5タイトルModel, View, Controller の連携,Java のインターフェイスとスレッド間の排他処理
事前学習
事後学習
事前学習: 教科書第12章までを読んでおくこと
事後学習: 演習問題を通して,Model, View, Controller の各クラスの連携について理解を深めること
授業内容MVC における Mode, View, Controller を連携させ,端末上で動作する MVC アプリケーションの基本を作成する
6タイトルCLI版ソフトの企画立案
事前学習
事後学習
事後学習: 企画提案者と密接に相談しつつ,ユーザーストーリーの構築に取り組むこと
授業内容各自が考案した企画に基づき開発内容の打ち合わせを行い,ユーザーストーリーを構築する
7タイトルCLI版ソフトの開発 (1),テスト駆動開発
事前学習
事後学習
事後学習: 各ユーザーストーリーについて,必要に応じてテストしやすい形式に分割し,実装を進めること
授業内容テスト駆動開発を学び,顧客が優先するユーザーストーリーから順次実装を進める
8タイトルCLI版ソフトの開発 (2),バージョン管理システム
事前学習
事後学習
事後学習: ソフトウェアのバージョン管理をしながら,ユーザーストーリーの実装を進めること
授業内容バージョン管理システムについて学び,バージョン管理をしながらユーザーストーリーの実装を進める
9タイトルCLI版ソフトの開発 (3)
事前学習
事後学習
事後学習: 顧客が優先するユーザーストーリーから順次実装を進めること
授業内容Java における文字列操作やオブジェクトの等価性判定,getter/setter について解説する
10タイトルCLI 版ソフトの成果発表会
事前学習
事後学習
事前学習: 発表に向けて企画内容・ユーザーストーリー・工夫した点・苦労した点などを確認しておくこと
事後学習: 実装できたユーザーストーリーの作業量から自身の開発速度を算出しておくこと
授業内容各学生が企画を紹介し,開発したソフトウェアのデモを行う
11タイトルGUI 版ソフトの企画立案
事前学習
事後学習
事後学習: 企画提案者と密接に相談しつつ,ユーザーストーリーの構築に取り組むこと
授業内容各自が考案した企画に基づき開発内容の打ち合わせを行い,ユーザーストーリーを構築する
12タイトルGUI 版ソフトの開発 (1),バージョン管理システムの活用,Swing による GUI プログラミング,クラス設計
事前学習
事後学習
事前学習: GUI 版ソフトのクラス設計について検討を進めておくこと
事後学習: CLI 版ソフトの開発経験を活かしてクラス設計を行ってから各ユーザーストーリーの実装を進めること
授業内容Swing による GUI プログラムの基本を学び,クラス図・シーケンス図によるクラス設計に取り組む
13タイトルGUI 版ソフトの開発 (2),デザインパターン
事前学習
事後学習
事後学習: 必要に応じてクラス設計を改善し,各ユーザーストーリーの実装を進めること
授業内容ソフトウェア設計における定石であるデザインパターンのうち,GUI 版ソフト開発と関連が深いものを学ぶ
14タイトルGUI 版ソフトの開発 (3)
事前学習
事後学習
事後学習: 顧客が優先するユーザーストーリーから順次実装を進めること
授業内容ソフトウェア品質の自動評価結果を参考にしながら各ユーザーストーリーの実装を進める
15タイトルGUI 版ソフトの成果発表会
事前学習
事後学習
事前学習: 発表に向けて企画内容・ユーザーストーリー・工夫した点・苦労した点などを確認しておくこと
授業内容各学生が企画を紹介し,開発したソフトウェアのデモを行う
<前年度授業に対する改善要望等への対応>
・授業内での開発時間を確保してほしいとの意見があったため,講義資料や講義動画を先行して公開する.
・学生の疑問解消を支援するため,2024年度よりTAを新たに1名割り当てる.
<備考>
・学生の理解度に合わせて,内容を変更する場合がある.