MyOpenArchiveに目を見張った
国立国会図書館でAPI公開

「猫の司書さん」に会ってきたよ!

「猫の司書さん」を創った! ~高校生が語る図書館システム~ 会場にて

京都まで「猫の司書さん」に会いに行きましたよ。帰宅したので詳細情報を追記します。大変お待たせしました。

すでに

などで既報ですが、第28回U-20プログラミング・コンテストで最優秀賞に選ばれた、岐阜県立東濃実業高校コンピュータ部が作成した図書館業務管理システム「猫の司書さん」の講演を聴いてきました。主催は大学図書館問題研究会京都支部。よくぞ岐阜から呼んで頂きました。(直接お電話で依頼し、快諾いただいたそうです。)

経済産業省の報道発表「平成19年度情報化月間(10月1日~31日)について」によれば受賞理由は以下の通り。(「第28回 U-20プログラミング・コンテスト入選作品の表彰 - 日本情報処理開発協会」が開けなかったのでとりあえず以下をご参照ください。)

図書館司書業務支援ソフト。メールによる督促状送付や予約図書の入庫連絡、メールマガジン発行機能など、学校司書と打合せをして司書業務に必要な機能をほぼすべて実装している。
業務分析や必要機能の事前リサーチなども綿密に行われ、ユーザインタフェースなど細かいところにも配慮が行き届いており、非の打ち所のない完成度の高い作品である。学校での実用に十分耐えうる図書館管理システムであり、今後は、管理ツール以外の新たな分野にも挑戦するなど、更なる成長を期待したい。

上記発表資料の3.の(別紙2)(PDF)より)

図書館業界でも、カレントアウェアネス-Rで紹介されたほか、

大枚はたいてFさんから買うのと、 

