神戸情報大学院大学 シラバス 2024

1. 科目コード1245
2. 科目名G12: ソフトウェア開発特論
3. 担当教員
奥田 亮輔 (Ryosuke Okuda)
4. 開講期
秋2期
5. 履修要件(前提科目)・重要情報
次の科目の学習目標に到達していること。
1249 Webアプリとデータベース
1216 Linux応用
次の科目の学習目標に到達していることが望ましい。
1227 プログラミング特論 Java
6. 科目の目的・概要
本科目では、Webアプリケーションを例として、ソフトウェア開発に必要な技術とツールについて解説し、実習を通して理解を深めることにより、Webアプリケーションを開発する実務能力を身につけることを目的とします。
7. 授業概要
1 Webサーバー Apache HTTPDの基本
2 Apache HTTPDの機能（認証・SSL・CGI・リライト・プロキシ）
3 HTML/CSSライブラリ（Bootstrap）
4 JavaScriptライブラリ（jQuery）
5 MySQL（MariaDB）の基本
6 PHP/JavaプログラムとMySQLの接続
7 Javaアプリケーションコンテナ（Tomcat）
8 Javaアプリケーションコンテナ（JBoss/WildFly）
9 MVCモデル
10 Webアプリ作成演習
11 PHPフレームワークCakePHP（足場アプリ）
12 PHPフレームワークCakePHP（モデル・ビュー・コントローラ）
13 JavaEEプラットフォーム（JSFの処理の流れ）
14 JavaEEプラットフォーム（マネージドBeanとFacelet）
15 総合演習（Webアプリ開発）
16
8. 教科書なし
9. 参考書講義中に適宜紹介します
10. 科目の学習目標(1) Webサーバー、HTML、CSS、JavaScriptなど、Webサーバーの基本知識を理解する(2) フレームワークを用いたPHPプログラミングモデルを理解する(3) JavaEEプラットフォームを用いたJavaプログラミングモデルを理解する(4) Webアプリのシステム構築の概要を理解し、課題と解決方法を考える力を身につける
(5)
(6)
(7)
(8)

11. 本学の教育目標と科目の学習目標との対応
教育目標
高度ICT
基礎的素養
スキルの修得 専門知識および業務応用力
自ら強みを磨き続ける力
自ら社会における課題設定
課題を発見し、仮説立案
人間力
解決する力
仮説検証
（＝探究力）実行の修得前に踏出す力
社会人基礎力
考え抜く力
チームで働く力
職業倫理の修得
12. 評価方法と配点
学習目標
達成度評価方法と配点
期末試験 小テスト
レポート
発表
(1)
○
(2)
○
(3)
○
(4)
(5)
(6)
(7)
(8)
配点
80
13. 評価基準
期末試験

学習目標
(1)
(2),(3)(2),(3)
(4)
(4)
(4)
(4)
(1),(2),(3)
(4)

成果物

その他

○20

小テスト
レポート

Webサーバを構成するデータベースやプログラミング言語を使い、Webページやプログラムを正しく作成できること

発表
成果物

第１５回総合演習にて作成するWebアプリのソースコードが正しく機能するものであること

その他
14. アクティブラーニング（A:行っている B:やや行っている C:行っていない）
授業時間全体に占めるアクティブラーニングの時間的な割合
1 授業で得られた知識や技能を活用し、出題された問題を解いたり、課 B題に取り組むなど能動的学習を行う
2 グループワークで課題に取り組み、学生同士が自由に発言することで C何らかの課題に取り組むなど能動的学習を行う
3 能動的学習の成果を発表し、そのフィードバックを得て自ら主体的に C振り返り、学習効果を高める
4 学生自身が主体となって、授業における学習の方向性を定める

B30%

15. 備考
本授業では、SQL、PHP、Javaの基本知識を前提としています。
受講者数が極端に少ないときは、開講しない場合があります。
夜授業は昼に出席できない社会人を対象とし、原則として反転授業（ビデオ講義、個人演習と質疑）とします。
16. 授業計画（注）授業計画は、あくまでも予定であり、実施時に、適時、追加・変更・修正等が生じる場合があります。

第１・２回 Webサーバーの基本（講義90分+演習90分）

本授業では本科目全体の進め方と狙いを説明した後、Apache HTTPサーバのインストールおよび基本機能の解説と演習を行います。
１．Apache HTTPサーバの基本
２．Basic認証/Digest認証
３．SSLサーバ（HTTPSサーバ）
４．CGI
５．リライト機能６．プロキシ
第３・４回 HTMLとJavaScript（講義90分+演習90分）

本授業では、HTML、CSS、JavaScriptの基本、および、CSSライブラリ、JavaScriptライブラ
リについて解説し、演習を行います。
１．HTMLのおさらい
２．CSSのおさらい
３．CSSライブラリ（Bootstrap）
４．JavaScript
５．JavaScriptライブラリ（jQuery）
第５・６回 Webアプリ用プログラム言語（講義90分+演習90分）

本授業では、PHP言語、Java言語、MySQLについて復習した後、PHPプログラムとJava
プログラムからMySQLデータベースへのアクセスの動作演習を行います。
１．PHP言語
２．MySQL
３．PHPとMySQLとの接続
４．JavaとMySQLとの接続
５．セキュリティに関する補足
第７・８回 Javaアプリケーションコンテナ（講義90分+演習90分）

本授業では、Javaを使ったWebアプリケーションを開発するのに必要となるアプリケー
ションコンテナとしてTomcatとJBOSS（WildFly）を取り上げ、ServletとJSP（JavaServerPages）を動作させる演習を行います。
１．Tomcatの概要とインストール
２．Servlet３．JBOSS（WildFly）の概要と構成
４．JSP（JavaServer Pages）
第９・１０回 MVCモデル（講義90分+演習90分）

本授業ではWebアプリケーションの標準アーキテクチャとされているMVCモデル、および、EJBについて説明し、Servlet、JSP、EJBを用いてMVCモデルの簡易Webアプリの作成演習を行います。
１．MVC（Model/View/Controller）モデル
２．EJB（Enterprise JavaBeans）
３．DockerでのWebサーバーの実装
４．Webアプリ開発実習

第１１・１２回 PHPフレームワーク（講義90分+演習90分）

PHPを用いてMVCモデルのWebアプリケーションを作成する一例としてCakePHPフレー
ムワークを取り上げ、簡易Webアプリの作成演習を行います。
１．CakePHPの基本と足場アプリ
２．図書貸出システムの実装
３．コントローラ
４．ビュー
５．モデル
６．補足事項
第１３・１４回 JavaEEプラットフォーム（講義90分+演習90分）

Webアプリ用の最新のJavaプラットフォームであるJakartaEE10について説明し、JSF、Faceletを使った簡易Webアプリ作成演習を行います。
１．Java EEの規格
２．サンプルアプリLibEx
３．JSF（JavaServer Faces）の処理の流れ
４．JSFマネージドBean
５．Facelets
６．補足事項
第１５回 総合演習（演習60分+発表30分）

これまでの授業の知見に基づいてWebアプリケーション作成に関する総合演習を行い、最後の30分でデモを行って頂きます。
（演習の進捗具合に依っては第１６回の時限まで延長することがあります）