magazine.gifJUDEで学ぶシステムデザイン

はじめに

第1章 JUDEとは?

  • 開発プロセスにおけるフェーズを広くカバーする、さまざまなモデルが作成可能
  • 「使える」無料版(JUDE/Community)がある
  • ユーザーの要望に対応した素早い改善
  • UML以外の図に対応
  • UML以外の図とUMLの連携機能

第1部 機能編
第2章 基本操作

  • リファレンスマニュアル
  • 基本画面構成
  • 基本操作
    • 図の新規作成
    • モデル要素の削除
    • 図のコピー&ペースト

第3章 ユースケース図

  • 図の要素と描き方
    • アクター
    • ユースケース
    • 関連
    • 包含
    • 拡張汎化
    • ユースケース記述
  • 知っておきたい操作方法
    • 包含するユースケースの追加
    • 包含するユースケースの配置
    • ユースケース記述の記載項目作成
  • モデリングガイド
    • ユースケース図作成の目的
    • 複数の境界線拡張
    • 拡張点の明示

第4章 アクティビティ図

  • 図の要素と描き方
    • 開始ノード
    • 終了ノード
    • アクション
    • パーティション
    • デンジョンノード/マージノード
    • フォークノード
    • ジョインノード
    • フロー終了ノード
  • 知っておきたい操作方法
    • テンプレートの利用
  • モデリングガイド
    • システム設計におけるアクティビティ図の利用方法
    • 多次元のパーティションの仕様
    • オブジェクトノードの使用方法
    • 並列処理中の処理終了の表現
    • コネクタによる図の分割

第5章 オブジェクト図

  • 図の要素と描き方
    • オブジェクト
    • リンク
  • モデリングガイド
    • オブジェクトとクラスの関係
    • システム設計におけるオブジェクト図の利用方法

第6章 クラス図

  • 図の要素と描き方
    • クラス
    • 依存
    • 関連
    • 汎化
    • インターフェース
  • 知っておきたい操作方法
    • 分割表記と共有表記の切り替え
    • 関係するクラスの追加
    • クラス要素の表示/非表示切り替え
    • インターフェースの提供、要求
      • 提供インタフェースの表現
      • 要求インタフェースの表現
  • モデリングガイド
    • 関連の種類と使い分け
    • 多重度と関連端名
      • 多重度
      • 関連端名
    • 抽象化の表現
    • 関連クラス
    • インターフェースの利用

第7章 コミュニケーション図

  • 図の要素と描き方
    • ライフライン
    • リンク
    • メッセージ
  • 知っておきたい操作方法
    • クラスの新規作成
    • クラス操作のの追加
  • モデリングガイド
    • 動的モデル分析から静的モデルを導出する
    • コミュニケーション図の強みを意識する

第8章 シーケンス図

  • 図の要素と描き方
    • ライフライン
    • メッセージ
    • 非同期メッセージ
    • 出現メッセージ
    • 消失メッセージ
    • 相互作用の利用
    • 複合フラグメント
    • 状態不変式
  • 知っておきたい操作方法
    • クラスの新規作成、クラス操作の新規作成
    • Replyメッセージ自動生成モード
  • モデリングガイド
    • 生成、破棄、応答メッセージの使用
    • 複合フラグメント

第9章 ステートマシン図

  • 図の要素と描き方
    • 開始擬似状態
    • 終了擬似状態
    • 状態
    • 遷移
  • 知っておきたい操作方法
    • 内部繊維の追加方法
      • ポップアップメニューからの選択
      • プロパティビューからの操作
  • モデリングガイド
    • 内部遷移
    • 浅い履歴擬似状態、深い履歴擬似状態
    • サブマシン状態
      • スタブ状態

第10章 コンポーネント図

  • 図の要素と描き方
    • コンポーネント
    • パート
    • コネクタ
    • ポート
    • 提供インターフェース
    • 要求インターフェース
  • 知っておきたい操作方法
    • ポートからのクラス/インターフェースの作成
  • モデリングガイド
    • 分析フェーズでのコンポーネント図活用の利点

