『設計者の発言 : 経営革新をやれるというシステム屋...』 の新着エントリー
-
危ういデータモデルを見破るコツ: 設計者の発言 watanabek.cocolog-nifty.com
ひところよりもデータモデル(ER図)を作成することの重要性が理解されるようになったが、それでも形だけ整えられて納品されてしまうことがある。「納品しろと言われたからしょうがないから作った」ようなモデルはヤバい。素人のイラストにもとづいて高層ビルを建てるような無茶を避けるために、危ういモデルを事前... 続きを読む
-
自治体システムは日本に1個あればいい: 設計者の発言 watanabek.cocolog-nifty.com
大震災から1年たったが、この間に職業上考えさせられたのは自治体システムのことだ。3年ほど前にその基本設計情報「CONCEPTWARE/自治体」をまとめて未完成のまま公開したのだが、途方もないことに気づいて更新をやめてしまっていた。何に気づいたかというと、「住基ネット(住民基本台帳ネットワークシ... 続きを読む
-
逆方向バリデーションを自動化する: 設計者の発言 watanabek.cocolog-nifty.com
バリデーション(入力値の妥当性検査)の仕様を「テーブルの拡張定義」とみなして、アプリではなくDB側に置く。これによってさまざまな効果がもたらされるが、その中で今回取り上げたいのは「逆方向バリデーションが自動化される」という利点だ。逆方向バリデーションはこれまで、個々の案件において場当たり的に対... 続きを読む
-
ショボいDB設計で突っ走るための50の方法: 設計者の発言 watanabek.cocolog-nifty.com
- コンピュータ・IT
- DB 設計 architecture read_later development
- 13 users
- 2012/02/15
DB(データベース)設計の良し悪しは、開発プロジェクトのパフォーマンスに決定的な影響を与える。ところが、ショボいDB設計のまま突っ走るためにその場をしのぐ方法が山ほどある。50個はある。ポール・サイモンの歌みたいだ。 私は駆け出しの頃、いろいろなプロジェクトの設計書を覗きまわるのが好きだった。... 続きを読む
-
サロゲートキーは強制されるべきものではない: 設計者の発言 watanabek.cocolog-nifty.com
複合主キーに代えてサロゲートキー(単独主キーの代替キー)を導入すべきかどうか。それはDB設計上の重要な判断事項である。なにしろレコードのアイデンティティである主キーの設定にかかわる問題だ。さまざまなメリットやデメリットを考慮してそれは判断される。その結果、サロゲートキーを導入することもあるし、... 続きを読む
-
企業システムの基本構造を理解しよう: 設計者の発言 watanabek.cocolog-nifty.com
企業システムには次図で示すような基本構造がある。実際のシステムは固有の経緯にもとづく物理構造をとるが、それを「基本構造からの逸脱」として理解することで特性を把握しやすくなる。システムの統合や刷新といったさまざまな文脈でも役立つ知識なので、理解しておこう。 含まれている5つのモジュール(a,b,... 続きを読む
-
「有効期間」を含むテーブルとの参照関係: 設計者の発言 watanabek.cocolog-nifty.com
一次識別子に「有効期間」が含まれることがある。そんなテーブルに対して関連を張ってゆくと正規化違反を生じてしまうケースがある。これを避けるためには「動的参照関係」の知識と、これに対応した開発基盤が必要だ。よほど単純なDBでない限り「動的参照関係」のデータ要件は出現するものなので、実務者としてはし... 続きを読む
-
SI企業が「モデルシステム」を公開しない理由: 設計者の発言 watanabek.cocolog-nifty.com
誰もが参照できる「モデルシステム」がシステム開発業界には必要である。そのように私は長年主張している。この主張に対して非現実的だと言われることがある。曰く、モデルシステムのようなノウハウは、システム開発業における競争力の源泉みたいなものだから、そんなものを積極的に公開しようとするお人好しな開発企... 続きを読む
-
在庫DBにおける「正規化崩しの報い」: 設計者の発言 watanabek.cocolog-nifty.com
DBに含まれるテーブルを「マスターとトランザクション」、あるいは「リソースとイベント」に分ける管理方針は広く取り入れられている。加えて、それらの中間的な区分として「残高」を想定することで、モデルをより効果的に理解できるようになる。 ただし、「マスターかトランザクションか」や「リソースかイベント... 続きを読む
-
語られないアーキテクチャの謎: 設計者の発言 watanabek.cocolog-nifty.com
業務システム開発の世界でも「アーキテクチャ」という言葉がふつうに使われるようになった。この場合のアーキテクチャとは「ソフトウエアのコンポーネント構造やそれらの相互関係に関する基本方針」くらいの意味なのだが、業務システムのように複雑で巨大なソフトウエアを効率的に開発・保守してゆくためには、アーキ... 続きを読む
-
「アジャイルなスクラッチ開発」ではダメ: 設計者の発言 watanabek.cocolog-nifty.com
他のソフトウエア分野についてはわからないが、売掛・買掛・在庫・原価といった会計要素を統合的に管理するためのしくみ(基幹システム)の開発については、はっきり言えることがある。ウォーターフォール手法(WF)に替わるやり方としてアジャイル手法を導入しても、それが「スクラッチ開発(いちいちゼロからシス... 続きを読む
-
コードを仕様書にするために: 設計者の発言 watanabek.cocolog-nifty.com
「実行可能な仕様書」の技術は、古くから開発者を悩ませてきた「仕様書とコードとの不整合問題」を解決する。エクセル方眼紙等で「そのまま実行できない仕様書」を書いて、それを見ながらプログラミングし、仕様変更の際には両方に手を入れる――これまで当然と思われていたそんなスタイルがレガシーになる。 ただし... 続きを読む
-
アジャイルの人たちは自分の優秀さに気づいていない: 設計者の発言 watanabek.cocolog-nifty.com
アジャイル手法を実践できるプロジェクトは恵まれている。それは、「理解ある管理者」がアジャイル手法を了承してくれたからではない。管理者がそう判断できるほどに参加メンバーが優秀だからだ。 アジャイルの特徴のひとつが「少数精鋭」である。いっぽう、アジャイルの対立手法として理解されているウォーターフォ... 続きを読む
-
「DB構造の前にUIを決める」というアンチパターン: 設計者の発言 watanabek.cocolog-nifty.com
画面定義書があるのにまともなER図がない。そういう状況を一瞬でも経由したプロジェクトは、大きなリスクを抱えていると考えたほうがいい。よほど規模の小さなプロジェクトでない限り、デスマーチに陥る公算が高い。 喩えるなら、高層ビルの「上モノ」の図面が詳細に出来上がっているわりに「土台」の図面がないよ... 続きを読む
-
ナチュラルキーを主キーにしてはいけない: 設計者の発言 watanabek.cocolog-nifty.com
定期的に複合主キーの話題が盛り上がるのは楽しい。好きな話題なので便乗しよう。 複合主キーを許すべきかどうかの議論で私が理解できないのが、なぜかナチュラルキーを主キー(一次識別子)に含めてはいけないという話とセットで語られがちな点だ。もちろん、ナチュラルキーを主キーに含めてはいけない。しかしそれ... 続きを読む
-
「要件定義」に何週間もかける?: 設計者の発言 watanabek.cocolog-nifty.com
上流工程にはいくつかの作業が含まれるが、それらの呼び名は案外いいかげんだ。「基本設計」が「概要設計」と呼ばれることがあるし、「基本設計・詳細設計」の組み合わせが「外部設計・内部設計」と呼ばれることもある。 そこらへんの違いは、かつて日本のシステム開発会社がメーカー系列毎にブロックを成していて、... 続きを読む
-
DDD:ドメインをメタ方向へずらす: 設計者の発言 watanabek.cocolog-nifty.com
訳出が待たれていたエリック・エバンスの「ドメイン駆動設計(Domain-Driven Design、略してDDD)」の日本語版が出版された。私自身はオージス総研さんによる抄訳「DDD難民に捧げるDomain-Driven Designのエッセンス」を読んだだけで原著も訳書も読んでいないのだが、... 続きを読む
-
「プログラミングへのこだわり」を方向づける: 設計者の発言 watanabek.cocolog-nifty.com
業務システムの生産性や保守性を高めるための基本は「コードを1行でも減らす」である。なぜなら、コーディングとこれにともなうテスティングこそが、開発作業の中でもっとも人手のかかる作業だからだ。個別案件においては、良いコードだろうが悪いコードだろうが少なければ少ないほどよい。 いっぽう、そんな方針と... 続きを読む
-
プログラマの地位向上のためにやれること: 設計者の発言 watanabek.cocolog-nifty.com
プログラマが尊敬され高い給与を得るためにはどうしたらよいか。飲み会などでそんな話になることがある。私の答えは明快だが甘くない。 プログラマの地位を確実に高めるための手段がひとつある。結果的にプログラマの参入障壁が高まるような変化を起こせばよい。 もともとプログラミングの仕事はスキルや適性が求め... 続きを読む
-
DB設計が楽しくなければたぶん失敗している: 設計者の発言 watanabek.cocolog-nifty.com
データベース設計の手順は、さまざまな書籍やサイトでだいたい次のように説明されている。 1.業務用語をリソース・イベントや動詞・名詞等の観点で整理する 2.テーブルとデータ項目の関係として用語をグルーピングする 3.テーブル間の多重度を検討して関連を決定する 4.正規化する 私はこのように律儀な... 続きを読む
【Vプリカが当たる!】おもしろガジェット&ゲームが買える海外サイトを集めてみた - はてなブックマークニュース 210 users
海外サイトでもショッピングしたい、でもカード番号を入力するのは不安。そんなときはライフカードのVisaプリペイド「Vプリカ」を利用してはいかがでしょう。はてなブックマークで人気の海外サイトの中から編集部おすすめサイトを集めました。総額20万円分のVプリカが合計100名様に当たるプレゼントも! 続きを読む