学習・技術検証用デモ — 本システムは実際の銀行サービスではありません。

公開情報をもとに構築した教育目的のシステムです。実在する個人情報・口座情報・機密情報・認証情報等を入力しないでください。

ミニ銀行ACADEMY SYSTEM LEARNING
教材メニュー
学習進捗0 / 134
あと134項目
BEGINNER · 入門COURSE 01 · FOUNDATION

システム開発の全体像

『何を作るか』を決める前から、本番で安全に使い続け、最後に終了するまで。開発の一生を非エンジニア向けに1本の道として整理します。

03 / 06
FOUNDATION · 基礎

Minibank全体の地図、システム開発の基本、学び方の土台を作る。

先に学ぶ内容 — Prerequisite: なし

学ぶこと — LEARNING GOALS

このページで学ぶこと

  • 要件定義から運用保守までの一連の流れ
  • ウォーターフォールとアジャイルの違い
  • RFP・図・環境・Docker・Git・診断・監視の役割

体験61 · DEVELOPMENT(開発の全体像)

プログラムが完成したら、そのシステム開発は終わりか確かめよう

まずは予想をひと言。本文を読んだ後、教材内の参照元で実際のtestとmigration履歴を確認します。

体験学習 · STEP 1 / 5
  1. 01
    まず予想する — PREDICT

    まずここだけ:思ったことをひと言書く

    プログラムが完成したら、そのシステム開発は終わりだと思いますか?

    正解でなくて大丈夫です。「〜だと思う」から始めてみましょう。

    ヒント1を見る

    完成したプログラムは、その後も同じ状態のまま使われ続けるでしょうか?

    ヒント2を見る

    運用中に見つかる不具合や法改正は、どこへ戻っていくでしょうか?

    もっと詳しく:この問いで使う専門用語
    • 要件定義は、誰のどんな問題をシステムがどの条件で解決するかを合意する作業です。
    • 設計は、役割の分け方・データの置き方・失敗時の戻し方を決める作業です。
    • CI/CDは、変更を共有するたびに検査し、安全な手順で配布する仕組みです。
まずはひと言だけで大丈夫です。

この後の本文を最後まで読んでから、実際に操作して確かめるステップへ進みます。

日常語で理解する — PLAIN LANGUAGE

まず、ここだけつかむ

1

システム開発は、プログラムを書く作業だけではありません。解決したい問題を決め、要件にし、設計し、作り、試し、本番へ出し、運用しながら改善する一連の活動です。

2

ウォーターフォールとアジャイルは、品質の高低ではなく仕事の進め方が違います。実際の企業では、契約や全体計画は段階型、画面や機能の改善は反復型という組合せも使われます。

3

Git、Docker、テスト、脆弱性診断、監視は別々の道具です。どれか1つを導入しても安全・安定が自動的に完成するわけではなく、目的と責任者を決めて組み合わせます。

順番に理解する — DIFFICULT PARTS, STEP BY STEP

難しいポイントを、順番にほどく

専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。

01

要件定義

やさしく言うと

誰のどんな問題を、システムがどの条件で解決するかを合意する作業です。

なぜ必要?

曖昧な期待のまま作ると、完成後に『欲しかったものと違う』となります。

Minibankでは

振込なら、対象利用者、上限、手数料、失敗時の挙動、応答時間、監査要件まで決めます。

02

設計

やさしく言うと

役割の分け方、データの置き方、処理の順序、失敗時の戻し方を決める作業です。

なぜ必要?

画面だけでなく、変更しやすさ、安全性、運用方法まで実装前に判断するためです。

Minibankでは

Next.jsを受付、DB RPCを金融判断、Ledgerを正式記録とする責任分担が設計です。

03

ウォーターフォール

やさしく言うと

工程を大きな段階に分け、前段の合意を確認して次へ進む方法です。

なぜ必要?

契約・予算・規制・外部連携が固定的な案件では、成果物と承認点を明確にできます。

Minibankでは

会計原則やDB不変条件を先に合意し、設計審査を通してから実装する部分に向きます。

04

アジャイル

やさしく言うと

小さく作って利用者へ見せ、学んだことを次の短い周期へ反映する考え方です。

