タグ

2006年6月1日のブックマーク (7件)

  • XPの欠陥修正フィードバック・ループを分析する

    前回(「口に出す前に考える、『システムって何?』」)で紹介した「逆システム学」は、経済や生物にとって重要なのは「多重で階層的な、開かれたフィードバック制御」なのであって、要素還元論でも全体的原理主義でもないのだ、という話だった。 個が最適に動くから全体としてうまく動くのではない。システム全体が個を制御するのでもない。個とシステムの間に「多重で階層的な、開かれたフィードバック制御」という領域があり、それこそが逆にシステムを形作っているのである。そしてそれは多分ソフトウェア開発でも同じであろうと考えた。でも正直なところ、これだけじゃあ、どういうソフトウェアを開発すればいいのかよく分からない。そこでこの問題をもう少し掘り下げて考えてみることにした。 例えば、典型的なウォーターフォール型開発プロセスでは、プロジェクトを駆動するのはプロジェクト初期に立てた要求仕様(何を作るか)とプロジェクト計画(ど

    XPの欠陥修正フィードバック・ループを分析する
  • 口に出す前に考える、「システムって何?」

    われわれは日常的にたやすくシステムという言葉を使ってしまうけれど、システムって何だ? システムズ・エンジニアって誰だ? 「最近システムがよく落ちるんで困るっすよ」ってどーゆーことだ?。 システムとは相互作用する複数の要素の集合。だから太陽系もシステムだし、会社もシステムだし、計算機もシステムだ。仏教的にはあらゆるモノはほかのモノとの相互作用においてのみ存在するわけだから、(仏教的世界においては)あらゆるモノはシステムということになる。とはいっても、例えば地球、月、太陽というたった3つのモノの(古典)力学的相互作用にさえ、厳密な一般解はないといわれているくらいで、カンタンではないのもシステムとゆーやつの特徴だ。 この複雑で厄介なシステムを「エンジニアリング」的に相手にして、飯をっているのがわれわれシステムズ・エンジニアである。じゃあ、こんなものをどうやって相手にすればよいか。大きく分けて2

    口に出す前に考える、「システムって何?」
  • @IT:ソフトウェア開発をちゃんと考える(2) 開発者の集合はどのように形作られているか

    ソフトウェア開発の効率性を考えていると、いつかは必ず人の問題に突き当たる。プロジェクトチームという開発者の集合はどのように形作られ、どのように動いていくものなのだろうか。そこには必ず何らかの機構(メカニズム)があるはずだ。(@IT編集部) アーキテクチャといえば、普通はプロダクトの、あるいはソフトウェアのアーキテクチャを思い浮かべるわけだけれど、システムやソフトウェアを作っていく過程ではプロジェクトのアーキテクチャ、つまり開発に主体的にかかわっている人たちの集合がどのように形作られるかも、とても重要な要素になる。 なんでこんなことをいい始めたかというと、たまたま「フューチャー・オブ・ワーク」を読んだからなのだ。なんで、こんなを読んだかというと、 著者のマローンは米マサチューセッツ工科大学で「The MIT Process Handbook Project」[注]というプロジェクトをやって

    @IT:ソフトウェア開発をちゃんと考える(2) 開発者の集合はどのように形作られているか
  • @IT:ソフトウェア開発をちゃんと考える(1)

    連載は、メタボリックスの山田正樹氏が、仕事の合間に読む数冊の書籍に刺激を受けて思考した過程やその結果を記述したものである。参考にするのは必ずしもソフトウェア工学に関わる書籍ではないかもしれないが、いずれその思考の軌跡はソフトウェア工学的な輪郭を帯びることになる。(@IT編集部) 生産性向上のメカニズム ソフトウェア開発における「生産性」とは何か。厳密に定義するのは難しい。生産性とは基的には「あるアウトプットを得るのにどれだけのコストをかけたか」という尺度だ。さすがに「アウトプット」をソース・コード行数で測っても無駄だという認識は広まってきたと思うが、じゃあ代わりに何を使えばいいのかはいまだにはっきりしない。ユースケースやストーリーで測る考え方もある。そんなものは存在しないという意見すらある。 そういう場合には視点を1レベル上げて考えてみよう。つまり、ソフトウェア開発だけ考えているから分

    @IT:ソフトウェア開発をちゃんと考える(1)
    htoku
    htoku 2006/06/01
    開発コストを下げることにばかり目が行ってしまうが、導入先の付加価値をを高めるって視点を本気で考えないとこれからは生きていけないと言うことですね。
  • WideStudio/MWT Home page

    バグ情報、ご質問等ございましたら、メーリングリストでご確認の上、御気軽にこちらの方までよろしくお願いいたします。 Copyright©WideStudio DevelopmentTeam,1999-2005

  • OCaml プログラミング入門

    OCaml のすすめ OCaml とはフランスの 情報技術系の研究機関の INRIA で開発されている関数型言語 ML (の方言) です。ML には多相型、型推論、ガーベージコレクション (GC)、 データ構造のパターンマッチング等、プログラミング言語理論の研究の 成果 (すごく最新のものと言うわけでは無いそうですが) が詰め込まれ ています。これらの目的・効用は、 コードの再利用の範囲が大きい (多相型) コードの記述量が短かくなる (型推論・データ構造のパターンマッチング) バグの入り込む余地が少なくなる (GC、関数的(副作用の少ない)プログラミング) 等です。私は OCaml を研究でのデータ処理をはじめ、作成するプログラムほとんど 全てにおいて日常的に使っているのですが、 とにかく開発効率が良いです。 コンパイル時の型チェックの厳しさには慣れないとちょっと面倒に感じる かもしれま

  • OCaml.jp

    このページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。 OCaml(オキャムル/オーキャムル)は、INRIA(フランス国立情報学自動制御研究所)で開発されている関数型言語の一種で、最新の言語理論の成果が取り入れられたプログラミング言語です。 型安全な静的型システムを基盤に、バグの少ない高信頼なプログラムが開発できます。 オブジェクト、型推論、代数的データ型、モジュールシステム、多相バリアント、第一級モジュール、GADTといった様々な機能を利用して、より簡潔で整理されたコードが記述できます。 x86, x86-64, ARM, PowerPCなど多数のアーキテクチャのネイティブコードを出力できるコンパイラを持っています。Android や iOS 向けのクロスコンパイルも可能です(Linux 上でのクロスコンパイルは opam-cross-a