構造化ソフトウェア開発システムcando” ·...

4
特集 ソフトウェア生産技術 U・D・C・る81・32・Od・002:〔る58・52・ 構造化ソフトウェア開発システム"CANDO” Structured SoftwareDevelopmentSYStem、、CANDO・・ 増加の一途をたどるソフトウェア開発で,生産性保守性及び信頼性の向上を確 保するためには,従来のような前近代的な生産方式では対処が難しく,ソフトウェ ア生産方式の抜本的革新が必要になってきた。ファコム・ハイタック株式会社(ノ、イ タック本部)では・ソフトウェア開発のCAD化を目的としたCANDOシステムを開発 し,実用化した。 CANDOのねらいは,ソフトウェア開発の全工程に対し,標準化と機械化を徹底 し,その開発方法を組織内に定着化することである。 CANDOを個々のプロジェクトに適用した結果,従来方式に比べ信頼性の高いソ フトウェアを効率良く開発することが可能となった。 ll ハードウェア技術の飛躍的進歩により,コンピュータシス テムの原価構成は,ソフトウェア中心へと急速に移r)つつあ る。また,ハードウェアの技術革新に支えられて,コンビュ 】タの利用形態も年々高度化,多様化の一途をたどっている。 このような環境変化に対し,従来のような前近代的なソフト ウェア生産方式では対応することが難しく,ソフトウェア生 産方式の抜本的革新が必要になってきた。言葉を換えると, ノ、‾ドゥェア開発で採用しているCAD(Computer Aided D。- Sign)化の考え方を,ソフトウェア開発にも適用すべき時期に きたということである。 ファコム・ハイタック株式会社(ハイタック本部)では,市 場の要請にこたえるために,ソフトウェア開発のCAD化を目 的とした,CANDOシステム(Computer Aided New fa。iliti。S for system Development andits fixation to the Organiza・ tion:構造化ソフトウェア開発システム)を開発し,実用化 した。 本報では,CANDOシステムの開発背景及びシステム構成 について概説するとともに,CANDOシステムを構成する代 表的なソフトウェア開発支援ツール,及びソフトウェア部品 を紹介する。また,CANDOシステムの適用結果とその評価 についても合わせて報告する。 CANDOの概要 2.1CANDO開発の動機 ソフトウェアの重要性が認識され始めたころから,ソフト ウェア開発方式の改革,改善の努力がなされてきた。トップ ダウン設計などに代表される設計技法の開発1),あるいは部品 化技術などの製造技術の開発も随所で実施されてきた。これ らは,ソフトウェア開発工程の一部分に対し効果をもたらし たが,ソフトウェア開発のCAD化というテーマを解決するに は至らなかった。 この最大の理由は,設計書や部品などを磁気化して蓄積し たり,これらをインタラクティブに検索できるような,機械 設備が整わなかったことによるものと考えられる。 最近のファイルの大容量化,タイムシェアリングシステム の普及は,これら問題点の解決を可能にし,更にソフトウェ *ファコム・ハイタ、ノク株式会社 小野 功*J5。。0乃。 大野 治* 0ざ。仇以∂花。 天明宏行* 仇γ。y加んゴremme才 ア開発の全工程に及ぶCAD化の実現も可能にした。 CANDOシステムは,以上の背景のもとに開発したもので ある。 2.2 CANDOの開発方針 CANDOのねらいは,ソフトウェア開発の全工程に対し, 標準化と機械化を徹底し,その開発方式を組織内に定着化す ることにある。この目標達成のために,以下のような開発方 針を設定した。 (1)ソフトウェア開発の全工程を標準化し,標準化を前提に した各種のソフトウェア開発支援ツール,ソフトウエア部品 を用意する。 (2)これらソフトウェア開発支援ツール,ソフトウェア部品 は,すべて会話環境下で使用できるようにする。 (3)ソフトウェア部品群は,過去に蓄積してきたものを整理, 統合し,真に必要なものだけを登録する。また,個別プロジ ェクトの開発環境の変化に即応して,追加,削除,改良など を行なえるような仕掛けを提供する。 (4)ソフトウエア開発支援ツール,ソフトウェア部品群,ド キュメント体系は,いずれも構造化に徹したものにする。 (5)普及活動には特に留意し,実務と密着した教育活動を 積極的に推進する0 また,CANDOに対する生産現場からの 改善提案を吸い上げられるような組織作りも合わせて推進 する。 (6)標準化については,日立製作所のアプリケーションシステ ムの効率的設計技法(HIPACE:HitachiPhasedAppr。a for High Productive Computer System,s Engineering)を 基準とし,ツール群は,それを補完する立場に立って開発 する。 2・3 CANDOのシステム構成 CANDOシステムは,図1に示すように・システム設計支援 からドキュメント出力支援まで,ソフトウェア開発の各工程 を対象としている2)。各工程を支援するサブシステムは,相互 に密接に接続されておr),各サブシステムを構成するソフト ウェア開発支援ツールも密接に連結され,一貫したものとな つている。 25

