一覧へ 情報Ⅱ (4) 第6回 | 開発の工程
情報Ⅱ (4) 情報システムとプログラミング | 第6回

開発の工程

プログラムを書く時間は全体の一部でしかないので、残りが何なのかを見ておく

50分
教師用メモ

準備(授業前) 教室コードは新しいものにする。「教師」を押す。体験 01 は端末内で完結する。この回が、単元設計の言う「入口そのもの」に当たる回。次回に班を作るので、班分けの案を用意しておく(3〜4 人)。

投影 体験 02 は出た数が増えるほど効く。全体に映しながら進めてよい。

時間配分 前回まとめ・目標 5分 / 節1 開発の流れ(体験01 15分) / まとめ 5分 / 節2 抜けを指摘する(体験02 16分) / まとめ・自己評価・ふりかえり 9分

この回の評価(単元設計は 単元設計のページ)

  • 知識・技能 設計・実装・テスト・運用の流れを順に並べ、それぞれで何をするかを説明している(体験01)【重点】
  • 思考・判断・表現 プログラムを書くだけでは足りないことを、具体的な作業として指摘している(体験02)
  • 態度 作ったあとに続く仕事があることを引き受けようとしている(ふりかえり)

指導要領 解説 情報Ⅱ (4) ア(イ)「設計、実装、テスト、運用等のソフトウェア開発のプロセス」。設計指針 J3L1(システム開発が単なるプログラム作成と違う点について知っている。高選)、J3L2。指針は J3L1 を「情報科の選択科目の中で主要な内容として実習も併用して学ぶべき」としている。

深入りしない範囲 開発プロセスの型(順に進める型、繰り返す型)の名前や比較には深入りしない。「一度で終わらず、戻る」ことが伝わればよい。

前回のまとめ

設計は、3枚の図で人に渡せる形になった

データの流れ画面の並び状態の移り変わり→他の人が読んで作れる

前回、3 枚の図で設計を書いた。では、その図ができたら、すぐプログラムを書き始めてよいのか。書き終わったら、それで仕事は終わりなのか

仕組みを作る仕事のうち、プログラムを書く時間はどれくらいか

教師用メモ

前回「まだ」が多かった目標を 2 分拾う。問いは 30 秒。多くは「ほとんど」と答える。ここでは正解を言わず、体験 01 で並べさせてから戻る。

今日の目標

授業の終わりにできるようになること

01
設計・実装・テスト・運用の流れを、順に並べられる
02
それぞれで何をするかを、具体的な作業で言える
03
システム開発が単なるプログラム作成と違う点を挙げられる
01 | 15分
流れを並べる

8 つの仕事

整理 | 5分
戻る道がある

一度では終わらない

02 | 16分
抜けを指摘する

書くだけでは足りない

SECTION 01

開発の流れ

書き始める前に決めておくことがある

壁に貼った8枚の作業カードを順に並べ替えながら、抜けている工程を書き足している高校生3人
体験 01

仕組みを一つ作って引き渡すまでを、順に並べる

ある仕組みを作って、使う人に引き渡すまでの仕事が 8 つある。先にやることから順にタップする。タップした順に番号が付く(もう一度タップで外れる)。全部に番号を付けたら「答え合わせ」

教師用メモ

進め方(15分) 一人で 5 分、答え合わせ 3 分。そのあと「プログラムを書くは 8 つのうちの何番目で、いくつあるか」を確かめる(2分)。最後に、抜かしたらどうなるかを 2 人で話す(5分)。

間違えやすい所 「何ができたら完成かを決める」を後ろに置く生徒が多い。完成の条件を決めずに作り始めると、いつまでも終わらない。「テスト」を最後に置く生徒もいる。使ってもらう前に確かめるから 6 番目。

要点 8 つのうち、プログラムを書くのは 1 つだけ。前に 4 つ、後ろに 3 つある。これがシステム開発が単なるプログラム作成と違う点(設計指針 J3L1)。目標 01・02。

まとめ 01

書く時間は一部で、しかも一度では終わらない

8 つの仕事を並べると、こうなる。濃い所がプログラムを書く仕事