なぜ必要?

最初には分からない使い勝手や優先順位を、実物から学べます。

Minibankでは

顧客画面を小さく公開し、操作結果を見て次の改善をbacklogへ入れる進め方です。

05

CI/CD

やさしく言うと

変更を共有するたびに検査し、安全な手順で配布する仕組みです。

なぜ必要?

人の記憶だけに頼らず、build・test・security checkを毎回同じ条件で実行できます。

Minibankでは

commitから型検査、回帰test、build、承認、本番反映、監視へつなげます。

発展 — ADVANCEDもっと詳しく確認する最初の学習では読まなくても問題ありません。仕組みをもっと深く理解したい場合に開いてください。

最初に:システム開発は、コードを書くことだけではない

システム開発は、困りごとを見つけ、解決条件を合意し、仕組みを設計し、実装と検証を行い、本番で価値を出し続ける活動です。完成品を納めた瞬間より、その後に安全・安定して使える期間の方が長いことも珍しくありません。

各工程は一度通って終わりではありません。運用で得た利用者の声、障害、法改正、利用量の変化を次の要件へ戻す循環です。

  1. 01企画・構想:なぜ必要か
  2. 02要件定義:何を満たすか
  3. 03設計:どう分け、どう動かすか
  4. 04実装:設計を動く形にする
  5. 05テスト:期待と危険を確かめる
  6. 06リリース:利用可能な場所へ届ける
  7. 07運用保守:見守り、直し、改善する
  8. 08刷新・廃止:安全に次へ移す

全工程を、1つの表でつかむ

工程答える質問主な成果物Minibankなら
企画・構想なぜ投資するのか目的、成功指標、対象範囲、概算安全な金融処理を学べる教材を作る
要件定義何を満たせば成功か業務・機能・非機能要件、受入条件二重送金を防ぎ、借貸を一致させる
設計どう実現し、失敗へ備えるかarchitecture、画面、API、data、運用設計Next.js、Auth、RPC、Ledgerの責任を分ける
実装設計をどう動かすかcode、migration、設定、test code画面、Route Handler、DB functionを作る
テスト期待どおりで、壊せないか結果、証跡、defect、受入判定認可、二重click、同時送金、rollbackを試す
リリースどう安全に切り替えるか手順、承認、rollback plan、release note変更をbuildし、段階的に本番へ反映する
運用保守価値と安全をどう維持するか監視、runbook、incident、改善backlog失敗率、遅延、照合issue、auditを確認する
刷新・廃止dataと利用者をどう次へ移すか移行・保管・削除・契約終了計画取引履歴の保持と移行照合を行う

要件定義:希望を、判断できる条件へ変える

『便利な振込を作る』は希望であり、そのままでは完成を判定できません。誰が、何を、どの条件ででき、失敗時にどうなり、どの速さ・安全性が必要かまで具体化します。

要件には、できることを表す機能要件と、速さ・安全性・稼働率・復旧・監査・保守性を表す非機能要件があります。対象外も書くことで、無限に範囲が広がるscope creepを防ぎます。

種類やさしい問い振込の例
業務要件事業として何を実現するか顧客が自分の普通預金から別口座へ送れる
利用者要件利用者は何をしたいか送金先と金額を入力し、結果と履歴を確認できる
機能要件システムは何をするか残高・口座状態を検査し、仕訳と監査を記録する
非機能要件どの程度よく動くか同時実行でも二重計上せず、目標時間内に応答する
受入条件何を見れば完成と言えるか同じ受付番号の再送で残高が2回減らない
対象外今回は何を作らないか外部銀行への実送金や外貨は対象外

設計:作る前に、責任と失敗の扱いを決める

設計は図を描くこと自体ではなく、選択肢から方針を決め、その理由とtrade-offを残すことです。どこで本人確認するか、正式な残高は何か、途中失敗をどう戻すか、誰が運用するかを決めます。

設計の層決めることMinibankの例
全体architecturesystem境界、責任、信頼境界、主要技術Browser、Next.js、Supabase、PostgreSQLを分担
基本・外部設計画面、API、data model、利用者から見える振る舞い振込画面、HTTP response、口座状態
詳細・内部設計関数、SQL、error、locking、処理順execute_transfer内のlock順とrollback
Security設計脅威、認証、認可、秘密、auditRLSとSECURITY DEFINERの二重確認
運用設計監視、alert、backup、復旧、当番台帳差異を誰へ通知し、どう止血するか

