筑波大学技術報告
29: 28-35, 2009

附属坂戸高等学校学務処理システムの構築
加島 倫

1

附属学校教育局 学校支援課 附属坂戸高等学校係 学務システム WG〒350-0214 埼玉県坂戸市千代田 1-24-1

概要

2. 設計

本システムは、附属坂戸高等学校における、諸学務処理業務支援を行うための基幹業務ソフトウェア
であり、Windows Server 2003 R2, SQLServer 2005
(Standard) DBMS 上で稼働し、.Net ASP Web フレー
ムワーク及び、C#言語にて記述される。
機能には、入試業務、出欠席記録、履修管理、成績記録、指導要録管理、生徒情報管理などがあり、それぞれは web フォーム型 (.net ASP)、C#アプリケーション型どちらかの適当なインターフェースで提供される。 端末に Nintendo DS （Wi-Fi 対応携帯ゲーム機）の利用することを特徴とする、無線出欠席入力機能を有し、各教室に配置されたアクセスポイントを経由、サーバーにアクセスし、出欠席情報をリアルタイムで入力することが可能である。
帳票出力機能には、SQLServer Reporting Service を利用し、web ブラウザーからの操作・閲覧・印刷が可能となっている。
キーワード：学務、坂戸高等学校、指導要録、ソフトウェア

教員数名とワーキンググループ(WG)を構成し、既存業務の洗い出しからの進行作業を図 2 のようなワークフローとした。
情報処理規模を検討し、稼働させるハードウェア,OS 構成を下記のように決定した。
Server DELL PowerEdge 2900 Xeon 5130 2GHz
(2CPU), 2GB RAM, HDD 250GB (RAID1)
OSMicrosoft Windows Server 2003 R2
DBMS Microsoft SQLServer 2005 Standard
Client Windows XP Professional, Nintendo DS

OS, DBMS は、Linux+MySQL 等の無料のものも候補に挙がったが、開発作業を分担して行うことを想定し、参考書や開発情報の豊富な Microsoft 製のものを選択した。
ソフトウェアの仕様を策定するにあたって、現在稼働している業務内容について確認し、モデル作成を行うため、各担当者に既存の業務で使用している入力と出力帳票などを元に、流れを整理するとともに、データーフロー図 (DFD) を記述していただいた。 記述方法として Gane-Sarson 記法（図 3）採用した。完成した DFD の一部を図 4 に示す。

1. はじめに
本校では、生徒履修情報等を管理する学務ソフト
ウェアとして、当初 DBASE-IV を用いたシステム（図1）が稼働しており、下記のような機器構成で運用されていた。 近年、これらの機器も老朽化し、維持が難しくなったことから、現行のパーソナルコンピューターで動作するシステムを構築することとなった。

その後、作成すべきアプリケーションと機能をまとめ、システム機能構成図を作成した（表 1, 2）。
さらに、必要なエンティティーをまとめて、DBテーブル、フィールドを設計した（図 5) 。

旧システム構成
Server
NEC N5200
NOS
Novell Netware
ClientPC9801 MS-DOS
DBMS
Borland DBASE-IV

図 1. 旧システム画面(出欠席)1hkashima@sec.tsukuba.ac.jp28

図 2. ワークフロー

図 3. Gane-Sarson 記法のルール

29

図 4. データーフロー図(履修サブシステム)
表 1. 出力帳票一覧(抜粋)プログラム名処理系

表 2. 入力フォーム一覧
グループ

帳票名