Upload: others

Post on 27-Feb-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

特集 ソフトウェア生産技術U・D・C・る81・32・Od・002:〔る58・52・011.5る:る81.322〕

構造化ソフトウェア開発システム"CANDO”Structured SoftwareDevelopmentSYStem、、CANDO・・

増加の一途をたどるソフトウェア開発で,生産性保守性及び信頼性の向上を確

保するためには,従来のような前近代的な生産方式では対処が難しく,ソフトウェ

ア生産方式の抜本的革新が必要になってきた。ファコム・ハイタック株式会社(ノ、イ

タック本部)では・ソフトウェア開発のCAD化を目的としたCANDOシステムを開発

し,実用化した。

CANDOのねらいは,ソフトウェア開発の全工程に対し,標準化と機械化を徹底

し,その開発方法を組織内に定着化することである。

CANDOを個々のプロジェクトに適用した結果,従来方式に比べ信頼性の高いソ

フトウェアを効率良く開発することが可能となった。

ll 緒 言

ハードウェア技術の飛躍的進歩により,コンピュータシス

テムの原価構成は,ソフトウェア中心へと急速に移r)つつあ

る。また,ハードウェアの技術革新に支えられて,コンビュ

】タの利用形態も年々高度化,多様化の一途をたどっている。

このような環境変化に対し,従来のような前近代的なソフト

ウェア生産方式では対応することが難しく,ソフトウェア生

産方式の抜本的革新が必要になってきた。言葉を換えると,

ノ、‾ドゥェア開発で採用しているCAD(Computer Aided D。-

Sign)化の考え方を,ソフトウェア開発にも適用すべき時期に

きたということである。

ファコム・ハイタック株式会社(ハイタック本部)では,市

場の要請にこたえるために,ソフトウェア開発のCAD化を目

的とした,CANDOシステム(Computer Aided New fa。iliti。S

for system Developmentandits fixation to the Organiza・

tion:構造化ソフトウェア開発システム)を開発し,実用化

した。

本報では,CANDOシステムの開発背景及びシステム構成

について概説するとともに,CANDOシステムを構成する代

表的なソフトウェア開発支援ツール,及びソフトウェア部品

を紹介する。また,CANDOシステムの適用結果とその評価

についても合わせて報告する。

白 CANDOの概要

2.1CANDO開発の動機

ソフトウェアの重要性が認識され始めたころから,ソフト

ウェア開発方式の改革,改善の努力がなされてきた。トップ

ダウン設計などに代表される設計技法の開発1),あるいは部品

化技術などの製造技術の開発も随所で実施されてきた。これ

らは,ソフトウェア開発工程の一部分に対し効果をもたらし

たが,ソフトウェア開発のCAD化というテーマを解決するに

は至らなかった。

この最大の理由は,設計書や部品などを磁気化して蓄積し