第11章 合成構造図

  • 図の要素と描き方
    • 構造化クラス
    • パート
    • コネクタ
    • インターフェース
    • 提供インターフェース
    • 要求インターフェース
    • ポート
  • 知っておきたい操作方法
    • パート/ポートの表示切り替え
  • モデリングガイド
    • どのような場合に合成構成図を利用するか?
    • 外部との関連と内部構造の関わりを表現する

第12章 配置図

  • 図の要素と描き方
    • ノード
    • ノードインスタンス
    • コンポーネント
    • 関連
  • モデリングガイド
    • 配置図を作成するときの観点
    • ノードへのコンポーネントの配置

第13章 フローチャート

  • 図の要素と操作方法
    • 基本要素
    • 産能式
  • 知っておきたい操作方法
    • 直角線モードの利用
    • テンプレートの活用
    • フロー記号テンプレートの作成

第14章 データフロー図

  • 図の要素と書き方
    • 外部エンティティ
    • プロセス
    • データストア
    • データフロー
  • 知っておきたい操作方法
    • 表記法の切り替え
    • DFDの階層化

第15章 ER図

  • 図の要素と書き方
    • エンティティ
    • 依存型リレーションシップ
    • 非依存型リレーションシップ
    • 多対多型リレーションシップ
    • サブタイプ
  • 知っておきたい操作方法
    • 表記法の切り替え
    • 依存するエンティティを追加
    • ERデータ型の設定
    • エンティティをクラスに変換
    • クラスをエンティティに変換
    • ER図からクラス図に変換
    • クラス図からER図に変換
    • ドメインの利用

第16章 CRUD図

  • 図の書き方
    • CRUD作成に必要な図
    • CRUDの新規作成
    • 全体業、図行

第17章 マインドマップ

  • 図の要素と描き方
    • テーマ
    • トピック
    • トピック間のリンク
    • 境界
    • 画像
  • 知っておきたい操作方法
    • ショートカットの活用
    • マインドマップとUMLの連携
      • トピックをUMLモデルに変換
    • マインドマップのスタイル設定
      • あらかじめ用意されているスタイルの適用
      • 図の要素の「見せ方」を自分で設定する
  • マインドマップ活用ガイド
    • ヒアリングや会議の議事録として使用
    • 計画立案時の整理に活用
    • テンプレートの活用
      • ToDoリスト
      • 会議の準備
      • KPT
      • 自作のテンプレートの活用

第18章 チーム開発

  • プロジェクトのマージ
  • 参照プロジェクト機能を用いたチーム開発
    • 全体イメージ
    • 参照プロジェクトの設定方法
    • 情報管理ツールの活用

第2部 活用編
第19章 業務システムへの適用事例

  • 出欠管理システム
  • 現状のヒアリング
  • 現状の業務分析
  • 解決すべき問題点の定義
    • 問題点の抽出
  • 問題点の選別と優先順位付け
  • 問題点の解決方法の検討
  • 「出席予定の把握が難しい」の解決方法
  • 「マネージャの負荷が高い」の解決方法
  • 「欠席届の提出率が欠席者数に対して低い」の解決方法
  • イテレーションの計画
    • 現時点で見えるシステムの最終形
    • どのようなイテレーションに分割するか?
  • 第1イテレーションの設計
    • ユースケース分析
    • ユースケース記述
    • ロバストネス分析
    • シーケンス図
    • クラス設計
    • データベース設計
  • 第2イテレーション
    • ユースケース分析
    • ユースケース記述
    • ロバストネス分析
    • シーケンス図
    • クラス設計
    • データベース設計
  • まとめ

