基礎情報技術 ーCSⅠ(第2日目)ー 平成19年6月15日(金) ○亀田・中村・千種.

Slides:



Advertisements
Similar presentations
CMU2005 海外エンジニアリングワークショップ参加報告書 1 「真の要求を見極めろ!」: teamB 要求定義をどう捉えるか ● 要求定義とは何か? 製品には、顧客の望むことを正しく反映させる必要がある。 そのために必要なものが要求仕様である。 すなわち、要求仕様とは、顧客と製品を結ぶものであり、これを作ることが要求定義である。
Advertisements

Chapter1 UML の概要とオブジェクト指向の基本概念 1 情報工学専攻 MFM10004 奥平 健太.
基礎情報技術 ー第 4 日目ー 平成 23 年 5 月 13 日(金) 担当:亀田. 確認 授業で使用した資料は授業終了後に Web にて公開します。 授業中はノートなどにメモを取ってくだ さい。 (キーワードや図だけでも結構です。) 本日出される (?) レポート課題 No.1 は来週 (明日ではない)の授業終了時に集めま.
東京工科大学 コンピュータサイエンス学部 亀田弘之
シーケンス図の生成のための実行履歴圧縮手法
4 相互作用図 後半 FM13001 青野大樹.
相互作用図 FM11010 田中健太.
ソフトウェア工学特論III 第10回 その他の図 情報通信工学専攻 GM11013 堀江 真史
アルゴリズムとプログラミング (Algorithms and Programming)
東京工科大学 コンピュータサイエンス 亀田弘之
Chapter 4 相互作用図 FM12010 中山直飛.
OJT研修 「テスト実施、テスト設計の技術習得」 日時: 8月22日(月)  場所: 本社5階.
ソフトウェア工学 知能情報学部 新田直也.
ソフトウェア工学特論Ⅲ ユースケース図 後半
ユースケース図の概要 ・UMLの図のひとつ ・ユーザの要求を表現する目的で使用 ・システム開発の初期段階で頻繁に使用.
ユースケース図 FM12012 比嘉久登.
3-5 クラス図の関係その3 福本研究室 神田 祐輔.
基礎情報技術 ー第3日目ー 平成23年4月29日(金) 担当:亀田.
基礎情報技術 ー第3日目ー 平成26年4月25日(金) 担当:亀田.
     年  月  日 名前 太郎 1 班.
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
UMLの概要と オブジェクト指向の 基本概念
ユビキタス環境における コミュニケーション・ツール選択支援機構の提案
BPMN(Business Process Modeling Notation)
ユースケース図2-4~ FM11012 中島拓也.
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
ユースケース オブジェクト指向の要求分析のためのモデル。 スウェーデンのイヴァー・ヤコブソンが1990年代前半に開発。
オブジェクト プログラミング 第1回.
基礎情報技術 ー第2日目ー 平成20年5月9日(金) 担当:亀田.
UMLとは           032234 田邊祐司.
オブジェクト指向モデリング [3] 2003年10月14日.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
東京工科大学 コンピュータサイエンス学部 亀田弘之
47070 オブジェクト指向モデリング [1] 2001年10月2日.
ソフトウェア工学 知能情報学部 新田直也.
Chapter7 その他の図 FM13010  須崎研 村上 太一.
その他の図 Chapter 7.
社会シミュレーションのための モデル作成環境
     年  月  日 名前 太郎 1 班.
     年  月  日 名前 太郎 x 班.
