第2話 - 内部設計

 悲報。データベース設計がフレームワークの書式に一致していません。


 複合キー設計とかねばいいのに。っていうかそもそもテーブルの正規化とか知らないんですか中村さんできないならできないと言ってください俺がやった方が余程マシだ!!!!!!!!!

 もちろん、正規化されていないデータベースなど今までの仕事でだってごまんと見てきた。そこらじゅうに普通にあるものだ。基本情報技術者試験の設問にすらあるデータベース設計の初歩の初歩だというのに、これをやらない設計者は後を絶たない。昔の名残なのか怠慢なのか嫌いなのかは知らないが。

 そしてこの手の設計にありがちな後方の謎スペース。お前だお前。カラムが足りなくなった時にその代わりとして使われるのであろうoption1〜3! ソースコードの可視性が下がるだろうがやめちまえこんな設計!


――と、言えたら苦労はしない。中村さんは上司です。美少女だけど一回り年上の上司です。美少女だけど。


「すみません中村さん、データベース設計なんですけど、CakePHPの仕様と食い違っているのでちょっとプログラム側のコストが嵩みそうです。主キーと、あと管理項目(注:作成日時、作成者、更新日時、更新者等を指す)はフレームワークの規定に従っていただければシステムが自動で設定してくれるんですが変更できますか?」

 オブラートに包んで包んでエチゼンクラゲのようになった文章を半ば読み上げるようにして中村さんに問いかける。中村さんは腕を組んで首を傾げ、「うーん」と言う。

「これはそのままでやるしかないですねー」

 なぜ。Why。いやわかる、だいたい概ね往々にしてこういう場合は他システムとの連携とかデータベース共有とかそういう事情があるのだ。そしてそれは中村さんに文句を言っても解決しない。

 そうですかーと返答し似たような地獄をいつかも見たなあと思いながらフレームワークの仕様書を見る。幸い、主キーの付け替えはできる。つまり検索ごとに主キーを付け替えてあれだこれだと色々書けば実現できないこともない。無駄コスト。ばーか。ばーかばーか!

 聞けば納期までは一ヶ月弱しか時間がない。機能はごっそりある。

 幸い、お客様のあのきれいなチラ裏から既に中村さんが画面モック(注:機能のないハリボテ。お客様に画面イメージを共有するためのサンプルのようなもの)を作ってくれている。取り敢えずこれにパッと見の機能だけ付けて、その方向で実装していいかお客さんと相談してもらおうそうしようあの子がほしいあの子じゃわからん。

 画面から送信された注文情報をデータベースに登録する。登録したデータを別の画面から一覧で見られるようにし、その一覧を検索できるようにする。注文を選択し、必要事項を記入してシステムに送信すると、表計算ソフト用のファイルがダウンロードされる。最初から全部表計算ソフトでやればよくね? っていうかGoogleFormとスプレッドシートで三十分で作れるやつじゃね?

 画面が多いとはいえそれぞれの機能は単純で、データベースの出し入れだけなら二日で組み込むことができた。もちろん機能の大半はハリボテだ。パッと見動く、だがそれだけのもの。

「@中村さん 画面モックに機能を付けました。確認をお願いします」

 作ったソースファイルを添付し、Web上に用意された社内チャットに書き込む。中村さんは東京に出張に出ていて、アカウントはオンラインになっていない。営業か顧客折衝にでも出ているんだろう。

 SEにはプログラミング以外にも業務がたくさんある。営業兼務の人は大変だなあと思う反面、あの人が営業やってるからこういう仕事になるのでは? という疑念が拭い去れない。


 週末を挟んで翌月曜日、社内チャットに中村さんからの返信が来ていた。

「@代田さん ありがとうございます! でもすみません、注文画面のデザインが変更になったのでこちらで再実装をお願いします。他は変更なしです!」

 添付ファイルを開く。もともとはダイアログから注文する商品を選んで表示する画面だったのが、予めすべての商品を表示してチェックボックスと数量入力になっていた。

 つまり従来は画面上に表示されているものをすべて送信すればよかったものが、今度はチェックボックスを確認してどれを送信するか選ばなくてはならないということだ。いや、全部送信してからサーバーで取捨選択するべきか?

 中村さんのモックには送信処理が書かれていない。本当にデザインだけだ。フロント側はやると言ってくれているのだから意見合わせが必要なのだが、中村さんはやはりオフラインになっている。

 取り敢えずあれだ、仕方ない。中村さんも忙しいんだろうし、画面側も適当に書いてしまおう。仕事は増えるが仕方ない。ドライバ(注:プログラムを試験的に動かすための別プログラム)だと思えばいい。

 取り敢えず書いて、仕様だけ伝えればなんとかなるだろ。多分。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る