システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics...

14
システム設計書 ソフトウェア情報学部 鈴木研究室 0312003063 智樹 担当プロクター 鎌田 奉訓 システム名 「鈴木研システム演習 A テスト管理システム」 要求仕様書に関する内容 (ア) システム機能の概要 Ⅰ.システム演習 A で行うテストの作成状況を確認できるようにする。 Ⅱ.プロクターはテストをアップロードすることができ、プロクターのみがダウンロー ドできるようにする。 Ⅲ.プロクターはテストがアップロードされたら、対象者(鈴木研 2 年生)にメールで 通知するようにする。 Ⅳ.テストがアップロードされたら、そのテストに関係するプロクターにメールで通知 するようにする。 Ⅴ.ファイルが正常にアップロードされなかったときに、なぜアップロードができなか ったのか理由と、そのファイル名を出力する。(合宿の時に追加された機能) Ⅵ.ファイルをアップロードする際、既に同じ名前のファイル名が存在していたら、上 書きしてよいか確認する。(合宿の時に追加された機能) Ⅶ.システム上からプロクターのパスワードを変更できるようにする。(合宿の時に追加 された機能) 尚、レイアウト、配色、その他は作成者の自由とする (イ) システム性能の目標 指定なし (ウ) データおよびライフサイクルの概要 指定なし (エ) ネットワーク、ハードウェア、ソフトウェア構成 Perl または PHP

Upload: others

Post on 07-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

システム設計書

ソフトウェア情報学部 鈴木研究室

0312003063 皂 智樹

担当プロクター 鎌田 奉訓

システム名 「鈴木研システム演習 A テスト管理システム」

要求仕様書に関する内容

(ア) システム機能の概要

Ⅰ.システム演習 A で行うテストの作成状況を確認できるようにする。

Ⅱ.プロクターはテストをアップロードすることができ、プロクターのみがダウンロー

ドできるようにする。

Ⅲ.プロクターはテストがアップロードされたら、対象者(鈴木研 2 年生)にメールで

通知するようにする。

Ⅳ.テストがアップロードされたら、そのテストに関係するプロクターにメールで通知

するようにする。

Ⅴ.ファイルが正常にアップロードされなかったときに、なぜアップロードができなか

ったのか理由と、そのファイル名を出力する。(合宿の時に追加された機能)

Ⅵ.ファイルをアップロードする際、既に同じ名前のファイル名が存在していたら、上

書きしてよいか確認する。(合宿の時に追加された機能)

Ⅶ.システム上からプロクターのパスワードを変更できるようにする。(合宿の時に追加

された機能)

尚、レイアウト、配色、その他は作成者の自由とする

(イ) システム性能の目標

指定なし

(ウ) データおよびライフサイクルの概要

指定なし

(エ) ネットワーク、ハードウェア、ソフトウェア構成

Perl または PHP

Page 2: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

外部設計書

◆ 開発期間/終了日

開発開始:H17 年 2 月 8 日

開発終了:H17 年 2 月 18 日

H17 年 4 月 14 日(合宿時に追加された機能を実装)

◆ 開発者

ソフトウェア情報学部 鈴木研究室

0312003063 皂 智樹

◆ システムが使用されるときのシナリオ

同じ科目のプロクターであれば、誰でもテストをダウンロードできるので、もし担当

のプロクターが近くに居なくても、同じ科目のプロクターに頼めばテストを受けること

ができ、演習を進める上で効率的である。

また、テストの作成状況はシステム上から確認できるので、わざわざプロクターに聞

いて作成状況を確認する必要が無く、より計画的にテストを進めることができる。

◆ 機能の内容

このシステムは、システム演習 A のテストを管理することが目的である。

誰でも現在のテストの作成状況を確認でき、また、プロクターは自分の担当科目のテ

ストのアップロード、ダウンロードを行うことと、テストの完成状況について、システ

ム上からメールを送ることができる。

- 主な機能 -

・ テストファイル作成状況一覧機能

・ テストファイルアップロード/ダウンロード機能(プロクターのみ可能)

テストファイルの上書き確認機能

アップロードエラー出力機能

・ メール送信機能(プロクターのみ可能)

Page 3: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

システム図

(メール送信の流れ)

◆ 機能に含まれていないもの/注意書き/未解決の問題

含まれていない機能

アップロードしたファイルを削除する機能

未解決の問題

プロクターのパスワードをシステム上から変更する機能が無い

