Document

第8章 情報システムの役割
Copyright © the University of Tokyo
この章で学ぶこと

実社会で使われている情報システムがどのように
して作られているか
 そもそも情報システムとは何か
 表からは見えない構成
 作る場合に問題になること
<2>
Copyright © the University of Tokyo
情報システムとは

定義
 情報を処理する機器(コンピュータなど)
+ 情報を伝達するネットワーク
⇒ さまざまなサービスや機能を提供する

例
 オンラインチケット予約システム
 電子掲示板
 電子決済システム(銀行ATMなど)
 POS (Point of Sales) システム
<3>
Copyright © the University of Tokyo
情報システムの範囲

狭義:いわゆるビジネス・アプリケーション
 企業,政府機関,サービス機関などが利用
• 外部に情報サービスを提供する
• 内部の情報管理,意思決定支援に用いる

広義の例
 計測や制御系のシステム
 組込みシステム
 ゲーム機
 インターネット
<4>
Copyright © the University of Tokyo
昔の情報システム
計算機本体
磁気テープ装置
一般の人が触る事は稀
http://ar.aichi-u.ac.jp/photo/1980/より。東大の大型計算機センターの写真
<5>
8.1
Copyright © the University of Tokyo
昔の情報システム
磁気ディスク装置
カードパンチャー
http://ar.aichi-u.ac.jp/photo/1980/より。東大の大型計算機センターの写真
<6>
8.1
Copyright © the University of Tokyo
現在の情報システム

ウェブサービス
 イベント情報提供,チケット予約
 文献検索
 地図検索,路線案内
 商品販売,オークション

組込みシステム
 携帯電話,ディジタルカメラ,カーナビ,冷蔵庫,炊飯
器など

いろいろな場所に,いろいろな形態で存在する
<7>
Copyright © the University of Tokyo
見えにくい情報システム

ソフトウェアは抽象的記述で,物理的実体がない

コンピュータも見えなくなっている
 組み込まれたコンピュータ
• 自動車には数十のプロセッサ
• 携帯電話から炊飯器まで
• あまりに日常的で,情報システムであることが意識さ
れない
 PCは端末であり,ネットワークの向こうで見えないコ
ンピュータが多数稼動している
<8>
Copyright © the University of Tokyo
端末
ファイルサーバ
proxyサーバ
認証サーバ
ブートサーバ
目に見えないところでいろいろなサーバが動いている 8.1
<9>
Copyright © the University of Tokyo
情報システムの仕組み

ソフトウェア
 どんな機能か
 作るときの難しさは何か

ハードウェア
 どのような構成か
 ネットワークの向こうには何があるか
⇒ チケット予約システムを例に解説する
<10>
Copyright © the University of Tokyo
チケット予約システムの概観

利用者が欲しいチケットを探す

空きがあれば
予約情報を書き込む
利用者
システム
日時
名称
価格
空き
予約者
6/20
阪神-巨人戦
4000
×
東大太郎
6/20
阪神-巨人戦
4000
○
×
本郷三四郎
6/20
阪神-巨人戦
4000
○
7/1
ライオンキング
8300
×
駒場花子
7/1
ライオンキング
8300
×
駒場花子
7/1
ライオンキング
6700
○
データベース
<11>
Copyright © the University of Tokyo
実際のチケット予約システム

ソフトウェアの持つ機能: 沢山
 公演情報の管理 ・ 公演情報の提供 ・
チケットの予約決済 ・ その他会員管理など

システムの構成
 利用者側: Webブラウザ・携帯電話・専用端末
 サービス提供者側: 複数のコンピュータ
• 利用者からの要求を受け付けるwebサーバ
• 要求を処理するプログラム
• 種々の情報を管理するデータベース
<12>
Copyright © the University of Tokyo
チケット予約システムの機能




情報照会
 ジャンル別,地域別の公演照会
 チケット販売スケジュール照会
公演詳細情報提供
 公演内容(日時,演目)
 公演者(名前,プロファイル)
 公演会場(会場名称,住所)
 チケット情報(座席別料金,座席表)
 予約関連情報(予約受付先,予約受付期間,予約状況)
 主催,協賛(名前,住所)
予約機能
 公演の指定,チケット受け取り方法指定,予約確定,決済
付随機能
 誤入力の処理,キャンセルの処理
<13>
Copyright © the University of Tokyo
チケット予約システムが提供する機能
細かく見てゆくと沢山ある → 作るためには列挙する必要

情報照会: ジャンル別・地域別・チケット販売スケジュール

予約機能: 公演・受け取り方法を指定 →
席の提示 → 予約確定 → 決済

