船乗りの航跡

地球の姿と思い出
ことばとコンピュータ
もの造りの歴史と生産管理
日本の将来

コンピュータ---アプリの開発

2011-06-11 | ことばとコンピュータ
ここでは、コンピュータのアプリケーション、特に業務システムの開発について大まかに説明する。業務システム以外の「アプリ」の開発もほぼ同じ手順で開発する。

1.概要設計
業務システム、たとえば、生産管理システムを開発したいとき、先ずシステムの構想から始める。

1)構想設計
システムの目的、対象、物理的な範囲、構造、開発方法、完成時期を大まかに描く。これは、システムのラフスケッチの段階である。

2)現状分析と要件定義
次に、システム構想を実現するために、業務の現状を分析する。たとえば、工場の現状調査では、管理職からではなく業務担当者からありのままの作業内容を聞取り調査する。

調査の結果を分析して、現状とシステム構想とのギャップを明らかにする。そのギャップを解消して、さらにシステムの目的を達成するためには何が必要かを明確にする。これを要件定義と言う。この要件定義を技術、運用、経済性、3つの観点でシステムの実現性を検証する。

日本の場合、なぜか現状分析が甘く、システム稼動後に「想定外の事故」で重大なトラブルを招くことが多い。

アプリが業務の合理化システムの場合、下(業務担当部門)から上(経営陣)にシステム開発の承認を求める。メリットが開発費より大きいとき、開発は承認される。

戦略システムの場合、開発費の見積りは可能だが、メリットの推定が困難な場合がある。無理にメリットをはじいても机上の空論のケースがある。このような場合はトップダウンの形でシステムを開発する。ただし、日本の大企業では、経営陣のリーダーシップが必要なトップダウンのシステムは極めて稀である。この道40年で、日本で2件だけ経験したが、いずれも成功した。

2.システム開発と導入
システム開発は、主にシステムエンジニア、プログラマー、業務改善担当者(コンサルタント)の仕事になる。

1)基本設計
ハード、コンピュータ技術、プログラミング言語、データベースソフト、通信技術などを具体的に決定、システムの論理構造とデータベースの論理構造を設計する。このとき、再びシステムの技術、運用、経済性を正確にチェックする。

この段階でシステムの出来不出来が決まる。もし問題があれば、躊躇せず振り出しから検討する。躊躇すると運用とコストの両面に禍根を残す。分かっているが、失敗するケースは意外に多い。

2)詳細設計
基本設計(書)にもとづき、プログラムを詳細に設計する。データ入力画面や帳票を詳細に設計する。これらの設計書をプログラム仕様書と言う。

3)プログラム作成
仕様書にもとづいて、プログラムを作成する。この作業を、プログラミングまたはコーディングと言う。この作業は、社外や海外のプログラマーに委託することもできる。1990年代から、在宅フリーのプログラマー(経験のある主婦など)や海外に委託するケースが目立ち始めた。正しい日本語、または正しい英語で仕様書を書かなければプログラマーが誤解する。逆に、曖昧な仕様書はプログラマーに嫌われる。

プログラマーは、自分が作成したプログラムをテストして仕事を完了する。このテストを単体テストと言う。

プログラム作成と平行して、業務の改善と新システムの操作マニュアルを準備する。同時に、新システムに必要なデータを整備する。

業務改善は、たとえば工場の場合は、工程と運用ルールといったハードとソフト両面の改善を意味する。また、これらは自社だけでなく取引先も含む改善である。

最後に、単体テストを終えたシステムの連動させてチェックする。これを連動テストと言う。

4)導入
連動テストを終えて、新システムを実地に導入する。「一斉切替え」「新旧システムの平行切替え」またはこれらの組合せで新システムを導入する。「平行切替え」は、新旧システムを運用するので業務担当者の負担は大きい。

大きなシステムや金銭処理がからむシステムでは、危険な「一斉切換え」を避ける。会計処理がからむ場合、新旧システムの月末と年度末の決算結果を検証するため、数年にわたる移行も珍しくない。何があっても、トラブル回避が最優先事項である。

ユーザー教育とシステムの検証を終えて、新システムへの移行を完了する。

次回は、約1ヶ月後にグローバルシステムの概要とメリットを紹介する。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

コンピュータ---言語とシステム

2011-06-08 | ことばとコンピュータ
1.コンピュータ
ここでは、コンピュータシステムの基礎知識を整理する。

コンピュータはハードウェア(略してハード)とソフトウェア(ソフト)でできている。言い換えれば、

 コンピュータ=ハード+ソフト

