プログラム開発カイハツ説明セツメイ 作者サクシャ原沢ハラサワ信道ノブミチ
基幹キカンシステムとばれるシステムのプログラム開発カイハツツギ方法ホウホウでプログラムを開発カイハツします。
まず,開発カイハツ対象タイショウとするシステムの範囲ハンイ決定ケッテイします、たとえば、仕入シイレシステムです,
対象タイショウまった時点ジテンで、そのシステムに必要ヒツヨウ情報ジョウホウ整理セイリします。
仕入シイレシステムでは、伝票デンピョウ番号バンゴウ品目ヒンモク単価タンカ数量スウリョウ仕入シイレサキ日付ヒヅケトウアガられます。
ツギにその情報ジョウホウ性格セイカク調シラべ、リレーショナルデータベースとばれるウツワ
テーブルとばれる2次元ジゲンヒョウカタチ記憶キオクさせます。
ここで注意チュウイすべきテンは、情報ジョウホウ残念ザンネンながら2次元ジゲンヒョウでは正確セイカクには表現ヒョウゲンできません、
便宜的ベンギテキに2次元ジゲンヒョウにするのでタダしいコタはありません、ただし、2次元ジゲンヒョウにすることで
プログラムの構造コウゾウ簡単カンタンにすることができ、結果ケッカとして、かりやすシステムを構築コウチクできます。
では、調シラべてみます,
まず、伝票デンピョウ番号バンゴウですが、たとえば仕入シイレ伝票デンピョウ印刷インサツされている番号バンゴウ使用シヨウする方法ホウホウや、
今回コンカイのシステムでアラたに連番レンバンをふる方法ホウホウ入力ニュウリョクミスをなくすためチェックデジットを付加フカ
するトウ色々イロイロ方法ホウホウからどの方法ホウホウ採用サイヨウするか決定ケッテイする必要ヒツヨウがあります。
今回コンカイは、連番レンバン方式ホウシキケタ数字スウジにチェックデジットを付加フカした10ケタ数字スウジとします。
ツギ品目ヒンモクですが、注意チュウイすべきテンはテーブルの場合バアイ最大サイダイ桁数ケタスウカナラ必要ヒツヨウになります、
制限セイゲンにするとシステムがムズカしくなるので、可能カノウカギりの最大サイダイ桁数ケタスウでをめる必要ヒツヨウがあります、
一般的イッパンテキには品目ヒンモクコードをミジカ名前ナマエ今回コンカイは15ケタとします)で設定セッテイし、
それにナガ名前ナマエ品目ヒンモク名称メイショウ方法ホウホウ使用シヨウします、今回コンカイはこれを30ケタとします。
これはオナ名前ナマエモノ存在ソンザイした、または名称メイショウ変更ヘンコウされた場合バアイでも唯一ユイツ無二ムニ実現ジツゲンするタメです。
国民コクミンソウ背番号セバンゴウセイ話題ワダイになりましたが、これも唯一ユイツ無二ムニ実現ジツゲンするタメのものです、
コンピューターにとってはほぼ永遠エイエンわらないであろうコードとぶものを設定セッテイする必要ヒツヨウがあります。
ツギ単価タンカですが、単価タンカ都度ツドまる方法ホウホウもありますが、一般的イッパンテキには仕入シイサキ単位タンイまっているので
今回コンカイ品目ヒンモク仕入シイサキベツ単価タンカモノとし、単価タンカ整数セイスウケタ小数部ショウスウブケタとします、
また、途中トチュウ単価タンカわるコト想定ソウテイし、開始日カイシビ(8ケタ終了日シュウリョウビ(8ケタ)をつものとします。
数量スウリョウは11ケタ整数セイスウで、小数部ショウスウブはないものとします。
仕入シイレサキは6ケタ仕入シイサキコードに、30ケタ仕入シイサキ名称メイショウコトとします。
これも社名シャメイ変更等ヘンコウトウ名称メイショウ変更ヘンコウされても唯一ユイツ無二ムニ実現ジツゲンするタメです。
けはネンツキで8ケタとします。
そこでまったことを整理セイリしてみます
(1)伝票デンピョウ番号バンゴウ 10ケタ数字スウジ(ただし、10けたはチェックデジットで、9ケタ連番レンバンでとってゆく)
(2)品目ヒンモクコード 15ケタ文字モジ
(3)品目ヒンモクメイ  30ケタ文字モジ
(4)単価タンカ 整数セイスウケタ小数部ショウスウブケタ数値スウチ
(5)開始日カイシビ 8ケタ文字モジ
(6)終了日シュウリョウビ 8ケタ文字モジ
(7)数量スウリョウ 11ケタ数値スウチ
(8)仕入シイサキコード 6ケタ文字モジ
(9)仕入シイサキメイ   30ケタ文字モジ
(10) 8ケタ文字モジ
ツギに、テーブルの設計セッケイをします、テーブルはEXCELヒョウのようなギョウレツ構造コウゾウですが、
レツにはそれぞれの項目コウモク配置ハイチし、情報ジョウホウケンが1つのギョウとして登録トウロクします。
テーブル設計セッケイ基本キホンはそのテーブのギョウ識別シキベツできるキーとなる項目コウモク複数フクスウ
とそのキーに従属ジュウゾクする項目コウモクアツめて1つのテーブルとします。
さらに、ギョウは、可能カノウカギり、発生ハッセイにすべてのレツ完成カンセイし、ほぼ永久エイキュウ修正シュウセイがかからない
構造コウゾウ理想リソウとなります、実際ジッサイには容量ヨウリョウ関係カンケイ永久エイキュウにはてないので、ある期間キカン
削除サクジョする必要ヒツヨウはあります。
データの性格上セイカクジョウ伝票デンピョウのように日々ヒビアラたな情報ジョウホウ発生ハッセイするものを累積ルイセキするテーブルと
仕入シイレサキコードのように、ほぼ変化ヘンカスクないテーブルがります。
それではテーブルを設計セッケイします。
まず、簡単カンタンなところで変化ヘンカスクないコードにカンするテーブルです
I言語ゲンゴではテーブルの場合バアイ先頭セントウにパーミッション最後サイゴジツヒョウける必要ヒツヨウがあります。
ナオ項目コウモクメイにも先頭にパーミッションをける必要ヒツヨウがあり、インストール時点ジテンではAAが存在ソンザイします。
(1)AA品目ヒンモクジツヒョウ;キー=AA品目ヒンモクコード:AA品目ヒンモクメイ、AA廃止ハイシ
廃止ハイシは、該当ガイトウ品目ヒンモク廃止ハイシされた場合バアイに1をてるコトとします)
(2)AA仕入シイレサキジツヒョウ;キー=AA仕入シイレサキコード:AA仕入シイレサキメイ、AA廃止ハイシ
(3)AA単価タンカジツヒョウ;キー=AA品目ヒンモクコード、AA仕入シイレサキコード、AA開始日カイシビ:AA終了日シュウリョウビ、AA単価タンカ、AA廃止ハイシ
これはあくまでも一例イチレイで、その企業キギョウ状況ジョウキョウによりキーとなるべき項目コウモクタトえば品目ヒンモクコードのみの
場合バアイもあります、このように、再度サイドいますが、タダしいコタえはありませんので、状況ジョウキョウオウじて
臨機応変リンキオウヘン構造コウゾウえる必要ヒツヨウてきます、これが、システムツクりにおいては頻繁ヒンパンきます、
つまり、システムツクりは最初サイショから完璧カンペキ設計セッケイされたハシやビルをてるコトはほとんど不可能フカノウです、
最初から完璧なシステムは残念ながら出来ません,子供コドモみ、ソダてるような方法ホウホウります、
そのテンで、プログラムはタンなる細胞サイボウであり、ツネに、新陳シンチン代謝タイシャのようにわってゆくコト大事ダイジ
ヒトつのプログラムがハヤ簡単カンタンツクれるコト一番イチバン大事ダイジです、それを出来デキるようにするためにI言語ゲンゴ
ツクったワケです。
ツギ累積ルイセキケイのテーブルを設計セッケイしますが、今回コンカイ伝票デンピョウ発行ハッコウし、その伝票デンピョウ回収カイシュウする方式ホウシキとし
仕入シイレ計画ケイカク仕入シイレ実績ジッセキの2のテーブルとします。
(4)AA仕入シイ計画ケイカクジツヒョウ;キー=AA伝票デンピョウ番号バンゴウ:AA品目ヒンモクコード、AA仕入シイレサキコード、AA単価タンカ、AA数量スウリョウ、AAネンガツ、AA廃止ハイシ
(5)AA仕入実績ジッセキ実表;キー=AA伝票番号:AA品目コード、AA仕入先コード、AA単価、AA数量、AA年月日
さらに最終サイシュウ伝票デンピョウ番号バンゴウ記憶キオクするためのテーブルが必要ヒツヨウですので、いておきます。
(6)AA最終サイシュウ伝票デンピョウ連番レンバンジツヒョウ;キー=AAキー;AA番号バンゴウ
とりあえず、これくらいでプログラムをツクせるはずですので、ツギにプログラムのツクカタ簡単カンタン説明セツメイします。
I言語ゲンゴではプログラムを簡単カンタンにするタメ、まず最初サイショ項目コウモクカンするデータ辞書ジショツクります。
ツギにデータ辞書ジショ使ツカってテーブルをツクります、その、テーブルを使ツカってプログラムをツクります。
プログラムは基本キホン部分ブブン出来デキますが、実際ジッサイにはそれに修正シュウセイクワえて完成カンセイとなりますが、
再度サイドいますと、最初サイショ出来デキたシステムはその半分ハンブン使ツカモノになりません、
それを、何度ナンド手直テナオしし、成長セイチョウさせてハジめて完成カンセイとなりますのでアセらずツク必要ヒツヨウがあります。
以上イジョウ