付随機能: 誤入力の処理 / キャンセルの処理

公演詳細情報提供
→ データベースの設計
 例: 公演内容(日時,演目) / 公演者(名前,プロファイ
ル) / 公演会場(会場名称,住所) / チケット情報(座席
別料金,座席表) / 予約関連情報(予約受付先,予約受
付期間,予約状況) / 主催,協賛(名前,住所)
<14>
Copyright © the University of Tokyo
チケット予約システムの仕組み
<15>
Copyright © the University of Tokyo
システムを作る際に大事なこと

多くはクライアント・サーバ型の構成をとる
 通信規約(プロトコル)

データベースの存在

安全性に配慮

一貫性の配慮
 予約中に電源を
切ったら?
 2人が同時に
予約したら?
<16>
Copyright © the University of Tokyo
ウェブサービスの構造
サーバ上で動的にページを作成する仕組み:
CGI, Servlet, JSPなど
<17>
Copyright © the University of Tokyo
クライアント/サーバ型

ネットワーク上の分散システム構成
 クライアント: サービスを要求
 サーバ: サービスを提供

例
 ウェブ
• ウェブブラウザとウェブサーバ
 データベース
 メール
 ファイル保管
<18>
Copyright © the University of Tokyo
防火壁(ファイアウォール)

不正アクセスの排除のために備えられる

データベースサーバへのアクセスを制御
 利用者は直接アクセスできない
 ウェブブラウザを使ってのアクセスのみ許可
<19>
Copyright © the University of Tokyo
通信規約HTTP (HyperText Transfer Protocol)

WWWクライアントとサーバの間の通信に関する
約束事

基本は情報の取得
クライ
アント

欲しいページのURL (GET)
ページの内容
サーバ
処理を依頼するためにも使われる
 サーバでプログラムが動く
クライ
アント
情報の提供(POST)
処理結果
<20>
サーバ
Copyright © the University of Tokyo
通信規約HTTP

HTTP (HyperText Transfer Protocol)
 クライアントとサーバの間のやりとりに関する通信規
約(プロトコル)の一種
 通信要求のコマンド例
• GET: クライアントがサーバから情報の資源(ページ)を
取得するために出す要求
• POST: クライアントがサーバに情報を与えるために出
す要求
<21>
Copyright © the University of Tokyo
ウェブに関する用語

HyperText
 参照されているテキストに自動的に参照する仕組み
を備えたテキスト (Vannevar Bush, As We May Think,
1945)

Web
 ハイパーリンク(HyperTextからHyperTextへのリン
ク)で相互結合された文書群

WWW
 World Wide Web, インターネット上に構成された(普通
の)Web, the Web
<22>
Copyright © the University of Tokyo
データの入力 (1)

GETコマンドを用いた検索
 例:Googleで”ticket”を検索した場合
http://www.google.co.jp/search?sourceid=navclient
&ie=UTF8&rls=GGLC,GGLC:197001,GGLC:en&
q=ticket
<23>
Copyright © the University of Tokyo
データの入力 (2)

FORMタグでデータの入力欄を作る
<form method=post action="/servlet/test-servlet">
氏名: <input type="text" name="name"><br>
住所: <input type="text" name="address" size="80"><br>
メール: <input type="text" name="email" size="50"><br>
パスワード: <input type="password" name="password"><br>
<input type="submit" value="注文">
</form>
<24>
Copyright © the University of Tokyo
動的なページの作成

動的なページ作成の要因
 利用者からの入力データの解釈
 データベースの検索

ウェブサーバ上で動的ページ作成プログラムを動
かすための仕組み
 CGI (Common Gateway Interface)
• PerlやPHPなどのスクリプト言語で作成
 Servlet
• Javaで作成,CFIVEはこの仕組み
 JSP (JavaServer Pages)
<25>
Copyright © the University of Tokyo
システム開発上の考慮点

利用者の使いやすさ

データの機密保護

処理の一貫性

並行処理

悪意を持った攻撃への対処
<26>
Copyright © the University of Tokyo
利用者の使いやすさ

使いやすくなければ利用者は離れる

使いやすさの要素
 見やすいページ・デザイン
 少ない入力の手間
 誤入力の訂正や防止
 応答の速さ
<27>
Copyright © the University of Tokyo
データの機密保護

チケット予約は個人情報入力を求める

問題点と対策
 情報の送信中の漏洩防止 ⇒ 暗号化
• SSL (Secure Socket Layer): https
 なりすましの防止 ⇒ 個人認証
• 利用者コードとパスワード
• 生体認証(指紋,虹彩など)
 収集された個人情報の外部流出防止
