ソフトウェア 情報社会とコンピュータ 第3回 前回の復習 汎用の安価なコンピュータ(ハードウェア) + 多様なソフトウェア ↓ いろいろな場面で使うことができる(価値) ソ フ ト ウ ェ ア(1) 前回 プログラム PC(ハードウェア)に対する命令(指示) ソ フ ト ウ ェ ア(2) 前回 ゲームのカセット,CD PCのワープロ,表計算,… スマホのアプリ ↓ ソフトウェア アプリケーション ソフトウェア(応用ソフトウェ ア) ソ フ ト ウ ェ ア(3) アプリケーション ソフトウェア(応用ソフトウェア) オペレーティングシステム(基本ソフトウェア) Windowsなど プログラムとソフトウェア(1) 区別があるような,ないような プログラム ハードウェアに対する一連の命令 ソフトウェア 幾つかのプログラムで構成され,ある処理を 行う プログラムとソフトウェア(2) 文書処理を行うワープロソフトには,幾つかの機 能がある 個々の機能を実行するためのプログラム さらに使用方法の説明書(マニュアル) このようなモノを含めている場合もある どうせなら英語も ソフトウェア software ハードウェア hardware アプリケーション application プログラム program プログラムは 人間が作る 人間はミスをする つまり,プログラムには間違い(誤り)がある プログラムの誤り(1) 世の中で使われているプログラム で,誤りのないもの は,ない 全てのプログラムに誤りはある プログラムの誤り(2) どのようなことになるのか? プログラムは,PCに対する指示 誤った指示を出す 誤った結果となる 誤 り の 分 類(1) 試験の間違った解答(誤りの理由) 問題の内容を把握していない・理解が不十分 誤字・脱字 意味が分からなくなる場合と,別の意味に なる場合 “君に講義するために来た” “君に抗議するために来た” 誤 り の 分 類(2) プログラムの誤り 処理の手順の誤り アルゴリズムの誤り 誤字・脱字 I (英字のアイ) → 1 (数字のイチ) 100 → 10 0~100点(1) 試験だったら,60点以上で合格 99点だったら,優秀な答案と褒められる 0~100点(2) プログラムの場合 99点 “100の指示(命令)のうち,一つが誤り” その誤りにより,正しくない結果 ダメなプログラム つまり,0点のプログラム 0~100点(3) プログラムの場合 100の指示のうち,一つが誤り つまり,コンピュータは誤った命令 を実行することはない いつも全ての指示を出すわけではない 誤りの指示はめったに出さない ひょっとすると,永久に出さないかも知れない でも,誤りは誤り その一つの誤りを見つけるのが難しい アルゴリズム アルゴリズム(1) algorithm 問題を解く手順 “こうやれば”答えが求められる これをコンピュータが実行できる“形”で 記述したものがプログラム アルゴリズム(2) パターン その1 1. … をしろ 2. … をしろ … n. … をしろ と順番に指示を出す アルゴリズム(3) パターン その2 1年生なら, … をしろ そうでなければ, … をしろ 条件(1年生か?)により,指示が変わる アルゴリズム(4) パターン その3 1年生全員に対して, … をしろ 1年生全員に資料を手渡せ 資料を手渡すということ(指示)を,1年生全員に 対して繰り返す アルゴリズム(5) 順番に 条件により変わる 繰り返す この三つが,アルゴリズムの基本要素 組み合わせて,複雑なアルゴリズムを記述する アルゴリズムの誤り(1) その1 料理のレシピ トマト(大きさ中)を一つ半(1.5個)を… スーパーで,トマト(大きさ中)を一つ100円で売っ ていた トマト代はいくら? 150円? アルゴリズムの誤り(2) その1 トマト代はいくら? 150円? トマト半分で売ってくれるわけないだろう! 正しいようで,どこかに間違いがある 理解が不十分 でも,うちの近所のパン屋さん,フランスパン を半分にして,売ってくれる アルゴリズムの誤り(3) その2 誤りの指示はめったに出さない “ある条件のときは,… をしろ” … に誤りがある この条件に該当する場合がめったにない 気が付かないまま,そのプログラムを使い続 ける そして,ある日,その条件に該当する… アルゴリズムの誤り(4) その3 “ある条件のときは,… をしろ” この指示を忘れた “ある条件”を考慮していない ⇒ 条件の見落とし “2月29日(うるう年限定)の12時34分から1分間 だけ,雨が降ったら” こんなことめったに起こらない でも,絶対にないとは言えない アルゴリズムの誤り(5) アルゴリズムの誤りには,いろいろある いつも,誤りの部分を実行するとは限らない あっても,必ず誤った結果が出てくるとは限らな い アルゴリズム ⇒ プログラム アルゴリズムは正しい プログラムを記述するときに間違うこともある 個々のプログラムは 正しい しかし,組み合わせると(ソフトウェア)不都合が 生じる場合がある プログラムの誤り(1) 再 世の中で使われているプログラム で,誤りのないもの は,ない 全てのプログラムに誤りはある ソフトウェア 脆弱性 情報漏えいなど安全な運用を脅かす原因になる ソフトウェアの誤り インターネットに接続しているコンピュータのソフ トウェアの場合,大きな問題になる(なっている) インターネットを経由し,脆弱性を突く ま と め ソフトウェアは 複雑 誤りが含まれている しかし,必ずトラブルが起こるわけではない でも,起こる可能性を否定できない その誤りを,悪用されることにより,被害を受ける 脆弱性を突く攻撃 アルゴリズム 問題を解く手順 三つのパターンの組合せ 順番に 条件により変わる 繰り返す 考えてみよう 原因は明らかではないが 「Yahoo!メール」8月の障害で258万通のメール 消失が判明 http://www.itmedia.co.jp/news/articles/1509/06 /news024.html ハードウェアかも知れない,ソフトウェアかも知れ ない 誰が責任 実際にトラブルが起こり,損害を受けた ソフトウェアを開発した者(会社)に賠償を求めた い 話は簡単ではない 製造物責任法(PL法)の対象ではない ソフトウェアの場合は責任を追及することは難 しい,ただし… 最近の自動車 インターネットに接続 ソフトウェアに脆弱性があると,外部から遠隔操 作される危険 さらに,自動運転カ- 事故があったら責任は?
© Copyright 2024 ExpyDoc