アップロードの際、ファイルのパスの一部を故意に削除すると空のファイルが

アップロードされてしまう。

◆ 動作環境 (確認済みの環境)

Internet Explorer 6.0 以上

◆ その他説明が必要と思われる詳細事項に関して

テストの作成状況を確認する場合、トップページのプロクター選択画面で、「閲覧の

み」を選択し、パスワードを入力せずに送信ボタンを押す必要がある。

サーバ

プロクター

テストファイルのアップロードテストファイルのダウンロード

一般ユーザ (二年生)

テストの完成状況

サーバ

プロクタープロクター

テストファイルのアップロードテストファイルのダウンロード

一般ユーザ (二年生)一般ユーザ (二年生)

テストの完成状況

サーバ

プロクター

二年生にメールを送信

同じ教科のプロクターにメールを送信プロクター

プロクター 個人にメールを送信

個人 二年生プロクター

メール送信メール送信

サーバ

プロクター

二年生にメールを送信

同じ教科のプロクターにメールを送信プロクター

プロクター 個人にメールを送信

サーバ

プロクター

二年生にメールを送信

同じ教科のプロクターにメールを送信プロクター

プロクター 個人にメールを送信

個人 二年生二年生プロクタープロクター

メール送信メール送信

(テストの完成状況の確認、ダウンロード/アップロードの流れ)

Page 4: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

「鈴木研システム演習 A テスト管理システム」主要機能

システムトップ画面

テスト作成状況一覧機能

全てのテスト(教育統計・教材開発・SE)の作成状況を確認できる。

~ 一部省略 ~

Page 5: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

テストファイルアップロード/ダウンロード機能(プロクターのみ可能)

担当のプロクターは作成したテストファイルのアップロード、ダウンロードを行うこ

とができる。

アップロードを行うときは、「参照」ボタンをクリックして、アップロードするファイ

ルを選択した後、「アップロードする」ボタンをクリックする。

一方、ダウンロードを行うときは、目的のテスト名の横にある「ダウンロード」と書

かれている部分をクリックする。

[ アップロード画面 ]

Page 6: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

[ ダウンロード画面 ]

上書き確認画面

テストファイルをアップロードした際、既に同じ名前のファイルがアップロードされ

ていれば、上書きを行ってよいか確認を行う。

このとき「はい」を選択すれば上書き処理が実行される。

アップロードエラー出力画面

テストファイルをアップロードできなかったときはエラーメッセージを出力し、ユー

ザにその旨を伝える。

Page 7: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

メール送信機能(プロクターのみ可能)

プロクターはテストファイルのアップロードを行った後、テストがアップロードされ

たことを他の人に通知するためにアップロード/ダウンロード画面の下の方にあるメー

ルフォームからメールを送信することができる。

メールを送信する際は、送り先を選択し、(個別に送信先を指定する場合は、空欄の中

に相手のメールアドレスを書く)件名、本文を書いたあとに「送信」ボタンをクリック

する。

Page 8: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

内部設計書

◆ 開発環境

Web サーバ:Apache 1.3.33

開発言語:PHP4.3.10

◆ システム図

[ ログインの流れ ]

それぞれのユーザのログイン管理は、login_check.php というモジュールで行われる。

一般ユーザ(二年生)はテストの完成状況だけを出力するのでパスワードの認証は行

わないが、プロクターのログイン時にはパスワードの認証をモジュール内で行う。許可

された場合、サーバはそれぞれの教科のアップロード/ダウンロード画面を出力する。

一方、パスワードの認証で不許可だった場合、サーバは認証エラー画面を出力する。

[ テストファイルのアップロード/ダウンロード/メール送信の流れ ]

テストファイルのアップロード、ダウンロード処理は各教科の upload.php モジュール

で行われる。

各教科の upfile.dat には、現在アップロードされているテストファイル名が格納されて

おり、モジュール(upload.php)はこのファイルを読み込み、ダウンロードできるファ

二年生

プロクター(統計担当)

プロクター(教材担当)

プロクター(SE担当)

login_check.phpユーザのログインを管理するモジュール

state.phpテストの完成状況を出力するモジュール

upfile.datサーバに保存されているテストファイルの情報

login_error.html認証エラー画面

upload1.php統計用

アップロード/ダウンロードモジュール

教材用アップロード/ダウンロード

モジュール

upload2.php upload3.phpSE用

アップロード/ダウンロードモジュール

閲覧ユーザ

教材プロクター SEプロクター

