Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

5

Share

Download to read offline

Webシステムプログラミング設計書2015

Download to read offline

Webシステムプログラミングサンプル課題設計書

Webシステムプログラミング設計書2015

  1. 1. Webシステムプログラミングb サンプル課題設計書 2015年12月18日(金) Webシステムプログラミング講義資料
  2. 2. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 到達目標  到達目標  Webシステムを設計し、開発できること  最終成果物:学生生活で利用できるWebシステム  授業計画  第10講:Webシステムの基本設計 (1)  第11講:Webシステムの基本設計 (2)  第12講:WebシステムのDB設計  第13講:WebシステムのUI設計  第14講:Webシステムの処理  第15講:まとめ、平常試験 (2) 2
  3. 3. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES システム設計の流れ  DB設計はシステム設計の一部 3 業務分析 要件定義 基本設計 論理設計 詳細設計 今の業務はどうなっているのか 何をしたいのか どんなシステムにすべきか どのように実現するか 方法を明確にする 今回はこの部分が中心
  4. 4. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 各工程での成果物  成果物 4 業務分析 要件定義 基本設計 論理設計 詳細設計 要件定義書 基本設計書 ER図、テーブル定義表 画面遷移図 詳細設計書
  5. 5. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES サンプル課題  タイトル:ゼミ室の蔵書管理システム  業務分析  ゼミ室には教員の専門分野に関する書籍が豊富にある  研究を進める際に、ゼミ生はゼミ室で書籍を読んだり、 必要に応じて教員から許可を得て書籍を借りたりする  教員は誰に何の書籍を貸しているかは管理できていない  要件定義  ゼミ室の蔵書と貸し出し記録を管理したい  教員はゼミ生の名簿と蔵書を管理したい  教員、またはゼミ生は貸し出し記録を付けた  書籍の貸し出し冊数は5冊まで、期限は2週間とする 5
  6. 6. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 基本設計(1)  機能  ログイン機能  ユーザのID、パスワードでログイン  ユーザ管理機能  ユーザの追加・更新・削除が可能  ユーザ毎に権限を付与し、利用できる機能を制限  蔵書登録機能  書籍の追加・更新・削除が可能  書籍のタイトル、カテゴリ、出版社、発行年などを管理  条件を指定した蔵書検索が可能  貸し出し機能  ユーザへの書籍貸し出しを台帳に記録  ユーザへの貸し出し冊数の上限と期限を設ける 6
  7. 7. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES レポー基本設計(2)  データ構造  ユーザ情報  ユーザID、パスワード、名前、権限(管理者 or 利用者)  ユーザ情報を変更できるのは管理者のみ  蔵書情報  書籍のタイトル、カテゴリ、出版社、発行年  貸出台帳  書籍と貸し出したユーザの紐付け  貸出日、返却予定日、貸出状態(貸出OK or 貸出中) 7
  8. 8. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 画面設計(1)  画面設計図:蔵書リスト画面 8 書籍の新規登録 各レコードの操作が可能書籍リストを表形式で表示 ※図作成には、リアルタイムコラボレーションツール「Cacoo」を利用
  9. 9. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 画面設計(2)  画面設計図:蔵書 新規登録画面  すべての項目を入力し、「登録」ボタンで登録可  タイトル、出版社:テキストボックス  カテゴリ、発行年:選択ボックス 9
  10. 10. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 画面設計(3)  画面設計図:蔵書貸出画面  「貸出可」より蔵書の貸出が可能  「貸出書籍」より自分の書籍貸出状況を確認可 10 貸出操作が可能
  11. 11. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES ER図  以下の5テーブルで構成される  users:利用者テーブル, books:蔵書テーブル  categories:カテゴリテーブル, publishers:出版社テーブル  circulations:貸出テーブル 11 1対多 多対1
  12. 12. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES DBの正規化補足説明(1)  正規化されていないテーブル 12 ID タイトル カテゴリ 出版社 発行年 1 Webエンジニアの教科書 理工系 シーアンドアール研究所 2015 2 たのしいRuby 理工系 ソフトバンククリエイ ティブ 2010 3 嫌われる勇気 心理学 ダイヤモンド社 2013 4 PHP+MySQLマスターブッ ク 理工系 マイナビ 2014 5 量子力学で生命の謎を解く 物理学 ソフトバンククリエイ ティブ 2015 繰り返しが発生するフィールドは正規化 表.蔵書テーブル
  13. 13. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES DBの正規化補足説明(2)  正規化したテーブル 13 ID タイトル カテゴリID 出版社ID 発行年 1 Webエンジニアの教科書 1 1 2015 2 たのしいRuby 1 2 2010 3 嫌われる勇気 2 3 2013 4 PHP+MySQLマスターブック 1 4 2014 5 量子力学で生命の謎を解く 3 2 2015 ID 名前 1 理工系 2 心理学 3 物理学 ID 名前 1 シーアンドアール研究所 2 ソフトバンククリエイティブ 3 ダイヤモンド社 4 マイナビ 表.蔵書テーブル 表.カテゴリテーブル 表.出版社テーブル
  14. 14. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES テーブル定義表(1) フィールド名 型 Not null Key Auto increment Default 意味 id INT(11) YES 主キー YES NULL 利用者ID name VARCHAR (40) NULL 名前 role INT(1) NULL 権限 (0:学生、1:教員) 14 表.利用者テーブル:users
  15. 15. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES テーブル定義表(2) フィールド名 型 Not null Key Auto increment Default 意味 id INT(11) YES 主キー YES NULL 蔵書ID title VARCHAR (40) NULL 書籍名 category_id INT(11) YES 外部 キー NULL カテゴリID publisher_id INT(11) YES 外部 キー NULL 出版社ID year INT(4) NULL 発行年 15 表.蔵書テーブル:books
  16. 16. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES テーブル定義表(3) フィールド名 型 Not null Key Auto increment Default 意味 id INT(11) YES 主キー YES NULL カテゴリID name VARCHAR (20) NULL カテゴリ名 16 表.カテゴリテーブル:categories
  17. 17. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES テーブル定義表(4) フィールド名 型 Not null Key Auto increment Default 意味 id INT(11) YES 主キー YES NULL 出版社ID name VARCHAR (40) NULL 出版社名 17 表.出版社テーブル:publishers
  18. 18. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES テーブル定義表(5) フィールド名 型 Not null Key Auto increment Default 意味 id INT(11) YES 主キー YES NULL 貸出ID user_id INT(11) YES 外部 キー NULL 利用者ID book_id INT(11) YES 外部 キー NULL 蔵書ID issue_date DATE NULL 貸出日 return_date DATE NULL 返却予定日 status INT(1) NULL 貸出状態 (0:貸出OK、 1:貸出中) 18 表.貸出テーブル:circulations
  19. 19. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES DBの正規化補足説明(3)  正規化が必要な理由  データの矛盾を防ぐ  フィールドの内容に変更があった場合の修正漏れを防ぐ  例:出版社名に変更があった場合  DB処理の効率化  フィールドの内容に変更があった場合の修正は1箇所のみでOK  同じ項目(例:同じ出版社)のレコードを全検索する場合の高速化  カテゴリの再編時の手間を削減する  例:理工系と物理学は理系に統合する場合 ⇒カテゴリテーブルの修正のみでOK  必ず第三正規形にすること 19
  20. 20. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES DB設計とSQL文の対応(1)  蔵書テーブル(books)のSQL文 20 CREATE TABLE `books` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(40) DEFAULT NULL, `category_id` int(11) DEFAULT NULL, `publisher_id` int(11) DEFAULT NULL, `year` int(4) DEFAULT NULL, PRIMARY KEY (`id`), CONSTRAINT `category_id_fk` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `publiser_id_fk` FOREIGN KEY (`publisher_id`) REFERENCES `publishers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ; 主キー 外部キー制約 ※ CASCADE:親テーブルの更新 に合わせて更新 外部キー
  21. 21. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES DB設計とSQL文の対応(2)  カテゴリテーブル(books)のSQL文  出版社テーブル(publishers)のSQL文 21 CREATE TABLE `categories` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(40) DEFAULT NULL, PRIMARY KEY (`id`) ); CREATE TABLE `publishers` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(40) DEFAULT NULL, PRIMARY KEY (`id`) );
  22. 22. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 画面遷移図  業務フローに従い画面遷移とその条件を図示する  構成要素  画面ID/画面名  画面を一意に識別する識別子(画面一覧やレイアウトの照合用)  遷移矢線  画面の順序関係を記述。交錯しないように配置  ボタン名(イベント)  画面遷移を起こすトリガーを記述  ボタン名を記述しておけば、押下時に画面遷移することが分かる  アクション(データの発生やメール配信など)  画面遷移に伴って起動される動作を記述  データ登録やメール配信のアクションを記述 22
  23. 23. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES レポート作成例:画面遷移図  ゼミ室蔵書管理システムの画面遷移図 23
  24. 24. TOKYO JOHO UNIVERSITYTOKYO UNIVERSITY OF INFORMATION SCIENCES 開発について  想定される構成例  画面のフォーム:HTML, JS  DB登録処理:PHP  DB:MySQL  進め方  複数人で相談して役割分担(画面、DB、DB登録処理など)  最低限できて欲しい機能:蔵書リスト画面、蔵書貸出画面  できなくてもよい機能:  ログイン機能:勉強にはなるが、セッション管理が必要  ユーザ管理機能:ユーザはDBから直接追加でもよい  開発期間:2週間程度が目安 24
  • TakashiMatsushita

    Apr. 14, 2021
  • YUSUKE1503

    Sep. 18, 2017
  • SayaNishimura

    Aug. 27, 2017
  • toshifumishinohe

    Jan. 26, 2016
  • TMaruB5

    Dec. 21, 2015

Webシステムプログラミングサンプル課題設計書

Views

Total views

3,938

On Slideshare

0

From embeds

0

Number of embeds

189

Actions

Downloads

24

Shares

0

Comments

0

Likes

5

×