システムへの要求と機能分析
―入試機械化に即して―
吉澤正
有泉均
新藤久和
(昭和54年8月31日受理)Analysis of Demands and Functions of a System
TadashiYOSHIZAWA HitoshiARIIZUMI HisakazuSHINDO
Abstract An approach to system analysis is proposed and applied to the data processing system f・・the ent・ance ex・mi・・ti・n・t F…1ty・f E・ginee・i・g, Y・m・n・・hi U・iversity. After …i…d・mand・t・th・・y・t・m・・d fun・ti…1・h・・a・t・・i・ti…fthe reali・ed、y,t。m。。e analysed, Characteriぷtics Evolution Table of two dimensional form is written out. In the table, degrees of relational strength between demands and functions are measured and utilized in the development of the system. In addition, program testing・methods developed in the system will be described、 Pro. grams which generate simulated data under a probabilistic model will be explained.
はじめに
昭和54年度入学者の選抜方法の変更に伴ない,本学 工学部では入試委員会の下に機械化専門部会が設けら れた。入学者選抜に伴なう集計事務等に電子計算機シ ステムを利用すること自体は,我が国においても10年 以上前から行われていて,何も珍しいことはない。し かし,近年の電子計算機の進歩,システム工学やソフ トウェア工学等の体系化等により,この種の機械化シ ステムの開発は,従来の事務処理機械化の無方針・が むしゃら・試行錯誤といった開発振りから,訓練を積 んだベテラン運動選手の無駄の無い動きといった感じ の合理性を多少とも発揮する状況になっている。 機械化専門部会に参加した著者らは,そこでの作業 を単に雑用的事務と受けとめずに,できうれぽ研究的 側面を持つものとしてその任に当たりたいと考えた。 機械化専門部会の第一の任務は,数か月という時間的 制約の中で,システム設計,入出力様式の決定,プロ グラミング,テスト等を行った後,直ちに本番の処理 を誤りや遅帯無く終了するという厳しいものである。 したがって,研究としての成果を得るには困難が予想 されたが,システムの信頼性や機密保持の点で厳しい 自己統制が要求されたこともあって,二,三の研究的 成果を得た。 その第一は,システム分析の方法論として,システ ムに対する漠然とした諸要求をシステムの持つべき諸 機能へ展開して,言語情報的に与えられた要求特性と システムの持つべき機能との関連を表形式で表現し, その表をシステム設計へ活用してゆく接近法である。 第二は,プログラム検査や機密保護に関する工夫で ある。それらの工夫は,入試システムの特殊性による ものであり,既発表資料には見受けられないので,こ の種のシステムのノーハウとして伝えられるべきもの と考えられる。 本報告では,1節および2節で要求特性とシステム 機能を関連付ける上述の方法論を提案し,3節におい てプログラム検査方式について述べる。 1・入試機械化システムの特性 一般にひとつのシステムの特性は,システムの機能や性能,信頼性,安全性,操作性,保全性などの側 面,および,それらの相互のからみから論じられよ う1)。それらの特性を詳しく分析して,作成されたシ ステムの中で生かすには,システムに対してその外部 あるいは利用者などから要求される信頼性,安全性 等々の特性と,それに応えてシステムの機能や性能と して実現すべき特性を分離して分析することが役立と う。この考え方は,最近品質管理で発展を見つつある 品質機能展開2)に刺激されたものである。 さて,入試機械化シ3テムに最も厳しく要求される のは信頼性と機密性であるといえよう。それがまた, 入試に対する世の中の過敏ともいえる関心の高さを反 映した,システムの特徴でもある。 ここでいう信頼性は,まとめていえぽ,処理結果に 誤りがないこと,および,予定処理時間内に処理を終 了することを意味する。前者を正確性,後者を合時性 と呼んでおこう。正確性に対しては,それをそこなう 主要因としてデータミスとプログラムミスが,合時性 に対しては,計算機組織の故障や処理担当者の教育訓 練の不徹底が挙げられよう。 機密性は,合格判定での不正のないこと,入試方式 の非公開部分や成績等の外部漏れのないことの2点に まとめられよう。前者を不正防止,後者を機密保護と 呼ぶ。 さらに,システム運用の面での処理作業の容易さ (操作性)や入試方式等の変更があったときの修正維 持の容易さ(保全性)などが挙げられよう。図一1には 特性要因図の形式で,上述の要求特性を示しておく。 以上のほか,経済性や省力化などの要求もあろうが, ここでは省略しておく。なお,入試における各種の作 業を機械化してほしいとの要求が根本にあることはい うまでもなく,その要求は図一1での中心線としてのみ 示しておいた。 2.システムの機能と開発方針 この種の機械化システムは,単にプログラムの集ま りではなく,前節での要求を満たす諸機能の総合であ る。開発すべきシステムの諸機能を大別すると次のよ うになろう。 機械処理機能 手作業処理機能 作業者教育機能 検査機能 開発・維持機能 管理機能 監査機能 機械処理機能は主としてプログラムの集まりとして 実現されるが,他に,使用する計算機組織,オペレー ティングシステム(OS),プログラミング言語が関係 し,プログラムの処理を実行するためにOSの制御文 が必要となる。現実には,使用しうる計算機やOSに は選択の余地が少ないが,本システムは学内の二種の 計算機組織(ACOS−300, FACOM 230−45 S)のい ずれも使用できる二重の体制を準備した。機械処理の 対象としてのデータの入力様式,処理の結果としての 出力の様式,および処理の明細がプログラミングに先 立って必要となる。処理の明細では,特に,入力デー タの機械的チェック機能が重要な要素となる。この 方式もれ 外注 入試成績 集計作業
プ銚登
機器 計算機操作
再実行 作業ミス データ修正 手 続 入 試 システム 図一1 入試システムへの要求特性チェック機能を考えないなら,処理の内容は簡単なも のになることが多い。 手作業処理機能は,主として,人手による入力デー タの作成と検査照合,機械処理結果のチェック,機械 処理におげる計算機操作者の作業などである。どの機 能を手作業とするか機械処理とするかには選択の余地 が相当にある。今回のシステムでは開発時間の制約か ら,機械化部分は限られたものになっている。具体的 処理内容や処理の流れについては,ここでの議論の目 的ではないので,その概略のみを付録に記しておく。 作業者の教育や訓練機能は,計算機の操作者やデー タ作成にたずさわる者にある程度の練習をしてもらう ほかに,それぞれの作業の指図書やマニュアルの整備 を必要とする。 検査機能は,プログラムのテストやシステムの試行 方法などの機能を主とする。ほかに,プログラム内で 考慮すべきデー一タのチェックも含まれよう。本番処理 の時点ではあまり関係の無いものと思われ勝ちである が,システムが生きている限りは,検査機能の実現は 一つのノーハウとして伝えられなけれぽならないもの であり,検査機能はシステムを構成する重要な機能で ある。 開発維持機能には,システム設計や維持更新機能, システムを文書化して記録する機能,さらには開発コ ストや所要時間の見積,システムの評価等の機能を含 むものとする。 管理機能は,システム開発や維持更新の進行の管理 から文書管理,予算管理,外注先との接渉,などの 諸々の管理を意味する。機密保持や不正防止のための 管理,特に,開発や作業チt−一一ムの自己統制的な機能も 重要である。 最後に挙げた監査機能は,開発や作業チームの関与 表一1 要求特性と機能との関連表 集計作業
信頼性
安全性
操作性 保全性 正確 合時 機密保持 シ1文X唐
要 求@ 能
成績表 亘表 ;他 Tζス ζ多ぐス 故障操作三 不正防止 方式もれ 成績もれ 文書もれ 操作が 照@合
@が
e易確実 Tタ作成が ζグz修正 z構成1保カ
計算機組織 ○ O o ◎1 o o O o プログラミング言語 o o ○ △ プログラム O O o ◎2 ◎ o 機 械 処 理 入出力設計 o O o ◎3 △3 ○ フアイル構造 o o ○ △ ◎4 ○ ・内部データ構造 o o o △ o 制御文 O o o ○ ◎ o コンソールメッセージ o O o ◎5 o 入力データ作成 o o ○ ◎6 △ ◎ データ照合・修正 ○ o o ◎7 △ ◎7 o 手作業処理 結果のチェック O ○ o O 計算機操作 O ○ o ○ ◎8 その他 O データ作成マニュアル ◎9 ◎ ○ 教育訓練 操作マニュアル ◎ ◎8 o 照合マニユアル ◎ O 各種チェック・シート ○ ○ o o O o O テストデータ O o O o ◎10 o 検 査 テストラン o o o o ◎ ○ 実スケール試行処理 O ○ o 11 ◎ o 文書化 ○ ○ ○ ○ o 開発維持 システム設計 O o o 見積・評価 o 文書管理 ◎ O o 日程管理 o ○ 管 理 自己監査 ◎ ◎12 ◎ ◎ o 予算管理 o 外注 ol3 o その他 oする前述の機能とは別に,それらのチームの外部から の監査により,システムの信頼性や機密性の確保を一 層確実なものにする機能である。 以上の機能と前節で述べた要求特性との関連を表一1 にまとめた。表一1では,◎,○,△の順に関連の度合 いの強さを一応の目安として示してある。なお,監査 機能は,要求特性のほとんどすべてに関与するもので あるが,機械化システムの外部的なものとして表一1か ら除外してある。関係の度合の判定は,要求特性およ び機能として示した項目の解釈によって異論もあろ う。表一1に示した項目も掲載の目的から中分類ぐらい のつもりでまとめたものであり,より細かい項目に細 分化することも可能であろう。ここでは,システム分 析の一つの方法論として,この種の展開表が役立つこ とを提案するに止める。 以上の分析に基づくシステム開発の主要方針を,表 一1中の二重丸の脇に数字を付したものを中心に簡単に 述べておこう。 ①二重の計算機組織のいずれでも処理できる体制 をとる。本番処理前の使用機器(カード穿孔機を 含む)の保守の徹底,処理日の保守員の待機を依 頼する。 ②外注および学内開発の二本立でプログラムを作 成し,相互比較を行う。チェック機能を徹底させ る。 ③特注の出力用紙およびデータカー一ドを発注す る。 ④使用済ファイルの管理,不要ファイルの完全な 消去を行う。磁気ディスク上のファイルについて は処理に入る前の状態を磁気テー一…プに移し,処理 後にその状態を復帰させることによって,完全に 消去するなどの方法をとった。 ⑤操作者及び責任者による処理進行のチェックが 容易になるように工夫する。 ⑥外注はせずに学内の人手で処理する。⑨参照。 ⑦ 穿孔時のデータ検査と別の人手による成績デー タの答案との照合との2段階でデータミスを防止 する。機械的チェックも行う。 ⑧詳細な操作マニュアルを作成し,練習も行う。 ⑨データ穿孔指図書を作成し,それによる練習も 行う。数字の読み方等の標準化をはかる。 ⑩プログラムの検査担当者をシステム設計やプロ グラミング担当者とは別の者とし,検査時の先入 観の混入を避ける。また,テストデータの自動作 成プログラムを開発し,十分なテストを行う(次 節参照)。 ⑪本番処理の直前には,実志願者数によるテスト データでの試行処理を行い,プログラムの最終テ スト,操作の練習,処理所要時間の確認を行う。 ⑫ 不正防止や機密保持に関する自己管理について 専門部会の申し合わせを行う。 ⑬ プログラムの一部の外注にあたり,外注先より 機密保持の念書をもらう。また,入試方式の非公 開部分(第2次学力検査の問題数や配点比率な ど)はパラメータ化してプログラムを作成させ る。 3・プログラム検査方式 昭和54年度工学部選抜方法は,推薦入学,第2次学 力検査,第2次募集の3本立であった。付録として記 した処理手順に示されるように,共通第1次学力試験 個人別データの処理には共通部分も多く,選考用資料 の作成処理そのものは比較的簡単である。しかし,プ ログラムの準備としては,いわゆる報告(reporting) 形式の成績表(学科ごと成績順),一覧表(受験番号 順),照合用デt−・一ター覧表の作成プログラムをはじめ, 各種データファイルの修正更新(maintenance)プロ グラム,データの検査プログラム等が必要となる。今 回のシステムでは,プログラム担当者の事情により,
COBOL, FORTRAN,一部の開発時にはPL/1のプ
ログラミング言語が使われ,プログラム量はカード枚 数にして6,000枚を越えている。また,二種の計算機 のいずれでも処理できる体制を目指したので,一方の 計算機組織用に作成したプPグラムの他方の異なる組 織へのプログラムの移しかえも必要となった。 そこで,上述のプログラムを効率良く検査し,その 信頼性を保証することが重要となる。今回の検査方針 は次のようにした。 イ)プログラム担当者によるデバッグ。この段階は 担当者に任せる。 ロ)納品検査。プログラム担当者とは別の検査担当 者を設け,検査担当者側で作成したテストデータ による検査とソー一・一スプログラムリストの机上検査 を行う。 ハ)試行処理。実志願者数(第2次学力検査では, 欠席者の情報も含む)の判明した時点で実規模の テストデータによる試行処理を入試委員会立合い のもとで実行する。これを推薦入学,第2次学力 検査,第2次募集のそれぞれで行う。 上述ロ)の机上検査の要点は,プログラミング上おちいり易い間違いを予想するとともに,例外事項の列 挙による論理的な検査を行うことである。例えぽ,報 告書関係では,行制御(いわゆる特殊な境界条件にな る場合)の処理,書式上の桁ずれや見出しでのつづり のミス,ファイルの作成・修正・分類(ソーティン グ)では件数の落ちがないか,最初あるいは最後のレ コードに対する処理は正しいか,などが検査される。 テストデータの作成は次のように行われた。 a) 共通第1次試験個人別データの模擬データを確 率的モデルにもとついて作成するプログラムを準 備する。 b)上のプログラムで作成したデータを変換して, 第2次学力検査成績データの模擬データを作成す るプログラムを準備する。その模擬データは,本 番での成績データ穿孔係の訓練にも用いる。その 訓練で穿孔されたカード上のデータと,磁気テー プ上に保存された模擬データとの照合を行い,穿 孔指図書での作業要領に反映させる。実際に,穿 孔ミスの傾向が把握でき,本番でのデータミスは 皆無であった。 c) 合格者判定基準における同点者の取扱いに対す るプログラム上の処理を検査するために,上記, a),b)のデータを修正するプPグラムを準備す る。 d)第2次募集については,共通第1次試験個人別 データに既受験他大学での合否情報の仕様が急拠 変更になったので,その情報の模擬データをa) のプログラムに追加できるプログラムを別に準備 した。 本報告では,特に,共通第1次試験の模擬データの 作成手続の概略を述べでおく。 1)入力情報 ・推薦入学用,第2次学力検査用,第2次募集用の 区別。1本のプログラムで三様のデータを発生で きるようにする。 ・7科目(国語,社会2科目,数学,理科2科目, 外国語)についての予想される平均点,標準偏 差,および科目間相関係数を与える。その予想は 昭和52年度の共通第1次試験の試行での情報を利 用した。 ・選択科目についての選択確率の値を与える。社 会6科目は2科目選択であるから15とおりの組合 わせを等確率で生じるものとする。実際には許 されない地理Aと地理Bの組合わせは本処理で チェックされるかの検査にも用いる。 2) 3) その他,数学1と数学一般,外国語,理科の選択 組合わせについてもすべての組合わせが生じ得る ように確率構造を設定する。基礎理科のように特 殊なものも受験規則に合致するように工夫した。 ・カタカナの氏名は別の磁気テープ上に準備して各 データレコードに付与するようにした。 ・ほかに,通知区分,発行回数,問題区分等のため の確率構造を規定する。 ・学科課程別受験番号の開始番号と人数を与える。 人数がゼロの学科あるいは課程については模擬デ ータを作らない。 出力様式 出力は磁気テープ上に記録し,ノンラベル,1レ コード80バイト,1ブロック1レコードとし,入 試センターから通知される書式にすべて合致させ る。 算 法 ●必要な入力情報の読み込み,初期設定,ファイル の準備を行う。 ●7科目の成績データを7次元正規分布の乱数とし て生成させる準備を行う。 ■通知大学コード(0244)を入れる。 ●全学科課程について以下を反復する。 ●一つの学科または課程について,必要な人数分 だけ以下を反復する。 ●7次元正規乱数により成績データを発生す る。 ●受験番号を決める(学科課程ごとに一連番 号)。 ●共通第一次用受験番号と試験上コードを一様 乱数で発生し,チェックディジットを付与す る。 ●発行回数を発生する。小さい確率で発行回数 2や3のものも入るようにする。 ●高校コードを一様乱数で発生し,チェック ディジットを付与する。 ●通知区分を発生する。 治 一通知区分が0の場合 一通知区分が1の場合 ●各科目の得点をゼロ,問題区分と科目 1 コードを空白とする。 ■総点を計算する。