•
•
利用の範囲:プライバシーポリシー
流出防止策:個人情報保護法
<28>
Copyright © the University of Tokyo
ウェブブラウザ
ウェブサーバ
HTTP
暗号
化
HTTP
SSL
復号
暗号
→3.4.2参照
<29>
Copyright © the University of Tokyo
公開鍵
秘密鍵
共通鍵
暗号化
暗号化
復号
暗号
共通鍵
復号
→3.2.3参照
<30>
Copyright © the University of Tokyo
悪人の鍵をつかまされると...
公開鍵
秘密鍵
復号
共通鍵
暗号化
共通鍵
復号
<31>
秘密鍵
?
Copyright © the University of Tokyo
公開鍵の確認
ディジタル署名
確認する方
復号 公開鍵
公開鍵
秘密鍵
暗号化
確認される方
一致=OK
共通鍵
暗号化
公開鍵
秘密鍵
復号
<32>
共通鍵
Copyright © the University of Tokyo
処理の一貫性

処理の中断の可能性
 ネットワーク切断,パソコンの故障,利用者の操作ミ
スなど

データベースの内容の一貫性の保持
 予約が未完了なのに席が予約状態になったり,予約
されずに請求だけされるなどといったことを防ぐ
 一連の処理をトランザクションとしてまとめる → トラ
ンザクションが中断された場合はロールバックして初
期状態に戻す
<33>
Copyright © the University of Tokyo
並行処理

システムには同時に多数の利用者がアクセスする

重複予約の防止
 排他制御

最新予約状況の表示
 表示と予約実行間の状態変化への対応
<34>
Copyright © the University of Tokyo
並行処理がうまくいっていない例
23Dが空いている 23Dが空いている
Aさん
23Dを予約
Cさん
23Dを予約
重複登録
23Dが空いている
23Dが空いている
23Dはお待ちください
23Dが空いている
Cさん
Cさん
Aさん
Aさん
23Dを予約
もういいよ!
23Dを予約
やっぱりやめた
予約できません!
売れ残り
さっき空いているっていったじゃない?
<35>
Copyright © the University of Tokyo
悪意を持った攻撃への対処

サービス拒否攻撃 (Denial of Service
Attack)
 不正な大量アクセスによるサーバのダウン
 対策
• トラフィック量などのデータ監視による攻撃検出 → 特
定された攻撃サイトからのアクセス拒否
– DDoS (分散DoS, Distributed DoS)で対抗される可能性も
• ログデータの収集と分析
<36>
Copyright © the University of Tokyo
さまざまな情報システム

組込みシステム

コンビニの商品管理システム

オンライン金融取引システム

ディジタルアーカイブ・システム
<37>
Copyright © the University of Tokyo
組込みシステム

装置や機器に組み込まれ,それを制御するコン
ピュータシステム

構成要素
 入力: センサーなどから流入する連続的/間歇的
信号
 出力: アクチュエータ(動作装置)への制御信号
表示装置へのデータ出力
<38>
Copyright © the University of Tokyo
組込みシステムの特性

実時間 (realtime) 性

厳しい資源制約
 CPU能力,記憶容量,電源容量,発熱量,コスト

高い信頼性の要求
 不具合の社会的影響
 リコールのコスト
• 信頼性を向上させるためのコストとのトレードオフ
 優れた操作性による誤操作の防止
<39>
Copyright © the University of Tokyo
Therac-25事件

Therac-25: 放射線治療機
 電子ビーム治療, 低エネルギー, 短時間
 X線治療, 高エネルギー電子ビームをターゲットに当
ててX線を放射

事件の概要
 誤動作により,ターゲットがセットされないまま高エネ
ルギー電子ビームを照射
 過被爆で6人死亡
<40>
Copyright © the University of Tokyo
Therac-25事件の問題点

古いプログラムをそのまま使用した

エラー警告はあったが説明が無かった

病院が患者の訴えを信じなかった

安全装置をコストダウンのために削った

高価な機器なので事故発生後も使用した

インタフェースのタイミング問題があった

オペレータが操作に慣れ操作が早くなると発生した

アセンブリ言語で記述されていた

