Web+DBシステム入門

担当教員

授業の到達目標及びテーマ

 WEB+DBのアプリケーション開発環境であるRuby on Railsと統合開発環境を利用し、いわゆるWEBアプリケーション(WEB+DBシステム)を構築するための全体像を学び、必要な知識を習得する。  Webアプリケーションは、MVC(Model, View, Controller)モデルにより実現されるが、モデルとしてのデータベース、ビューとしてのWEBページ、コントローラとしてのアプリケーションプログラムについて学習する。  それぞれを構築する基本言語であるSQL, HTML, Rubyと、それらを構築するrailsコマンドを中心に、それぞれの言語を読んで理解でき、また、簡単なアプリケーションならWEB上で動作できるように作成できることが目標である。

授業の概要と方法

 本講義は「演習」である。  Ruby on Railsは、レールの上を走るように「簡便に」アプリケーションが開発できる環境である。実際にこの環境を利用すると数分で簡単な「アプリケーション」は作成できる。  しかし、こうして「作成」したアプリケーションが、どんな構造になっているのか理解し、「メタプログラミング」によって生成されたプログラムがどんな処理を行っているか理解しなければ、真に「開発した」ことにはならない。  授業では、実際に生成されるWEB+DBアプリケーションを解きほぐし、全体の構造、ruby, html, SQL などのそれぞれの言語についての基礎を学び、一見複雑に見えるWEB+DBシステムの構造的な知識を整理する。    内容は非常に広範囲であるが、広いだけに、それぞれがかなり浅くなる。様々な科目で学習した内容が、どのようにつながりを持っているか、学んでいく。

授業計画

テーマ内容
1 ガイダンスと演習環境の準備 講義全体の流れを説明し、演習に必要なファイルを準備する。
2 railsと統合開発環境のインストール 統合開発環境と、ruby on rails3をインストールし、railsの概要を学ぶ。
3 Scaffoldの生成 最も単純な構造であるScaffoldを生成し、WEBシステムの骨格が各自のパソコン上で動作することを確かめ、WEBアプリケーションの全体像を学ぶ。
4 MVCモデル 生成されたScaffoldの構成要素をModel、ViewとComponentにごとに調べ、MVCモデルを学ぶ。
5 HTML WEBを記述する言語であるHTMLについて学習する。
6 スタイルシート HTMLを効率的に記述する際に利用されるstyle sheetについて学習する。
7 データベース言語SQL データベース操作言語であるSQLを学習する。簡単なデータベースの作成、検索を試す。
8 リレーショナルDBとSQL リレーショナルDBとは何か、現実社会のデータ構造を表現する際に、どのようにデータ構造を記述するかなどを学ぶ。
9 ruby言語 オブジェクト指向言語であるrubyが、railsの環境でどのように使われているか、プログラムを読む。
10 ruby言語の文法 ruby言語の文法について、基本的な知識を整理する。
11 画面の設計と画面リンク 生成されたスキャフォールドで、画面上の操作があると、データがどのように流れるか、辿る。
12 課題演習(1) 簡単なアプリケーションとして、各自の設定した課題システムを制作する。 画面要件を設計しScaffoldを生成する。
13 課題演習(2) 各自の課題システムについて、項目の検索や閲覧などの画面を実装する。
14 課題演習(3) 各自の課題システムについて、完結したシステムとしてデザイン、動作をチェックし、仕上げる。
15 入門編のまとめ Ruby on railsについて学習した内容を整理する。

授業外に行うべき学習活動

授業で扱った内容を自分なりにアレンジして、「こんなものを作ってみたい」というものがあったら、積極的にチャレンジして、レポートに「追加課題」として記載して欲しい。 「言われたものをそのままに作る」が第1段階だとすれば、それをヒントに「自分はこんなものを作りたい」というオリジナリティが第2段階である。

テキスト

授業教材は、H'etudesを通じて配布する。 他に書籍を選ぶ場合には、[Rails 3] のバージョンを扱ったものを購入して欲しい。同じバージョンならば、読み替えが少ない。

参考書

【参考書籍】 黒田努・佐藤和人共著:「基礎Ruby on Rails」2007, インプレスジャ パン, ISBN978-4-8443-2478-2, ¥3300+税

成績評価基準

 授業への貢献度(30%)と、成果物(プログラム)の報告書(70%)による。    授業(や予習)で試した練習問題・課題プログラムなどは、すべてレポートに含めて報告して欲しい。これらの練習課題が「基礎点」となり、それに発展課題などの「応用点」が上乗せされる。

情報機器使用

 各自のパソコンを使用する。

前年度の授業改善アンケートからの気づき

 昨年度はrailsのバージョンアップの結果、教材と実際にダウンロードできる環境とに乖離が生じた。    本年度は、可能な限り最新の開発環境を反映するため、書籍に頼らず配布資料で必要な説明が見られるように準備したい。

その他

習うより慣れろ、という実践的な立場で授業は進める。 自分が書いた(作成した)WEBページが、実際にインターネット上で閲覧でき、使えるということがわかった時に感じることのできる「作る喜び」や、「達成感」を学生に味わってもらいたいという思いが根底にある。その点をお互いの出発点(そしてゴール)にして、授業を進めたい。