RepJM01
SQL Reporting Service [事務] 生徒手帳半印台紙
RepKS01
SQL Reporting Service [科目選択] 選択者一覧表
RepKS02
SQL Reporting Service [科目選択] 選択者集計表
RepKS03
SQL Reporting Service [教務] 選択科目教科書注文調査票
RepKS04
SQL Reporting Service [教務] 必修科目教科書注文調査票
RepKS05
SQL Reporting Service [教務] 教科書注文調査票
RepKY01
SQL Reporting Service [教務] 居住地別生徒数一覧
RepKY02
SQL Reporting Service [教務] 生徒基本台帳
RepKY03
SQL Reporting Service [教務] HRリアルタイム出欠レポート
RepKY04
SQL Reporting Service [教務] マイ名簿印刷
RepKY05
SQL Reporting Service [教務] HR出欠集計表
RepKY06
SQL Reporting Service [教務] 科目出欠集計表(全報告ベース)
RepKY07
SQL Reporting Service [教務] 科目出欠集計表(マイ名簿ベース)
RepKY08
SQL Reporting Service [教務] 担任・科目出欠報告相違一覧(HR別)
RepKY09
SQL Reporting Service [教務] 担任・科目出欠報告相違一覧(科目別)
RepKY10SQL Reporting Service [教務] 科目出欠報告状況レポート
RepKY11
SQL Reporting Service [教務] 暫定通知表
RepKY12SQL Reporting Service [教務] 科目出欠の報告の矛盾一覧
RepKY13
SQL Reporting Service [教務] 成績一覧表
RepKY14
SQL Reporting Service [教務] 通知表
RepKY15
SQL Reporting Service [教務] 成績入力達成表
RepKY16
SQL Reporting Service [教務] 科目別成績平均一覧表
RepKY17
SQL Reporting Service [教務] HR別成績表
RepKY18
SQL Reporting Service [教務] 科目別成績入力確認表
RepKY19
SQL Reporting Service [教務] マイ名簿上の成績の付いていない生徒一覧
RepKY20
SQL Reporting Service [教務] 成績不良者一覧表
RepKY21
SQL Reporting Service [教務] 調査書(進学用)
RepKY22
SQL Reporting Service [教務] 個人別全科目成績一覧表
RepKY23
SQL Reporting Service [教務] 成績証明書
RepKY24
SQL Reporting Service [教務] 調査書(就職用)
RepKY25
SQL Reporting Service [教務] 単位修得証明書
RepKY26
SQL Reporting Service [教務] HR別欠席集計表
RepPTA01
SQL Reporting Service [PTA] 会員名簿
RepTS01
SQL Reporting Service [図書館] 新入生貸出台帳作成シート
RepY101
SQL Reporting Service [年次]新入生クラス編成カード
C#要録くん
指導要録
入試判定出力 C#
入試判定会議資料
C#通知くん
通知表
シラバスエディタ C#
科目選択ガイダンスブック(シラバス)版下

科目管理プログラム名テーブル名webページ(学生用)

科目選択科目管理

シラバスエディタ

シラバス

指導要録管理要録くん

指導要録_記指導要録管理要録くん

指導要録_単出欠席管理

webページ(携帯端末用)

HR出欠

出欠席管理

webページ(教員用)

科目出欠

出欠席管理

webページ(教員用)

出欠名簿

出欠席管理

webページ(教員用)

名簿所属

出欠席管理

ナースくん

保健入室

成績管理

成績くん

成績

成績管理

通知くん

通知表

生徒情報管理webページ(教員用)認証

生徒情報管理生徒諸くん

生徒

生徒情報管理中学校エディタ

中学校

入試管理

一般エントリ

一般入試

入試管理

一般会場設定一般会場

入試管理

一般素点入力一般素点

入試管理

推薦エントリ

推薦入試

入試管理

推薦会場設定推薦会場

入試管理

推薦素点入力推薦素点

表 3. 機能構成図(履修サブシステム)
システム名
履修管理サブシステム

システム機能アプリケーションサービス
シラバス編集シラバス管理科目選択条件編集
科目選択管理

受付期間設定DBアクセス
更新
更新

定員越え科目ロック
非開講科目処理
DB管理・照会機能
レポート機能履修者リスト管理

更新

履修者検索

参照

履修者リスト印刷

参照

CSV出力機能30

図 5. テーブル構成図（抜粋）31報告できるようにした。 出欠席情報がリアルタイムでサーバーに格納されることにより、授業担当教員は出欠席情報をすぐさま端末から参照できることになる。 なお、連絡事項の情報は RSS フィードとして配信されている。
無線端末には、携帯ゲーム機 Nintendo DS を使用している。 Nintendo DS は、ソフトウェア Nintendo
DS ブラウザーを搭載することにより、Wi-Fi 対応Web ブラウザーとして使用することができる。 他の端末候補として、SONY 社の PSP、mylo、各携帯電話会社のスマートフォン等もあったが、2007 年現在もっとも安価に導入できる Nintendo DS を採用した。