図面の使い分け:1枚ですべてを説明しない

図何が分かるか非エンジニアが見る点
System Context図利用者・外部system・対象systemの境界誰と何がつながるか
Architecture図大きな部品と責任・dataの流れ最終判断と正式記録はどこか
Sequence図1件の処理を時間順に追う確認・失敗・返答の順番
ER図dataの種類と関係顧客、口座、取引がどう結び付くか
状態遷移図許可された状態と変化KYCや口座が不正な順番で変わらないか
業務flow人とsystemを含む仕事の手順手作業、承認、例外のowner

シーケンス図:振込1件を時間順に読む

sequence図は、横に登場人物、縦に時間を置きます。上から下へ読み、矢印で依頼と返答を追います。正常時だけでなく、認証失敗、残高不足、DB失敗、timeout後の再送も分岐として描くと、責任の空白が見つかります。

  • 矢印の出発点は責任を持ってrequestする側
  • DBへ到達する前後で、入力・本人・権限を再確認する
  • timeoutは失敗確定とは限らないため、再送時の冪等性を設計する
  • 途中のどこで失敗しても片側だけ確定しないtransaction境界を示す
顧客 → 振込画面 : 送金先・金額を入力
振込画面 → Next.js API : token + idempotency key + 金額
Next.js API → Supabase Auth : tokenを検証
Next.js API → 選択backend → PostgreSQL RPC : request_transfer()で依頼保存、confirm_transfer_otp()でコード確認、内部execute_transfer()
PostgreSQL RPC → PostgreSQL RPC : 権限・状態・残高を確認し口座をlock
PostgreSQL RPC → Ledger : 借方と貸方を同じtransactionで記帳
Ledger → Audit : actorと結果を追記
PostgreSQL RPC → Next.js API : 成功または安全なerror
Next.js API → 振込画面 : 結果を表示

実装:コードを書いた後に、完成へ近づける

実装では、設計をcode、DB migration、設定、test codeとして具体化します。ただ動くことは出発点です。小さな変更、peer review、型検査、静的解析、自動test、設計との照合を通して、他の人が安全に変更できる状態へ近づけます。

  1. 01小さな作業単位と完了条件を決める
  2. 02branchでcode・test・migrationを変更
  3. 03手元で型検査・lint・testを実行
  4. 04Pull Requestで意図・risk・戻し方をreview
  5. 05自動検査を通し、承認後にmerge
  6. 06release後の指標とerrorを確認

テスト:正解だけでなく、壊れ方を確かめる

test守る範囲Minibankの例
Unit小さな関数・規則金額や入力のvalidation
Integration / DB複数部品とDB制約RPC、RLS、台帳の借貸一致
API認証、入力、response契約他人口座指定や不正tokenを拒否
E2E画面から結果までログイン、振込、履歴表示
Concurrency同時request同じ残高を使う2件の送金
Performance想定量・peak・限界大量取引時の遅延、lock、DB接続
Security攻撃経路認可突破、権限昇格、依存部品の弱点
Recovery障害後の復旧backupを復元し、台帳と残高を照合
UAT実際の業務で使えるか管理者が審査・freeze・例外対応を完了

ウォーターフォール:段階と合意点を明確にする

ウォーターフォールは、要件・設計・実装・test・導入を大きな段階として計画し、成果物を確認して次へ進む方法です。変更禁止という意味ではありませんが、後工程の変更ほど影響確認と合意に費用がかかります。

規制、契約、予算、hardware、外部組織との接続など、先に確定すべき条件が多い案件で管理しやすい一方、利用者が実物を見る時期が遅いと、誤解の発見も遅れます。

強みrisk向きやすい状況
範囲・成果物・承認点を示しやすい初期の誤解を後で直す費用が大きい固定契約、規制対応、大規模移行
全体予算と日程を説明しやすい動くものへのfeedbackが遅い外部依存と順序制約が強い
文書とtraceabilityを整えやすい文書完成が目的化することがある監査証跡が重い領域