たり,これらをインタラクティブに検索できるような,機械

設備が整わなかったことによるものと考えられる。

最近のファイルの大容量化,タイムシェアリングシステム

の普及は,これら問題点の解決を可能にし,更にソフトウェ

*ファコム・ハイタ、ノク株式会社

小野 功*J5。。0乃。

大野 治* 0ざ。仇以∂花。

天明宏行* 仇γ。y加んゴremme才

ア開発の全工程に及ぶCAD化の実現も可能にした。

CANDOシステムは,以上の背景のもとに開発したもので

ある。

2.2 CANDOの開発方針

CANDOのねらいは,ソフトウェア開発の全工程に対し,

標準化と機械化を徹底し,その開発方式を組織内に定着化す

ることにある。この目標達成のために,以下のような開発方

針を設定した。

(1)ソフトウェア開発の全工程を標準化し,標準化を前提に

した各種のソフトウェア開発支援ツール,ソフトウエア部品

を用意する。

(2)これらソフトウェア開発支援ツール,ソフトウェア部品

は,すべて会話環境下で使用できるようにする。

(3)ソフトウェア部品群は,過去に蓄積してきたものを整理,

統合し,真に必要なものだけを登録する。また,個別プロジ

ェクトの開発環境の変化に即応して,追加,削除,改良など

を行なえるような仕掛けを提供する。

(4)ソフトウエア開発支援ツール,ソフトウェア部品群,ド

キュメント体系は,いずれも構造化に徹したものにする。

(5)普及活動には特に留意し,実務と密着した教育活動を

積極的に推進する0 また,CANDOに対する生産現場からの

改善提案を吸い上げられるような組織作りも合わせて推進

する。

(6)標準化については,日立製作所のアプリケーションシステ

ムの効率的設計技法(HIPACE:HitachiPhasedAppr。a。h

for High Productive Computer System,s Engineering)を

基準とし,ツール群は,それを補完する立場に立って開発

する。

2・3 CANDOのシステム構成

CANDOシステムは,図1に示すように・システム設計支援

からドキュメント出力支援まで,ソフトウェア開発の各工程

を対象としている2)。各工程を支援するサブシステムは,相互

に密接に接続されておr),各サブシステムを構成するソフト

ウェア開発支援ツールも密接に連結され,一貫したものとな

つている。

25

196 日立評論 VOL.66 No.3(19糾-3)

部品管理

V

O

S

3

/

T

S

S

C

A

N

D

O

区II CANDOシステムの

構成 cANDOシステムを構

成する各サブシステムについて

示す。

システム設計支援

プログラム設計支援

プログラム作成支援

テスト支援

ドキュメント出力支援

部品の登録/修正・検索

雷雲1デ_タ定義の

Z三ユノとf登針摩正プ ロ グラ ム仕様の登 寿 / 修 正

半完成プログラム生成

部 品 の 組 込 み

エディタによる追加編集

対話デバック環境設定

対 話 デ バ ッ グ

テスト十分性チェック

保守用ドキュメント出力

各種ドキュメント

田 CANDOシステムの機能

CANDOの代表的なソフトウェア開発支援ツールの機能及

び特徴について次に述べる。

3.1 システム設計支援機能

システム設計支援機能として,画面設計支援と帳票設計支

援の二つの機能がある。それぞれは,コンピュータ処理のア

ウトプットである画面及び帳票についてレイアウトの作成を

支援するものである。

(1)画面設計支援

画面のイメージを対話形式で端末から入力することによF),

業務70ログラムで使用するⅩMAP(Extended Mapping Aids)

パラメータを生成し,目的画面レイアウトを作り,これを

CRT(Cathode Ray Tube)画面に表示,又はプリンタに印刷

する。この結果により,仕様の確認が可能になる。

(2)帳票設計支援

帳票イメージを対話形式で端末から入力することにより,

書式制御を含めた本番印刷イメージの帳票をプリンタに出力

