ホーム » 2017 » 6月

月別アーカイブ: 6月 2017

【T3L】事例22:非機能(複数の要素がつながる全体構図を描く)

Together! 3行ラベリング、22本目のお題は何でしょうか! むむっ、これはシステム開発の上流工程の話題ですね!

■原文

 「非機能」とは「機能」以外にシステムに要求されること、すなわち、
「どのように機能するか(How)」のことです。機能と非機能を問わず、
商品に求められる目玉となる要求をフィーチャー(特色)と呼ぶ人もいます。
一般的に非機能は「信頼性」「使用性」「性能(時間・資源)効率性」
「保守性」などを指します。例えば、駅の切符券売機に200円を入れて130円
のボタンを押したら130円の切符と70円のお釣りが出た(すなわち機能は
100%満足のいくものができた)としても、この処理に10分かかるとしたら
「性能(時間効率性)に問題あり」でしょう。だから「機能」に対する
要求だけでなく、「非機能」に対する要求もきちんと獲得してつくり込もう
(テストも十分実施しよう)ということです。

■出典
事例とツールで学ぶHAYST法 ソフトウェアテストの考え方と上達のポイント (秋山浩一、201407)

 

これを最近新入社員に聞かれて、どう説明しようか困ったんですよね。ここに書いてあるような説明はできるんですけど、なにかもう一工夫できないかなと思いまして。何かヒントもらえませんか?

わかりました! じゃあまず前置きからいきますと、こういうことが言えますよね。

 

 

そうですね、だから原文でもその後で具体的にはこういうものがありますよ、という説明をつけてますよね。

 

 

はい、とはいえこれを列挙しただけだとたぶんイメージが湧かないんです。

おっしゃるとおりで・・・

こういうものは、全体構図を描いてあげたほうがいいんですよ。たとえば簡単な例で言うとこういうもの。

 

 

山、川、田んぼという「複数の要素」の違いを「見た目」で見せつつ、それらの「つながり」を、「山から流れてくる川の水で田んぼを作ります」という言葉で表現してますよね。非機能についても、「機能」を含む全体構図を描いてあげたいところです。

 

 

非機能、つまり信頼性、保守性などなどの概念と「機能」を含む全体構図・・・ですか?

そう言われてもすぐには発想が出てこないと思いますので、まずはここから行きましょう。「機能」を説明するときによく使われる単純なモデルにこういうのがありますよね。

 

 

これを少し改変します。たとえば「高速性」を処理開始から終了までの時間と捉えるとこんな書き方ができます。

 

 

あ、こんなちょっとしたことでいいんですか

そうですよ。でも、ちょっとした改変を重ねていくとスゴイことになるんです。

次に、「使用性」はちょっと名前を変えて「操作性」にしましょう。そのほうが一般的な用語ですので。で、これは「入力」の一部(「ボタン」の部分)と考えられますけど、お金とは分離して示しておきます。

 

 

「お金」と分離するのはなぜですか?

入力と出力を呼応させるためです。製造ラインに例えて言えば、「お金」は、出力の「商品とおつり」を作るための原材料のように見なせますよね。でも、「ボタン操作」は原材料ではなく、作業工程への製造指示にあたるものです。なので、別にしておくほうがいいです。

あ、そういう考え方、できますね、確かに・・・

機能を実現するための、装置(この場合は自動販売機)内部の仕組み、これを一般に「機構」と呼びますが、「保守性」というのは「機構」の保守のことを言うので、「機能」のハコの中に「機構」を描いてそこに「保守性」を関連づけます。

 

 

おおー

あとは一般に「資源効率」は通常「入力」の量に関する概念なので入力側に記載し、「信頼性」は通常「出力」の品質に関する概念なので出力側に記載するとこんなふうに書けますね。

 

 

そういえばそうですね・・・