デバッグがしにくい
<41>
Copyright © the University of Tokyo
USS Yorktown dead in water after divide by zero
"Peter G. Neumann" <[email protected]>
Tue, 21 Jul 1998 13:07:45 -0700
The Navy's Smart Ship technology is being considered a success, because
it has resulted in reduced manpower, workloads, maintenance and
costs for sailors aboard the Aegis missile cruiser USS Yorktown.
However, in September 1997, the Yorktown suffered a systems failure
during maneuvers off the coast of Cape Charles, VA., apparently as a
result of the failure to prevent a divide by zero in a Windows NT
application. The zero seems to have been an erroneous data item that
was manually entered. Atlantic Fleet officials said the ship was dead in
the water for about 2 hours and 45 minutes. A previous loss of
propulsion occurred on 2 May 1997, also due to software. Other
system collapses are also indicated. [Source: Gregory Slabodkin,
Software glitches leave Navy Smart Ship dead in the water,
Government Computer News, 13 Jul 1998, PGN Stark Abstracting
from http://www.gcn.com/gcn/1998/July13/cov2.htm]
<42>
Copyright © the University of Tokyo
US Navy’s Harvard Mark
II


初めてbugと
いう用語が使
われたという
話
もっとも,bug
という用語は
それ以前から
使われていた
らしい
http://www.history.navy.mil/photos/pers-us/uspers-h/g-hoppr.htm
1947.9.9
<43>
Copyright © the University of Tokyo
Mr. Edison, I was informed, had been up the
two pervious nighs divcovering ``a bug’’ in his
photograph - an experssion for aolving a
difficulty, and implying that some imaginary
insect has secreted itself inside and is causing
all the trouble --- Pall mall Gazette, 1889
I ranged from the pre-design development of
essential components, through the stage of type
test and flight test and ``debugging’’ right through
to later development of the engine. --- Journal of
the Royal Aeronautical Society, 1945
<44>
8.3.1
Copyright © the University of Tokyo
組込みシステム例: ディジタルカメラ
<45>
Copyright © the University of Tokyo
組込みシステム例: ディジタルカメラ
シャッター
ボタン
画像記録装置
オートフォーカス
レンズ駆動
<46>
自動露出
コントラスト検出
CCD
画像生成
Copyright © the University of Tokyo
ディジタルカメラの基本機能

撮影機能

 静止画撮影,動画撮影の切り替え,撮影,オートフォーカス設定
 セルフタイマーの設定,ズーム設定,フラッシュのモード切り替え
 画像サイズと画質の設定,ホワイトバランス設定
出力編集機能

 外部インターフェースへの画像出力
 撮影した画像の通常再生,拡大再生
画像編集機能

 削除,消去禁止設定
付加機能
 撮影日時などの表示設定,時計設定,操作音の切り替え
 記録媒体のフォーマット
<47>
Copyright © the University of Tokyo
ディジタルカメラのシステム構成

制御系
 センサー: 撮像素子(CCDやCMOS)
 アクチュエータ: 自動焦点用のレンズ移動装置等

情報系
 画像データのメモリーカードなどへの記録,管理
 画像データの画面表示
 データの外部転送

インターフェース
 シャッターボタン,入力用ボタン,レバー,液晶画面などによる
インターフェース
<48>
Copyright © the University of Tokyo
カメラ特有の制御機構

自動焦点機構
 撮像素子からの画像信号を解析
 コントラスト最大位置の探索
 アクチュエータによるレンズ位置移動

自動露出機構
 光量を測定
 絞りとシャッター速度を決定
<49>
Copyright © the University of Tokyo
商品管理システム

POS (Point of Sales) = 販売時点管理
 売れ筋の把握
 緻密な在庫・受発注管理
 レシート記述情報の詳細化

バーコードからICタグへ
 無線による自動認識:
RFID (Radio Frequency Identification)
 情報量が多い
 書き換えができる
 複数を同時に読むことができる
<50>
Copyright © the University of Tokyo
バーコード
<51>
Copyright © the University of Tokyo
ICタグ
<52>
Copyright © the University of Tokyo
ICカードのシステム
TypeA
TypeB
 住民基本台帳カード
 学生証
TypeC
 Felica
• Suica
• Edy
<53>
Copyright © the University of Tokyo
ICカードのシステム
偽造が困難
 秘密鍵が入っている
 ICカードのなかで暗号化する
失効管理が可能
 鍵をなくすと大変
多機能
 カードにいろいろなアプリケーションを載せることができる
• 共通ID
• ポストペイ
• SafetyPass
<54>
Copyright © the University of Tokyo
オンライン金融取引システム

インターネット上での株式売買
 ホームトレード
 市場規模の増大
 プロと素人の混在

外国為替取引
 シミュレーション・システム例
<55>
Copyright © the University of Tokyo
<56>
Copyright © the University of Tokyo
ディジタルアーカイブ・システム

歴史資料や芸能をディジタル情報に変換して保存

タグ付けによる検索支援と情報管理

対象となる文化資産
 静的:絵画,彫刻,仏像,歴史的建築物など
 動的:舞踊,歌舞伎,能など
<57>
Copyright © the University of Tokyo