基礎情報技術 ー第 3 日目ー
DESCRIPTION
基礎情報技術 ー第 3 日目ー. 平成 26 年 4 月 25 日(金) 担当:亀田. ウォームアップ問題. “オブジェクト指向”という言葉を見ると何が思い浮かびますか? 思い浮かんだものを順に5つ書き下しなさい。 _____________ _____________ _____________ _____________ _____________. それでは始めましょう. これまでのポイント ( 確認 ). IT のプロ になるためには何が必要か? これを考えるための素材をお話しました。. ちょっとしつこくて 御免なさい!. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/1.jpg)
基礎情報技術ー第 3 日目ー
平成 26 年 4 月 25 日(金)担当:亀田
![Page 2: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/2.jpg)
ウォームアップ問題
• “ オブジェクト指向”という言葉を見ると何が思い浮かびますか? 思い浮かんだものを順に5つ書き下しなさい。
1. _____________2. _____________3. _____________4. _____________5. _____________
2
![Page 3: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/3.jpg)
それでは始めましょう
3
![Page 4: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/4.jpg)
これまでのポイント ( 確認 )
• IT のプロになるためには何が必要か?これを考えるための素材をお話しました。
4
ちょっとしつこくて
御免なさい!
![Page 5: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/5.jpg)
これまでのポイント ( 確認 2)
• SE の仕事はプログラミングだけではない• ソフトウェアのライフサイクル• オブジェクト指向• モデリング言語 UML など
5
![Page 6: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/6.jpg)
今日の内容
• UML の概説• Java プログラミング など
• 今日の課題(課題番号 No 1)
6
![Page 7: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/7.jpg)
UML の歴史
• (前回資料参照)
• とにかく、いいプログラムはいい設計が大切、という観点から、さまざまな開発手法が考えられてきた。
7
![Page 8: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/8.jpg)
それでわかったこと
• 要求仕様の明確化• それに基づくきちんとした設計
– プラットフォームに依存しない「機能やサービス」のレベル
– プラットフォームに依存する「実装」レベル
• 設計にきちんと基づく「実装」• 要求仕様に対応した検証 が大切
8
![Page 9: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/9.jpg)
• これらのレベルごとに、当該システムをモデル化することが大切。
• その際、モデルを記述する表現(言語)が必要。
=> UML の登場!
UML はモデル記述のための言語(図で標記)
9
![Page 10: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/10.jpg)
UML 各種ダイアグラムの紹介
– ユースケース図– クラス図– その他の UML 図
10
![Page 11: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/11.jpg)
UML とは(ソフトウェア工学的観点から)
• UML ( Unified Modeling Language )– システム開発の分野で現在最も注目されてい
るツール(仕様等の記述言語)の1つ。– システムの構想をビジュアルに表現できる。
(visual language)– 誰とでも誤解なく意思疎通できる。
( communication tool ) 何を作るのかは、明確にしておかなければ…
何を作るのかは、明確にしておかなければ…
11
![Page 12: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/12.jpg)
UML とは(言語論的観点から)
• UML は言語 の1つ– 言語
• 音声言語 (Spoken Language): – 所謂話し言葉– 若者語 etc.
• 文字言語 (Written Language) :– 書き言葉– 法律文 etc.
• 視覚言語 (Visual Language) : – 手話 (sign language)– ダイヤグラム( Flowchart, UML etc. ) etc.
12
![Page 13: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/13.jpg)
ちょっと雑談 (1)
• 言語とは– 思考のための道具– 知識を記述し蓄えるための道具– 意思疎通のための道具
上記のことを意識しておくことが大切!
13
![Page 14: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/14.jpg)
ちょっと雑談 (2)
• UML とは– 思考のための道具– 知識を記述し蓄えるための道具– 意思疎通のための道具
通常はこの点のみが強調されている
UML も1つの言語UML も
1つの言語
14
![Page 15: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/15.jpg)
ちょっと雑談 (3)
• Syntax v.s. Semantics
( 統語論 v.s. 意味論 )
• 表現形式 v.s. 意味内容
15
![Page 16: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/16.jpg)
ちょっと雑談 (4)
• Syntax v.s. Semantics
( 統語論 v.s. 意味論 )
• 表現形式 v.s. 意味内容
今日はこちらに重点を置く
こちらの理解が本質
16
![Page 17: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/17.jpg)
参考情報• 思考と言語について
– ヴィゴツキー:“思考と言語 ,” 柴田義松(訳) ,新読書社 (2001).
– 柴田義松:“ヴィゴツキー入門 ,”寺小屋新書( 2006 ) .
– 思考と言語研究会 (電子情報通信学会 )( http://www.ieice.org/~tl/what.html )
• 意味への取り組みについて– Semantic Web ( http://www.w3.org/2001/sw/)– Semantic Computing(http://www.instsec.org/)– Web2.0,Web3.0
17
![Page 18: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/18.jpg)
推薦図書
• Sterling & Taveter,The Art of Agent-Oriented Modeling,MIT Press (2009).
18
![Page 19: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/19.jpg)
Contents of the book
I. Models1. Introduction
2. Concepts
3. Models
4. Quality
5. Agent Programming Platforms and Languages
6. Viewpoint Framework
II. Applications7. Agent-Oriented
Management Systems
8. Industry-Related Applications
9. Intelligent Lifestyle Applications
10. An E-Learning Application
19
![Page 20: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/20.jpg)
要求分析の練習
1. As_is 分析– 現状業務はどうなっているのか?–人・モノ・お金・情報などの流れ–業務手順– サービスの現状 など
2. 改善点,問題点の洗い出し3. To_be 分析
– 理想の業務形態はこれだ!
20
![Page 21: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/21.jpg)
さて、…
21
![Page 22: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/22.jpg)
UML とは
• これから作ろうとしているシステム(ソフトウェア)の概念をさまざまな側面から切り出し、表現する図(ダイアグラム)群のこと。
作りたいと思っているもの → 概念 → 仕様 → 実装完成したシステム(ソフトウェア)
22
![Page 23: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/23.jpg)
UML2.0 で使用する図
1. ユースケース図2. クラス図3. オブジェクト図4. シーケンス図5. ステートマシン図
(ステートチャート図)
6. アクティビティ図7. コンポーネント図
8. コミュニケーション図(コラボレーション図)
9. 配置図10.合成構成図11.タイミング図12.相互作用概念図13.パッケージ図
23
![Page 24: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/24.jpg)
各図の概要
• クラス図– 分析、設計領域の静的な構造を明確化
• オブジェクト図–複数のオブジェクトの状態を表現
• パッケージ図–複数のパッケージ間の関係を表現
• 合成構造図– クラスなどの内部構造を表現
24
![Page 25: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/25.jpg)
各図の概要(2)
• コンポーネント図– ソフトウェアコンポーネントの構成を表現
• 配置図– システムのハードウェア構成を表現
• ユースケース図–外部から見たときのシステムの機能を表現
• アクティビティ図–処理の流れを汎用的に表現
25
![Page 26: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/26.jpg)
各図の概要(3)
• シーケンス図– ライフライン相互のメッセージのやり取りを時間の流れに着目して表現
• コミュニケーション図– ライフライン相互のメッセージのやり取りを
、オブジェクトに着目しつつ表現• 相互作用概念図
–複数の相互作用の関係を一段上の目線で表現
26
![Page 27: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/27.jpg)
各図の概要(4)
• タイミング図– ライフラインの状態変化を時間の経過順に表
現• ステートマシン図
–時間の経過とともに変化するオブジェクトの状態を表現
27
![Page 28: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/28.jpg)
以下、重要なものを取り上げ一つずつ説明します。
28
![Page 29: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/29.jpg)
ユースケース図
• 定義:– システムの機能・要件(ユースケース)を
ユーザ等(アクター )の視点で示した図– システムの使われ方(要求・機能)を記述す
るための図
要件(ユースケース)やアクターを具体例で示す。
29
![Page 30: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/30.jpg)
( 参考 ) ユースケース
• ユースケースを図示する方法がユースケース図である。
• ユースケース(システム要求機能)の記述方法は、場合によってはテキストでも良い。– ユースケースシナリオ– ユースケース記述
30
![Page 31: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/31.jpg)
ユースケースの参考図書
・ Alistair Cockburn: Writing Effective Use Cases, Addison-Wesley, ISBN 0201702258 (2000)
・ユースケース実践ガイドー効果的なユースケースの書き方:アリスターコーバーン,翔泳社 , ISBN 4798101273(2001)
講義では飛ばしました。 By KAMEDA31
![Page 32: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/32.jpg)
システムの具体例
• 例:–講習会予約システム–缶ジュースの自動販売機– トランプゲーム (BlackJack)– お風呂温度・水量設定システム– スケジュール閲覧システム–チャットシステム
32
![Page 33: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/33.jpg)
講習会予約システム
33
![Page 34: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/34.jpg)
講習会予約システム
• 申込みをしている風景
Model: Chiaki KUBOMURA 協力:山野美容芸術短期大学
タンジブルソフトウェア入門と人工知能特論コースを取ろうかなぁ…
講習受講希望者
34
![Page 35: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/35.jpg)
講習会予約システム
• 事務処理をしている風景
Model: Chiaki KUBOMURA 協力:山野美容芸術短期大学
タンジブルソフトウェアは空いているけど、人工知能特論はどうかなぁ…
受講登録事務員
35
![Page 36: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/36.jpg)
講習会予約システム
• 要件(要求される機能):–申込み– キャンセル–領収書発行 など
• アクター:–受講者–経理担当–顧客管理システム
36
![Page 37: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/37.jpg)
缶ジュースの自動販売機
• 要件:–コイン投入待ち– 金額計算–販売可能商品の表示–購入希望商品の選定–商品の出力–釣銭の出力
• アクター:–購入者
37
![Page 38: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/38.jpg)
トランプゲーム (BlackJack)
• 要件:–カードシャッフル–カード要求–持ち札の把握–勝敗の判定–勝敗結果の表示
• アクター:– プレイヤ
38
![Page 39: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/39.jpg)
講習会予約システム(再)
• 要件(要求される機能):–申込み– キャンセル–領収書発行 など
• アクター:–受講者–経理担当–顧客管理システム
39
![Page 40: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/40.jpg)
講習会予約システムー ユースケース図 ー
40
![Page 41: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/41.jpg)
講習会予約システム
アクター
ユースケース
関連システム境界 41
![Page 42: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/42.jpg)
ユースケース図の用語 (1)
• アクター:– システムと相互作用する利用者や外部システムの役割
– ユースケースを駆動する。–人間(利用者)、外部システム、ハードウェ
ア
Stickman とも言う
42
![Page 43: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/43.jpg)
ユースケース図の用語 (2)
• ユースケース:– システムが提供する機能(振る舞い)– アクターとシステムとの対話をモデル化– ユースケースにより、システムの用途が網羅
ユースケース名
43
![Page 44: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/44.jpg)
ユースケース図の用語 (3)
• 関連:– アクターとユースケースとの関係–関係があれば線で結ぶ
• システム境界:– システムの外部と内部とを区別する。
内部
外部
関連名
44
![Page 45: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/45.jpg)
トランプゲームー ユースケース図 ー
(練習:各自で描いてみよう!)
• アクター:___• ユースケース:___
45
![Page 46: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/46.jpg)
クラス図
• とても重要な図です。• 特に、 programmer にとっては。
プログラマにとっては、ソースコードの方もとても大切です。
46
![Page 47: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/47.jpg)
クラス図
• 定義:– システムの静的な構造を表したもの– 問題領域やシステムの構造を、
論理的・静的に捉えるためのもの
47
![Page 48: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/48.jpg)
クラス図の例
• 学生と学部
学生
-学生番号
-氏名
-住所
+学生情報取得 ()
学部
- 学部名
-所在地
-電話番号
+ 入学手続き
+ 休学手続き
+ 転学部手続き
0..* 1
48
![Page 49: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/49.jpg)
クラス図の例
• 学生と学部
学生
-学生番号
-氏名
-住所
+学生情報取得 ()
学部
- 氏名
-住所
-電話番号
+ 入学手続き
+ 休学手続き
+ 転学部手続き
0..* 1
クラス名
属性
操作
関係
49
![Page 50: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/50.jpg)
クラス図の例
• 学生と学部
学生
-学生番号
-氏名
-住所
+学生情報取得 ()
学部
- 氏名
-住所
-電話番号
+ 入学手続き
+ 休学手続き
+ 転学部手続き
0..* 1
クラス名
属性
操作
多重度
50
![Page 51: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/51.jpg)
クラス図の用語 (1)
• クラス:– 具体物 ( インスタンス ) を抽象化したもの–属性の操作(関数)をもつ– インスタンスの設計図に相当
クラス名
属 性
操 作51
![Page 52: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/52.jpg)
クラス図の用語 (1)
• クラス:– 具体物 ( インスタンス ) を抽象化したもの–属性と属性の操作(関数)をもつ– インスタンスの設計図に相当
クラス名
属 性
操 作
後で参照するためのもの
属性のみ(属性値なし)
(属性に対する)関数
52
![Page 53: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/53.jpg)
クラス図の用語 (2)
クラス A クラス B
•関係:クラス間の相互関係
関連
集約
汎化
依存
合成
53
![Page 54: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/54.jpg)
クラス図の用語 (3-1)
• 多重度:– クラスから生成されるインスタンス(オブ
ジェクト)の個数などを表す。
N M
54
![Page 55: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/55.jpg)
クラス図の用語 (3-2)
• 多重度の記述法:n nのみ 通常は0や1が使わ
れる1.. 1以上1..* 1以上* 任意の数 他の数字と組合わせて使用1,3,7 1か3か7離散値を扱う場合に使用
例: 3..* 3以上
55
![Page 56: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/56.jpg)
クラス図の例(再)
• 学生と学部
学生
-学生番号
-氏名
-住所
+学生情報取得 ()
学部
- 氏名
-住所
-電話番号
+ 入学手続き
+ 休学手続き
+ 転学部手続き
0..* 1
クラス名
属性
操作
多重度
多重度1多重度0以上
56
![Page 57: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/57.jpg)
練習問題
• (クラス図の作成)
57
![Page 58: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/58.jpg)
クラスの例1
自動車クラス
レーシングカークラス
バスクラス
タクシークラス
is-a関係Racing car is a car.
58
![Page 59: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/59.jpg)
自動車のクラス階層 (1)
自動車
レーシングカー バス タクシー
59
![Page 60: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/60.jpg)
自動車のクラス階層 (2)
自動車
レーシングカー バス タクシー
60
![Page 61: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/61.jpg)
例:自動車とその部品 (1)
車 台 ボディ エンジン
窓ガラス
タイヤ ハンドル
61
![Page 62: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/62.jpg)
例:自動車とその部品 (2)
車 台 ボディイ
エンジン
窓ガラス
タイヤ ハンドル
62
![Page 63: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/63.jpg)
例:自動車とその部品 (3)
自動車
車 台 ボディ エンジン
63
![Page 64: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/64.jpg)
例:自動車とその部品 (4)
• 自動車のクラス階層• 自動車とその部品
これらを区別する方法は…
形式が同じになっている!!
64
![Page 65: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/65.jpg)
例:自動車のクラス階層
自動車
レーシングカー バス タクシー
汎化
特化
65
![Page 66: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/66.jpg)
例:自動車とその部品 (3)
自動車
車 台
ボディ エンジン
66
![Page 67: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/67.jpg)
合成の関係の場合
自動車
車 台
ボディ エンジン
67
![Page 68: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/68.jpg)
集約の関係の場合
家 族
お父さん
お母さん 子供
68
![Page 69: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/69.jpg)
オブジェクト図
• 定義:– クラス図に出てくるオブジェクトの相互関係
を示したもの
–静的構造を把握
69
![Page 70: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/70.jpg)
オブジェクト図の例
学部 学生
クラス図
オブジェクト図 :学部
CS
:学生
:学生
:学生
鈴木
佐藤
田中70
![Page 71: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/71.jpg)
オブジェクト図の例
学部 学生
クラス図
オブジェクト図 :学部
CS
:学生
:学生
:学生
鈴木
佐藤
田中
リンク 値
オブジェクト名
71
![Page 72: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/72.jpg)
シーケンス図
• 定義:– オブジェクト相互の協調またはメッセージを、
時間軸に着目して表示する図
72
![Page 73: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/73.jpg)
シーケンス図の例
: obj1 : obj2
73
![Page 74: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/74.jpg)
コミュニケーション図
• 定義:– オブジェクト間のメッセージのやり取りを、接続関係に着目して記す図
– シーケンス図とほぼ同じ内容となる。着目点が異なる。
74
![Page 75: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/75.jpg)
コミュニケーション図の例
:obj01
1:番号入力 3:実行
2:確認ランプ
4:結果画面表示5:結果表
示
:検索コントロー
ラ
: 検索結果画面
75
![Page 76: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/76.jpg)
ステートマシン図
• 定義:– オブジェクトの状態の変化や、その変化が起
きるための条件を表す図
76
![Page 77: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/77.jpg)
ステートマシン図の例
• ジュースの自動販売機
待機中
コイン投入
キャンセル
[120円以上 ]コイン投入
中
コイン投入
[ 120円未満 ]
購入可 ジュース販売
商品選択
77
![Page 78: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/78.jpg)
アクティビティ図
• 定義:– システムの動的側面をフローチャートの要領
で表現する図。(並行処理を表現することができる。)
78
![Page 79: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/79.jpg)
アクティビティ図の例アクター
1アクター2
79
![Page 80: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/80.jpg)
その他の図
• コンポーネント図:– ソースファイルなど、システム開発に必要なコンポーネントとそれらの依存関係を表現する図
• 配置図:– システムを実行するハードウェアの配置やそ
れらの相互接続関係を表現する図
80
![Page 81: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/81.jpg)
UML で使う図(再)
1. ユースケース図2. クラス図3. オブジェクト図4. シーケンス図5. ステートマシン図(ステートチャート)6. アクティビティ図7. コミュニケーション図8. 配置図 etc.
81
![Page 82: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/82.jpg)
UML での5つのビュー(1)
• システム開発を成功させるためには、開発するシステムを多様な視点(ビュー)から眺めることが大切。
82
![Page 83: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/83.jpg)
UML での5つのビュー(2)
• ユースケースビュー• 論理ビュー• 並行性ビュー• コンポーネントビュー• 配置ビュー
83
![Page 84: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/84.jpg)
UML での各種ビュー (3)
ユースケース図 アクティビティ図シーケンス図
コミュニケーション図(コラボレーション図)
ステートマシン図(ステートチャート)
クラス図
オブジェクト図
コンポーネント図
配置図
ユースケースビュー
論理ビュー
配置ビュー
並行性ビュー
コンポーネントビュー
84
![Page 85: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/85.jpg)
UML での5つのビュー(4)1. ユースケースビュー: アクタの視点からシス
テムの機能を見る視点2. 論理ビュー: システムの論理的構造をみる視
点(ビジネスロジックなど)3. 並行性ビュー: 処理の同期・非同期に着目す
る視点4. コンポーネントビュー:開発者のビュー。ソフ
トウェアコンポーネントの依存関係を見るビュー。
5. 配置ビュー: 物理的配置を見るためのビュー
85
![Page 86: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/86.jpg)
UML での各種ビュー (3)
ユースケース図 アクティビティ図シーケンス図
コラボレーション図
状態図
クラス図
オブジェクト図
コンポーネント図
配置図
ユースケースビュー
論理ビュー
配置ビュー
並行性ビュー
コンポーネントビュー
86
![Page 87: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/87.jpg)
ここまでのまとめ
• ソフトウェア開発は大変だ。いいプログラムなんかなかなかできない。だから、仕様をしっかり決めたり、きちんとした設計をすることは大切なんだね。その一助としてモデリング言語( UML )を用いてモデル化をしっかりやろう。 (上流工程は重要だ!)
87
![Page 88: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/88.jpg)
• UML の各ダイアグラムの使い方は、システム開発を実践しながら覚えていきましょう。
( UML の話はまずはここまで。)
88
![Page 89: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/89.jpg)
クールダウン問題
• プログラミングに関していま一番困っていることは何ですか? 5つ書き下してください。1. ___________2. ___________3. ___________4. ___________5. ___________
89
![Page 90: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/90.jpg)
レポート課題 No. 1
• 大学の掲示版として、「個人専用の掲示板」を作りたい。どんなものがいいのかを考え、以下の3点に関して作文しなさい。1. 表示画面のデザイン(外見のデザイン)2. 提供する情報・サービス(情報デザイン)3. サービスの利用形態(誰がいつ何をどのように
等) 仲間と相談してもいいよ。
これは最終回に提出してもらいます。これは最終回に提出してもらいます。90
![Page 91: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/91.jpg)
次回の予告• 次回からソフトウェア開発に取り掛かります。• UML関連のツール( astah と Eclipse )の話も
します。 「弘法は筆を選ばず」といいますが、IT 技術者とりわけプロフェッショナル IT 技術者にとっては、ツール (tool, 道具)は重要です。具体的なツールの話をしますので、欠席をすると損をしますよ…
• PC とネットワークケーブルを持参してください。
それではまた次週!
91
![Page 92: 基礎情報技術 ー第 3 日目ー](https://reader035.vdocuments.pub/reader035/viewer/2022062221/56813cdf550346895da68514/html5/thumbnails/92.jpg)
今日の内容(再)
• 要求仕様を作ってみよう
• ソフトウェア開発プロセス• UML の概説• Java プログラミング など
• 今日の課題(課題番号 No 1)
92