貴方も技術士(情報工学部門)になれる

酒と飯と、技術士(情報工学部門)試験に関する情報提供

経営者の問題意識と要求分析について

会社を経営している古い友人から、技術的に新しいことをしたいのだが、どのように勧めたらよいかという相談を受けた。
私は、友人の会社の業界に詳しいわけではないが、情報工学技術士および自身のキャリアアップのために、こういう相談にはぜひ乗らねばならぬ。

まずは要件定義のために要件分析をする必要がある。要求分析は、具体的には3つのことをする。

  • 会社としてどう有りたいか(理想ToBeビジネスモデル)を検討する
  • 理想ToBeビジネスモデルを実現するための理想ToBeモデル(業務プロセスとデータモデルのあるべき姿)を検討する。
  • 現在の会社はどういう形であるか(AsIsモデル)を調査し、明らかにする。

要件分析ができたら要件定義をする。要件定義では以下のことをする

  • 理想ToBeプロセスモデルとAsIsモデル、および制約条件(手持ちの技術や資金等)から、落とし所ToBeモデルを作成する。
  • AsIsモデルから落とし所ToBeモデルにするためのプランを検討する。

「要件定義はお客さんと話ができさえすれば良い」というのは間違いである。
要件定義では、AsIsモデルを元にどのような技術を使ってリーズナブルにToBeモデルを実現するか、できないならどのような落とし所ToBeモデルを作成するかを検討する必要がある。
これには既存技術がよくわかっていないといけない。
参考:

だまし絵を描かないための-- 要件定義のセオリー

だまし絵を描かないための-- 要件定義のセオリー

貴方もIPAのプロジェクトマネージャ試験に合格する

むかーし,別のところで書いた記事のを再録.


友人に質問されたのでプロジェクトマネージャ試験の勉強方法をメモしておく.


試験に関する全体知識は「ポケットスタディ プロジェクトマネージャ」が良い.
試験の範囲を丁寧にカバー&説明しているうえに,安い.
これを5回ぐらい読みながら過去問を解けば,少なくとも午後1までは問題ない.
www.shuwasystem.co.jp

上記対策でも不安なら,定番の「合格精選500シリーズ」で対策をすれば万全だろう.
www.hanmoto.com

前述のポケットスタディは非常によくできた本であるが,午後2の論文対策に関する記述は少し問題があるように思う.
例えば,「論文の回答に問題文からの引用を多用するのが良い」と主張していると受け取れる部分がある.しかし,問題文からの引用を多用すると論文の内容が薄くなるのでよくない.よって,午後2は別の本を使って対策をとる必要がある.


自分の経験や知識を論文に落とし込むテクニックは「プロジェクトマネージャ 午後2 最速の論文対策」が参考になる.
薄くてすぐ読めるし,技術士試験の論文作成にも役に立つ.
bookstore.tac-school.co.jp

結局,私は午後2の対策として「『最速の論文対策』を元に自分で論文を作ってみて,『プロジェクトマネージャ合格論文の書き方・事例集』の解答案と比較して足らない部分を修正する」という方法をとった.後から考えてもこれは正解だったと思う.
www.itec.co.jp

例えば私は「書き方・事例集」を読むまでは,プロジェクト内の課題調査の記述を「作業内容を精査し,課題を見つけた」と書いていた.これは試験の解答としてはNGである.PMの勉強をしているかどうかがアピールできていない.
ここは「WBSを作成して作業内容を精査し,課題を見つけた」と記述しないといけない.
こういうことが「書き方・事例集」を読むとわかってくる.

金銭的・時間的な余裕や会社の補助が受けれるのであればTAC等が実施している模試を受けることをお勧めする.特に論文の添削はすごく有用である.

後は論文を「時間を計って手で書く」練習をすること.情報処理試験の論文は2時間で2400字以上書く必要がある.
やってみたらわかるがこれは中々ハードである.3〜5回ほど練習するとできるようになる.

方々で書いてあるが,情報処理試験の論文の合格率は40%である.難しい試験ではない.内容についてうんぬんよりも章立てや字,行数,読みやすさに気を使うほうが良いと思う.
例えば「途中で手が痛くならないように鉛筆の持ち方を修正」「章やアピール部分に下線を引く」「シャーペンの芯はHBよりB(薄い字は読みにくい)」という細かい対策が効く.


以上,御武運を!

ブロックチェーンと鮨の街、仙台について

ブロックチェーン

私は2001年に今の会社に入社し、そこからIoT(昔はセンサネットワークやユビキタスネットワークといわれていた)に関する研究開発をしてきた。具体的には無線方式の標準化から組み込みマイコンのドライバ作成、プロトコルスタックの開発およびプロマネ、セキュリティ検討、アプリケーション検討、新規研究の立ち上げ等、様々なレイヤに関わってきた。こういうのはメーカの研究部門に所属する役得である。

で、製品化もしたし、後輩に私よりもできる人がたくさん出てきたので「もうそろそろIoTもええやろ」と2017年辺りからブロックチェーンの研究を始めている。