第20章 組込みソフトウェア開発への適用事例

  • ライントレーサ
  • 要求分析
    • システムの目的を考える
    • 目的に対するアプローチを考える
    • 情報収集
    • 走行戦略
  • リリースの計画
  • 第1イテレーション
    • イテレーションの要求事項
    • ユースケース分析
    • オブジェクトの抽出
    • オブジェクトの関連の分析
    • クラス図の分析
    • 評価
  • 第2イテレーション
    • 走行戦略
    • ユースケース分析
    • コミュニケーション図
    • クラス図
    • マイルストーン達成の評価
  • マイルストーン「点線を走る」のイテレーション計画
  • 第3イテレーション
    • ユースケース分析
    • コミュニケーション図
    • クラス図
    • ステートチャート図
  • まとめ

第3部 付録
付録A Tips集[JUDE開発チーム編]

  • 1.共有表記で汎化を作成する(クラス図)
  • 2.クラスの属性・操作の移動(クラス図)
  • 3.CSV出力(クラス図、ユースケース図)
  • 4.疑似状態の向き(ステートマシン図)
  • 5.アクションのステレオタイプ別表示(アクティビティ図)
  • 6.消失メッセージ、出現メッセージ(シーケンス図)
  • 7.メッセージの操作の設定(シーケンス図)
  • 8.メッセージインデックスの階層表示(コミュニケーション図)
  • 9.コンポーネントの表記(コンポーネント図)
  • 10.入れ子構造(配置図)
  • 11.外部パートの作成(合成構造図)
  • 12.遷移の線の種類と矢印(フローチャート)
  • 13.階層ツリー(データフロー図、アクティビティ図、ステートマシン図)
  • 14.エンティティのカテゴリ(ER図)
  • 15.CRUDに図を追加する(CRUD)
  • 16.マインドマップにユーザーアイコンを追加する(マインドマップ)
  • 17.マップビューの使い方
  • 18.図のスクロール
  • 19.JUDEでjavadocを作成する
  • 20.JUDEのナビゲーション機能
  • 21.検索機能
  • 22.ハイパーリンクの設定
  • 23.図要素の連続作成
  • 24.関係線の付け替え
  • 25.グラデーションと影

付録B JUDEの歴史

  • JUDE前史
  • Jude梅時代
  • Jude竹時代
  • JUDEへの改名
  • JUDE時代の幕開け
  • チェンジビジョンの設立とJUDEの分化
  • メインストリームとしてのJUDE/ProfessionalとJUDE/Community
  • 「デザイン+コミュニケーション」を体現したJUDE/Share
  • 「考具」としてのJUDE/Think!
  • JUDE/Bizによる一般企業への進出
  • 総括:プロフェッショナルJUDEの流儀

付録C LuRuJu―JUDE meets Ruby

  • はじめに
  • LuRuJu
    • LuRuJuの特徴
    • LuRuJuの狙い
  • LuRuJu on Rails
    • LuRuJu on Railsの特徴
    • LuRuJu on Railsでの作業イメージ
    • LuRuJu on Railsの狙い

付録D JUDE API

  • 概要
  • JUDE APIの使用方法とサンプルコード
    • API利用サンプルコード
  • サンプルコードで利用しているクラス/インターフェースの仕様
    • BasicModelEditorインターフェース
    • IAttributeインターフェース
    • IClassインターフェース
    • INamedElementインターフェース
    • IOperationインターフェース
    • IPackageインターフェース
    • ModelEditorFactoryクラス
    • ProjectAccessorインターフェース
    • ProjectAccessorFactoryクラス
    • TransactionManagerクラス
  • クラス図
    • ステートマシン図インターフェース
    • クラス図、ユースケース図インターフェース
    • データフロー図インターフェース
    • シーケンス図インターフェース
    • ER図インターフェース
    • アクティビティ図インターフェース
    • CRUDインターフェース
    • エディタインターフェース
    • APIプロジェクトインターフェース
    • マインドマップインターフェース
    • プレゼンテーションインターフェース

最後に
索引