プロが教えるわが家の防犯対策術!

当社で使っている古いWEBサイトがあります。
データ登録とかができるので、WEBシステム、と呼ぶべきかもしれません。
(正直、WEBサイトとWEBシステムの違い、定義はよく解りませんが)

このWEBサイトにつき、上司から
「もう、古いシステムだから、今の仕事に合わない。
 機能を追加したり、既存の機能の強化を図りたい
 ついてはその調査をしてほしい」
とのことでした。

古い資料を引っ張り出してきて、当時の発注先のWEBシステム開発会社に連絡しようとしましたが
連絡がつきません。ネットで調べるとどうやら倒産した模様です。

こういう時、既存のWEBサイトの機能強化、機能追加、というのはどうしたら実現できるのでしょうか?
なお、ソースコードが残っているかどうか、はわかりません。
というのも、既存のシステムの開発終了当時、ソースコードの受け渡しについては契約書面に載っていないからです。多分、受け取っていなかった模様です。
また当時の会社が倒産(?)している模様ですので、その会社にアポを取って
「当時のWEBシステムのソースコード、ソースプログラムをください」
とお願いするのは多分不可能です。

方法1 既存のWEBサイトのプログラムは残し、機能強化、機能追加ができる。
ソースプログラムが無くても既存のシステムからソースプログラムを逆再生できる。

方法2 既存のWEBサイトのプログラムは残し、機能強化、機能追加、という手法は使えない。なぜならソースコードが残っていないとプログラムの追加、補修はできないから。現存するシステムからソースコードを逆再生することは不可能。
やるなら、WEBサイト開発会社に、既存のシステムの操作マニュアルを渡し、実際に捜査してもらってデータの挙動を全て把握してもらって、そっくり同じシステムを再構築し、その上で機能強化、機能追加をするしかない。つまりは既存のシステムの開発費の1.5倍から2倍の費用が掛かるが、仕方ない。
方法3 そのほか


WEBシステムの機能強化に詳しい方、お願いします。

A 回答 (6件)

多くのWebサイトのプログラムは、スクリプト言語といって、いかにもプログラムのソースコード、みたいな形式のファイルを読み込んで実行されるタイプのものです。

古いのであれば、恐らくperlとかPHPとかで作られているのでしょう。

また、クライアントサイド云々というお話もありますが、古いシステムでかつ現在に至っても普通に利用できているのであれば、クライアントサイドのアプリを必要とする性質のものではないと想像できます。雰囲気的には、ブラウザでページを開くと入力フォームが現れ、ここに何か入力すればそれがデータベースか何かに登録される、といったものなのだと思います。

という前提であれば、社内に非常に優秀な技術者がいれば、方法1でいける可能性はあります。

そうでない場合、外注することになりますが、外注する場合は一般的に方法1はできません。なぜなら、業者は請け負ったシステムの動作全てを保証する必要があるため、どこの馬の骨が作ったかもわからないようなプログラムを信じてそこに変更を加える、などといったとてつもなく大きなリスクは負いたくないからです。まして、完工図書類が客であるあなたの会社の手元に残っていないということは、相当杜撰に作られたシステムであると想像できます。ですので、方法2が現実的となります。

また、方法2に関しては、あなたは相場観をある程度理解されているようですが、概ね既存のシステムの開発費の2倍以上はかかると考えてください。業者が最低限やることは、次の工程です。
・現行のシステムの仕様を調査する
・新しいシステムの設計をする
・新しいシステムを構築する
・現行のシステムに登録されているデータを新しいシステムに移し替える
このうち、最初の調査が非常に困難を極めると思います。

第3の方法として、新たにシステムを一から作るというやり方もあります。この場合、上記の「現行のシステムの仕様を調査する」が、「現行の業務をヒアリングし、どんなシステムにするかを一緒に考える」に置き換わりますが、こちらの方がやることが明確になるため、調査するよりはより業務に親和性があり、より信頼性の高いシステムを作ることができることが多いです。また、現行システムを調査してそれを再現するよりも費用も安く工期も短くなると思います。本来であれば現行機能に2割増しの機能を追加するのであれば、現行システムの導入費用の1.2倍と言いたいところですが、完工図書も残さないような開発会社が作成したシステムであればよほど安く作られていると思いますので、1.5倍~2倍ぐらいの費用は覚悟しておいた方がいいかもしれません。

なお、

>「もともとの機能が100だとして、追加機能は10から20ぐらいだろ?
>だったら10から20のお金しか出さないからな。
>何か文句あるか?
>それともお前の給料から差っ引いてもいいか?」

が至上命題であり、真っ当なやり方について経営層が理解を示そうとしないのであれば、まずは転職サイトに登録するところから始められることを強くお勧めします。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。

