COMPUTER LANGUAGE Nov. 1990 SheIfwareJ By P. J. Plauger 野口修男訳 / 福富寛監訳 P ← HD8540 おそらくソフトウェアピジネスにおいて , もっともダーテイかっオープンな秘密がシ ェルフウェアだろう。スケジュールの失敗 やコストのかさみすきではない。バグが多 すきることでもない。シェルフウェアはま ったくひどいものだか , いずれは解決される。 恥ずべきはシェルフウェア 作成に時間がかかりすぎたり , コストが かかりすぎたり , デバッグが困難なことよ りもソフトウェアにはもっと困った問題が ある。それはソフトウェアを購入した後て そのソフトウェアに興味がもてなかったり , 興味を持続てきない場合があることだ。そ の場合ソフトウェアをディスクから削除し , ハンディキャリアからディスケットを取り 除き , マニュアルを机の片隅から排除する。 そのソフトウェアが本当に憎らしいと感 じたら跡形残らず廃棄する。そしてあんな ッフトウェアに金を払った記憶にさいなま される。このいやな記憶をぬぐえないため に , 破棄したソフトウェアがいつかはよみ がえるだろうという一抹の希望を捨てきれ ない。ディスケットとマニュアルをひとま とめにして少し不便な場所 , ほんの少し手 の届かない柵 ( シェルフ ) のいちばん上あた こうなってしまうと , それはもはやソフ トウェアて、はない。近年このようなものに 恥ずべき名前がついた。それが「シェルフ ウェア ( 訳注 : shelfware,h ざらしウェア ) 」 0 シェルフウェアの記憶 まともなプログラマならはじめからシェ ルフウェアを書こうとするはずはない。誰 て、ももっと高尚な野心をもっている。人々 の生活を改善するための製品を作成したい と思っている。人々が毎日使用し友人に推 薦してもらえるソフトウェアを書きたいと 考えている。私たちは新バージョンを期待 して待ってくれる人を得たい たとえ金銭だけにしか野心を抱かなかっ たとしても , シェルフウェアは決してよい 商売とはならない。本やオーディオ録音な どの一度だけの出版とは違い , コンピュー タソフトウェアは絶え間ないメンテナンス と改善を必要としている。換言すれば , メ ンテナンスによってソフトウェアパプリッ シャーは既存の顧客への大きな販売機会を 得ることになる。製品が複雑て、あればメン テナンスだけの販売も可能だ。工ポキシ樹 脂て、固められたものて、ないかぎり ( 完全に 固定したものて、なく , 変更可能なものな ら ) , どんなソフトウェアの新バージョンも 販売可能だ。 販売担当者にとってはハッピーな顧客へ の製品販売ほど楽なことはないだろう。し かも利益率も高い。そのような収益は長期 間 , 高額な家賃や矯正歯科医などへの払い にあてることがてきる。タイムズスクエア にある悪名高きショップのように最初から 倒産を意図していないのなら , このような 商品を作り上げたいものだ。 告白しよう。私もシェルフウェアを書い た。当然 , いちばん上の柵に上げられてし まったものもある。古くなったからだ。残 り少なくなった顧客だけのためにサポート や改善を行えなくなったのだろう。さもな ければ権利を譲渡してしまい , 新しいオー Programming on Purpose 15
の良・不良がまず一目て、わかる。書けない 万年筆は , インクを入れ忘れているのて、な ければ「壊れている」ということになる。も し製造過程を出た直後の製品て、あればそれ は「不良品」ということになる。本当にすぐ にその製品の良否が判定て、きるし , 専門家 以外て、もそれが判断て、きる。 しかしソフトウェアの場合にはそうはい かない。出来不出来の判断がその場て、は下 せないことが多いし , 何よりも「製品」とい う実体がない こう考えてみると , ソフトウェアという のは一般的な工業製品と比べて次のような 特異な性質があることがわかる。 ①ソフトウェアそのものは形をもたない。 したがって , 「見えない」「腐らない」「錆 びない」。つまり耐用年数というものを もたない ②複雑である。また , 複雑なものを作る ことが容易である いつだったか , ある名だたるソフトウェ ア専業の某有名企業が税務署の査察を受け たことがあった。このときにあまりの利益 の少なさ ( ということは税務署の取り分の少 なさ ) にあきれた税務署員は「なんとかこの ディスクの中のデータやプログラムに税金 をかけられないか ? 」と悩んだということて、 ある。私は個人的に税務署には少々の恨み があるのて , こういう事態が起きることは 非常におもしろい と思っている。 「このソフトは買うと 1 千万円するんて、す がね。て、も買ったんじゃないんて、すよ。も らってきたんてす。だからタダなんて、すね。 もとは個人的に作ってもらったソフトなん て , 著作権とかも関係ないてすね。て、もこ れて、利益を得てるんだろうって ? いや , そんなことはありませんよ。うそだと思う ならご自分て使ってみてくれませんか ? 」 なんてやりとりがあったかなかったかは 知らないが , とにかくそういう性質のもの て、ある。減価償却なんてあるようなないよ うな世界てある ( ほんと , GNU なんてまとも 36 C MAGAZINE 1991 4 に仕事に使える水準になったらどうするん だろう ? ) 。 と , いうわけて、ソフトウェアはそれによ って企業が利益を得ることはて、きるものの , それ自身を今まて、の工業製品と同じものだ とは思わないほうがよい という存在て、も あるのだ。 そしてソフトウェアがそうならそれに潜 む「バグ」だって当然同じ性質をもっている のて、ある , といえる。バグというのは工業 製品て、いえば「不良品」ということだが , ソ フトウェアを「提供されるサービス」として 見ると「作業のまちがい」ということになる。 作業のまちがいならば目には見えないし , 実体もない 「ソフトウェアは工業製品て、はなくサービ スて、ある」というのが私の結論て、ある。そし て , ソフトウェアに潜むバグは欠陥や不良 て、はなく , 「サービスのまちがい」て、あると いうことだ。ソフトウェアはハードウェア を通して行われるプログラマから顧客への サービスなのだ ソフトウェアに潜むバグのレベルは , 作 る側から見ると大きく分けて以下の三つに 分けられるだろう。 ①コーディングミス , スペルミス ( いわゆ る単純ミス。ポカ ) 要するに単純なミス。だいたいこれは コンパイル , リンクという開発時点て、 明らかになる。しかしこの部分が大き く生産性に影響してくることがあるこ とを考える必要がある。 ②アルゴリズム ( 論理 ) ミス コンノヾイル , リンクというレベルて、は 出てこないが , 実行したときに予期し ない結果が出てくるというもの。多く のプログラマの「デバッグ」のほとんど はこの「バグ」取りてある。 バのレベル ③設計段階での全体見積ミス 根本的に何かカン違いしている , とい うレベルのバグ。多くは顧客とのコミ ュニケーション不足や SE の経験不足な どが原因。 これらのミスのうち , ①についてはまず 間題がないことが多い。なぜならば現在て、 はほとんどのコンパイル環境がこれらのバ グを指摘してくれるからだ。 メインフレームの一部のシステムや , 小 さなコンビュータて、も先進的なシステムて、 は ( この程度のバグならば ) なんとコンパイ ル時に勝手に直してくれるものもある。が , その多くは完全なものて、はない。コンパイ ラ自体が「直しました」「直しました」という メッセージを連発したあげく , 適切な修正 が完全にて、きないために「やつばりコンパイ ルて、きませんて、した」というメッセージを出 すものもある。 この種類のバグは習熟したプログラマて、 はまず短時間て、その修正がて、きるものて、あ るが , そうて、ない場合はたいへんな時間を 食ってしまうものて、もある。そしてそれは そのまま生産性に響くこともある。 工ラー取りに習熟していない方はコンパ イラやリンカの出す工ラーメッセージをし っかり読む , ということから始めてほしい 英語の勉強をするつもりて、エラーメッセー ジを英和辞典片手に読むようになれば , 上 達も早いはずだ。 多くのプログラマが格闘することになる 「バグ」はこのうちの②て、ある。思ったとお りの結果が出ないということだから , これ は結果を得るまて、の過程を細かく調べてい けばよいことになる。したがって , このバ グ取りの部分て、の生産性はひとえに「修正」 から「実行」まて、のターム ( ターンアラウンド という ) の短さと , プログラマの理解力にか かっている。 前者は最近て、はデバッグ環境や統合環境 といったものが助けてくれる。後者はプロ グラマの資質が問題の解決に大きく影響す
なお「 ModeIing Object-Oriented Sys tems 」は , OOD に関する一般的な手法につい て特定の言語を想定せずに表記法を中心に 解説したものて、あり , 「 Using CASE for Object-Oriented Design with C 十十」て、は , C 十十言語による OOD を支援する Cadre Technolugies lnc. の CASE ツールを実際に 用いた , いわば各論的なものて、あるため , 今回は「 ModeIing Object-Oriented Sys tems 」を中心に述べることにする。 CASE とは CASE ツール 計算機支援によって計算機ソフトウェア の開発を行おうとする CASE の考え方は , も ともと多くのバックログをかかえる EDP 部 門から起こったものて、ある。ご承知のとお り , 計算機のもっとも大きな利用分野は事 務処理て、あろう。 C 言語も主流になってきた とはいえ , COBOL ューザの人口にはまだま だおよばない。 Smalltalk-80 など , 何をか いわんやて、ある。この EDP 分野が慢性的に かかえる問題は , メンテナンス作業の負荷 とそれにともなうバックログの増大て、ある。 それを裏づける数字は , 各種 EDP 関係の書 籍や雑誌に毎号のように掲載されている。 それほどバックログは EDP 分野にとっては 重大な問題なのて、ある。このようなことが ソフトウェアクライシスとして指摘されて 以来 , その解決のためのアプローチがさま ざまになされてきた。ソフトウェアの生産 性を上げようとするアプローチて、ある。 このアプローチは一般に , 方法論として の構造化技法 , 道具としての第四世代言語 ( いわゆる 4GL ) の採用によって組み立てられ ている。そのなかて、 , この構造化技法を計 算機によって行おうとする試みが , CASE の 発想のもとてあるといわれている。「 CASE ツールー機能解説と活用のノウハウー』 ( 佐藤正美著 / ソフトリサーチセンター ) によ れば , CASE ツールという用語が用いられる 4 レコード 1 レコード 2 66 C MAGAZINE 1991 4 ようになったのは 1986 年からて、あり , CASE ツールとは 1 「構造化手法」を適用している 2 システム開発の全工程を自動化する という二つの要件を兼ね備えた EDP ツール のことをいう , としている。これからもわ かるように , もともと CASE というものが EDP 分野から発生したことを考えるならば , オ プジェクト指向との関連性は希薄に思える。 事実 EDP 分野はオプジェクト指向に基づく アプリケーションの検討が , 極めて行いに くい分野て、ある。 以前本誌連載記事「オプジェクト指向への 招待」て、述べたように , 「物」や「人」のレベル て、モデル化がて、きなければ , オプジェクト 指向を適用する利点があまり見えてこない 事務処理を「物」や「人」て、整理すると , 企業 の経営活動のシミュレーションになってし まう。このため帳票処理という最大の作業 がシステムのなかに埋没してしまい , シス テムのメンテナンス作業などの負荷がそれ ほど減らないのて、ある。またオプジェクト 指向自体がプログラミング技法としての側 面が強く , システム開発の全工程を自動化 する CASE とは馴染みにくいものとも考えら れる。 オプジェクト指向と CASE を結ぶ鍵は , じ つは構造化技法にある。構造化技法のもっ いくつかの問題点を解決する技法のひとっ として , オプジェクト指向採用の試みがさ れはじめているのて、ある。これは下流工程 においての構造化プログラミングからオプ ジェクト指向プログラミングへのシフトと 一致する流れとしてとらえると理解しやす い。そこて、構造化技法について少し整理し ておこう。 構造化技法 ソフトウェア開発における構造化技法と は , ソフトウェアを機能分解することによ り生産性・保守性に優れたプログラムを開 発するための仕様化技法群をいう。システ ム分析から , 設計・プログラミングにいた る開発の各フェーズごとに構造化手法が存 在し , それらを用いることによって , シス テム全体を明確にすることを主眼としてい TabIe 1 は , 「ソフトウェアの仕様化と 設計』 ( 花田収悦著 / 日科技連 ) から引用して 作成した , ソフトウェアに関する設計技法 Fig. 1 構造化チャート 修了標識 テータを得る システム 結果 処理をする 出力をする
ナーが売れ残りをバーゲンしたためかもし って ) , シェルフウェアになってしまう原因 プに落ちてしまったことを悟るのに時間は れない。私たちのダイナミックな分野て、は が強調されている。シェルフウェアになっ かからない どうしてもこの製品を使いた てしまう本当の理由は複数あるものだが , ければ新しいソフトウェアすべてを廃棄す よくあることだ。 私が書いたソフトの中にはあまり弁解に こて、は単純化しよう。 るしかない。さもなければこの製品にお別 もならない理由て、シェルフウェアになった れして柵にしまい込むのだ。 サポトからの孤立 ものもある。顧客の声を無視し改善を怠っ 製品が孤児になる理由をすて、にいくっか たり , どの顧客のフィードバックに応える 述べた。 CP / M 時代のワードプロセッサを改 「孤児」とはサポートを失った製品のこ 善し続けたり , 倒産した会社が生き返るの べきかを誤ったものて、ある。または一生懸 とだ。 2 年前は主流て、あったがまったくアッ を期待することはて、きない。しかし , たん 命仕事をしなかったために競争相手にやら プデートされない。一方 , それに関連して にぐずぐずしていたり , あなたにとって必 れてしまったものもある。 動作するソフトウェアは改善されている。 要度の低い製品に力を入れていたら文句を 当時はなぜ私のソフトウェアがシェルフ いうことがて、きる。 こうなったらあきらめ 孤児は新しいファイルフォーマットについ ウェアになってしまうのか見当がつかなか て何も知らないのて、クラッシュを免れない て椅子に乗り , 柵のいちばん上に手を伸ば ったが , 多くの商用ソフトウェアを購入し サービスホットラインに電話する。好運 てはじめてその謎が解けた。私の失敗より すしかない にも電話がまだつながっていたとしても , も他人の失敗がはっきりと見えるようにな 過剰サポートの果 古い製品についてあまり確信のないサポー ったのだ。おかしなものだ ト担当者が応答する。パッチもない。新バ シェルフウェアの起源を観察するために 「まむしの巣」というのは孤児よりタチ ージョンのリリースについてはなんだかん 以下のカリカチュアて典型的な原因を描写 してみよう。おのおののカリカチュアては だといって逃げられてしまう。 が悪い。希望どおりにことを運ばうとする 製品が一線を越えて ( いちばん上の柵へ向か とあなたの気力をすべて奪い取ってしまう。 かってすばらしかった製品がタイムワー 16 C MAGAZINE 1991 4
あなたのに、どこですか。・ 人間はみんない曲歹の森に生まれる、、、。当、当 食べると、や眠る一レ」レ」同なしトび、つ , にー、 ~ 0 客みるチカラをさず , かっているドい、 に・か】らい・もっレ J ・目殀〔に事もっ匕 ) ・目・ - 田」に「 ~ 夛みることを楽しんてもいいは躓にい ・を・ , , 大日本スクリ引」ンは思、つだからい曲歹を追、つ。 ' 画像テクノロン --= で桙報コュニ・ケ第ションの . 一 ー第ーを、 - ・を動第い、 1 を ーー第りない可能性にチャレンジする。 ・・をい載第を・・ 0 一を第イを・ 原占に旧ろ ( つ。ダみる大北↓たた去、おこそ、つ 1 い物、物・物背・′ 第募集要項 資格 / 高専卒以上、 30 歳位までの実務経験者給与 / 経験、能力に応じ当 社規定による昇給年一回 Q990 年度実績 6.983 % ) 賞与年 2 回 Q990 年度 実績 6.6 ヶ月 ) 勤務時問 / 実働 7.5 時問、年間所定労働時問田 60 時問休 日休暇 / 完全週休 2 日、年間休印 24 日、年次有休、特別有休、リフレッシュ休 暇制度福利厚生 / 各種社会保険、持家援助制度、家賃等補助制度 ( 家賃 補助上限、東京 70000 円・京阪神 50000 円・その他 40000 円 ) 、社員持株会制度 厚生施設 / 全国各地に契約保養所 ( ホテル、旅館 ) 、契約スポーツ施設ほか ・応募方法 応募書類 / 履歴書 ( 写真貼付 ) 、職務経歴書をこ・送付下さい。応募の秘密は 厳守いたします。なお、応募書類は返却いたしませんので、こ了承下さい。 大日水スクリーン製造株式会社 本社 / 602 京都市上京区堀川通寺之内上る 4 丁目 075 ( 4 図 ) 引 23 代 人事部採用チーム フリーダイヤル 30120 ー 32 ー 7123 ソフトウェアの研究・技術開発担当者 ■大規模・高精細画像処理ソフトウェア関連 オプジェクト指向プログラミング・ソフトウェア工学・ A ト図形処理・数理解析・ヒ ューマン / F ・ DTP ・通信ネットワーク ( LANslSDN ) など ・画像処理ハードウェア技術 ( 画像入力、 AS ℃、カスタム LS ぬどの理論回路 ) の研究 システムエンジニア・制御ソフト技術者・ハード技術者 ■高精細画像処理情報入力・出力機器 ( カラースキャナ・レーザープロッター など ) の光学読み取り・測色演算・光学系シミュレーションなど ■画像処理コンビューター用ソフトウェア設計 ( UN Ⅸ、 C 言語、アセンプラなど ) ■半導体ウ工ハ表面処理・フォトレジストコーティング・洗浄・エッチング装置の 制御システム設計・制御ソフトウェア設計 ■液晶ディスプレイ・カラーフィルター・サーマルヘッドなどの薄膜部品製造装 置の制御システム設計・制御ソフトウェア設計 ■会社概要 設立 / 円 43 年田月Ⅱ日資本金 / 2 刀億円 Q990 年に月末現在 ) 売上高 / に 80 億円 Q990 年 3 月期 ) 従業員数 2870 人朝 990 年に月末現在 ) 事業 内容 / 高精細画像処理装置などの印刷製版機器、半導体・液晶ディスプレ イ・プリント配線板製造装置および超精密電子部品などの開発・製造・販売
初級 C プログラマに贈る最斤 入門 odule: TCALC 円 : BNTC*EXAMPLES*TCALC98#TCA し C. C 43 #endif vold run() / * The maln program op * / int input; dlsplaycell(curcol_'—currow' HIGHLIGHT' N od 6 : TCDISPLEF curcell = cell[ showcelltype() ; ?_void 、@i_splaycell (int c input = getkey( /*¯DispIays thé co switch(lnput) int color; Char *s; = NULL) (cell[col][row]->attri return; cellstring(col' row, & C010r , FORMAT) ; け (highlighting) if ( C010r = = ERRORCOLOR) プションて、 80286CPU のコードを吐くように ないに等しい。だから , すべてのユーザを ソフトウェアの開発にはソフトウェアその 指定したままコンパイルし , 出荷したとこ ものを開発した環境と , 実際にユーザが使 満足させるソフトウェアはソフトウェアそ ろ , 当然のことながら V30CPU のパソコン う環境の「違い」を頭に入れていないと , と のものの開発もさることながら , その環境 などて、動かない , という苦情が出てきた , んて、もないところて、「バグ」を出すこともあ 設定やハードウェアの認知などが大きな問 というソフトウェアが実際にあった。プロ 題になってくるのて、ある。 りうる。 グラマいわく「え , まだ V30CPU なんかの 98 昔の話だが , まったくの初心者向け , とい - う一 とくに コンノヾイラのコンノヾイルオ があったんて、すか」といったというのだか Fig. 5 Turb0 Debugger 2.0 ら , この環境認識のズレは本当に困った問 題になる。 パソコンの一般向けアプリケー とくに ションの場合などは , 開発環境といっしよ に実稼働環境も別に用意しておくくらいの 注意は , 当たり前のことて、あるといっても ・ !ÄREADY rea 0 n S ()DS 8888 : 8888 0 テヾックの明日 前にも述べたとおり , デバッグ環境も何 もかも , 今はノイマン型コンヒ。ュータの上 にあるものて、ある。この方式を使っている かぎりにおいては , 現状のような , はっき りいって「ドロナワ式」デバッグが絶えるこ とはないだろう。 個人の技量やカンといったものが大きな ファクターを占めるこの「デバッグ」という 世界はそれゆえに「暗い」し , だれからもい い顔をされない世界てある。 こを明るく生きるコツは , ①デパッグは開発フェーズ中の明確なー 過程であって , 不良品の直しとは違う , という認識をもつ ②デバッグのあらゆる方法と考え方を習 得する ③デパッグ以前の「ポカ」を防止する「クセ」 をつけておく ということにつきるだろう。「ないほうがよ い」という認識のデバッグ意識から抜け出 て , 「必要だからする」積極的な意味のデバ ッグを考えていくだけのバイタリティは , やはりこれからのプログラマにとっては必 要なことなのてはないだろうか。 特集初級 c プログラマに贈る最新デバッグ学入門 43 Watches 2 Fig. 6 NEWS 上での dbx 実行画面 seg•entation fault ( 00 「 e dunped) b-itoh@sbpubbX dbx nain d bx v e 「 5 i 00 3. 1 0 「 1 2 / 1 6 / 8 8 15 : 2 9 Type ' he ー〆「 0 「 h 合 10. reading SY 第 b01i0 infornation [using e 第 0 y inage in 00 「 0 ] (dbx) 第 he 「 0 し i 第 e ( 0 実 2 7 0 8 b 1 d 4 ) a t 0 1 a 2 6 1 i 0 e 5 i 0 物第 & i Ⅱ 2. 0 物 . 0 ” 1 i 0 e 5 i 0 ”ー a i n し 6 s t ( = 0 x 7 6 a 0 ) , 第 ain. 第 ain ( 0X1 , 0x7fffdedc, Ox7fffdee4). ( d b x ) p 「 i 0 t 1 6 6 7 4 6 41 4 8 (dbx) 「 un 14 i 0 nain. 0 tine at 0 a26 Segnentation fault (address 三 0 27C8b1f0 ) in ( f f f 8. a 6 ) を d 0 0 0 0 01 a 2 6 第 0V0. 1 (dbx) 1 i 3 p ・ H ・日し 1, ・ H ・ H ・ H ・日 1, 1 5 1 0 t 合「 0 100g 1 : 2 3 4 5 6 (dbx) 1 i s t 1 . 6 い ne ( & 1 ) :
C MAGA 「スマートアラームス」 マンタワークス株 マンタワークス株は , 株ビジョンシステ ムからスマートアラームスの販売権を獲得 , 日本語版スマートアラームスの発売を開始 、 0 スマートアラームスは , マッキントッシ ュの DA ( ディスクアクセサリ ) て , 時計とス ケジューラの役目をする。 55 年先まての 1 , 600 個の予定の設定が可能。 く動作環境 > Mac OS システム 6.04 以上 く価格 > 18 , 000 円 問い合わせ先マンタワークス株 〒 251 神奈川県藤沢市朝日町 13 ー 10 大沢ビル IF TEL 0466 ー 28 ー 4180 「オプジェクトオリエンテッドテクノロジー」 セミナー 「オプジェクト指向設計と C 十十」セミナー ソフトウェア・テクノロジーインターナショナル ソフトウェア・テクノロジー・インター ナショナルは , オプジェクト指向に関する 二つのセミナーを開く。 「オプジェクトオリエンテッドテクノロジ ー」セミナーは , 外国人講師による , オプジ ェクト指向理解に必要な概念を解説する ためのセミナー。内容は次のとおり。 ・オプジェクト指向と従来のアプローチと の違い ・オプジェクト指向の利点とリスク ・オプジェクト指向のツールおよび環境 く期間 > 4 月 9 日 ( 火 ) ~ 4 月 10 日 ( 水 ) く場所〉虎ノ門パストラル く費用〉 96 , 000 円 ( 逐次通訳つき ) 「オプジェクト指向設計と C 十十」セミナー は , 外国人講師によるオプジェクト指向技 術を使用したソフトウェア設計と実践によ るプログラミング演習を行う。オプジェク 146 C MAGAZINE 1991 4 ト指向によるソフトウェア開発の理解が目 A. 3 月 26 日 ( 火 ) ~ 3 月 28 日 ( 木 ) B. 4 月 23 日 ( 火 ) ~ 4 月 25 日 ( 木 ) A. 東京 YMCA ホテル B. 虎ノ門パストラル 145 , 000 円 ( 逐次通訳つき ) く費用〉 く場所〉 く期間〉 互換機シリーズ ・機種 80386 / 486CPU 搭載の PC ー 9800 / く動作環境〉 C ( GCC ) を使ったプログラム開発も可能 ・ FM-TOWNS に移植されている GNU ルデバッガ PTEX386 付属 ・ PARTNERVer. 3 と同機能のソースレベ が付属 オプジェクトがリンク可能なリンカ L386 ・デバッグ情報の出力や MASM , TASM の (High C386 ) て、の開発が可能 圧換性によって , この上て、動作する言語 ・ PharLap 社の MS-DOS 工クステンダとの ビット本来のプログラミング開発が可能 ・ 80386 / 486CPU の持つ広大なメモリと , 32 る。 EXE386 の特徴は以下のとおり。 Ⅲしたプログラムの開発 , 実行が可能とな リ空間を広げる。 32 ビット本来の環境を利 バイトから解放し , 最大 4G バイトまて、メモ EXE386 は , MS-DOS のメモリ上限 640K する。 作する 32 ビット用 DOS ェクステンダを発売 ト CPU80386 / 486 用のネイテイプモードて、動 京都マイクロコンヒ。ュータ株は , 32 ビッ 京都マイクロコンピュータ株 「 EXE386 」 32 ビット用 DOS 工クステンダ TEL 03 ー 5689 ー 3536 キングヒルズ白山 401 〒 112 東京都文京区白山 2 ー 25 ー 10 ・インターナショナル 問い合わせ先ソフトウェア・テクノロジ ・メモリプロテクトモード用増設メモ リ IM バイト以上 ・ OS MS-DOS Ver. 3.1 以上 ・ EXE386 開発キット く価格 > 43 , 000 円 ・ EXE386 ライセンスパック 100 198 , 000 円 ・ EXE386 ライセンスノヾック 1000 990 , 000 円 問い合わせ先京都マイクロコンヒ。ュータ株 〒 617 京都府長岡京市長岡 3 ー 1 ー 2 TEL 075 ー 953 ー 0963 「 Objectworks/ SmalItalk, Release4 」 富士ゼロックス情報システム株 富 I: ゼロックス情報システム株は , UNIX, Macintosh, MS ー DOS の標準的な ウインドウシステムを使用したオプジェク ト指向プログラム言語 Smalltalk によるカラ ーのアプリケーションを開発て、きる開発環 境「 Objectworks/Smalltalk, Release4 」を 発売する。おもな特徴は以下のとおり。 ・移植性 Objectworks/SmalltaIk て、開発された アプリケーションは , Objectworks/Smal ltalk が利用て、きるシステムに依存するこ となく容易に移植てきる。 ・再利用性 オプジェクトというまとまりて、プログラ ムを部品化て、き , ざまざまなオプジェク トを再利用してソフト開発の生産性と 品質を向上させる。 ・生産性 プラットホームの標準的なウインドウ システムの利用と , デバイスから独立し たカラー機能て , プラットホームの詳細 情報を修得することなくアプリケーショ ンの開発がて、きる。 なお , 日本語を利用するための「日本語
これは , データ流れ図 ( Data Flow Dia gram) とデータ定義辞書 (Data Diction ary), デシジョンテープ丿レ (Decision Table), ミニスペック (minispeck) などを用 いて , システムのなかの情報の流れを明ら かにする仕様化技術て、ある。 データ流れ図は , システム化する対象業 務をデータの流れとして , 図形表現したも のて、ある。ある処理に対する入出力情報を , データ識別名をもった矢印て、表し , 処理の 内容をバブルと呼ばれる円によって表現す る。この流れ図を用いて , システム全体の 構造を概観しながら , おのおのの処理を詳 細分析していくのて、ある。 Fig. 2 にデータフ ローダイアグラムの例を示す。同様に , デ ータは詳細化され , データ辞書に整理され ていく。データ定義辞書は , DFD て、記述さ れるデータの構造を , 簡潔に記述したもの て、ある。たとえば , く台帳 > く明細表 > という記述は , 台帳は明細表の集合によっ て定義されるということを示している。 れらの作業に基づき , データ構造 , ファイ ル構造 , 処理プロセスロジックなどを定義 し , 要求仕様書として , 次工程て、ある設計 TabIe 1 ソフトウェアに関する設計技法の技術年表 に引き渡すのて、ある。この開発の各工程が , フェーズごとに確定して , 次工程に作業の 結果を引き渡していくさまを , 滝にたとえ てウォーターフォールモデルと呼ぶのて、あ 構造化技法へのアプローチ これらの構造化分析 , 設計技法を計算機 によって自動化するアプローチが , CASE ツ ールて、ある。とくにワークステーション環 境て、稼働し , グラフィック機能や対話的な ユーザインタフェイスを備えた統合された CASE システムのことを , CAS E ワークベン チと呼ぶことがある。ただし計算機によっ て自動化せずとも , このような設計分析技 法を用いることて、問題は整理され , 作業の 目的を達成することがて、きるものもある。 そのため CASE という場合 , Computer Aided Software Enginieering とはいうもの の , 必ずしも計算機の使用を意味しない 図式表現とそのための問題整理技法や , テ キスチャルな記述言語を総称して CASE と呼 ぶこともある。 「結局 , 人手であろうと , 計算機支援であ ろうと , 使い勝手は重要である。計算機支 年度 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1 9 田 1982 1983 1984 1985 技術内容 モジュール化法 ( Parnas ) , 段階的詳細化法 ( W ⅳ th ) , ワーニエ法 ( Warnier ) , トップダウンプログラミング ( M Ⅲ s ) 構造化プログラミング ( Dijkst 「 a ) 複合設計 ( Mye 「 s ) 構造化設計 (Constantine), 抽象テータを用いたプログラミング法 ( Liskov ) ジャクソン法 ( Jackson ) システムの階層分割 ( Ross ) テータ抽象向けプログラミング設計法 ( 久野 ) テータフロー設計法 ( Jackson ) PAM ( ニ村 ) 機能的設計法 ( 花田 ) , SP-FLOW ( 臼井 ) 統一的設計方法論 ( 紫合 ) トップダウン設計法 ( Yourdon ) , 形式的仕様記述 ( Guttag ) 援のソフトウェア開発 ( CASE ) ツールは , ま すます広まってきた。しかし教室での講義 や , そのほかの場所での議論のために , 紙 とンを用いたじゃまにならないような表 現方法は必要である (fModeIing Object- Oriented Systems 』 ) 」 さてこの構造化分析から設計 , そして構 造化プログラミングにまて、いたる構造化手 法は , 非常に大きな成果をあげてきた。 れに対して , fModeIing Object-Oriented Systems 』の著者はこう述べている。 「構造化設計の重要な要素である構造化チ ャートは , ソフトウェア製品が単純だった ころの , 単純なモデルである」 つまり , ソフトウェアシステムに対する 要求の質や量に対して , 構造化技法は , 表 現力が希薄になってきているのて、ある。前 記「 CASE ツール」によれば , 実際に EDP 分野 て、は , 開発したシステムについて , 以下の ような統計値がとられている。 ①ーっのアプリケーションを例にとれば , ーっのデータには平均 20 個もの , 異な る名前がつけられている ②ーっのシステムを例にとれば , データ ストレージの平均 70 % が重複データに 消費されている としても知られている 0Meilir Page-Jones の著者て、もあり , 構造化設計のパイオニア stantine は , 先ほどの『 Stractured Design 』 tems 』の著者のひとりて、ある Larry L ℃ on みに , 「 Modeling Object ー Oriented Sys て解消て、きる可能性をもつのて、ある。ちな は , オプジェクト指向のメカニズムによっ ところがここにあげたいくつかの問題点 という結果を招いているといえる。 消費されている ④ EDP 予算の 80 % がメンテナンス作業に ス作業の増大を引き起こし , ラムがかかえる多くのムタ・が , メンテナン このように複雑になってしまったプログ ている例がある れたソースコードの最大 90 % が重複し ③ーっのアプリケーション内て、 , 開発さ 68 C MAGAZINE 1991 4
よる正当な所有者証明を求めるものもある。 このような偏執狂的製品を使用するたびに , 私は忠誠の誓いを繰り返しているような気 がする。 正当なソフトウェアの使用に対して正当 な代価を支払うのは大賛成だ。私がソフト ウェア会社を所有していたときも違法コヒ。 ーは心配の種だった。私たちのようにワー ドとバイトによってアイデアを獲得し , 生 活の糧としている者にとっては知的所有権 の悪用は今て、も心配事だ。 同時に支払った金額に相当する価値を得 ることにも賛成だ。顧客をあたかも潜在的 な重犯罪人のごとく扱えば , 彼らの共感を 失う。障害をあまりたくさん埋め込むと顧 客を失う。あまり製品を保護しすぎるとそ れはもはや製品てはなくなってしまう。 過去数年てこの業界が成人になったと考 えたい。具体的な数字を見せろといわれて も困る。フィーリングだ。もう昔ほど違法 コヒ。ーは頻繁に行われなくなった。安価な ソフトウェアの供給元はたくさんある。ケ チなマネージャが 20 台のマシンて、同時に使 用するために , たった 1 本のパッケージしか 買わなかったら部下は知らなかったて、はす されない時代だ。 個人的には海賊版ソフトウェア売買に必 要な時間も不便さも我慢て、きない。よいソ フトウェアのドキュメント , サポート , ア ップグレードなしにはやっていけない。凡 庸なソフトウェアては , べンダーは私をい つまても引きつけておけない。マーケット の多くは私と似たりよったりだろう。 以前ある要塞パッケージを非難した ( TCOMPUTER LANGUAGE 』誌 ' 89 年 10 月号「 The Seven Warning Signs 」 ) 。 2 台 以上のマシンて走らないコミュニケーショ ンノヾッケージてある。コミュニケーション リンクの両端用に 1 本ずつのパッケージを購 入しなくてはならない やりたいことが実現てきることを確認し 18 C MAGAZINE 1 1 4 てから 2 本目のパッケージを購入するつもり とりあえずひとつのパッケージを だった 両方にインストールしようとしたがことご とく失敗した。パッケージ自身の保護はす ばらしいが , 人の心をとらえる点はヘたく そだった。短い命てこのパッケージは柵に しまわれた。そして , 複数のマシンへのイ ンストールを奨励するパッケージにとって 代わられた。 最近プリッジをするプログラムにやみつ きになった ( このページと無関係なのはわか っているが , 私も皆さんと同様にだらだら することもある ) 。ゲームの腕を磨き , 非生 産的ムードをやりすごすには最適だ。 問題は提供される 2 枚のディスケットのう ち 1 枚がキーディスケットてあることだ。使 用前に両方のディスケットの内容をハード ディスクにコピーし , 実際に使用するには プログラムのスタート時にドライプ A にキー ディスケットが必要なのだ。 したがって , ハードディスクを使用して いながらディスケットドライプも同時に必 要なのだ。さらに悪いことに , 提供される ディスケットは 5 1 / 4 インチだけしかないの だ。家にいれば私のラップトップにもドラ イプを接続てきるが , 外出時には携帯て、き ない 1 枚の 3.5 インチのディスケットにプリッ ジプログラムの全ファイルが入っているの がほしいのだ。このようなディスケットは 自分ても作れるが , べンダーが盗めないよ うにしているため動かない。外出用にもう 一部買ってもよいと思ったが , べンダーは 私が望む形態て、の販売を拒否している。 ハードディスクのスペースをこのマイナ ーな遊びに使うことはて、きなくなったのて、 柵に上げた。このケースは仕事に関係した パッケージを棚上げするのとは次元が異な るのだが , どんな場合て、も「だらだらウェ ア」を棚上げしなくてはならないときは頭 にくるのがわかるだろう。 のための領域か 「ディスク食らい」とは , いくら食べて も満腹にならないと信じているもののこと て、ある。 15 枚ものディスケットて提供され , そのすべてをハードディスクへコヒ。ーしな くてはならないものがある。それだけては ない。一部は圧縮されており , システムへ 入るときポップコーンのように吹き上げる。 あなたは貴重な領地が何 M バイトも取り上 げられたことに気づく。 3M バイトものテン ボラリファイルをほとんど警告もなしに生 成するアプリケーションには触れたくもな 「ディスク食らい」の設計者は彼らのパ ッケージをランする以外にもシステムが使 われることがあるのを忘れている。彼らが 作り出した余計な大騒動にあなたが感謝す ると思い込んており , それこそが彼らの喜 びとプライドを生むのて、ある。彼らは喜ん て、例題やチュートリアル , ヘルプファイル など , いつ使用するかわからない小さなユ ーティリティをつめ込む。 どれもすばらしいと思うが , 関係したフ ァイルをグループにまとめ別のディスケッ トに入れてほしいものだ。そしてそれぞれ のグループごとのガイドとインストレーシ ョンを分離してもらいたい。可能なら直接 ディスクから使用する方法も示してほしい 少なくともキープしたい部分だけを選択て きるようにしてほしい 実際にはまったく逆だ。インストレーシ ョンて、はハードディスクへ何もかも書き出 してしまう。ファイルには暗号のような名 前がついていて , ドキュメントがほとんど ないのて、どれが何なのかがまったくわから ない。大型パッケージのディスク占有量を 少なくしようとしておかしくしてしまった のは一度だけてはない。まちがってファイ ルを捨てると狂ったふるまいをする。「 C:
成長する会社には 私のポジションがある。 【経験者募集】 ( 研修制度あり ) 【募集要項】・資格 / 高卒以上才以上。ビジ ネスソフト経験者も歓迎・職域 / ・プログ ラマ・インストラクタ・給与 / 経験に応じて当 社規定により優遇平成 2 年度大卒初任給 ー 8 8 、 0 0 0 円・待遇昇給年ー回、賞 与年 2 回、交通費全額支給、社会保険有、有 備・勤務地 / 横浜・鎌倉・ - 三田・芝浦・亀戸・川崎・厚木」店頭公開は 1 つのステップ。 立川・八王子・我孫子・名古 - 会社に成長する力があるから 屋・大阪・仙台の各事業所 - ・勤務時間 / フレ ; スタ ~ 私のポジションがイキイキするのだと髞う。 イム制・週休 2 日・応募方 法 / 履歴書 ( 写真貼付 ) ・職一ー 務経歴書 ( 詳細記入 ) 、随時受付・面接日 / 書 類選考の上別途「 ) 連絡いたします。・送付先 〒東京都江東区亀戸 2 ー 1 立花アネッ クスビル 2 1-L 富士ソフトウェア株式会社業務部 宛※応募の秘密は厳守いたします。 会社概要 . ・設立 / 昭和年 5 月・資本金 / 巧億 、 9 ー 0 万円 ( 払込 ) ・社員数 / ー、 300 名・資本 系列なし ( 独立系 ) ・売上高 / 億円 ( 平成元年度 ) ・事業内容 / ・ー >< 及び (U) / 2 を中心と した各種制御ソフトの開発・各種バッケージソフトの開 C 発・販売 ( 毛筆わーぶろ等 ) ・ / 2 関連の各書籍出 版及び販売・ 2 セミナ「マイクロソフト・ユ ーシティ ( ) 」開催 ( 米国マイクロソフト社公認 ) ードウェア開発 0 (D 株式店頭登録 9 7 4 9 ・■お気軽にお問い合わせください。 ダャル . 0120 ー 132213 富士ソフトウェア株式会社 0 0 く資料請求番号 005 >