この子らが作るのと。
http://itpro.nikkeibp.co.jp/article/NEWS/20070918/282205/
いっぺんこれを導入してマジ検証してみたらいいと思う。
("大枚はたいてFさんから買うのと、". HVUday

など、興味関心深深なのは図書館退屈男だけではありません。特に、(おそらく)図書委員とかでもなく業務は素人のはずなのに、どうやって要件定義と設計、実装を行ったのか、実際の動作画面はどうなのか、実戦に耐えうるのか、そしてあのむやみにかわいい猫は誰が書いたのかなど、各地の司書はじめ全国三千万のネコ好きのみなさまも気になるところでしょう。

さて、プレゼンは顧問の久保利光先生とコンピュータ部の生徒さん。メンバーは5人で、プログラム担当4+グラフィックなど担当1という編成。この日は生徒さん3人+先生での発表となりました。

冒頭、久保先生から、「図書館員向けのプレゼンは今回が初めて。彼ら生徒はコンピュータの専門家から褒められた経験しかないので、今回は厳しい批評をお願いしたい。」とのこと。
それはこの場で質問攻めでフルボッコにしてもいい、ということですよね? 実際、質疑応答は激しかったです。

活動のバックグラウンドについては久保先生からご説明がありました。以下、概要です。

  • まず国家資格の取得から。これで基礎を身につけさせる。基本情報技術者試験の合格が最初の目標で、ソフトウェア開発技術者試験に合格した生徒もいる。(活動実績は学校Webサイトの「トピックス」から
  • その後、情報処理の競技会で身に着けた基礎を試す。ペーパーテストが多い。全国大会が目標。
  • これらの成果を生かし、実際のソフトウェア作成を行う。3月中旬から企画、設計に入り、4月からプログラミング、7月末に完成しU-20プログラミングコンテストに応募した。
  • 「図書館のシステムを作りたい」と企画時点で生徒から提案があった。図書館システムはコンテストではよく取り上げられ、差別化するには高い完成度、新規性が必要となる。だが最初の起案書では利用者視点のシステム。そこで学校図書館に行かせた。現行のシステムのマニュアルをお借りしたほか、具体的業務のヒアリングを行い、要件整理を行った。
  • 設計手法や開発スケジュールの作成は資格取得の時点で学んでいる。顧問は問題点の指摘と進行管理だけ。具体的な改善点やスケジュール遅れのリカバリなどは生徒に考えさせる。
  • U-20プログラミングコンテストへの応募は今回が初めて。「日本在住の20歳以下の者」が参加条件。専門学校生の応募が多く、高校生が応募できるコンテストでは最高峰。

その後は生徒4人でのプレゼン。実際の動作画面を紹介しながらの説明でしたが、画面が小さく細かい部分まで見えなかったのがちょっと残念でした。

学校内で利用できるシステムで、誰もが使うものとして図書館システムを開発対象に選び、目標は

  • 現行システムでは電子化は一部だけで、学校司書の手作業による部分が多く苦労されている。これをシステム化して労力の軽減を図る。
  • 教室からネットワークで資料検索などのシステムを利用でき、便利にする。
  • 督促状の発行と通知など、紙での配布は作成も配布も大変。携帯電話なら生徒がほとんどが持っているので、電子メールでの通知で効率化を図る。

セールストーク風にまとめれば、「電子化による業務の軽減」「ネットワーク技術の活用による情報伝達の効率化」というところですね。「苦労していたり大変な業務を楽にしたい」という彼らの思いが伝わってきました。「なぜ業務を電子化するのか」という点では、最も基本の部分を把握できています。その思いがシステム作りの動機にもなるのです。

設計。機能要件を把握すべく既存のシステムのマニュアルをお借りしたところ、「専門用語が多く、業務が分からない」。例えば「蔵書点検」なんて何のことやらさっぱりわからない彼ら。それはそうだ。図書委員でもしていなければそんなことは普通分からない。そこで学校司書に具体的な業務と作業手順について教えを請う。「実業務を把握して要件定義」というセオリーをちゃんと踏んでいます。

そして実装。
  • 利用者系機能
    • 書誌事項からの検索
    • 一覧表示時に予約、貸出のなどのステータスを併せて表示
  • 管理系機能
    • 貸出、返却処理
    • 図書管理(新規受入と予約、紛失、除籍などの状態管理)
    • 利用者管理
    • 督促状の一斉送信
    • 蔵書点検
    • ベストリーダー出力
      • 貸出本のランキングをクラス、学年別に出力、リアルタイムに更新可能

など一般的な機能はそつなく実装されています。貸出、返却や蔵書点検などは利用者番号や図書番号の入力だけで実行できるなど、簡便な操作でできる作業は簡易化する、などの工夫が見られました。

「独自性」という部分で特筆すべきは、いわば図書館と生徒を「繋ぐ」ための数々の機能です。ヒアリングの中で思いついた「督促状をメールで送信できれば業務が楽になるでは」「図書館の利用を楽しくする」という発想から、かなり力が入った実装になっています。

利用者認証後は、
  • 自分の氏名、所属など情報確認と各種通知用のメールアドレスの設定
  • メールマガジンの購読設定
    • 分野(十進分類法の第1次区分)を登録すると、当該分野のメールマガジンが受信できる
  • 利用あるいは予約している資料の状態確認
  • 資料検索の詳細表示画面から、感想などのレビュー登録と編集、削除機能
    • レビューは詳細表示から常時閲覧可能
  • 図書館への購入希望図書、要望の送信
    • 内容は管理者のみに通知され、返信内容は個人用の画面で確認可能
などの機能が利用でき、認証については必要な箇所でlogin画面に遷移するように設計されています。
管理者系機能でもこれらに対応した以下の機能が実装されています。
  • メールマガジンの作成と発送
    • 新着図書案内と図書館からの情報をメールマガジンで発送
    • 新着図書案内は十進分類法の第1次区分を設定し、当該区分を登録している利用者のみに送信
  • 推薦図書の表示
    • 10件まで登録可能で、Webで参照
  • イベント情報登録
    • 学校や図書館のイベントをタイトルや内容、写真などで登録、webから参照可能

大学図書館向けシステムで提供が始まっているMyLibrary相当の機能が、利用者の「これは必要」という視点から実装され稼動している、ということに驚嘆を覚えました。

学校図書館という環境下でのプロトタイプの実装例、といってしまえばそれまでですが、

「利用者の秘密を守る」ためにMyLibraryを否定する言動が業界であったり、レコメンドやレビューの是非を大人が議論している間に、高校生は必要だから自分たちで実装しているんだぞ!凄いじゃん!俺は否定しないぞ!って言うか応援。百の論説より一の実装。

と昨今の図書館系blogでの議論を踏まえると言いたくもなります。(別に「図書館の自由に関する宣言」など関連綱領類を全否定する意図はありません。レコメンド系の話はそのうち別途書きますので今回は突っ込まないでください。)

今後の課題としては、質疑応答でも出ていましたが

  • バーコードの利用については、今回は実装が間に合わず断念した。できれば実装したかった。
  • 図書データの入力について、より効率化を図るために各種MARCに対応したい。

とのことでした。ちゃんと考えているなあ。

その他、画面の色やインターフェースについては「毎日の業務でも疲れないよう」配色や配置に気をつかったそうです。このあたりは猫の絵を書いた方が担当。

休憩の後、質疑応答に突入しました。サンドバック状態になるのか。

「よくできたシステムだと思うが、実業務にはまったく使えない印象を受けた。発注機能もない、MARC非対応では論外。」という手厳しい意見もあり。これには、昔SEとして図書館システムの開発に携わったこともある久保先生から、「身にしみて分かるご意見だが、現実には予算がなくて買えない。」という涙なご回答がありました。確かに、MARCの現物もないのに対応しろ、というのは無理な話で、懇親会では「年間の購入冊数で商用MARC導入の有無は決まるのでは」という意見もありました。でも対応すれば便利なのは確か。

その他、主な質疑は以下の通り。

  • レファレンス業務には対応していない?
    • 要望送信機能で対応したい
  • システムについて、途中で学校司書や外部の人間のレビューは受けたか?
    • 行っていない。そのような時間もなかった。
  • システム構成は?
    • PHP+MySQL。基本的にオープンソフトウェアで構成。テストデータは2万件。適用できる蔵書規模はサーバスペックに依存すると考える。
  • 雑誌には対応していない?
    • 特に考えていなかった。学校司書から要望は頂いている。
  • amazonや個人の蔵書管理ツールとの連携は?
    • 他のアプリケーションとの連携は考えていない。
  • レビュー機能について。(自分の所属が)女子高だからかもしれないが、友人からの推薦というのは影響力が大きい。匿名でも登録可能であれば、利用は伸びるのでは?
    • 現在は個人名が表示されてしまっている。匿名を許可するかについては検討したい。
  • 除籍後にデータの復元はできないのか?
    • 除籍簿にデータを残しているので、そこから書き戻すことはできる。
  • どうして猫?
    • 開発チーム5人が猫好き。あと、図書館業務は忙しく、「猫の手も借りたい」のでは。(拍手)

また、今後このシステムが自校で、あるいは他の学校で利用されるかについては、

  • 現時点では利用の予定はない。このままお蔵入りにはしたくないが。開発メンバーは4月からそれぞれの進路に進む。何らかの形でシステム開発に携わってくれればと思う。

とのことでした。完成度の高いシステムだけに、このあたりが非常に残念です。できればオープンソース化するなどして、開発が継続でき実利用できればと願います。

最後に、「初めて図書館員の前でプレゼンをしてどうだったか」と司会から質問があり、生徒さんから、「今まで褒められてばかりで天狗になっていた。」「目の付け所が違う。今までとはまったく違う反応だった。」「考え付かない意見も頂いたので、ぜひ実装したい。」という他に、

  • 厳しい意見を受けて、「作り直しTEEEEEEEEEEEEEE!」と思った!

という感想に激しく感動。激しく同意。そうだよ、これで終わりじゃないんだよ。久保先生も「プログラムに完成はない。ユーザの要望を取り入れバージョンアップしてゆくもの。」と仰っておりましたが、その通りだと思います。

ベースに既存のシステムのマニュアルがあったとはいえ、そこからシステムを起こしていゆく、しかも業務の軽減のほか自分たちで必要だと思う機能を実装した。図書館の専門家でもないのに。ただ、それはSEにもなれば当然に必要とされる能力でもあります。そういう能力をきちんと持ったベンダにサポートしてもらいつつ自分たちの意見を伝え、協力してよりよりシステムに仕上げてゆく、という体制がベンダと図書館の間にできればいいなあと思います。

いや、本当に勉強になりました。残念だったのは実際のシステムを「触れなかった」こと。やっぱり、実際にありえないようなデータを打ち込んでみて反応を見たり、あえて負荷をかけてみるとかシステムをギリギリ詰めてゆくって、楽しいですよね。あれ?違います?

ちなみに、U-20プログラミングコンテストでは機能はもちろんソースもチェックされ、エラーなどの例外処理がスムーズに行われているか、などプログラムの挙動もチェックされるそうです。そんなんを潜り抜けてきたとは。やっぱり凄いな。


ああ、自分でも何か作りたくなってきた。マズイ。

この会合の参加報告の執筆依頼も頂いているのに。しかも当日開会5分前に。幼なじみのあの人から? 憧れだった先輩から? それとも、見知らぬ図書館員から? Majide Kitakore 5分前! まさにMK5って感じだよね~?(違う)

コメント

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。コメントは記事の投稿者が承認してから表示されます。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

コメントは記事の投稿者が承認してから表示されます。

アカウント情報

(名前とメールアドレスは必須です。メールアドレスは公開されません。)