July 2012

July 22, 2012

グラス片手にデータベース設計〜販売管理システム編

グラス片手にデータベース設計~販売管理システム編 (DBMagazine SELECTION)
グラス片手にデータベース設計~販売管理システム編 (DBMagazine SELECTION)

キーワード:
 梅田弘之、DB、業務モデリング、販売管理システム、カクテル
販売管理システムの業務ノウハウと設計技術が解説されている本。以下のような目次となっている。
  1. Part1 業務システムの概要とマスタの設計
    1. 第1章 販売管理システムの全体像
    2. 第2章 基幹業務システム構築のポイント
    3. 第3章 部門/社員/商品マスタの設計
    4. 第4章 取引先(顧客/仕入先)マスタの設計
  2. Part2 販売システムのDB設計
    1. 第5章 受注業務のDB設計
    2. 第6章 出荷/売上業務のDB設計
    3. 第7章 請求業務のDB設計
    4. 第8章 回収業務のDB設計
  3. Part3 仕入/在庫システムのDB設計
    1. 第9章 発注/仕入業務のDB設計
    2. 第10章 入庫/倉庫移動業務のDB設計
    3. 第11章 在庫管理業務のDB設計
    4. 第12章 仕入/支払業務のDB設計
    5. 第13章 業務全般に関連する処理のDB設計
(目次から抜粋)
本書は、販売管理をテーマに業務処理ノウハウとDBシステム設計が解説されている。ここで言う、「販売管理」は、販売管理システム、在庫管理システム、調達管理システム、会計システムの枠内に入る債権管理、債務管理までを含め、単なる販売だけではなく、そのための商品の調達、在庫する仕組みや請求/支払処理までを分かりやすく解説されている。

そして本書の特徴として、教科書通りの業務知識を語るのではなく、実践的な生きた業務ノウハウを具体的なデータベース設計まで落とし込んでいる点、と示されている。

今の仕事は、別に販売管理システムが対象ではないのだけど、自分のタスクとしてデータベース設計がありえたので、予習と設計ノウハウで参考にできる部分がないかと思って読んでみた。本書はすごく分かりやすかった!!これは似たようなシステムを運用していた1,2年目のときに読みたかったなぁと思った。

本書で示されていて一番なるほどと思ったのが、『業務ノウハウ不滅の法則』というもの。これは、業務アプリケーション開発に必要な技術としてはOracleやSQL ServerなどDBの知識だったり、C#, Javaなどのプログラミング言語、その他モデリング手法、プロジェクト管理などもたくさんある。しかし、業務知識や業務システム設計についてはあまり技術として触れられていなかったことから、著者の今までの経験から業務システムのノウハウを体系的にまとめたのが本書となり、『業務ノウハウ不滅の法則』は以下のように示されている。
 次々に新技術が誕生しては消えていくIT業界ですが、プラットフォームがどんなに変わろうとも、業務ノウハウは変わりません。業務ノウハウは一度身に付けたら、ずっとあなたの財産になります。まさに、「業務ノウハウ不滅の法則」なのです。
(pp.25)
これはすごく納得がいった。

企業のエンタープライズシステムを構築したり業務システム構築を対象範囲としているSEが、この先生き残っていくために必須の知識、技術がこの業務知識や業務システムの設計のノウハウなのではないかなと。昨今話題のクラウドなどの新技術の台頭、人月単価の安いオフショアなどによって、今後フルスクラッチ新規開発案件が減少していく傾向にある。そのときに、単純な機械系の技術力だけでは勝負できなくなって仕事がなくなっていくのだろうなと。もちろんハイパーな人は機械系の技術力だけでも行けるかもだけど、それはかなり少数派だろうね。

ではどこで差別化を図るかというと、著者も示しているようにやはりお客様の業務知識をしっかり分かっているという部分だね。業務知識が分からずに何となくこんな感じだろうと設計していくと、お客様の業務に支障が出たり、システムに業務運用ルールを合わせなくてはならなかったりと使いにくいものになってしまう。そうなっては次から受注は見込めないよねと。もちろん、ある程度高度な機械系の業務知識を持ち、技術力があることが前提ではあるが。

よって、特定の業務領域、例えば、生産管理だったり物流管理だったり、金融系、会計系だったりいろいろな業務に特化していくのが一つの生き残り戦略なのかなと。どれだけ技術革新が起こっても、お客様の業務の流れや基礎的な知識、商習慣だけはそんなに変わらないのだから、そこのかゆいところに手が届かせられるシステム設計ができる技術者が生き残っていくのだろう。