オブジェクト指向モデリング [2] 2003年10月 7日.
UML関係のTIPS 2008年5月26日 2010年5月16日改訂 海谷 治彦.
ミドルウェア”TSUNAGI”を 用いたWEBアプリケーションの構築
プログラミング言語論 第十四回 理工学部 情報システム工学科 新田直也.
All Rights Reserved, Copyright © 2004, Kobayashi
シナリオのアニメーション表示による 妥当性確認支援
47070 オブジェクト指向モデリング [3] 2001年10月16日.
東京工科大学 コンピュータサイエンス学部 亀田弘之
物理的側面を表現する図 Chapter6 物理的側面を表現する図について徐研究室の大楠が発表します。 FM13005 大楠拓也 徐研究室.
シナリオを用いたレビュー手法PBRの追証実験 - UMLで記述された設計仕様書を対象として -
1-3 UMLの図(ダイアグラム) コンポーネント図 システムの物理的な構成を表現 ソフトウェアコンポーネントの依存性を表現
UMLの概要とオブジェクト指向の基本概念
実践的ソフトエア開発 ー第4日目ー 平成29年5月8日(月) 担当:亀田.
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
設計情報の再利用を目的とした UML図の自動推薦ツール
物理的側面を表現する図 石原研 古賀浩之.
自然言語処理2015 Natural Language Processing 2015
ソフトウェア工学 知能情報学部 新田直也.
ソフトウェア工学 理工学部 情報システム工学科 新田直也.
データ中心システム設計方法論“DATARUN” 
自然言語処理2008 平成20年12月22日.
ソフトウェア工学 知能情報学部 新田直也.
47070 オブジェクト指向モデリング [3] 2001年10月15日.
ソフトウェア工学 知能情報学部 新田直也.
より分かりやすい ユースケースモデルを作る
知識ベースの試作計画 ●●●研究所 ●●●技術部 稲本□□ 1997年1月.
自然言語処理2016 Natural Language Processing 2016
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
Presentation transcript:

基礎情報技術 ーCSⅠ(第2日目)ー 平成19年6月15日(金) ○亀田・中村・千種

亀田の講義日程 亀田弘之(CS) 6月8日イントロ+α 6月15日 UML入門 6月22日 UMLとそのツール ソフトウェア工学 オブジェクト指向 など 6月15日 UML入門 6月22日 UMLとそのツール 6月29日 情報倫理・セキュリティ その他

本日の内容 UML各種ダイアグラムの紹介 ユースケース図 クラス図 その他のUML図 システムの「テスト」について

UMLとは (ソフトウェア工学的観点から) UML(Unified Modeling Language) システム開発の分野で現在最も注目されているツール(仕様等の記述言語)の1つ。 システムの構想をビジュアルに表現できる。 (visual language) 誰とでも誤解なく意思疎通できる。 (communication tool) 何を作るのかは、明確にしておかなければ…

UMLとは (言語論的観点から) UMLは言語 の1つ 言語 音声言語 (Spoken Language): 所謂話し言葉 若者語 etc. 文字言語 (Written Language) : 書き言葉 法律文 etc. 視覚言語 (Visual Language): 手話 (sign langauge) ダイヤグラム(Flowchart, UML etc.) etc.

ちょっと雑談(1) 言語とは 思考のための道具 知識を記述し蓄えるための道具 意思疎通のための道具 上記のことを意識しておくことが大切!

ちょっと雑談(2) UMLとは 思考のための道具 知識を記述し蓄えるための道具 意思疎通のための道具 通常はこの点のみが強調されている

ちょっと雑談(3) Syntax v.s. Semantics (統語論 v.s. 意味論) 表現形式 v.s. 意味内容

ちょっと雑談(4) Syntax v.s. Semantics (統語論 v.s. 意味論) 表現形式 v.s. 意味内容 講義ではこちらに重点を置く こちらの理解が本質