というわけで、高速性も含めてまとめた最終形の一例がこちら。 「高速性」は当初、機能のハコの外に書きましたけど、中のほうがシンプルになりそうなので変更しました。 他にもいろいろな書き方がありますが、論理的にはこんな構図で整理できるはずです。

 

 

わーお! これならわかりそうです!

ちなみにこれはIDEF0(アイデフゼロ)という、アメリカ空軍が開発した機能モデリングのための手法をヒントにしています。IDEF0は「機能」に対して入力・出力・制御・機構を整理していく手法で、こんな図で表記します。

 

 

そうなんですね、これは知りませんでした。

日本ではあまり有名じゃないですからね。

IDEF0 を知っていれば、操作性は制御の部分、保守性は機構の部分だな、と見当がつくので今回のような発想が生まれるんですけど、知らないと難しいと思います。こんなふうに、知っていないと発想が出てこないものっていろいろありますので、自分でいい案が思いつかない時は人に聞いちゃった方がいいですよ。

聞いちゃっていいんですかねえ。

それが人類の進歩ってものです。車輪を再発明する必要は無いんです。先人の知恵はこき使いましょうよ。
人に聞いても、どのみち聞いただけじゃ使えるようにはなりませんし。二度三度と自分で使ってみてやっと使えるようになります。
でも、聞きさえすれば「あ、こんなやり方があるんだ」とわかって、その二度三度と試してみるチャンスがつかめますけど、聞かないとたいてい忙しいからそのまま忘れちゃうじゃないですか? そうすると結局進歩しないんですよ。聞いて自分で試してみる、それが大事です。

なるほど! じゃあ、ガンガン聞きますので!

もちろんですとも!

 

ということで、まとめとしては 「複数の異なる要素が関連づく全体構図の可視化を目指そう」 ということでした!
ラベリングだけではイマイチピンと来ないときは、これが必要なことが多いです!

 

ひとりではそれが難しいときは、一緒にやりましょう! Together! 3行ラベリング、です!

 

 

【T3L】事例21:ランサムウェア(カテゴリーとサマリーの混同)

さて次のお題は・・・と、少し前に(2017/5月)話題になったランサムウェアですね!

■原文

ランサムウェア(英語: Ransomware)とはマルウェアの一種である。これに感染したコンピュータは、利用者のシステムへのアクセスを制限する。この制限を解除するため、被害者がマルウェアの作者に身代金(ransom、ランサム)を支払うよう要求する。

出典 Wikipedia
https://ja.m.wikipedia.org/wiki/ランサムウェア

 

はい、こんな感じでいかがでしょうか。

 

 

ふむふむ。悪くないですが、「アクセス制限」だけだと、そのアクセス制限自体が不当に/不正に行われるものだということがわかりにくいです。システム管理者が運用上の理由で利用者に対して正当な手続きをもって行うアクセス制限と区別ができないですね。

それと・・・これを考えてみてください。

 

 

えっと・・・ああ、「分類」は何にでも使えるラベルで、後の2つはランサムウェア特有の情報ですね。ってことは・・・・

つまり「分類」はカテゴリー、残り2つはサマリーなんです。文章を書くときはカテゴリーとサマリーを混同していても目立ちませんけど、ラベルをつけると目立ちますね。

 

 

あっ、そうですね

じゃあ・・・・こんな感じでどうでしょう?

 

 

おおっ、素晴らしい! これなら完璧です!

ところで、「利用不能」の代わりに「利用禁止」としても大丈夫ですか?

「利用禁止」ですか? うーん、何かちょっと違うような・・・・ ああ、「禁止」 だと、正規の権限のもとで行う措置という印象になりませんか? なので、利用できる正当な権利を持っているのにそれができなくなる、という意味を伝えるには 「利用不能にする」 のほうがいいような気がします。

その通りですね! ということで、完璧です!
では、カテゴリーとサマリーの区別には気をつけましょう! じゃ、次行きましょうか!

 

 

当事例のPowerPoint資料はSlideshareにも掲載しました。

 