テストの完成状況を要求処理結果出力

ログインを要求

処理結果出力

ログインを要求

処理結果出力

ログインを要求

処理結果出力

Webサーバ

統計プロクター

ログイン不可ユーザ

二年生二年生

プロクター(統計担当)

プロクター(教材担当)

プロクター(SE担当)

login_check.phpユーザのログインを管理するモジュール

login_check.phpユーザのログインを管理するモジュール

state.phpテストの完成状況を出力するモジュール

state.phpテストの完成状況を出力するモジュール

upfile.datサーバに保存されているテストファイルの情報

upfile.datサーバに保存されているテストファイルの情報

login_error.html認証エラー画面

login_error.html認証エラー画面

upload1.php統計用

アップロード/ダウンロードモジュール

教材用アップロード/ダウンロード

モジュール

upload2.php upload3.phpSE用

アップロード/ダウンロードモジュール

upload1.php統計用

アップロード/ダウンロードモジュール

upload1.php統計用

アップロード/ダウンロードモジュール

教材用アップロード/ダウンロード

モジュール

upload2.php教材用

アップロード/ダウンロードモジュール

upload2.php upload3.phpSE用

アップロード/ダウンロードモジュール

upload3.phpSE用

アップロード/ダウンロードモジュール

閲覧ユーザ

教材プロクター SEプロクター

テストの完成状況を要求処理結果出力

ログインを要求

処理結果出力

ログインを要求

処理結果出力

ログインを要求

処理結果出力

Webサーバ

統計プロクター

ログイン不可ユーザ

Page 9: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

イルへのリンクを出力する。

ファイルが新規アップロードされたとき、モジュールは各教科のフォルダへファイル

を出力する処理を行う一方で、upfile.dat にそのファイル名を出力する処理を行う。

既にアップロード済みのファイルをアップロードしようとするとモジュールは上書き

確認画面を出力する。また、アップロードに失敗したときはエラー画面を出力する。

メールの送信処理は mail.php モジュールで行われる。mail.php モジュールでは、受け

取ったメールの情報(アドレス、件名、本文)を外部のメールサーバ(SMTP サーバ)

に送信する。

統計プロクター

教材プロクター

SEプロクター

upload1.php統計用

アップロード/ダウンロードモジュール

アップロード/ダウンロード処理を要求

処理結果

アップロード/ダウンロード処理を要求

アップロード/ダウンロード処理を要求

処理結果

処理結果

Webサーバ

メール送信要求

処理結果

upfile.datアップロードされた

テストファイルの情報

統計テストフォルダ

テストファイル(PDF)

upfile.datアップロードされた

テストファイルの情報

教材テストフォルダ

テストファイル(PDF)

upfile.datアップロードされた

テストファイルの情報

SEテストフォルダ

テストファイル(PDF)

教材用アップロード/ダウンロード

モジュール

upload2.php

upload3.phpSE用

アップロード/ダウンロードモジュール

プロクター用メール送信を行うモジュール

mail.php

統計プロクター

教材プロクター

SEプロクター

upload1.php統計用

アップロード/ダウンロードモジュール

アップロード/ダウンロード処理を要求

処理結果

アップロード/ダウンロード処理を要求

アップロード/ダウンロード処理を要求

処理結果

処理結果

Webサーバ

メール送信要求

処理結果

upfile.datアップロードされた

テストファイルの情報

upfile.datアップロードされた

テストファイルの情報

統計テストフォルダ

テストファイル(PDF)

テストファイル(PDF)

upfile.datアップロードされた

テストファイルの情報

upfile.datアップロードされた

テストファイルの情報

教材テストフォルダ

テストファイル(PDF)

テストファイル(PDF)

upfile.datアップロードされた

テストファイルの情報

upfile.datアップロードされた

テストファイルの情報

SEテストフォルダ

テストファイル(PDF)

テストファイル(PDF)

教材用アップロード/ダウンロード

モジュール

upload2.php

upload3.phpupload3.phpSE用

アップロード/ダウンロードモジュール

プロクター用メール送信を行うモジュール

mail.phpmail.php

メールサーバ

(SMTPサーバ)

二年生

各教科のプロクター

メール送信

メール送信 メール送信

個人

メールサーバ

(SMTPサーバ)

二年生二年生二年生

各教科のプロクター各教科のプロクター

メール送信

メール送信 メール送信

個人

メール送信要求処理結果(エラー)

Page 10: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

◆ プログラム・データファイルの構成