業務知識の話はこれくらいにして、本書に話を戻すと、一ヶ所とても参考になった部分があったので、そこを引用。
 業務系のテーブル設計で最も大切なことは、テーブルの正規化技術やRDBMSの知識だけではありません。まず、いろいろな業務形態があることを理解し、次にそれを自分なりにきちんと整理して、「今回のユーザーの場合はどうすれば一番良いか」を柔軟に考える力です。ここで書いた設計モデルはあくまでも一例なので、どうか自分の頭で考えて良い設計をしてあげてください。
(pp.160)
これは肝に銘じておこう。

本書は本当に分かりやすい本だった。そもそもあまり会計や販売管理の業務についてまとめられた本が少なく、あっても分かりにくかったり文章が微妙で全然頭に入ってこないということがある。しかし、これはとても読みやすく、すんなり理解できる。もちろん今までの自分の経験値があるという部分も考慮しなくてはならないが、それを差し引いても読みやすかった。

DB設計をやる人だけが読むのにはあまりにももったいない本で、実際にDB設計をやらなくても、販売管理の一般的な業務知識を勉強する場合にもとても重宝する。その場合は、業務知識を理解しつつ、データの流れと格納方法がなんとなくこうなっているのだなぁという理解でもよいと思う。実際に販売管理システムでDB設計をするときにまた読み返して理解すればよいので。

また、販売管理、会計的な業務用語集もちゃんと巻末に載っているのがよい。あと同著者の本として以下がある。こちらも分かりやすい。

タイトルに『グラス片手』にとあるように各章の最後に著者が飲んだカクテルのレシピが載っているのが個人的にポイントが高い。自分もBar巡りが好きなので。ちなみに、各章で示されているカクテルは以下のもの。
  1. Kiss in the dark
  2. Daiquiri
  3. FROZEN GIN & LIME
  4. MIMOZA
  5. Nikolaschka
  6. Gibson
  7. Long Island Iced Tea
  8. Pina Colada
  9. Campari & Soda
  10. Bacardi
  11. DITA TONIC
  12. White Lady
  13. Kiss of Fire
この中で飲んだことあるのは、2, 7, 9, 12くらいかな。ということで、ついでだから本書片手にKiss of Fireを飲んでみたw

DSC_1478

この前行ったときに常連になろうと思ったBarのメニューにちゃんとKiss of FireとWhite Ladyが載っていた。ソルトではなくグラニュー糖でスノースタイルになっているカクテルは初めて飲んだ。最後のほうはその名の通り熱く燃えるような感覚だったね。そしておいしかった。本書は本当におすすめの業務知識系の本。ただ唯一の欠点は、毎朝の通勤時間に読んでいると、朝から無性にBarに行って飲みたくなることだ(笑)。



グラス片手にデータベース設計~販売管理システム編 (DBMagazine SELECTION)
グラス片手にデータベース設計~販売管理システム編 (DBMagazine SELECTION)
著者:梅田 弘之
販売元:翔泳社
(2003-11-19)
販売元:Amazon.co.jp

読むべき人:
  • 販売管理の業務知識を勉強したい人
  • DB設計のパターンを増やしたい人
  • カクテルが好きな人
Amazon.co.jpで『データベース設計』の他の本を見る

bana1 かんぱいクリック☆  にほんブログ村 本ブログへ


July 08, 2012

はじめての設計をやり抜くための本

はじめての設計をやり抜くための本 概念モデリングからアプリケーション、データベース、アーキテクチャの設計まで (エンジニア道場)
はじめての設計をやり抜くための本 概念モデリングからアプリケーション、データベース、アーキテクチャの設計まで (エンジニア道場)

キーワード:
 吉原庄三郎、設計、品質、アーキテクト、コミュニケーション
IT業界に何らかのかたちでかかわり、はじめて設計をする人のための本。以下のような目次となっている。
  1. 第1章 はじめての設計をやり抜くために
  2. 第2章 設計の目的
  3. 第3章 外部設計の手法
  4. 第4章 内部設計の手法
  5. 第5章 アーキテクチャの目的
  6. 第6章 アーキテクチャ設計のアプローチ
  7. 第7章 本当に設計は必要か
(目次から抜粋)
5月から新しいプロジェクトに参画しており、そこでの自分のロールは基本設計からテストまでということになった。さて、設計をきっちりやったことがない、どうしようと思って本書を本屋で探し当てた。探し当てたというか、数年前からタイトルからいつか読もうと思っていたので、このタイミングで買って読んだ。

対象読者は、SI企業に所属しながらシステム開発業に関わる人で、プログラミングはやってきたけど、設計は未経験だったり、見よう見まねでやってきたけど基礎からもう1回勉強し直したい人に向けで、設計の基本的な手法を知りたい人のための本と書かれている。まさに今の自分にぴったり。

