12
モデリングスキル強化 トレーニングコース 1

モデリングスキル強化 トレーニングコース弊社トレーニングコースの特徴(3) 『コツをつかんでいる』→『自在に使える』のステップアップの

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

モデリングスキル強化トレーニングコース

1

モデリング教育の問題点

2

1.煩雑なモデルを作る人が多く、教育においてなぜモデリングすべきか、どうやってモデリングすればよいかがきちんと伝わっていない

2.スキルアップへの教育のサポートが充分とは言えない

新しいナレッジを生み出せる

自在に使える

コツをつかんでいる

頭で理解している何も知らない

知識がある

スキルアップしやすく、教育も充実している

スキルアップには実践が不可欠

教育で基礎力を上げることができるが、教育メニューが少ない

価値観の転換が必要で、教育よりも日常的な啓蒙が重要

clas s 論理モデル

ab

+ bbb() : void+ ggg() : void

c

d

+ aaa() : void

e

f

- aa: int- bb: int

+ aaa() : void+ bbb() : void+ ccc() : void+ ddd() : void+ eee() : void+ fff() : void+ ggg() : void+ hhh() : void+ iii() : void+ jjj() : void+ kkk() : void

やたらと操作が多いクラス

やたらと多い関連煩雑モデルからは煩雑なコードしかできない⇒モデリングする意味がない

弊社トレーニングコースの特徴(1)

『良いモデルを作れるようになる』ことをサポートする段階的なアプローチをとっています1. 思考を整理することの大事さへの気づき

2. 思考を整理するトレーニング

3. 思考を整理した結果をモデルにつなげるトレーニング

3

• 本システムは、お客様のPCに何を

インストールすることなく、ブラウザを通じて様々なことが、快適に実施できることを目的としている

• 本システムはネットワークにつながっていることを前提とする

• 本システムでは、快適な反応速度を提供することを大事なことと考えている

clas s 論理モデル

a

- ee: int- ff: int- gg: int

+ hhh() : void

b

- cc: int

+ bbb() : void+ ggg() : void

d

+ aaa() : void

f

- aa: int- bb: int

+ hhh() : void+ iii() : void+ kkk() : void

*1

0..10..1

0..1

0..1

s t m f

開始

St a t e1

St a t e2

終了

St a t e3

aa

bb

xxx

複雑な要求仕様開発者の考え

何が大事か?何が必要か?どんな観点か?整理すると・・・

オブジェクト指向的な観点でまとめると?

UMLで表現すると?

