Microsoft Word - astah_tutorial.docx



Similar documents
Microsoft Word - tutorial5-teammodeling.docx

Microsoft Word - tutorial7-language.docx

Microsoft Word - tutorial6-requirement.docx

Microsoft Word - tutorial2-datamodeling.docx

Microsoft Word - tutorial3-dbreverse.docx

ER 図を使ってみよう 使用できる製品 : astah* professional デモ動画 : ER 図の IDEF1X と IE の両記法をサポート リソース イベント サマリ

RaQuest MindManager

Fckeditor の 基 本 的 な 使 い 方 Point!! fckeditor を 上 手 く 使 うコツ 始 めにページ 内 に 一 通 り 文 章 ( 画 像 や 表 を 含 む)を 書 いてから 文 字 装 飾 をして 下 さい 編 集 したいテキストや 画 像 を 選 択 し アイコ

<4D F736F F D20819C B78AFA95DB91538C7689E68DEC90AC289

astah基本操作ガイド

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図

GRIDY SFA カスタム 項 目 操 作 ガイド 用 本 書 はに 必 要 な 操 作 を 解 説 しております は GRIDY SFA ののことです GRIDY SFA へ 申 し 込 み 最 初 に 登 録 を 行 った 方 がそのままとなります カスタム 項 目 はの 方 のみ 操 作 可

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

1

検 討 検 討 の 進 め 方 検 討 状 況 簡 易 収 支 の 世 帯 からサンプリング 世 帯 名 作 成 事 務 の 廃 止 4 5 必 要 な 世 帯 数 の 確 保 が 可 能 か 簡 易 収 支 を 実 施 している 民 間 事 業 者 との 連 絡 等 に 伴 う 事 務 の 複 雑

01_07_01 データのインポート_エクスポート_1

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

Microsoft Word - tutorial8-10.docx

R4財務対応障害一覧

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

Word 003 スキルブック 06 - オブジェクトの 利 用 0.Word で 作 る 表 : 行 幅 を 最 小 値 より 小 さく 設 定 する 3 表 の 左 右 のサイズを 適 宜 調 整 します Word で 表 を 作 成 するとき, 列 幅, 行 幅 ともに 基 本 的 に 自 由

1 林 地 台 帳 整 備 マニュアル( 案 )について 林 地 台 帳 整 備 マニュアル( 案 )の 構 成 構 成 記 載 内 容 第 1 章 はじめに 本 マニュアルの 目 的 記 載 内 容 について 説 明 しています 第 2 章 第 3 章 第 4 章 第 5 章 第 6 章 林 地

Enterprise Architect日本語版 モデリング操作ガイド (データベースモデリング編)

<4D F736F F D F8D828D5A939982CC8EF68BC697BF96B38F9E89BB82CC8A6791E52E646F63>

改 定 履 歴 改 訂 日 改 訂 理 由 及 び 内 容 承 認 者 確 認 者 改 訂 者 05/8/7 新 版 発 行 05/0/5 推 奨 動 作 環 境 を 追 記

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

社 会 福 祉 協 議 会 様 の 運 営 する 以 下 の 相 談 業 務 をサポートします 1. 日 常 生 活 自 立 支 援 事 業 2. 成 年 後 見 制 度 事 業 3. 高 齢 者 ふれあい 相 談 センター 事 業 ( 高 齢 者 の 何 でも 相 談 支 援 ) 4. 資 金 貸

新 生産管理システム ご提案書 2002年10月15日 ムラテック情報システム株式会社

<4D F736F F D208ED089EF95DB8CAF89C193FC8FF38BB CC8EC091D492B28DB88C8B89CA82C982C282A282C42E646F63>

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

WEB保守パック申込

目 次 1 インストール 手 順 プログラム データファイルのインストール Microsoft Access2013Runtime SP1(32bit) 版 のインストール 基 本 操 作 ログイン メニュー...

1.3 利 用 方 法 図 1 国 立 国 会 図 書 館 デジタルコレクション 送 信 サービスの 対 象 資 料 本 文 の 閲 覧 は 図 書 館 サービスカウンター 備 え 付 けの 専 用 パソコン(1 台 )のみでの 利 用 となります 利 用

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

・モニター広告運営事業仕様書

Microsoft PowerPoint _リビジョンアップ案内_最終.pptx

ez_meishi.ppt

預 金 を 確 保 しつつ 資 金 調 達 手 段 も 確 保 する 収 益 性 を 示 す 指 標 として 営 業 利 益 率 を 採 用 し 営 業 利 益 率 の 目 安 となる 数 値 を 公 表 する 株 主 の 皆 様 への 還 元 については 持 続 的 な 成 長 による 配 当 可

研究者情報データベース

主要生活道路について

5-2.操作説明書(支店連携)_xlsx

1.AmiVoice SP2 の 最 新 版 について 無 料 アップデートモジュールにつきまして 以 下 よりダウンロードできます 標 準 ( 大 ) 汎 用 音 響 モデル という 辞 書 が

<819A955D89BF92B28F BC690ED97AA8EBA81418FA48BC682CC8A8890AB89BB816A32322E786C7378>

電子申告直前研修会(所得税編)

リング 不 能 な 将 来 減 算 一 時 差 異 に 係 る 繰 延 税 金 資 産 について 回 収 可 能 性 がないも のとする 原 則 的 な 取 扱 いに 対 して スケジューリング 不 能 な 将 来 減 算 一 時 差 異 を 回 収 できることを 反 証 できる 場 合 に 原 則

03_主要処理画面.xlsx

V-CUBE One

目 次 1. ログイン ユーザー 登 録 TOP 職 員...8 (1) 職 員 の 名 刺 表 示...8 (2) 職 員 の 名 刺 一 括 ダウンロード...8 (3) 職 員 の 名 刺 帳 から 検 索 検 索...9 (1) 氏 名

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参

Microsoft Word - 03accessデータベース演習レジメ.doc

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e

SchITコモンズ【活用編】

<4D F736F F D E598BC68A8897CD82CC8DC490B68B7982D18E598BC68A8893AE82CC8A C98AD682B782E993C195CA915B C98AEE82C382AD936F985E96C68B9690C582CC93C197E1915B927582CC898492B75F8E96914F955D89BF8F915F2E646F6

Microsoft PowerPoint - c3_op-manual.pdf

2 課 題 管 理 ( 科 学 研 究 費 補 助 金 ) 画 面 が 表 示 されます 補 助 事 業 期 間 終 了 後 欄 の[ 入 力 ] をクリックします [ 入 力 ]ボタンが 表 示 されていない 場 合 には 所 属 する 研 究 機 関 の 事 務 局 等 へお 問 い 合 わせく

1-1 一覧画面からの印刷

(2)大学・学部・研究科等の理念・目的が、大学構成員(教職員および学生)に周知され、社会に公表されているか

WebMail ユーザーズガイド

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

参 考 1 無 線 局 情 報 入 力 支 援 ( 基 地 局 と 固 定 局 の 事 項 書 のみに 対 応 ) 無 線 局 情 報 入 力 支 援 機 能 とは 過 去 に 申 請 したデータをダウンロードし 無 線 局 インターネット 申 請 アプリケーション で 利 用 できる 便 利 な

2016 年 度 情 報 リテラシー 次 に Excel のメニューから[ 挿 入 ]タブをクリックし 表 示 されたメニュー 内 の[グラフ]にある[ 折 れ 線 グラフ]のボタンをクリックする するとサブメニューが 表 示 されるので 左 上 の[ 折 れ 線 ]を 選 択 する [ 挿 入 ]

地域ポータルサイト「こむねっと ひろしま」

(6) 事 務 局 職 場 積 立 NISAの 運 営 に 係 る 以 下 の 事 務 等 を 担 当 する 事 業 主 等 の 組 織 ( 当 該 事 務 を 代 行 する 組 織 を 含 む )をいう イ 利 用 者 からの 諸 届 出 受 付 事 務 ロ 利 用 者 への 諸 連 絡 事 務

PowerPoint プレゼンテーション

