科目A-1 Unit 7 システムの開発・運用 入門学習

科目A-1 入門学習
›
Unit 7 システムの開発・運用
科目A-1 Unit 7(その他の分野)

システムの開発・運用 入門学習

ライフサイクルと設計・テスト・アジャイルとDevOps・設計手法とOSS・AI駆動開発・アルゴリズムを学ぶ

📚 6章構成✏️ 確認テスト 7問⏱ 目安35分
シラバス対応:大分類5 システムの開発・運用/中分類20〜22

ライフサイクルプロセスと要件定義

システムの企画から廃棄までの作業を体系化したものがシステムライフサイクルプロセス・ソフトウェアライフサイクルプロセス(SLCP)で、プロジェクトの特性に合わせて調整することをプロセス修整(テーラリング)といいます。システム要件としては機能要件のほか、性能・セキュリティ・移行・運用などの要件を定義し、機能とデータの生成・参照・更新・削除の関係を整理するCRUDマトリクスを使います。レビューには、作成者が説明するウォークスルー、役割を決めて公式に行うインスペクション、ピアレビューなどがあります。

設計・テスト・導入・保守

モジュール設計では、モジュールの強度(凝集度)は高く、結合度は低くするのが望ましいとされます。ソフトウェアの品質は品質特性モデルと利用時品質モデルで捉えます。テストには、内部構造に着目するホワイトボックステスト(判定条件網羅・複数条件網羅など)と、仕様に着目するブラックボックステストがあります。統合テストでは、上位から結合するトップダウンテストで下位の代わりにスタブを、下位から結合するボトムアップテストで上位の代わりにドライバを使います。

導入では、一部の利用者だけに新版を公開して様子を見るカナリアリリース、新旧2つの環境を切り替えるブルーグリーンデプロイメント、教育効果を反応・学習・行動・結果の4段階で評価するカークパトリックモデルが範囲です。運用ではAIOps、保守では是正・改良・予防・適応・完全化の各保守、信頼性の解析技法FTA・FMEA・STAMP/STPAを押さえましょう。

アジャイルとDevOps

アジャイルソフトウェア開発宣言と12の原則を土台に、スクラムやエクストリームプログラミング(XP)などの手法があります。よいユーザーストーリーの条件INVEST、見積りのプランニングポーカー、タイムボックス、バーンダウンチャート、チームの作業量を表すベロシティ、振り返りのKPTが範囲です。

DevOpsでは、テストやセキュリティ対策を工程の早い段階に移すシフトレフト、CI/CD、運用にソフトウェア工学を適用するSRE、許容できる障害の量を定めるエラーバジェット、意図的に障害を起こして耐性を確かめるカオスエンジニアリング、オブザーバビリティを学びます。開発の成果を測るDORAメトリクスは、デプロイの頻度・変更のリードタイム・変更障害率・平均修復時間(MTTR)の4つです。

設計手法・アーキテクチャ・OSS

アーキテクチャパターンとしてMVC・MVVM・MVP、マイクロサービスアーキテクチャ、デザインパターンとしてGoF(生成・構造・振る舞いに関するパターン)、オブジェクト指向設計のSOLID原則が範囲です。ドメイン駆動設計(DDD)では、関係者が共通で使うユビキタス言語、モデルが通用する範囲を区切る境界づけられたコンテキスト、同一性で区別するエンティティと値で区別する値オブジェクトを押さえます。数学的に仕様を記述する形式手法もあります。

OSSのライセンスでは、改変したものを配布する際にも同じライセンスでの公開を求めるコピーレフト型のGPLと、制約の少ないMITライセンス・BSDライセンス・Apacheライセンスを区別しましょう。MPLやデュアルライセンスも範囲です。

AI駆動開発とAIプロジェクト

シラバスではAI駆動開発として、自然言語で指示しながらAIにコードを書かせるバイブコーディング、AIエージェントが自律的に実装やテストを進めるエージェンティックコーディング、仕様書を起点にAIに開発させる仕様駆動開発(SDD)、MarkdownファイルやMermaid記法が挙げられています。AIが実在しないパッケージ名を提示するパッケージハルシネーションは、攻撃者が同じ名前で悪意あるパッケージを公開するリスクにつながるため注意が必要です。

AI開発プロジェクトではMLOps・LLMOps、AIの構成要素の一覧AIBOM、AI事業者ガイドラインのAI開発者に関する事項が範囲です。分析・機械学習のプロセスモデルCRISP-DMは、ビジネス理解・データ理解・データ準備・モデリング・評価・展開/共有の6段階です。

OS・ハードウェアとアルゴリズム

中分類21には基盤技術も含まれます。OSでは仮想記憶・デマンドページング・ページ置換のLRU、タスク管理のプリエンプティブ方式・ラウンドロビン、ハードウェアではA/D変換・フィードバック制御・FPGA・ASIC・SoC・論理回路、施設ではデータセンターのエネルギー効率指標PUE(全体の消費電力 ÷ IT機器の消費電力で、1に近いほど効率的)が範囲です。

