開発方法論
下の動画はこの節の解説ではありません。 解説動画の雰囲気を知っていただくための見本として、「AI・機械学習」の動画を再生します。
この節の解説動画はプレミアム限定です。プレミアムなら全科目・全節が見放題!
プレミアムで見るシステム構築フェーズは、上流工程から下流工程へ段階的に進み、工程が進むにつれて対象が分割され、詳細化されていくという特徴があります。この節では、その6つの工程を順に追いかけます。とくに外部設計と内部設計の違い——ユーザ側の視点から見るか、システム開発側の視点から見るか——は、工程を理解するうえでの分かれ目になります。誰が担当するのかという観点も押さえておくと、実際のプロジェクトで自分がどこに関わるのかが見えてきます。
簡単にいうと
上流から下流へ、だんだん細かくなっていく——これが開発工程の基本!そして、上流ほどユーザ企業が関わり、下流ほどベンダが担当するんだ。
① システム構築フェーズ
システム化計画書がユーザ企業内で承認されると、正式にベンダへの発注がなされ、システム開発プロジェクトが発足します。この段階を、システム構築フェーズとよびます。
システム構築フェーズは上流工程から下流工程へ段階的に進み、工程が進むにつれて対象が分割され、詳細化されていくという特徴があります。
② 6つの工程
| 順番 | 工程 | 別名 |
|---|---|---|
| ① | 基本計画 | 要求分析/要件定義 |
| ② | 外部設計 | 概要設計 |
| ③ | 内部設計 | 詳細設計 |
具体例
手戻りの費用を、具体例で実感する
在庫管理システムの開発で、「在庫は倉庫ごとに管理する必要がある」という要件が漏れていた場合を考えます。
基本計画の段階で気づいた場合
| 作業 | 工数 |
|---|---|
| 要件定義書を修正 | 半日 |
| 合計 | 半日 |
外部設計の段階で気づいた場合
| 作業 | 工数 |
|---|---|
| 要件定義書を修正 | 半日 |

システム開発の工程
試験のポイント
簡単にいうと
外部設計と内部設計の違いは「誰の視点か」!ユーザ側の視点で、実装を意識しないのが外部設計。開発側の視点で、実装を想定するのが内部設計だよ。
① 基本計画(要求分析/要件定義)
システムに対するユーザ要求の分析(要求分析)を行い、具体化された要件を定義(要件定義)し、文書化(要件定義書を作成)します。
また、システム開発に必要な資源(ヒト、モノ、カネ)の配分計画、スケジュール計画を策定します。
② 2つの作業
| 作業 | 内容 |
|---|---|
| 要求分析 | ユーザ要求を分析する |
簡単にいうと
設計が終わったら、いよいよ作って試す段階!テストは設計と逆の順番で積み上げていくのが特徴だよ。そして、実は運用・保守がいちばん長く続くんだ。
① プログラミング設計・プログラミング
プログラムに必要な機能を洗い出し、それらをモジュールとして定義するプログラミング設計を行います。
また、プログラミング言語を用い、プログラムを作成(実装・コーディング)します。
| 工程 | 内容 |
|---|---|
| プログラミング設計 | 機能を洗い出し、モジュールとして定義する |
| プログラミング |
動画・テキスト・過去問・AI添削まですべて網羅!
予備校代の1/10以下で、独学の不安をまるごと解決できます
| ④ |
| プログラミング設計 |
| — |
| ⑤ | プログラミング | — |
| ⑥ | テスト | — |
| (⑦) | 運用・保守 | (開発の後) |
③ 上流と下流
| 位置 | 工程 |
|---|---|
| 上流工程 | 基本計画、外部設計 |
| ↓ | 内部設計、プログラミング設計、プログラミング |
| 下流工程 | テスト |
上流ほど「何を作るか」に近く、下流ほど「どう作るか」に近い——この向きを押さえてください。
④ 誰が担当するか
| 工程 | 担当 |
|---|---|
| 基本計画(要求分析/要件定義) | ユーザ企業、ベンダが共に担当 |
| 外部設計(概要設計) | ユーザ企業、ベンダが共に担当 |
| 内部設計(詳細設計) | ベンダが主に担当 |
| プログラミング設計 | ベンダが主に担当 |
| プログラミング | ベンダが主に担当 |
| テスト | ユーザ企業、ベンダが共に担当 |
| 運用・保守 | ユーザ企業またはベンダが担当 |
⑤ ユーザ企業が関わる工程
| 関わる工程 | なぜ |
|---|---|
| 基本計画 | 何を作るかを決めるのは使う側 |
| 外部設計 | 画面や帳票は使う側の関心事 |
| テスト | 意図どおりに動くかを確かめるのは使う側 |
上流と最下流にユーザ企業が関わり、真ん中はベンダが担当する——という形です。
⑥ 上流・下流という言葉の意味
川の流れにたとえた言葉です。
| 川 | 開発 | |
|---|---|---|
| 上流 | 源流。水量は少ないが、下流すべてに影響する | 基本計画。ここでの決定が全体を左右する |
| 下流 | 流れが広がり、量が多い | 作業量が多い |
上流での誤りは、下流すべてに波及します。だからこそ、上流工程が重要とされます。
⑦ 「対象が分割され、詳細化されていく」
| 工程 | 扱う単位 |
|---|---|
| 基本計画 | システム全体 |
| 外部設計 | サブシステム |
| 内部設計 | 機能・プログラム |
| プログラミング設計 | モジュール |
| プログラミング | コード |
大きなものから、だんだん小さな単位へ——この流れが「分割され、詳細化される」ということの中身です。
⑧ 手戻りの費用
工程が進むほど、さかのぼって直す費用が大きくなります。
| 誤りが見つかる工程 | 直す費用の目安 |
|---|---|
| 基本計画 | 1 |
| 外部設計 | 数倍 |
| プログラミング | 数十倍 |
| テスト | 数十〜数百倍 |
| 稼働後 | さらに大きい |
なぜこうなるのか
| 段階 | 直す範囲 |
|---|---|
| 基本計画で気づく | 文書を直すだけ |
| テストで気づく | 設計書・プログラム・テスト項目のすべて |
| 稼働後に気づく | 上記に加えて、移行したデータや業務手順まで |
上流で誤りを見つけることが、費用を抑える最大の手立て——これが次節で学ぶ開発モデルの議論につながります。
⑨ この工程は何のモデルか
この6工程は、次節で学ぶウォータフォールモデルの工程そのものです。
多くのシステム開発で、この工程が基本形として使われてきたため、他の開発モデルも、この工程を土台に説明されます。
| 2日 |
| データ設計を見直す | 2日 |
| 合計 | 4.5日 |
プログラミング完了後に気づいた場合
| 作業 | 工数 |
|---|---|
| 要件定義書を修正 | 半日 |
| 画面設計を見直す | 2日 |
| データベースの構造を変更 | 3日 |
| プログラムを修正 | 10日 |
| テスト項目を作り直す | 3日 |
| 再テスト | 5日 |
| 合計 | 23.5日 |
稼働後に気づいた場合
| 作業 | 工数 |
|---|---|
| 上記すべて | 23.5日 |
| 既存データの移行 | 5日 |
| 業務手順の変更と教育 | 3日 |
| 稼働を止める調整 | 3日 |
| 合計 | 34.5日以上 |
半日が34.5日になる
約70倍です。しかも、稼働後の修正では業務への影響という、工数では測れない損害も生じます。
だから上流工程に時間をかける
| よくある誤解 | 実際 |
|---|---|
| 「早くプログラムを作り始めたい」 | 急いで作ると、あとで作り直す |
| 「要件定義に時間をかけるのは無駄」 | もっとも費用対効果の高い投資 |
「急がば回れ」——システム開発では、この格言が数字で裏づけられます。
誰が関わるかという観点
| 工程 | ユーザ企業の関わり方 |
|---|---|
| 基本計画 | 主体的に関わる。要件を出す |
| 外部設計 | 画面や帳票を確認し、承認する |
| 内部設計〜プログラミング | ベンダに任せる(進捗は確認する) |
| テスト | 実際に操作して確認する |
ユーザ企業が手を抜いてはいけない工程
| 工程 | 手を抜くと |
|---|---|
| 基本計画 | 必要な機能が漏れる |
| 外部設計 | 使いにくい画面ができる |
| テスト | 業務で使えない不具合が残る |
「専門家に任せておけばよい」は通用しません。業務を知っているのは、使う側だけだからです。
中小企業でありがちな失敗
| 失敗 | 原因 |
|---|---|
| 「忙しいから要件定義はベンダに任せた」 | 業務の実情が反映されない |
| 「画面の確認は後でいい」 | 手戻りが大きくなる |
| 「テストは動けばいい」 | 本番で不具合が出る |
診断士としては、「この工程には必ず時間を取ってください」と伝えることが、具体的な助言になります。
確認してみましょう
> 次の記述の正誤を判定せよ。
> a システム構築フェーズは、上流工程から下流工程へ段階的に進み、工程が進むにつれて対象が分割され詳細化される。
> b 内部設計とプログラミングは、ユーザ企業が主に担当する。
> c 基本計画と外部設計は、ユーザ企業とベンダが共に担当する。
解答 a:○ b:× c:○
| 具体化された要件を定義し、文書化する |
「要求」と「要件」の違い
| 用語 | 意味 |
|---|---|
| 要求 | ユーザが望むこと(漠然としていることも多い) |
| 要件 | システムが満たすべき条件(具体化されたもの) |
「在庫を正しく把握したい」という要求を、「入出庫を倉庫単位で記録し、リアルタイムで照会できること」という要件に翻訳する——これが要求分析と要件定義の作業です。
③ 要件定義書のイメージ
| 項目 | 記載例 |
|---|---|
| 1. システム化対象範囲 | 顧客管理業務のシステム化を対象とする |
| 2. 業務の現状と課題 | 規模:県内に12店舗、登録顧客は約3万人/困っていること:顧客名簿が店ごとに分かれていて、同じ人が別人として何度も登録されている |
| 3. システム機能 | 名寄せして1か所に持つ:12店舗の顧客情報を1つのデータベースにまとめ、重複を突き合わせる/切り口を変えて数える:地域・年代・購入履歴などの軸で集計し、販促の判断材料を出す |
④ 要件定義書の構成を読み解く
| 項目 | 答える問い |
|---|---|
| システム化対象範囲 | どこまでをシステム化するか |
| 業務の現状と課題 | いま何が問題なのか |
| システム機能 | 何ができるようにするか |
「現状 → 課題 → 機能」という流れになっています。機能から書き始めないのが要点です。課題が明確でなければ、その機能が本当に必要かを判断できません。
⑤ 資源とスケジュールの計画
システム開発に必要な資源(ヒト、モノ、カネ)の配分計画、スケジュール計画を策定します。
| 資源 | 内容 |
|---|---|
| ヒト | 誰が何人、いつ関わるか |
| モノ | 機器、開発環境 |
| カネ | 予算 |
第10章で学ぶ見積りとプロジェクト進捗管理は、この計画を精緻化する話です。
⑥ 外部設計(概要設計)
システムやソフトウェアをユーザ側の視点からとらえ、主に「コンピュータへの実装を意識しない設計」を行います。
システムに必要な機能を洗い出し、システム全体をサブシステムに分割します。
また、論理データ設計、画面や帳票などの入出力設計を行い文書化(仕様書・設計書を作成)します。
⑦ 外部設計で行うこと
| 作業 | 内容 |
|---|---|
| 機能の洗い出し | システムに必要な機能を挙げる |
| サブシステムへの分割 | システム全体を分ける |
| 論理データ設計 | どんなデータを持つか(第3章の概念スキーマ) |
| 入出力設計 | 画面や帳票の設計 |
⑧ 内部設計(詳細設計)
システム開発側の視点から、「コンピュータへの実装を想定した設計」を行います。
サブシステムに必要な機能を洗い出し、機能・プログラムを定義、サブシステムを詳細化します。
⑨ 外部設計と内部設計の違い
| 外部設計(概要設計) | 内部設計(詳細設計) | |
|---|---|---|
| 視点 | ユーザ側 | システム開発側 |
| 実装の意識 | 意識しない | 想定する |
| 扱う単位 | システム全体 → サブシステム | サブシステム → 機能・プログラム |
| 主な成果物 | 論理データ設計、入出力設計 | 機能・プログラムの定義 |
| 担当 | ユーザ企業とベンダが共に | ベンダが主に |
⑩ 「実装を意識しない/想定する」の意味
| 内容 | |
|---|---|
| 実装を意識しない | 「どう作るか」は考えず、「何ができるか」だけを決める |
| 実装を想定する | 「どう作るか」まで考える |
外部設計の例
「顧客の一覧を表示し、氏名で検索できる画面を作る」——どんなデータベースを使うか、どんなプログラムを書くかは決めていません。
内部設計の例
「顧客テーブルを氏名で検索するSQLを実行し、結果を一覧に表示するプログラムを作る」——具体的な実装方法まで決めています。
⑪ 第3章の3層スキーマとの対応
| 外部設計・内部設計 | 3層スキーマ |
|---|---|
| 入出力設計(画面・帳票) | 外部スキーマ |
| 論理データ設計 | 概念スキーマ |
| (物理設計) | 内部スキーマ |
外部設計で外部スキーマと概念スキーマを、内部設計以降で内部スキーマを扱う——第3章で学んだ枠組みが、開発工程に対応しています。
⑫ なぜ2段階に分けるのか
| 理由 | 内容 |
|---|---|
| ユーザが確認できる単位で区切る | 外部設計まではユーザにも分かる |
| 承認を得てから進める | 手戻りを防ぐ |
| 担当を分けられる | 外部設計は業務知識、内部設計は技術知識 |
「ユーザが判断できるところまで」が外部設計——この区切り方が、2段階に分ける実務上の理由です。
具体例
外部設計と内部設計を、家を建てる例で
| 段階 | 家づくり | システム開発 |
|---|---|---|
| 要件定義 | 「4人家族で、駐車場が2台分ほしい」 | 要求を要件にする |
| 外部設計 | 間取り図。部屋の配置、窓の位置 | 画面、帳票、データの構造 |
| 内部設計 | 構造計算、配管・配線の設計 | プログラムの構造、処理の流れ |
| プログラミング | 施工 | コーディング |
施主が見るのは間取り図まで
| 段階 | 施主が判断できるか |
|---|---|
| 間取り図(外部設計) | できる。「ここに窓がほしい」 |
| 構造計算(内部設計) | できない。専門家に任せる |
システムでも同じ
| 成果物 | ユーザが判断できるか |
|---|---|
| 画面のイメージ(外部設計) | できる |
| 帳票の様式(外部設計) | できる |
| プログラムの構造(内部設計) | できない |
だから、外部設計までがユーザ企業とベンダの共同作業なのです。
外部設計で確認すべきこと
中小企業の担当者が、外部設計の成果物を確認する場面を想定します。
| 確認項目 | 具体的に見ること |
|---|---|
| 画面 | 必要な項目がすべてあるか。入力しやすいか |
| 帳票 | 必要な情報が載っているか。様式は適切か |
| 業務の流れ | 実際の仕事の順番と合っているか |
| データの項目 | 必要な情報を持てるか |
よくある見落とし
| 見落とし | 稼働後に起きること |
|---|---|
| 例外処理を確認していない | 通常と違うケースで業務が止まる |
| 帳票の印刷枚数を確認していない | 取引先に渡す分が足りない |
| 過去データの扱いを決めていない | 移行できず、二重管理になる |
| 権限の設定を決めていない | 誰でも全データを見られる |
「うちの業務では、月末だけ違う処理をする」——こうした例外は、現場の人しか知りません。外部設計の段階で洗い出せるかどうかが、稼働後の混乱を左右します。
画面を見ないと分からない
| 確認方法 | 効果 |
|---|---|
| 設計書の文章を読む | 想像しにくい |
| 画面のイメージ図を見る | 分かりやすい |
| 試作品を操作する | もっとも確実 |
3つ目が、次節で学ぶプロトタイプモデルの発想です。
診断士としての助言
| 場面 | 助言 |
|---|---|
| 外部設計のレビュー | 現場の担当者を必ず参加させる |
| 確認の方法 | 画面のイメージを見せてもらう |
| 例外処理 | 「いつもと違う処理はありませんか」と問いかける |
| 承認 | 分からないまま承認しない |
「分からないから承認した」が、後の手戻りを生む——この点を経営者に伝えることも、支援の一部です。
確認してみましょう
> 次の記述の正誤を判定せよ。
> a 外部設計では、システムやソフトウェアをユーザ側の視点からとらえ、コンピュータへの実装を意識しない設計を行う。
> b 内部設計では、システム開発側の視点から、コンピュータへの実装を想定した設計を行う。
> c 外部設計では、サブシステムに必要な機能を洗い出し、機能・プログラムを定義する。
解答 a:○ b:○ c:×

