Download - 基礎情報技術 ー第 4 日目ー
![Page 1: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/1.jpg)
基礎情報技術ー第 4 日目ー
平成 23 年 5 月 18 日(金)担当:亀田
![Page 2: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/2.jpg)
確認
• 授業で使用した資料は授業終了後に Webにて公開します。
• 授業中はノートなどにメモを取ってください。(キーワードや図だけでも結構です。)
• 本日出される (?) レポート課題 No.1 は来週(明日ではない)の授業終了時に集めます。
![Page 3: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/3.jpg)
宿題(再掲)
• 大学の掲示版として、「個人専用の掲示板」を作るとしたらどんなものがいいのかを考え、以下の3点に関して文書化しなさい。1. 表示画面のデザイン(外見のデザイン)2. 提供する情報・サービス(情報デザイン)3. サービスの利用形態(誰がいつ何をどのように
等) 最終回までの課題でしたよね!
これは授業最終回の時に提出してもらいます。これは授業最終回の時に提出してもらいます。
![Page 4: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/4.jpg)
参考文献
• 情報デザイン原論 「ものごと」を形にするテンプレー
ト ,ロバート・ヤコブソン ( 編 ), 食野雅子( 訳 ),電機大出版局 (2004).
![Page 5: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/5.jpg)
それでは始めましょう
• 一呼吸して、気持ちをこちらに集中させてください。
集中力を高め、それを維持し続けることは成功のための
秘訣です。訓練してください。
![Page 6: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/6.jpg)
前回までのポイントの確認
• IT のプロになるためには何が必要か?これを考えるための素材をお話しました。– SE の仕事はプログラミングだけではない– ソフトウェアのライフサイクル– オブジェクト指向– モデリング言語 UML など
• ソフトウェア開発過程の概要• UML の概説
![Page 7: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/7.jpg)
IT のプロとは• 技術に関して深い理解がある
– 哲学・思想(個別技術から技術史等に対する)• 技術を身につけている
– オブジェクト指向、 UML 、デザインパターン など
• 仕事の進め方を知っている– ソフトウェアとは– ソフトウェア開発とは– プロジェクトとは など
• コスト計算ができる– 実社会の在り方・仕組みを理解している。
大学ではまず基礎・基本をしっかり身につけよう!
![Page 8: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/8.jpg)
ソフトウェアのライフサイクル1. 要求分析2. 設計3. プログラミン
グ
4. デバッグ5. 評価6. 運用
⇒ 再び1へ戻る
1. 何を作るの?2. どうるの?3. 作成作業
(デバッグも)4. 本当にできた?5. 実際に使おう!6. ちょっと変更
ソフトウェアの開発工程でもある
![Page 9: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/9.jpg)
UML での各種ビュー (3)
ユースケース図 アクティビティ図シーケンス図
コミュニケーション図(コラボレーション図)
ステートマシン図(ステートチャート)
クラス図
オブジェクト図
コンポーネント図
配置図
ユースケースビュー
論理ビュー
配置ビュー
並行性ビュー
コンポーネントビュー
![Page 10: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/10.jpg)
今日の話し
• 要求分析• ユースケースとユースケース図• よい設計とは• Java プログラミング(おまけ)• その他
![Page 11: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/11.jpg)
要求分析
• まずはここから始まる。(「必要は発明の母」)
![Page 12: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/12.jpg)
要求分析
• 電子掲示板システム(東京工科大向け)• コーヒーメーカ• カードゲーム (BlackJack)
• 図書館システム• 小売店販売管理システム など
![Page 13: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/13.jpg)
コーヒーメーカ
![Page 14: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/14.jpg)
WikiPedia より引用(2008/05/16)
![Page 15: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/15.jpg)
要求される仕様
• 商品名: Mark IV Special
• 用途:コーヒーを入れるための装置• 具体的な仕様は配布資料参照のこと。
• これを元に要求を分析してみよう(深く理解してみよう)
![Page 16: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/16.jpg)
分析メモ
• ハードウェア構成ではなく• 処理(振る舞い)の側面から分析
– 誰が,どんな振る舞いをするのか?– 誰が誰にどんな時に呼び出されるのか。 (注)
• 誰=インスタンス• 振る舞い=メソッド• どんな時に=ロジック など
![Page 17: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/17.jpg)
ユースケース
• ユースケースとは、システムが提供するサービスや機能をユーザの視点から記述するもの。
• ユースケースを表現する方法は2つある。–ユースケース記述(シナリオ記述)
• 文章で記述
–ユースケース図• ダイアグラムで記述
![Page 18: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/18.jpg)
ユースケース記述
• ユースケース記述は大きく2つに大別される– 基本ユースケース
• 標準的なあるいは本来の処理を記述
–代替ユースケース• 例外的なケース(場合)を記述例:ログイン失敗 など
![Page 19: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/19.jpg)
販売システムのユースケース記述例
• 販売システムの流れ(基本ユースケース記述)1. 2. 3. …
![Page 20: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/20.jpg)
販売システムのユースケース記述例
• 販売システムの流れ(基本ユースケース記述)1. レジ係りがスキャナで商品のバーコードを読み取る。
2. 商品の値段・商品名、現在までの合計金額をお客にディスプレイ表示。値段・説明はレジ係りにも表示。
3. 値段と商品名が書かれたレシートを印刷。4. バーコードが認識されたことを音でレジ係りに知らせる。
![Page 21: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/21.jpg)
販売システムのユースケース記述例
• 販売システムの流れ(代替ユースケース記述)
(考えてみよう!)
![Page 22: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/22.jpg)
販売システムのユースケース記述例
• 販売システムの流れ(代替ユースケース記述)
バーコードが読み取れない バーコードが書かれていない 会計処理途中で停電になった お客さんがいなくなった
![Page 23: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/23.jpg)
スキャナの紹介(雑談)
• バーコード(例: JAN コード、 ISBN )• QR コード(2次元コード)
(自由課題):興味のあるひとは、一度じっくり調べてみてください。
![Page 24: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/24.jpg)
ユースケース図を描いてみよう
• (販売システムのユースケース)
![Page 25: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/25.jpg)
ユースケースの参考書
• ユースケース実践ガイド―効果的なユースケースの書き方 , アリスター コーバーン ,翔泳社 (2001).
• “Writing Effective Use Cases,” Alistair Cockburn, Addison-Wesley(2001).
![Page 26: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/26.jpg)
さて、…
![Page 27: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/27.jpg)
Mark IV Special Coffee Maker
(配布資料参照のこと )
![Page 28: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/28.jpg)
Mark IV Special Coffee Maker1. 煮沸器 (boiler) の電熱線 (heater) 、 on/off可2. 保温プレート (warmer plate) の電熱線も。3. 保温プレートのセンサ。
状態: warmerEmpty, potEmpty, potNotEmpty
4. 煮沸器のセンサ。水の有無判定。 状態: boilerEmpty, boilerNotEmpty
5. ドリップボタン。ドリップ開始ボタン。インジケータ( light )付き。ドリップ完了時に点灯。
6. 蒸気圧抑制バルブ。開くと蒸気圧降下。
![Page 29: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/29.jpg)
API の説明
この関数は、保温プレートセンサの状態を返す。このセンサにより、ポットが置かれているかどうか、ポットの中にコーヒーがあるかを検出する。
public int getWarmerPlateStatus();
public static final int WARMER_EMPTY = 0;
public static final int POT_EMPTY = 1;
public static final int POT_NOT_EMPTY = 2;
![Page 30: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/30.jpg)
API の説明(2)
この関数は、煮沸器のスイッチの状態を返す。煮沸器のスイッチは、煮沸器に水が半分以上あるかどうかを検出するフロート式スイッチ。
public int getBoilerStatus();
public static final int BOILER_EMPTY = 0;
public static final int BOILER_NOT_EMPTY = 1;
![Page 31: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/31.jpg)
API の説明(3)この関数は、 [ ドリップ ]ボタンの状態を返す。 [ ドリップ ]ボタンは、その状態を記憶する一時的なスイッチ。この関数は呼び出されるたびに、記憶された状態が返され、状態は BREW_BUTTON_NOT_PUSHUED にリセットされる。従って、この関数が非常に遅いレートでポールされても、 [ ドリップ ]ボタンが押されたことを検出できる。
public int getBrewButtonStatus();
public static final int BREW_BUTTON_PUSHED = 0;
public static final int BREW_BUTTON_NOT_PUSHED = 1;
![Page 32: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/32.jpg)
API の説明(4)
この関数は、煮沸器内の電熱線のオン / オフを切り替える。
public void setBoilerState(int boilerStatus);
public static final int BOILER_ON = 0;
public static final int BOILER_OFF = 1;
![Page 33: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/33.jpg)
API の説明(5)
この関数は、保温プレート内の電熱線のオン / オフを切り替える。 */
public void setWarmerState(int warmerState);
public static final int WARMER_ON = 0;
public static final int WARMER_OFF = 1;
![Page 34: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/34.jpg)
API の説明(6)
この関数は、インジケータのオン / オフを切り替える。インジケータは、ドリップが完了すると点灯し、[ ドリップ ]ボタンが押されると消える。
public void setIndicatorState(int indicatorState);
public static final int INDICATOR_ON = 0;
public static final int INDICATOR_OFF = 1;
![Page 35: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/35.jpg)
API の説明(7)
この関数は、蒸気圧調整バルブを開閉する。バルブが閉まっていると、煮沸器内の蒸気圧によって 熱湯がコーヒーフィルタ状に噴き出す。バルブが開いていると、煮沸器内の蒸気が外に排出され、中の水はフィルタ上に噴き出なくなる。
public void setReleifValveState(int releifValveState);
public static final int VALVE_OPEN = 0;
public static final int VALVE_OFF = 1;
![Page 36: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/36.jpg)
コーヒーメーカのユースケース記述とユースケース
図
![Page 37: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/37.jpg)
シナリオ
フィルタをフィルタホルダーに入れる。
![Page 38: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/38.jpg)
便利な UMLツール (astah) の紹介
• 各自ダウンロードしてください。• 中村太一先生の講義用ホームページ
(学内専用サイト)から正規版がコピーできます。 (CS 学部生限定 !!!)
• 簡単な説明を次回授業中にします。• フリー版 (Community 版 ) でもかまいませ
ん。• 他の UMLツールでも OK です。
![Page 39: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/39.jpg)
自由課題
• UMLツールとしてどのようなものがあるのか、調べなさい。– ソフトウェア名–製造・販売会社名– 価格– 機能–動作環境– その他
![Page 40: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/40.jpg)
よい設計とは
• 分かりやすい• 変更しやすい• 再利用しやすい
などの特徴を持った設計のこと
![Page 41: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/41.jpg)
設計を悪くする要因
• 硬直性• 脆弱性• 低移植性• 粘着性• 不要な複雑さ• 不要な繰り返し• 不透明さ
![Page 42: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/42.jpg)
• 硬直性:システムの変更しにくさ。• 脆弱性:1つの変更が他の多くの変更を
引き起こしてしまう。• 低移植性:システムのコンポーネント化が
不十分なため、再利用しにくい。• 粘着性:エディットーコンパイルーテストが
終わらない。
![Page 43: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/43.jpg)
• 不要な複雑さ:いつか役立つであろう コードであふれている。
• 不要な繰り返し:カット&ペーストの オンパレード。
• 不透明さ:内容が込み入っていて作成者の 意図が見えない。
![Page 44: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/44.jpg)
では「良い設計」はどうすればいいのか?
• (次回以降、順次説明します。)
![Page 45: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/45.jpg)
ここから重要なお知らせ
![Page 46: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/46.jpg)
自由課題: Java プログラミング
• スライドに関するプログラム例• 実際に実行してみてください。• プログラムの詳細を理解してください。• パラメータを変えて実行してみてくださ
い。
• ソースコードは Webページにおいておきます。
![Page 47: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/47.jpg)
宿題(確認)
• 大学の掲示版として、「個人専用の掲示板」を作るとしたらどんなものがいいのかを考え、以下の3点に関して文書化しなさい。1. 表示画面のデザイン(外見のデザイン)2. 提供する情報・サービス(情報デザイン)3. サービスの利用形態(誰がいつ何をどのように
等) 最終回までの課題でしたよね!
これは授業最終回の時に提出してもらいます。これは授業最終回の時に提出してもらいます。
仲間と相談してもいい
よ。
必ず提出してください必ず提出してください
![Page 48: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/48.jpg)
この宿題のための予備として次のページのレポート課題 No.1を次回までにやってください。(単位取得希望者全員)
![Page 49: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/49.jpg)
レポート課題 No.1
• 大学の掲示版として、「新しいスマホアプリの掲示板システム」を東京工科大学に提案したい。そのために、システム提案書(第1版)を作成してください。提案書の内容構成(目次)は、以下のようにしてください。(まずは、書ける範囲で結構ですが、目次の1,2,4の青枠の部分は最低限書いてください。)
仲間と相談してもいいよ。
これは次回提出してもらいます。これは次回提出してもらいます。
![Page 50: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/50.jpg)
レポート課題 No.1 (続き)• 表紙(学籍番号・氏名を大きくはっきりと書く)• 目次
1. 東京工科大学の抱えている課題・利用学生の不満2. 問題解決のための方法3. システム化の範囲4. 機能概要・前提条件・制約条件5. 情報やデータの流れ6. 想定する利用者7. システムのハードウェア構成・ソフトウェア構成8. システム化にかかる費用とそれによる効果9. このシステム提案のアピールポイント
![Page 51: 基礎情報技術 ー第 4 日目ー](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56812ad4550346895d8eb66f/html5/thumbnails/51.jpg)
おわりに
• 次回は…– グループに分かれて PBL を実施します。
(Project Based Learning)– PBL自体については次回説明をします。– グループごとにソフトウェア開発を実践して
もらいます。–従って、たくさんのドキュメントを書きます。– PC とともに、筆記用具を必ず持参してくだ
さい。