Windows XPでしか動かないC言語か何かで作成した「顧客管理システム」を何とか新しくする方法

本日は、「Windows XP」でしか動かない、C言語か何かで作成した「顧客管理システム」を何とか新しくする方法です。

先月、Accessで作成した顧客管理システム等を使用していただいているお客様企業の紹介で、協力会社の「顧客管理システム」を作れないかという依頼を受けて、訳も分からず、とりあえず訪問してきました。

現在、開発した会社は、まだ存在しているが、「もうできる人が居ないので、「Windows10」でも動作するように改造することはできない」と言われている様です。

簡単に、Accessで作成できるかと考えていましたが、すでに数万件の顧客データを抱えていて、その顧客データも新しいシステムに持ってくる必要が有ります。

「10年も前から検討はしていたのですが。。。」というけれど。。。。

どこにも、相談する人が居なかったのか? 予算の関係で、再開発を頼めなかったのか?

理由は、色々な事が重なっているのでしょうが、システム開発を依頼する上で、よくあるパターンなので、はじめて依頼する場合など、会社の経営が続く限り、使用するアプリケーションですので、将来、どう運用するか、システム的に必ず使えなくなる日が来ますので、検討しておく、覚悟しておく必要がありますので、参考になればと思い記載します。

どんな「個人」や「会社」にシステムの開発を依頼しようが、永遠に自分の会社も含めて続いているとは限りません。 人間がやっているので、会社でも倒産したり、廃業したりする場合もあるのです。

安く、作ってもらったからと言って、安心している場合ではありませんので。

およそコンピューターのシステムで、何十年も、そのまま使えるという事は、殆どあり得ません。 たかが、パソコンの場合でも、WindowsというOSの環境下で、プログラムは動作するのです。それが変われば、プログラムも変更しなければならなくなるのです。

Microsoft社のWindowsというOSの環境下で、プログラムは動作していますので、OSに変更が加えられ場、当然、その環境下でシステムを作って商売している会社も影響を受けてしまいます。

さて、商品を「販売」して、その後「アフターサービス」が発生する事業をしている場合、顧客データを収集して、顧客単位にデータベース化すると、お客様にとっても、自社にとっても、大いに役に立ちます。

今の時代、最低でも、これくらいの管理が必要ですが、未だ、できていない会社もまだたくさんあるでしょうが。。。。

顧客管理システムを構築する上での重要な事柄と目的
私の場合、こんな感じで説明しています。

顧客管理システムを開発する上での重要な考え方


Sponsored Links




1.現在、稼働中の「顧客管理システム」の状況

ユーザーは、どんなプログラムを開発するツール、やり方があるのかも、知りません。これは仕方のない事ですので、それより、作ったら一生、動くのだろうと云う思い込みだけは、意味不明です。

まずは、現状「C言語」?か何かで作られた顧客管理データベースとしてシステムで動いている。

■「Windows XP」でしか動作しないので、今時、「スタンドアロン」の状態でPCを稼働させて運用している。

■プリンターも「Windows XP」対応のが、もうなくなっているので、新しいプリンターも使えない。

■システムの操作説明マニュアルしかない。

■システムの「設計書」と「ソースプログラム」は、存在するのか? 未確認。
どんな契約をして、何と何が、納品物として対象になっていたのか?。。。不明。

2.どうして、もっと早く、対策しなかったのだろう?

一度、経験しないと分からないことですが。。。。。

10年前から、システムを入れ替えるかどうか、検討していると言っていたが、あまりにも遅すぎると思いますが、予算の関係なのか、景気の関係なのか、人的問題なのかは、わかりません。

この様なシステムを1から「C言語」等で開発をシステム開発会社に、専用のアプリケーションとして開発を依頼すれば、100万円以下の予算では、なかなか作成してくれないでしょう。

ですので、開発後の納品物には、ソースプログラム、設計の仕様書まで含めるべきでしょう。