[ システムの階層図 ]

[ ファイル属性の設定について ]

各テストフォルダにある upfile.dat の属性は [ 707 ] に設定する。

その他は [705] に設定する。

◆ プログラムファイル内にあるユーザ定義関数

※ ユーザ定義関数無し

◆ プログラムソース

※ 別紙参照

パスワードが合っているかを確認し、ユーザが要求するページを出力する

認証エラー画面

テストの完成状況画面

統計テストのアップロード、ダウンロードを行う

教材テストのアップロード、ダウンロードを行う

SEテストのアップロード、ダウンロードを行う

メールの送信を行う

アップロードしたテストファイルが格納されるディレクトリ

アップロードされた統計のテストファイルが格納されるディレクトリ

アップロードされた統計のテストファイル名が格納されるデータファイル

アップロードされた教材のテストファイルが格納されるディレクトリ

アップロードされた教材のテストファイル名が格納されるデータファイル

アップロードされたSEのテストファイルが格納されるディレクトリ

アップロードされたSEのテストファイル名が格納されるデータファイル

セッション関数で使われるセッションファイルが格納されるディレクトリsession

tsystem

testmanager.htmllogin_check.phplogin_error.htmlstate.phpupload1.phpupload2.phpupload3.phpmail.php

file

statistics

teaching

SE

upfile.dat

upfile.dat

upfile.dat

sessionsession

tsystemtsystem

testmanager.htmllogin_check.phplogin_error.htmlstate.phpupload1.phpupload2.phpupload3.phpmail.php

filefile

statistics

teaching

SE

upfile.dat

upfile.dat

upfile.dat

システムのトップページ、ユーザのログイン画面

テスト管理システムの全ファイルが格納されているディレクトリ

パスワードが合っているかを確認し、ユーザが要求するページを出力する

認証エラー画面

テストの完成状況画面

統計テストのアップロード、ダウンロードを行う

教材テストのアップロード、ダウンロードを行う

SEテストのアップロード、ダウンロードを行う

メールの送信を行う

アップロードしたテストファイルが格納されるディレクトリ

アップロードされた統計のテストファイルが格納されるディレクトリ

アップロードされた統計のテストファイル名が格納されるデータファイル

アップロードされた教材のテストファイルが格納されるディレクトリ

アップロードされた教材のテストファイル名が格納されるデータファイル

アップロードされたSEのテストファイルが格納されるディレクトリ

アップロードされたSEのテストファイル名が格納されるデータファイル

セッション関数で使われるセッションファイルが格納されるディレクトリsession

tsystem

testmanager.htmllogin_check.phplogin_error.htmlstate.phpupload1.phpupload2.phpupload3.phpmail.php

file

statistics

teaching

SE

upfile.dat

upfile.dat

upfile.dat

sessionsession

tsystemtsystem

testmanager.htmllogin_check.phplogin_error.htmlstate.phpupload1.phpupload2.phpupload3.phpmail.php

filefile

statistics

teaching

SE

upfile.dat

upfile.dat

upfile.dat

システムのトップページ、ユーザのログイン画面

テスト管理システムの全ファイルが格納されているディレクトリ

session

tsystem

testmanager.htmllogin_check.phplogin_error.htmlstate.phpupload1.phpupload2.phpupload3.phpmail.php

file

statistics

teaching

SE

upfile.dat

upfile.dat

upfile.dat

sessionsession

tsystemtsystem

testmanager.htmllogin_check.phplogin_error.htmlstate.phpupload1.phpupload2.phpupload3.phpmail.php

filefile

statistics

teaching

SE

upfile.dat

upfile.dat

upfile.dat

システムのトップページ、ユーザのログイン画面

テスト管理システムの全ファイルが格納されているディレクトリ

Page 11: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

◆ システム試験の実施と報告

ログインページの試験

テスト番号 内容 タイプ 結果 判定

1 「送信」ボタンを押す 正常系 テストの完成状況画面を出力 ○

2

ロ グ イ ン で き な い パ ス ワ ー ド

(orange)を入力して「送信」ボタン

を押す

正常系

認証エラー画面を出力

3正しいパスワード(saikachi)を全角

で入力する異常系

認証エラー画面を出力○

4

正しい担当教科(統計)を選択し、間

違ったパスワード(sasaki)を入力し

て「送信」ボタンを押す

正常系

認証エラー画面を出力

5

正しいパスワード(saikachi)を入力

