Fusicってなんしようと?What is Fusic doing?

2016/11/17 OJTレポート「Prelude(テーブル定義書システム)のご紹介」#ジョンレポ

2016年度新卒入社のジョン ジェユンが、当社のOJTで作成した
社内システムをご紹介します。

今年度の当社OJTについてはこちらをご覧ください。

================================================

【システム名】
Prelude(テーブル定義書システム)

【システム種別】
業務システム





【セールスポイント】
①システム上のデータベース情報を確認することが可能
②テーブル定義書をExcelファイルとしてダウンロードすることが可能
③コマンド1つでテーブル定義書を作成することが可能


Prelude(テーブル定義書システム)とは、
システム上でテーブル定義書(Excel)を作成・管理することができるシステムです。

従来の開発では、Webシステム開発時にデータベースが変更される度にテーブル定義書(Excel)を
変更しなくてはなりませんでした。
この問題を解決するため、テーブル定義書を手軽に更新できるようにPreludeを作成しました。
なお、今回のOJTでは、Prelude だけでなく、Shellスクリプト、CakePHP3プラグインを同時に開発し、
コマンドを一つ叩くだけで自動でテーブル定義書がシステム上で更新されるようにしました。

また、システム名の「Prelude」は、日本語で「前奏曲」という意味です。
前奏曲の終わりが近づくと幕が上がるように、
私自身がプログラマーとして活躍するための準備期間を終え、
これから素敵な未来を作って行くんだという意味を込めて名付けました。






【開発期間】
3ヶ月

【技術】
CakePHP3、ShellScript、MySQL

【難しかったこと】
システム構築の際に使う技術が、今まで使ったことのない高度な技術だったため、
システムの全体像を理解することが難しかったです。
最初の段階で特に苦労したのは、開発環境にあるデータベース情報を
どのようにしてシステムに送るかということでした。
また、開発が進み、データベースの情報の取得も、今まで経験したことがなかったため
1から勉強し、実践・応用できるように努力しました。

【頑張ったこと】
今回のシステムは更新したデータベース情報の管理をすること、
そしてそれをExcelファイルとしてダウンロードすることが目的です。
そのため、基となるデータベースの情報を集めて、
システムに転送するまでの結果をShellコマンド1行で実行させるという部分に注力しました。

【OJTを通して学んだこと】
実際に要件定義からリリースに至るまでの開発プロセスを経験して
一番勉強になったのは、お客様の要望を正確にヒアリングすることです。
そもそも要件定義が正しくできていないと、具体的な開発に進むことができない上に
お客様のイメージしているものと違うものを作ってしまう可能性があります。
そのため、このシステムはどのような目的で、どの機能が特にほしいのかなど、
お客様の話をより具体的に引き出しながらシステム作りをしていくことの重要性を学びました。