ただし、「ソースプログラム」に、ユーザー側で勝手に、修正を加えた場合は、開発元は、何かあっても責任を持たないでしょう。

開発、納品後、変更・修正などをするつもりが無くても、開発した会社が廃業、倒産する可能性も十分あり得るので、末永く、開発したシステムを運用、使用する場合は、「ソースプログラム」も買い取っておくべきでしょう。

この辺が、経験しないと分からない点です。

3.システムの入れ替え方法として3つ

まだ、今回、上げた3つの方法以外の方法も、無いことないでしょうが、どうしなければならいのか、ユーザーと相談して、検討してく必要が有りますので、お付き合いしようと考えています。

多分、ここまでの作業、手間は、無償になるでしょうから、頑張る必要も無いのですが。。。

1)現システムの「プログラムソース」と「仕様書」を入手して、「Windows10」でも使用できるように別の会社に依頼して改修してもらう。

Accessで開発したシステムと違い、「C言語」などで開発したシステムには、プログラムソースコードが存在します。

補足説明
プログラムをC言語などのオブジェクトを利用して作成する–>コンパイル・リンク(コンピューターができる0と1のデータに変換される)を実施して、初めて実行可能なプログラムが出来上がります。実際には「××.exe」など、エクゼファイルが出来上がります。

これは、もう、中身は、機械語(0と1)に変換されたもので、コンピューターのCPUが命令を実行する為のプログラムの命令用のデータファイルですので、中身を空けても、0と1の2進数が羅列されているだけのファイルで、何一つ、人間が見ても分かりません。

これは、現システムを作った会社と交渉して、ドキュメント等を入手する必要があります。

・最初の開発を依頼した時の「契約」は、どうなっているのか?
つまり、「設計書」と「ソースプログラム」まで、納品項目に入っているのか?

上記のこの点を詰めなければ、相手(開発元)は、とぼけるでしょう。

「設計書」と「ソースプログラム」これが無ければ、既存のシステムを改修するのは不可能でしょう。

たとえ、有ったとしても、改修してくれる会社が有るかどうか? 実は、人の作成したプログラムをいじるのは、誰でも、はっきり言って避けたのです。

「C言語」でなくても、開発言語はいくらでもありますので、別の言語で新たに開発してもらうという手もあります。

いずれにしても、

既存システムの設計時の仕様書も無く、「データ構造」さえ分からないと、

下記、項目2)、3)での既存の顧客データのコンバート(変換)作業が難しくなるでしょう。

2)画面をカスタマイズできるパッケージソフトを導入する

これは、例えば、身近で云えば、会社でよく使う複合機(FAX)などを販売しているリコー、キャノン、ゼロックスなどの会社に相談して、話を持ちかければ、システムを開発しないが、パッケージソフトで画面をカスタマイズできれば、ある程度、現システムの画面構造に近づけることは可能かと思います。

■いずれにしても、一度、来てもらって、相談するのが、一番でしょう。

■この先、長く、システムを運用するのであれば、大きな会社で面倒見が良いかどうかは、その会社の能力次第ですが、相談に乗ってくれて、対処してくれるところまで付き合ってくれる会社が、一番ではないでしょうか。

■同じ顧客管理でも、色々なパッケージソフトが有るでしょう。自社になるべく合った1本を見つければ良いのですが、ぴったり合ったのは、なかなかありません。

何故なら、どんな顧客データを管理するのかは、100社あれば、100通りでしょうから、パッケージにそれを求めるのは、それ事態が無理でしょう。

■パッケージソフトで運用する最大のメリットは初期導入コストが圧倒的に安いという事です。

3)Accessを利用して、同じような画面構成のシステムを作成する。

条件は、既存システムのデータが機能する構造になっていれば、CSVファイルからAccessにデータをコンバートできますので作成は可能です。

このやり方であれば、費用を抑えて、システムを作成することが可能です。