「新しい技術を取得する手っ取り早い方法は、その技術に関する講義をすることである」というワインバーグ翁の話に従い、機会を見つけて色々なところでブロックチェーンの話をすることにしている。今回はご縁があり、仙台の某大学でブロックチェーンに関する講義をしてきた。

 

ブロックチェーンとは「ハッシュ関数電子署名を利用した、分散型電子台帳技術」である。なぜデータベースと言わないかというとデータの削除ができないからである。

ブロックチェーンは一般的なデータベースシステムに比べて「データの完全性」「システムの可用性、信頼性」において利点がある。

ブロックチェーンのデータは,あらかじめ決められたブロック単位で保存される.各ブロックは一つ前のブロックのハッシュ値を内包している.あるブロックのデータを改ざんすると,そのブロックのハッシュ値は変わる.各ブロックはハッシュ値で連結されているため,あるブロック内のデータを改ざんしようとするとそれ以降のブロックのハッシュ値がすべて変わってしまう.これは,あるデータを改ざんするためにはそれ以降のブロックをすべて改ざんする必要があるということである.このようなデータ構造をチェーン構造という.ブロックチェーンはチェーン構造により,データの完全性(Integrity)を保証している

ブロックチェーンではブロック追加時に不正(二重投稿など)を排除するためのアルゴリズムである、コンセンサス・アルゴリズムを実施する。コンセンサス・アルゴリズムにはPoW(Proof of Work)やPBFT(Practical Byzantin Fault Trelance)といったものがある。コンセンサス・アルゴリズムブロックチェーンシステムを特徴づけるものであるが、どの方式にしろ、複数の計算機が協力してアルゴリズムを実行する点は同じである。これをシステム運用の観点から見ると、ブロックチェーンでは「ブロックの追加」というシステムの重要な部分を複数の計算機を使って冗長性をもって実行していると言える。このことからブロックチェーンは既存データベースシステムに比べて可用性(Availability)が高いと言える。

ブロックチェーンでは、内部のチェーン構造で保存しているデータをシステム上の機器間でP2P(Peer to Peer)ネットワークを使って分散共有している。一般論としてデータのコピーを分散して保存しているシステムは、そうでないシステムに比べてデータが無くなる可能性は低いので、システムとしての信頼性(Reliabirity)は高いと言える。


このように色々と特徴のあるブロックチェーンだが、2019年12月現在、ガートナーのハイプ・サイクルでは幻滅期の真っ最中である。

ガートナー、「ブロックチェーン・テクノロジのハイプ・サイクル:2019年」を発表

新しい技術は「出てきた時はもてはやされて、ちょっとたったらがっかりされる」のは当たり前なので、がっかりされている次期にちゃんと勉強しておくのが大事ね。

 

ブロックチェーンの実用例をインターネットで調べても中々出てこない。出てきてもPoCが多くてがっかりすることが多い。しかし、以下のサイトで中国で結構使われていることがわかって面白かった。

ブロックチェーンって何にも使われてないよね?|yoshinori fukushima|note

これは完全に私想像の話だが、中国で対外的な商取引が盛んに実施され始めたのはここ20年程度で既存のシステムというのがなく、それが故にしがらみなく新しい技術であるブロックチェーンを採用したシステムを運用しているのかなぁ。

 

仙台は鮨の街

仙台のタクシーの運ちゃんに「仙台牛は神戸牛だし、フルーツやずんだの豆は山形のもの。仙台ゆかりのものって実はあまりないけど、海の幸と米は美味いね」と言われたことがある。この話を聞いてから、私は仙台にいったら必ず鮨を食うことに決めた。

仙台でのお気に入りの鮨屋は小判すしである。

https://tabelog.com/miyagi/A0401/A040101/4000197/

 ここの「伊達の殿様コース」には感動した。お寿司は握りが5カンだけ。あとは全部酒のアテである。ホタテの煮しめ、あん肝、いくらの醤油漬け、酒盗〆さばイカゲソ、生エビ、薄焼き玉子、マグロの刺身、厚焼き玉子、鰻の蒲焼き、コハダと大葉の胡麻和え、ホタテの貝柱、等々...1品で日本酒一合は飲めそうなラインナップ。もはや「酒の肴を使った暴力」である。理性を働かせつつも一時間で日本酒を4合のんでしまった。やりすぎ。

2019年度が終わるに当たり、色々と

色々なご縁があり、2021年度から技術士試験の講師をすることになった。
部門はもちろん、情報工学部門である。
2020年度はその準備期間に当たるので、このサイトを充実させながら2021年度の講師業務に備えるということを目論んでいる。


作るだけ作ってらいほっておいたサイトだが、アクセス解析を見てみたら2年間で1500件ぐらいアクセスがあった。すごいな。
技術士試験のことばっかり書いていても仕方がないので、酒と飯とその他技術について色々と気づいたことを書くようにする予定。

回答例:契約について

請負契約
「成果物」の完成を依頼し,「成果物」に対して報酬を支払う契約.
労働者に対する指揮命令は請負人が実施する.
請負人は成果物の完成義務を負う.そのため,瑕疵対応が必要である.
請負人が開発手法の工夫(ドメイン開発等)することにより,高い収益を得ることができる契約形態である.


