マネジメント~システム開発技術~
こちらも一緒に覚えておくといいかと思います。
一般的に、システムの開発は次のような流れで作業が行われます。
要件定義 → システム設計 → プログラミング → テスト
この中の行程で、システム設計はさらに下記のように細かく分類できます。
外部設計 → 内部設計 → プログラム設計
各工程で行う作業は主に下記の通りとなります。
・要件定義:顧客が求めているシステムの目標と範囲、機能、性能、業務処理手順などの要件を決めます。
・外部設計(システム設計):システムを機能ごとのサブシステムに分けたり、画面やハードウェア・ネットワーク構成を決めたりなど、利用者から見た業務機能を中心に設計を行います。
・内部設計(システム設計):外部設計に基づいて、それをコンピュータ上でどのように実現するかを決めます。ソフトウェア内部の仕組み、データ構造・管理方法、アルゴリズムなどを開発者の視点で設計します。
・プログラミング:実際にプログラミング言語などを用いてプログラムを作成します。
・テスト:作成したプログラムの機能を検査し、システムの動作確認を行います。
ソフトウェア保守とは、運用が始まったシステムの機能改善、不具合の修正、使用環境の変化に対応するためのプログラム改修などを行うことです。保守の目的により、次のように分類できます。
・適応保守: 使用環境の変化に適応するためにソフトウェアの修正を行います。
・修正保守: ソフトウェアの不具合の修正を行います。
・予防保守: ソフトウェアの潜在的な不具合を検出し修正を行います。
ソフトウェア品質の評価に関する国際規格である「ISO 9126」において、ソフトウェアの品質特性を以下のようにまとめています。
●機能性:必要な機能が期待通りに実装されているかの度合いを表す特性です。
●信頼性:障害が発生する頻度や回復能力がどの程度あるかを表す特性です。
●使用性:ソフトウェアの使いやすさに関する特性です。
●効率性:ソフトウェアの処理能力や資源の有効利用に関する特性です。
●保守性:ソフトウェアの修正のしやすさに関する特性です。
●移植性:別の環境へのソフトウェアの移しやすさに関する特性です。
システム開発における開発プロセスの成熟度を5段階のレベルで定義したモデルをCMMI(Capability Maturity Model Integration)といいます。
CMMIは、組織が開発プロセスを適切に管理するための指針となります。
レベル1:プロセスが確立しておらず、無秩序な状態(初期)
レベル2:基本的なプロセスが備わっている状態(管理された)
レベル3:標準化されたプロセスが備わっている状態(定義された)
レベル4:プロセスの効率などを評価できる状態(定量的に管理された)
レベル5:定期的なプロセスの改善が実施され最適化されている状態(最適化している)
コンピュータシステムの品質などを評価する指標の一つにRASIS(レイシス)があります。RASISは、システムの評価指数を意味する5 つの英単語の頭文字をつなげた略語です。
・R (Reliability) 信頼性:故障や不具合が発生せずに、安定して稼働し続けられることを表します。
・A (Avalability) 可用性:サービス時間中に実際にサービスをどれくらい利用できるかを表します。
・S (Serviceability) 保守性:メンテナンスや障害からの復旧のしやすさを表します。
・I (Integrity) 完全性:情報が正しい状態を保っていられるかを表します。
・S (Security) 機密性:許可された利用者だけがシステムを使用できることを表します。
これらの指標を用いてシステムの能力や品質を表すことが一般的に行われています。設問では、上記に加えて「性能」もシステムの評価指標に加えています。