月別アーカイブ: 2016年10月

データベースのテーブル操作(SQL)


SQL(Standard Query Language)は、データベースのテーブル(表形式のデータ集合体)を操作するための言語です。
COBOLに限らずデータベースを利用するためには、SQLを使用することになりますので、基本的なことだけ解説しておきます。
データベースは、DBMS(データベースマネジメントシステム)というデータを管理する仕組みを指す場合と、テーブルの集合体を指す場合があります。
例えば、販売管理という名前のデータベースに顧客テーブル、商品テーブル、受注テーブル、売上テーブルなどを作成する場合が後者です。
プログラムは、販売管理データベースに接続すれば、販売管理データベースに作成された全てのテーブルの操作が可能となります。
データベースは、テーブルを作成するための入れ物のようなものです。
DBMSは、データベースやテーブルを管理する仕組みです。
個々のプログラムは、テーブルの操作をするためにDBMSに要求を出すことによって、DBMSがテーブルの操作を行います。
この要求はSQLを使用することによって実現されます。
テーブルは、EXCELなどと同じ表形式のデータ構造になっています。
例えば、以下のような売上テーブルがあると、お客様番号が列、登録されたデータが行ということになります。
このような構造のデータの集合体をテーブルといいます。
テーブル自体はシンプルなものですが、SQLは多種の操作があり、組み合わせも可能です。
テーブルの参照、登録、更新など基本的な操作を理解していれば十分でしょう。
SQLを詳しく解説しているサイトも多数ありますので、有効なサイトを2、3ピックアップしておいて必要なときに参照すればよいと思います。

SALTBL(売上テーブル)

お客様番号 売上年月 商品番号 単価 数量 金額
CUST01 200001 A0000001 1000 10 10000
CUST01 200001 B0000001 2000 10 20000
CUST02 200001 A0000001 3000 10 30000

SEの仕事/コード設計


【コード設計】
企業の業務では、色々なコードを使用しています。
身近なところでは、銀行コード、支店コード、口座番号、郵便番号などはコード化された項目です。
住所をコード化した郵便番号は、郵便物を正確に自動で仕分けする事ができるため、人件費の省力化に大きな効果を発揮しています。
最近では、マイナンバーなども個人をコード化した項目といえます。
これで利便性が良くなるかはなんともいえません。
いまだになにをするのも印鑑ですから利便性に欠けるし、非効率だと思います。
個人的には住基カード(住民基本台帳カード)にマイナンバーを付加して利用範囲を拡大していけばいいと思っています。
コードとは、特定のデータについて識別したり、分類するために利用されます。
コードを利用することによって、データが簡素化され整理が容易になります。
分類、照合、検索、抽出など頻繁に発生する業務処理においても重要な要素の一つとなります。
プログラムのデータ処理でも、コード化された項目を中心として処理が行われています。
何らかの目的でデータの調査をする場合でも、コード化された項目をメモしておけば、後は何とかなるケースも多く見られます。
外部システムとのデータ連携においても、容易にインターフェースをとることが可能になっています。
これらのことから、コード設計はシステム設計において重要な仕事といえます。

プログラミングの仕事


【プログラミングの仕事】
 
プログラミングの仕事は、主にプログラム作成、テスト実施要領作成、テスト実施に分類されます。
プログラミングの仕事では、この一連の仕事を、漏れなく正確に早く実施することが要求されてきます。
 
1.プログラム作成
 
プログラム作成は、詳細設計書に記載された処理条件に基づいて、プログラムのコー
ディング(プログラム言語で記述)をすることです。
詳細設計書は、どのような条件でプログラムを作成すればよいのかを記述したものです。
企業で仕事に従事している場合、過去に作成した類似のプログラムが多く存在しているため、既存のプログラムをコピーして修正することになります。
新規に作成するプログラムの条件に合わない部分を削除したり、修正して新しいプログラムを作成していきます。
どの企業でもコーディング基準が定められていて、基準を守って仕事をすることが必要です。
一度作成したプログラムは、その後何年、何十年と稼働を続けるため、時間の経過とともに多くの人が修正を行うことが普通です。
そのために誰でも理解できるようにわかりやすく作ることを要求されます。
ただ仕事としては新規のプログラムを作成するよりも、業務要件の変更による既存のプログラムの修正作業のほうが多くなってきます。
そのためにはプログラムを解読するスキルが必要になります。
さらにプログラム開発作業では、利用されている開発ツールの使用方法を覚える必要があります。
開発ツールの利用方法は、難しくはありませんが多種存在するため、その都度習得するしかありません。
難しそうに感じるかもしれませんが、プログラム作成技術の習得は実務を経験して、ある程度量をこなせば短期間で身に付けることが出来ます。
 
2.テスト実施要領
テスト実施要領は、テストを実施するための手順、方法、ケースなどまとめたものです。
テストケースのみを記載する場合もあります。
テストケースは、プログラムの全てのロジックを動作させる条件を洗い出して、条件と想定結果を記述したものです。
 
3.テスト実施
ここでいうテストは、単体テスト、UT(UnitTest)と呼ばれるテストです。
テストの範囲によって、使用するサブプログラムと連動しないテストと、連動したテストに分けらます。
いずれか一方のテストを実施するケース、両方を実施するケースがあります。
サブプログラムと連動しないテストについては、テストツールを利用して実施することになります。
テストツールは数種類ありますが、どれか一種類利用すれば、あとは似たり寄ったりといったところです。
サブプログラムと連動させたテストについては、テストツールを利用しないため動作環境を整備する必要があります。
テストの目的は、妥当性、網羅性について検証、評価することです。
妥当性は、処理が正しく行われて、想定する結果が得られることを確認することです。
網羅性は、記述されたロジックが全て動作することを確認することです。
要するに、全てのロジックが動作して、想定する結果が得られることを確認することがテストの目的です。
テストケースに記載された条件を満たす入力データを準備して、テスト結果が想定通りとなることを確認するで目標を達成することができます。
実施したテスト結果は、テストケース毎にまとめたものが成果物として保存されます。
テスト結果は、入力と出力に分けて整理されます。
入出力の結果は媒体がファイル、データベース、画面、ログなどがあります。
結果の取得方法は、媒体によってツールを使用したり、ハードコピーであったり様々です。