「Together! 3行ラベリング」は、当事例のようなワークをメールで開米と一緒に行うコースです。
Together! 3行ラベリング・メール添削トレーニングのお知らせ

ラベリングの基本#4 手段・効果・目標とその変化形

問題解決を語る時には「手段・効果・目標」というパターンをよく使いますが、その基本と変化形についてまとめました。

Slideshare で見たい方は↓こちらからどうぞ

(さらに…)

【T3L】事例19:魂と運命(複数の要素が時間軸を通して相互に影響し合い変化していく)

それでは次のお題に行ってみましょう!
おっと、これは哲学の話題でしょうか、僕の苦手な分野ですね!

■原文

私自身は「魂とは、自己の肉体の外部にある人類の文化と、自身の心が融合したもの」と理解しています。それも、崇高な文化がいい。「崇高なるもの」と自身の心が融合しなければ、私は魂とは呼びたくないのです。その文化を自己が取り入れ同化すれば、それが自己を規制し、それと自我との戦いが魂を育む。そして、魂が運命を生み出していくのです。

出典:『根源へ』執行早舟著、講談社

 

そうなんです、哲学の話題でも構造化できるのかな? と好奇心にかられちゃいまして。
どんな文章でも良いと聞いていたのでこんなのを選んでみたんですが、まずかったですか?

いえいえ、大丈夫ですよ。じゃあ、ラベリングと図解した例を見てみましょうか。

 

 

こんな感じで書いてみたんですが・・・・

ああ、なるほど。ラベリングした情報を並べて図解を作ったわけですね。そうですねえ、原文に書いてあることを書いてある範囲で忠実にまとめようとすると、こうなると思います。

これでいいんでしょうか?

大きく2つ問題があって、1つは、この課題文では自己、魂、文化、心などの「複数の要素」が、「時間軸を通して相互に影響し合い、変化していく」ことを語っているということ。こういうものをラベルつき箇条書きや単純フローの図で書くのはとても難しくて、なかなか納得感のある形では書けません。(文章で説明するのはもっと難しいですが・・・)もう1つは、原文だけだと情報が足りないということですね。「自己の肉体の外部にある人類の文化と自身の心が融合」とか、「崇高な文化」とか、それが何を意味しているのかはたぶんこの文だけだと実感をもって通じないんですよ。

なので、こういうものを「まともに話が通じるように」説明しようとすると、足りない情報を補った上で、構造が見えるように図解してあげる必要があります。

正直、非常~~~~に難易度高いです。 それを実際やってみるとどうなるか、見てみたいですか?

ぜひ見たいです!

ではお見せしましょう! こんなふうになります! 3枚の図を書きますので順番に見てください!

 

 

 

う、うわーっ! すごい、これすごいです!! こんなにわかりやすくなるなんて、感動です!!!

実は自分で書いていて、「融合」から「同化」に至って出来上がった自己と、もとからある「自己ちゃん」の関係はどう書くの??? とか、「自我」は野生のものという理解でいいのかな? 「自己」との関係はどう書こう? とかずっとモヤモヤしっぱなしで・・・

評判が良くてうれしいです(^o^) 
どうしてもこういうのは難しいんですよ。「複数の要素が時間軸を通して相互に影響し合い、変化していく」ものは、何がいつ何とどう影響してどう変化するのか、文章から読み取ること自体がまず大変ですからね。

 

それから図解技法的な面について言うと、「名詞をハコの中に、動詞を矢印で書く」という手法はよく使います。
まあ名詞動詞という文法的な概念だけできれいに区別できるわけではありませんが、判断の目安としては手頃です。

 

 

あっ、そうですね、そんなふうに書かれてますね・・・・

最初の図解案だと名詞動詞を区別せずに、文を短くしただけで使ってましたよね? これだと、「複数の要素が時間軸を通して相互に影響し合い、変化していく」・・・というものを説明するのには向かないんです。

 

 

あっ、そうですね、そういうことなんですね!

