« 2015年3月 | トップページ | 2015年5月 »

2015年4月

2015年4月21日 (火)

【信頼性の高いモデル】の作成のために~ 例外処理はクラスや関数の振る舞いの1つ』であることを意識しよう

例外処理は組込みシステムやリアルタイムシステムでは極めて重要な処理であるが、不思議な事に例外処理は異常処理であり、かつ、オプション的な処理と思っている方がいる。

『例外処理はクラスや関数の振る舞いの1つ』である。
 
例外処理は、「想定外の異常」を処理するこもあるが、多くの場は要件仕様から逸脱した操作やデーターによる「予め想定された条件違反」の処理を定義する。

だから、要件定義の際に:
 「ビジネスルールは何か?」
 「システムの規則なのか?」
 「システムの規則やビジネスルールに違反した時はどのような仕様にするのか?」
を明確にしておかなくてはいけない。
  

 

これにより、仕様の「ルール」に違反することが想定される事項や違反したときの例外処理の指定(不変条件違反、境界違反、メモリー不足、スタックオーバーフロー、etc)が可能なのだ。
  
そして、例外の種類に応じて適切な処理(リカバリー処理、中断、etc)を指定できる。システムの信頼性が高まる。
  

 

以上かから『例外処理はクラスや関数の振る舞いの1つ』であって、分析と設計でキッチリ明確にしていく必要ある。
 

そして、確実に実装される必要ある。

  
例外処理が全て定義されていないシステムは、不完全なシステムである。

 
だから、分析と設計時に作成されるモデルに例外違反が考慮されていないモデルは不完全であり、かつ妥当性(validation)を欠く間違ったモデルであることを意識する必要ある。

 
例外が指定されていないモデルは一瞬で分かる。

 
かつ、その時点で価値の無いモデルになってしまう。

 
仕様の要求を確実に反映していないモデルであり、システムの信頼性への考慮が著しく低いモデルであるからである。

 
しかしながら、多くの開発現場や書籍やセミナーで例外が扱われていないモデルが非常に多く作成されてしまっている。

|

2015年4月20日 (月)

『科学的ソフトウエア開発コンサルテーション』サービスの更新

『科学的ソフトウエア開発コンサルテーション』サービスを更新しました

■『科学的ソフトウエア開発アプローチ』

http://hsc-i.com/consulting1.html

 ◇『科学的ソフトウエア開発アプローチ』製品・システム開発』コンサルテーション
   〜組込み/リアルタイムシステム向け
  
http://hsc-i.com/consulting1_3.html

 ◇『科学的ソフトウエアPlug&Play』コンサルテーショ
  
http://hsc-i.com/consulting1_2.html

 ◇『科学的ソフトウエア・バリアント・デベロップメント(ソフトウエア派生開発)』コンサルテ ーション
  
http://hsc-i.com/consulting1_1.html

|

2015年4月15日 (水)

世界を変える一部の天才たち~グローバルレベルの天才たちの思考

独立後に誰も認める天才エンジニアと一緒に仕事をする機会があった。
南アフリカの白人。
 
天才というと奇行なイメージがあるけど、とってもジェントルマン。

天才エンジニア達がどのような指向性があるのが良くわかった。
 
日本人は団体や協会を作って群れたがるけど、これ自体がもう旧態依然な気がする。徒党を組まないと安心して作業できない人もいる。

日本は「標準化」とか「共通化」が大好きだ。
そして使われない「標準化」とか「共通化」も多い。

日本人は団体や組織を作って、権威付けしたがるところも特徴かもしれない。
そして、何かと口実を付けて「飲み会」が大好きなのも日本人。

日本人は会議も大好き。特に決められない会議が大好き。会議の目的も不明な会議が大好き。

日本がこんな状況の間に、グローバル社会では一部の天才たちが急速に世界を急激に変える仕組みをどんどん仕掛けている。

人工知能を使ったシステムもその1つ。

グローバル社会の天才たちの指向性は、圧倒的な「差別化」である。
「標準化」や「共通化」とは真逆である。
 

GoogleやYahooの特許戦略もそう。
次々革新的なアイディアとシステムを打ち出してくる。
そして、革新的なアイディアとシステムなしではどににもならないサービスを提供する。それまでの「標準化」とか「共通化」など一瞬で吹っ飛ぶこともある。

GoogleやYahooが団体や協会に加入することは不要と考えている。
自分達が頭脳であり、そして全てであると考える自負があるから。
本当のプロフェッショナルな自覚なのかもしれない。

優秀な頭脳とその頭脳を思う存分活かす環境があればいと考えているのがGoogleやYahooである。

グローバルな天才達は、物理的な移動をしない。
創造性の高い作業に専念するためである。
会議・飲み会・移動は、創造的な作業の時間を著しく奪う。
だからパーティなども滅多に出席しない。
自分の時間を大切にするから。

「物理的な移動は浪費である」という指向性も特徴である。
 以前は「行動範囲が広いほど活躍」という印象があったが、それはもう過去の時代。
「世界を股にかける仕事」に飛行機や電車が不要な時代になった。

 
それから学歴という履歴よりも結果が全て。
ハッカーやゲームプログラマなどを見れば一目瞭然。

グローバルな天才達はメディアにも登場しない。
メディアに登場することに価値が無い。
エンジニアであって、彼らは評論家やスポークスマンではないから。
スポーツ選手はスポーツが仕事。料理人は料理が仕事。
エンジニアはエンジニアリングをすることが仕事というプロ意識があるから。

グローバルな天才達は、仲間を選ぶけど、仲間は大切にする。
お互いの能力を認めているから。
そのため、ミスしても相手を中傷しないでフォローする。

グローバルな天才達は、世界のどこでも活躍する。
グローバルとはこういうことだ。

日本もマインドから変える必要があるのかもしれない。

|

「型安全」とは何か?

http://postd.cc/what-is-type-safety/


「型安全」を簡単に紹介する良いページがある。
 

日本には「型安全」という意識が少ない。
 

「型安全」でないCやC++でも設計時に「型安全」を考慮する設計をおこなえば、かなり可能になる。

 
「型安全」がどれだけ品質や生産性に寄与し、リーコールのリスクを下げるのかを理解すると良い。
 

「型安全」を意識しないエンジニアは、Meyerさんの言葉を借りりれば「彼らの趣味はテストとデバック」。
 

よって、「型安全」を意識しないエンジニアやプログラマーは、品質や生産性を向上させない張本人かも知れない。

|

2015年4月 5日 (日)

第10回『科学的モデリング』技術コラム公開

-----------------------------------------------------
第10回『科学的モデリング』技術コラム公開
-------------------------------------------------------
第10回『科学的モデリング』技術コラムを公開いたします。
http://hsc-i.com/TechnologyColumn.html

■主な内容:
①『科学的ソフトウエア派生開発(ソフトウエア・バリアント・
デベロップメント)』
 ~「多品種少量生産・開発」を可能にする技術
②『ソフトウェアPLUG AND PLAY』
 ~ソフトウエアの「部品化」と「再利用」の技術
③『先進的ソフトウエア構成管理』
 ~「分散並行開発」対応と「デプロイメント」の完全自動化

*第0回~第9回までの技術コラムも公開中です。

|

« 2015年3月 | トップページ | 2015年5月 »