ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

「教育支援システム」いわゆる「教務システム」の内製で旧システムの修得単位情報を移行した

leave a comment »

「教育支援システム」という名称の高等学校のいわゆる「教務システム」を担当し、既存のシステムの限界を感じて「内製」を決断したのが2006年だった。2007年度にシステムの基本を完成し、2008年度から運用、今年は2年目にあたる。だが旧システムで処理していた情報のうち、生徒の修得単位については移行が難しかった。それを先日ようやく新システムに移行することができた。
 
この修得単位の移行は、できればもっと早くしたかった。しかし、まずはその年度の講座編成、受講登録、出席管理、そして成績処理と単位認定という一連の流れを作る必要があったので、単位の移行は後回しになっていた。この作業は、システムの内製を決断した時点から、新システムへの移行工程のうち、かなりやっかいな部分になるだろうとわかっていた。その主たる理由は、旧システムで管理していたコードの問題だった。
 
教務システムでは講座や修得単位などの情報をコードで管理する。当然コード体系には一貫性が必要だが、そのような観点でコードを作成すれば良いかは、まさにシステムの根幹にかかわる事柄である。コードを作成するには(1)処理すべき教科や科目の情報を正しく分類し一貫性があること、(2)どのような出力を必要とするかによって工夫すること、(3)実務上合理的に様々な処理ができること、これらの点を考慮する必要があるように思う。
 
(1)については言うまでもないだろう。しかし、教科や科目のコードを作成する場合、例えば学習指導要領の教科科目の一覧表をそのまま一対一でコード化すればよいかといえば、それだけではうまくいかない。システムで様々な処理をする中で、どのような出力を必要とするのかという(2)の観点が必要になる。例えば現在の教育課程では、卒業の要件にいくつかの条件がある。それは例えば修得単位の合計が74単位であることといった単純な集計ですむものだけではなく、必履修科目の履修や、学校設定教科や学校設定科目の単位数は20単位まで、といった条件もある。これらの条件をシステム上で判断させたいなら、合理的に処理できるように教科科目コードを考えておかなければならない。もうひとつはシステム運用における実務上の問題として(3)がある。あまりに複雑な処理を必要とするコード体系を作ると、実務が複雑になり実際的ではなくなる。実務が複雑になれば、そこに間違いが発生する率も高くなり、システム全体の信頼性にも影響する。
 
残念ながら本校の旧システムでは、コード管理に大きな問題があった。結果として旧システムで管理されているデータは、様々な問題を含むものになっていた。これを正しく解析しながら新システムに移行するのは、慎重を要する業務となった。そこで日常の授業を行う傍らでは作業ができないので、夏休みなど長期休業中にデータ移行の作業を行うことに決めていた。これを昨年の夏に行う予定だったのだが、昨年の夏は突発的な別の問題が発生し、この単位の移行作業を行うことができなかった。
 
生徒の修得単位の情報が、旧システムと新システムに分かれて管理されている状態は、利用者にとってたいへん不便であることはわかっていた。しかし中途半端に単位の情報をさわると、後で取り返しのつかないことになることを恐れた。しかし今夏、ようやく単位を移行することができた。
 
移行した単位の概要は次のとおり。
 
旧システムにある修得単位の全データ数 78,085件
旧システムで管理されている本校生以外の人数 54名
旧システムで管理されている修得単位のうち本校生以外のもの 869件
したがって新システムに移行すべき単位数は 77,216件

2007年度と2008年度の修得単位は新システムで管理されており、これは24,607件ある。そこで旧システムの単位と新システムの単位を合計すると、101,823件の修得単位データとなった。

Written by Yoshio Matsumoto

2009年8月16日 @ 12:01 AM

カテゴリー: 教務システムの内製

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。