3. 機能・プログラム構成
3.1 入試業務サブシステム
入試業務のためのソフトウェアは以下の通りである。
受験者情報入力フォーム (C#)
試験採点結果入力フォーム (C#)
選抜会議資料出力 (Reporting Service)
不合格通知出力 (Reporting Service)
合格通知出力 (Reporting Service)
入試試験採点結果の扱いには特に注意をはらい、充分な試験運用を行わなければならない。 本シス
テムでは、旧システム、新システムの並行運用と同時に、点数の加工計算においては、素点情報を表計算ソフトなどの第 3 の処理系に移して手計算をし、厳重な動作試験を行った。

3.2 出欠席記録サブシステム
SHR 出欠席入力フォーム (Web, Nintendo DS)
マイ名簿作成フォーム (Web)
講座出欠入力フォーム (Web)
出欠席集計出力 (Report Service)

図 6. 携帯端末 (Nintendo DS)

出欠席情報は、最も稼働率の高いデーターであり、効率の良い運用をするためには、簡単・シンプルに操作できる必要がある。 従来のシステムでは、予定されている授業の日付枠に出欠席記録を埋めてゆく方式がとられていた。 このため、年度（学期）初めに授業予定情報を入力しておかなければならなかった。この作業はインターフェースが古いこともあり、非常に面倒な作業であった。
新システムでは、このような講座時間情報を放棄し、日付、科目、状況を 1 組としてポストしてゆく投票方式の出欠記録となっている。 ただ、対象日の決定は報告者に委ねられるため、誤って授業の無い時間についての出欠もポストされてしまう可能性があるという欠点がある。
出欠情報は、HR 担任が記録する出欠情報を HR出欠テーブルへ、各授業で行う出欠を科目出欠テーブルへ分割して収納している。 HR 出欠テーブル
は、1 レコードあたり 1 日・人で、1 時間目～7 時間目までの出欠情報を持ち、科目出欠デーブルは、1レコードあたり、1 限・人・科目で記録される。 レ
コードの増加規模は、学校全体（全校生徒数 480 人）で HR 出欠が 1 日 480 レコード、科目出欠が 1 日おおよそ 3,360 レコードとなる。 1 年間では 85 万レ
コードとなるため、年度更新時に消去しアーカイブ保存する。

・遅刻者数自動報告機能
生徒指導のための機能として、SQL Server 2005 のスケジュール機能を用いて、毎昼 12:00 に朝の出欠報告の情報から遅刻者の集計をし、e-mail で各教員へ通知する機能を作成した。 報告される情報は、その日の遅刻者と、当月、遅刻が 5 回を超えた生徒の一覧である。
・マイ名簿機能
出欠席入力をより抽象化するために、教務手帳をモデルにした、マイ名簿という機能を作成した（図7）。
教員は出欠席の記録において、教務手帳や、それに代わるノートの類を携帯して出欠席を記録し、その生徒一覧は、頒布されたか自作した表計算シートを縮小印刷し、帳票をノートに切り貼りしている。
マイ名簿では、科目選択システムで収集している履修情報、生徒情報により、履修科目名簿、クラス毎の名簿を検索、グループ化し、マイ名簿として教員毎に管理できるようになっている。
マイ名簿を呼出し、日付、出欠席情報に科目番号を付け加えて、サーバーにポストすることにより、教務手帳での記録作業と同様の感覚で出欠席入力ができる。

・無線端末システム高等学校では、各教室においてショートホームルーム (SHR) と呼ばれるクラス担任による朝礼があり、朝の登校時の出欠席とその日の連絡等が行われる。
本システムでは、無線端末を利用し、学校レベルの連絡事項の確認や、出欠席情報をリアルタイムで32

3.4 成績記録サブシステム
成績入力フォーム (C#)
成績会議資料出力 (Report Service)
成績情報は、重要情報であるため、C#アプリケーションで作成している。 C#アプリケーションは設計機能専用であり、インストールしていない PC では作動しないため、セキュリティーを高められると共に、Web アプリケーションにはできない細かい処理もインプリメントすることができる。（図 9）

図 7. マイ名簿編集画面

3.3 履修サブシステム
科目選択入力フォーム (Web)
科目選択者管理 (Web)
科目選択集計出力 (Report Server)
シラバス編集フォーム (C#)
シラバス出力 (Report Service, C#)

図 9. 成績入力画面

3.5 指導要録作成サブシステム
成績証明書出力
指導要録入力フォーム (C#)
指導要録出力 (Report Service, C#)

履修システムでは、シラバスと選択科目（履修）情報の管理を行う。 シラバステーブルには、同時履修不可科目などの選択条件フィールドが含有されており、生徒が Web 端末から行う履修科目選択において妥当性の判定に使用している。 科目選択入力
フォームは Web アプリケーションとして提供され、生徒がパソコン室からアクセスできるようになっている。 選択作業の許可制御は教員端末から設定が可能である。（図 8）
また、シラバスの印字出力は、そのまま製本会社への版下となる。

文部科学省規定の指導要録を記録することができる。（図 10） 指導要録には成績情報が含まれるが、更新頻度と保存期間が異なるため、成績サブシステムのテーブルとは別テーブルで扱っている。 増加してゆく一方の膨大なレコードを、日々更新する成績情報と同居させるのは動作効率が悪い。

図 8. 履修条件設定画面
図 10. 指導要録編集画面

33

3.6 保健室記録サブシステム

3.7 生徒情報管理サブシステム

保健室入室記録フォーム (C#)

生徒情報の管理を行う。 入学時に提出される、生徒の情報が記された、生徒カードと呼ばれる書類をスキャナーで取り込み、写真、住所等を入力する。

保健室を利用した生徒の入室時間、時限を記録し、出欠席情報集計、生徒指導などに利用する。

3.8 教員 ID 管理サブシステム
各教員の ID と、ロール（操作権限）管理を行う。

4. Reporting Service, .Net ASP について
本ソフトウェア作成において使用した処理系のプログラミング例について簡単に説明する。

3) 更新ボタンを配置、SqlDataSource.Update()を記述。
4) Web 発行

4.1 Web (.Net ASP)アプリケーション
以上でテーブル編集機能が Web 上で実現される。
但し、オプティミスティック同時実行制御方式（配列に残っている更新する前のデーターと更新直前のオリジナルデーターを比較し、他で変更されていたらエラー）であるため、多人数のアクセスは障害の原因となる。厳密な排他制御をする場合は、TableAdapter.Transaction プロパティに排他モードを指定し、ロールバック処理その他を記述しなければならない。
また、ユーザー認証には Windows 認証が使われるが、認証機能がサービスできない場合（NintendoDS や Windows Home Edition での接続）は、フォーム認証処理を記述する必要がある。

オプティミスティック同時実行制御方式（楽観的排他制御）でのデーター利用をする場合では、テーブル編集程度の簡単なものであれば、数回のオペレーションで作成することができる。
1) データーベース構成ウィザードで、接続する
SQL Server, DB 名, テーブルを指定し、DataSource を作成する。（図 11）2) GridView コンポーネントをページに配置し、GridView タスクで新しいデーターソースの作成をし、作成ウィザードに従って SQL Serverのテーブルを登録する。（図 12）

図 11. DataSource の作成

図 12. .Net ASP での GridView

4.2 SQL REPORTING SERVICES による帳票機能
Reporting Service は、SQL Server Standard Edition
以上のグレードに付属する IIS 用 Web サービスコンポーネントである。 Web 上で DB 検索等に使用するパラメーターを入力し、SQL 文を実行、結果を帳票にして表示することができる。のである。 パラメーターを使用することにより、
Web ブラウザーの画面上から情報を SQL 文へ引き渡すことができる。
レポート配置までのオペレーションをまとめると、以下のようになる。

SELECT 年, 組, 番号, 氏名 FROM V 生徒年組番
WHERE 年 = @年 AND 組 = @組

1) Visual Studio でレポートサーバープロジェクトを新規作成
2) レポートウィザードに従い、SQL 文を入力、適当なテンプレートを選択
3) レポート配置（Web に展開）

上の SQL 文は、学年と組に合致する生徒のリストを抽出するコマンドである。 Reporting Service において、@の付く変数は入力パラメーターを指示するも34

Report ドキュメントは、Web ブラウザー上だけではなく、C#アプリケーション内からも印刷可能なビューとしてアクセス可能である。
閲覧時は、Web ブラウザーからは出力された帳票を XLS ファイルや CSV、PDF へエクスポートすることができる。 印刷機能ももちろん提供されるが、これは Internet Explorer 限定で、IE 以外のブラウザーを使っている場合は一度 PDF に落とす必要がある。 図 13 はレポートレイアウトの編集画面である。

図 13. レイアウト画面

5. おわりに
今回初めて C#, SQL, ASP 処理系を取り扱った。
C#については、ポインタ概念がなく、データーの受け渡しで違和感を覚える部分があった。 内部で実際どのように処理されているかがプログラマに見えにくいところがあるが、計算機のメモリーも処理速度も充分な現在においては、もはや気にしなくて良いポイントとなっている。 SQL は、C 言語に慣れているプログラマにとっては古くて使いにくい言語であると感じた。 単純検索（SELECT 文）では 1 行で済むためさほど気にならないが、ストアドプロシジャーでの多行にわたるプログラミングでは、構文をスマートに記述できず、言語を複雑に工作して無理矢理処理させているような感じがした。
本システムの構築においては、プログラミング技術的にはさほど難しくなかったものの、既成業務の解析作業において大半の時間を費やした。業務ソフトの作成とは、業務モデルの洗い出しそのものである。
情報化が進んでいない事業所の場合、各業務間のインターフェースは数百の無秩序な表計算ファイルと口頭伝達によるものとなる。 マクロ等が多数含まれている表計算ファイルはプログラムリストにするなど図式化が難しいため、第三者が理解することは非常に難しい。 しばしば作成者自身ですら理解不能となっていることもある。 だが、こういった状況が悪いかと言うと、実はそうではない。 全体の業務規模や複雑さにも依存するだろうが、分散処理という意味では、一部が壊れても自己修復（担当が辞める→別の担当者が入る→新しい自前の Excelを作る）可能な、インテリジェントで優れたシステムなのである。 なんと言ってもコストがかからない。
もちろん、基幹業務ソフトウェア・システムを持っているに超したことはないが、システムには専属オペレーター（既成ソフトなら製造会社と SE の派遣）が必要である。システムには、故障や処理修正などのメンテナンス作業はつきものであり、電源を入れておくだけで永久に使い続けられることはあり得ない。
専門技術者を持たない事業所は、億単位の導入費用と数千万円の年間維持費をもって、業務ソフトウェアと付き合わなければならないだろう。
高等学校のような営利のない小規模事業所では、前者のような形態で運営するのも間違いではない選択だと考える。

参考文献[1]小野哲、藤本 亮, 現場で使える SQL, 翔泳社 , 2001
[2]SQL Server 2005 Books Online, Microsoft[3]Microsoft Support Online, http://support.microsoft.com/,
Microsoft[4]MSDN Library, http://msdn.microsoft.com/ja-jp/library/,
Microsoft[5]埼玉県学校便覧
http://www.pref.saitama.lg.jp/A20/BA00/chousa/binran.ht
ml , 埼玉県[6]Scott W. Ambler, Agile Modelling,
http://www.agilemodeling.com/

Development of School work Computer System for the Senior High School at
Sakado, University of Tsukuba.
Hitoshi Kashima
Senior High School at Sakado
1-24-1 Chiyoda, Sakado, Saitama, 350-0214 Japan
This system provides a service of school work assistance for Senior High School at Sakado, University of Tsukuba. This systemrunning on server computer system with DBMS of Microsoft SQL Server 2005 and .net ASP framework written in C# language.
There are few system groups for assistance in education work, an entrance examination work, a roll book, course registration work,
Student information system and some administration tools. One of novel feature, Nintendo DS Wireless LAN roll-book system. Thissystem can record absence information on real time to the database via Wi-Fi access points.
Keywords: SQL Server; School work; C#; .net ASP; Sakado

35