する。この結果により,仕様の確認が可能になる。

3.2 プログラム作成支援機能

(1)半完成70ログラム生成

プログラムの制御構造を規定する標準制御パターンと入出

力部品を合成し,半完成70ログラムを生成する。この際,画

面設計・帳票設計で定義した内容及び仕様書ファイル上に定

義してある情報などを半完成プログラム上へ反映する。同時

に,半完成プログラム上のコードを,あらかじめ定義したユ

ーザー固有名称に変換する。

(2)部品の組込み

ユーザー固有の70ログラム部品,又はCANDOで準備した

標準的なプログラム部品を前項(1)で生成した半完成プログラ

ムに自動的に組み込む。このときユーザー固有名称の変換も

同時に行なう。図2に部品の組込み方式を示す。

3.3 テスト支援機能

(1)テスト十分性指標(Cl,Slメジャ)の採用

プログラムの実行順序の組合せは天文学的な数となり,そ

26

ク、、

/

仕様書

ファイル

生 成

ソース

70ログラム

一■一一-■■

完 成

ソース

プログラム

標準制御パターン

標準サブルーチン

会話デバッグ

テスト用

ファイル

日本語変換

辞 書

注:略語説明

VOS3(∨けtUalstorageOperatlng System3)

TSS(Tlme Sharlng System)

CANDO(Comp]ter Aided

New fac川ties fo「

SyStem Development

andits flXation to

the Organizat10∩)

琴準制御パタ‾ン NSチャート

欠携携;攻ろ杉%ク杉ラフタブ′車イラゆや年中オグク方ク/ク杉クククククククブタ%%%クククククク欠才クククク欠車庫毎年次杉先攻杉%%%ククニ杉ク%

欠杉;1与オ≠∴卜′ランす≠シ;シ′両ナ≠ルあ蕗了まを/グククタカク%

Y:坊仰欠子≠坤二≒二トラシザ≠キラシ′車十フクカ杉力方ククグ応

/標準サブルーチン

Y #三春′タ′車‡ノく〔ラ/ノカラチ/斗キ幸三杉汐訂

コーディング

ユーザー固有部品/

追加ヾm

ククク頻ラすケ少クククク

クククク≠ネ車¢:ニ欠方クククエ斬ネタ少ククグ欠フク≠ラ∴ウネ1トヤ/ククじ′テ≠サケ′キちゝ′p/ククシシすネ如坊%ク/トラ′シ/サケシ,三′←申/

クククククククプ//ククク杉ク;ク/終了′毎年クククククククプクプククククク欠二っ枚杉

クククククククク%ククククククククテクノノヰわやら¢岳卓クククク%クククククククク攻杉%

図2 部品の組込み ユーザー固有部乱 標準部品の半完成部晶への組

込み方式について示す。

のすべてをテストすることは不可能である。この中から実用

上十分なソフトウエア品質を保証し,かつ実施可能なテスト

項目を抽出するため,テストカバレジメジャ3)として,Clメ

ジャ削),Slメジャ数2)を採用した。図3にClメジャについて

示す。

対話テスト環境の中で,Clメジャ又はSlメジャを測定し,

テスト進捗度の把握及びテスト十分性の評価実施を支援する。

対話テストは日立製作所製プログラムプロダクトCOBDBG

(COBOL Debugging Aids)の下で行なう。

(2)対話テスト環境の自動設定

単体テスト支援では,ソース70ログラム情報を解析し,自

動的に対話テスト環ゴ尭(実行中断点及び外部プログラム,フ

※1)Clメジャ:単体プログラムテストで,すべての分岐方向が少なく

とも1回は実行される。

※2)Slメゾャ:組合せプログラムテストで,各プログラムヘの呼出し

命令(CALL)がすべて実行される。

「-------------+--------一---「

「-----⊥-----「

l ▼ l

A B C

図3 テスト十分性指標Clメジャ 本図は,プログラムの手続き部の