(Microsoft Word - \215u\213`\203m\201[\203g doc)

私立大学等研究設備整備費等補助金(私立大学等

説 明 内 容 料 金 の 算 定 期 間 と 請 求 の 単 位 について 分 散 検 針 制 日 程 等 別 料 金 料 金 の 算 定 期 間 と 支 払 義 務 発 生 日 日 程 等 別 料 金 の 請 求 スケジュール 料 金 のお 支 払 い 方 法 その 他 各 種 料 金 支 払

1. アクセスする 2. 簡 易 検 索 画 面 (fig. 1) アクセスすると 最 初 に 出 る 画 面 です 検 索 語 入 力 ボックスにキーワードを 入 力 して 論 文 検 索 ボタンをクリックし ます 3. ボックス 下 部 のチェック 項

<4D F736F F F696E74202D B E E88E68C9A90DD8BC65F E DC58F4994C52E >

6 構 造 等 コンクリートブロック 造 平 屋 建 て4 戸 長 屋 16 棟 64 戸 建 築 年 1 戸 当 床 面 積 棟 数 住 戸 改 善 後 床 面 積 昭 和 42 年 36.00m m2 昭 和 43 年 36.50m m2 昭 和 44 年 36.

PowerPoint プレゼンテーション

第4回税制調査会 総4-1

OpenOffice.org のプレゼンテーション 機 能 ここでは OpenOffice.org のプレゼンテーションツールである Impress について 説 明 します まず 最 初 に プレゼ ンテーションの 作 成 と 発 表 のやり 方 を 解 説 します そのあとで プレゼンテーション

2. 当 初 の 目 的 と 現 状 コア 会 議 の 役 割 目 的 現 状 分 析 マネジメント 会 議 の 運 営 や あり 方 問 題 取 り 組 みにつ いての 議 論 会 員 からの 意 見 の 吸 い 上 げ と 内 容 の 各 会 議 への 振 り 分 け 全 体 会 運 営 会 議

IAF ID x:2010 International Accreditation Forum, Inc. Page 2 of 8 国 際 認 定 機 関 フォーラム(IAF)は 適 合 性 評 価 サービスを 提 供 する 機 関 の 認 定 のためのプログラ ムを 運 営 している この 認 定

経験発表

<4D F736F F D2090BF8B818AC7979D8B40945C91808DEC837D836A B2E646F63>

< F2D8AC493C CC81698EF3928D8ED2816A2E6A7464>

0 目 次 1. 畑 のあしあとの 使 い 方 P.3 2.オプション P.6 3.モバイルデバイスより 履 歴 取 得 P.8 4. 基 本 情 報 管 理 P 栽 培 計 画 P.22 6.ドキュメント 出 力 P 栽 培 履 歴 管 理 P.28 8.モバイルでの 栽

Microsoft Word - Start Up Guide1 .docx

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

ワープロソフトウェア

EC-OrangePOS 簡易マニュアル

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 入 力 項 目 について 基 本 情

名 刺 データ 登 録 最 初 の 名 刺 の 登 録 の 際 には ボタンを 押 します 名 刺 登 録 画 面 が 開 きますので ボタンを 押 すと 新 規 の 登 録 画 面 が 現 れます 各 項 目 に 名 刺 データを 入 力 していきます グループは 事 前 に 登 録 したてあるも

5 振 込 依 頼 書 の 作 成 方 法 ()ツールの 起 動 コピーまたはダウンロードしたツールをダブルクリックして 開 いてください (ツール 起 動 の 際 マクロを 有 効 にしてください ) ダブルクリック 後 以 下 のメッセージが 出 力 されますので 読 み 取 り 専 用 ボタン

スライド 1

スライド 1

Microsoft Word - word_05.docx

スライド 1

工 事 名 能 代 南 中 学 校 体 育 館 非 構 造 部 材 耐 震 改 修 工 事 ( 建 築 主 体 工 事 ) 入 札 スケジュール 手 続 等 期 間 期 日 期 限 等 手 続 きの 方 法 等 1 設 計 図 書 等 の 閲 覧 貸 出 平 成 28 年 5 月 24 日 ( 火

<4D F736F F D2091E F18CB48D C481698E7B90DD8F9590AC89DB816A2E646F63>

<4D F736F F D B68F918DEC90AC89898F4B899E977095D2816A2E646F63>

安 芸 太 田 町 学 校 適 正 配 置 基 本 方 針 の 一 部 修 正 について 1 議 会 学 校 適 正 配 置 調 査 特 別 委 員 会 調 査 報 告 書 について 安 芸 太 田 町 教 育 委 員 会 が 平 成 25 年 10 月 30 日 に 決 定 した 安 芸 太 田

一般競争入札について

PowerPoint プレゼンテーション

Ⅰ 校 外 における 研 修 の 留 意 点 1 校 外 における 研 修 のコマ 数 の 考 え ア) 午 前 午 後 の 講 座 は 0.5 日 (0.5 コマ) イ) 全 日 の 講 座 は 1.0 日 (1.0 コマ) 2 校 外 における 研 修 として 選 択 できない 講 座 研 修

2 県 公 立 高 校 の 合 格 者 は このように 決 まる (1) 選 抜 の 仕 組 み 選 抜 の 資 料 選 抜 の 資 料 は 主 に 下 記 の3つがあり 全 高 校 で 使 用 する 共 通 の ものと 高 校 ごとに 決 めるものとがあります 1 学 力 検 査 ( 国 語 数

Transcription:

[ 最 も 近 なソフトウェア 開 発 設 計 援 ツール] 使 用 バージョン:astah* 6.0, 6.1 2010/03/05 株 式 会 社 チェンジビジョン 1 / 153

目 次 このチュートリアルの 概 要 5 関 連 ドキュメント 5 基 本 操 作 ガイド 5 Tips( 便 利 な 使 い 方 ) 5 フィードバックについて 5 マインドマップを 活 用 してみよう 6 マインドマップの 紹 介 6 マインドマップで 要 求 分 析 してみよう 6 マインドマップと 設 計 図 がオールインワンでスムーズに 連 携 できる 7 マインドマップで 要 求 ヒアリングしよう 8 マインドマップ 関 連 参 考 書 籍 12 データモデリングしよう 13 ER 図 を 使 ってみよう 14 IDEF1X IE による ER 図 を 作 成 しよう 15 エンティティの 種 類 について 考 えてみよう 16 マインドマップからエンティティへの 変 換 をしてみよう 17 データモデリングのプロセスを 使 用 してみよう 20 エンティティの 表 示 レベルの 設 定 をしてみよう 20 論 理 名 と 物 理 名 を 使 ってみよう 22 ドメインを 活 用 しよう 23 リレーションを 張 ってみよう 25 データ 型 を 追 加 してみよう 30 エンティティ 定 義 書 を 出 力 してみよう 31 SQL 出 力 (SQL-92 準 拠 )してみよう 34 DB リバースを 使 ってみよう(サンプル サポート 対 象 外 ) 38 ご 利 用 の 前 に 38 予 備 知 識 38 データベースの 環 境 設 定 をしてみよう 38 astah* データベースリバースコンポーネントを 使 用 してみよう 42 作 成 した asta ファイルを astah* professional で 開 いてみよう 45 astah* データベースリバースコンポーネントの 改 良 について 48 CRUD を 使 ってみよう 49 CRUD の 概 要 49 CRUD 分 析 の 利 点 を 考 えよう 49 CRUD 分 析 してみよう 50 2 / 153

CRUD をドキュメント 出 力 してみよう 57 チーム 開 発 してみよう 60 マージ 機 能 ってどんな 機 能? 60 まず 簡 単 マージを 使 ってみよう 60 参 照 プロジェクト 管 理 ってどんな 機 能? 71 参 照 プロジェクト 管 理 を 使 ってみよう 71 要 求 の 機 能 を 使 ってみよう 78 SysML の 概 要 を 知 ろう 78 SysML とは 78 誕 生 の 背 景 78 SysML の 概 要 78 SysML での 各 図 78 astah*での 要 求 周 りの 機 能 の 利 用 80 要 求 80 テストケース 80 要 求 テーブル 80 導 出 コピー 満 足 検 証 洗 練 トレース 81 導 出 <<derivereqt>> 81 コピー<<copy>> 82 満 足 <<satisfy>> 82 検 証 <<verify>> 83 洗 練 <<refine>> 83 トレース<<trace>> 84 要 求 テーブルを 使 用 しての 要 求 モデリング[ 組 み 込 み 系 サンプル]しよう 84 要 求 テーブルを 使 用 しての 要 求 モデリング[WEB 系 サンプル]しよう 90 言 語 サポート 機 能 を 使 ってみよう 98 Java 98 Java 基 本 機 能 98 Java スケルトンコードを 作 成 してみよう 101 Java ソースコードの 読 み 込 みをしてみよう 103 C++ 106 C++ 基 本 機 能 106 C++スケルトンコードを 作 成 をしてみよう 109 C++リバースをしてみよう(サンプル サポート 対 象 外 ) 113 C# 119 C# 基 本 機 能 119 C#スケルトンコードを 作 成 してみよう 122 3 / 153

C#リバースをしてみよう(サンプル サポート 対 象 外 ) 125 構 造 化 分 析 しよう 131 構 造 化 分 析 とは 131 DFD(データフロー 図 ) 132 DFD(データフロー 図 )を 使 ってみよう 133 フローチャートを 使 ってみよう 138 トレーサビリティマップを 使 ってみよう 142 納 品 資 料 としてのドキュメントを 作 成 してみよう 144 RTF 出 力 してみよう 144 HTML 出 力 してみよう 146 便 利 な 機 能 を 使 ってみよう 150 図 上 でマウスを 使 ってスクロール 150 編 集 を 取 り 消 す(UNDO) 150 モデルから 図 へのジャンプ 150 図 からツリーへのジャンプ 151 API を 使 ってみよう 153 モデル 参 照 API 153 モデル 編 集 API 153 図 要 素 参 照 API 153 図 要 素 編 集 API 153 API のサンプル 153 4 / 153

このチュートリアルの 概 要 この 資 料 は astah*のいくつかの 機 能 とその 活 用 方 法 を 理 解 してもらうことを 目 的 として astah*の 使 用 方 法 や 活 用 例 を 紹 介 します 特 に UML 版 や professional 版 に 含 まれる 主 な 機 能 に 関 連 した astah*の 利 用 例 です 次 の 方 々を 対 象 としています astah*をこれから 評 価 される 方 今 まで astah*を 使 ったことがない 方 すでに astah*のユーザーの 方 各 章 は 次 の 通 りです マインドマップを 活 用 してみよう データモデリングしよう CRUD を 使 ってみよう チーム 開 発 してみよう 要 求 を 整 理 してみよう 言 語 サポート 機 能 を 使 ってみよう 構 造 化 分 析 しよう フローチャートを 使 ってみよう トレーサビリティマップを 使 ってみよう 納 品 資 料 としてのドキュメントを 作 成 してみよう 便 利 な 機 能 を 使 ってみよう API を 使 ってみよう 関 連 ドキュメント 基 本 操 作 ガイド このチュートリアルと 別 に 基 本 操 作 ガイドを 用 意 してあります astah*の 画 面 構 成 図 やモデルの 作 成 図 要 素 の 整 列 や 色 の 設 定 など astah*の 基 本 的 な 操 作 を 知 りたい 場 合 はそちらをご 覧 ください 使 用 できるエディション: astah* professional astah* UML astah* community 日 本 語 版 :http://astah.change-vision.com/ja/tutorial/operation-guide.html 英 語 版 : http://astah.change-vision.com/en/tutorial/operation-guide.html TIPS このチュートリアルと 別 に TIPS を 用 意 しています 便 利 な 使 い 方 については そちらを 参 考 にしてください ( 旧 JUDE5.5 時 点 の Tips のため 最 新 の astah*とは 異 なる 場 合 があります ) 使 用 できるエディション: astah* professional astah* UML astah* community http://astah.change-vision.com/ja/tutorial/tips.html フィードバックについて このドキュメントに 関 するフィードバックについては 下 記 URL 記 載 のお 問 い 合 わせ 先 までお 送 りください http://astah.change-vision.com/ja/contact-support/contact-us.html 5 / 153

マインドマップを 活 用 してみよう 使 用 できるエディション: astah* professional astah* UML astah* think! astah* 上 でのマインドマップの 活 用 方 法 シーン ユーザーは 様 々です ここでは マインドマップを 開 発 で 活 用 する 例 をいくつか 挙 げていきます マインドマップの 紹 介 使 用 できるエディション: astah* professional astah* UML astah* think! デモ 動 画 :http://astah.change-vision.com/ja/movie.html#mindmap キーワードを 自 由 に 入 力 し 枝 を 放 射 状 に 広 げて 作 成 するマインドマップは アイディアを 発 散 させ 思 考 を 見 え る 化 します 会 議 の 議 事 録 作 成 やブレイン ストーミング プロジェクトのふりかえりなどは 職 種 に 関 わらず 利 用 することができ ソフトウェア 開 発 においては 顧 客 要 求 の 聞 き 取 りやテストケースの 洗 い 出 しといった 工 程 に 合 わせた 活 用 が 可 能 です 考 えを 整 理 する 時 発 想 を 生 み 出 す 時 思 考 を 妨 げることなくスムーズにグラフィカルな ノートを 作 成 できます (*マインドマップは 英 国 Buzan Organisation Ltd.の 登 録 商 標 です ) マインドマップで 要 求 分 析 してみよう 使 用 できるエディション: astah* professional astah* UML みなさんは 顧 客 からの 要 求 をどのように 設 計 につなげているでしょうか? 様 々な 方 法 論 があると 思 いますが ここでは astah*を 使 ってマインドマップで 要 求 分 析 を 行 ってみましょう 6 / 153

マインドマップと 設 計 図 がオールインワンでスムーズに 連 携 できる astah*では マインドマップと UML や ER 図 などの 設 計 用 の 図 が1つのツールに 入 っていることより 互 いの 図 要 素 に 簡 単 に 変 換 でき 要 求 分 析 から 設 計 までスムーズに 移 行 できます マインドマップのトピックを UML モデル(クラス ユースケース その 他 )に 変 換 できます 構 造 ツリーから UML 図 へのドラッグ&ドロップで 変 換 でき 変 換 された UML クラスへはハイパーリンクを 自 動 で 追 加 することも 可 能 です UML モデルからマインドマップのトピックへの 変 換 もドラッグにより 可 能 です 7 / 153

マインドマップで 要 求 ヒアリングしよう [ 収 集 ] マインドマップは 極 めてシンプルなフォーマットから 成 り 立 っていますが アイディアを 発 散 することに 長 けてお り 議 事 録 や 要 求 の 収 集 に 向 いていると 言 えます 顧 客 との 打 合 せで 会 話 しながら PC をおもむろに 開 き astah* で 要 求 をどんどんメモしておきましょう このシーンでは ラフで 柔 らかい 曖 昧 なアイデアを 羅 列 しておくだけ にとどめます 特 に 顧 客 の 何 気 ないつぶやきや 非 機 能 要 件 など 見 落 としがちな 発 言 もどんどん 書 いていきましょ う astah*では 様 々なマインドマップテンプレートも 用 意 されており このケースでは 以 下 のテンプレートファイ ルを 使 うと 良 いでしょう astah* インストールフォルダ template mindmap UserRequirement.asta また テンプレート 自 身 を 変 更 したい 場 合 であれば 編 集 して 自 分 用 のテンプレートにすることもできます [ 整 理 分 析 ] 一 方 開 発 用 の 各 図 (UML ER 図 など)の 最 終 形 モデルである 実 装 モデルは 厳 格 でカチッとしており 要 求 から 実 装 モデルはこの 段 階 では 距 離 があります したがってマインドマップで 書 かれた 仕 様 を 整 理 分 析 し モデリング の 材 料 として 利 用 してみると モデリングの 曖 昧 なところが 見 えてくるはずです そのマインドマップを 会 議 室 に 持 ち 込 みプロジェクタに 映 しながら 要 求 やモデルで 曖 昧 な 点 を 議 論 するのもよいでしょう こうすることでメンバー 間 のコミュニケーションの 促 進 や 待 ち 時 間 の 削 減 に 貢 献 できるでしょう [ 構 築 ] 曖 昧 なところが 明 確 になってくれば それを 分 析 モデル 設 計 モデル 実 装 モデルへと 具 体 化 してきましょう 8 / 153

整 理 分 析 構 築 の 例 (マインドマップからユースケース 図 への 変 換 ) 例 えば マインドマップで 市 の 図 書 館 システムの 要 求 ヒアリングをし それをユースケース 図 にする 例 を 挙 げます 同 様 の 内 容 を 動 画 でも 参 照 できます デモ 動 画 :http://astah.change-vision.com/ja/movie.html#mindmap-to-usecase なぜ? 誰 が?どこで?について 以 下 のようにヒアリングしました 9 / 153

astah*の 特 徴 としてマインドマップのトピックに UML などのアイコンを 追 加 することができます ここでは Who の 項 目 に 挙 げた 人 に 対 して UML のアクターアイコン When の 項 目 に 挙 げた 機 能 的 要 求 に 対 して UML のユースケースアイコンを 付 加 しました こうすることで ビジュアル 面 での 恩 恵 を 受 けるだけでなく 構 造 ツリーのトピックから 他 の 図 (たとえばユースケース 図 )へドラッグアンドドロップしたときに 変 換 したいモデル の 種 類 がデフォルトで 選 択 されるという 利 点 があります さて トピックからユースケース 図 を 作 ってみましょう メニューから 空 のユースケース 図 を 作 成 します 次 にマインドマップのトピックからアクターを 作 成 します 構 造 ツリーでマインドマップの Who 配 下 のトピックを 選 択 し ユースケース 図 にドラッグアンドドロップします ダイアログで 種 類 がアクターになっていることを 確 認 して OK ボタンをクリックします 10 / 153

以 下 のようにアクターができました 次 にトピックからユースケースを 作 成 したいと 思 います 構 造 ツリーでマインドマップの When 配 下 のトピックをユースケース 図 にドラッグアンドドロップします ダイアログで 種 類 がユースケースになっていることを 確 認 して OK ボタンをクリックします 11 / 153

以 下 のようにユースケースができました 後 は ユースケース 図 で 関 係 を 記 述 します このようにマインドマップを 経 由 して 設 計 するとコミュニケーションも 活 発 になり 曖 昧 な 点 やモレがなくなり 開 発 がスムーズに 進 むはずです マインドマップ 関 連 参 考 書 籍 ソフトウェア 開 発 におけるマインドマップの 活 用 法 について 次 の 書 籍 も 参 照 ください ソフトウェア 開 発 に 役 立 つマインドマップ 日 経 BP 社 平 鍋 健 児 著 ブログ 記 事 : http://blogs.itmedia.co.jp/hiranabe/2007/05/post_893a.html Amazon: http://www.amazon.co.jp/asin/dp/4822283143/xpjp-22 12 / 153

データモデリングしよう オブジェクト 指 向 分 析 設 計 がかなり 現 場 でも 使 われるようになってきましたが それで も データモデリングは 重 要 です オブジェクト 指 向 は プログラミング 言 語 から 来 た 概 念 を 設 計 に 援 用 しようとしています データモデリングは アプリケーションを 超 えた 寿 命 を 持 つデータをモデリングしようとしています 両 者 は 補 い 合 って ひとつの 意 味 論 の 中 で 協 調 して 使 われても よい ものなので す オブジェクト 指 向 至 上 主 義 でも データモデリング 至 上 主 義 でも 現 実 の 開 発 はう まく 行 きません オブジェクト 指 向 言 語 と リレーショナルデータベースをつなぐのは DAO や Hibernate のようなパターンやツールを 使 うこともありますが 逆 に これまで 蓄 えられた 業 務 モデリングの 知 見 を 利 用 しながらオブジェクト 指 向 設 計 をすることも 可 能 です オ ブ ジ ェ ク ト 指 向 開 発 クラス 図 ( 分 析 ) クラス 図 ( 設 計 ) デ ー タ モ デ リ ン グ 論 理 データモデル 物 理 データモデル 13 / 153

ER 図 を 使 ってみよう 使 用 できる 製 品 : astah* professional デモ 動 画 :http://astah.change-vision.com/ja/movie.html#er-diagram ER 図 の IDEF1X と IE の 両 記 法 をサポート リソース イベント サマリー のエンティティカテゴリ や 階 層 的 な ドメイン の 活 用 (エンティティにドラッグ&ドロップできます) 論 理 物 理 名 の 交 換 SQL 出 力 などに 対 応 しています マインドマップ UML 図 要 素 データフロー 図 要 素 から ER エンティティへの 変 換 又 はその 逆 の 連 携 も 実 現 しています astah* の ER 図 の 主 な 機 能 は 以 下 の 通 りです IDEF1X IE による ER 図 の 作 成 エンティティ 定 義 書 出 力 DB リバース(API 利 用 アプリケーションサンプル サポート 対 象 外 ) マインドマップからエンティティへの 変 換 SQL 出 力 (SQL-92 準 拠 ) ドメインの 対 応 表 示 レベル 物 理 名 の 対 応 14 / 153

IDEF1X IE による ER 図 を 作 成 しよう 使 用 できる 製 品 : astah* professional astah*の ER 図 は 二 つの 表 記 法 に 対 応 しており すぐに 切 り 替 えられます [IDEF1X 表 記 ] [IDEF1X 表 記 ] 15 / 153

エンティティの 種 類 について 考 えてみよう 使 用 できる 製 品 : astah* professional エンティティとは システム(データベース)の 管 理 対 象 となりうるもので 人 モノ イベント 履 歴 などがありま す エンティティには リソース 系 イベント 系 サマリー 系 などがあり 以 下 のように 分 類 されます エンティティ 種 別 リソース 系 イベント サマリー 系 主 な 例 会 社 顧 客 商 品 製 品 工 場 カネなど 会 員 登 録 変 更 削 除 発 注 出 荷 など 購 入 履 歴 出 荷 履 歴 など エンティティの 抽 出 のコツがあり 以 下 の 手 順 を 踏 むのもよいでしょう (1)エンティティ 候 補 をヒト モノなどのカテゴリーで 抽 出 (マインドマップで 行 うのもよい ) そこから リソース 系 エンティティの 抽 出 (2) 業 務 フローを 書 く (フローチャートや DFD アクティビティ 図 で) 行 うのもよい そこから イベント 系 エンティティの 抽 出 また astah*ではエンティティのプロパティビューから リソース 系 イベント 系 サマリー 系 の 指 定 や [シス テムプロパティ]-[ 新 規 ER エンティティの 型 の 色 ]で 系 統 ごとに 色 の 指 定 もできるので ER 図 を 書 いてモデリング するときに 利 用 すると 便 利 です 16 / 153

マインドマップからエンティティへの 変 換 をしてみよう 使 用 できる 製 品 : astah* professional マインドマップでエンティティ 抽 出 のために 以 下 のようなテンプレートを 用 意 するのもよいでしょう ショッピングサイト 構 築 という 想 定 でエンティティを 挙 げてみました 17 / 153

また エンティティ 候 補 には ER エンティティのアイコンも 付 加 してみました さて 新 規 ER 図 を 作 成 し 構 造 ツリーでこのマインドマップのトピックを 図 にドラッグアンドドロップしてみます 事 前 に 図 の 表 示 レベルをエンティティにしておくとよいでしょう ( 詳 しくは 次 の 章 で 説 明 します ) 以 下 のように ER エンティティが 作 成 されました 18 / 153

次 にリソース 系 イベント 系 サマリー 系 を 設 定 してみます システムプロパティの 色 が 設 定 されていることがわかりますね 色 付 けすることにより コミュニケーションも 容 易 になり より 分 かりやすくなります あとは 続 けて 属 性 やリレーションシップの 設 計 などを 行 い 設 計 をつめていくとよいでしょう 19 / 153

データモデリングのプロセスを 使 用 してみよう データモデリングのプロセスの 流 れは 次 の 図 のように 分 析 設 計 実 装 フェーズで 論 理 データモデルから 物 理 データモデルを 作 成 するのが 主 流 です 出 典 :アーキテクタス 細 川 努 UML による 一 気 通 貫 DB システム 設 計 エンティティの 表 示 レベルの 設 定 をしてみよう 使 用 できる 製 品 : astah* professional astah*では 図 の 表 示 レベル(エンティティ 主 キー 属 性 )を 設 定 でき これらのプロセスに 則 ったデータモデリン グが 可 能 です 論 理 よりではエンティティレベルで 物 理 モデルに 近 づくにつれて 主 キーレベル 属 性 レベルで 設 計 するとよいでしょう 操 作 方 法 は ER 図 のプロパティビューから 表 示 レベル( 初 期 設 定 )で 変 更 します ちなみにこの 操 作 は 対 象 の ER 図 で 新 規 作 成 ER エンティティから 表 示 設 定 が 反 映 されます 既 存 の ER エンティ ティの 表 示 レベルを 変 更 したい 場 合 は ER エンティティのポップアップメニューから 変 更 してください まず エンティティレベルで 設 計 してみます エンティティとなりうるモデルを 抽 出 するにとどめておきます 20 / 153

続 いて 主 キーレベルで 設 計 します リレーションを 張 っていってよいでしょう 最 後 に 属 性 レベルで 設 計 します 詳 細 な 属 性 項 目 を 設 計 していきます 21 / 153

論 理 名 と 物 理 名 を 使 ってみよう 使 用 できる 製 品 : astah* professional astah*ではエンティティや 属 性 などに 論 理 名 と 物 理 名 の 両 方 を 設 定 でき データモデリングのプロセスをサポート します 論 理 データモデリングでは エンティティの 論 理 名 に 顧 客 とつけ 物 理 データモデリングではテーブル 命 名 規 則 に 則 り 物 理 名 を CUSTOMER にするようなことができます エンティティだけでなく 属 性 にも 物 理 名 を 設 定 できますし SQL 出 力 では 論 理 名 物 理 名 での 出 力 が 可 能 です 論 理 モデル 物 理 モデルの 切 り 替 えは ER 図 のプロパティビューのモデルタイプから 行 います まず [ 論 理 モデル]で 設 計 します 各 エンティティや 属 性 リレーションについて 概 念 を 詰 めていきます 22 / 153

次 に[ 物 理 モデル]で 設 計 します データベース 自 体 を 想 定 しながらモデリングしていきます ドメインを 活 用 しよう 使 用 できる 製 品 : astah* professional ドメインとは データの 型 や 値 / 範 囲 を 取 り 決 めるディクショナリのことで 複 数 のエンティティの 属 性 から 設 定 できます ドメインを 使 用 したデータモデリングは システムの 内 のデータの 不 統 一 や 不 整 合 をなくすことができ データモデリングの 中 でも 重 要 なプロセスです 例 えば クレジットカード 番 号 にハイフンを 含 めるか 含 めないか で CHAR(12)に 設 計 する 人 や CHAR(15)で 設 計 する 人 が ドメインを 使 用 することでこのようなテーブル 設 計 のミ スをなくすことが 可 能 です また ドメインを 使 用 していることで 後 から 属 性 の 長 さを 変 更 しても 参 照 先 のエンティティに 反 映 されるなど 仕 様 変 更 に 強 い 設 計 になります astah*では 階 層 的 なドメインの 機 能 も 兼 ね 備 えています 構 造 ツリーのドメイン のポップアップメニューから 追 加 できます 階 層 的 に 作 成 した 場 合 親 の 型 や 長 さ 等 を 引 き 継 ぎますが 子 側 で 型 や 長 さの 変 更 も 可 能 です ドメインのグルーピングの 仕 方 は その 設 計 者 の 自 由 に 取 り 決 めていいですが 業 務 に 依 存 しない 共 通 的 なドメイ ンは 共 通 業 務 に 依 存 するドメインは 固 有 や 業 務 としておくのもいいでしょう 23 / 153

下 の 例 は 共 通 ドメインでいくつかドメインを 設 計 した 結 果 です また 作 成 したドメインを ER エンティティにドラッグアンドドロップすることもできます 以 下 のようにドメインを 使 用 した 属 性 が 追 加 されましたね 24 / 153

また 属 性 のプロパティビューからドメインを 変 更 することもできます リレーションを 張 ってみよう 使 用 できる 製 品 : astah* professional 以 下 のようなモデルを 作 成 してみましょう ( 例 1) 会 社 マスタ 会 社 階 層 会 社 コード(PK) 上 位 会 社 コード(FK) 会 社 名 称 下 位 会 社 コード(FK) まず 2つの ER エンティティ 会 社 マスタ, 会 社 階 層 を 作 成 します 25 / 153

ER エンティティ 会 社 マスタ に 主 キー 会 社 コード 属 性 会 社 名 称 を 追 加 します ER エンティティ 会 社 マスタ から ER エンティティ 会 社 階 層 に 非 依 存 型 リレーションシップを 引 きます ER エンティティ 会 社 階 層 から 属 性 会 社 コード を 上 位 会 社 コード に 名 前 変 更 します 26 / 153

再 度 ER エンティティ 会 社 マスタ から ER エンティティ 会 社 階 層 に 非 依 存 型 リレーションシップを 引 きます 27 / 153

新 しく 引 いた 非 依 存 型 リレーションシップを 選 択 し プロパティビューの キー タブを 開 きます 上 位 会 社 コード_0(new)を 選 択 します ER エンティティ 会 社 階 層 に 新 しい 属 性 上 位 会 社 コード_0 ができました 28 / 153

これを 下 位 会 社 コード にリネームします これでリレーションも 含 めたモデルを 作 成 できましたね [リレーションシップ 作 成 時 のポイント] 親 子 間 で 複 数 のリレーションシップを 張 り 子 エンティティ 側 の FK を 異 なる 属 性 にしたい 場 合 は リレーシ ョンシップの キー タブを 使 用 します 29 / 153

データ 型 を 追 加 してみよう 使 用 できる 製 品 : astah* professional astah*では デフォルトでは 以 下 のデータ 型 が 定 義 されています ([ツール]-[ ER 図 ]-[ER データ 型 の 設 定 ] もしくは 構 造 ツリー 上 の ER モデルのポップアップメニューから ER データ 型 の 設 定 を 選 択 ) この 一 覧 にないデータ 型 も 追 加 でき 長 さや 精 度 を 設 定 できます [ 物 理 モデル 作 成 時 のポイント] 論 理 モデル 作 成 後 物 理 モデル 作 成 前 に 固 有 の DB を 使 用 し astah*デフォルトのデータ 型 で 不 十 分 な 場 合 先 にデータ 型 を 設 定 しておくと 物 理 モデルの 属 性 の 型 を 考 慮 するときにスムーズにモデリングできます 30 / 153

エンティティ 定 義 書 を 出 力 してみよう 使 用 できる 製 品 : astah* professional デモ 動 画 :http://astah.change-vision.com/ja/movie.html#entity-definition astah*では テンプレートを 指 定 して ER 図 のエンティティ 定 義 を EXCEL 形 式 で 出 力 できます 設 計 したエンティティをドキュメントに 出 力 して 納 品 資 料 として 利 用 したり チームでレビューしたりするのも よいでしょう [ツール]-[ER 図 ]-[エンティティ 定 義 書 のエクスポート]を 選 択 します 出 力 ダイアログが 表 示 されます テンプレートはプロジェクト 固 有 のテンプレートにも 変 更 できます 新 しいテンプレートボタンをクリックしてみましょう 31 / 153

以 下 のようにテンプレートを 編 集 できます [ドメイン 一 覧 ] [エンティティ 一 覧 ] [エンティティ 定 義 ] 新 しいテンプレートボタンをクリック 後 了 解 ボタンクリックでテンプレートが 作 成 されます そのファイルを 開 いてみましょう 32 / 153

$each_domain など$から 始 まるものは 次 のようにマッピングされます タブのドメイン 一 覧 - $each_domain タブのエンティティ 一 覧 - $each_entity タブのエンティティ 名 - $each.entity.logical_name システム 名 - $system.name No. - $each.row_number ドメイン 名 - $each.domain.logical_name ドメインの 物 理 名 - $each.domain.physical_name ドメインの 別 名 1 - $each.domain.alias1 ドメインの 別 名 2 - $each.domain.alias2 ドメインのデータ 型 - $each.domain.type ドメインの 長 さ/ 精 度 - $each.domain.length_precision ドメインの NotNull フラグ - $each.domain.notnull ドメインの 親 ドメイン - $each.domain.parent ドメインの 定 義 - $each.domain.definition エンティティの 論 理 名 - $entity.logical_name エンティティの 物 理 名 - $entity.physical_name エンティティの 別 名 1 - $entity.alias1 エンティティの 別 名 2 - $entity.alias2 エンティティの 型 - $entity.kind 33 / 153

エンティティの 定 義 - $entity.definition エンティティのタグ 付 き 値 - $entity.each.tagged_value.value 属 性 の 論 理 名 - $each.entity.each.attribute.logical_name 属 性 の 物 理 名 - $each.entity.each.attribute.physical_name 属 性 のドメイン 名 - $each.entity.each.attribute.domain 属 性 の 主 キーフラグ - $each.entity.each.attribute.pk 属 性 の 外 部 キーフラグ - $each.entity.each.attribute.fk 属 性 の NotNull フラグ - $each.entity.each.attribute.notnull 属 性 の 参 照 先 - $each.entity.each.attribute.ref 属 性 のデータ 型 - $each.entity.each.attribute.type 属 性 の 長 さ/ 精 度 - $each.entity.each.attribute.length_precision 属 性 の 初 期 値 - $each.entity.each.attribute.initial_value 属 性 の 定 義 - $each.attribute.definition 属 性 のタグ 付 き 値 - $each.entity.each.attribute.each.taggedvalue 次 にデフォルトのテンプレートで 出 力 してみましょう SQL 出 力 (SQL-92 準 拠 )してみよう 34 / 153

使 用 できる 製 品 : astah* professional デモ 動 画 :http://astah.change-vision.com/ja/movie.html#sql-export SQL-92 相 当 の DDL を 出 力 できます 以 下 のモデルで SQL を 出 力 してみましょう [ツール]-[ER 図 ]-[SQL 出 力 ]を 選 択 します 以 下 のダイアログが 表 示 されますので オプションボタンを 押 下 します 35 / 153

次 のようなオプションを 設 定 できます 出 力 した 結 果 のサンプルです 36 / 153

37 / 153

DB リバースを 使 ってみよう(サンプル サポート 対 象 外 ) 使 用 できる 製 品 : astah* professional 本 アプリケーションは astah* 編 集 API のサンプルのため サポート 対 象 外 です 不 具 合 報 告 やお 客 様 の 実 行 環 境 (DB JDBC ドライバー 等 )に 関 連 したご 質 問 各 種 お 問 い 合 わせには 対 応 できない 場 合 がありますのでご 了 承 ください WEB サイトにも 同 じ 内 容 の 記 事 を 掲 載 してあります http://astah.change-vision.com/ja/feature/db-reverse.html astah* DB リバースツールは ER 図 に 関 連 するモデルの 編 集 API のサンプルとして 作 成 されました DB リバース ツールを 使 うことで DB に 接 続 後 astah* モデルへ 変 換 できます 既 存 のデータベースにアクセスして 現 状 のテーブル 設 計 を 容 易 に 見 える 化 できます ご 利 用 の 前 に astah* インストールフォルダ 配 下 にある astah* API サンプルプログラム 使 用 許 諾 契 約 ( API_sample_program_license_agreement.txt )を 必 ずお 読 みください 予 備 知 識 astah* professional では JDBC ドライバを 利 用 してデータベースのテーブル 定 義 を astah* プロジェクトへ 変 換 します JDBC ドライバは 各 データベースやサードパーティなどから 提 供 されており 別 途 ダウンロードする 必 要 があります また データベースの 環 境 については 各 自 で 作 成 してくださいますようお 願 い 致 します データベースの 環 境 設 定 をしてみよう ここでは 確 認 用 のデータベースを HSQLDB として データベース 環 境 を 構 築 し テーブルを 作 成 する 方 法 を 解 説 します 既 に 存 在 しているデータベースから 定 義 を 読 み 込 む 場 合 は この 手 順 は 不 要 です 1. HSQLDB のダウンロード 次 の URL から 最 新 版 の hsqldb_1_8_0_9.zip をダウンロードします http://hsqldb.org/ 2.HSQLDB データベースのインストール 事 前 に Java をインストールしてください 次 に hsqldb_1_8_0_9.zip を 解 凍 します 今 回 の 例 では C: hsqldb_1_8_0_9 配 下 に 解 凍 します 3.HSQLDB データベースの 起 動 コマンドプロンプトから 以 下 を 入 力 してください cd C: hsqldb_1_8_0_9 hsqldb data java -cp.. lib hsqldb.jar org.hsqldb.server -database TEST 起 動 に 成 功 すると 次 のような 画 面 が 表 示 されます 38 / 153

4. HSQLDB DatabaseManager の 起 動 コマンドプロンプトから 以 下 を 入 力 してください cd C: hsqldb_1_8_0_9 hsqldb data java -cp.. lib hsqldb.jar org.hsqldb.util.databasemanager 次 の 画 面 で Type を HSQL Database Engine Server に 変 更 し デフォルトの 設 定 で OK を 押 下 します 5. HSQLDB DatabaseManager から SQL を 実 行 次 の 画 面 で 右 のテキストエリアに SQL 文 を 入 力 します DRO TABLE A IF EXISTS; DROP TABLE B IF EXISTS; 39 / 153

DROP TABLE C IF EXISTS; CREATE TABLE A ( ID INT NOT NULL PRIMARY KEY, Name VARCHAR(10) ); CREATE TABLE B ( ID INT NOT NULL PRIMARY KEY, Name VARCHAR(10), FOREIGN KEY (ID) REFERENCES A (ID) ); CREATE TABLE C ( ID INT, Name VARCHAR(10), FOREIGN KEY (ID) REFERENCES A (ID) ); Execute ボタンを 押 下 すると 次 のような 表 示 になります メニューの[View]-[Refresh Tree]を 実 行 します テーブル A B C ができます 40 / 153

6. HSQLDB DatabaseManager の 終 了 HSQLDB DatabaseManager の 画 面 を 閉 じます 41 / 153

ASTAH* データベースリバースコンポーネントを 使 用 してみよう 1. astah* データベースリバースコンポーネントの 起 動 astah インストールフォルダ\api\sample\db_reverse\run.bat をダブルクリックします ( 例 : C:\Program Files\astah-professional\api\sample\db_reverse\run.bat) 次 のような 画 面 が 表 示 されます 2. astah* データベースリバースコンポーネントの 設 定 HSQLDB の 場 合 次 のように 入 力 し Connect ボタンを 押 下 します [URL] jdbc:hsqldb:hsql://localhost [User] sa [Password] なし [JDBC Driver] org.hsqldb.jdbcdriver [Driver path] C: hsqldb_1_8_0_9 hsqldb lib hsqldb.jar [Target Model] C: result.asta 42 / 153

3. astah* データベースリバースコンポーネントでデータベースに 接 続 Import ボタンが 有 効 になりますので 押 下 します 4. astah* データベースリバースコンポーネントでインポート 43 / 153

Import Successfully がコンソールに 出 力 され astah* プロジェクトの 作 成 が 完 了 します 44 / 153

作 成 した ASTA ファイルを ASTAH* PROFESSIONAL で 開 いてみよう 1. 作 成 したファイルを astah* professional で 開 きます 2. ER 図 を 自 動 作 成 します 構 造 ツリーの ER モデルを 選 択 し 右 クリックで 表 示 されるポップアップメニューから[ER 図 を 自 動 作 成 する] を 実 行 します 参 考 : 一 部 のエンティティのみを 表 示 する ER 図 を 作 成 する 場 合 は 新 しい ER 図 を 作 成 後 構 造 ツリーで 必 要 なエンティティを 選 択 して ER 図 にドラッグ&ドロップします 3. 型 と 長 さを 表 示 します Ctrl+A で 図 要 素 をすべて 選 択 し 右 クリックで 表 示 されるポップアップメニューから [ 型 と 長 さの 表 示 ]-[オン]を 実 行 します 45 / 153

4. 全 図 要 素 の 自 動 レイアウトを 実 行 します astah* の 上 部 メニュー [ 整 列 ]-[ 全 図 要 素 の 自 動 レイアウト]を 実 行 します 5. 拡 大 表 示 します A B C のテーブル 主 キー 属 性 依 存 型 リレーションシップ 非 依 存 型 リレーションシップが 作 成 されていることが 分 かります 46 / 153

47 / 153

ASTAH* データベースリバースコンポーネントの 改 良 について 1. astah* API サンプルプログラム 使 用 許 諾 契 約 お 使 いになる 前 に astah インストールフォルダにある API_sample_program_license_agreement.txt を 必 ず お 読 みください 2. ソースコードについて 次 のフォルダに Java + astah* API で 実 装 されたソースコードがあります astah インストールフォルダ\astah-professional\api\sample\db_reverse\*.java ( 例 : C:\Program Files\astah-professional\api\sample\db_reverse\*.java ) 3. ソースコードの 編 集 について astah* API サンプルプログラム 使 用 許 諾 契 約 に 記 載 されているように ソースコードを 編 集 し 機 能 を 改 良 して 利 用 できます ただし astah* API サンプルプログラムの 著 作 権 や 知 的 財 産 権 は 株 式 会 社 チェンジビジョ ンに 帰 属 します 詳 しくは astah* API サンプルプログラム 使 用 許 諾 契 約 をご 参 照 ください 4. バッチによる 簡 単 なコンパイルについて astahインストールフォルダ\astah-professional\api\sample\db_reverse\compile.bat ( 例 :C:\Program Files\astah-professional\api\sample\db_reverse\compile.bat ) にてコンパイルできます 5. Eclipse 等 でのコンパイルについて astah* データベースリバースコンポーネントは astah* の API (astah-api.jar)を 使 用 して 作 成 されています そのため 以 下 を CLASSPATH に 設 定 する 必 要 があります インストールフォルダ\astah-professional\astah-api.jar ( 例 :C:\Program Files\astah-professional\astah-api.jar ) 起 動 する 場 合 は astah の jar(astah-pro.jar)が 必 要 なため CLASSPATH に 追 加 してください インストールフォルダ\astah-professional\astah-pro.jar ( 例 :C:\Program Files\astah-professional\astah-pro.jar) 48 / 153

CRUD を 使 ってみよう 使 用 できるエディション: astah* professional デモ 動 画 :http://astah.change-vision.com/ja/movie.html#crud CRUD の 概 要 CRUD とはリレーショナルデータベース 上 で どのデータに 対 して どのプロセスが 生 成 (Create) 読 み 込 み(Read) 更 新 (Update) 削 除 (Delete)されるかを 表 す 表 形 式 のマトリックスです astah* の CRUD では 縦 軸 がプロセスで ユースケース 図 (ユースケース) アクティビティ 図 (アクション) フロ ーチャート(フロー 要 素 ) DFD(プロセス)を 選 択 し 横 軸 がデータで クラス 図 (クラス) ER 図 (ER エンティティ) を 選 択 できます それぞれ 縦 軸 横 軸 を 設 定 後 C R U D の 状 態 を 記 述 し 分 析 することができます astah* の CRUD の 主 な 機 能 は 以 下 の 通 りです CRUD の 生 成 編 集 CRUD に 表 示 したい 図 を 構 造 ツリーからドラッグ&ドロップで 追 加 CRUD から 構 造 ツリーの 図 やモデルへジャンプ CRUD のモデル 軸 機 能 軸 から 図 を 開 く 図 から CRUD へジャンプ CRUD の Excel 出 力 全 ての CRUD 統 計 レポートを Excel 出 力 CRUD のテキストコピー CRUD 分 析 の 利 点 を 考 えよう 49 / 153

データモデリングの 世 界 では CRUD 分 析 は 大 変 重 要 かつ 有 効 といわれています CRUD 分 析 は テーブル 設 計 段 階 の 考 慮 モレや 矛 盾 を 早 期 に 発 見 できる 手 立 てとなりうるものです 結 合 テスト 段 階 での DB マイグレーション 時 のトラブル マスタの 登 録 処 理 抜 け スタブテストデータの 削 除 忘 れ データの 二 重 登 録 さらにはテーブル 設 計 の 問 題 により 特 定 のテーブルへの 過 剰 な 負 荷 による 非 機 能 要 件 である レスポンス 問 題 再 度 正 規 化 やテーブル 分 割 を 余 儀 なくされるなどのリスクを 軽 減 できます 開 発 が 大 詰 めの 段 階 では 大 量 のビジネスロジックを 抱 えて 初 期 に 引 きずったテーブル 設 計 を 変 更 するのは 容 易 ではありません CRUD 分 析 をプロジェクトに 合 わせた 運 用 で 適 用 して 行 くのもいいかもしれませんね CRUD 分 析 してみよう それでは astah*を 実 際 につかって CRUD 分 析 してみましょう ここからは 本 のオンラインショッピングの 例 を 示 してみます いつものようにマインドマップで 軽 い 要 求 分 析 をし てみました 登 場 しうる 簡 単 なモデルと 機 能 を 挙 げています 作 成 したマインドマップを 利 用 し 構 造 ツリーの User Book Cart トピックを 新 規 作 成 したクラス 図 にドラッグアンドドロップします 50 / 153

以 下 のようにクラスが 作 成 されました クラス 図 を 詳 細 化 してみます 51 / 153

このクラス 図 を ER 図 に 変 換 してみます 構 造 ツリーのクラス 図 のポップアップメニューから ER 図 に 変 換 を 選 択 します 以 下 の MSG が 表 示 されます ここでは はい を 選 択 します 以 下 のように ER 図 が 作 成 されました 52 / 153

作 成 した ER 図 にリレーションを 張 るなどして 洗 練 させます 作 成 したマインドマップを 利 用 し 構 造 ツリーの Login Adjustment Put in cart New Registration Logout トピ ックを 新 規 作 成 したユースケース 図 にドラッグアンドドロップします 53 / 153

以 下 のようにユースケースが 作 成 されました ユースケース 図 を 洗 練 させます 54 / 153

さて 作 成 した ER 図 ユースケース 図 を 利 用 して CRUD 分 析 できる 材 料 がそろいました メニューから CRUD を 作 成 します 以 下 のようなダイアログが 表 示 されます 55 / 153

作 成 した ER 図 ユースケース 図 を 設 定 してみます 空 の CRUD が 作 成 されました 56 / 153

現 段 階 で 考 えられる C R U D を 設 定 します セルを 直 接 選 択 し C キー R キー U キー D キーで ON/OFF を 設 定 できます このように astah*では UML ER 図 業 務 フローを 利 用 しながら CRUD 分 析 の 材 料 とすることができ 分 析 設 計 間 の 考 慮 モレを CRUD 分 析 によって 低 減 できると 思 います CRUD をドキュメント 出 力 してみよう 57 / 153

前 章 で 作 成 した CRUD を Excel ファイルとして 出 力 することも 可 能 で レビューや 納 品 資 料 としても 使 用 できます [ツール]-[CRUD]-[CRUD を Excel ファイルに 出 力 ]を 選 択 します 出 力 ダイアログが 表 示 されます 出 力 結 果 は 以 下 の 通 りです 58 / 153

全 CRUD 統 計 リポートも 出 力 できますから 全 体 を 俯 瞰 してレビューしたい 際 に 利 用 してみるのもよいでしょう ( [ツール]-[CRUD]-[ 全 CRUD 統 計 リポートを Excel ファイルに 出 力 ]) 59 / 153

チーム 開 発 してみよう モデリングにも 今 やチーム 開 発 は 必 須 の 機 能 です astah*に 用 意 されている 二 つのチーム 開 発 の 補 助 機 能 を 紹 介 します マージ 機 能 ってどんな 機 能? 使 用 できるエディション: astah* professional astah* UML astah* think! デモ 動 画 :http://astah.change-vision.com/ja/movie.html#merge 他 の 人 が 作 成 したプロジェクトを 自 分 のプロジェクトにマージしたい 時 に 使 います 現 在 のプロジェクトに 別 の プロジェクトをマージできます 簡 単 マージ モデルごとに 作 業 中 取 込 中 のどちらを 優 先 するか 選 択 可 能 な 詳 細 マージ(pro,UML のみ)があります [ 用 途 ] 二 つのプロジェクトファイルを 一 つにまとめる 同 一 プロジェクトの 編 集 二 人 の 人 がそれぞれ 編 集 した 同 一 astah*ファイルの 変 更 点 を 合 わせられる [ 使 用 イメージ] まず 簡 単 マージを 使 ってみよう 60 / 153

コンフリクトがないケース 以 下 のようなプロジェクトを 新 規 作 成 してみます ファイル 名 は base.asta とします 以 下 のようなプロジェクトも 新 規 作 成 してみます ( 新 規 作 成 することで base プロジェクトのモデルの 内 部 ID と 同 一 になることがありません ) ファイル 名 は ref.asta です base.asta を 開 き [ファイル]-[プロジェクトをマージ]を 選 択 し ref.asta を 選 択 します 以 下 のようなダイアログが 表 示 されます 61 / 153

詳 細 ボタンをクリックすると 差 分 が 表 示 されます マージの 結 果 を 細 かくカスタマイズしたい 場 合 この 画 面 でどっちを 優 先 させるか 選 択 することができます まずは 簡 単 マージするので キャンセル ボタンで 前 の 画 面 に 戻 ります ダイアログの 説 明 に 一 方 に 存 在 する 要 素 は 全 てマージします それ 以 外 の 要 素 は 以 下 のプロジェクトの 要 素 を 優 先 してマージします とあります この 場 合 のマージでは 全 て 一 方 に 存 在 する 要 素 にあたりますので 作 業 中 のプロジェクト を 選 択 しても 取 り 込 み 中 のプロジェクト を 優 先 しても 全 てマージされます ひとまず 取 り 込 み 中 のプロジェクト を 選 択 して 了 解 ボタンをクリックします 62 / 153

ref.asta のみに 存 在 していた ref クラス 図 と D クラスが 取 り 込 まれましたね 次 は コンフリクトがあるケースを 説 明 していきます コンフリクト( 内 部 ID 衝 突 )あるケース 以 下 のようなプロジェクトを 新 規 作 成 します ファイル 名 は base.asta とします このプロジェクトを ref2.asta として 保 存 します 63 / 153

さらにこのプロジェクトの を 削 除 し B を D に 名 前 変 更 します (この 操 作 により base プロジェクトの B クラスと ref プロジェクトの D と 内 部 ID が 同 一 になります ) base.asta 開 き [ファイル]-[プロジェクトをマージ]を 選 択 し ref2.asta を 選 択 します 以 下 のようなダイアログが 表 示 されます 詳 細 ボタンをクリックします コンフリクトがないケースの 詳 細 ダイアログの 結 果 と 少 し 異 なります 64 / 153

要 素 が 異 なる 理 由 が 名 前 が 異 なっています になっていて 作 業 中 の 要 素 が B 取 込 む 要 素 が D になって います これはどういうことでしょうか? 簡 単 マージ ダイアログの 説 明 に 一 方 に 存 在 する 要 素 は 全 てマージします それ 以 外 の 要 素 は 以 下 のプロジ ェクトの 要 素 を 優 先 してマージします とあります このケースは 作 業 中 プロジェクト 取 込 み 中 プロジェク トの 両 方 に 同 じモデルがあり どちらかを 優 先 させるか 決 めなければならないコンフリクト( 変 更 の 衝 突 )です astah*では 各 モデルに 内 部 ID を 保 持 しており コンフリクトの 定 義 は 内 部 ID が 同 じか 同 じ 名 前 空 間 で 名 前 が 同 じものが 変 更 されたことを 意 味 しています コンフリクトの 定 義 : 両 方 のプロジェクトに 同 じ 名 前 空 間 (パッケージ)で 同 じ 名 前 か 同 じ 内 部 ID のものが 存 在 し 変 更 されているケース このケースでは 同 じ 内 部 ID のコンフリクトと 言 えます 内 部 ID は モデルの 新 規 作 成 時 例 えばクラスを 作 成 し たときに 割 り 振 られます また astah*がもつ 内 部 の ID は 衝 突 がないことを 前 提 としています そのため ID の 生 成 も 注 意 して 衝 突 しないようにしています 内 部 ID は 複 数 の 人 が 複 数 のパソコンで 同 時 に 編 集 したモデルであっ ても 別 々になるように 生 成 されます では 簡 単 マージ ダイアログで 取 込 み 中 プロジェクト を 優 先 でマージします クラス B が D になっていますね 65 / 153

[マージ 機 能 のポイント] このようにマージする 際 は 内 部 の ID と 名 前 の 衝 突 するコンフリクトに 気 をつけモデリングすることで 複 雑 なマージをよりスムーズにすることができます では 簡 単 マージ ダイアログで 作 業 中 プロジェクト を 優 先 でマージします クラス B はそのままですね コンフリクト( 名 前 衝 突 )があるケース 以 下 のようなプロジェクトを 新 規 作 成 します ファイル 名 は base.asta とします 66 / 153

以 下 のようなプロジェクトも 新 規 作 成 します ( 新 規 作 成 することで base プロジェクトのモデルの 内 部 ID と 同 一 になることがありません ) ファイル 名 は ref3.asta です base.asta を 開 き [ファイル]-[プロジェクトをマージ]を 選 択 し ref3.asta を 選 択 します 以 下 のようなダイアログが 表 示 されます 67 / 153

詳 細 ボタンをクリックします コンフリクト( 内 部 ID 衝 突 )があるケースと 異 なる 結 果 が 表 示 されています 要 素 が 異 なる 理 由 が 名 前 が 同 じですが 異 なるモデルです になっていて 作 業 中 の 要 素 が C 取 込 む 要 素 が C になっています コンフリクト( 内 部 ID 衝 突 )のあるケースと 異 なり 名 前 が 同 じだが 内 容 が 異 なるケースで す ( 内 部 ID も 異 なる )つまり 同 じ 名 前 空 間 (パッケージ)で 同 じ 名 前 のコンフリクトと 言 えます では 簡 単 マージ ダイアログで 取 込 み 中 プロジェクト を 優 先 でマージします クラス C が 取 込 み 中 の C になっていますね (ref3.asth の C クラスの 定 義 に ref が 入 っています ) では 簡 単 マージ ダイアログで 作 業 中 プロジェクト を 優 先 でマージします 68 / 153

クラス C はそのままですね コンフリクト( 内 部 ID 衝 突 )あるケースと 同 様 に 内 部 の ID と 名 前 の 衝 突 するコンフリクトに 注 意 してモデリング することで 複 雑 なマージをより 簡 単 にできます 図 のマージでの 注 意 点 を 押 さえておこう astah*のマージでは 図 に 対 して 完 全 にマージする 図 と 図 を 取 込 み 中 プロジェクト もしくは 作 業 中 プロジェク ト から 選 び 一 方 の 内 容 に 置 き 換 えられる 図 がありますので このルールを 理 解 したうえでマージされると 上 手 に マージできるでしょう 図 名 マージルール クラス 図 マージ ユースケース 図 マージ ステートマシン 図 作 業 中 取 込 み 中 の 一 方 に 置 換 アクティビティ 図 作 業 中 取 込 み 中 の 一 方 に 置 換 シーケンス 図 作 業 中 取 込 み 中 の 一 方 に 置 換 コミュニケーション 図 作 業 中 取 込 み 中 の 一 方 に 置 換 コンポーネント 図 マージ 配 置 図 マージ 合 成 構 造 図 マージ フローチャート 作 業 中 取 込 み 中 の 一 方 に 置 換 データフロー 図 (DFD) 作 業 中 取 込 み 中 の 一 方 に 置 換 ER 図 マージ CRUD 作 業 中 取 込 み 中 の 一 方 に 置 換 マインドマップ 作 業 中 取 込 み 中 の 一 方 に 置 換 69 / 153

要 求 テーブル トレーサビリティマップ 作 業 中 取 込 み 中 の 一 方 に 置 換 作 業 中 取 込 み 中 の 一 方 に 置 換 マージ 時 には 図 のマージのルールも 知 っておくとスムーズにマージできます 70 / 153

参 照 プロジェクト 管 理 ってどんな 機 能? 使 用 できるエディション: astah* professional デモ 動 画 :http://astah.change-vision.com/ja/movie.html#reference-project 複 数 人 でモデルを 編 集 するための 補 助 機 能 が 参 照 プロジェクトです プロジェクトから 複 数 のプロジェクトを 参 照 し 取 込 み 中 プロジェクト 優 先 でマージし 参 照 するプロジェクト にあるモデルを 読 み 取 り 専 用 のモデルにする 機 構 です 参 照 先 のファイルのタイムスタンプかモデルのタイムスタンプが 変 更 されれば 参 照 元 から 更 新 ができます (タイムスタンプの 設 定 については [ツール]-[システムプロパティ]-[プロジェクトのマージ]-[ 参 照 プロジェクト 更 新 時 にファイルのタイムスタンプでなく モデルのタイムスタンプを 使 う] (デフォルトは OFF) で 設 定 が 選 択 できます ) 参 照 されているファイルを 編 集 後 保 存 すると 参 照 元 ファイルを 開 いた 時 に 更 新 を 促 される MSG が 表 示 された り [ファイル]-[ 参 照 プロジェクト 管 理 ]で 表 示 されるダイアログで 対 象 のファイルが 要 更 新 となります [ 使 用 イメージ] [ 詳 細 イメージ] 参 照 プロジェクト 機 能 を 利 用 したチームモデリングの 一 案 を PDF で 公 開 しています 日 本 語 版 http://astah.change-vision.com/ja/files/astah-ref-project.pdf 英 語 版 http://astah.change-vision.com/en/files/astah-ref-project-en.pdf 参 照 プロジェクト 管 理 を 使 ってみよう 71 / 153

例 えば 以 下 の 手 順 でプロジェクト 分 割 すると スムーズにマージすることができます (A さん B さん C さんの 3 人 で 共 通 のモデルを 作 成 し チーム 開 発 する 例 ) 1. 共 通 部 分 のモデルを 早 めに 確 定 し 共 通 などとするパッケージに 退 避 する これを common.asta とする ( 例 えば クラスと 属 性 操 作 ER ドメインと ER エンティティと 属 性 ) 2. ここから 3 人 で 共 通 部 分 を 使 用 した 開 発 をします A さんが 機 能 A B さんが 機 能 B C さんが 機 能 C を 担 当 するとします A さんは a.asth を 作 成 し common.asta を 参 照 する 設 定 をします プロジェクトに 機 能 A パッケージを 作 成 し 読 み 取 り 専 用 の 共 通 モデルを 使 用 しながら モデリングします B さんは b.asth を 作 成 し common.asta を 参 照 する 設 定 をします プロジェクトに 機 能 B パッケージを 作 成 し 読 み 取 り 専 用 の 共 通 モデルを 使 用 しながら モデリングします C さんは c.asth を 作 成 し common.asta を 参 照 する 設 定 をします プロジェクトに 機 能 C パッケージを 作 成 し 読 み 取 り 専 用 の 共 通 モデルを 使 用 しながら モデリングします 72 / 153

3. 場 合 によっては CVS SVN VSS などの 構 成 管 理 ツールと 組 み 合 わせると 良 いかもしれません 注 意 点 として 構 成 管 理 ツールでチェックアウトした 後 のファイルのタイムスタンプは チェックアウト 時 の タイムスタンプになっています 参 照 プロジェクト 管 理 では ファイルのタイムスタンプが 変 更 されると 更 新 を 促 されます こういうケースのために astah*ではモデルのタイムスタンプを 用 意 しています astah*で 保 存 したときのタイムスタンプを asta ファイルの 中 に 埋 め 込 み 参 照 プロジェクトでモデルのタイムスタンプを 使 用 できる 機 構 も 用 意 されています 73 / 153

[ツール]-[システムプロパティ]-[プロジェクトのマージ]-[ 参 照 プロジェクト 更 新 時 にファイルのタイムスタンプ でなく モデルのタイムスタンプを 使 う](デフォルトは OFF) モデルのタイムスタンプは プロジェクトのプロパティビュー バージョン 履 歴 の モデルのタイムスタンプ で 確 認 できます また コミットするときのコメントに プロジェクトの 簡 易 比 較 で 出 力 されるテキストのモデルの DIFF を 張 り 付 けてもいいかもしれませんね 4. メンバ 内 で 作 業 中 に 共 通 部 分 に 編 集 が 必 要 になった 場 合 は common.asta を 変 更 し 保 存 します 編 集 が 終 われば メンバに 通 知 し それぞれのファイルを 開 き common.asta を 更 新 します 74 / 153

5. 最 後 に A さん B さん C さんのモデリングが 確 定 したら 参 照 モデルを 解 除 し それぞれを a2.asta b2.asta c2.asta として 保 存 します 75 / 153

最 終 成 果 物 として a2.asta を fixed.asta として 保 存 します b2.asta c2.asta を 取 込 み 中 プロジェクト 優 先 で 簡 単 マージします 最 後 に fixed.asta から common.asta を 参 照 します 共 通 パッケージ 配 下 が 読 み 取 り 専 用 のアイコンが 表 示 されています これで 求 めるモデルを 作 成 できましたね 76 / 153

参 照 プロジェクトを 使 用 する 上 でのポイント 共 通 化 にするモデルのスコープや 担 当 を 明 確 にし 早 期 に 共 通 モデルを FIX することが 重 要 です 構 成 管 理 ツールを 使 用 する 場 合 は モデルのタイムスタンプを 使 用 しましょう (システムプロパティで 設 定 ) 77 / 153

要 求 を 整 理 してみよう SYSML の 概 要 を 知 ろう SYSML とは Systems Modeling Language の 略 で OMG(Object Management Group)によって 策 定 されたハードウェアも 含 め たシステム 全 体 を 記 述 するためのモデリング 言 語 です 誕 生 の 背 景 特 に 組 み 込 み 分 野 でのハードウェアも 含 めたモデリングにおいて 従 来 のモデリング 手 法 では 問 題 点 を 抱 えたまま でした 特 に 分 析 設 計 において 有 効 とされていた UML においても 仕 様 策 定 時 には 想 定 していなかった 領 域 での 問 題 や 仕 様 の 曖 昧 さ 表 現 力 の 不 足 といった 問 題 が 指 摘 されるようになりました また UML はあくまでソフ トウェアを 分 析 設 計 する 表 記 法 で ハードウェアなどは 対 象 外 でした UML の 配 置 図 など 一 部 ハードウェアを 表 現 可 能 なものもありますが ソフトウェアからの 観 点 であり ハードウェアそのものを 表 現 できず 表 現 力 の 拡 張 が 望 まれていました それを 打 破 するべく OMG により SysML が 策 定 され 今 日 に 至 り 最 新 の 仕 様 書 は 1.1 です (2009 年 10 月 29 日 現 在 ) SYSML の 概 要 SysML は 図 のように UML 2 を 拡 張 した 仕 様 になっています SysML は UML2 の 全 ての 仕 様 を 包 含 しているのではなく 一 部 は SysML 独 自 の 仕 様 となっています 引 用 :OMG SysML1.1 仕 様 書 P7 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ SYSML での 各 図 SysML 図 類 は 図 4.4 に 示 されます 78 / 153

ピンクの 点 線 で 囲 まれた 要 求 図 (Requirement Diagram),パラメトリック 図 (Parametric Diagram)が 新 規 図 で 太 枠 の アクティビティ 図 が UML2 の 拡 張 太 枠 で 文 字 が 緑 のブロック 定 義 図 (Block Definition Diagram)は UML2 のクラス 図 の 拡 張 の 新 規 図 内 部 ブロック 図 (Internal Block Diagram) は UML2 の 合 成 構 造 図 の 拡 張 の 新 規 図 です 引 用 :OMG SysML1.1 仕 様 書 P11 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ 79 / 153

ASTAH*での 要 求 周 りの 機 能 の 利 用 astah* professional では SysML の 要 求 に 関 連 した 部 分 をソフトウェア 開 発 の 現 場 で 汎 用 的 に 使 用 できるよう 実 現 しました 要 求 およびテストケースの 階 層 派 生 関 係 の 設 定 要 求 テーブルを 用 いた 管 理 を 容 易 にし 工 程 間 のギ ャップを 減 らします 要 求 使 用 できるエディション: astah* professional システムの 要 求 を 記 述 するモデルです 名 前 ID テキスト 等 を 設 定 でき 階 層 をツリーとして 表 現 します また 導 出 コピー 満 足 検 証 洗 練 トレースといった 派 生 関 係 を 設 定 できます その 他 の 機 能 として 要 求 からユ ースケースやマインドマップのトピックへの 変 換 もサポートしています テストケース 使 用 できるエディション: astah* professional システムのテストケースを 記 述 するモデルです 名 前 ID 定 義 等 を 設 定 でき 階 層 をツリーとして 表 現 します また 満 足 検 証 洗 練 といったテストケースからの 派 生 関 係 も 設 定 可 能 です テストケースからユースケースや マインドマップのトピックへの 変 換 もサポートしています 要 求 テーブル 使 用 できるエディション: astah* professional デモ 動 画 :http://astah.change-vision.com/ja/movie.html#requirement-table 表 形 式 で 要 求 を 編 集 したり 階 層 を 指 定 して 要 求 の ID 名 前 テキストを 表 示 したりできます Excel への 入 出 力 も 可 能 です 要 求 図 使 用 できるエディション: astah* professional デモ 動 画 :http://astah.change-vision.com/ja/movie.html#requirement-diagram 80 / 153

どんな 要 求 があるかと 要 求 間 の 関 係 を 定 義 する 図 です 導 出 コピー 満 足 検 証 洗 練 トレース 使 用 できるエディション: astah* professional 導 出 <<DERIVEREQT>> 引 用 :OMG SysML1.1 仕 様 書 P144 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ 導 出 は クライアント 要 求 がサプライヤ 要 求 に 導 き 出 される 二 つの 要 求 間 の 依 存 関 係 です 例 えば システム 要 求 はビジネス 要 求 に 由 来 するかもしれません あるいは より 低 レベルの 要 求 はシステム 要 求 に 由 来 するかもしれません 他 の 依 存 関 係 と 同 様 に 矢 方 向 はクライアント 要 求 からそれが 導 き 出 されるサプライ ヤ 要 求 まで 指 します astah*では 要 求 から 要 求 に 引 くことができます 要 求 のプロパティビューの 依 存 元 タブ 依 存 先 タブ もしくは 要 求 テーブルの 要 求 のポップアップメニュー 依 存 元 の 設 定 依 存 先 の 設 定 から 追 加 できます A DeriveReqt relationship is a dependency between two requirements in which a client requirement can be derived from the supplier requirement. For example, a system requirement may be derived from a business need, or lower-level requirements may be derived from a system requirement. As with other dependencies, the arrow direction points from the derived (client) requirement to the (supplier) requirement from which it is derived. 引 用 :OMG SysML1.1 仕 様 書 P149 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ 81 / 153

コピー<<COPY>> 引 用 :OMG SysML1.1 仕 様 書 P144 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ コピーは クライアント 要 求 とサプライヤ 要 求 間 の 依 存 関 係 で クライアント 要 求 のテキストがサプライヤ 要 求 の 読 み 取 りコピーであることを 示 しています 異 なる 状 況 で 再 利 用 する 目 的 で クライアント/サプライヤ 関 係 を 維 持 します クライアント 要 求 は コピーの 矢 印 の 先 のサプライヤ 要 求 の 読 み 取 り 専 用 コピーです astah*では 要 求 から 要 求 に 引 くことができます 要 求 のプロパティビューの 依 存 元 タブ 依 存 先 タブ もしくは 要 求 テーブルの 要 求 のポップアップメニュー 依 存 元 の 設 定 依 存 先 の 設 定 から 追 加 できます A Copy relationship is a dependency between a supplier requirement and a client requirement that specifies that the text of the client requirement is a read-only copy of the text of the supplier requirement. A Copy dependency created between two requirements maintains a master/slave relationship between the two elements for the purpose of requirements re-use in different contexts. When a Copy dependency exists between two requirements, the requirement text of the client requirement is a read-only copy of the requirement text of the requirement at the supplier end of the dependency. 引 用 :OMG SysML1.1 仕 様 書 P149 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ 満 足 <<SATISFY>> 引 用 :OMG SysML1.1 仕 様 書 P144 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ 満 足 は 要 求 とその 要 求 を 満 足 させるモデル 間 の 依 存 関 係 です 他 の 依 存 関 係 と 同 様 に 矢 方 向 はクライアントモデルからそれを 満 たすサプライヤ 要 求 まで 指 します astah*では モデル から 要 求 に 引 くことができます モデル とは 以 下 を 示 します パッケージ モデル サブシステム クラス 関 連 クラス インターフェース エンティティ コントロール バウンダリ アクター ユースケース 82 / 153

コンポーネント 成 果 物 ノード 要 求 テストケース 要 求 のプロパティビューの 依 存 元 タブ 依 存 先 タブ テストケースのプロパティビューの 依 存 先 タブ もし くは 要 求 テーブルの 要 求 のポップアップメニュー 依 存 元 の 設 定 依 存 先 の 設 定 から 追 加 できます A Satisfy relationship is a dependency between a requirement and a model element that fulfills the requirement. As with other dependencies, the arrow direction points from the satisfying (client) model element to the (supplier) requirement that is satisfied. 引 用 :OMG SysML1.1 仕 様 書 P151 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ 検 証 <<VERIFY>> 引 用 :OMG SysML1.1 仕 様 書 P145 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ 検 証 は 要 求 とシステムが 要 求 を 満 たすかどうかを 検 証 するテストケースの 依 存 関 係 です 他 の 依 存 関 係 と 同 様 に 矢 方 向 は クライアントテストケースからそれが 導 き 出 されるサプライヤ 要 求 まで 指 します astah*では テストケースから 要 求 に 引 くことができます 要 求 のプロパティビューの 依 存 元 タブ 依 存 先 タブ テストケースのプロパティビューの 依 存 先 タブ もし くは 要 求 テーブルの 要 求 のポップアップメニュー 依 存 元 の 設 定 依 存 先 の 設 定 から 追 加 できます A Verify relationship is a dependency between a requirement and a test case or other model element that can determine whether a system fulfills the requirement. As with other dependencies, the arrow direction points from the (client) element to the (supplier) requirement. 引 用 :OMG SysML1.1 仕 様 書 P152 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ 洗 練 <<REFINE>> 引 用 :OMG SysML1.1 仕 様 書 P145 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ 83 / 153

洗 練 とは モデルから 要 求 に 詳 細 化 する 依 存 関 係 です 他 の 依 存 関 係 と 同 様 に 矢 方 向 は クライアントモデルか らサプライヤ 要 求 の 方 向 を 示 します astah*では モデル から 要 求 に 引 くことができます モデル とは 以 下 を 示 します パッケージ モデル サブシステム クラス 関 連 クラス インターフェース エンティティ コントロール バウンダリ アクター ユースケース コンポーネント 成 果 物 ノード 要 求 テストケース 要 求 のプロパティビューの 依 存 元 タブ 依 存 先 タブ テストケースのプロパティビューの 依 存 先 タブ もし くは 要 求 テーブルの 要 求 のポップアップメニュー 依 存 元 の 設 定 依 存 先 の 設 定 から 追 加 できます トレース<<TRACE>> 引 用 :OMG SysML1.1 仕 様 書 P146 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ トレースとは 要 求 間 の 抽 象 的 なつながりを 表 す 依 存 関 係 です astah*では 要 求 から 要 求 に 引 くことができます 要 求 のプロパティビューの 依 存 元 タブ 依 存 先 タブ もしくは 要 求 テーブルの 要 求 のポップアップメニュー 依 存 元 の 設 定 依 存 先 の 設 定 から 追 加 できます 要 求 図 と 要 求 テーブルを 使 用 して 要 求 をモデリング[ 組 み 込 み 系 サンプル]しよう 使 用 できるエディション: astah* professional 以 下 は OMG から 提 供 されている SysML1.1 仕 様 書 の 要 求 図 のサンプルです [ 組 み 込 み 系 サンプル]で 自 動 車 の 舗 道 摩 擦 まわりの 要 求 を 表 したものです 引 用 :OMG SysML1.1 仕 様 書 P152 http://www.omg.org/spec/sysml/1.1/changebar/pdf/ 84 / 153

これと 同 等 のモデルを 書 いてみます 要 求 のモデルや 要 求 図 と 要 求 テーブルのそれぞれで 表 現 できますが ここではまず 要 求 図 を 作 成 してみましょう まず 図 メニューから 要 求 図 を 選 択 し 要 求 図 を 作 成 します エディタのボタンから 要 求 作 成 ボタンをクリックし 図 上 に 要 求 を 作 成 します 要 求 名 要 求 の ID を 入 力 しま す Text の 項 目 には その 要 求 の 説 明 を 入 力 します (astah*では ID と Text の 順 序 が 例 と 異 なります) 85 / 153

同 様 に 他 の 要 求 についても 作 成 します 次 に 要 求 間 の 関 係 を 作 成 してみましょう 要 求 間 の 導 出 関 係 とネスト 関 係 を それぞれ ツールバーのボタンを 押 して 作 成 します ネスト 関 係 については 作 成 時 に 親 子 関 係 が 変 わることを 構 造 ツリーで 確 認 できると 思 います ここまでで 例 の 要 求 図 が 完 成 しました 図 だと 要 求 間 の 関 係 を 一 目 で 把 握 できますね 86 / 153

これらの 要 求 と 分 析 設 計 モデルとの 関 係 も 定 義 してみましょう 具 体 的 な 例 ではないですが もし UsecaseA が Pavement friction を 満 足 する 関 係 があり TestCaseA が Pavement friction を 検 証 する 関 係 である 場 合 は 次 のよ うに 図 上 で 表 現 することもできます ユースケースやクラスを 構 造 ツリーから 図 にドラッグアンドドロップして 配 置 しています また 下 の 図 のようにパッケージを 指 定 して 要 求 テーブルを 作 成 することもできます 87 / 153

要 求 図 を 書 く 時 に 作 成 されたモデルから 次 のような 要 求 テーブルが 作 成 されます 要 求 テーブルは ネームスペ ース 毎 に 一 つ 作 成 可 能 で その 配 下 に 存 在 する 要 求 が 自 動 的 にリストに 表 示 されるようになっています 要 求 図 と 要 求 テーブルでは 同 一 のモデルが 利 用 されますので 一 方 で 変 更 すればもう 一 方 にも 反 映 されます また それぞれのポップアップメニューから 図 やテーブルに 相 互 にジャンプ 可 能 になっています さて 同 等 のモデルをはじめから 要 求 テーブルを 使 用 して 作 成 する 場 合 を 見 てみましょう 次 のような 手 順 になり ます まず 図 メニューから 要 求 テーブル を 選 択 し 要 求 テーブルを 作 成 します 要 求 テーブルを 右 クリックしてポップアップメニューから 要 求 の 追 加 で Adhesion utilization, Vehicle conditions, Test and procedure conditions, Pavement friction, ASTM R1337-90 の 要 求 を 追 加 していきます 88 / 153

要 求 テーブルからは ID 名 前 テキストの 編 集 のほかに 要 求 を 選 択 し 以 下 の 操 作 も 可 能 です 子 要 求 の 追 加 兄 弟 要 求 の 追 加 依 存 元 の 設 定 ユースケースへの 変 換 Vehicle conditions は Adhesion utilization とネスト 関 係 がありますので ポップアップメニューから 子 要 求 の 追 加 から 追 加 します Test and procedure conditions も 同 様 です また Test and procedure conditions から Pavement friction Pavement friction から ASTM R1337-90 へ 導 出 <<deriverept>>でつながっていますので ポップアップメニューから 依 存 先 の 設 定 から 追 加 します ( 依 存 元 の 設 定 でも 可 能 です ) ちなみに 導 出 <<deriverept>>とは 要 件 から 別 の 要 件 が 導 き 出 される 関 係 のことです 89 / 153

以 下 が 作 成 したモデルです 要 求 テーブルと 要 求 図 の 両 方 を 使 って それぞれの 利 点 を 活 かすといいですね 要 求 図 と 要 求 テーブルを 使 用 して 要 求 をモデリング[WEB 系 サンプル]しよう 使 用 できるエディション: astah* professional ここでは ストーリー 仕 立 てで 要 求 モデリングしていきたいと 思 います 登 場 人 物 プロジェクトマネージャー A さん 営 業 X さん 開 発 リーダー B さん 要 求 開 発 リーダー R さん プロジェクトマネージャーである A さんは 営 業 X さんと 取 引 先 に 新 案 件 の 打 ち 合 わせに 行 きました A さんは いつものように PC を 起 動 しマインドマップでヒアリングを 開 始 しました 90 / 153

どうやらいつもの WEB アプリケーションのようです 顧 客 はいつもおざなりになりがちな 非 機 能 要 件 周 り レス ポンスやセキュリティ 障 害 対 策 について 注 意 してほしいとのことでした 機 能 要 件 については ログイン 程 度 簡 単 なものにとどまり 打 ち 合 わせも 無 事 終 了 しました 作 成 したマインドマップは 以 下 です プロジェクトマネージャーA さんは 会 社 に 戻 り さっそく 以 下 のようなユースケースを 書 いてみました 91 / 153

その 後 プロジェクトマネージャーA さんはヒアリングした 要 求 を 機 能 要 件 非 機 能 要 件 もまとめて 要 求 の 機 能 をまとめてみることにしました 頭 のなかに 浮 かんだのは 以 下 のモデルです プロジェクトマネージャーA さんは 要 求 テーブルからネスト 関 係 を 考 慮 しながら 要 求 を 入 力 していきました 92 / 153

次 に 要 求 間 の 依 存 関 係 を 設 定 していきます 先 ほど 軽 く ユースケース 分 析 をしていました ユースケースの"ログインする"の 詳 細 は 要 求 の"ログインボタン "にあたります このように 機 能 要 件 のユースケースから 機 能 要 件 の 要 求 に 対 して 詳 細 化 するという 意 味 合 いの 洗 練 <<refine>>を 引 くことができます このように 既 存 の UML のダイアグラムと 関 連 し 合 っているため この 様 に 可 視 化 することにより 仕 様 の 共 有 化 に 一 役 買 うことにもなるでしょう 操 作 方 法 は 要 求 テーブル 上 で 依 存 を 張 り たい 要 求 を 選 択 し ポップアップメニューから 依 存 先 の 設 定 から 追 加 します ( 依 存 元 の 設 定 でも 可 能 です ) また プロジェクトマネージャーA さんは 顧 客 からログイン 時 のレスポンスやセキュリティの 要 求 に 注 意 するよう に 言 われていたのを 思 い 出 しました 非 機 能 要 件 を 満 たせないと 顧 客 から 信 頼 をなくしかねません 機 能 要 件 の 要 求 "ログインボタン"は 非 機 能 要 件 の 要 求 "レスポンス 要 求 " "セキュリティ 要 求 "を 導 き 出 しています 同 様 に 機 能 要 件 の 要 求 " 正 常 遷 移 "から 機 能 要 件 の 要 求 " XX 画 面 要 求 "へも 同 様 です このように 導 出 <<deriverept>>とは 要 件 から 別 の 要 件 が 導 き 出 される 関 係 のことを 表 します 操 作 方 法 は 要 求 テーブル 上 で 依 存 を 張 りたい 要 求 を 選 択 し ポップアップメニューから 依 存 先 の 設 定 から 追 加 します ( 依 存 元 の 設 定 でも 可 能 です ) 次 にテストケースについて 考 えています テストケースは astah* 内 でもモデルとして 生 成 できます 実 際 のそのテストケースの 内 容 ですが 自 動 テストに するか EXCEL でテスト 仕 様 書 を 書 くのか 現 段 階 では 決 まっていませんが ここは 顧 客 メンバと 話 し 合 うため 成 果 物 は 何 にするかは 懸 案 事 項 として 置 いておくとします 93 / 153

ただ 自 動 テストならソースや 結 果 のドキュメント テスト 仕 様 書 なら ドキュメントへ シナリオならフローチ ャートやアクティビティ 図 へのハイパーリンクを 張 るのか またはテストケースの 定 義 に 書 くのかなど 事 前 にプ ロジェクトで 話 し 合 ってよりよい 合 意 をとったほうがよさそうです プロジェクトマネージャーA さんは この 点 をメモしておき 開 発 リーダーB さんにテストケースの 設 計 を 指 示 し ました 開 発 リーダーB さんは まずネスト 関 係 に 注 意 しながら テストケースを 設 計 し 始 めました また テストケースと 要 求 間 では 検 証 <<verify>>といって 要 求 を 満 たすことをテストケースで 検 証 するための 依 存 関 係 をはることができます 開 発 リーダーB さんは プロジェクトマネージャーA さんが 作 ったモデルを 自 分 の モデルにマージし 検 証 関 係 を 張 っていきました 出 来 上 がったモデルは 以 下 でした 94 / 153

その 後 は プロジェクトマネージャーA さんは 要 求 開 発 リーダーの R さんに 要 求 の 詳 細 化 を 依 頼 しました 要 求 開 発 リーダーR さんは 自 身 を 中 心 に 要 求 開 発 グループで 展 開 させるために 要 求 テーブルを EXCEL で 出 力 してチーム 内 の 共 有 を 開 始 しました [ツール]-[ 要 求 ]-[ 要 求 テーブルを Excel ファイルに 出 力 ]で 出 力 できます 95 / 153

出 力 ダイアログが 表 示 されます 出 力 された Excel は 以 下 の 通 りです 要 求 テーブルを Excel 形 式 で 受 け 取 った 要 求 開 発 チームは 要 求 の 階 層 化 と 要 求 テーブルの 書 式 やルール 決 めを 行 い 要 求 をつめていきました 詳 細 化 された Excel ファイルをプロジェクトマネージャーA さんが 持 つプロジェク トファイルに Excel 入 力 の 機 能 を 使 用 し 反 映 しました [ツール]-[ 要 求 ]-[ 要 求 テーブルを Excel ファイルに 入 力 ]で 行 います 96 / 153

要 求 テーブルの 入 力 時 には まず ID が 同 じ 要 求 を 同 一 の 要 求 とし 次 に 名 前 が 等 しい 要 求 を 同 一 の 要 求 として 更 新 します 要 求 が 固 まってきたところで プロジェクトマネージャーA さんは 要 求 開 発 リーダーR さんとレビューを 繰 り 返 し 要 求 を 具 体 化 していきました その 後 明 確 化 された 要 求 を 元 に 開 発 リーダーB さん 中 心 に 実 装 とテストケー スを 作 成 していきました [ 要 求 の 機 能 のポイント] SysML では 主 に 組 み 込 み 系 を 想 定 ターゲットとしていますが それ 以 外 のソフトウェア 分 野 にも 汎 用 的 に 利 用 できるものです 忘 れられがちな 非 機 能 要 件 について 初 期 の 段 階 から 強 く 意 識 できることなども 要 求 モデリ ングの 魅 力 の 一 つです また astah で 要 求 モデルを 扱 う 利 点 は 要 求 間 の 関 係 を 図 示 しやすいことと 要 求 とモデルの 間 の 関 係 につ いても 管 理 しやすくなることです 97 / 153

言 語 サポート 機 能 を 使 ってみよう 使 用 できるエディション: astah* professional astah* UML astah*では 基 本 的 によく 使 用 される 基 本 的 な 言 語 Java C++ C#に 対 応 されています JAVA 使 用 できるエディション: astah* professional astah* UML JAVA 基 本 機 能 プロジェクトの 言 語 設 定 をしてみよう プロジェクトの 言 語 設 定 は プロパティビュー または システムプロパティで 設 定 します プロジェクトのプロパティビュー[プロジェクトの 設 定 ]タブ [ツール]-[システムプロパティ]-[ファイル]-[プロジェクトの 新 規 作 成 時 の 言 語 ]-[Java] JAVA 言 語 固 有 の 設 定 をしてみよう クラス 属 性 操 作 の[ 言 語 ]タブ(プロパティビュー)で Java 言 語 固 有 の 設 定 が 可 能 です [クラス] [ 属 性 ] 98 / 153

99 / 153

JAVA のデフォルトモデルを 使 ってみよう astah* professional インストールフォルダ template project Java1.4.asta astah* professional インストールフォルダ template project Java5.asta システムプロパティでデフォルトモデルを 設 定 していない 場 合 は [ファイル]-[テンプレートからプロジェクトの 新 規 作 成 ]-[ Java1.4.asta]または[Java5.asta]を 選 択 します 以 下 のような 内 容 です [Java5.asta] [Java1.4.asta] またシステムプロパティで 新 規 プロジェクト 作 成 時 のデフォルトモデルの 設 定 もできます 100 / 153

JAVA スケルトンコードを 作 成 してみよう 作 成 したモデルから Java のスケルトンコードを 出 力 できます インストールフォルダ 配 下 の Sample.asta を 開 いて 出 力 してみましょう メインメニューの[ツール] - [Java] - [Java スケルトンコードの 作 成 ]を 選 択 します 101 / 153

Class パッケージの 直 下 のソースを 出 力 してみます 以 下 のように 出 力 されましたね Monitor.java を 開 いてみます 102 / 153

正 しく 出 力 されていることがわかりますね JAVA ソースコードの 読 み 込 みをしてみよう 今 度 はプロジェクトを 新 規 作 成 し 前 章 で 出 力 したソースをリバースしてみます (1) プロジェクトを 開 き(または 新 規 作 成 し) メインメニューの[ツール] - [Java ソースコードの 読 み 込 み] を 選 択 します (2) Java ファイル 選 択 ダイアログで Java のファイルを 選 択 します (3) Java のソースコードよりパッケージやクラスのモデルを 生 成 します リバース 時 には 関 連 にしたい 属 性 を 指 定 することもできます 以 下 のダイアログで Close ボタンをクリックすると 終 了 です 103 / 153

以 下 のようにリバースされました (4)リバースしただけではクラス 図 は 作 成 されませんので 生 成 したモデルからクラス 図 を 自 動 作 成 します 構 造 ツリーのプロジェクトのポップアップメニューより 以 下 のメニューを 選 択 します 104 / 153

- [クラス 図 を 自 動 作 成 する] - [ 詳 細 クラス 図 を 自 動 作 成 する] 以 下 のようにクラス 図 が 自 動 生 成 されました 105 / 153

C++ 使 用 できるエディション: astah* professional astah* UML C++ 基 本 機 能 プロジェクトの 言 語 設 定 をしてみよう プロジェクトの 言 語 設 定 は プロパティビュー または システムプロパティで 設 定 します プロジェクトのプロパティビュー[プロジェクトの 設 定 ]タブ [ツール]-[システムプロパティ]-[ファイル]-[プロジェクトの 新 規 作 成 時 の 言 語 ]-[C++] C++ 言 語 固 有 の 設 定 をしてみよう クラス 属 性 操 作 の[ 言 語 ]タブ(プロパティビュー)で C++ 言 語 固 有 の 設 定 が 可 能 です [クラス] [ 属 性 ] [ 操 作 ] 106 / 153

C++ 用 のデフォルトモデルを 使 ってみよう astah* professional インストールフォルダ template project C++.asta システムプロパティでデフォルトモデルを 設 定 していない 場 合 は [ファイル]-[テンプレートからプロジェクトの 新 規 作 成 ]-[ C++.asta]を 選 択 します 以 下 のような 内 容 です またシステムプロパティで 新 規 プロジェクト 作 成 時 のデフォルトモデルの 設 定 もできます 107 / 153

型 修 飾 子 (* & 等 ポインタ 情 報 )を 使 ってみよう プロパティビューより 型 修 飾 子 を 入 力 できます 型 修 飾 子 はダイアグラムエディタ 上 でクラスや 属 性 等 の 図 要 素 に 表 示 されます HTML 出 力 や RTF 出 力 にも 対 応 しています C++ プリミティブ 型 の 対 応 108 / 153

各 プリミティブ 型 に 対 応 しています bool / char / signed char / unsigned char / short / unsigned short / short int / signed short int / unsigned short int / int / signed int / unsigned int / long / unsigned long / long int / signed long int / unsigned long int / float / double / long double / wchar_t C++スケルトンコードを 作 成 をしてみよう 使 用 できるエディション: astah* professional astah* UML インストールフォルダ 配 下 の Sample.asta を 開 いて プロジェクトのプロパティビューの"プロジェクトの 設 定 "で C++を ON にします 以 下 の MSG ではいを 選 択 します メインメニューの[ツール] - [C++] - [C++スケルトンコードの 作 成 ]を 選 択 します 109 / 153

Class パッケージの 直 下 のソースを 出 力 してみます またオプションに 次 があります 以 下 のようにヘッダーファイル ソースファイルともに 出 力 されましたね 110 / 153

Monitor.h を 開 いてみます Monitor.cpp を 開 いてみます 111 / 153

正 しく 出 力 されていることがわかりますね 112 / 153

C++リバースをしてみよう(サンプル サポート 対 象 外 ) 使 用 できる 製 品 : astah* professional [ 使 用 方 法 ] 詳 しい 使 用 法 は astah* C++リバース 利 用 ガイドをご 参 照 ください astah* professional インストールフォルダ api sample sample_doxygen_c_plus sample_doxygen_c_plus.html [イメージ] Doxygen リバースツール ソース XML *.asta [Doxygen を 利 用 してリバース] [C++のスケルトンコードを 作 成 ]の 章 で 出 力 したソースを Doxygen を 使 用 し XML に 変 換 します 113 / 153

読 み 込 みソースパス 配 下 のファイルがすべて 対 象 な 時 には RECUSIVE のチェックが 必 要 なので 注 意 してくださ い また ソースのエンコードもファイルのエンコードと 揃 えてください また ヘッダーファイルのパスも 追 加 するのも 重 要 です [Doxygen の 設 定 ポイント] 特 に 以 下 に 注 意 してください [Expert]-[Input]-[RECURSIVE] [Expert]-[Input]-[INPUT_ENCORDING] [Expert]-[Preprocessor]-[INCLUDE PATH] 以 下 のように 出 力 されました 114 / 153

これを API サンプルを 経 由 してプロジェクトを 作 成 します 作 成 した 結 果 を 開 いてみます 115 / 153

この 時 点 ではクラス 図 がないため クラス 図 を 自 動 生 成 してみます 次 のようにクラス 図 が 自 動 生 成 されました 116 / 153

リバース 前 のクラス 図 と 比 較 するため 移 動 と 色 付 けをします これがフォワード 前 のモデルです 117 / 153

比 較 するとグローバルな Global クラスがあります これは C++では クラスに 属 さないメソッド 等 が 生 成 される ため リバース 時 に 各 名 前 空 間 に Global クラスが 生 成 されます また Tracer クラスと Engine クラス Tracer クラスと Steering クラス Tracer クラスと Monitor クラス Tracer クラスと State クラスの 関 連 がありませんが その 代 わり Tracer クラスには 属 性 として Engine クラス Steering クラス Monitor クラス State クラスを 持 ち 逆 参 照 も 付 加 されます UML2.0 では 属 性 も 関 連 もプロパティとい う 概 念 になり 意 味 合 いは 同 じです また Monitor クラスと Engine クラス Monitor クラスと Steering クラスの 関 連 がないこと Monitor クラスと LightSensor クラスの 関 連 がないことも 同 じです 118 / 153

C# 使 用 できるエディション: astah* professional astah* UML C# 基 本 機 能 プロジェクトの 言 語 設 定 をしてみよう プロジェクトの 言 語 設 定 は プロパティビュー または システムプロパティで 設 定 します プロジェクトのプロパティビュー[プロジェクトの 設 定 ]タブ [ツール]-[システムプロパティ]-[ファイル]-[プロジェクトの 新 規 作 成 時 の 言 語 ]-[C#] C# 言 語 固 有 の 設 定 をしてみよう クラス 属 性 操 作 の[ 言 語 ]タブ(プロパティビュー)で C# 言 語 固 有 の 設 定 が 可 能 です [クラス] [ 属 性 ] 119 / 153

[ 操 作 ] 120 / 153

C# 用 のデフォルトモデルを 使 ってみよう astah* professional インストールフォルダ template project C_Sharp.asta システムプロパティでデフォルトモデルを 設 定 していない 場 合 は [ファイル]-[テンプレートからプロジェクトの 新 規 作 成 ]-[ C_Sharp.asta]を 選 択 します 以 下 のような 内 容 です またシステムプロパティで 新 規 プロジェクト 作 成 時 のデフォルトモデルを 設 定 できます 121 / 153

C# プリミティブ 型 の 対 応 各 プリミティブ 型 に 対 応 しています bool / byte / char / decimal / double / float / int / long / object / sbyte / short / string / uint / ulong / ushort C#スケルトンコードを 作 成 してみよう 使 用 できるエディション: astah* professional astah* UML インストールフォルダ 配 下 の Sample.asta を 開 いて プロジェクトのプロパティビューの"プロジェクトの 設 定 "で C#を ON にします 以 下 の MSG ではいを 選 択 します 122 / 153

メインメニューの[ツール] - [C#] - [C#スケルトンコードの 作 成 ]を 選 択 します Class パッケージの 直 下 のソースを 出 力 してみます またオプションに 次 があります 123 / 153

以 下 のように 出 力 されましたね Monitor.cs を 開 いてみます 正 しく 出 力 されていることがわかりますね 124 / 153

C#リバースをしてみよう(サンプル サポート 対 象 外 ) 使 用 できる 製 品 : astah* professional [ 使 用 方 法 ] 詳 しい 使 用 法 は astah* C#リバース 利 用 ガイドをご 参 照 ください astah* professional インストールフォルダ api sample sample_doxygen_c_sharp sample_doxygen_c_sharp.html [ 使 用 イメージ] Doxygen リバースツール ソース XML *.asta [Doxygen を 利 用 してリバース] [C#のスケルトンコードを 作 成 ]の 章 で 出 力 したソースを Doxygen を 使 用 し XML に 変 換 します 読 み 込 みソースパス 配 下 のファイルがすべて 対 象 な 時 には RECUSIVE のチェックが 必 要 なので 注 意 してくださ い また ソースのエンコードもファイルのエンコードと 揃 えてください 125 / 153

以 下 のように 出 力 されました 126 / 153

これを API サンプルを 経 由 してプロジェクトを 作 成 します 作 成 した 結 果 を 開 いてみます 127 / 153

この 時 点 ではクラス 図 がないため クラス 図 を 自 動 生 成 してみます 次 のようにクラス 図 が 自 動 生 成 されました 128 / 153

リバース 前 のクラス 図 と 比 較 するため 移 動 と 色 付 けをします これがフォワード 前 のモデルです 129 / 153

Tracer クラスと Engine クラス Tracer クラスと Steering クラス Tracer クラスと Monitor クラス Tracer クラ スと State クラスの 関 連 がありませんが その 代 わり Tracer クラスには 属 性 として Engine クラス Steering クラス Monitor クラス State クラスを 持 ち 逆 参 照 も 付 加 されます UML2.0 では 属 性 も 関 連 もプロパティとい う 概 念 になり 意 味 合 いは 同 じです また Monitor クラスと Engine クラス Monitor クラスと Steering クラスの 関 連 がないこと Monitor クラスと LightSensor クラスの 関 連 がないことも 同 じです 130 / 153

構 造 化 分 析 しよう 構 造 化 分 析 とは 構 造 化 分 析 (Structured Analysis)は トム デマルコによって 考 案 され 1970 年 代 後 半 から 普 及 した 要 求 を 階 層 的 に 設 計 していく 分 析 手 法 です 構 造 化 分 析 では データフロー 図 (DFD) データディクショナリ ミニ 仕 様 書 と いったツールを 利 用 します ツール 概 要 astah*での 対 応 データフロー 図 (DFD) データの 流 れを 表 現 する 図 デマルコ 式 /ゲイン サーソン 式 で 編 集 可 能 外 部 エンティティ プロセス データスト ア アンカー データフローが 表 現 可 能 データディクショナリ システムのデータのディクショナリ( 辞 astah*では 未 対 応 書 )で データフローの 詳 細 な 構 成 内 容 を 記 載 するもの ミニ 仕 様 書 プロセスにつき1つ プロセスの 基 本 機 能 について 記 述 する 仕 様 書 のこと astah*では 未 対 応 ですが Excel で 作 成 し ハイパーリンクを 張 るなど という 対 応 も 可 能 参 考 書 籍 : 構 造 化 分 析 とシステム 仕 様 日 経 BP 出 版 センター トム デマルコ 著 実 際 には これだけでは 多 種 多 様 なデータを 扱 うには 適 さず 大 規 模 な 開 発 ではむしろデータを 中 心 に 据 えたオブ ジェクト 指 向 に 関 心 が 移 る 事 となった しかし 部 分 部 分 の 処 理 分 割 では 構 造 化 が 基 本 であり オブジェクト 指 向 と 構 造 化 プログラミングが 対 立 しているわけではない 理 想 的 な 構 造 化 プログラミングに データの 多 態 と 継 承 など のオブジェクト 関 係 性 を 扱 う 能 力 を 持 たせると ほとんどオブジェクト 指 向 と 区 別 がつかないものとなり パラダ イムとしては 案 外 に 隣 り 合 わせの 関 係 にあることが 分 かる 引 用 : 構 造 化 プログラミング. (2009, 9 月 27). Wikipedia,. Retrieved 07:45, 11 月 11, 2009 from http://ja.wikipedia.org/w/index.php?title=%e6%a7%8b%e9%80%a0%e5%8c%96%e3%83%97%e3%83%ad %E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&oldid=28206959. 131 / 153

DFD(データフロー 図 ) 使 用 できるエディション: astah* professional デモ 動 画 :http://astah.change-vision.com/ja/movie.html#dataflow-diagram データの 入 出 力 や 流 れを 可 視 化 する 図 です astah* の DFD の 主 な 機 能 は 以 下 の 通 りです DFD 作 成 ( 外 部 エンティティ プロセス データストア データフロー) デマルコ 式 ゲイン サーソン 式 の 両 記 法 CRUD との 連 携 ( 機 能 軸 に DFD を 指 定 ) Excel にプロセスの 階 層 表 を 出 力 UML との 連 携 ( 外 部 エンティティからアクターへの 変 換 プロセスからユースケースへの 変 換 ) ER 図 との 連 携 (データストアから ER エンティティに 変 換 データフローから ER エンティティに 変 換 ) マインドマップとの 連 携 (トピックから DFD の 図 要 素 への 変 換 ) 外 部 エンティティ データストアに 別 名 指 定 132 / 153

DFD(データフロー 図 )を 使 ってみよう インストールフォルダ 配 下 の Sample.asta を 開 いて 出 力 してみましょう 4つの DFD がありますね システムプロパティの[プロジェクトビュー]-[ 階 層 ツリーの 表 示 ( 要 再 起 動 )]を ON にして astah*を 再 起 動 します 左 のプロジェクトビューの 階 層 ツリー を 表 示 します 133 / 153