アジャイル:小さく作り、早く学ぶ

アジャイルは、利用者に価値のある小さな単位を短い周期で作り、動くものへのfeedbackから優先順位や設計を更新する考え方です。ScrumやKanbanはその実践方法の例です。

計画や文書が不要という意味ではありません。重要な不変条件、architecture、security、法令、運用は先に扱い、変化する部分は小さな反復で学びます。

  1. 01Product goalと優先順位を決める
  2. 02Backlogから小さな価値を選ぶ
  3. 03設計・実装・testを短い周期で完了
  4. 04利用者と動く結果をreview
  5. 05改善点とriskをbacklogへ戻す
  6. 06次の周期で優先順位を更新

ウォーターフォールとアジャイルを比較する

現実の金融・enterprise開発では、全体予算、法令、data migration、release判定は段階的に管理し、各機能の画面や業務改善は反復して作るhybridも一般的です。名前より、変更をどう判断し品質をどう守るかが重要です。

観点ウォーターフォールアジャイル
計画全体を段階的に詳しく計画方向を定め、短い周期で更新
変更正式な変更管理で影響・費用を合意backlogを並べ替え次周期へ反映
利用者feedback節目や受入工程で大きく得る短い周期で継続的に得る
進捗成果物と工程完了で確認動く価値と学習結果で確認
予算・範囲範囲を固定しやすい期間・teamを固定し範囲を調整しやすい
主なrisk誤解の発見が遅れる全体整合や長期計画を失う

RFP:同じ土俵で提案を依頼する

RFP(Request for Proposal)は、発注側が候補vendorへ提案を求める文書です。単なる見積依頼ではなく、背景・目的・範囲・条件・評価方法を共有し、各社の解決方法、体制、費用、riskを比較します。RFPだけで詳細要件がすべて完成するわけではありません。

RFPの項目書く内容注意点
背景・目的現状課題、成功指標、導入理由製品名より解決したい問題を示す
範囲対象業務・利用者・拠点・対象外境界と前提を曖昧にしない
要件機能、性能、可用性、security、auditMustと希望を分ける
data・連携移行量、品質、外部system、interface既存dataの問題を隠さない
実施条件日程、体制、役割、契約、成果物発注側の作業と意思決定者も書く
運用・終了support、SLA、教育、data返却、exit導入後と解約時の費用まで比較
評価方法価格、適合性、実績、体制、risk重みと失格条件を事前に決める

ライブラリ、フレームワーク、runtimeを区別する

境界は製品の説明によって重なることもあります。大切なのは分類暗記ではなく、誰が実行順を決め、どのversionへ依存し、更新時に何をtestするかです。

言葉たとえ役割このproject
Language文章を書く言語codeの文法と意味TypeScript、SQL
Runtime文章を実行する場所codeを実際に動かすNode.js、Browser、PostgreSQL
Library必要な時に使う道具箱特定処理を提供React、Supabase JavaScript client、Zod
Framework建物の骨組みと進行規則全体構造と実行の流れを提供Next.js
Package配布される部品の単位version付きで依存関係を管理package.jsonのdependencies
SDK外部service利用の一式API client、型、補助機能Supabase clientを含む開発道具

開発環境とインフラ環境:『手元で動く』を本番へ運ぶ

開発環境は、開発者がcodeを書き、実行し、testする場所です。インフラ環境は、利用者へserviceを届けるための計算資源、network、DB、domain、証明書、権限、秘密、監視などの土台です。

  • 環境ごとにDB、credential、domain、外部連携先を分離する
  • 秘密情報はGitへ入れず、secret管理から実行時に渡す
  • Infrastructure as Codeでnetworkやservice設定をreview可能にする
  • 本番変更は人の手順だけでなく、自動化・承認・監査を組み合わせる
環境目的守ること
Local個人の開発と素早い確認本番data・秘密を置かない
Developmentteamの結合確認壊れても本番へ影響しない分離
Test自動・手動test再現可能なdataと設定
Staging本番に近い最終確認本番との差を把握し、個人情報を避ける
Production実利用者へ価値を提供最小権限、監視、backup、変更承認