委任契約
「成果物」の作成を依頼し,「作成過程」に対して報酬を支払う契約.
労働者に対する指揮命令は請負人が実施する.
請負人は成果物の完成義務は負わない.そのため,善意に基づいて作成過程を実施している場合は瑕疵対応は不要.
成果物が完成しないリスクは発注者が負っているため,請負人の利益率は低くなる契約形態である.


派遣契約
「成果物」を作成するための「工数」に対して報酬を支払う契約.
労働者に対する指揮命令は発注者が実施する.
請負人は成果物の完成義務は負わない.
成果物が完成しないリスクは発注者が負っている.

      請負契約 委任契約  派遣契約
報酬の対象  成果物  作成過程   工数
完成責任   あり   なし     なし
指揮命令   請負人  請負人   発注者
請負人リスク 高   低     低

 

技術士二次試験:午後1の問題について

専門知識問題
専門知識に関しては,知らないことは回答できないのでできるだけ勉強しておくこと.
 
問題は質問の通りに回答するのが基本だが,回答フォーマットを自分で作っておくと混乱しなくてよい.
例えば,「概要」「メリット」「デメリット」「利用時の注意点」ぐらいのフォーマットを用意しておくと応用が利く.
 
ソフトウェア工学で受験する場合,UMLやテスト,信頼性なんかはねらい目.
特にUMLは時々「UMLで●●を設計せよ」みたいな問題が出たりするので,業務で利用するぐらいに使いこなしていると得である.
2013年度までは毎年「オブジェクト指向プログラミングとは何か」みたいな,オブジェクト指向系の毒にも薬にもならないボーナス問題がでていたが,2015年度からなくなった.
 
応用能力問題
応用能力問題の2枚ものは,専門知識問題に比べて大きいテーマに関する知識を問われる.
同じ「テスト」に関する問題でも,専門知識問題では「セキュリティテストとは何か?」みたいな問題が,応用能力問題だと例えば以下のようになる.
 
品質の高いソフトウェアを提供するためにはどのようなテストをすればよいか.
問1:あなたが想定する「品質が高いソフトウェア」とはどういったものか.観点を3つ挙げてソフトウェア説明せよ
問2:あなたがあげた観点から見たソフトウェアの品質をチェックするために,どのようなテストをするべきか説明せよ.
問3:問2で上げたテスト実施時の留意点を述べよ.
 
応用能力問題に対応するためにも,技術は単語で覚えるのではなく周辺技術とのつながりで理解するのが良いと思う.
後,技術を自分の業務に当てはめて覚えるようにすると論文にも応用が利く.

技術士二次試験:筆記試験概要

知らない人は知らないと思うので説明すると,技術士の試験は以下の3つからなる.
 
午前1:部門全体(私の場合は情報工学)の知識のテスト
午後1:選択科目(私の場合はソフトウェア工学)に関する専門知識,応用能力のテスト
午後2:選択科目に関する課題解決能力のテスト
午前は択一,午後の2つは論文形式である.
 
論文の字数は問題の種類によって違う.
600字詰の用紙に回答するので,字数制限が600字の問題だと「1枚もの」1200字だと「2枚もの」と言ったりする.
 
手書きで600字の回答を書くのにかかる時間は最短20分程度である.
この20分というのは「ある程度は手書き回答作成の練習をし,尚且つ,頭の中で回答が出来上がっている状態」という,非常に恵まれたシチュエーションでの値である.
試験会場でちょっと悩むと1枚ものに30分かかってしまう.
というわけで2時間で論文を4枚書く必要のある午後1はまあまあハードである.
 
午前1
技術士一次試験の専門とほぼ同じ難易度である.
特に2013年度は問題の8割が過去問であった.(6割で合格)
過渡期だったからかもしれないが,受験者をなめてる.
 
個人的には簡単すぎて無意味な試験だと思っている.
 
午後1
2時間で1枚もの2つと2枚ものを1つ回答する.
専門知識問題は1枚もの2つ.
これに関しては「きっちり勉強しーや」としかいえない.
ただし,過去問を5年分ぐらい見ると大体の傾向は見えてくる.
例えば私の受けたソフトウェア工学だと「テスト」「ソフトウェアの品質向上」関連がねらい目.
逆に「アジャイル」「言語論」なんかは出ない.
 
応用能力問題の2枚ものは,基本的に専門知識問題と似ている.
違いは専門知識は知識そのものを回答すればよいが,応用能力では「それをどう使うか具体的に書く」必要がある.
しかし,専門知識問題は「技術をどう使うか」が頭に入っていないと回答できないので結局一緒.
くわしくは後日.
 
午後2
2時間で3枚ものを1つ回答する.
時間的には午後1に比べて余裕があるので,練習していたら知識がなくても何とかひねり出せる.
ソフトウェア工学」で受験する場合,最近発表されたIPAの報告書を読んでおくと役に立つ.
これも詳しくは後日.