一部をNSチャートで示したものである。IF文などで発生する径路(A,B,C)に

っいて実行L,分岐網羅率を測定したものがClメジャである。つまり,プログ

ラム論理を実行する上ですべての分岐を網羅したとき,Clメジャ=100%となる。

アイル入出力のシミュレートなど)を設定する。また,組合せ

テスト支援では,テストデータを実ファイル上へ自動作成す

る。テストデータの追加,修正を対話形式で可能にするため,

テストデータ エディト機能もサポートしている。

3.4 ドキュメント出力支援機能

ドキュメント出力支援機能を用いると,ソースプログラム

から日本語で記述されたドキュメントを出力できる。出力ド

キュメントとしては,日本語ソースリスト,プログラム機能

説明図,NSチャート,データ定義書などがある。サンプルと

して図4にNSチャートを示す。

【】 設計標準と部品

CANDOでは設計作業の標準化を図るために,ソフトウェ

ア標準設計書及び部品群を準備し活用している。標準設計書

は,すべて構造化された日本語で記述されている。

4.1CANDOを構成するソフトウェア部品群

(1)標準制御パターン

COBOLプログラムを中心に,バッチ処理形態,オンライ

ン処理形態ごとに標準制御パターンを整惜している。

(2)CANDO標準部品及びユーザー固有部品

CANDO標準部品としては,日付処理,チェック処理,文

メイン処理 MA】N-PROC