聞く
完成を決める
設計する
分担を決める
実装する
テストする
運用する
直して出す
設計何を作るかを図と言葉で決める。ここが曖昧だと、分担して作った部品が合わなくなる
実装設計のとおりにプログラムを書く。設計が決まっていれば、ここは分担できる
テスト正しく動くかだけでなく、おかしな入力でも止まらないかを確かめる。ここで見つかると、直すのが安い
運用動かし続ける。使う人からの指摘を受け、直す。作り終わってからのほうが長い
戻る道テストで見つかれば設計へ戻る。運用で分かれば設計へ戻る。一方通行ではなく、何度も回る
教師用メモ

5分。帯の幅は目安であり、正確な割合ではないと断る。伝えたいのは「書く時間だけではない」こと。

深入りしない範囲 順に進める型と、短い期間で何度も回す型があるが、名前や比較には入らない。この単元では第9〜16回で実際に回して体験する。目標 03。

SECTION 02

抜けを指摘する

動くものができても渡せないことがある

動いている画面を前に、付箋に気づいた点を書いて次々に貼っていく高校生たち
体験 02

プログラムを書くだけでは足りないことを、出し合う

場面 座席を予約する仕組みを作った。自分の端末では、最初から最後まで正しく動く。それでも、使う人に渡せない。まだやっていないことを、思いつくだけ短く送る。質より量。人のものに「便乗」を押すと、その続きとして書ける

0
全員の指摘
0
自分の指摘
0
便乗して生まれた
出てきた「まだやっていないこと」
教師用メモ

進め方(16分) 一人で出す 6 分(目標はクラスで 30 件)。次に、出たものを 4 人で「設計に戻る」「テストで見つける」「運用で対応する」の 3 つに分ける(6分)。全体で 4 分拾う。

出てほしいもの 同時に操作されたときを試していない/自分以外の端末で試していない/使い方を説明するものがない/間違えたときの表示を決めていない/誰が直すかを決めていない/止まったときの連絡先がない/集めた個人の情報をいつ消すか決めていない。

問い返し 「動く」と「渡せる」は違う。自分の端末で自分の手順どおりに動くのは、まだ何も確かめていないのと同じ。第13回で、わざとおかしな入力を出す回につながる。

評価 体験 01 の並べ替えと、ここでの指摘が、この回の評価場面。目標 03。

まとめ 02

システム開発が、単なるプログラム作成と違う点

相手がいる使う人がいて、その人の困りごとを直すために作る。動くかどうかより、役に立つかどうかで判断される
一人では作らない分担して作り、統合する。だから設計を書いて渡す必要がある。頭の中の設計は分担できない
作ったあとが長い使われ続けるかぎり、直し続ける。作った人が卒業しても読めるように、記録を残す
終わりを自分で決める「何ができたら完成か」を先に決めないと、終われない。完成の条件は、作る前に書く
次に進むこと次回は、その分担と締切を決める。班と題材も、そこで決める

※ 一人で進めているときは、先生かクラスの誰かを「読む人」として置く。設計を渡して読めるかを聞けば、分担したときと同じことが確かめられる

教師用メモ

3分。次回は班で行う。班分け(3〜4人)を伝え、題材の候補(掲示板などの Web の仕組み/向こう側とやり取りする端末用のアプリ/計測と制御の仕組み)を予告しておく。

今日のまとめ

3つの目標に、自分の操作で答える

01
流れ 聞く・完成を決める・設計・分担・実装・テスト・運用・直す の 8 つだった
02
中身 テストは「おかしな入力でも止まらないか」、運用は「直し続ける」だった
03
違う点 相手がいる。一人では作らない。作ったあとが長い。終わりを先に決める
自己評価

今日の目標、自分はどこまで

3 つの目標それぞれに、できた/だいたい/まだ、を 1 つ選ぶ。右の帯にクラス全体の分布が出る

今日の目標、自分はどこまで | 1 つずつ選ぶ
01設計・実装・テスト・運用の流れを順に並べられる
02それぞれで何をするかを具体的な作業で言える
03プログラム作成と違う点を挙げられる
できただいたいまだ
教師用メモ

1分。「まだ」が多い目標は、第7回の冒頭で拾い直す。

ふりかえり

自分がいちばん飛ばしそうな仕事

一文でよい。8 つのうち、自分が飛ばしてしまいそうな仕事と、その理由を書く

みんなが飛ばしそうな仕事
教師用メモ

3分。ここで出たものを控えておき、第12回の統合と第13回のテストで返す。次回は班で、誰が・いつまでに・何をやるかを決める。