し、間違った教科(教材)を選択して

「送信」ボタンを押す

正常系

認証エラー画面を出力

6パスワードに日本語を入力(さいか

ち)して「送信」ボタンを押す異常系

認証エラー画面を出力○

7

正しいパスワードの間にスペースを

挿入して(sa ika chi)「送信」ボ

タンを押す

異常系

認証エラー画面を出力

8

「送信」ボタンを押さずに、ブラウザ

のアドレス欄に直接「テスト作成状

況」ページのアドレスを入力して

(http://127.0.0.1/tsystem/state.php

)Enter キーを押す

正常系

テスト作成状況ページを出力

Page 12: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

9

ログイン認証を行わずに、ブラウザの

アドレス欄に直接「統計テストのアッ

プロード/ダウンロード」ページのア

ドレスを入力して

( http://127.0.0.1/tsystem/upload1.

php)Enter キーを押す

正常系

認証エラー画面を出力

10

ログイン認証を行わずに、ブラウザの

アドレス欄に直接「教材テストのアッ

プロード/ダウンロード」ページのア

ドレスを入力して

( http://127.0.0.1/tsystem/upload2.

php)Enter キーを押す

正常系

認証エラー画面を出力

11

ログイン認証を行わずに、ブラウザの

アドレス欄に直接「SE テストのアッ

プロード/ダウンロード」ページのア

ドレスを入力して

( http://127.0.0.1/tsystem/upload3.

php)Enter キーを押す

正常系

認証エラー画面を出力

アップロード/ダウンロードページの試験

テスト番号 内容 タイプ 結果 判定

Page 13: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

12

「参照」ボタンを押してテストファイ

ルを選択し(test01.pdf)、「アップロ

ードする」ボタンを押す

正常系

ファイルがアップロードされ、小

テスト1がダウンロードできる状

態になる

13

「参照」ボタンを押して間違ったファ

イル名のテストファイルを選択し

(rest01.pdf)し、「アップロードす

る」ボタンを押す

正常系

アップロードエラーメッセージが

表示される○

14

「参照」ボタンを押して、ファイル名

が全角文字であるテストファイルを

選択し(test01.pdf)、「アップ

ロードする」ボタンを押す

異常系

アップロードエラーメッセージが

表示される○

15

「参照」ボタンを押して正しいファイ

ル名だが拡張子が違うものを選択し

(upfile01.doc)、「アップロードする」

ボタンを押す

正常系

アップロードエラーメッセージが

表示される○

16

「参照」ボタンを押して、既にアップ

ロードされているファイルと同じ名

前のファイルを選択し、「アップロー

ドする」ボタンを押す

正常系

ファイルの上書き確認画面を表示

する○

17上書き確認画面で「はい」ボタンを押

す正常系

ファイルが上書きされる○

18上書き確認画面で「いいえ」ボタンを

押す正常系

ファイルの上書きがキャンセルさ

れる○

19

「参照」ボタン横のファイルのパスが

表示される欄にファイル名を直接入

力して(test01.pdf)「アップロードす

る」ボタンを押す

異常系

何も処理されない

20

「参照」ボタンを押して正しいテスト

ファイルを選択したあと(test01.pdf)

「参照」ボタンの横に表示されるファ

イルのパス(C:¥testfile¥test01.pdf)

の一部を消して(C:¥test01.pdf)「ア

ップロードする」ボタンを押す

異常系

空のファイルがアップロードされ

×

21

ブラウザのアドレス欄に直接他の教

科のアップロード/ダウンロードペ

ージのアドレス()を入力

( http://127.0.0.1/tsystem/upload3.

php)して Enter キーを押す

正常系

認証エラー画面を出力

Page 14: システム設計書g031b063/...upload1.php upload2.php upload3.php mail.php file statistics teaching SE upfile.dat upfile.dat upfile.dat システムのトップページ、ユーザのログイン画面

メールフォームの試験

テスト番号 内容 タイプ 結果 判定

22

「対象者(2 年生)全員にメールを送

る」を選択してメールを送信する

[email protected]

他4ヶ所に送信)

正常系

メールが送信された

23

「プロクター(関係者)にメールを送

る」を選択してメールを送信する

[email protected]

他4ヶ所に送信)

正常系

メールが送信された

24

「個別に送信先を指定」を選択してメ

ールを送信する

[email protected]

正常系

メールが送信された

25送信先を選択せずにメールを送信す

る異常系

送信エラーメッセージが表示され

た○