概要
MySQLデータベースとPHPで Web上から操作可能なアプリケーションを作ってみようと思います。まず最初に機能を整理したいと思いますが、アプリケーションの設計ではその機能を、- ユーザーが利用する機能
- 設計及び制作者が必要とする機能
ユーザーの利用する機能
ユーザーが利用する機能は、第一に顧客名簿...顧客情報のデータベースですが、顧客の情報というのもそのサービスによって様々なので、ユーザーがどのような顧客情報を管理したいのか?ということに関して自由にフィールドを設定できるような機能を提供しなくてはなりません。第二にその顧客情報の管理においてレコードの挿入と削除を自由に行えるようにすることと、削除に関してはそのバックアップも必要かもしれません。(つまりカテゴリーから移動するだけで本来的な削除はしないということです。)また、現存の顧客情報はエクセルなどで管理している場合は個々の情報を一つ一つ登録するのは非常に面倒です。ある程度のフォーマットをアプリケーションに読み込めるようにしておいた方がいいでしょう。また、そのフォーマットの種類も多様なので、少なくともCSV,txtなどから流し込めるようにしたい。第三にそれぞれのサービス機能をプラグイン化することが大切かもしれません。ある固定した管理システムですとすぐに時代遅れになるだろうし、またサービス業務の変更などで新しい機能が必要になるかもしれないからです。プラグインのデフォルトの内容だけでもかなり沢山あります。まずは日付の管理です。ある日付(更新日の一ヶ月前とか...)に、管理者にアラームやメールでお知らせする、または顧客に直接メールを送信して知らせるなどの機能、またそれに関連してお知らせしたメールに書かれてあるURLのクリックカウンターなどです。日付に関連する機能は特に豊富である必要があるかもしれません。またある日付になるとメールマガジンを一斉送信するシステムやそれらを実行したという記録(ログ)が必要です。これらの機能は、自身のホームページとの関連で機能しなくてはならない場合もあるでしょう。
ここ最近のプログラムの新機能としてpdfファイルに文字列を書き込み出力するという機能もあります。これはとても便利でイチイチ個別に作成しなくてはならないテンプレートなどを作成しておけばpdfファイルでもって自動的に出力可能になります。それらはDMの印刷に利用することもできますし、メールに直接添付することも可能です。
- わかりやすいインターフェイスによるデータベースの作成、及びテーブルと自由なフィールドの作成。またはその削除とバックアップ。
- レコードの挿入と削除(テキストデータなどから複数のレコードの挿入と削除も含む)
- プラグインによる管理サービスの追加と削除、または更新
設計及び制作者が必要とする機能
製作者が必要とする機能(もちろんユーザーも必要としているわけですが...)は大きく分けて、インターフェイス、実行スクリプト、サブルーチン(ユーザー関数)の3つです。最終的にはいわゆるヘンテコなコマンド群をわかりやすいインターフェイスでコントロールできるようにするという目的なので、コマンド操作以上のことは実のところできません。つまり、機能を種別分別してそのコマンドを整理してそれらを関数化する作業が必要です。いずれにしろMySQLとPHP以上の機能は有せないというわけですから限定的な機能内の話になってくるのでデバック機能もそれほど問題ではないと思います。