中分類22では、浮動小数点数のIEEE 754、論理演算、線形代数とコサイン類似度、待ち行列理論、オーダ記法による計算量を学びます。データ構造では後入れ先出しのスタック、先入れ先出しのキュー、B木・AVL木などの木構造、アルゴリズムでは2分探索法(計算量O(log n))、ハッシュ表探索法、動的計画法、貪欲法、最短経路を求めるダイクストラ法を押さえましょう。

重要ポイントまとめ
  • モジュールは強度(凝集度)を高く、結合度を低く
  • トップダウンテスト=スタブ、ボトムアップテスト=ドライバ
  • カナリアリリース=一部の利用者に先行公開、ブルーグリーン=2環境の切替
  • DORAメトリクス:デプロイ頻度・変更のリードタイム・変更障害率・MTTR
  • GPL=コピーレフト型、MIT・BSD・Apache=制約の少ないライセンス
  • パッケージハルシネーションは悪意あるパッケージ混入のリスクにつながる
  • スタック=後入れ先出し、キュー=先入れ先出し、2分探索=O(log n)
✏️ 確認テスト(全7問)
問 1
ボトムアップテストで、まだ完成していない上位モジュールの代わりに使うテスト用のプログラムはどれか。
ア. スタブ
スタブはトップダウンテストで、未完成の下位モジュールの代わりに使います。
イ. テストデータ
テストで入力するデータのことで、モジュールの代わりになるプログラムではありません。
ウ. ドライバ
正解です。ドライバは下位モジュールを呼び出してテストを実行するための代替の上位モジュールです。
エ. ブレークポイント
デバッグ時に処理を一時停止させる位置のことです。
選択肢をクリックすると正誤と解説が表示されます
問 2
カナリアリリースの説明として適切なものはどれか。
ア. 新旧2つの本番環境を用意し、接続先を一斉に切り替える
ブルーグリーンデプロイメントの説明です。
イ. 開発者が自分の端末でのみ新しい版を動かして確認する
カナリアリリースは本番環境で一部の利用者に公開する手法です。
ウ. 夜間に全利用者のサービスを停止して一斉に入れ替える
一括入れ替えであり、カナリアリリースではありません。
エ. 新しい版をまず一部の利用者だけに公開し、問題がないことを確認しながら対象を広げる
正解です。問題が起きても影響を一部の利用者にとどめられます。
選択肢をクリックすると正誤と解説が表示されます
問 3
DORAメトリクスに含まれないものはどれか。
ア. テストコードのカバレッジ率
正解です。DORAメトリクスはデプロイの頻度・変更のリードタイム・変更障害率・平均修復時間(MTTR)の4つです。
イ. デプロイの頻度
DORAメトリクスの一つです。
ウ. 変更のリードタイム
DORAメトリクスの一つです。
エ. 変更障害率
DORAメトリクスの一つです。
選択肢をクリックすると正誤と解説が表示されます
問 4
GPLの特徴として適切なものはどれか。
ア. 著作権表示さえ残せば、改変したものを非公開のまま配布できる
MITライセンスなど制約の少ないライセンスの特徴です。
イ. 改変したソフトウェアを配布する場合、同じGPLでソースコードを公開する必要がある
正解です。このような性質をコピーレフトといいます。
ウ. 商用での利用が禁止されている
GPLは商用利用を禁止していません。
エ. ソフトウェアの著作権を放棄したことを示す
パブリックドメインの説明です。
選択肢をクリックすると正誤と解説が表示されます
問 5
AI駆動開発におけるパッケージハルシネーションのリスクとして適切なものはどれか。
ア. AIが生成したコードの実行速度が遅くなる
パッケージハルシネーションの説明ではありません。
イ. パッケージのライセンス料が自動的に請求される
パッケージハルシネーションの説明ではありません。
ウ. AIが実在しないパッケージ名を提示し、攻撃者が同名の悪意あるパッケージを公開しておくと、それを導入してしまう
正解です。AIが提示した依存パッケージは、実在性や信頼性を確認してから導入する必要があります。
エ. AIがパッケージのバージョンを自動で最新化してしまう
パッケージハルシネーションの説明ではありません。
選択肢をクリックすると正誤と解説が表示されます
問 6
CRISP-DMの最初の段階として正しいものはどれか。
ア. データ準備
データ理解の次に行う段階です。
イ. モデリング
データ準備の後に行う段階です。
ウ. 評価
モデリングの後に行う段階です。
エ. ビジネス理解
正解です。CRISP-DMはビジネス理解→データ理解→データ準備→モデリング→評価→展開/共有の順に進みます。
選択肢をクリックすると正誤と解説が表示されます
問 7
要素数がnの整列済みデータに対する2分探索法の計算量(オーダ)はどれか。
ア. O(log n)
正解です。1回の比較ごとに探索範囲が半分になるため、比較回数はlog n程度になります。
イ. O(1)
理想的なハッシュ表探索の計算量です。
ウ. O(n)
線形探索法の計算量です。
エ. O(n²)
単純な整列アルゴリズム(バブルソートなど)の計算量です。
選択肢をクリックすると正誤と解説が表示されます

演習問題で理解を定着させよう

科目A-1(共通知識)の演習問題で実践力を高めましょう

科目A-1 演習問題を解く →