OHP資料 - 明治大学

― 要求工学ワークショップ・イン・嬉野温泉 ―
エンドユーザ主導型
アプリケーション開発技法における
要求仕様定義プロセス
石榑久嗣
中所武司
明治大学大学院 理工学研究科 基礎理工学専攻
{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