Dockerとcontainer:持ち運べる実行単位

Dockerはcontainerを作成・配布・実行するための代表的なplatformです。Dockerfileというrecipeからimageを作り、そのimageからcontainerという実行中のinstanceを起動します。registryはimageを保管・配布する倉庫です。

containerは一般に仮想machineより軽量ですが、完全なmachineでも、自動的なsecurity境界でもありません。containerを消すと内部の書込みも失う可能性があるため、永続dataはvolumeや外部DBへ分離します。

用語やさしい説明間違えやすい点
Dockerfileimageを作るrecipe秘密情報を書き込まない
Image変更しない実行template起動中の処理そのものではない
Containerimageから起動した実体削除後のdata保存を保証しない
Registryimageの保管・配布場所imageの署名・権限・脆弱性管理が必要
Volumecontainer外でdataを保持する領域backupと同じではない
Compose複数containerの開発構成を定義本番運用の全問題を解決しない

CI/CD:変更を、同じ検査と手順で届ける

CI(Continuous Integration)は変更を頻繁に共有し、自動build・test・解析で統合問題を早く見つける活動です。CDは検査済み成果物を安全に配布できる状態へ保つContinuous Delivery、または本番まで自動反映するContinuous Deploymentを指します。どちらかは組織ごとに明示します。

  1. 01Gitへ小さな変更をpush
  2. 02依存関係を固定しbuild
  3. 03型・lint・unit・integration test
  4. 04SAST・SCA・secret・設定scan
  5. 05同一artifactをstagingへdeploy
  6. 06受入・承認・migration安全性を確認
  7. 07段階的にproductionへrelease
  8. 08SLI・error・照合を監視し必要ならrollback

脆弱性診断:攻撃者の入口を、複数の方法で探す

脆弱性診断は、1つのtool名ではありません。設計前のthreat modeling、source codeを調べるSAST、依存packageを調べるSCA、動作中のapplicationへrequestするDAST、設定・secret・container imageのscan、専門家によるpenetration testを組み合わせます。

自動scanには誤検知と見逃しがあります。結果は業務影響、攻撃条件、権限、data、修正期限で優先順位を付け、修正後に再testします。

方法見る対象見つけやすい問題
Threat Modeling設計・data flow・権限信頼境界、悪用scenario、対策漏れ
SASTsource code危険なAPI利用、入力処理の疑い
SCA外部package既知脆弱性、license、更新停止
DAST動作中のWeb/API認証・入力・設定の挙動
Configuration / IaC scancloud・DB・container設定公開範囲、弱い権限、危険な既定値
Penetration Testsystem全体複数の弱点を組み合わせた侵入

監視と可観測性:信用を、運用中の数字で守る

監視は、あらかじめ重要と分かっている状態を継続確認する活動です。可観測性は、未知の問題でもmetrics、logs、tracesなどから内部状態を調べられる性質です。dashboardを置くだけでは運用にならず、alertを受ける人、判断基準、runbook、連絡先、復旧権限が必要です。

signal見るもの金融systemの例
Metrics数値の時間変化振込成功率、p95/p99遅延、DB接続、lock待ち
Logs個々の出来事request ID、error、actor、管理操作
Traces1requestが通った経路Next.jsからAuth、RPC、DBまでの時間
Business integrity業務と会計の正しさ台帳不均衡、残高差異、二重処理、audit欠落
Alert行動が必要な異常SLO悪化、照合P0、管理者異常、backup失敗

バージョン管理とGit:変更の履歴を共同で扱う

version管理は、fileの変更を時間とともに記録し、過去の状態を比較・復元できるようにします。Gitではworking treeで編集し、stageで次の記録候補を選び、commitで意味のあるsnapshotとして残します。branchで作業を分け、Pull Requestでreviewし、mergeで共有します。

用語役割注意点
Commit変更理由を持つsnapshot大きすぎるcommitはreviewしにくい
Branch本流と分けた作業線長期間離れると統合が難しくなる
Pull Request差分・意図・riskをreviewする場承認は自動testの代わりではない
Merge承認した変更を共有線へ統合本番反映と同じ操作とは限らない
Tag / Release意味のあるversionへ名前を付ける配布物・migrationとの対応を残す
MigrationDB構造変更を順序付きで管理Git履歴が本番DBの現在値やbackupにはならない

