― 要求工学ワークショップ・イン・嬉野温泉 ― エンドユーザ主導型 アプリケーション開発技法における 要求仕様定義プロセス 石榑久嗣 中所武司 明治大学大学院 理工学研究科 基礎理工学専攻 {hisashi,chusho}@cs.meiji.ac.jp 2000年3月30日 1 はじめに 研究目的 対象ソフトウェア 業務の専門家による情報システムの構築 オフィスなどにおける業務アプリケーション 開発形態 モデリング&シミュレーションによる開発 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 2 M-baseにおける 要求仕様定義プロセス 1. 業務仕様の詳細化 システム利用者とユースケースを抽出 2. ドメインモデルの作成 モデリングツールで業務の動的振舞いを定義 3. ユーザインタフェースの構築 自動生成を行ない、必要に応じてカスタマイズ 4. シミュレーション実行による検証 作成したドメインモデルの妥当性を検証 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 3 共通問題への適用実験 適用範囲 共通問題の(a)スケジュール決定から(e)論文 投稿者への受領通知まで 実験方法 プログラム委員長を業務の専門家とする プログラム委員長はSEと相談しながら要求仕 様を定義する エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 4 過去のワークショップとの関連 高知 小樽 業務仕様を詳細化し、ドメインモデルを作成 UIを用いた要求仕様の定義・洗練 嬉野 シミュレーション実行によるモデル検証 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 5 M-baseにおける 要求仕様定義プロセス 1. 業務仕様の詳細化 システム利用者とユースケースを抽出 2. ドメインモデルの作成 モデリングツールで業務の動的振舞いを定義 3. ユーザインタフェースの構築 自動生成を行ない、必要に応じてカスタマイズ 4. シミュレーション実行による検証 作成したドメインモデルの妥当性を検証 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 6 業務仕様の詳細化(1) ― アクタとユースケースの抽出 ― システム利用者 プログラム委員長 ユースケース スケジュール決定 CFPの作成・配布 プログラム委員選出 投稿論文登録 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 7 業務仕様の詳細化(2) ― 詳細化の具体例 ― スケジュール決定 開催日を入力することにより、過去の同 様の国際会議の経験的データから原案 を自動的に生成する ユーザは自動的に生成された原案を修 正してスケジュールの決定を行なう エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 8 M-baseにおける 要求仕様定義プロセス 1. 業務仕様の詳細化 システム利用者とユースケースを抽出 2. ドメインモデルの作成 モデリングツールで業務の動的振舞いを定義 3. ユーザインタフェースの構築 自動生成を行ない、必要に応じてカスタマイズ 4. シミュレーション実行による検証 作成したドメインモデルの妥当性を検証 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 9 ドメインモデルの作成(1) ― モデリングの概要 ― 方法 ビジュアルツールを用いて業務の動的振舞い をコンポーネントの組合せにより定義 方針 日常的業務を1つのオブジェクトに対応させる オブジェクト間の通信手段をメッセージとする 「1オブジェクト1業務」の割当てを原則とする エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 10 ドメインモデルの作成(2) ― 共通問題のドメインモデル ― <スケジュール決定> <プログラム委員選出> <CFP作成・配布> エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス <投稿論文登録> 11 ドメインモデルの作成(3) ― ドメインモデル作成上の問題点 ― 新規コンポーネントの定義 予めコンポーネントが提供されていない場合 フロー分岐の記述 業務フローを動的に決定したい場合 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 12 ドメインモデルの作成(4) ― 新規コンポーネントの定義 ― 定義方法 動的モデルから静的構造のスケルトンを自動 生成し、必要に応じて詳細化を行なう 動的モデル 登録 スケジュール決定 静的モデル スケジュール決定 スケジュール表 会議開催日 会議開催日 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス スケジュール表 会議開催日 登録(会議開催日) 13 ドメインモデルの作成(5) ― 自動生成の具体例 ― 自動生成 される部分 プロパティ メソッド 処理内容 を詳細化 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 実行スクリプト 14 ドメインモデルの作成(6) ― フロー分岐記述 ― 分岐記述の必要性 フローを動的に決定したい場合 従来の記述方法 B ? スクリプト言語の利用 A ? C D 複雑な処理を記述できるが習得が困難 ビジュアルな制御部品による定義 全体の見通しが悪く修正に負担がかかる エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 15 ドメインモデルの作成(7) ― ルールを用いたフロー分岐記述 ― 解決方法 ルール構成 分岐のためのルールを記述 条件部(プロパティ値による論理演算) 行動部(次に実行するメッセージ名を指定) ルール記述単位 オブジェクトのメソッドに対応させて記述 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 16 ドメインモデルの作成(8) ― ルールの記述例 ― 記述例(CFP作成:CFP受理メソッド) 1.作業継続=“非継続” ならば 作業終了 2.作業継続=“継続” && 印刷の有無=“有” ならば 印刷依頼 3.作業継続=“継続” && 印刷の有無=“無” ならば CFP配布 記述効果 ルールの再利用が可能 局所的な例外処理を組み込むことが可能 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 17 M-baseにおける 要求仕様定義プロセス 1. 業務仕様の詳細化 システム利用者とユースケースを抽出 2. ドメインモデルの作成 モデリングツールで業務の動的振舞いを定義 3. ユーザインタフェースの構築 自動生成を行ない、必要に応じてカスタマイズ 4. シミュレーション実行による検証 作成したドメインモデルの妥当性を検証 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 18 ユーザインタフェースの構築(1) ― UI構築の特徴 ― UIビルダによる自動生成 UIカスタマイザによるカスタマイズ ユーザの負担軽減 ユーザの使い勝手を向上 UI遷移図による要求検証 要求仕様の洗練、モデリングの誤りの発見 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 19 ユーザインタフェースの構築(2) ― UIの自動生成 ― 方法 入出力項目とデータ型を 指定して自動生成 UIの特徴 <自動生成されたUIの例> モデルとの接続ロジックを 持っている デバッグ作業に使用可能 問題点 使い勝手は良くない エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 20 ユーザインタフェースの構築(3) ― UIのカスタマイズ ― カスタマイズ機能 <カスタマイズしたUIの例> 部品の交換 位置、サイズ、色 の変更 部品間の関連付け エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 21 ユーザインタフェースの構築(4) ― UI遷移図による検証 ― <自動生成されたUI遷移図の例> 手順の間違い、必要項目欠如を発見可能 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 22 M-baseにおける 要求仕様定義プロセス 1. 業務仕様の詳細化 システム利用者とユースケースを抽出 2. ドメインモデルの作成 モデリングツールで業務の動的振舞いを定義 3. ユーザインタフェースの構築 自動生成を行ない、必要に応じてカスタマイズ 4. シミュレーション実行による検証 作成したドメインモデルの妥当性を検証 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 23 シミュレーションによる検証(1) ― 3種類の図式表現の併用 ― コラボレーション図 シーケンス図 作成したモデル上で業務フローを確認 メソッドの処理内容を業務の用語で確認 プロパティシート 実際の値を表示する厳密な確認 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 24 シミュレーションによる検証(2) ― コラボレーション図 ― 特徴 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 作成したモデル上 でそのまま検証 主に業務フローの 確認に用いる 並列処理の表現 がわかりやすい 25 シミュレーションによる検証(3) ― シーケンス図 ― 特徴 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス オブジェクト間通信 を時系列で表現 処理内容を業務の 用語で確認可能 26 シミュレーションによる検証(4) ― プロパティシート ― 特徴 オブジェクトプロパティの 実際の値を表示 変数値は動的に変更可能 UIとモデルの整合性、スク リプトの妥当性、ルールの 妥当性など厳密な確認が 可能 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 27 コンポーネントに関する考察(1) ― コンポーネントの分類 ― ユ ー ザ の 負 担 大 ユーザ定義部品 テンプレート部品 小 特定分野部品 基本部品 狭い 広い 適用範囲 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 28 コンポーネントに関する考察(2) ― 例題コンポーネントの分類 ― ユ ー ザ の 負 担 ユーザ定義部品 大 小 スケジュール決定 CFP作成 CFP配布 委員選出 投稿論文受付 特定分野部品 委員名簿管理 投稿論文管理 狭い エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス テンプレート部品 スケジュール表 基本部品 印刷 メール送信 書類作成 広い 適用範囲 29 おわりに メタファベースのモデリング ルールを用いたフロー分岐記述 簡素で柔軟な業務フローを実現 UI遷移図の自動生成 エンドユーザによる要求定義を実現 要求仕様の洗練・検証を実現 3つの図式表現を併用したシミュレーション 厳密でわかりやすい検証を実現 エンドユーザ主導型アプリケーション開発技法における要求仕様定義プロセス 30
© Copyright 2024 ExpyDoc