といえる。

上の式で、ハードは、コンピュータそのものである。ノート型パソコンでは、パソコン本体、あるいは液晶画面やキーボード、また、パソコン内部の電子部品がハードである。ハードは手に取ったり、触って認識できる物である。

他方のソフトは、ワープロソフトやインターネットソフト、また液晶画面を制御するプログラムなどである。ソフトは手に取ったり、触って認識できないものである。

次にソフトについて、少し詳しく説明する。

2.ソフトウェア
コンピュータのソフトは、次のようなものに分けることができる。
 
 ソフト=オペレーティングシステム+プログラミング言語+アプリケーションシステム

上の式で、オペレーティングシステムとプログラミング言語を総称して、コンピュータ言語という。量的に見て、プログラミング言語は代表的なコンピュータ言語といえる。アプリケーションシステムは、ワープロや表計算ソフトやゲームである。

1)オペレーティングシステム(OS)
オペレーティングシステムはOSと略称する。OSはコンピュータのハードを制御システムである。大型汎用コンピュータやサーバー(比較的小型の汎用機)やパソコンにもそれぞれのOSがある。Windowsは、マイクロソフト社のパソコン用のOSである。

OSは、プログラミング言語の命令をハードに伝えたり、ハードを制御するソフトである。OSの説明は専門的になるので、ここでは省略するが、詳細はWikipedia(ウイキペディア---フリー百科事典)などを参照されたい。

2)プログラミング言語
プログラミング言語は数式や人間の言語に近い言語で、人間の考えをOSを介してコンピュータに伝えるソフトである。

1958年頃に開発されたプログラミング言語、FORTRANは今日も利用されている。1960年代には、10種類程度だった言語も、今日ではJava(ジャバ)、C言語、C++、Basic(ベーシック)など、200種類以上に増大した。もちろん、プログラミング言語も人間の言語と同様に、ハードの進展と共に世代交代があり、すでに使われなくなった言語や新しい言語に吸収されたものもある。

1980年頃からFORTRANやCOBOLで漢字などの日本語処理が可能になった。1990年代には、国、地域、言語、習慣の違いを反映する世界共通語としてのプログラミング言語の国際規格が充実した。日本の漢字や¥記号などのコード体系の標準化もプログラミング言語の国際規格と同時に進展した。

3)アプリケーションシステム(応用システム/業務システム)
アプリケーションは応用という意味の英語である。アプリケーションシステムは、単にアプリケーションまたは「アプリ」と略称する。

アプリはコンピュータ言語で書かれたソフトで、その種類は数え切れない。表計算ソフト、ワープロソフト、お絵書きソフト、ゲーム、あるいは企業の給与計算、会計処理、販売や生産管理システム、銀行のATMや金融システム、交通機関や電気ガスなどの公共システムなどはアプリである。アプリは、個人使用、企業内使用、企業間や国際的な使用など、その範囲は広い。

特に、給与、会計、販売・生産管理システムなどのアプリを業務システムと呼ぶ。業務システムは、自社で開発するケースが多いが、会計システムなどは、市販ソフトを購入するケースもある。ワープロ、表計算、ゲームなどは市販ソフトを購入するのが一般的である。

3.データ
コンピュータには、ハードとソフトが必要とよく言われる。しかし、ハードとソフトだけでなく、データがあってはじめてコンピュータは役に立つ。

給与システムでは、社員名、社員番号、所属、現在の給与などのデータがあってはじめて給与の計算や振込みができる。また、メールソフトにメールアドレス(データ)や文章(データ)を入力すれば、e-mailを送信できる。

コンピュータの中身で一番大切なものはデータであり、さらに、コンピュータやパソコンに蓄積したデータの機密保護とバックアップも必要になる。

次回は、システムの開発、特にアプリの開発手順と管理を説明する。さらに、アプリの開発手順を踏まえてグローバルシステムの開発に進む。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ことば(5)---世界共通語:自然科学、音楽、交通ルール、IT(情報技術)

2011-06-04 | ことばとコンピュータ
7.世界共通語
今日の世界標準規格(ISO)では、459の言語コードを定義している。これら459の言語は、アイヌ語、中古日本語(古文)と日本語の3つを含んでいる。この459の言語に方言などを含めると、世界の言語の数は、千数百あるいは五千以上などと諸説紛々、今では世界の言語の数は正確に数え切れないというのが定説である。

