第12回 マネジメント 中分類8 システム開発技術(大分類4 開発技術)

【第12回】システム開発の流れを、家を建てる工程で理解する

ここからはマネジメント系です。最初のテーマは「システム開発技術」——実際にシステムがどんな手順で作られていくかを扱います。プログラミングはその一部でしかありません。

この記事でわかること

美咲、つまずく

美咲

システム開発って、結局プログラミングするだけでしょ?

拓也

それ、けっこう大きな誤解。プログラミングは工程の一部でしかないよ

美咲

え、他に何するの

拓也

家を建てるとき、いきなり工事から始める?

美咲

しないでしょ、まず設計図でしょ

拓也

システムも同じ。設計図なしで作り始めたら、間取りが決まってないのに壁を建て始めるようなものだよ

美咲

……それは怖いわね

比喩イラスト/設計図なしにいきなり工事を始めようとする美咲を止める拓也(家を建てる比喩)

本編①:開発工程の全体像

拓也

システム開発の基本的な流れはこう。要件定義(何を作るか決める)→外部設計(利用者から見える部分の設計)→内部設計(システム内部の設計)→プログラミング(実際にコードを書く)→テスト移行(本番環境への切り替え)

美咲

工程、結構多いのね

拓也

家づくりに例えると、要件定義は『どんな家に住みたいか』の要望整理。外部設計は間取り図——住む人から見える部屋の配置。内部設計は配線図や配管図みたいな、住む人からは見えないけど必要な設計

美咲

なるほど、見える部分と見えない部分があるのね

拓也

そう。それぞれの工程で決めることが違うから、順番を飛ばしたり戻ったりすると手戻りが大きくなる

本編②:V字モデルとテスト技法

拓也

この工程の流れを図にしたのがV字モデル。左側に要件定義→外部設計→内部設計→プログラミングと下っていって、右側にテスト工程を上っていく、V字型の図

美咲

なんでV字なの?

拓也

大事なのは、左側の設計工程と、右側のテスト工程が対応していること。要件定義で決めたことは、最終的なシステムテストで確認する。外部設計で決めたことは、結合テストで確認する。内部設計で決めたことは、単体テストで確認する

美咲

決めたことを、対応するテストで検証していくのね

拓也

そう。だから『どのテストが、どの設計を確認するためのものか』という対応関係が、試験でもよく問われる

概念図解/V字モデル図(上流工程とテスト工程の対応線)
拓也

あと、テストのやり方自体にも種類がある。ブラックボックステストは、内部の作りを気にせず『入力に対して正しい出力が返るか』だけを確認する方法。ホワイトボックステストは逆に、内部のロジックや処理の分岐を確認しながらテストする方法

美咲

中身を見るか見ないか、なのね

拓也

そう。あと、コードを書く前の段階でも、レビューという確認作業がある。代表的なのがインスペクション(決まった役割の参加者が、公式な手順に沿って厳密に行うレビュー)とウォークスルー(作成者が主導して、比較的気軽に行うレビュー)

美咲

厳しさのレベルが違うのね

ITパスポート的に狙われるポイント

【第12回】システム開発の流れを、家を建てる工程で理解する|比較表
拓也

1つ目は、V字モデルの対応関係。『要件定義⇔システムテスト』『外部設計⇔結合テスト』『内部設計⇔単体テスト』、この組み合わせを問う問題が定番

美咲

2つ目は、ブラックボックスとホワイトボックスの違いね

拓也

そう。『中身を見ずに入出力だけ確認する』のがブラックボックス、『内部のロジックまで確認する』のがホワイトボックス、と対にして覚えるといい

まとめ・次回予告

美咲

プログラミングって、本当に一部分だったのね

拓也

うん。次は、この開発の"進め方"そのものの話。ウォーターフォールとアジャイル、聞いたことある?

美咲

アジャイルは聞いたことある! なんか今どきの開発、って感じでしょ

拓也

……その理解、半分だけ合ってる

📱 アプリで過去問を解く

美咲

V字モデル、家を建てる話でようやく繋がった

拓也

繋がったなら、そのまま問題も繋げてみようか

著者が作った無料の過去問アプリ「ITパスポート学習」の「システム開発技術」で、そのまま手を動かして確認できます。間隔反復法(SRS)が「忘れかけた瞬間」に自動で再出題してくれるので、読みっぱなしでは終わりません。