リリース、運用、保守:作った後が信用の本番

deployは新しいcodeを実行環境へ置く技術操作、releaseは利用者へ機能を有効化する業務判断です。段階releaseやfeature flagを使えば、配備してもまだ全員へ見せない運用ができます。

保守には不具合修正だけでなく、依存部品の更新、法改正、性能改善、権限棚卸し、backup復元訓練、文書とrunbook更新が含まれます。softwareとcloud serviceのsupport終了日も管理します。

  1. 01変更内容・影響・戻し方を確認
  2. 02同じartifactを環境間で昇格
  3. 03DB migrationの互換性とlockを確認
  4. 04限定範囲へrelease
  5. 05技術指標・業務指標・照合を監視
  6. 06問題なら停止・rollback・reversal等で影響を封じる
  7. 07postmortemから要件とbacklogを更新

Minibankへ当てはめる:あるものと、これから学ぶもの

領域現在確認できる土台本番systemなら追加検討
要件・設計requirements、architecture、ledger資料と学習教材正式なowner、受入基準、規制・外部連携要件
実装Next.js、TypeScript、Supabase、PostgreSQL本番構成、変更承認、support policy
TestDB/API回帰test、E2E継続CI、負荷・耐久・復旧・侵入test
環境local開発とVercel/Supabaseを想定した構成dev/staging/prod完全分離、IaC、secret運用
ContainerDocker構成は現時点で未確認必要性、image供給網、scan、更新責任
監視observability・照合の土台SLI/SLO、on-call、通知、capacity、復旧訓練
Version管理Gitと順序付きDB migrationbranch保護、署名、releaseとDB適用の追跡

非エンジニア向け:会議で確認する10の質問

  • 誰のどの問題を解決し、成功を何で測りますか?
  • 対象範囲と、今回作らないものは何ですか?
  • 正常時だけでなく、失敗・再送・同時実行時はどうなりますか?
  • 正式なdataはどこにあり、誰が変更できますか?
  • この図はどの範囲を示し、何を省略していますか?
  • 完成条件にはsecurity、性能、復旧、運用が含まれていますか?
  • 開発・test・staging・本番のdataと秘密は分離されていますか?
  • 変更は誰がreviewし、どの自動testを通り、どう戻せますか?
  • 異常を誰が何分で知り、どの手順と権限で対応しますか?
  • vendorや技術を終了・移行するとき、dataと業務を取り出せますか?

体験学習の続き · LEARNING LOOP

ここまで読めましたか?続けて確認してみましょう

要件定義から運用保守までの全体像を読んだところで、教材内の参照元で実際のtestとmigration履歴を確認し、自分の言葉で説明してみます。

STEP 2〜5 / 5
  1. 02
    仕組みを確かめる — CONCEPT CHECK

    画面操作なしで、仕組みを確かめる

    この仕組みは、Mini Bankの画面には現れません。次のEvidenceとCode Trail、教材本文だけで理解を進めます。

  2. 03
    証拠を確認する — EVIDENCE

    何を見たか、1つずつ確かめる

    Evidence(判断の根拠となる記録)を確認したらチェックします。各項目の「何を見るか」を手がかりにしてください。

    画面を開けない項目は、Source Trail(教材の参照元)と教材の説明で確認できます。失敗を実際に起こす必要はありません。

  3. 04
    コードの処理経路を追う — CODE TRAIL

    コードを書く必要はありません

    ここでは「説明されている仕組みが、実際のMini Bankのどこに実装されているか」を確認します。まずは日本語の役割説明を読み、入力した依頼がどこへ渡るかをつかみましょう。コードの全文を読む必要はありません。

    まず実装後も動き続ける回帰testを見て、次に運用中も積み上がる設計変更の履歴を見ます。開発が完成後も続く活動であることを確かめましょう。

    実装後も残り続ける回帰test。

    scripts/regression/

    運用しながら積み上がる設計判断の履歴。

    supabase/migrations/
    教材の参照元を確認する — Source Trail ↓
  4. 05
    自分の言葉で説明する — EXPLAIN

    LEVEL 1 — やさしい説明(まずここだけ)

    なぜプログラムが完成しても、それだけではシステム開発が終わったとは言えないのでしょうか? 短い2文を目安に説明してください。

    日常語だけで完了できます。専門用語の数や正誤を自動採点するものではありません。

    ヒント1を見る

    「要件定義」から「運用保守」までの循環という言葉を使って書いてみましょう。

    ヒント2を見る

    実装が終わった後にも残っている作業を1つ挙げてみましょう。

    もっと詳しく:LEVEL 2 — 専門用語を使った説明(任意)

    要件定義、設計、CI/CDの3つを使って、開発が企画から運用保守までの循環であることを説明してみましょう。

    挑戦する場合は、上の説明欄に追記できます。追加しなくても完了できます。

    説明の確認ポイント — Checkpoint
    • 実装完了は開発の終わりではないと説明できる
    • 運用中に得た学びが要件へ戻る循環だと説明できる
