« 2011年7月 | トップページ | 2011年9月 »

2011年8月

2011年8月31日 (水)

ミネアポリス出張に向けてesta更新の巻

US出張には欠かせないestaであるが、申請してから3年経ち有効期限が迫っている。

ミネアポリスに出張のため更新(正確にはestaは使い切りなので、更新ではなく再度新規申請になる)したが、3年ぶりのesta申請ですっかり前回申請した時のやり方を忘れていた。

知らない間にestaの申請が有料になっている。

http://japan2.usembassy.gov/j/visa/tvisaj-esta2008.html

再度申請するのをうっかり忘れると大変なことになるから、申請のことを思い出してよかった。

|

2011年8月23日 (火)

今夜はロイヤルパークホテルに宿泊の巻

水天宮前の横にあるロイヤルパークホテルに今夜は宿泊。

9月は上半期の終了だから8月から9月Endまで仕事が詰まっている。

3つのプロジェクト案件が同時に走っているから、日々緊張感が抜けない。

夏の8月はできるだけ夏を満喫したいが、いつも仕事が立て込みやすい。

今年は特に詰まっており、今夜もホテルで仕事の資料作成をしなければならない。

ロイヤルパークホテルは、ヨーロッ パ調(?)のクラシカルな装飾・デザインのようだ。

Image006_2 Image007

なかなか快適で、サービスは印象として名古屋のマリオットよりも上だ。

Image009 Image014 Image012

クラッシクな鍵やアメニティなどブリティシュ・グリーンで統一されている。

ロイヤルパークホテルには明日も宿泊する。

|

2011年8月21日 (日)

書籍「Modern C++ Design」~C++のテンプレート活用技法とジェネリックプログラミング

C++のテンプレート機能を使い、効果の高いプログラミングについて書かれた書籍に「Modern C++ Design」がある。

L1000195

C++のテンプレートというとコンテナクラスなどに代表される利用方法が直ぐに思いつく。

しかし、テンプレートには色々な利用方法の選択肢がある。

実はテンプレートによるプログラミング、つまりジェネリック・プログラミングは、1980年代の後半から1990年代の半ばにかけて、かなり議論されいた。

私がAda83でプログラミングを毎日のようにしていた時、Ada83ではC++のテンプレート機能に該当するGeneric機能が入っていた。

この時代には、Generic機能でどのようなプログラミングが可能なのかが深く議論されており、継承とGeneric機能の比較、型セーフやメモリー空間の圧迫、処理速度なども含めて研究がおこなわれている。

実は、Ada83の段階では諸事情で継承機能が見送られ、Ada95で正式追加された。

Ada83の段階で十分な検討の結果見送られた事もあり、Ada95で継承機能が追加されたが、Ada83の仕様に特に大きな変更をかけることなく済んでいおり互換性もある。

「Modern C++ Design」を読む上で、Templateに興味が強い方は、1980年代の後半から1990年代の半ばにかけて議論・研究された「Genericプログラミング」資料を合わせて読むと興味深いのではないかと思う。

最も簡単に参照できる資料の1つに、バートランド・メイヤーの「Object-Oriented Software Construction(翻訳本では「オブジェクト指向入門」)*内容的には入門書とは思えない」がある。

L1000202 L1000203 L1000204 L1000205

第1版と2版があるが両方に「Genericプログラミング(本書では総称性と記載)を用いた継承のエミュレーション」逆に「継承を用いて総称性をエミュレートする」というに解説がある。

どちらかと言うと第1版の当該部分を読み、次に2版の当該箇所を読むと良いと思う。

第1版と第2版(付録Bに掲載)では少し記事の視点が異なっている部分がある。

一応、補足するとこの本のGenericプログラミング解説はAda言語やEiffle言語をベースに議論が行われているので、C++に置き換えて読み進める必要がある。

|

2011年8月15日 (月)

オブジェクト指向開発チームのための品質保証活動

UMLを使ったオブジェクト指向開発はもはや普通である。

しかし、一方で十分な品質保証活動が出来ていないというのも事実である。

中国、インド、ブラジルなどの新興国の台頭で、諸外国にアウトソーシングすることが当然の今日、どのようにソフトウエア開発の品質保証活動を実施したら良いかというのは単純な問題ではない。

今日はそのような疑問や課題に参考になる書籍を紹介する。

「ProcessQualityAssuranceForUML-BasedProject」である。

書籍の内容は、テストについての技法について書かれているのではなく、包括的な品質保証体制と活動について書かれている。

L1000179 L1000180 L1000181 L1000182 L1000183 

そのため、正直「品質保証」と言うと、どうしても日本的なテストに限定された話題、あるいは、QCサークル活動などのようなイメージを持たれることに不安がある。

実際の内容は、欧米に見られるかなり戦略的な活動となっており、品質保証というよりは、品質保証活動を包含した開発と品質戦略の内容となっている。

AgileやCMMに関連する話題も取り上げている。