言語の数は数え切れないほど多いが、さらにわれわれの身近には、人間の言語に近い表記法やルールがある。さらに、コンピュータに命令を伝える200種類以上のプログラミング言語(=コンピュータ言語)もある。それらを、ここでは世界共通語と呼んで、大きく分けてそれぞれの内容を要約する。

1)自然科学
今日の自然科学の知識は、世界共通になっている。数学、化学、物理学、生物学、医学、地理学、天文学などは、古代ギリシャから体系的に発展してきた学問である。数式、化学式と構造式、星座、暦などは世界共通である。先に述べたが、自然科学の専門語、たとえば医学、天文や植物の学名はラテン語名が付けられる。ラテン語を基本語とすれば、学名は世界共通語として通用する。つまり、学名の一元管理が可能になる。

また、代数学の数式は、読み方は日本語と英語では多少異なるが、論理の展開、言い換えれば数式は日本語でも英語でも同じである。代数学においては、数式が主役で言語は脇役になる。具体例では、y = ax + bは、日本語ではyイコールaxプラスbと読み、英語ではy equals ax plus bと読む。読み方は多少異なるが、数式は唯一つである。

経験論であるが、アメリカの日本人留学生は理数系の試験では、ことばのハンディキャップの影響が少なく、好成績を取りやすいといわれている。

2)音楽
音楽を記録する楽譜、特にヨーロッパ起源の五線記譜法は、国際的に広く使われている。作曲家と演奏家や歌手とのコミュニケーションは、五線紙に並ぶ音符で成立する。五線記譜法も一つの世界共通語といえる。多くの日本の音楽家が、世界のトップレベルの舞台で大きく活躍している。それは音楽という世界共通語が創り出す芸術である。

五線紙で表現できない音楽や芸術品は、別世界に生きることになる。

3)共通ルール
数式や五線紙の楽譜の他にも、世界共通のルールがある。たとえば、海上衝突予防法は船や水上機の交通ルールである。海の交通ルールは、国際規約が決める航法であり、この世界共通のルールを守らなければ、海上交通は混乱する。

船や飛行機の航法だけでなく、やや専門的になるが共同海損など、商法や保険の国際法もある。また、ヨーロッパの通貨をユーロに統合したのは、経済活動の共通化の例である。後に出てくるグローバルシステムは、この通貨統合がシステム開発のきっかけだった。

さらに、人の基本動作、たとえばナイフとフォークの使い方、食事マナーも広義の共通ルールといえる。商船大学でも、卒業生が世界に出たとき恥をかかない様にとプリンスホテルで半日の食事マナーの講習があった。世界のどこでも通用するあのホテルでの教育には、今も感謝している。近年、日本料理が世界に広がっている。西洋の食事マナーに通じる「箸の禁じ手(約30の禁止事項)」も、やがて国際ルールになるかも知れない。

国籍や人種に関わりなく、人々が知り守るべき世界の共通ルールは増えている。言い換えれば、目に見えないところで地球は一つになりつつある。

4)IT(情報技術)
1966年夏、日本の船乗り(筆者)がヒューストン大学の工学部大学院に留学した。当時の日本はで、3C(クーラー、カラーTV、車Car)が憧れの時代だった。大企業でも、タイプライターのように大きなイタリア製の手回し計算機、ソロバン、計算尺の時代だった。当時の日本は、車どころか手回し計算機さえも外国製に頼っていた。

その船乗りが受けた最大のカルチャーショックは、英語でなくコンピュータ言語だった。大学の地下にあるコンピュータセンターでは、5台の大型汎用コンピュータが24時間サービス、IDを与えられた学生はいつでも自由に利用できる環境だった。

当時のヒューストンでは、3Cはもちろん、建物全体の空調は当り前、コンピュータネットワークの利用、NASAの宇宙飛行やメディカルセンターでの臓器移植が脚光を浴びる時代だった。

当時の4年制の理工系学部では、コンピュータプログラミングは必須単位、文系では選択単位だった。当然、理工系の大学院生はプログラミング言語を修了済みとの前提だった。幸い、FORTRAN IVというコンピュータ言語は、数学の表記に類似した言語だったので直ぐに習得した。

時代は変わって、現代の社会はコンピュータ抜きでは成り立たない社会になった。

次回から話題をITに移し、コンピュータ言語とシステムを一般人の目線で眺めていく。そこでは、コンピュータシステムの簡単な説明、グローバルシステムの中身と利点、今後の日本の言語教育、日本のシステムに潜在する危険性へと話題を進めていく。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする