エンジニアリング

Functionality=機能要件?

SOA関係の本を読んでいて、非機能要件を整理するテンプレートとしてFRUEMPとFURPSを紹介しているものがあった。その中で「Functionality=機能要件」と明言されている部分があり、違和感を感じた。「FRUEMP(ISO 9126):ソフトウェア品質特性(characteristics…

クロスセクション分析

上司から案件を打診された人がいる。「君はCができるか」と問われ、一人は「CもC++もやったことないです」と断った。後日もう一人が同じように問われ、「はい、C#はできます」と答えて採用された。おいおい、C#ならC#と言ってくれ、CといえばCかC++だろう。…

要求開発 vs. SOA適用開発

要求開発とSOA適用開発は、大きく何が異なるのか。2点ほど考察してみた。 (1) 全体最適と段階的なフェーズ開発 要求開発は要件定義の拡張に過ぎないが、SOA適用開発は企業の全体最適を前提した長期のライフサイクルが対象である。要求開発は全体に対するゴ…

Control vs. Management

うちではティシュペーパーの購入は「定量発注点方式」で行っている。「発注点」は2箱であり、「安全在庫」は1箱である。つまり、残り1箱になってから購入すれば間に合うのだが、万一のことを考えて残り2箱の時点で5箱入りパックを追加購入しておく。いま在庫…

物流

今日は物流のドメインの学習をした。まず物流、ロジスティクス、通運、運輸などの用語の定義はなんだろうということから始めた。物流に関する用語で初めて聞くものもあった。たとえば「バン出し」「アソート」「アパレル検針」など。「バン(van)出し」は荷役…

段階的詳細化の盲点

設計原則に「段階的詳細化」がある。設計は、階段を上るように一歩一歩、さらに徐々に細かく記述してべきである、ということだ。実はこれには3つの意味がある。1つは、構成要素を徐々に分割していくということである。もう1つは、構成要素の内部を徐々に…

作業成果物の目的

開発プロセスの構築支援で「作業成果物の目的を明確にしたほうがよいか」という質問をいただいた。これには注意が必要だ。開発プロセスに関係する要素には、作業定義、作業成果物、ロール、ガイダンスがある。作業定義を特化させたものがActivity,Task,Itera…

アーキテクチャの定義

アーキテクチャとは何かを的確に端的に表現するにはどんな言い回しがいいか。対象はシステムでもソフトウェアでも部分的な構成要素でもよい。一応、対象はシステムとしておく。いろいろと定義を探しては検討するのだが、ぴったりくるものがなかった。私は、…

ガイダンスとガイドラインの違い

ガイダンス、ガイドライン、ガイドなど、その定義が曖昧に用いられていることが多い。OMG/SPEMをベースにするならば、ガイドラインはガイダンスの1つである。ガイドがどちらを指しているのかは知らん。ガイダンスは、開発プロセスでのプロセス要素(作業定…

ソフトウェア設計の原則

ソフトウェア設計は、どういった原則にもとづいて行われるのか。最も重要な、最も基礎となる原則は何か考えてみた。分割統治か、分割とモジュール化か、段階的詳細化か、モジュールの独立性(凝集度/結合度)か、外部仕様と内部設計の関係か。いまではソフ…

V&V

どちらがValidationでどちらがVerificationか?SWEBOKでもCMMIでもVerification & Validationとなっている。V&Vは米国人にとって単にゴロがいいからという理由でこれらの単語が選ばれたらしい。ただ、順序は、Verification(検証)してからValidation(妥当性確…

要求の仕様化

眠れなくなるような話。あるいは眠くなるような話かも。今日2時間くらい悩まされ、まだ結論がでない。要求を仕様化する対象がシステムの構成要素であるとき、例えば、対象がシステムやサブシステムや共通コンポーネントなどであるとき、不変条件、非機能要…