参考情報 思考と言語について 意味への取り組みについて ヴィゴツキー:“思考と言語,” 柴田義松(訳), 新読書社(2001). 柴田義松:“ヴィゴツキー入門,”寺小屋新書(2006). 思考と言語研究会(電子情報通信学会) ( http://www.ieice.org/~tl/what.html ) 12月に工科大で開催 (参加料無料) 意味への取り組みについて Semantic Web(http://www.w3.org/2001/sw/) Semantic Computing(http://www.instsec.org/) Web2.0

さて、…

UMLとは UMLでは次のダイアグラム(図)を使用する。

UMLで使用する図(旧) ユースケース図 クラス図 オブジェクト図 シーケンス図 ステートチャート図 アクティビティ図 コンポーネント図 コラボレーション図 配置図

UMLで使用する図(新) ユースケース図 クラス図 オブジェクト図 シーケンス図 ステートマシン図 (ステートチャート図) アクティビティ図 コンポーネント図 コミュニケーション図(コラボレーション図) 配置図 コンポジット図 タイミング図 相互作用概念図 順序と内容を確認すること!

ユースケース図 定義: システムの機能・要件(ユースケース)を ユーザ等(アクター )の視点で示した図 システムの使われ方(要求・機能)を記述するための図 要件(ユースケース)やアクターを具体例で示す。

(参考)ユースケース ユースケースを図示する方法が ユースケース図である。 ユースケース(システム要求機能)の記述方法は、場合によってはテキストでも良い。 講義では飛ばしました。By KAMEDA

ユースケースの参考図書 ・Alistair Cockburn: Writing Effective Use Cases, Addison-Wesley, ISBN 0201702258 (2000) ・ユースケース実践ガイドー効果的なユースケースの書き方:アリスターコーバーン,翔泳社, ISBN 4798101273(2001) 講義では飛ばしました。By KAMEDA

システムの具体例 例: 講習会予約システム 缶ジュースの自動販売機 トランプゲーム(BlackJack) お風呂温度・水量設定システム スケジュール閲覧システム チャットシステム

講習会予約システム

講習会予約システム 申込みをしている風景   Model: Chiaki KUBOMURA 協力:山野美容芸術短期大学

講習会予約システム 事務処理をしている風景 Model: Chiaki KUBOMURA 協力:山野美容芸術短期大学

講習会予約システム 要件(要求される機能): 申込み キャンセル 領収書発行 など アクター: 受講者 経理担当 顧客管理システム

缶ジュースの自動販売機 要件: コイン投入待ち 金額計算 販売可能商品の表示 購入希望商品の選定 商品の出力 釣銭の出力 アクター: 購入者

トランプゲーム(BlackJack) 要件: カードシャッフル カード要求 持ち札の把握 勝敗の判定 勝敗結果の表示 アクター: プレイヤ

講習会予約システム(再) 要件(要求される機能): 申込み キャンセル 領収書発行 など アクター: 受講者 経理担当 顧客管理システム

講習会予約システム ー ユースケース図 ー

講習会予約システム ユースケース アクター 関連 システム境界

ユースケース図の用語(1) アクター: システムと相互作用する 利用者や外部システムの役割 ユースケースを駆動する。 人間(利用者)、外部システム、ハードウェア Stickman とも言う

ユースケース図の用語(2) ユースケース: システムが提供する機能(振る舞い) アクターとシステムとの対話をモデル化 ユースケースにより、システムの用途が網羅 ユースケース名

ユースケース図の用語(3) 関連: システム境界: アクターとユースケースとの関係 関係があれば線で結ぶ システムの外部と内部とを区別する。 関連名 内部 外部

トランプゲーム ー ユースケース図 ー (練習:各自で描いてみよう!)

クラス図 とても重要な図です。 特に、programmerにとっては。

クラス図 定義: システムの静的な構造を表したもの 問題領域やシステムの構造を、論理的・静的に捉えるためのもの

クラス図の例 学生と学部 0..* 1 学生 学部 学生番号 氏名 - 学部名 住所 所在地 電話番号 +学生情報取得() + 入学手続き 0..* 1 学生 学部 学生番号 氏名 住所 - 学部名 所在地 電話番号 +学生情報取得() + 入学手続き + 休学手続き + 転学部手続き

クラス図の例 学生と学部 クラス名 関係 0..* 1 学生 学部 学生番号 氏名 - 氏名 住所 住所 電話番号 属性 +学生情報取得() 0..* 1 学生 学部 学生番号 氏名 住所 - 氏名 住所 電話番号 属性 +学生情報取得() + 入学手続き + 休学手続き + 転学部手続き 操作

クラス図の例 学生と学部 クラス名 多重度 0..* 1 学生 学部 学生番号 氏名 - 氏名 住所 住所 電話番号 属性 0..* 1 学生 学部 学生番号 氏名 住所 - 氏名 住所 電話番号 属性 +学生情報取得() + 入学手続き + 休学手続き + 転学部手続き 操作

クラス図の用語(1) クラス: 具体物(インスタンス)を抽象化したもの 属性の操作(関数)をもつ インスタンスの設計図に相当 クラス名 属 性 操 作

クラス図の用語(1) クラス: 具体物(インスタンス)を抽象化したもの 属性と属性の操作(関数)をもつ インスタンスの設計図に相当 後で参照するためのもの クラス名 属性のみ(属性値なし) 属 性 操 作 (属性に対する)関数

クラス図の用語(2) 関係:クラス間の相互関係 クラスA クラスB 関連 集約 合成 汎化 依存

クラス図の用語(3-1) 多重度: クラスから生成されるインスタンス(オブジェクト)の個数などを表す。 N M

クラス図の用語(3-2) 多重度の記述法: n nのみ 通常は0や1が使われる 1.. 1以上 1..* 1以上 n nのみ 通常は0や1が使われる 1.. 1以上 1..* 1以上 * 任意の数 他の数字と組合わせて使用 1,3,7 1か3か7 離散値を扱う場合に使用 例: 3..*  3以上

クラス図の例(再) 学生と学部 多重度1 多重度0以上 クラス名 多重度 0..* 1 学生 学部 学生番号 氏名 - 氏名 住所 住所 0..* 1 学生 学部 学生番号 氏名 住所 - 氏名 住所 電話番号 属性 +学生情報取得() + 入学手続き + 休学手続き + 転学部手続き 操作

練習問題 (クラス図の作成)

クラスの例1 自動車クラス is-a関係 Racing car is a car. レーシングカー クラス バスクラス タクシークラス

自動車のクラス階層(1) 自動車 レーシングカー バス タクシー

自動車のクラス階層(2) 自動車 レーシングカー バス タクシー

例:自動車とその部品(1) 車 台 ボディ エンジン 窓ガラス タイヤ ハンドル

例:自動車とその部品(2) 車 台 ボディイ エンジン 窓ガラス タイヤ ハンドル

例:自動車とその部品(3) 自動車 車 台 ボディ エンジン

例:自動車とその部品(4) 自動車のクラス階層 自動車とその部品 これらを区別する方法は… 形式が同じになっている!!

例:自動車のクラス階層 自動車 レーシングカー バス タクシー 汎化 特化

例:自動車とその部品(3) 自動車    車 台 ボディ エンジン

合成の関係の場合 自動車    車 台 ボディ エンジン

集約の関係の場合 家 族   お父さん お母さん 子供

オブジェクト図 定義: クラス図に出てくるオブジェクトの相互関係を示したもの 静的構造を把握

オブジェクト図の例 クラス図 学部 学生 オブジェクト図 :学部 :学生 鈴木 CS :学生 佐藤 :学生 田中

オブジェクト図の例 クラス図 学部 学生 オブジェクト図 :学部 :学生 オブジェクト名 鈴木 CS :学生 佐藤 リンク 値 :学生 田中

シーケンス図 定義: オブジェクト相互の協調またはメッセージを、時間軸に着目して表示する図

シーケンス図の例 :obj1 :obj2

コミュニケーション図 定義: オブジェクト間のメッセージのやり取りを、接続関係に着目して記す図 シーケンス図とほぼ同じ内容となる。 着目点が異なる。

コミュニケーション図の例 1:番号入力 3:実行 2:確認ランプ :obj01 :検索コントローラ 4:結果画面表示 5:結果表示 検索結果画面

ステートマシン図 定義: オブジェクトの状態の変化や、その変化が起きるための条件を表す図

ステートチャート図の例 ジュースの自動販売機 待機中 コイン投入 キャンセル [120円以上] 商品選択 ジュース販売 コイン投入中 購入可 [120円未満] コイン投入

アクティビティ図 定義: システムの動的側面をフローチャートの要領で表現する図。 (並行処理を表現することができる。)

アクティビティ図の例 アクター1 アクター2

その他の図 コンポーネント図: 配置図: ソースファイルなど、システム開発に必要なコンポーネントとそれらの依存関係を表現する図 システムを実行するハードウェアの配置やそれらの相互接続関係を表現する図

UMLで使う図(再) ユースケース図 クラス図 オブジェクト図 シーケンス図 ステートマシン図(ステートチャート) アクティビティ図 コミュニケーション図 配置図 etc.

UMLでの5つのビュー(1) システム開発を成功させるためには、開発するシステムを多様な視点(ビュー)から眺めることが大切。

UMLでの5つのビュー(2) ユースケースビュー 論理ビュー 並行性ビュー コンポーネントビュー 配置ビュー

UMLでの各種ビュー(3) 論理ビュー ユースケースビュー クラス図 オブジェクト図 シーケンス図 アクティビティ図 ユースケース図 ステートマシン図 (ステートチャート) コミュニケーション図 (コラボレーション図) コンポーネント図 配置図 コンポーネントビュー 並行性ビュー 配置ビュー

UMLでの5つのビュー(4) ユースケースビュー: アクタの視点からシステムの機能を見る視点 ユースケースビュー: アクタの視点からシステムの機能を見る視点 論理ビュー: システムの論理的構造をみる視点(ビジネスロジックなど) 並行性ビュー: 処理の同期・非同期に着目する視点 コンポーネントビュー:開発者のビュー。ソフトウェアコンポーネントの依存関係を見るビュー。 配置ビュー: 物理的配置を見るためのビュー

UMLでの各種ビュー(3) 論理ビュー ユースケースビュー クラス図 オブジェクト図 シーケンス図 アクティビティ図 ユースケース図 状態図 コラボレーション図 コンポーネント図 配置図 コンポーネントビュー 並行性ビュー 配置ビュー

まとめ

システム開発(1) 要求分析 仕様分析 シナリオ分析 オブジェクト分析 アーキテクキャ設計 詳細設計 テスト

システム開発(2) 要求分析: システム開発の最初の工程。 顧客が望む機能を洗い出すのが目的 ー>ユースケース図を描く (結構大変で、かつ、案外重要。Why?)

仕様分析 シナリオ分析: システムの振る舞いのモデルを記述する。シーケンス図を作るが、必要に応じてコラボレーション図やアクティビティ図も作る。 オブジェクト分析: シナリオ分析の結果を踏まえて作成する。クラス図を作るが、必要ならばオブジェクト図なども作る。

次は…

テスト ソフトウェアに埋もれているバグを見つけて、取り除く作業。 無駄なくテストする。 バグの発見が目的。 「バグが無いこと」や「品質向上」はできない。 1つでも多くバグを見つけることが肝要!

テストの種類(1) 運用テスト システムテスト 結合テスト 単体テスト

テストの種類(2) 運用テスト: ユーザが実際の運用環境で諸機能を試してみるテスト。 運用テスト: ユーザが実際の運用環境で諸機能を試してみるテスト。 システムテスト: 運用環境に近い状況で、システム全体の性能や機能をみるテスト。 結合テスト: モジュールごとに結合し、モジュール間インタフェースを確認するテスト 単体テスト: モジュール単位でのテスト。

テストの種類(1) ーーーーーーーーーーーーーーーーーーー 開発段階 | テストの種類 運用テスト | 要求定義 開発段階 | テストの種類 運用テスト | 要求定義 システムテスト | 外部設計 結合テスト | 内部設計 単体テスト | 製造

テストはシステム開発において、極めて重要な意味合いを持つ。 テスト方法に関しては、いずれ本格的に勉強してください。 テスト項目を事前に洗い出すなど、相当の努力を必要とします。 テストがキチンとできなければ、まともなシステムはできない!!

All is over.