>という前提であれば、社内に非常に優秀な技術者がいれば、方法1でいける可能性はあります。

その”社内”、って我々発注者側の社内の事?
そんな優秀な人、居ませんよ。せいぜいMSオフィス系統のソフトが操作できるのが精いっぱいで、パワポでアニメ入りのプレゼンテーションを作ると
「おお、すげえな!」
って褒められる程度のところですから。
っていうか、普通の会社ってそんなもんでしょ?

>そうでない場合、外注することになりますが、
(略)
>ですので、方法2が現実的となります。

ふうん、そうですかね
とすると大工さんは、建て増し工事って絶対に引き受けないですよね。
ん? 大工と比較するなんて意味なし?

>第3の方法として、新たにシステムを一から作るというやり方もあります。
(略)
>1.5倍~2倍ぐらいの費用は覚悟しておいた方がいいかもしれません。

古臭いスバル360を修理するよりも、いっそ新車に変えた方がいいよ、
ってなことでしょうかね?
まあ、現行のシステムが有する機能が完全に残り、データも残るのであれば、新システムに乗り換えるのもいいかもしれませんね、金さえあれば。

お礼日時:2022/06/08 17:30

こんにちは



すでに他の方の回答にあるように、情報がまるっきり不足ですし、頑張ってもそれだけの情報しかわからないとするなら、いずれにしろ、なんらかの形で専門家に現状を概略調査してもらうしかないでしょう。
(少なくとも、プラットフォーム、全体構成、使用言語、バージョンなど)

ご質問には直接は関係ありませんけれど、現行システムがどれだけ重要度があるのかも不明ですが、万一何かがあった時には、完全にお手上げ状態のようにも感じられます。
そのような状態で、ずっと利用なさって来ていたということでしょうか??
必要度が高いものであれば、何かあった際の備えをしておく必要があります。
起こってから大騒ぎしたところでどうしようもないですから・・

外部オープンなのかクローズドなのかもわかりませんが、セキュリティやウィルス対策などもどうなっているのか気になるところです。
それとも「リスク管理なんてどうでもいい!当たって砕けろ!」という社風なのでしょうか?
機能追加などをしなくても、体制を改める必要があるのではないかと感じられますけれど・・

一方で、
>「もともとの機能が100だとして、追加機能は10から20ぐらいだろ?
>だったら10から20のお金しか出さないからな。
>何か文句あるか?
>それともお前の給料から差っ引いてもいいか?」
であるのなら、早々に諦めた方が宜しいようにも感じられますけれど・・
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>いずれにしろ、なんらかの形で専門家に現状を概略調査してもらうしかないでしょう。
(少なくとも、プラットフォーム、全体構成、使用言語、バージョンなど)

WEB上にあるシステムで、誰で閲覧できるので(というか社内だけで使うんじゃなくて、一般人にアクセス、閲覧して使ってもらうためのサイトなので)
開発会社に
「とりあえず、一般のネット閲覧者として操作してみてください。
 他の資料としては社内の者向けの操作マニュアルがあるので
 その二つで、
”このサイトの中ではこれこれこのようにデータが蓄積、出力されているのだろうな”
 というアタリをつけてください」
っていうことじゃダメでしょうかね?
あるいはWEBサイトなんで
「F12キーを押下するとソースが見れます」
じゃダメでしょうかね?

↑仕事を受ける側、ソフト開発会社として、クライアントが↑のようなことを言ってきたらどうしますか?

お礼日時:2022/06/08 17:23

No.2の回答にあるように、サーバーサイドプログラムなのか、クライアント&サーバーシステムなのか、どんな言語で作られているかは、どこに依頼しても聞かれるので、それが答えられないなら作った人にしかできません。



サーバーサイドプログラムでもPerlなどのインタプリンタ式ならサーバーの中を見ればソースプログラムがあるけど、Cなどのコンパイラ式ならソースプログラムが必要です。
他社に依頼するなら、現行システムを作った時の仕様書とソースプログラムを提出しないとできません。
それも無しで依頼するなら、新規制作費用に加えて現行システム調査費をシステムの規模によって数百万円〜数千万円くらい請求されますよ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>No.2の回答にあるように、サーバーサイドプログラムなのか、クライアント&サーバーシステムなのか、

サーバーサイドプログラム、クライアント&サーバーシステムという言葉もよく解りませんね
その機能があるWEB上のURLにアクセスして、ブラウザ上でデータ入力してサイトに反映させる仕組みです。ネットに接続できていれば、どのパソコンからもどのタブレットからも操作、データ入力できます。(試したことないけど、多分ガラケーからでも可能だと思う)
だから
「サーバーサイドプログラム or クライアント&サーバーシステム ?」
と問われたら、字面だけ見たら、「サーバーサイドプログラムです」ってことになると思います。知らんけど。