はい。動詞は「動き」や、複数の名詞の間の関係を表したりするので、矢印がふさわしいことが多いんですよね。
なので、名詞と動詞に区別してみると図解の手がかりが得られることがよくありますよ。
といっても、「戦い」は名詞だけれど「戦う」だと動詞なわけで、どっちにでも解釈できる言葉も多いので、そこは慎重に読み取らなければいけませんけどね!

【T3L】事例20:CEマーキング

Together! 3行ラベリングの事例20番目は、EU内での「CEマーキング」という規制についての解説文です。まずは原文を見てみましょう。

■原文

CEマーキングは、EUで販売(上市)される指定の製品に基準適合マーク(CEマーク)を表示することです。CEマーキングによってその製品が分野別のEU指令や規則に定められる必須要求事項(Essential Requirements)に適合したことを示します。「CE」はフランス語の「Conformité Européenne(英語:European Conformity)」の略です。必須要求事項の大半は製品の安全性にかかわるものですが、近年では、RoHS指令およびエコデザイン指令に定められている製品の環境性能基準への適合を、CEマーキングによって宣言することが求められるようになりました。該当製品の製造業者(輸入者)または代理の第三者認証機関が所定の適合性評価を行い、製品、包装、添付文書に付与します。正しいCEマーキングのある製品は、EU域内の自由な販売・流通が保証されます。

(出典:貿易・投資相談Q&A https://www.jetro.go.jp/world/qa/04S-040011.html )

 

ラベリングしてみたところ、ざっとこんな感じになりました

おお、これはよくできてますね! カテゴリー、サマリーとも適切だと思います! 素晴らしい!!で、そこまではいいんですが、しかし!!

しかし……?

この話はラベルをつけても、文字だけだと全体の構図が見えないので、できれば図解したいですね

図解ですか、そうしたいんですけどなかなか難しくて……どうすればいいんでしょう?

外国語の文章を書くのは、文法が分かってて単語を知ってても大変ですよね? こういうのは1人でゼロから考えるのは難しいものなんです。外国語の学習と同じで、最初は真似て真似て真似まくるべきです。というわけで、まずはお手本になるサンプルを見てみましょう。


おーっ、、、、確かに、これなら全体の構図が見えますね。イメージが湧きます。

この図のポイントは、「真っ直ぐ順番につながる部分を見つけること」です。そういう「つながる部分」を見つけると、そこを手がかりに全体を書けることが多いんですよ。

真っ直ぐ順番につながるところ・・・ああ、左側の真っ直ぐつながる部分に対して、右側が呼応するというか、関連のあるものが横に並ぶように書いてあるんですね。

そうなんですよ! 原文全体を読むのは大変でも、「真っ直ぐつながる部分を探す」だけならずっと楽なので、それをまず探してそれを手がかりに残りを書き足していくことが多いです。

なるほど! やってみます!

やってみるときは、いったんお手本を見ながらそのまま書き写してみて、それから今度は見ないで再現してみるといいですよ!

そんなコピペみたいなことでいいんでしょうか

大丈夫です! ただし、コピペではなく自分でキーを叩いて入力してください。どうしてここはこう書くのか? を少しだけでも考えながら入力していれば、十分効果があります! これはプログラマーのトレーニングにも効果がある、由緒正しい方法ですので(笑)
参考こちら↓
誰もが知ってるけど敢えて言わない確実に身につくプログラミング学習法 – WirelessWire News(ワイヤレスワイヤーニュース)

やってみます!

というわけで練習用に置いときますね。こんなふうに、図解のお手本から文字だけ消したものを作って、そこに自分で言葉を入れ直してみるといいです。A~Mに何が入るか、思い出しながら考えてみてください!

当事例のPowerPoint資料はSlideshareにも掲載しました。

「Together! 3行ラベリング」は、当事例のようなワークをメールで開米と一緒に行うコースです。
Together! 3行ラベリング・メール添削トレーニングのお知らせ