Day5 アプリってどうやって作られてる?

luagate/5day-challenge/day5-app-developmentDay5 - 開発の流れ17体験・イベント

上から下へ、全 17 枚そのまま並べています。

発表モードで開く

Day5 アプリってどうやって作られてる?

5日チャレンジ - 未来

1
1

目次

Day5 の流れ

今日の内容

1 ソフトウェア開発の全体像

2 職種とチームの役割

3 開発手法の違い

4 体験コードとクイズ

2
2

Day5 - 開発の流れ

1

ソフトウェア開発の全体像

3
3
Day5 - 開発の流れ

レストランに例えると

料理ができるまでとソフトウェア開発は似ています。

  • 注文を聞く = 要件定義
  • レシピを考える = 設計
  • 調理する = 実装
  • 味見する = テスト、提供する = リリース
4
4
Day5 - 開発の流れ

開発の5ステップ

アプリが世に出るまでの流れです。

要件定義
設計
実装
テスト
リリース
5
5
Day5 - 開発の流れ

各工程の役割

それぞれの工程で決めることが違います。

工程
決めること
レストラン例

要件定義

何を作るか

ハンバーグを頼む

設計

どう作るか

レシピを考える

実装

実際に作る

調理する

テスト

問題ないか確認

味見する

リリース

提供・運用

お客様に出す

6
6

Day5 - 職種

2

職種とチームの役割

7
7
Day5 - 職種

エンジニアの主な職種

1つのアプリを作るには多様な専門家が必要です。

フロントエンド
  • 画面を作る
  • HTML/CSS/JS
バックエンド
  • サーバー処理
  • データベース連携
インフラ / DevOps
  • サーバー構築
  • デプロイ自動化
デザイナー / PM
  • UX設計
  • プロジェクト管理
8
8
Day5 - 職種

開発チームの連携

それぞれの役割がかみ合って1つのアプリになります。

仕様
仕様
API呼出
読み書き
デプロイ
PM / デザイナー
フロント エンド
バック エンド
インフラ / DevOps
データ ベース
9
9

Day5 - 開発手法

3

開発手法の違い

10
10
Day5 - 開発手法

ウォーターフォール vs アジャイル

プロジェクトの性質で選び方が変わります。

ウォーターフォール

  • 順番に工程を進める
  • 要件が明確な大規模向き
  • 例: 銀行・行政システム

アジャイル

  • 小さく作って繰り返す
  • 変化が多いプロジェクト向き
  • 例: Webサービス・スマホアプリ
11
11
Day5 - 開発手法

ToDoアプリのミニ実装

アプリ開発の最小単位を体験してみましょう。

python
todos = []

def add(task):
    todos.append({"task": task, "done": False})

def complete(index):
    todos[index]["done"] = True

add("牛乳を買う")
add("本を読む")
complete(0)

for i, t in enumerate(todos):
    mark = "[x]" if t["done"] else "[ ]"
    print(f"{mark} {t['task']}")
12
12
Day5 - 開発手法

アジャイル開発の採用率推移

ソフトウェア業界ではアジャイルが主流になっています。

95 %765738190
35%
55%
71%
86%
93%
2010年
2015年
2018年
2021年
2024年

出典: State of Agile Report(推定)

13
13

Day5 - まとめ

4

体験コードとクイズ

14
14
Day5 - まとめ
クイズ

クイズタイム

今日の内容を確認しましょう。

小さな単位で設計・実装・テストを繰り返す開発手法は?

A
ウォーターフォール
B
アジャイル
C
ペアプログラミング
D
モノリス
15
15
Day5 - まとめ
答え

クイズの答え

小さな単位で設計・実装・テストを繰り返す開発手法は?

A
ウォーターフォール
B
アジャイル
C
ペアプログラミング
D
モノリス

正解は2番目の「アジャイル」です。

16
16
"

アプリは魔法で生まれない。要件・設計・実装・テスト・運用という人の仕事の積み重ねで動いている。

5日チャレンジ Day5

17
17