本書によれば、設計をやり抜くために最低限必要なことは以下の3つらしい。
  1. 設計の目的を正確に把握すること
  2. 設計を行うために最低限必要なテクニックを知ること
  3. 周りにいる人と正常なコミュニケーションをとること
設計スキルを上達させるには、誰かのために設計するという視点を持つことらしい。自分が作成した設計書を誰かが読んで正しくプログラミングできるようにする必要があるので、曖昧な表現ではダメで、そのため、設計という作業はコミュニケーションと示されている。

また、本書では設計を行うために必要な知識として次の4つを重点的に取り上げられている。
  • ユースケース
  • 概念モデル
  • データベース設計
  • アーキテクチャ設計
そして、本書によると設計の目的は以下のように示されている。
  1. 要件定義の内容をシステムでどのように実現するかを検討する
  2. 要件定義で明確になっていない外部仕様を検討する
  3. 開発の関係者間で情報を共有する
  4. システムの品質を高める
  5. メンテナンスのために設計情報を残す
    (pp.056)
ここが一番重要なところだね。

本書全体の構成に関して言及しておくと、割と設計工程に関して網羅的に示されている分、要素要素に深さがどうしても足りないと感じる部分がある。それはそれで本書のコンセプト上、しょうがない部分なので、例えばDB設計に関してもっと詳しく知りたい人は他の専門書を読むとよい。

全体の網羅性をある程度の抽象度を保って説明されている分、もう少し具体的な設計成果物のサンプルがあれば分かりやすかったかなと思った。例えば、Web上の購買システムをサンプルとして画面設計、DB設計、IF設計、画面プログラム設計、ビジネスプログラム設計などの一貫性を保った具体的な成果物を示してもらった方がよかったかもしれない。

しかし、設計のポイントの網羅性を示している本はあんまり本屋にもないので、本書が重宝すると思う。いろいろと参考文献も示されているし、アジャイル開発の設計に関することもコラムで言及されているので、読み物としても参考になる部分が多い。

ページ数が327ページと割とボリュームが多いので、少しずつ読んで読了まで2週間という工数かな。既知の部分や技術要素のところで自分の業務に関連が薄い部分は読み飛ばすなどすればもう少し速く読めるかもしれない。大切なのは設計の全体像をさくっと把握することなので、詳細は実際の仕事の現場で習得する、もしくはさらに専門書を読んだりする必要がある。

最近基本設計からの仕事をやっているけど、これはこれでいろいろと仕様や要件を考慮しなくてはいけない部分が多くて、なかなかすんなり仕様が固まらなかったりする。それでも単純なプログラミング工程とはちょっと違った面白さがあるなぁと思う。もちろん、プログラミングそのものも設計の1工程と捉える考えもあるけど、純粋なウォーターフォールモデルでは別物と考えるとね。

設計をやっていると自分がシステムを作っているんだという気になってくる。自分の設計のよしあしがそのままシステム品質につながると思うと、微妙な設計ではダメだなと。特に技術者の都合、例えば、その機能を盛り込むとテストが激しく面倒といったことで仕様を決めてしまいがちになったりするけど、大切なのは限られた工数や予算の中でちゃんとお客様の要件を満たすものを考慮するということだね。そういう部分で最適解を導き出すために試行錯誤するのが設計工程の面白みでもあるのかなと思った。

設計と言っても技術的なことを知らなくてはまともにできないし、プログラミングだってある程度できないとまともなものはできないなぁと思う。だからプログラミングをやったことがない人がいきなり設計をやるのは無謀というか、欠陥があったり品質が低いシステムになる可能性が高い。なので、ちゃんと技術の勉強もしつつ設計能力を磨かないとなぁと思った。

そういうことをいろいろと考えていると、熟練したエンジニアになるには最低でも10年オーダーの修行が必要なのかなと思ったり。先は長い。精進あるのみ。



はじめての設計をやり抜くための本 概念モデリングからアプリケーション、データベース、アーキテクチャの設計まで (エンジニア道場)
はじめての設計をやり抜くための本 概念モデリングからアプリケーション、データベース、アーキテクチャの設計まで (エンジニア道場)
著者:吉原 庄三郎
販売元:翔泳社
(2008-12-11)
販売元:Amazon.co.jp

読むべき人:
  • はじめて設計をする人
  • 設計書の成果物がイメージできない人
  • アーキテクトになりたい人
Amazon.co.jpで『設計』の他の本を見る

bana1 デザインクリック☆  にほんブログ村 本ブログへ