class a {

private:

int aa;

b *aB;

protected:

vertual void ~a()

public:

a();

viod aaa();

void bbb(();

}

#include a.h

a::a() {

ab = new b;

}

void a::aaa() {

if ( aa == INIT_VALUE) {

aB->do_some()

}

else {

・・・・・・・・・・・・・・・・

整理されたモデルからは整理されたコードができる!

弊社トレーニングコースの特徴(2)

『頭で理解している』→『コツをつかんでいる』のステップアップのサポート 小さな問題を繰り返すことで基礎力強化

小さな成功によるモチベーションアップ

実際に手を動かすことで頭でっかちからの脱却を図る

一度ソフトから離れることで、モデリングの本質的なコツをつかむ

4

新しいナレッジを生み出せる

自在に使える

コツをつかんでいる

頭で理解している何も知らない

知識がある

体づくりは継続が重要キック練習は体が覚えるまでやる

少しずつコツを覚え、できるという実感を得る

典型的なシーンで、迅速な判断が下せるようスモールゲームを繰り返すサッカー理論の学習

理論だけでは実践はできない

弊社トレーニングコースの特徴(3)

『コツをつかんでいる』→『自在に使える』のステップアップのサポート 実践前に疑似的なプロジェクトを体験することで実践に備える

実践から離れ、客観的にモデルの良し悪しを考える機会を作る

『モデルを作る』視野よりも広い視野でモデルを視る

他者とのディスカッションにより、様々な観点を持つことを倣う

5

新しいナレッジを生み出せる

自在に使える

コツをつかんでいる

頭で理解している何も知らない

知識がある

試合での主観的な立場と、ビデオでのチェックにおける客観的な立場で、実践をレベルアップする

練習試合で全体の流れや試合勘を養ってから、

本番の試合へ

講師の特徴

すべてのトレーニングにおいて、講師は現場で実際にコンサルティングをしている現役コンサルタントが担当します

実践的なアドバイス

生きた事例の紹介

現役コンサルタントとの接触による刺激

6

思考整理トレーニングの概要

ポイント

普段の何気ない『自分の思考』への気づきを得る

考えること、思考を整理することの重要性を理解する

思考を整理することと業務とを関連付けて考えられる

普段の生活の中で『思考する』ことを根気強く実践することへのモチベーションを持つ

内容

思い込みをなくす

視点を変える

何を考えるか考える

大事なものを見分ける

軸を見つけて整理する

などなど・・・

7

例:クリップの便利な使い方を20通り以上考えよ

モデリキ基礎トレーニングの概要

ポイント

ソフトとは関係ない問題で頭の『コード脳』から『モデル脳』への切り替えを図る

単純な問題を繰り返し解くことでコツをつかむ

『小さな達成感』の積み重ねによるモチベーションの向上

内容

目に見えるモノをモデル化する

目に見えないモノをモデル化する

モノどうしのつながりをモデル化する

動的な特徴をモデル化するなどなど

8

例:アイスクリームをモデル化せよ

内容

機能・構造・振舞いの複数の視点を使ったモデリング

例:スリッパ自動殺菌装置をモデル化せよ

モデリキ応用トレーニングの概要

ポイント

基本的なポイントは『モデリキ基礎トレーニング編』と同じだが、次のポイントが加わる

ひとつのことを、複数の視点でモデリングする『視点の切り替え』のトレーニング

それぞれの視点がどのような役割を担って全体が成り立っているかを経験を通じて理解する

ソフトウェア的な問題にも挑戦する

9

ここにスリッパを置と、重みを感知して扉が下に開く

このボタンを押すと、内部に収納しているスリッパの固定ベルトが回り、下から殺菌済みのスリッパが出てくる

この殺菌室には、左右の内壁に沿って、それぞれ右と左のスリッパを縦に並べて固定ベルトで収容する仕組みになっており、庫内にいる間、殺菌灯で殺菌する

満杯です

満杯や、スリッパの置き方により、スリッパが下に落ちないときは点灯する

ここから殺菌済みのスリッパが出てくる

モデル実装トレーニング(体験編)の概要

ポイント 内容

1日目

モデリキ応用トレーニングの最後に作成した分析モデルを利用して、CASEツールにモデルを入力する

設計モデルを作成する

2日目 CASEツールでコードを生成し、実装環境でコンパイルを通す

実装し実機で動作させる

3日目

足りない所や問題のあるところを修正して、機能を満たす

3日間の開発を振り返る

10

要求仕様から実機動作までを経験することで、モデルを実装にいかに結び付けるかを理解する

モデルの作成にはCASEツールを使用

CASEツールからの生成コードを

使ったフォワード型モデル駆動開発を体験

題材はLEGO MindStorm

※写真はNXTとなっていますが、場合によってはRCXとなる可能性もあります※ ※モデルの完成度によっては、こちらで提供したモデルにて実装を

行います

モデル実装トレーニング(開発編)の概要

ポイント

モデル実装トレーニング(体験編)に以下のポイントが増えます

反復を2回繰り返し、モデルを使っての機能追加を経験する

自ら計画し、実行し、振り返ることで、反復型プロセスにおける課題解決を体験する

題材はLEGO MindStorm

問題

1日目~3日目 反復1

モデル実装トレーニングと同じ

4日目 渡された追加要求を使って、反復1で

完成させたモデルをどうするか検討する

反復2を計画する

分析モデルを作成する

5日目 設計モデルを作成、コード生成、実装、実機動作を確認する

反復2の振返りと5日間の振返りをする

11

※写真はNXTとなっていますが、場合によってはRCXとなる可能性もあります※

利きモデルトレーニングの概要

ポイント 問題

一般的なモデルの悪い症状(アンチパターン)の学習 機能集約クラス

クモの巣関連

などなど

ケースを使ってのグループディスカッション

12

モデルの良し悪しについて考えるきっかけを得る

他の人とディスカッションすることで多角的な視点を持つ

モデルに対する『主観』から『客観』への立場の切り替え

モデルの判断基準を知ることで、自分のモデルへの自信につながる

コンサルタントから活きたアドバイスが得られる

clas s 論理モデル

ab

+ bbb() : void+ ggg() : void

c

d

+ aaa() : void

e

f

- aa: int- bb: int

+ aaa() : void+ bbb() : void+ ccc() : void+ ddd() : void+ eee() : void+ fff() : void+ ggg() : void+ hhh() : void+ iii() : void+ jjj() : void+ kkk() : void

例:右のモデルの良い点と悪い点を挙げて、悪い点はどうすれば良いのか提案せよ