① ② - XP-Dev.com

タムラフレンズ
要求定義:機能をとらえる
①コンテクストダイアグラム
組み込みという制約の強い開発を行う
上で、まずハードウェアの仕様と役割を
確認する必要がある。最初にコンテクス
トダイアグラムにまとめておけば、要素
技術の議論がスムーズになる。
③ ユースケース図
早稲田大学院 鷲崎研究室
《NXTシステム》
include: 機能の一部を外に出す
extend: ある条件のとき、置き換える
UC02
位置を推定する
<<include>>
UC01
機能として重要な基本フローを、
包含ユースケースとして外に出した
コースに沿って速く走行する
必ず実行される機能
スタータ
走行体を発進させたい人
UC03
<<include>>
ライントレース走行を行う
②要素技術の整理
競技説明をよく読み、狙いたい動作を
実現するための、手段の選択肢を列挙
しておく。
アクターにとっての価値が集約されている
ユースケース
「どんな《こと》をやりたいのか」の本質!
<<extend>>
新ショートカット走行する
<<extend>>
UC04
ツインループ走行する
UC05
走行ラインに復帰する
難所を走行する
トレジャーハント走行する
キャリブレータ
③ユースケース図
最後に、開発すべき機能を体系的に整
理し、「どんな《こと》をやりたいのか」の
本質と詳細を明らかにする。
① コンテクストダイアグラム
モータ
回転
タッチセンサ
UC06
② 要素技術の整理
システム
タッチ情報
光値
競技内容をよく読み、必要となりそうな
手段をどんどん列挙していく
ライントレース走行
復帰走行
表示
傾き状態
ゴール停止を行う
ドルフィンジャンプ
LCD
発音
NXT
機能として重要な代替フローを
拡張ユースケースとして外に出した。
「UC03ライントレース走行を行う」を基本としながら、
状況に応じて、「UC04走行ラインに復帰する」「UC05
難所を走行する」に機能を切り替える!
キャリブレーションを行う
スピーカー
実験を繰り返してハードウェア特性を
しっかり理解。APIも確認!
エンコーダ値
設定を調整したい人
選択的に実行される機能
エッジ走行
新ショートカット走行
ツインループ走行
PID制御走行
トレジャーハント走行
キャリブレーション
ジャイロセンサ
光センサ
ゴール停止
姿勢制御
エッジチェンジ
マーカー検知
タイミング検知
カーブ検知
坂検知
構造の設計へ!
aseda University
ashizaki Laboratory
タムラフレンズ
要求定義:機能をとらえる
① コンテクストダイアグラム
モータ
エンコーダ値
回転
タッチセンサ
ドルフィンジャンプ
LCD
発音
NXT
システム
タッチ情報
光値
ライントレース走行
エッジ走行
復帰走行
表示
傾き状態
競技内容をよく読み、必要となりそうな
手段をどんどん列挙していく
② 要素技術の整理
スピーカー
実験を繰り返してハードウェア特性を
しっかり理解。APIも確認!
早稲田大学院 鷲崎研究室
新ショートカット走行
ツインループ走行
PID制御走行
トレジャーハント走行
キャリブレーション
ジャイロセンサ
ゴール走行
姿勢制御
光センサ
マーカー検知
エッジチェンジ
タイミング検知
カーブ検知
坂検知
構造の設計へ!
①コンテクストダイアグラム
組み込みという制約の強い開発を行う
上で、まずハードウェアの仕様と役割を
確認する必要がある。最初にコンテクス
トダイアグラムにまとめておけば、要素
技術の議論がスムーズになる。
③ ユースケース図
UC02
機能として重要な基本フローを、
包含ユースケースとして外に出した
コースに沿って速く走行する
必ず実行される機能
UC03
走行体を発進させたい人
<<include>>
アクターにとっての価値が集約されている
ユースケース
「どんな《こと》をやりたいのか」の本質!
aseda University
ashizaki Laboratory
ライントレース走行を行う
extension points
ライントレースをする
<<extend>>
設定を調整したい人
新ショートカット走行する
UC05
走行ラインに復帰する
キャリブレータ
ドルフィン走行する
完走するため?
機能性?-?性
<<extend>>
UC04
失格にならないよう
にするため
信頼性-回復性
③ユースケース図
最後に、開発すべき機能を体系的に整
理し、「どんな《こと》をやりたいのか」の
本質と詳細を明らかにする。
include: 機能の一部を外に出す
extend: ある条件のとき、置き換える
位置を推定する
<<include>>
UC01
スタータ
②要素技術の整理
競技説明をよく読み、狙いたい動作を
実現するための、手段の選択肢を列挙
しておく。
正確なタイミングで
状態遷移を行うため
?性-?性
《NXTシステム》
ツインループ走行する
難所を走行する
選択的に実行される機能
より高い点数をとるため?
?性-?性
トレジャーハント走行する
UC06
キャリブレーションを行う
いかなる照明環境でも正確に
ライントレース走行するため
移植性-環境適応性
機能として重要な代替フローを
拡張ユースケースとして外に出した。
「UC03ライントレース走行を行う」を基本としながら、
状況に応じて、「UC04走行ラインに復帰する」「UC05
難所を走行する」に機能を切り替える!
ゴール走行する
タムラフレンズ
早稲田大学院 鷲崎研究室
aseda University
ashizaki Laboratory