このページは以下の「ITパスポート シラバス6.3」学習用コンテンツです。
◆大分類:4.開発技術
◆中分類:9.ソフトウェア開発管理技術
◆小分類 | ◆見出し | ◆学習すべき用語 |
---|---|---|
26.開発プロセス・手法 | (1) 主なソフトウェア開発手法 | 構造化手法 オブジェクト指向 ユースケース UML DevOps MLOps |
構造化手法
構造化手法はソフトウェア開発の過程においてシステムを明確に定義し、階層的に構造を整理する方法です。要件を分析して仕様を定義し、モジュール化やデータフロー図を用いてシステム全体の構成を視覚化します。
開発者間で共通の理解を得るために活用され、メンテナンス性や再利用性が向上します。この手法は、複雑なシステム開発を効率的に行うために特に有用です。
Google画像検索
構造化手法に関する学習用問題
問題
構造化手法の目的として適切なものはどれですか?
- プロジェクト管理の進捗を可視化する
- システム全体の構造を階層的に整理する
- プログラムの実行速度を最適化する
%%replace6%%
正解
2 システム全体の構造を階層的に整理する
解説
構造化手法はシステムの階層的構造を明確にすることで、システムの見通しを良くし、管理や保守を容易にします。選択肢1のプロジェクト管理や3の実行速度の最適化は、構造化手法の主目的ではありません。
問題
構造化手法の代表的な技法として適切なものはどれですか?
- ガントチャート
- データフロー図
- ユースケース図
%%replace6%%
正解
2 データフロー図
解説
データフロー図は構造化手法で使用され、データの流れを視覚的に表現することでシステム全体の構成が把握しやすくなります。ガントチャートはプロジェクト管理に、ユースケース図はオブジェクト指向で用いられる技法です。
問題
構造化手法が主に目指す効果として適切でないものはどれですか?
- システムの保守性の向上
- プロセスの分割とモジュール化
- 開発コストの削減と短縮
%%replace6%%
正解
3 開発コストの削減と短縮
解説
構造化手法は保守性や理解性の向上を目指しており、モジュール化によって分割管理しやすくする点が特徴です。開発コスト削減や短縮は直接の目的ではありませんが、間接的な効果として期待されることもあります。
オブジェクト指向
オブジェクト指向はデータと処理をひとつの「オブジェクト」としてまとめる設計手法です。
システムをオブジェクトの集まりとして捉え、継承やカプセル化、ポリモーフィズムなどの概念を活用します。この方法により、再利用性や拡張性が向上し、大規模なソフトウェア開発でも柔軟な構造が可能になります。
オブジェクト指向に関する学習用問題
問題
オブジェクト指向の特長として正しいものはどれですか?
- データと処理を一つの単位にまとめる
- 開発工程を厳密に定義する
- データの流れを明確化する
%%replace6%%
正解
1 データと処理を一つの単位にまとめる
解説
オブジェクト指向は、データと処理をひとつの「オブジェクト」としてまとめて管理する手法です。選択肢1は開発手法全般に言えることで、3は構造化手法に関連します。
問題
オブジェクト指向の主要な概念に含まれないものはどれですか?
- 継承
- モジュール分割
- カプセル化
%%replace6%%
正解
2 モジュール分割
解説
オブジェクト指向では継承、カプセル化、ポリモーフィズムなどが基本概念です。モジュール分割は、構造化手法や他の手法で用いられることが多い概念です。
問題
オブジェクト指向の「継承」に最も近い説明はどれですか?
- オブジェクトを複数のクラスに分ける
- 処理手順を階層化して整理する
- あるクラスの性質を別のクラスが引き継ぐ
%%replace6%%
正解
3 あるクラスの性質を別のクラスが引き継ぐ
解説
継承はあるクラスが他のクラスの性質を引き継ぐオブジェクト指向の基本的な概念です。選択肢1や3はオブジェクト指向とは異なる手法に関連しています。
ユースケース
ユースケースはシステムの機能要件を明確化するための手法で、ユーザーの視点からシステムの機能を洗い出します。
特に「誰が」「何を」行うかに着目し、具体的な操作や利用シーンをシナリオとして記述することで、要件定義に役立てられます。
ユースケースに関する学習用問題
問題
ユースケースの目的として正しいものはどれですか?
- データの流れを可視化する
- システムの機能要件をユーザー視点で明確にする
- プログラムの構造を設計する
%%replace6%%
正解
2 システムの機能要件をユーザー視点で明確にする
解説
ユースケースはシステム機能をユーザーの観点から明確にするために用いられます。選択肢1はデータフローに関連し、3は設計手法の違いに関する内容です。
問題
ユースケースの主な利用目的として適切でないものはどれですか?
- システムの構造を視覚的に分解する
- システムの機能をユーザーの視点で記述する
- 要件定義の具体化を支援する
%%replace6%%
正解
1 システムの構造を視覚的に分解する
解説
ユースケースはシステムの機能要件を明確化し、要件定義を具体化するための手法です。選択肢1のような構造の視覚的分解は、データフロー図やER図などが適しています。
問題
ユースケースで用いられる「アクター」とは何を指しますか?
- システムの中核機能
- システムとやり取りする外部の役割
- システム内部のデータ
%%replace6%%
正解
2 システムとやり取りする外部の役割
解説
アクターとは、ユースケースにおいてシステムとやり取りを行う外部の役割を示します。選択肢1や3はシステム内部に関連するもので、アクターの定義とは異なります。
UML
UML(Unified Modeling Language)はソフトウェアの構造や振る舞いを視覚的に表現するための標準的なモデリング言語です。
複数の図を用いてシステムの仕様を記述し、開発者間で共通理解を得やすくします。クラス図、ユースケース図、シーケンス図などがあり、特にオブジェクト指向開発で活用されます。
UMLに関する学習用問題
問題
UMLの主な特徴として適切なものはどれですか?
- データの流れを図示する技法に限定される
- ソフトウェア開発の視覚的な仕様記述を支援する
- システムの動作テストを効率化する
%%replace6%%
正解
2 ソフトウェア開発の視覚的な仕様記述を支援する
解説
UMLはシステムの構造や動作を視覚的に示すためのモデリング言語です。
データフローやテストのための技法ではなく、設計支援が主な目的となります。
問題
UMLの代表的な図に含まれないものはどれですか?
- ユースケース図
- クラス図
- フローチャート
%%replace6%%
正解
3 フローチャート
解説
UMLにはユースケース図やクラス図などが含まれますが、フローチャートは含まれません。
フローチャートは一般的な業務手順の図式化に使われるものです。
問題
UMLが利用される主な目的は何ですか?
- システムの構造と動作を視覚的に表現する
- 開発スケジュールを管理する
- システムのパフォーマンスを計測する
%%replace6%%
正解
1 システムの構造と動作を視覚的に表現する
解説
UMLはシステム設計の視覚的な表現に特化しており、開発スケジュールやパフォーマンスの管理には使用しません。
DevOps
DevOpsは開発(Development)と運用(Operations)を統合し、連携と自動化を進める考え方です。
これにより、開発から運用までの効率化が図られ、品質の向上とリリースサイクルの短縮が可能です。継続的インテグレーションやデリバリーなどの手法が取り入れられています。
DevOpsに関する学習用問題
問題
DevOpsの主な目的として正しいものはどれですか?
- 開発と運用の分離を徹底する
- 開発と運用の連携を深める
- データの流れを整理する
%%replace6%%
正解
2 開発と運用の連携を深める
解説
DevOpsは開発と運用を一体化し、効率的な開発とデプロイを実現する手法です。
分離ではなく連携が主な目的で、データの流れ自体の整理は対象ではありません。
問題
DevOpsのメリットとして適切でないものはどれですか?
- リリースサイクルの短縮
- コミュニケーションの改善
- システム構造の変更頻度の増加
%%replace6%%
正解
3 システム構造の変更頻度の増加
解説
DevOpsによりリリース頻度が増す一方で、システム構造の変更が必ずしも頻繁になるわけではありません。
リリースの効率化と円滑なコミュニケーションが主なメリットです。
問題
DevOpsで利用される手法として適切なものはどれですか?
- 継続的インテグレーション
- データモデリング
- アーキテクチャ設計
%%replace6%%
正解
1 継続的インテグレーション
解説
継続的インテグレーション(CI)は、DevOpsのプロセスで利用される代表的な手法です。
データモデリングやアーキテクチャ設計は別の開発手法や工程に含まれます。
MLOps
MLOpsは機械学習モデルの開発(ML)と運用(Ops)を統合し、モデルのライフサイクル管理を効率化する手法です。
モデルの継続的トレーニングやデプロイ、モニタリングを支援することで、機械学習プロジェクトの効率化や安定した運用が可能となります。
MLOpsに関する学習用問題
問題
MLOpsの特徴として適切なものはどれですか?
- モデルの継続的な運用と管理を目的とする
- システム設計の効率化を目的とする
- モジュールの再利用性を高める
%%replace6%%
正解
1 モデルの継続的な運用と管理を目的とする
解説
MLOpsはモデルの運用管理を効率化し、継続的なトレーニングや監視を行います。
選択肢2や3はMLOpsの特徴とは異なります。
問題
MLOpsがサポートするものとして適切でないものはどれですか?
- 機械学習モデルのモニタリング
- モデルのトレーニングとデプロイ
- ソフトウェアのユーザインタフェース設計
%%replace6%%
正解
3 ソフトウェアのユーザインタフェース設計
解説
MLOpsは機械学習モデルのトレーニング、デプロイ、モニタリングを含みますが、ユーザインタフェース設計の支援は含まれません。
問題
MLOpsにおける継続的なトレーニングは何を目的としていますか?
- データの流れを整理するため
- モデルの精度維持や改善のため
- モジュール分割を明確にするため
%%replace6%%
正解
2 モデルの精度維持や改善のため
解説
MLOpsの継続的トレーニングは新しいデータに適応するためにモデルの精度を維持・改善することを目的としています。
データの流れやモジュール分割は目的ではありません。