基本的なダイアグラムの描き方を教えたあとは、UML設計から実装につながっていく過程を体験してほしかったので、実際のシステムを、全員で共同開発することにしました。
と指示すると、若者らしい飛びぬけた題材が10も20も出てきましたが、現実的なところで「図書館の貸出管理システム」に決まりました。
このシステムを、
ユースケース図→ロバストネス図→画面設計→配置図→クラス図
の順番で設計して、実装開始。
CVSを使ったチーム開発スタイルを採用。
生徒達はまだJavaEEを知らないので、次のように分担しました。
で、だいたい3時間×8回くらいで、なんとか図書貸出管理システムを完成させることができました。
と、自らプログラム初心者を自覚している生徒達は、初めて作ったシステムが「完成してしまった」ことに、喜び半分、戸惑っている様子。
ここで、予想もしなかった(しかしながらなかなか良い)質問が飛んできました。
いっしゅん答えに窮したのですが、出てきた言葉は、
UMLを使う理由も、Javaを使う理由も、この答えに尽きる。
システム開発を成功させるには、
1.よく会話して
2.ルールを決めて
3.ルールを自動化して
4.分担して
5.統合する。
それだけなんですよね。あとはいかに効率よくやるか。
それをうまくコントロールするアーキテクトの存在が必要になりますが、今度は、生徒達にその役割を担ってもらおうと思います。そんなわけで、来期は、JavaEEの授業を担当させてもらえることになりました。
講師という仕事も大変ですけど、いろいろと気づかせてもらうことも多いです。同じ教えるにしても、サラリーマンに教えるよりは、学生に教える方が楽しいナ。