予想5文字以上・証拠2項目・説明20文字以上で完了できます。

証拠の確認:0 / 2。LEVEL 2(専門用語での説明)は任意です。

入力はこのブラウザに保存されます。Academy教材の進捗とは別の学習メモです。

理解を確かめる — CHECK YOUR UNDERSTANDING

5問で理解チェック

答えを頭の中で考えてから、各項目を開いて確認してください。

Q1プログラムが完成すれば、システム開発は完了ですか?
答え

いいえ。受入、release、監視、障害対応、保守、改善、最終的な廃止まで含めてライフサイクルです。

Q2アジャイルなら、要件・設計・文書は不要ですか?
答え

不要ではありません。必要な判断と記録を、小さな周期で更新しながら進めます。無計画という意味ではありません。

Q3Docker imageとcontainerは同じものですか?
答え

違います。imageは変更しない実行用template、containerはそのimageから起動した実体です。

Q4リリース前に脆弱性診断を1回すれば安全ですか?
答え

いいえ。変更や依存部品の更新で新しい弱点が生まれるため、開発中の自動検査と定期・重要変更時の診断を継続します。

Q5Gitがあれば、DBのbackupは不要ですか?
答え

いいえ。Gitは主にsource fileの変更履歴です。本番データのbackup、復元訓練、migration適用状態は別に管理します。

ここまで読めましたか?

完全に暗記する必要はありません。大切な考え方を説明できそうなら押してください。

業界・外部の参照元 — INDUSTRY / EXTERNAL SOURCE

業界資料・参考文献

一般論と業界知識の根拠です。外部サイトを新しいタブで開きます。

教材の参照元 — SOURCE TRAIL

根拠と関連教材

CURRENT IMPLEMENTATIONは確認したrepository内の実装です。HISTORICAL IMPLEMENTATIONは導入・修正の履歴で、後続migrationによる再定義があり得ます。RELATED LESSONは教材への案内で、実装の一次Sourceではありません。ASSUMPTIONは仮定、UNKNOWNは未確認を表します。

確認基点: d02eae8914f39cbf06bfe422dc39c71886f82b3e / 2026-09-11。稼働環境への適用確認: UNKNOWN。パス実在の自動検査と、記述した技術的事実の確認は別です。

  • 未確認 — UNKNOWNdocs/requirements.md仕様資料。現行実装との一致は未確認。要件を記録する既存資料
  • 未確認 — UNKNOWNdocs/architecture.md仕様資料。現行実装との一致は未確認。system全体設計の既存資料
  • 未確認 — UNKNOWNdocs/api-spec.md仕様資料。現行実装との一致は未確認。APIという外部契約の既存資料
  • 過去の実装 — HISTORICAL IMPLEMENTATIONsupabase/migrations/DB変更を順番付きでversion管理する実例
  • 現在の実装 — CURRENT IMPLEMENTATIONscripts/regression/DB・API回帰testの実例
  • 現在の実装 — CURRENT IMPLEMENTATIONe2e/full-journey.spec.ts利用者視点のE2E test
  • 現在の実装 — CURRENT IMPLEMENTATIONpackage.jsonframework、library、実行commandの管理