タグ

ブックマーク / www.tokumaru.org (2)

  • インクリメンタル開発のメンタル面の効用

    私はソフトウェアの開発においては、インクリメンタルに進めることを重視しています。インクリメンタル開発の重要性については多くの方が既に指摘しています。曰く、 プロジェクトを部分に分けることによりリスク管理がしやすくなる 同じくスケジュール管理がしやすくなる。 設計の妥当性を早期に確認でき、アーキテクチャ変更の見通しが立てやすい などなど。 いずれも妥当な意見だと思いますが、メンタルな要件も上記と同じくらい重要ではないかと考えています。つまり、インクリメンタル開発では具体的な成果を小出しに出して評価していきますが、これにより開発意欲が湧き、維持するという側面が重要だと考えています。 その説明のために仕事における実例は紹介できませんので、その代わりに、私が手がけた「最初のインクリメンタル開発」の事例を紹介することにしましょう。 私が小学校5年生の時でした。私の父がオートバイの大きなプラモデルの箱

  • ハッシュ法

    ハッシュ法(hashing)は、メモリ上でデータを高速に検索するための手法である。各種のツリー構造とは異なり、静的な配列だけで簡単に実装でき、効率も極めて高い。このため、非常に実用的な手法として重宝である。 配列上でデータを検索する手法には、ハッシュの他いくつかある。以下、単純な手法から順に説明していき、ハッシュ法の説明に至ることにしよう。 ある小さな会社の社員情報をメモリ上で処理する場合を考えてみよう。社員情報のキーとして社員番号(整数)を用いることだけを決めておき、その他については考えないことにする。 (1)単純配列 データの出現順に配列につめていく。もっとも単純かつ基的な方法。 データの挿入は高速だが、検索は端から順に見ていく(リニアサーチという)しかないため、平均するとデータ件数(社員数)の半分について処理が必要となる。 この手法は遅いので、データ件数が多い場合には使われない・・

    hiroomi
    hiroomi 2011/01/07
  • 1