構造化ソフトウェア開発システム`■cANDO”197

字列処理など,使用頻度の高いプログラムを部品として整備

している。また,ユーザー固有部品についても,各サイトで

業務に共通して使用される機能,ロジックなどを部品として

登録,管理することができるようにしている。

4.2 構造化設計の徹底

CANDOでは,次に述べるような方法により構造化設計の

徹底を図っている。

(1)構造化日本語で記述された標準設計書を準傭し,これを

活用して個々の設計書を作成する。

(2)登録した標準制御パターンは,すべて構造化されたプロ

グラム構造とした。

(3)NSチャートの適用及び「GO TO LESSプログラミング+

の推進による構造化プログラミングの徹底

(4)各種静的解析ツールを用いた構造化設計の検証

日 適用結果

昭和56年下期からCANDOの適用が開始された。次にその

適用状況及び結果について述べる。

5.1CANDO定着化状況

図5にCANDOの定着化状況について示す。昭和56年下期

開始当初仝プロジェクトのうち30%のプロジェクトに適用し

たが,昭和58年上期では83%と3倍近い定着化率を示してい

る。また,社内外へのCANDO既教育人数は,昭和58年上期

末現在では,800名以上に達している。以上から,ここ2年の

間に急激な定着化が図られたことが分かる。

5.2 生産性の向上

CANDOでは,プログラム作成を支援する各種ツールや標

準設計書を使用することにより,生産性の向上を図っている。

図6は,CANDO適用時の生産性向上に関する習熟過程及

びCANDO使用時,未使用時の工程別工数分布を示している。

同図(a)は個人の習熟であり,約3箇月で習熟傾向を示してい

る。しかも,開始当初の約3倍の生産性を示している。

一方,プロジェクトでも,習熟効果が現われており,初期

段階で既に約2倍の向上が実現されている。

また,同図(C)から主に組合せテスト,運用テストなど後工

程の作業での工数が削減されていることが分かる。

5.3 設計製造の分離

設計及びプログラミング工程の標準化により,工程間の情

報伝達が可能になったため,設計部門とプログラミング部門

opENINPUT給与マスタファイル 給与トランザクションファイル 0UTPUT 給与ファイルエラーリスト

準備処理

給与トランザクションファイルリード処理

給与マスタファイルリード処理

UNTIL 給与トランザクションファイル終了フラグ='EOF'

給与マスタキー=給与トランザクションキー

照合処理

WRITE 給与レコード

給与マスターキー<給与トランザクションキー

給与トランザクションファイルり一ド処理

給与マスタファイルリード処理

給与マスタファイルリード処理アンマッチ処理

WR什E エラーレコード

給与トランザクションファイルリード処理

終了処理

c+OSE給与マスタファイル 給与トランザクションファイル 給与ファイルエラーリスト

区14 NSチャート ドキュメント出力

支援ノ艶能を用いて出力したNSチャートを示す。

27

198 日立評論 VOL.66 No.3(1984-3)

100

05

(訳)掛野照○□Z<0

56/下 57/上 57/下 58/上

年(昭和)

(a)CANDOの適用状況

000

0

0

0

0

0

0

∩)

0

8

AU

4

2

(世畔)点く濱淋恥蘇○□Z与U

56/下 57/上 57/下 58/上

年(昭和)

(b)CANDOの教育実施状況

図5 CANDOの定着化状況

いて示す。

学卒新人3.4

只)3

CANDOの適用率及び教育実施の推移につ

(]ぺ宗畢)単嘲叫

1.9

(プ[品讃量戸ト)

2 3

月 数

(a)個人の習熟

CANDO

未使用

CANDO

使用

(]→夜雫)彗咄判

(70[器類苧ト)2.11.5

1.3

1次 2次 3次 4次

70ロジェクト経験

(b)プロジェクトの習熟

プログラム設計~単体テスト50%

組合せテスト

18%運用テスト

32%

60% 22% 18%

工数0.5

工数1.0

(c)システム開発工程の作業比

国6 CANDOの適用による生産性の向上 生産性に関するCANDOの

習熟曲線及びエ程別工数分布を示す。

28

樟ホ世僻もて

CANDO使用

/(竺)

eノNSチャご器用il

/従軍至芸)×

△■■‾■■■■■■△ × △×

0 10 20

バグ密度(件/KS)

図7 単体テスト時のバグ密度分布図 単体テスト時のバグ密度を

CANDO,NSチャート,従来方式に分・けて示す。

の分離が実現された。組織を分けることによる設計品質及び

プログラミング品質に対する相互牽制は,急速なシステム習

熟に寄与している。

5.4 信頼性の向上

二大に,従来方式とCANDO方式との信頼性比較を示す。

CANDOでは,設計品質,プログラム品質の向上を図るため,

設計時でのデザインレビューの徹底,プログラム作成時での

テスト十分性指標の採用を実施している。特に構造化の徹底

により,Cl=100%を実現している。図7は,単体テスト時

に発生するバグについて,CANDO方式と従来方式とで比較

したものである。CANDO方式のほうがバグ密度が小さく,

しかも集中していることが分かる。また,単体テスト時でテ

スト十分性指標を用いたテスト(Clメジャ=100%の達成)を

実施しているため,後工程(組合せテスト,運用テストなど)

へ積み残すバグが減少している。

l司 結 言

CANDOシステムは,ソフトウェア開発の全工程を対象と

していることによる総合性と,これを構成する各サフナシステ

ムが相互に密]妾な関連をもつことによる一貫性に特徴があり,

ソフトウェア開発の近代工業化の観点から,大きな効果を発

揮するものと期待される。

今後,更に,ソフトウェア開発の機械化率を高める手段を

求め,CANDOシステムの機能拡張及び操作性向上を目指し

た機能改善の推進に努力する。

なお,本システムは,日立製作所の工場でプログラム70ロ

グクト"EAGLE''として製品化が進められている。

参考文献

1)片岡,外:ソフトウェア開発支援システム(CASDシステム),

日立評論,62,12,879~882(昭和55-12)

2)小野,外:構造化ソフト開発システムCANDO・の開発及び評

価,昭和58年度情報処理学会第27[司全回大会講演論文集,

521~522(昭和58-10)

3)G.J.Myers著(長尾訳):ソフトウエア・テストの技法,近代

科学社(昭和57-10)

4)G,J.Myers著(有澤訳):ソフトウェアの信相性,近代科学杜

(昭和52-10)