Accessで作成した顧客管理

Accessの場合は、Access自体がデータベースを作るアプリケーションになっていますので、操作説明書は必要ですが、「設計書」も「ソースプログラム」も「画面」も、データベースシステムを構築しながら出来上がってしまいます。

将来、開発者が居なくなっても、Accessでシステムをある程度作成した経験があり、知っている人が居れば、「C言語」で作られたシステムより、簡単に改良することが可能でしょう。

Accessは、コンシューマー(素人)向けのデータベース開発の「組み立てキット」の様なものですので、開発者が設計書も無く、突然、いなくなっても、大丈夫なのです。

何故なら、「プログラム」、「データ」、「処理画面」、「印刷帳票」も全部、Accessが有れば、好きなように、いじれ(編集)てしまいますので。

関連記事
マイクロソフトの「Access」の便利な機能を使って、業務アプリケーションを作成して活用する。
小規模企業の為の社内LANを構築して活用する方法について

では、既存の「顧客データ」を変換可能かどうか、そのデータ構造の条件とは。

4.上記3つの方法から選択する場合の注意点

上記の項番 2),3)の場合、現システムのデータを利用(変換)しますが、どんなデータ構造をしているのか、下記の点を開発した会社に調査・確認する必要があります。

現システムのデータをCSVファイルに落とした時に、どんなデータ構造しているのか?

1人の顧客データに対して、購入された商品情報、修理した情報などを抱えて居ますが、CSVファイルに落とされた時、どんなデータ構造をしているのかです。

1)ドッキングされたデータなのか?

1件の顧客データに対して、購入された商品情報、修理した情報が格納されたcsvファイルを落とした時に、CSV 又はEXCELのファイルで言えば、横1行が1人分のデータとして、商品情報、修理した情報などが、全部格納されているのかです。

一番、メンドクサイが、1件の顧客の基本データ、購入された商品情報、修理した情報などに分割することは可能でしょう。

■【1件の顧客の情報の全データが、一行に格納されている場合】

顧客コード 顧客名 電話番号 サービス情報

なぜ、分割する必要が有るかと云えば、1件の顧客の基本データに対して、購入された商品情報、修理した情報などは、複数件データが発生する可能性がありますので、通常、何件登録されるか、不明の場合は、ファイルを分けて運用する方法を取ります。

2)別々のデータとなっているのか?

1件の顧客データに対して、購入された商品情報、修理した情報とcsvファイルに落とした時に、独立しているのか?

■【顧客の基本情報のデータ】

顧客コード 顧客名 電話番号

■【サービス情報のデータ】

顧客コード サービス情報1 サービス情報内容 交換部品

■【販売した商品情報のデータ】

顧客コード 販売情報1 型番 販売年月日

この様に、同一の顧客コードが、他のファイルにも付与されていれば、1件のデータとして、同時に画面に表示できるのです。

独立して、別々になっていいる場合、1件のデータとして表示する場合、どのようにデータをリンクを取るデータ構造になっているのか?

例えば、別々に管理している場合は、親データのキー情報が、子のデータ構造の中に格納されているが、そのような構造にちゃんとなっているか?

上記のようなデータ構造になっていない場合、例えcsvファイルに変換しても、項番2,3でのシステム構築は、難しいでしょう。

では、データ構造上だめな場合、項番1の方法でやるには、現システムを開発した会社にソース・プログラムと設計書(データ構造を含めた)の提出を求める必要があります。

可能なら、そのシステム(どのようなプログラム言語で作成されているのか不明ですが)をそのまま、改造してもらうと云う手段が残されています。

果たして、それが可能かどうかも、確認する必要があります。

追記
いずれにしても、これから先、どうするのか、訪問して、打ち合わせをする必要が有りますので、まだ結果が出ていません。

どのような、結果になるのか?  まだ、記載は続きます。


Sponsored Links




  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください