長く、読みにくいソースを解読する方法

このQ&Aのポイント
  • 長く、読みにくいソースを解読する方法についてまとめました。
  • ACCESSで作成された販売管理システムのメンテナンスを行っていますが、COBOL等で作成された旧システムの名残が多く、解読が困難です。
  • 流れ図を作成したり、簡略化したコードを作成することで、ソースの全体の流れを把握することが効果的です。仕様書をじっくり読んで理解することも重要です。
回答を見る
  • ベストアンサー

長く、読みにくいソースを解読する方法

ACCESSで作成された、販売管理システムのメンテナンスを行なっています。 COBOL等で作成されたシステムを、ACCESSに移行したもので、旧システムの名残が多いこともあり、大変みにくくなっています。 例えば、 ・一つの手続きに、1000行以上ある(キー操作と、DB処理が含まれている) ・その他、同じ処理が数カ所かかれている ・階層がふかい(最大6階層ほど) このような場合のソースを解読するための、いい方法はないでしょうか。 私は、流れ図を作成したり、Excel等で、疑似コードのような簡略化したコードを書くことにより、全体の流れをつかんでいます。これは、効果的と感じています。また、仕様書をじっくり読むことも効果的と思います。 他にいい方法はないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ソースをテキストに落として、DFなどでファイル比較を行いつつ、 別関数などを作成してソースを簡略化する。 実際にそれを使うことはないにしろ、本当に複雑なものならそんな感じでいじっちゃうのも手かも知れません。

ryusei2
質問者

お礼

少し大変ですが、その方が確かですね。 ありがとうございました。

関連するQ&A

  • Excelのマクロ、vbaの解読方法について

    今回、他の人が作ったExcelを解読することになりました。 Excelには沢山のマクロやvbaが使われているのですが、自分ではこれらを使ったことがなく、どういった処理を行っているのかを追うのにどこから見ていけば良いのか検討がつきません。 解読する際には、どういう手順で追っていけば良いのか教えてください。 ちなみに、vbaはaccessで少しだけ見たことがある程度、マクロは学校で基礎的なことを教えてもらった程度の知識しかありません。 宜しくお願いします。

  • COBOLについて

    COBOLの開発を仕事ですることになったのですが、 仕様書がない為、解読に時間がかかります。 もし、何か解読の補助となるような物があれば 教えていただきたいです。 ※「階層構造図作成プログラム(MODULEC) 」が便利そうでしたが 「エラー : ペタルの文法エラー : 空のファイル」となり作成できませんでした。 AS/400でソースを作成しています。そこから、csvファイルで ソースをローカルに保存して何か補助になるツールを使用したいと 考えております。

  • ソースコードの読み方

    ソースコードの読み方 いま基幹システムのプログラム開発の仕事をしてるんですが、 今度の仕事ではソースコードを読んで、 プログラム全体を理解することが求められてます。 で、質問なんですが、ソースコードと詳細設計書を読んで そのプログラムの一個一個の処理とその目的を、 完全に理解するにはどうすれば良いでしょう? いま現場にはそのシステムの設計についての知識のある人はおらず、 (したがって人に聞くことは出来ない。) 前任者から一切の引継ぎを行えず、 手元の資料はあくまでソースコードと詳細設計書のみです。 おまけに、この作業担当を一人でやらなければなりません。 したがって、 ソースコード解読のノウハウを伝授して頂きたいです。 いまのところ、ソースコードの処理の流れ自体は プログラムの概要説明等からなんとなく掴めるのだが、 (そんなの当然ですが) ある一つの処理について、 その処理をしたところでそれがどんな要件を満たしているのか? ってことがわからないことがよくあります。 例えば、いま見てるプログラムでは、 タイムスタンプのためのテーブルを読み込んで、 処理の制御をするといった事があるのですが、 いまの能力だとそのテーブルの時刻が、 何を意味しているのか掴む事が出来ないとか、 そういうこまごましたナゾが沢山あって、それらが積み重なって、 プログラムに対する理解というのが不完全なものとなっています。 コーディングの技術的な事柄に関しては、 ほかの現場にいる先輩に聞いてみたり、 何とか書物等で問題を解決するものという前提で、 どのようにすればプログラムの詳細な業務要件を掴む事が出来るか というところまわりをご教示頂けると幸いです。 回答をお待ちしています。 よろしくお願いします。

  • SQLiteに関する質問

    JavaとSQLiteを使ったアプリケーションを作成しています。 そこで何点か疑問に思う事がありましたので、質問させてください。 1. エラーの種類の判定について SQLiteは他のDBと異なり、エラーコードを返さないと聞きました。 その場合、エラーの種類はどのように判定するのでしょうか。 2.バインド COBOLなどでは、データベースにバインドと言う処理を行いますが、SQLiteではバインドの機能はあるのでしょうか。 以上よろしくお願いいたします。

  • 小さなシステムを構築する方法

    何百万が使うような大規模なシステムばかり経験して来ましたが、今ほんとに駄菓子屋のおばちゃんが使うようなどうでもいい、小さなシステムを頼まれて作ろうとしています。 エクセル版の試作品は、相手がAccessとExcelすら持ってなくて却下、VB6.0で試作品を作ったんですが、仕様の古さやVistaでの未対応問題で頭を抱えてます。VB2005は使いづらくて、今奮闘中です 大規模では、Cobol+Oracle+JP1ばかりで、小規模では言語・DB・帳票など、何を使いますか?そもそもデータ量が30行くらいで、DBを使う必要あるかなと。ほんとに小さなシステムで、帳票はどうするのみたいな・・・まったく見当がつかなくて。よろしくお願いいたします。

  • COBOLコンパイラ

    COBOLについてご教授いただきたく、ここに質問させていただきます。 自宅環境でCOBOLを使用しプログラムを作成したいのですが、必要な環境が良くわからずにおりました。私が望む環境として 「COBOLでDBにアクセスしたい」  →プリコンパイラとしてOracleのPro*cobolのようなものがほしい です。Open-cobolのようにフリーであれば助かりますが、多少の出費は問題ありません。  使った環境としては富士通のNETCOBOLがとても使いやすかった(Eclipseを使い慣れているせいもありますが)ので、似た環境を望んでいます。  自分はこうしているという方がいましたらば、ぜひその環境を教えていただけませんか?  よろしくお願いいたします。

  • アクセスの設定方法をどのようにすれば可能になるのでしょうか?

    Access2000で作成したDB  PC(1):DB のファイルが入っている端末  条件 OS:windows 2000 DB のファイルが入っているフォルダを共有 に、PC(2),PC(3):ネットワーク上の端末  条件 OS:windows Me からアクセスしDBを起動・更新したいのですが、出来ません アクセスの設定方法をどのようにすれば可能になるのでしょうか?よろしくお願いします 但、PC(1)のDBの入っているフォルダに PC(2)からアクセスは できます PC(3)からアクセスすら出来ません 複数台の端末からACCESSで作成したDBを起動するには どのようにすれば いいのでしょうか?

  • データベースを実践する方法

    よろしくおねがいします。 mySQLを学習中です。データベースの専門書も何冊かよんできていますが、実務経験のない私にはどうも実感や深い理解ができません。 そこで、テスト環境を作って、インデックスの効果や処理が煩雑になったときのトラブルを1つでも多く経験したいと思いました。 ご教授ねがいたいのは、 1.大規模データベースの作り方 と 2.そこへのアクセスを多くする(実験をする)方法 です。 2.については自分のみのアクセスでシステムトラブルを起こすのは難しいのではと思い、ネットに公開する形でアクセス数を稼いだ方がテスト環境的にはよいのではと考えての質問です。ですが、どういうサイトにすればいいのか思い至りません。単に閲覧だけやselect するだけの場合と、insert文発行等をする場合ではシステムトラブルの確率は全く違いますでしょうか?それによってもどういうサイトにすべきかが変わってきます。 1.については、どうやって多量のデータを作成すればいいのか見当がつきません。2.との兼ね合いがあってシステムトラブルの可能性を上げないといけませんが、単に100行程度のデータを100×100×100にコピペして作成する程度では結局100行のデータを処理するのとあまり変わらなくなってしまうのではと悩んでいます。 1、2についてご教授おねがいします。

    • ベストアンサー
    • MySQL
  • 集計のプログラムを組むには・・・・

    以前はCOBOLでプログラムを作っていましたが、今はリタイアして管理的な仕事をしています。 VBやACCESSの本は読みましたが理解は十分ではありません。 こんな私ですが、学ぶ努力はいといません。 一定期間の売上データを商品コードをキーに集計するプログラムをパソコン(WindowsXP)で作ろうと思っています。  売上データはサーバにあります。商品マスタもありますが、売上データより新規に作りたいと考えています。 COBOLであれば、処理イメージを描けるのですが、VBやACCESSではどのようにすればいいのでしょうか? または、他の言語ありましたら紹介していただきたいと思います。

  • DB構成<キーの考え方>

    こんにちは。 現在Oracle9iにてとあるシステムのDB構成を考えております。その際のキー項目の考え方で悩んでおります。 私自身AS/400などをずっとやっていましたので、キー項目の考え方が「データが一意になるまで。」という考え方をしていました。 しかし、今回DBを作成したところ「キー項目が多すぎる」と言われ、DBでの処理に負担がかかりすぎるし、SQLで取ってくるからあってもなくてもいいと注意されました。 そこで、「キー項目」についての考え方<効果的なつけ方など>を聞いたのですが、あまり明確な答えが返ってきませんでした。 みなさんはキーを作成する時に、どのようなことに注意されていますか?また、どのようなキーのつけ方をしたら効果的になるのでしょうか? あまりにいきなり頼まれたので(叩きでいいって言ったのに…)、知識も不十分で申し訳ないですが、困っております。

専門家に質問してみよう