特にUMLによるオブジェクト指向を用いたモデル中心開発にプロジェクトに対してCMMIのLevel3を実現し、さらにより優れた生産性と品質を実現するアプローチについて詳細なプロセスの解説とテンプレート群が紹介されている。

書籍にはCD-ROMが添付されており、Chapter3の内容を中心とした事例やサンプルが、収められて活用できるようになっている。

この書籍は決して難しくはないが、CMMIのような体系的な品質保証活動に興味が無い人には向かない。

一方、品質保証活動に詳しい人でも、UMLを用いたモデル中心のオブジェクト指向アプローチについて知識や経験が無いとやはりピンとこないだろう。

それでも書籍の内容そのものは、UMLによるオブジェクト指向に限定されているわけでななく、普遍かつ本質的な内容なので、品質保証活動に興味があれば読み進むことができ、有用な情報が得られると思う。

|

2011年8月13日 (土)

オランダ版ノンアルコール・ビール

いつもの中華料理店で夕食をとったが、いつものビール(チンタオ)ではなく、ハイネケンとオランダ版ノンアルコール系ビールにした。

Image0051

まぁ、オランダのこのビールは、ノンアルコール系ビールは、0.5%だけアルコールが含まれている。

味は日本のノンアルコール・ビールとほぼ同じ。

やはり普通のビールの旨いのは、オランダも同じようだ。

|

2011年8月11日 (木)

カンカン照りの今日は久しぶりに「神保町」に行くの巻

もう10年振りくらいに「神保町」に行った。

Image0031 Image0041

午前は別の場所でコンサル、午後は神保町で別件の仕事の打合せである。

半蔵門線から降りて、打合せのビルまでさほど歩かない距離であるが、あまりの暑さに汗でYシャツがびっしょりになり、ちょっときまりが悪かった。

幹線道路から一寸脇道に入ると、昔ながらの街並みも残っており懐かしい印象だ。

また、フィギュアなどを制作している非常にユニークな企業があることも意外だった。

|

2011年8月 3日 (水)

要件開発&要件管理&構成管理を最大限効果的にするために!

よく効果的な要件開発や要件管理および構成管理の作業について聞かれるが、これらは単独で効率を求める改善活動をしても限界がある。

ISOやCMMIでしきりに作業プロセスやテンプレートばかり整備することを指導してるコンサルタントがいるが、おそらく開発技法に乏しく自らが優れた開発手法や開発・検証環境で作業を経験していないから、指導できないのだろう。

開発手法や開発・検証環境と要件開発や要件管理および構成管理の作業の関連性でいえば、たとえば、要件定義を例にとれば、単に要件定義の作業だけを意識していても成果は薄いのである。

要件定義の中心的な成果物にユースケースがあるが、ユースケースが現在の開発で大変重視されるは、これは単に機能や非機能をユースケースのシナリオで運用フローを明確にするだけではないからである。

実際、多くの組織では十分な運用フローを定義できていない、あるいはその手法を知らないので、真の妥当性確認のレビューを要件定義に実施出来ていない。

このような組織がほとんどであるから、ユースケースのシナリオで運用フローを明確するだけでも大きな効果はある。
#CMMIでレベル3以上に到達している組織でも、技術的な視点から見て、かなり稚拙な要件定義書が多いのが現状である。

しかし、ユースケースドリブンの本当の効果は、要件定義と設計・実装作業は密接に関連するからこそ発揮できるであり、ユースケースドリブンというアプローチをとることで、アーキテクチャ設計の根拠としてサブシステム分割、レイヤー構成の設計、サブシステム間インターフェース設計およびパフォーマンス設計が根拠を持つ設計とすることができる。

並行開発作業を行う場合や優れた構成管理活動に欠かせない理想的な構成単位においてもサブシステム分割の結果は大きな意味をもつ。

サブシステム分割が不適切であると、要件変更などで多くの成果物に変更がおよびやすくなり極めて非効率になるのである。

テスト作業もモジュール試験をおこなうのに、多くのサブシステムを必要としてしまうのでは作業効果が悪い、こうなるのはサブシステム間の独立性(凝集度や連結度が著しく悪いからである)が悪からである。

その結果、要件管理作業も煩雑になり、成果物間のトレーサービリティと内容の整合性の維持が大変になる。

逆に言えば、効果的なサブシステム分割とアーキテクチャ設計さらに保守性や再利用性を考慮した設計を行えば構成管理や要件管理は非常に楽になるのだ。

必要に応じて、さらに独立性を高めるために「依存関係逆転原理」「抽象依存の原理」「リスコフ置換原理」などに代表される設計原則を適用して、構成管理や要件管理に負荷をさらに最小化することだって可能だ。

どのようにすればユースケースドリブンやOOAD、DOADそしてデザインパターンやMDAを使うかは詳細な解説がいるので、ここでは書けないが、要件定義、要件管理、設計・実装、構成管理の作業のプロセスは密接に関連しているので、分離して考えることは本来は不可能であることを理解するのが大切だ。

CMMIのプロセス領域「技術解(TS)」でも固有プラクティス2.2に「技術データーパッケージを確立する」とあるが、この技術データーパッケージはサブシステム毎に関連する設計情報をまとめることである。