基本計画と外部設計・内部設計(1/2)

基本計画と外部設計・内部設計(2/2)
試験のポイント
② モジュールとは
モジュールとは、プログラムを構成する部品のことです。
| 単位 | 大きさ |
|---|---|
| システム | 最大 |
| サブシステム | ↓ |
| 機能・プログラム | ↓ |
| モジュール | 最小 |
第8章で学んだオブジェクト指向の「部品化」や、第7章のSOAの「サービス」と、発想は同じです。大きなものを、扱える大きさの部品に分ける——という考え方です。
③ 実装・コーディング
プログラミングは、実装やコーディングともよばれます。
| 用語 | 意味 |
|---|---|
| 実装 | 設計されたものを実際に作ること |
| コーディング | コード(プログラム)を書くこと |
第8章で学んだ原始プログラム(ソースプログラム)を書く作業が、これにあたります。
④ テスト
作成したプログラム、モジュールをテストします。
これまでの設計手順とは逆に、モジュールを結合しながらシステムに組み上げる各段階で、その動作や機能をテストします。
⑤ 「設計手順とは逆に」という点
ここが重要です。
| 設計 | テスト |
|---|---|
| システム全体 → サブシステム | モジュール → サブシステム |
| サブシステム → 機能・プログラム | 機能・プログラム → サブシステム |
| 機能・プログラム → モジュール | サブシステム → システム全体 |
設計は大きいものから小さいものへ、テストは小さいものから大きいものへ——この対称性が、第7節で学ぶV字モデルの形を作ります。
⑥ なぜ小さい単位からテストするのか
| 理由 | 内容 |
|---|---|
| 原因を特定しやすい | 1つのモジュールだけなら、そこに原因がある |
| 早く見つけられる | 全部組み上げてからでは遅い |
| 修正が容易 | 影響範囲が小さい |
いきなり全体を動かして「どこかがおかしい」では、原因を探すだけで膨大な時間がかかります。
⑦ 運用・保守
システムを設置する環境、ネットワークへの接続環境、サーバ本体となるハードウェア、サーバ上で稼働するソフトウェアなどの維持・管理を行います。
具体的には、次のことを行います。
| 作業 |
|---|
| サーバルームの入退室管理や温度管理 |
| 電源のメンテナンス |
| ネットワーク/ハードウェア/ソフトウェアの監視および障害対応 |
| セキュリティパッチの適用 |
| プログラム修正に伴う動作検証 |
⑧ 運用・保守の作業を分類する
| 分類 | 作業 | 学んだ章 |
|---|---|---|
| 物理的な管理 | 入退室管理、温度管理、電源 | 第6章(物理的対策) |
| 監視 | ネットワーク/ハードウェア/ソフトウェアの監視 | 第6章(SNMP、SIEM) |
| 障害対応 | 障害が起きたときの復旧 | 第7章(障害対策) |
| セキュリティ | セキュリティパッチの適用 | 第6章(パッチ) |
| 変更管理 | プログラム修正に伴う動作検証 | 第10章 |
これまで学んできた内容が、運用・保守の場面で実際に使われることが分かります。
⑨ 保有から利用へ
従来はユーザ企業が自前のシステムを保有し、運用・保守を行うことが多かったのですが、近年はIT業務のアウトソーシング化が進み、ベンダのシステムの一部を利用する形態が普及しているため、運用・保守の一部またはすべてをベンダが担当することが一般的です。
| 従来 | 近年 | |
|---|---|---|
| システム | 自前で保有 | ベンダのシステムの一部を利用 |
| 運用・保守 | ユーザ企業が行う | ベンダが一部またはすべてを担当 |
⑩ 「保有」から「利用」への転換
この変化は、第12章で学ぶクラウドコンピューティングやITアウトソーシングの話に直結します。
| 観点 | 保有 | 利用 |
|---|---|---|
| 初期費用 | 大きい | 小さい |
| 運用の負担 | 自社が負う | ベンダが負う |
| 技術者の確保 | 必要 | 不要 |
| 自由度 | 高い | 制約がある |
中小企業にとっては「利用」のほうが現実的
| 理由 | 内容 |
|---|---|
| 運用できる人がいない | 専任の担当者を置けない |
| 初期投資を抑えたい | 資金の制約 |
| 技術の陳腐化に対応できない | 更新の判断が難しい |
⑪ 運用・保守がもっとも長い
| 工程 | 期間の目安 |
|---|---|
| 開発(基本計画〜テスト) | 数か月〜1年 |
| 運用・保守 | 5年〜10年以上 |
費用も、開発より運用・保守のほうが大きくなることがあります。
第11章で学ぶTCO(総所有コスト)では、導入費用だけでなく、運用・保守を含めた総額で評価することが求められます。その根拠が、この期間の長さにあります。
具体例
テストの順番を、家づくりで確かめる
| 設計の順番 | テストの順番 |
|---|---|
| 家全体の間取りを決める | ① 部品ごとに検査(ドア、窓、配管) |
| 部屋ごとの設計 | ② 部屋ごとに確認 |
| 部品の仕様 | ③ 家全体で確認(水回り、電気) |
部品を先に検査する
もし家を建て終えてから「窓が開かない」と分かったら、壁を壊すことになります。部品の段階で検査しておけば、取り替えるだけで済みます。
システムでも同じ
| 段階 | テスト | 見つかる不具合 |
|---|---|---|
| モジュール単位 | 単体テスト | そのモジュール内の誤り |
| モジュールを結合 | 結合テスト | モジュール間の受け渡しの誤り |
| システム全体 | システムテスト | 全体としての動作の誤り |
第7節で、これらを詳しく学びます。
運用・保守で実際に何が起きるか
稼働後3年間の出来事を追ってみます。
| 時期 | 出来事 | 対応 |
|---|---|---|
| 稼働1か月後 | 操作が分からないという問い合わせが多発 | 追加の教育、マニュアルの改訂 |
| 3か月後 | 想定外の使い方で不具合 | プログラム修正 |
| 6か月後 | OSの更新 | 動作検証、必要なら修正 |
| 1年後 | 消費税率の変更 | プログラム修正 |
| 1年半後 | ディスクの容量が不足 |
「作って終わり」ではない
| 種類 | 内容 |
|---|---|
| 是正保守 | 不具合を直す |
| 適応保守 | 環境の変化に合わせる(OS更新、法改正) |
| 完全化保守 | 使いやすくする |
| 予防保守 | 問題が起きる前に手を打つ |
法改正への対応は避けられない
| 例 | 影響 |
|---|---|
| 消費税率の変更 | 計算処理の修正 |
| インボイス制度 | 帳票の様式変更 |
| 電子帳簿保存法 | 保存方法の変更 |
これらは「やらない」という選択肢がありません。予算を確保しておく必要があります。
運用・保守費用の目安
| 費用 | 目安 |
|---|---|
| 年間の保守費用 | 開発費用の15〜20%程度 |
| 5年間の累計 | 開発費用と同程度、またはそれ以上 |
1,000万円で作ったシステムに、5年で1,000万円の保守費用がかかる——という計算になります。
診断士としての助言
| 場面 | 助言 |
|---|---|
| 導入の検討時 | 5年間の総額で比較する |
| 予算の確保 | 保守費用を毎年計上する |
| 保守契約の内容 | 何が含まれ、何が別料金かを確認 |
| 法改正への対応 | 保守契約に含まれるか確認 |
最後の点が実務で問題になりやすい
「消費税率が変わったので、修正に50万円かかります」——保守契約に含まれていなければ、このような請求が来ます。契約時に確認しておくべき事項です。
確認してみましょう
> 次の記述の正誤を判定せよ。
> a テストは、これまでの設計手順とは逆に、モジュールを結合しながらシステムに組み上げる各段階で動作や機能をテストする。
> b 運用・保守には、セキュリティパッチの適用やプログラム修正に伴う動作検証が含まれる。
> c 近年はIT業務のアウトソーシング化が進み、運用・保守はユーザ企業がすべて担当することが一般的である。
解答 a:○ b:○ c:×

プログラミング・テスト・運用保守(1/2)

プログラミング・テスト・運用保守(2/2)
試験のポイント
プレミアムプラン
¥9,800〜/ 買い切り・自動更新なし(税込)
決済はStripe(世界最高水準・PCI-DSS準拠)で安全に処理されます。カード情報は当サービスに保存されません。
| 2年後 | 業務の変更で機能追加が必要 | 追加開発 |
| 2年半後 | セキュリティの脆弱性が公表 | パッチの適用 |
| 3年後 | ハードウェアの保守期限 | 機器の更新を検討 |