専門ゼミ登録システム仕様書 1 1.システム仕様 1-1 システム内容 インターネット接続環境の PC にて希望するゼミ の登録、変更、またその登録作業の管理を行うこ とのできるオンラインシステム 1-2 システム構成 サーブレットを用いたクライアントサーバシステ ム構成 1-3 動作環境(テスト済み環境) サーバサイド(管理側): JDK1.5.0.09 (JAVA 開発環境) Tomcat5.5.20 (アプリケーションサーバ) MySQL5.5 (データベース) JTSL1.1.2 (タグライブラリ) クライアントサイド(利用側) InternetExplorer6.0 以降 (ブラウザ) 2 2 データベース構成 2-0 E-R図 KYOUMU ACCOUNT ZEMIINFO TEACHER SKILL 2-1 ACCOUNT テーブル ・学生のアカウントを管理する ID PASS NAME ZEMIID SKILL PASSCHANGE ZEMICHANGE KAKUTEI ANSWER2 ANSWER3 SEX ANSWER1 ・ ID:学籍番号 PASS:パスワード NAME:氏名 ZEMIID:選択ゼミ。初期値(未登録)は z0000 SEX:性別 男=1 女=2 SKILL(現時点では未使用):履修状況 初期値 no PASSCHANGE:パスワード変更フラグ 初期値 no 変更後 yes ZEMICHANGE:ゼミ変更フラグ 初期値 no 変更後 yes KAKUTEI:登録状況 未登録=0 仮登録=1 本登録=2 ANSWER1、2、3:登録理由 初期値 null ・ ・ ・ ・ ・ ・ ・ ・ ・ 2-2 KYOUMU テーブル 3 ・管理者(教務課)のアカウントを管理する YEAR AVGNUM LIMITDATE PASS YEAR:実施年度 半角 4 桁で西暦を入力 (これが管理 ID になる) AVGNUM:ゼミ平均人数 LIMITDATE:登録日時 yyyymmddhhmm の形式で入力 PASS:管理者用パスワード 半角小文字 ・ ・ ・ ・ 2-3 SKILL テーブル(現時点では未使用) ・履修状況確認機能(未実装)を実現するためのテーブル。現時点ではこの テーブルが存在しなくても問題はない ZEMIID LECTURE WEIGHT ・ ZEMIID:ゼミ ID 半角小文字 5 桁 ・ LECTURE:講義名 LECURL 例 z0000 ・ WEIGHT:講義の重み付け係数(重要科目) ・ LECURL:講義のシラバス上の URL 2-4 TEACHER テーブル ・教員のアカウントを管理する TEAID ・ ・ ・ ・ TEANAME TEAURL TEAPASS TEAID:教員 ID 半角小文字 5 桁 t0000 TEANAME:教員氏名 TEAURL:本学 HP 上の教員照会ページの URL TEAPASS:教員用パスワード 半角小文字 2-5 ZEMIINFO テーブル ・ゼミ情報を管理する ZEMIID ZEMINAME TEAID MANNUM FENUM COMENT STATUS QUESTION 1 QUESTION 2 QUESTION 3 4 MAXNUM ・ ・ ・ ・ ・ ・ ZEMIID:ゼミ ID ZEMINAME:ゼミ名 TEAID:担当教員 ID MANNUM:このゼミを登録している男子の数 半角 FENUM:上記同女子の数 COMENT:ゼミ選択画面に表示されるゼミ紹介文 ・ QUESTION1,2,3:このゼミを本登録する際に表示される質問 ・ MAXNUM:このゼミの最大受け入れ人数 5 3 プログラム構成図 3-1 データベースアクセス部分(各サブシステム共通) このモジュールはデータベースのアクセスを各サブシステムに提供するもの である 主なモジュール (以下本システムディレクトリのWEB-INF / SRCフォルダをルートと したディレクトリ表記) ・ fw / DBManager.java (JDBCドライバのロード、データベースとのコネクショ ンの確立、DBMS へのUPDATE、INSERT、SELECT文の発行) ・ fw / ResultSetBeanMapping.java(SELECT文の検索結果を各サブシステムに応じた データ格納クラスに格納) ・ ze / DAO.java (SQL文の作成) DBManager 接続要求 Connection オブジェクト DAO ResultSetBean Mapping アクセス 要求 SQL 6 データ 3-2 データを格納するクラス これはデータベースの検索結果をプログラムで処理するために一時的にそのデータを 保持するクラス(以降、データオブジェクト)である ・ ze / Account.java(学生、教員、ゼミ情報の情報を格納することができるクラス。内部 で使用している定数によってデータの格納種類を分類できる) ・ ze / Kyoumu.java (管理者用アカウントを格納するクラス Account ResultSet BeanMap ping Kyoumu 定数によってク 選択されたオブジェク ラスを判別 トをプログラムに渡す 7 サブシステムの構成 以降はサブシステムの構成について説明する。 ○各サブシステム共通構成 ・処理はサーブレットが行い、表示はJSPが行うという一般的なモデルによって設計 する ・JSPの表示、演算処理等はタグライブラリを使用する 3-3 学生用サブシステムの構成 ○ログイン処理 Login.jsp ID, パ ス ワ ー ド を 学生情報 入力 LoginLogic.java データベースから 読み込んだアカウ 誤入力、不正なア ントと照合 カウント 正しいアカウ ント Top.jsp 8 ○ ゼミ登録処理 Top.jsp 学生のアカウントのオブジ ェクトを渡す Entry.java 登録フラグを確認 Nochange.jsp し、分岐させる Change.jsp DBからZEMII ゼミ情報 NFOデータを取得 Entry.jsp 登録希望フラグで分岐 Mainentry.jsp Confirm1.jsp 学生アカウントを使い メール送信 DBUpdate.java DBのアカウント を更新 SendMail.java 学生情報 Confirm2.jsp 更新したアカウントを 元に確認情報を表示 9 ○ パスワード変更処理 Top.jsp 学生情報 Passchange.jsp 更新が正常終了し た場合メール送信 新旧パスワード、I Dを入力 SendMail.java PassChange.java 学生情報 passMiss Passchangefinish.jsp 正常更新 パスワードの不 備、誤入力 10 ○ 登録状況確認処理 Top.jsp DB から Zemiinfo データを取得 ゼミ情報 EntryInfo.java HTMLタグの高さ設 定によりグラフ描写 Entryinfo.jsp ○ ログアウト Top.jsp LogOut.java セッション情報を 意図的に削除 Logout.jsp 11 3-4 教員用サブシステムの構成 ・ ログイン、ログアウト処理は学生用と共通 ○コメント編集機能 Top.jsp ゼミ情報 DB から Zemiinfo ,teacher データを取得 教員情報 EditComent.java 変更前のデータを画 面に表示 editComent.jsp Comit.java DB に更新情報を ゼミ情報 反映させる comit.jsp 12 ○登録人数確認機能 Top.jsp 学生情報 DB から必要データ を取得 ゼミ情報 TeaZemiInfo.ja 教員情報 va 各教員のゼミを志望 しかつ本登録者のみ 抽出し表示する teazemiinfo.jsp 13 3-5 管理者用サブシステム ・ ログイン処理は他システムと同様 ○ 学生情報登録処理 topK.jsp csv ファイルをダイアログから入 CSVファイ 力させる。パスはアプリケーショ ル(ローカル) upload.jsp ンの配備ルートをルートとする Upload.java CSVファイ サーバに入力されたCSV ル(サーバ上) ファイルを配置する。 Updated.jsp 一度Topメニューに戻る Inputcsv.jsp 学生情報 InputCsv.java 前動作でサーバに配置さ れたCSVからDBを更 新する Updated.jsp 14 ○ゼミ情報、教員情報入力処理 topK.jsp 各 情 報 入 力画 面 この処理は共通なもの で、情報を入力→DB更 新という流れになる データベース更 DB 新処理 Updated.jsp 15 ○ CSVデータ出力処理 Top.jsp 出力条件を入力 Requirement.jsp 入力された条件をフラ ShowResult.java グの配列として次に渡 す(表示処理のため) Showresult.jsp フラグを参照しながら 必要な列、行のみ表示 OutPutDetail.java PassSendCaour ionMail.java メールを送信する 表示内容をCSVで出力 16 ○ 学生データ修正処理 Top.jsp Uddb.jsp 修正をする学生の学 籍番号を入力 学生情報 UdStudent.ja 該当する学生の情報 va をデータオブジェク トにいれ次に渡す 更新前情報と比べな Fixac.jsp がら更新後の情報を 入力 更新後の情報で上 書きしDBに反映 学生情報 Fixac.java 17 させる
© Copyright 2024 Paperzz