5月27日(水)Java・システム開発演習(5日目)~DAOでデータベース連携~

皆様、こんにちは。

本日は、「Java・システム開発演習(11日間)」の5日目です。

 

昨日の日報では、本格的に個人作業でのコーディングを始め、

表面化してきた課題についてのコメントが多いように見受けられました。

 

(プログラミング経験者の方)

「画面遷移(どのページからどこに飛べるか)や

 ページをまたぐ状態の保持の設計が甘いと感じた。

(商品選択~トッピング選択~カートに格納まで)

 簡易的な画面遷移のみの処理を作ってから、どうするか議論したい。」

 

(プログラミング初心者の方)

「昨日は口頭のみでチーム内の打ち合わせを実施しており、

 メモを取らなかったことから認識誤りが発生した。

 再発防止のために、チャット機能を活用し、認識のズレを防いだ。

 何かメモを残した際は、認識があっているのかを

 必ずグループのメンバーに確認してもらう。 また確認後は速やかに修正する。」

 

やはり、ニュアンスが伝わりにくい分、

完全に共通認識を取れないまま進めてしまうこともあるようです。

全員に共通する大事なことは、目に見える形で

「ホウ・レン・ソウ(報告・連絡・相談)」して進めましょうね。

 

f:id:insblog:20200527171311j:plain

 

さて、朝一番は、各グループの進捗報告から始まりました。

発表では、作業分担についての意見が多く挙がっていましたね。

 

「前日のKPTで作業分担ができていないことが課題だったので、

 分担を徹底し、負担がかからないように意識できたのが良かったです。

 『Keep』として継続します」

 

「各々の作業状況が分からないのが課題だったので、

 改善策として、グループの複数人で進める時間を増やして連携します」

 

Gitを使って共同作業することが増えます。

特にマスターにプルリクエストをするときは、エラーがないことをしっかりと確認し、

出来上がった段階で更新するようにと、講師も注意していました。

 

 

本日も引き続き、グループワーク主体で進めます。

昨日までに、大方JSPファイルの作成を終えていたので、

本日はDAOクラスによるデータベースとの接続と

各ページの遷移の準備に入ります。

 

講師のほうで休憩時間を設けることもなく、

グループですべて指揮をとって進めてもらいます。

 

あるグループでは、各自がどこまで着手できたかを確認し、

作業がどれくらいで終わりそうか、完了したら次に何をするかを確認してから

作業を始めました。

 

画面遷移で、複数人が共通のファイルを使用することも考え、

関係する人だけで、図式を書いて認識合わせをしています。

 

f:id:insblog:20200527171326j:plain

 

グループワークだと、ずっとイヤホンを付けたまま作業しているので、

何人かが話していると、自分に関係のない話でも、

つい耳を傾けて、作業の集中が途切れてしまうこともあるかもしれません。

 

グループの中の何人かでやり取りをする際は、

別途グループメンバーを別の部屋に集中タイムを作ることもできますので、

ぜひ講師に発信して、どうしたいか言ってもらえるといいですね。

 

 

またあるグループでは、昨日の反省を踏まえて、

さっそく決めたことを文字として記録に残しています。

 

なかには、本当に「新入社員ですか?」と思うほどに、

丁寧で的確な指示を書き込む人もいました。心強いですね~。

(講師からはチャットの使い方について細かい指示出しはしていませんが、

 ビジネス文書の基本を押さえています!)

 

 

f:id:insblog:20200527183820j:plain

 

このグループは、とても活発に議論しており、

気になったことはすぐに質問するような環境ができているようです。

個人作業をしている間も、ポンポン質問を投げかけています。

 

ある程度まとまった時間を取ったところで、

「今どこまで終わったか、確認しましょうか」と声をかけ、

画面を共有しながら、自分で考えたロジックをグループ内で説明していました。

 

 

f:id:insblog:20200527183700j:plain

 

この方は、実習前に講師から指導があったように、

誰もが分かるように、コードにコメントを書いています。

コードを確認していると、確実にJavaを理解していることが伺えます。

 

コーディングが不安だと言っていた初心者の方も、

講義以外でかなり努力されていたのでしょうね!

 

「…ここまで終わったんですけど、○○で悩んでいて、

 どうしたらいいか分かりますか?」

「△△っていうように変えるのかな…、私が分かるのはここまでかな」

「技術的なこともありますし、ちょっとグループを抜けて

 講師に相談しに行ってきます!」

「いってらっしゃい!じゃあ、次誰のコード確認しようかな?」

 

という具合に、どうしても解決できないことについては、

講師、サブ講師に連絡して解決してもらうようにしています。

 

講義であまり行っていなかったデータベースのエクスポート/インポートについては、

サブ講師が各グループを巡回して、方法を説明していました。

 

f:id:insblog:20200527171623j:plain

 

午後も引き続き開発作業を進めます。

午前中までで、他よりも少し遅れていた様子のグループをのぞいてみました。

 

「どうにかここまで仕上げましたよ!!」

と、若干誇らしそうにメンバーに呼びかけています。

 

各々が作ったJSPファイルとサーブレットを一つに統合したところで、

メンバー全員が作業の手を止めて、画面遷移ができるか、固唾をのんで見守りました。

 

f:id:insblog:20200527171340j:plain

 

カートの画面でエラーが出現!全員でレビューしていきます。

 

「カート機能のJSPとサーブレット見せてくれる?

 なんとなくエラーのあたりがついてるから!」

「37行目、パス間違ってない?」

「本当だ!…直して実行したけど、今度は画面が真っ白だね~」

「パスは間違ってないから、とりあえずリンクには飛んでいるんだろうね。」

「ん~、せめてエラーが出てくれたらなぁ…(笑)」

 

 

DAOファイルなど、一から作るのが難しいファイルについては、

サブ講師が作成したサンプルコードを確認して、作成しています。

 

 

開発実習の開始当初は、少し心配していましたが、

Gitのコミットやプルの操作、コードレビューの仕方に慣れたようで、

講師陣の心配を裏切り、比較的順調に進んでいるように見えます。

 

明日からはもう開発実習も後半に入りますので、

スケジュールを修正しながら、期日を意識して取り組んでいきましょう!

 

本日も、一日お疲れさまでした。