タグ

ブックマーク / watanabek.cocolog-nifty.com (7)

  • 基本設計を分担してはいけない - 設計者の発言

    プロジェクトメンバーが無駄に多いのが、日型SIの特徴のひとつである。「工数を人数で割れば工期が出る」と考えることが間違いであることは、ブルックスの著書「人月の神話」によって今から40年前に指摘されている。それにもかかわらず、相変わらず多くのプロジェクトで必要以上の人数が投入されている。 私がとくに不思議に思うのが、基設計を何人もの要員で分担するやり方だ。DB設計と機能設計と業務設計の担当を分けるとか、サブシステム毎に担当を分けるといった体制がしばしば敷かれる。詳細設計の段階でというのならまだわかるが、基設計でそれをやってはいけない。 なぜか。業務システムにはアーキテクチャ(意図された構造)が求められる。そして、そこに含まれる膨大な定義要素は、統一感や一貫性を保ち、かつMECEな形で切り出されなければいけない。複数の要員で分担などすれば、それらの課題が一挙に難しくなる。また、DB構成と

    基本設計を分担してはいけない - 設計者の発言
    nyop
    nyop 2015/10/19
    [deveわかるけど、最終的に自分とこのツールの宣伝?
  • データとして登録されるビジネスルール - 設計者の発言

    nyop
    nyop 2014/08/27
    ちょっと思ってたのと例が違ったけど概ね同意。スクラッチ系だとビジネスルールをテーブル化するの嫌がる人多いんだよね。
  • 主キーはインデックスではない - 設計者の発言

    仕事柄、奇妙なDB構造を目にすることが多い。どういう発想からそんな設計がされるのかを理解したいと思っていたのだが、モデラー仲間の秋里さんが先日うまい指摘をした。「主キーをインデックスみたいなものと勘違いしているからではないでしょうか」。インデックス(キー)というのは、レコードの並び順を規定するキーのことだ。 たしかに思い当たる節がある。「こんな順にレコードが並んでいれば処理上都合がよさそうだ」という考えで主キーが設定される。さらに主キーはユニーク制約でもあるので、重複が起こらないように「多め」に項目を突っ込んでおく。つまり「ユニーク制約をともなう代表的インデックス」程度に主キーが理解された結果として、グダグダなDB構造が出来上がるのではないか。 じっさい、昔こんなことがあった。{a,b,c,d}の複合主キーをもつテーブルXがある。ところが、別のテーブルYからテーブルXの特定レコードにアクセ

    主キーはインデックスではない - 設計者の発言
    nyop
    nyop 2014/08/27
    "テーブルは「処理過程でのデータの一時保管場所」ではない。システム要件にもとづいてエンジニアリングされた「関数従属性の制約の束」をデータ構造に写像した結果である。"
  • 全テーブルが載っているデータモデルは便利か - 設計者の発言

    nyop
    nyop 2014/08/02
  • 「大規模集積回路モデル」と「板チョコモデル」 - 設計者の発言

    nyop
    nyop 2014/08/02
  • 複合主キー「否定派」と「許容派」の論争 - 設計者の発言

    定期的に取り上げたくなるDB設計に関する話題である。WEBアプリが一般化して以来、議論されてきた事柄がある。テーブルの主キーを「単独主キー」のみとするか、複数項目を組み合わせた「複合主キー」を必要に応じて使うべきかという問題だ(*1)。複合主キーに対する「否定派」と「許容派」に分かれた議論は劇烈で、宗教論争のようにも見える。 主キーというものは、テーブルの存在意義といってもいいほどに重大な要素である。にもかかわらず、なぜそんな基的なレベルの議論が始まってしまったのか。2つほどの理由が考えられる。 まず、単独主キーとしてIDを機械的に置くやり方(ID方式)が「オブジェクト指向」と相性がよかったからだ。オブジェクトは固有の識別子(オブジェクトID)を持つので、これに相当するIDをテーブルの主キーとすることで、オブジェクトとDBの設計問題を統合できると考えた技術者が少なからずいた。そのアイデア

    複合主キー「否定派」と「許容派」の論争 - 設計者の発言
  • 「データモデルなきアジャイル」の危うさ - 設計者の発言

    例によってこれは「業務システム」に関する議論である。ゲームソフトでも組込み系でもB2Cサイトでもサービス系でもなく、販売管理システムや生産管理システムといった基幹系業務支援システム(DB構造が複雑なシステムといってもいい)に限った話だ。その種のシステムをアジャイル開発しようと考えるのであれば、それまでにシステム全体の「あるべきデータモデル」が確立されていなければならない。 業務システムを「身体」に喩えるなら、データモデルは「骨格の設計図」に相当する。いっぽうアジャイル開発で導き出せるのは身体の表面上の諸問題、すなわち「皮膚のぐあい」とか「顔つき」のようなものだ。そういった特徴についていかに緻密に決定できても、それらから「あるべき骨格の姿」は導けない。 DB構造のそういった特性を公知させたのが、前回記事で説明した「DOA(データ中心アプローチ)」だった。機能のあり方を確立したうえでデータのあ

    「データモデルなきアジャイル」の危うさ - 設計者の発言
    nyop
    nyop 2012/09/04
    基幹系はDAが大事。逆に、移ろいやすい現場業務に近いシステムや、全くの新システムなんかはアジャイルなど、POAに適してるんだと思う。
  • 1