CMMI(ISOも他の国際標準規格も)はソフトウエア工学、品質工学が土台になっているので、本当の意味でCMMIを理解活用するには、ソフトウエア工学、品質工学の十分な理解が求められる。

どのようにすれば効果的な技術データーパッケージが確立できるは、CMMIでは言及されていないので、各企業が優れた設計・実装技法を用いて自身で検討することになる。

この際、効果的なアプローチがOOADやユースケースドリブンアプローチおよび他の先端技法である。

大きな組織改革や改善活動には、最新技術テクノロジーとユースケースドリブンを効果的に組み合わせることにより可能であるが、それを指導できるISO監査官やCMMIの資格保持者が少ない。

そのために通り一辺倒な改善活動しか指導できないコンサルタントが多いのが現状である。

最新の技術テクノロジーの知識や経験があるかをまず確認した上でコンサルタントを雇おう。

そうでなければ、まともな改善活動など不可能になるリスクがある。

また逆にきちんとISOやCMMIの資格を保持しているコンサルタントであることも大切である。

正式な資格がないのにコンサルティングを実施している企業が多いのである。

話を本線に戻すと、要件開発や要件管理および構成管理活動を効果的な設計手法を抜きに検討してる組織は非常に問題がある。

多少の成果はあっても、大きな飛躍は望めない。

洋書であるが良い本があるので1つ紹介しておこう。

Ivar Jacobsonが書した「Software Resuse」である。

IvarはUMLの定義者として有名だが、ユースケースドリブン・アプローチの提唱者でもある。

Softwarereuse

Ivarとは過去に一緒に仕事をしたことがり、そのとき同じ会社の優秀なスタッフとも仕事をした。

日本国内の数社の企業に一緒に行った事がある。

「Software Resuse」は簡単に読み飛ばすことができるような書籍ではないが、要件定義がからどのように保守性・拡張性が高いソフトウエア設計と実装ができるかの方法が見てとれるだろう。

保守性・拡張性が高いソフトウエア設計と実装は、構成管理や要件管理も非常に単純化できるのだが、それは構成管理対象(構成管理アイテム)が、効果的に「仕様」と「実装」が分離されているからである。

「仕様」と「実装」を実現するためには要件定義の際に、明確に運用フローを抽出しておくことが大切なのだが、《include》《extend》などのユースケースの定義法や可変性の定義および可変性を一か所に封じ込める技法を読み取ってもらいたい。
#単にソースコードについてのみ当てはまるのではなく、文書など成果物全般に適用できることに注意せよ。このときも技術データーパッケージの確立技法を意識する。

さらにこのアプローチをは発展させたもに、ユースケースによる要件定義から横断的な関心の分離を実現するアスペクト指向のアプローチを導入することが出来る。

まずは、基礎となる部分を確実に理解することが大切だが、それと同時に要件開発や要件管理および構成管理の作業プロセスが最大限に効率化できるのである。

|

豪華な施設で打合せをしたの巻

昨日の午後はビジネスの打ち合わせをしたが、個人が利用しているとは思えない立派な施設で打合せをした。

下記の写真は付近の風景であり、打ち合わせをした建物そのものではないが、近代的な建築が多くなかなか活気がある。

Image001 Image004 Image007 Image005_2

肝心の打ち合わせであるが、ビジネスの話は今後の技術的世界動向ということで、インド、中国、ロシア、ブラジルなど世界中の話題に及んだが、驚愕するする内容を色々聞けて大変参考になった。

特に中国の上海や北京での国政や動向は驚くべきことが多く、意識を新たにした。

多忙な時間を割いてもらい3時間もの長きにおよび楽しい打合せとなった。

|

2011年8月 1日 (月)

制御理論の達人宅訪問するの巻~研究作業と意見交換

明日はクライアント先にコンサルテーションの後に、そのまま制御理論の達人宅訪問する予定になっている。

この方は、某超大手自動車メーカーの元技術役員で、独立後から現在まで高度な専門技術を指導する為、現在も国内外を飛び回っている。

現在でももといた在籍企業だけでなく、多くの企業に対して、高度な専門性と過去の素晴らしい業績によって大きな影響力を持つ。

会うのは1年ぶり位であるが、以前は色々とミーティングを何度もして毎回夜遅くまで打合せをしていた。そういう活動が半年は続いたと思う。

私とは活動内容の専門性が異なるが、技術的には重なる部分もあり、私も数学的なアプローチを前面に押し出したオブジェクト指向技術や自動化の技術について意見交換をさせてもらっていた。

また、若いころはかなり国家的な業務をされていたとの事で、海外と日本の企業の橋渡しや業務提携を実現させている。

純粋に技術を追求する方であり、偉大な業績があっても全く威圧的でないところに人格の高さを感じる。

1年ぶりということもあるが、会うのがまた技術的な話をさせて頂くのが楽しみである。

|

« 2011年7月 | トップページ | 2011年9月 »