>どんな言語で作られているかは、どこに依頼しても聞かれるので、それが答えられないなら作った人にしかできません。

そのシステムが入っているサーバーはレンタルサーバーです。
サーバー一個借りてるんじゃなくて、部分貸しのサーバーですけど、ログインIDとパスワードはこちらで管理してるんで、
「ログインIDとパスワードを渡すんで、ソフト開発会社さんがログインしてソフト開発会社さんの側で解析してください」
って方法じゃダメでしょうかね?

>他社に依頼するなら、現行システムを作った時の仕様書とソースプログラムを提出しないとできません。

んー、それも
「ログインIDとパスワードを渡すんで、ソフト開発会社さんがログインしてソフト開発会社さんの側で解析してください」
って方法じゃダメでしょうかね?

>それも無しで依頼するなら、新規制作費用に加えて現行システム調査費をシステムの規模によって数百万円〜数千万円くらい請求されますよ。

ははは 社長が許さないだろうなあ

お礼日時:2022/06/08 17:18

Webシステムが何の言語を使って作成されているかによります。


ソースコードから実行ファイルを作ってその実行ファイルだけをサーバに設置する言語もあるし、ソースコードをそのままサーバに設置する言語もあるからです。
後者であれば、元の開発業者に連絡がつかなくても、今システムが動いているサーバからファイルを取ってくれば、それを元に機能追加等も可能です。
ですが、前者であれば、実行ファイルからソースコードを作ることは出来ません。方法2に書いてらっしゃる通り、今の機能を分析してもらって、新たに構築ですね。
他の方法としては、今のシステムは残したまま、それに連携するシステムを別に作って、追加したい機能だけ作る、ということも考えられます。
市販ソフトに足りない機能だけを別システムで作って連携させるのと同じ考えです。
例えば、今のシステムがデータベースにデータを登録するようになっているのであれば、新たに作ったシステムからそのデータベースを参照して、帳票を出力する、などですね。
ただし、それが可能かどうかは、今のシステムの作りと、追加したい機能の内容によります。
また、ほぼ確実に、使い勝手はイマイチになります。
しかも、古いシステムということは、サーバOSも古いのでは?
もしそうなら、セキュリティ面も心配です。
古いシステムが新しいOSでも動作するようなら良いのですが、そうじゃなければ、上記した「他の方法としては」はお勧めできません。
    • good
    • 1

古いWEBサイトってだけじゃわからないなあ。

サーバーサイド、クライアントサイドで、それぞれどういう技術が使われているのか。0から新規開発した方が安いのか既存システムの改修の方が安いのかも皆目わからない。そういった提案してくれと外部委託するのも手かな。データ登録かあ。DBも利用しているのかな。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>古いWEBサイトってだけじゃわからないなあ。サーバーサイド、クライアントサイドで、それぞれどういう技術が使われているのか。

うーん、そういわれても私もわからないですね。バリバリのITの専門家じゃないので。単に「ちょっとコンピュータ使える人」ぐらいなんで。

>0から新規開発した方が安いのか既存システムの改修の方が安いのかも皆目わからない。そういった提案してくれと外部委託するのも手かな。

社長がケチなので、
「もともとの機能が100だとして、追加機能は10から20ぐらいだろ?
 だったら10から20のお金しか出さないからな。
 何か文句あるか?
 それともお前の給料から差っ引いてもいいか?」
という人なので、
0から作り直したとしても、作り直しのお金は出してくれないでしょうね。
ま、世界中を探して、10から20のお金でやってくれる業者を探すしかないですね。

>データ登録かあ。DBも利用しているのかな。

データ登録はできます。
ただ、DBというのが何を、どこまで指しているのか、がちょっとわかりませんね。
登録したデータをそのまんま引っ張り出している程度です。
それを指して
「登録したデータがそのまま出てくるなら、それはもはやDBだよ!」
という人もいれば
「いやいやそんなのは単にスプレッドシートと呼ぶ程度のものだ。
 DBってのはもっと高度なものだ」
という人もいます。
DBと言われましても、その人その人ごとの定義やイメージがありますからIT用語って使うのが難しいですね。

お礼日時:2022/06/08 14:08

既存部分の機能解析を行って


必要な追加機能を組み込んで・・・・・

ってやるくらいなら一から作り直した方が結局安くて良いものが出来ると思いますよ

みずほ銀行のシステムトラブルのような姿は見たくないでしょ?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

仰る通り、みずほ銀行みたいにはなりたくないですね
というか、そこまで大きな会社でもないしそこまで大きなシステムでもないんですけどね。

お礼日時:2022/06/08 14:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!