0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【これからエンジニア目指す人向け】システム開発の流れを簡単にまとめる

Last updated at Posted at 2026-01-15

他業種の方に開発エンジニアの仕事を話そうとすると、「システム開発の流れ」が必ず話題にあがるので記事にまとめます。
ここでまとめるモデルは主に「ウォーターフォール開発モデル」です。「アジャイル開発モデル」というモデルもあるのですが、こと日本においては、前者のモデルが伝統的に普及している認識ですので、このモデルに沿って書きます。


システム開発の流れ

業務システムや組込みシステム、Webサービスなどは大体以下の流れで開発されます。

image.png

各工程が決まりきってから次のステップに行くため、それが滝の流れのように上から下へ進む様子に似ていることから「ウォーターフォール開発モデル」と呼ばれます。

一つずつ見ていきましょう。

①要件定義(上流工程)

お客様の困りごと(要件)をヒアリングする工程。
「システムエンジニア」が担当します。

②設計(上流工程)

その困りごとを解決するには、どのようなシステムがあれば良いか設計する工程。
サイトによっては「基本設計(大まかな設定)」「詳細設計(より具体的な設計)」など細かく工程を分ける図解もあります。
「システムエンジニア」が担当します。

③開発(下流工程)

一番イメージされやすい、プログラミングやフレームワークを使って「開発」する工程。
「プログラマー」が担当します。(詳細設計を行ったシステムエンジニアが担当するケースも多い)

④テスト(下流工程)

バグがないか、大量のデータが操作されても重くならないか、などいろんな観点でテストをします。品質の高いシステムを開発するためにとっても大切な工程!
「プログラマー」が担当します。

⑤リリース(下流工程)

お客様に納品したり、Web上に公開したりする工程です。要件が満たせているか?作ったものに認識齟齬ないか?など、お客様に確認していただきます。
「システムエンジニア」が担当します。

⑥運用・保守(下流工程)

納品してOK!ではサヨナラ!ってわけにはいきません。後々バグが発生したり、問題が発生したり、別の要望が出てきた際にお客様をサポートする工程です。
「システムエンジニア」が担当します。

具体的な例

システムエンジニアを疑似体験してみましょう!

以下のようなサイトがあるとします。あなたが作ったサービスです!
ユーザーが遊んだゲームのプレイ記録を登録できるシンプルなサイトのようです。

でもお客さんはもっと使いやすくして欲しいようで、システムエンジニアであるあなたに相談にきました。

お客さんからの相談

image.png

image.png

「このサイト使いづらくなってきたんだよね〜。シンプルすぎるし、自分のハマりやすいゲームがわかりにくいって言うか〜」

image.png

あなた「具体的に欲しい機能はありますか?」
お客さん「今は新規登録しかできないんだよね。間違えて登録した時用に削除・更新機能が欲しいな」
 
あなた「なるほど!他に困りごとはありますか?」
お客さん「もっと自分の記録を分析できると嬉しいかな」
あなた「なるほど...。たとえば、今は購入日順に並んでいますが、『最終プレイ日』で並び替えたいケースはありますか?」
お客さん「それ欲しい!最近やってないゲームとかわかったら便利かも」
 
あなた「いいですね。他にも、ジャンルごとに分けて見れた方が良いですか?」
お客さん「そうね!友達に ”謎解きといえばこんなゲームがおすすめだよ” って教えたい時もあるので!」



image.png

・・・ある程度お客さんの要望が聞けたら設計に移ります。

先ほどの話を聞いて、どのように画面を直したらいいかイメージしてみてください。

 ①削除・更新機能の追加
 ②最終プレイ日など、項目のソート機能
 ③ジャンルでの検索機能

image.png

↓  ↓  ↓  ↓

↓  ↓  ↓  ↓

image.png

image.png

①〜③を含めた修正案を自分なりに詰め込んでみました。
検索欄が追加され、各項目にソート順を追加しています。
さらに表の行ごとにナンバーを割り振って、「登録画面」に飛べるようにしました!ここでは表の「更新」「削除」が可能です。
これでお客さんの要件は満たせるはずです!

ちなみに上記の案を見て
・「もっとわかりやすい見た目にできるのに・・」と思った方は【UIデザイン】
・「ユーザーの求めてるものはもっとこうなんじゃない?」と思った方は【上流工程】
が向いているかもしれません!

これでお客さんに提案してみて、OKをもらったらようやく開発作業です!
 
image.png

開発ではHTMLやCSSを使ってフロントサイド(画面)を整えていきます。動的なサイトを作成したい場合は、JavaScriptなどの言語を使用します。

また、③によって「検索処理」が追加されました。この処理は少し複雑な処理なので、「サーバーサイド」と言う部分の修正が必要です。

このように、開発の工程で具体的な制作を行なっていきます!

開発の工程がある程度終わったら、バグがないかのチェックも行います。

image.png

テストまで問題なかったようなので、お客さんに納品しましょう。

image.png

お客さん「わ〜ありがたい!これでだいぶ使いやすくなったよ〜!」
あなた「よかったです!また使ってみて問題があったら教えてください!」
お客さん「助かるよ〜また要望が出てきたら伝えるね!」

.
.
.

image.png

何事もなくエンド・・・かと思いきや、お客さんから電話がかかってきました。

image.png

お客さん「1万件くらい登録したら、重たくって全然ページが開かないんだけど・・」
あなた「(そ、そんなにゲームを・・・!?)調査しますね!」

大量のデータをサクサク画面に表示するのは結構難しいです。
それを改善するのは「運用・保守」の工程でサポートするケースが多いです。
このような例以外にも、たとえば使用している言語のバージョンが古くなったから最新化しないといけない!とか、法制度が変わったからシステムも変えないといけない!みたいなアップデート作業を行います。

おわりに

業種や現場によって文化が違う可能性はありますが、基本的なシステム開発の流れをまとめました。
この記事を通して、エンジニアの仕事のイメージがつきやすくなれば幸いです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?