ITエンジニアの仕事に役立つ勉強とは② ー 亀田恭平

野鳥図鑑を絶賛開発中!
写真の青い鳥「ルリビタキ」も登場します!

 

前回、ITエンジニアが最も使っている勉強は
数学の「証明」という話をしました。
今回は、実際のシステム開発で
証明的な思考を使っている例を紹介します。

 

なお、証明問題を解く流れは
以下の通りです。

問題を定義する

問題の要素を分解する

答えを導く

 

例えば数学の証明問題では、

ーーーーーーーーーー
■ 問題の定義
4の倍数は偶数であることを証明しなさい

■ 問題の要素分解
y=4x → y=2*2*x

■ 答えを導く
yには必ず2が掛けられる

4の倍数=2の倍数=偶数である
ーーーーーーーーーー


では、システムで不具合が出て
原因を特定する場合。


ーーーーーーーーーー

■ 問題の定義
画面に「こんにちは」という文字が
表示されるはずが
「Hello」が表示されているので、
原因を突き止めたい

■ 問題の要素分解
画面に文字を表示するには、
以下の処理を行っている。
1. データベースから文字データを取得
2. 言語設定に応じて
    表示する文字を決定する

3. 文字を画面に表示する

■ 答えを導く
1. データベースの文字データが
    間違っていないか

2. 言語設定の判定が間違っていないか
3. 画面に表示している値は、
    言語設定判定後の値を使っているか

↑ を順番に確認して、
該当したものが答えになります。

1でヒットした場合、
” データベースに
  間違った文字データが入っている”
  ことが原因となります
ーーーーーーーーーー


実際はもう少し要素が
複雑なケースが多いですが、
基本的にはこの考え方がベース。

 

他の問題でも多くは同じ考え方。

・新機能開発 = 新機能に
    必要なものを要素分解する

・ユーザー数アップ = 〇〇人になるには
    ××が必要、と要素分解する

と、日々の課題の多くは証明問題です。

 

僕はこの論理的思考は
エンジニアだけでなく、
ほかの職業にも役立つ、

幅広い職業で使えるスキルだと思います。

 


「ネイチャーエンジニア」 web

 


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です