プログラミング方法論

メンバー:カン ハンティク、宮崎 滋之

第一回発表:1999年11月8日 
第二回発表:1999年11月29日

■もくじ

1.何をつくるか?
2.対象とする組織の規模
3.問題の分析と設計
3-1.全体.
3-2.登録
3-3.検索
3-4パスワード認証.
4.ファイル構成
5.インターフェースのサンプル
6.データーの定義
7.擬似コードプログラミング

■何をつくるか?


「社員のスケジュール管理表 」

グループウェアの機能であるスケジュール管理表を作る。
社員のスケジュールをデーターベース化し、後で検索ができるようにする。 
プログラミング言語について。インターフェース部分はhtmlのformタグで作成し、データーベース部分,Perlを使う。
 
■対象とする組織の規模

対象とする架空の会社の設定は以下の通りとする。
内容  
業態 商社 または 流通業
従業員 30〜50人
   

■問題の分析と設計

題材をデーターフローダイアグラムで記述してみる。
 
・全体

図1
・登録

図2
・検索

図3

・パスワード認証

社員コードと管理者から発行されたパスワードが一致したとき、バスワードが認証される。

社員コードの読み方

パスワードは内容を登録するときに要求される9ケタの数字である。
 
 
 
■ファイル構成

      |-index.html:発表資料
      |-menu.htm:グループウェア概要
      |-regist.htm:登録画面
      |-search.htm:検索画面
      |-password.htm:パスワード要求
      |-reply.htm :検索結果
      |-cgi-bin--resist.cgi:登録処理
               |-search.cgi:検索処理  
               |-data.csv:スケジュールデータ  
               |-pass.cgi:パスワード認証
               |-pass.csv:パスワード表

・csvファイルとはカンマ区切りのデーターファイル。      
■インターフェースのサンプル

画面のサンプルを以下に挙げる。 
・グループウェア概要: menu.htm
・登録画面: regist.htm
・検索画面: search.htm
・パスワード要求: password.htm
・検索結果: reply.htm 
■データーの定義

●登録画面
・部署:社長室、営業部、人事部、経理、マーケティング事業部。
・名前:日本人は漢字、ひらがな、カタカナ、外国人は全角カタカナでのみ入力を受け付ける。姓、名の間は1文字空ける。 例:宮崎 滋之、カン ハンティク
・社員コード:パスワード認証を参照
・期間:今日から過去3ヶ月〜未来3ヶ月。更新は1日毎。
・タイトル:内容のタイトルを入力。 ・内容:予定は内容のフォームに記入する。 ・期間:今日から過去3ヶ月〜未来3ヶ月。更新は1日毎。
・内容:予定は内容のフォームに記入する。

●検索画面 
・部署:社長室、営業部、人事部、経理、マーケティング事業部。
・名前:日本人は漢字、ひらがな、カタカナ、外国人は全角カタカナでのみ入力を受け付ける。姓、名の間は1文字空ける。 例:宮崎 滋之、カン ハンティク
・社員コード:パスワード認証を参照
・日時:年、月、日、午前or午後、時間、分で指定する。
・キーワード:タイトル、内容に含まれた単語で
 

●パスワード認証画面
・社員コード:パスワード認証を参照
・パスワード:任意の8文字の文字列。アルファベット大文字、小文字、数字から構成される。管理者が発行する。

■擬似コードプログラミング
・regist.cgi

部署、名前、用件の日時、タイトル、内容データーを入力
  if(内容にエラーまたは未入力があった場合)
   再入力を求める
  else
   data.csvファイルに書き込む
 if(変更ボタンを押したとき)
      data.csvから先ほど入力したデーターを戻す
 else if(キャンセルボタンを押したとき)
   入力データーをdata.csvファイルから消去
 else(確定ボタンを押したとき)
   data.csvに入力データーを格納
      
・search.cgi
      部署、名前、用件の日時、タイトル, キーワードを入力
  if(内容にエラーまたは未入力があった場合)
   再入力を求める
  else
   data.csvから一致する条件を探。
  if(該当がない場合)
   再度、条件を入力する
 else(該当があるとき)
      data.csvから条件に一致するものを表示
  {
     if(変更がないとき)
     処理を終了
    else(変更がある場合)
       変更する項目とパスワードを入力。
       if(パスワードがpass.csvに一致しないとき)
        再度、パスワードを入力してもらう
       else(パスワードがpass.csvに一致するとき)
        変更する項目をpass.csvに書き込む。
 }
      

・pass.cgi
社員コード、パスワードを入力
  if(入力した社員コードとパスワードの組がpass.dataにない場合またはいずれかが空欄の場合)
   再度、社員コード、パスワードを入力してもらう
  else
      登録、変更の許可を返す。
       


質問および感想はs7601089@si.gunma-u.ac.jpまたは、s6601028@si.gunma-u.ac.jpまでお送りください。