研究ノート
時間割表に学ぶデータモデル感覚考
(II)
-
大学における読み替え科目の扱いを巡って
-中西 昌武
1On Sense of Data Modeling upon Time Table Part II
-
Data Modeling of Subject Substitution Based on College Curriculum
-NAKANISHI, Masatake
1 1名古屋経済大学経営学部教授1. はじめに
筆者は前著[1]において,大学が提供する科目の時間割表には,データモデル感覚を研ぎ澄ます好材料があることを 事例研究によって示し,時間割表作成のモデリング学習は,知識レベルの構造パターンを学ぶ最良の教材となると結 論づけた.また時間割表作成の業務には,ユーザにとっては常識である一方,データモデラー泣かせであるような, 複雑な業務ルールについて研究の未踏領域が広く残っており,今後も新たな構造パターンの解明に役立つような試踏 を目指すと述べた.本稿では,大学がカリキュラム変更する場合に発生する科目廃止・不開講による学生不利益の回 避策である読み替え科目の扱い方法を取り上げ,データモデリングを考察した上で,その知見が異業種である販売業 務の代替品対応などとどのように対比できるかを検討する.第 2 章では,大学の開講科目をデータモデリングする場 合の基本事項を振り返る.第 3 章では,新たにカリキュラム構成科目とカリキュラム拘束のデータモデリングを取り 上げる.第 4 章では,それを踏まえて,科目廃止に伴う読み替え対応のデータモデリングを取り上げる.第 5 章では, 科目の読み替え対応と似た対応を持つ他分野の業務について所見と展望を述べる. なお本稿のデータモデリングでは,エンティティ・タイプとリレーションシップ・タイプを積極的に区別せず,専 らエンティティ・タイプと見なし,これを単に「エンティティ」と呼ぶことにする[2].また[1]と同様,エンティティ 結合のカーディナリティを描画する場合は,結合相手の上限数のみを表記対象として1 対多,または 1 対 1 で表すこ とにし,下限数は表記対象外とする.作図はTH モデル[3, 4]を参考としつつ筆者独自の記法を適用している.2. 大学の開講科目のデータモデリングについて
ここでは[1]に沿って大学の開講科目をデータモデリングする場合の基本事項を振り返る.図は[1]の誤記を正して ある.本章では問題を単純化するため,単科学部・学科の大学を想定しており,科目情報を定めるための「学部」エ ンティティは不要のため記載していない(次章で記載).それでは最も簡単な場合として条件1 から考察してみよう. <条件1> ① 開講科目を永続的な“科目c”で識別する. ② 通年科目や集中科目は存在しない. ③ 各科目は“年度・学期ごと”に一度だけ開講する. ④ 各科目は週1 コマを 1 開講セットとして毎週を進める. ⑤ 各科目は各学期の時間割表の中で1 開講セットだけ配当しリピート配当しない. ⑥ 各曜日・時限(コマ)に複数学級を配当できる.年度・学期・時間割表 [年度, 学期, 曜日, 時限] 科目 [年度, 学期, 科目c] 年度・学期時間割表 V#・科目配当 [年度, 学期, 曜日, 時限, #]-[年度, 科目学級c] 年度・学期・時間割表・科目配当 年度・学期・開講科目 [科目c] 年度・科目学級 [年度, 科目学級c]-(科目c, 学期) New! 年度・学期・時間割表 [年度, 学期, 曜日, 時限] 科目 [年度, 学期, 科目c] 年度・学期時間割表 V#・科目配当 [年度, 学期, 曜日, 時限, #]-[年度, 学期, 科目c] 年度・学期・時間割表・科目配当 年度・学期・開講科目 [科目c] 年度・学期・時間割表 [年度, 学期, 曜日, 時限] 科目 [年度, 科目c] 年度・学期時間割表 V#・科目配当 [年度, 学期, 曜日, 時限, #]-[年度, 科目c] 年度・学期・時間割表・科目配当 年度・開講科目 [科目c] 図-1 はこの簡易データモデル部分図である.これは<科目開講年度・学期>を予め定義した上で,<その年度・ 学期のその開講科目>を,<その年度・学期の時間割表>に<1 セットだけ配当>してゆくことを含意した図である. 条件1 の①は「科目」エンティティで,条件 1 の②③は「年度・学期・科目開講」エンティティで,条件 1 の④⑤ は「年度・学期・科目開講」エンティティと「年度・学期・時間割表・科目配当」エンティティの1 対 1 結合で,条 件1 の⑥は「年度・学期・時間割表」エンティティと「年度・学期・時間割表・科目配当」エンティティの 1 対多結 合で,それぞれ表現されている.科目c は管理の必要性から通常,変化しない永続的な値として定義される. 属性項目の [ ] は主キーを,( ) は従属項目を,下線は参照キーを表す.「年度・学期・時間割表・科目配当」にあ る [ ]-[ ] は,[年度, 学期, 曜日, 時限, #] と [年度, 学期, 科目c] が代替キーとしてペアリングされたサブタップル 結合となる構造を表現しており,年度と学期の2つの属性が両者にまたがって並存する構成となっている. 図-1 条件1:“年度・学期ごと”に一度だけの開講として科目配当する簡易データモデル部分図 科目開講条件の変化に応じデータモデルがどのように変容してゆくか見てみよう.条件1 の③“年度・学期ごと” を“年度ごと”に変更した条件2 の場合は図-2 のようになり,図-1 と同様の構造であることが分かる. 図-2 条件2:“年度ごと”に一度だけの開講として科目配当する簡易データモデル部分図 条件2 の⑤を“リピート配当する”に変更した条件 3 の場合は,図-3 のようになる.図-2 までと異なり,各科 目を実際に開講する科目学級が新たに時間割表に配当され,履修対象となる.科目学級c は,科目c と異なり,年度 内で科目学級を識別するための便宜的な管理項目に過ぎず,永続性を備えた値である必要はない.この項目は「年度・ 科目学級」エンティティの主キー [年度, 科目学級c ] を構成する部分属性項目として定義される.「年度・科目学級」 エンティティの主キーは,時間割表に配当する場合,履修対象を識別するための代替キーとして機能する. 図-3 条件3:科目をリピート配当する場合の簡易データモデル部分図 実は,図-1, 2 でも,「年度・科目学級」を分離・明示化することができ,同様の構造が認められる[1]ので,科目 学級を時間割表に配当するデータモデルのほうが汎用的であり,パターンとして柔軟な応用が期待できる.以下の図
学生の履修は,時間割に配当された年度・科目学級c の選択をもって確定するが, これは結果的に,科目配当から1 対 1 ないし多対 1 のパスを辿って特定科目の履修確定を導く. 年度・学期・時間割表 [年度, 学期, 曜日, 時限] 科目 [年度, 学期, 科目c] 年度・学期時間割表 V#・科目配当 年度・学期・時間割表・科目配当 年度・学期・開講科目 [科目c] 年度・学期・科目開講セット [年度, 科目学級c]-(科目c, 学期, セットc) [年度, 学期, 科目c, セットc] 年度・科目学級 New! 年度・学期・科目・曜日時限 [年度, 学期, 科目c, 曜日, 時限] New! [年度, 学期, 曜日, 時限, #] -[年度, 科目学級c]-( 〔科目c〕) 年度・学期・時間割表 [年度, 学期, 曜日, 時限] 科目 [年度, 科目c] 年度・学期時間割表 V#・科目配当 [年度, 学期, 曜日, 時限, #]-[年度,科目学級c] 年度・学期・時間割表・科目配当 年度・開講科目 [科目c] 年度・科目学級 [年度, 科目学級c]-(年度, 科目c) 【図 - 2に「年度・科目学級」エンティティを追加定義】 -4 は,図-2 の「年度・開講科目」の中に隠ぺいされた「年度・科目学級」を分離・明示化したデータモデルであ る.このような図に変えても,毎年度,1 科目につき 1 科目学級のみ開講するという条件 2 は保持される. 図-4 条件2:“年度ごと”に一度だけの開講として科目配当する簡易データモデル部分図の別表現 条件3 の④の開講セットを週複数コマが可能となるように拡張した条件 4 の場合は図-5 のようになる.データモ デルは段階を追うごとに複雑になるが,出発点となる原型は同じである.図-1~4 の素直な拡張として,「年度・学 期・開講科目」エンティティと「年度・科目学級」エンティティを媒介する「年度・学期・科目開講セット」エンテ ィティを新たに設け(❶),科目学級を科目開講セットのパーツとして個体管理する含意があるi. だが❶だけでは不十分である.年度・学期の科目内で開講セット群の科目学級のコマの重複を排除することはユー ザ(教務チーム)にとって常識だが,❶だけではその含意が無く,科目学級のコマの重複を未然に阻止できない事態 となる.すなわち,開講セット群の科目のコマは年度・学期の科目内で互いに素となる曜日・時限に配当しなければ ならない[1].そこで「年度・学期・科目・曜日時限」エンティティを新たに設け(❷),科目内の科目のコマが互い に素となる制御を与えたii. 図-5 条件4:科目の開講セットを週複数コマにでき複数セットをリピート配当できる簡易データモデル部分図 図-1~5 の全てに共通することが一つある.それは, ということを含意した構造である. i ただし科目学級c は,図-4 と同様,年度内で科目学級を識別するための管理項目として発番される. ii「年度・学期・時間割表・科目配当」の従属項目である〔科目c〕の〔 〕は,「年度・学期・科目・曜日時限」と の参照関係を確立するため,この項目を「年度・学期・時間割表」から借用[3, 4]したことを示す(以下同様).
年度・開講科目 [年度, 科目c] 科目 [科目c] 入学年度科目構成 [入学年度, 科目c] -(配当学年) 年度・入学年度・学年 [年度, 入学年度, 学年] <導出エンティティ> 入学年度と配当学年から 年度ごと学年別の開講科目が 導出できる。☞は導出方向 年度・学年別開講科目 [年度, 入学年度, ☟ ☞ 入学年度別 カリキュラム 構成 年度・科目学級 <導出エンティティ> 入学年度と配当学年から 年度ごとの開講科目が 導出できる。☞は導出方向 [年度, 科目学級c] -(科目c) [年度, 科目学級c, 年度・科目学級・学年 学年, 科目c] 入学年度, 学年]-(〔科目c〕) 入学年度 [入学年度]
3. カリキュラム構成科目とカリキュラム拘束のデータモデリング
前章で述べたデータモデルには,共通の難点がある.それは,入学年度に学生に開示した卒業年度までの科目配当 計画の実現が保証されず,このままでは毎年度,自由に開講科目が構成できてしまうという統制不能の問題である. なぜそうなるかは,「科目」エンティティと「年度・開講科目」ないし「年度・学期・開講科目」エンティティと の1 対多結合から明確に読み取れる.この結合は,科目開講年度が自由に設定できることを含意するが,教務常識と は相いれないデータモデル構造である.要するに,前章の図には,重要な管理情報の記載が欠け落ちているのである. 実際には,科目開講年度は,新入学時に開示されるカリキュラム科目の学年配当表に従って開講しなければならな い.この必須ルールを表現したデータモデルを以下で検討しよう.前章と同じく,問題を単純化するため単科学部・ 学科の大学という前提で議論を進める. 図-6 カリキュラム拘束を受けた年度・開講科目の簡易データモデル部分図 ここでは図-6 から検討する.「入学年度」エンティティはカリキュラムの版管理を決める最重要な存在である. その下にある「年度・入学年度・学年」は,カリキュラムの運用を具体的に拘束するエンティティである.「入学年 度科目構成」は,新入学時に開示されるカリキュラム構成科目群のエンティティ表現であり,各科目の配当学年が従 属項目として定義されている.その下にある「年度・学年別開講科目」は,「入学年度科目構成」から,「年度・入 学年度・学年」を媒介として,導出された仮想エンティティであり,新入学生が学年進級とともに履修可能となる科 目が自動的に判別できるようになっている.「年度・開講科目」は,同じく「入学年度科目構成」から導出される仮 想エンティティである.本稿では仮想エンティティを縞目の枠線で表現している. 仮想エンティティ「年度・開講科目」は,「年度・学年別開講科目」を年度と科目c で捨象しても導出できるが, そもそも「年度・学年別開講科目」自体が「入学年度科目構成」から導出された仮想エンティティであり,「年度・ 学年別開講科目」を経由した導出は冗長となるから導入パスを結合線として描画していない.この点に留意しよう. この後すぐ述べるが,図-6 は,他のエンティティから導出された仮想エンティティである「年度・学年別開講科 目」と「年度・開講科目」の存在が際立っている.これらは導出元である「入学年度科目構成」に完全に依存しつつ 他のエンティティを統制する機能を果たしており,この点に注目すべきデータモデルとなっている. そのような存在である「年度・開講科目」の制約下で,実際に開講する科目学級を定義したのが「年度・科目学級」 エンティティである.だが誰もが自由に履修できる対象ではない.入学時に開示されるカリキュラム構成科目群は, 学生の学年進級とともに履修可能となる科目を予め定めたものであり,どの学生がどの科目学級を履修できるかは, この制約に従わなければならない.その制約に従った履修対象は「年度・科目学級」と「年度・学年別開講科目」の 関係を定義した「年度・科目学級・学年」で定める.実は仮想エンティティ「年度・学年別開講科目」は,この制約年度・学期・時間割表 [年度, 学期, 曜日, 時限] 年度・学期時間割表 V#・科目配当 年度・学期・時間割表・科目学級配当 年度・開講科目 [年度, 科目c] 科目 [科目c] 入学年度科目構成 [入学年度, 科目c] -(配当学年) 年度・入学年度・学年 [年度, 入学年度, 学年] <導出エンティティ> 入学年度と配当学年から 年度ごと学年別の開講科目が 導出できる。☞は導出方向 年度・学年別開講科目 [年度, 入学年度, ☟ ☞ 入学年度別 カリキュラム 構成 年度・科目学級 <導出エンティティ> 入学年度と配当学年から 年度ごとの開講科目が 導出できる。☞は導出方向 [年度, 科目学級c] -(科目c) [年度, 科目学級c, 年度・科目学級・学年 学年, 科目c] 入学年度, 学年]-(〔科目c〕) 入学年度 [入学年度] [年度, 学期, 曜日, 時限, #] -[年度, 科目学級c, 入学年度, 学年] 年度・学期・時間割表 [年度, 学期, 曜日, 時限] 年度・学期時間割表 V#・科目配当 [年度, 学期, 曜日, 時限, #] -[年度, 科目学級c, 入学年度, 学年] 年度・開講科目 [年度, 科目c] 科目 [科目c] 入学年度科目構成 [入学年度, 科目c] -(配当学年) 年度・入学年度・学年 [年度, 入学年度, 学年] <導出エンティティ> 入学年度と配当学年から 年度ごと学年別の開講科目が 導出できる。☞は導出方向 年度・学年別開講科目 [年度, 入学年度, ☟ ☞ 入学年度別 カリキュラム 構成 年度・科目学級 <導出エンティティ> 入学年度と配当学年から 年度ごとの開講科目が 導出できる。☞は導出方向 [年度, 科目学級c] -(科目c) [年度, 科目学級c, 年度・科目学級・学年 学年, 科目c] 入学年度, 学年]-(〔科目c〕) 入学年度 [入学年度] 年度・学期・時間割表・科目学級配当 学生 科目履修 [学生c] -(学部c, 入学年度, 学年) [学生c, 年度, 科目学級c] -(〔入学年度〕.〔学年〕) 学部 [学部c] のために定義したのであった.「年度・科目学級・学年」は,実際の運用で選択登録するインスタンス集合であり, 仮想エンティティではない.なお,前述と同様,〔科目c〕は「年度・科目学級」から借用した従属項目である. こうして得られた「年度・科目学級・学年」エンティティの具体的な時間割表への配当は,図-7 のデータモデル のようになる. 図-7 カリキュラム拘束を受けた年度・開講科目の時間割配当の簡易データモデル部分図 個々の学生の科目履修は,この「年度・科目学級・学年」エンティティに登録された科目学級インスタンスの選択 として図-8 のように表現される.問題を単純化するため単科学部・学科の大学とした前提により,「学部」エンテ ィティは,単に学部の情報を管理する機能にとどまっている.なお〔入学年度〕と〔学年〕は,前述と同様の方法に より「学生」エンティティから借用した従属項目である. 図-8 カリキュラム拘束を受けた年度・開講科目の時間割配当と履修の簡易データモデル部分図 以上を準備して初めて,読み替え科目の議論とデータモデリングが具体的に可能となる.科目の読み替え対応は上 で述べたカリキュラム拘束の副産物といって良いからである.詳しくは次章で検討しよう.
4. 科目廃止に伴う読み替え対応のデータモデリング
新入学時にカリキュラムとして提示された科目群は,4 年制大学の場合,その学生が 4 年生になるまで科目配当を 保証する.だが,それを超えて在籍する学生については,その学生が卒業するまで科目配当したくても,大学側の事 情で,やむを得ず科目廃止され,履修できなくなる場合が生じる.ただし,新しいほうのカリキュラムに廃止科目と入学年度 [年度, 科目c] 科目 [科目c] 入学年度科目構成 ☟ ☞ 入学年度別 カリキュラム 構成 年度・科目学級 [年度, 科目学級c]-(科目c) [年度, 科目学級c, 年度・科目学級・学年 入学年度, 学年]-(〔科目c〕) 読替関係 [年度, 読替対象科目c, [年度, 科目c] -(開講区分) 開講区分="開講" 開講区分="読替" ② ① A 年度・開講科目 年度・読替対象科目 開講科目c] 年度・対象科目 [入学年度] 年度・入学年度・学年 [年度, 入学年度, 学年] 年度・学年別開講科目 [年度, 入学年度, 学年, 科目c] [年度, 科目c] -(開講区分) [年度, 科目学級c, #] 年度・科目学級・読替対応 -(〔開講科目c〕, 読替対象科目c) Ⅰ Ⅱ [入学年度, 科目c] -(配当学年) 似た内容の開講科目があれば,その科目の履修を以て,廃止科目の履修と同等の扱いをする救済の道を開くことがで きる.これが読み替え科目という制度であり,どこの大学でも広く適用されている手法である. 図-9 は,読み替え対応を新たに設けたデータモデルの試作である.ここでも問題を単純化するため,単科学部・ 学科の大学のカリキュラムを想定している.白抜きの
A
付近に注目しよう.図-9 では,これまでの仮想エンティ ティ「年度・開講科目」を「年度・対象科目」に命名変更した.その上で,「年度・対象科目」を随意に類別できる サブ・エンティティiii を新たに二つ設けた.二つのサブ・エンティティは開講区分という属性項目を共有し,{ 開講 | 読替 | 廃止 } の区分値を持つ.“読替”と“廃止”の違いは,同じ廃止科目の前者が何らかの開講科目で読み替 え可能であるのに対し,後者は読み替えの救済が無いことである.この項目により「年度・開講科目」と「年度・読 替対象科目」の2 つのサブ・エンティティを識別する.開講区分が“廃止”となるサブ・エンティティは,ここでは 設けない.「年度・読替対象科目」サブ・エンティティのインスタンスとなる廃止科目群は,「年度・開講科目」の いずれかの科目インスタンスによる読み替え対応を個別定義する.その対応関係を定義したエンティティが「読替関 係」である.図-9 の①は開講科目との,②は開講科目で読み替えることのできる廃止科目との結合をそれぞれ表し ている.これを受け,従来のⅠ「年度・科目学級・学年」に加え,読み替え対応科目の科目学級も履修できるようⅡ 「年度・科目学級・読替対応」が新たに時間割配当されることになったことがデータモデルで表現されている. 図-9 年度・開講科目の読み替え対応の簡易データモデル部分図(その1) 図-9 は一見,良さそうだが,以下のことを含意しており,教務常識に違反するデータモデルである. 1)「読替関係」が定義された科目は,どの入学年度の学生にも適用できることになっている. 2)一つの開講科目で複数の廃止科目を読み替えでき,また一つの廃止科目が複数の開講科目で読み替えできる関係 にある. 実際には,毎年,入学年度の版に応じて,1 廃止科目ごとに高々1 開講科目ずつの読み替え対応を定義するのが常 iii 随意入力項目があるので純然たるサブタイプとは異なる,という意味で本稿では「サブ・エンティティ」と呼ぶ ことにする.サブ・エンティティと参照先エンティティは1 対 1 で結合する.年度・学期・時間割表 [年度, 学期, 曜日, 時限] 年度・学期時間割表 V#・科目配当 -[年度, 科目学級c, 入学年度, 学年] 年度・学期・時間割表・科目学級配当 [年度, 学期, 曜日, 時限, #] [年度, 入学年度, 学年 読替対象科目c, 開講科目c] 入学年度 [年度, 科目c] 科目 [科目c] 入学年度科目構成 ☟ ☞ 入学年度別 カリキュラム 構成 年度・科目学級 [年度, 科目学級c]-(科目c) [年度, 科目学級c, 入学年度, 学年] 年度・科目学級・学年 -(〔科目c〕) 読替関係 [年度, 科目c] -(開講区分) 開講区分="開講" 開講区分="読替" ② ① 年度・開講科目 年度・読替対象科目 年度・対象科目 [入学年度] 年度・入学年度・学年 [年度, 入学年度, 学年] 年度・学年別開講科目 [年度, 入学年度, 学年, 科目c] [年度, 科目c] -(開講区分) [年度, 科目学級c, 入学年度, 学年] 年度・科目学級・読替対応 -(〔開講科目c〕, 読替対象科目c) Ⅰ Ⅱ B AA' [入学年度, 科目c] -(配当学年) 入学年度 [年度, 科目c] 科目 [科目c] 入学年度科目構成 ☟ ☞ 入学年度別 カリキュラム 構成 年度・科目学級 [年度, 科目学級c]-(科目c) [年度, 科目学級c, 入学年度, 学年] 年度・科目学級・学年 -(〔科目c〕) 読替関係 [年度, 科目c] -(開講区分) 開講区分="開講" 開講区分="読替" ② ① 年度・開講科目 年度・読替対象科目 年度・対象科目 [入学年度] 年度・入学年度・学年 [年度, 入学年度, 学年] 年度・学年別開講科目 [年度, 入学年度, 学年, 科目c] [年度, 科目c] -(開講区分) [年度, 科目学級c, 入学年度, 学年] 年度・科目学級・読替対応 -(〔開講科目c〕, 読替対象科目c) Ⅰ Ⅱ [年度, 入学年度, 学年 読替対象科目c, 開講科目c] B AA' [入学年度, 科目c] -(配当学年) 識である.これを満足する仕様に変更したのが,図-10 のデータモデルである.図の右にある白抜きの
A’
は<1 廃 止科目ごとに1 開講科目ずつの読み替え対応>,B
は<毎年,入学年度ごと>をそれぞれ仕様化した個所である. 図-10 年度・開講科目の読み替え対応の簡易データモデル部分図(その2) このような読み替え対応を前提とした科目学級の時間割表への配当は,図-11 のデータモデル表現となる. 図-11 年度・開講科目の読み替え対応を前提とする時間割配当の簡易データモデル部分図[管理対象c] 代替関係 [代替対応対象c, [管理対象c] -(管理区分) 管理区分="有効" 管理区分="代替" ① ② ② ① 有効管理対象 無効・代替対応対象 有効管理対象c] 管理対象 [管理対象c] -(管理区分) 年度・学期・時間割表 [年度, 学期, 曜日, 時限] 年度・学期時間割表 V#・科目配当 -[年度, 科目学級c, 入学年度, 学年] 年度・学期・時間割表・科目学級配当 [年度, 学期, 曜日, 時限, #] [年度, 入学年度, 学年 読替対象科目c, 開講科目c] 入学年度 [年度, 科目c] 科目 [科目c] 入学年度科目構成 ☟ ☞ 入学年度別 カリキュラム 構成 年度・科目学級 [年度, 科目学級c]-(科目c) [年度, 科目学級c, 入学年度, 学年] 年度・科目学級・学年 -(〔科目c〕) 読替関係 [年度, 科目c] -(開講区分) 開講区分="開講" 開講区分="読替" ② ① 年度・開講科目 年度・読替対象科目 年度・対象科目 [入学年度] 年度・入学年度・学年 [年度, 入学年度, 学年] 年度・学年別開講科目 [年度, 入学年度, 学年, 科目c] [年度, 科目c] -(開講区分) [年度, 科目学級c, 入学年度, 学年] 年度・科目学級・読替対応 -(〔開講科目c〕, 読替対象科目c) Ⅰ Ⅱ B AA' [入学年度, 科目c] -(配当学年) 学生 科目履修 [学生c] -(学部c, 入学年度, 学年) [学生c, 年度, 科目学級c] -(〔入学年度〕.〔学年〕) 学部 [学部c] また,配当された科目学級の選択となる個々の学生の履修は,次に示す図-12 のデータモデル表現となる. 図-12 年度・開講科目の読み替え対応を前提とする時間割配当と履修の簡易データモデル部分図 以上は,問題を簡単にするため,単科学部・学科の大学を前提として検討した.複数の学部を持つ大学の場合,毎 年,入学年度の版に応じて,1 廃止科目ごとに高々1 開講科目ずつの読み替え対応を,学部ごとに定義するのが常識 だが,学部間のカリキュラム共有が無ければ,単科学部・学科と実質的に変わらないので,上で議論した内容は依然 として有効である.いっぽう,昨今のように学部間のカリキュラム共有が進むと,上で議論した個々のエンティティ 間の結合関係に「学部」エンティティが複雑に絡み始め,データモデル管理は一気に難しくなる(作図省略).
5. 科目の読み替え対応と似た対応を持つ他分野の業務について
科目の読み替え対応は,カリキュラムの改廃と絡む複雑な管理機構を要することが分かったが,ここから何が学べ るか少し考察する.科目の読み替え対応は,卸売業や製造業の販売業務における代替品対応を連想させるが内容はか なり異なる.通常の卸売り販売における代替品対応は,科目の読み替え対応ほど複雑なロジックを内部に持たず,む しろ呆気ないほど単純な機構で済む場合が多い.たとえば在庫切れしやすい人気商品について,代替の効きそうな類 似商品群を予めマスター登録しておき,顧客に代替品対応を打診するための示唆情報を販売担当に提供する,といっ た使い方が典型である.また製造業における代替品対応の場合,個々の製品の要求品質に応える代用特性の基準を具 体的に定義しておき,それに合致する製品群を予めマスター登録する手続きは,卸売り販売よりもデリケートな運用 管理が求められるが,そこで投入されるロジックは科目の読み替え対応の場合と相当質的な隔たりがある. ただしカリキュラム拘束や教務常識といった独特の制約を捨象すれば,図-9 の白抜きA
の個所は,代替品管理と 似た特性を備えたものとなり,知識レベル[5]の汎用パターンにあたる図-13 のデータモデル試案が手に入る. 図-13 代替対応の汎用パターンの簡易データモデル部分図の試案カリキュラム拘束に則った廃止科目の読み替え対応と似た運用を持つ業務としては,むしろ,旅行会社が提供する 旅行パックにおける<現地対応による弾力的な旅程変更>が,該当するかもしれない.旅行パックを販売する業務で は,予め旅程を細かく定義しているが,現地で不測の事態(病気,交通事情,事故,その他)に遭遇することは避け られない.そこで,要所ごとにトラブル対応に備えた代替案を予め用意しておき,添乗員や現地協力者に相当程度の 判断と行動の決定権を与えることにより,顧客の安全を保障し顧客満足を達成しようと工夫している. このような顧客サービス対応を至高とする旅行パックの管理業務は,実際にどのようなデータモデルとなるのだろ うか.またそのほかの業種業態にもカリキュラム拘束と読み替え対応に似た運用の業務があるのかどうか.あるとす れば,本稿で見出したデータモデル特性は,新たな汎用パターンとしての成長が期待できる.筆者はこうしたことに 関心があるが,今後の検討としたい.