﻿○システム名
  社員メンテナンス

○システム説明
  employeeテーブルをDAO・DTOを使用して管理するプログラムを作成

○配布物
  実行例フォルダ
　srcフォルダ
　sqlフォルダ（既に講義で配布済みなら不要）

○納品物
  作成したプログラム

1段階目（メインメニュー作成）
メインメニューを表示し、0を入力したら終了、0以外を入力したらエラー表示し、再入力させる。
1段階目では1～4、9を入力しても未実装のためエラー表示とする。
＜実行例＞
システムを開始します

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
1　　　　　　　　　　　　　　　　　　　　　　　←1を入力
指定の番号を入力してください

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
0　　　　　　　　　　　　　　　　　　　　　　　←0を入力
システムを終了します

2段階目（DB接続確認）
メインメニューで1検索を選択すると以下の処理を行う。
・DbUtilクラスのgetConnectionメソッドでDB接続する
・検索メニューを表示する（表示のみで入力はさせない）
・DbUtilクラスのcloseConnectionメソッドでDB切断する
・メインメニュー表示に戻る
＜実行例＞
システムを開始します

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
1
1:全検索 2:条件検索 それ以外:戻る

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了

3段階目（全検索作成）
検索メニューで1全検索を選択するとDAOを使用して社員の一覧を表示し、メインメニューに戻る。
検索メニューで1全検索以外を選択するとメインメニューに戻る
＜実行例＞
システムを開始します

現在のメンテナンス対象テーブル：社員テーブル
システムを開始します

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
1
1:全検索 2:条件検索 それ以外:戻る
2　　　　　　　　　　　　　　　　　　　　　　　←未実装の2を入力

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
1
1:全検索 2:条件検索 それ以外:戻る
1　　　　　　　　　　　　　　　　　　　　　　　←1を入力
10000   山田龍也        ヤマダタツヤ    yamada@hoge.jp  aaa     10
10001   高橋準  タカハシジュン  jtaka@hoge.jp   bbb     10
10002   麻枝史明        マエダフミアキ  fmak@hoge.jp    ccc     11
10003   丸戸章介        マルトショウスケ        marusyo@hoge.jp ddd     12
10004   三宅武  ミヤケタケシ    miya@hoge.jp    eee     13
10005   丸井悠  マルイハルカ    haru@hoge.jp    fff     13
10006   涼元香織        スズモトカオリ  suzumoto@hoge.jp        ggg     13
10007   葉山稔  ハヤマミノル    mhayama@hoge.jp hhh     14
10008   川上朱里        カワカミアカリ  kawakami@hoge.jp        iii     14
10009   杉井肇  スギイハジメ    sugi@hoge.jp    jjj     15

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了

4段階目（条件検索作成）
検索メニューで2条件検索を選択するとIDを入力させ、エラー時は再入力させる。
正しいID入力時はDAOを使用して検索結果を表示する。
＜実行例＞
システムを開始します

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
1
1:全検索 2:条件検索 それ以外:戻る
2
IDを入力してください
 　　　　　　　　　　　　　　　　　　　　　　　←入力なしでEnter
IDは入力必須です。
IDを入力してください
1000x　　　　　　　　　　　　　　　　　　　　　←数字以外を入力
IDは数値入力です
IDを入力してください
10010　　　　　　　　　　　　　　　　　　　　　←存在しないIDを入力
入力された値で情報がみつかりませんでした

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
1
1:全検索 2:条件検索 それ以外:戻る
2
IDを入力してください
10001
10001   高橋準  タカハシジュン  jtaka@hoge.jp   bbb     10

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了

5段階目（削除作成）
メインメニューで4削除を選択するとIDを入力させ、エラー時は再入力させる。
正しいID入力時は削除確認を行い、Yかyを選択したらDAOを使用して削除する

＜実行例＞
システムを開始します

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
4
IDを入力してください
 　　　　　　　　　　　　　　　　　　　　　　　←入力なしでEnter
IDは入力必須です。
IDを入力してください
1000x　　　　　　　　　　　　　　　　　　　　　←数字以外を入力
IDは数値入力です
IDを入力してください
10010　　　　　　　　　　　　　　　　　　　　　←存在しないIDを入力
入力された値で情報がみつかりませんでした

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
4
IDを入力してください
10002　　　　　　　　　　　　　　　　　　　　　←存在するIDを入力
指定されたIDの情報を削除します？ Y/y
（Y/y以外の入力であればキャンセル）
N　　　　　　　　　　　　　　　　　　　　　　　←キャンセルを選択
削除をキャンセルしました

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
4
IDを入力してください
10002
指定されたIDの情報を削除します？ Y/y
（Y/y以外の入力であればキャンセル）
y　　　　　　　　　　　　　　　　　　　　　　　←削除を選択
削除が完了しました

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了

6段階目（登録作成）
メインメニューで2登録を選択するとID以外の各項目を入力させ、エラー時は再入力させる。
部署IDは数値チェックも行う。
入力が正しければDAOを使用して登録する
＜実行例＞
システムを開始します

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
2
社員名を入力してください

社員名は入力必須です。
社員名を入力してください
てすと
フリガナを入力してください
テスト
メールアドレスを入力してください
test@hoge.jp
パスワードを入力してください
xxx
部署IDを入力してください
a2
部署IDは数値入力です
部署IDを入力してください
12
登録が完了しました

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了

7段階目（更新作成）
メインメニューで3更新を選択すると各項目を入力させ、エラー時は再入力させる。
ID、部署IDは数値チェックも行う。
入力が正しければDAOを使用して更新する
＜実行例＞
システムを開始します

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
3
IDを入力してください
10011
入力された値で情報がみつかりませんでした

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了
3
IDを入力してください
10010
社員名を入力してください
試し
フリガナを入力してください
タメシ
メールアドレスを入力してください
tameshi@hoge.jp
パスワードを入力してください
yyy
部署IDを入力してください
1c
部署IDは数値入力です
部署IDを入力してください
14
更新が完了しました

現在のメンテナンス対象テーブル：社員テーブル
1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了


8段階目（部署マスター管理作成）
EmployeeDAO、EmployeeDTOを参考にDepartmentDAO、DepartmentDTOを作成し、
部署マスターで全検索、条件検索、削除、登録、変更を実装する。
また、9テーブル切替を行うたびに社員と部署のテーブルを切り替える。

＜以下、時間が余った人向け＞
9段階目（機能改善）
・社員テーブルの検索時、部署IDの代わりに部署名を表示する
・社員テーブルの全検索時、縦の線が揃うように位置を調整する
・社員テーブルの更新時、変更したくない項目は何も入力せずにEnterを押せるようにする
・社員テーブルの登録・更新時、存在しない部署IDを入力するとエラーになるようにする
・社員テーブル、部署テーブル共に登録・変更時はSQL実行前に登録・変更を行ってよいか確認させる

10段階目（検索機能改善）
・社員テーブル、部署テーブル共に条件検索時はID以外の項目でも検索できるようにする
・検索条件の中で社員名、フリガナ、メールアドレス、部署名は曖昧検索できるようにする
・社員テーブルの条件検索ではAND条件で複数の項目を指定することができるようにする

11段階目（部署入力改善）
・社員テーブルの登録・更新時、部署はIDでも部署名でも入力できるようにする
　部署名で入力した場合は部署名の一部でも特定できればOKとする（例：「総務」と入力）

