アフィリエイト広告を利用しています

アフィリエイト広告を利用しています

2021年4月10日土曜日

2021年4月6日火曜日

経営情報システム 〜ソフトウェアの品質レビュー技法〜

 

ウォークスルー

成果物の作成者とその関係者が集まって、設計書やプログラムなどの成果物を机上のシミュレーションによりレビューする方法である。
インスペクション

ウォークスルーを組織的にしたレビュー法である。プログラム作成者、進行まとめ役、記録役、説明役、レビュー役を明確に決めて、厳格なレビューを公式に行う。モデレータと呼ばれる開催責任者が、レビュー計画や資料の作成、参加者の選定、討議の司会進行、指摘された不具合や設計ミスの修正確認を行う。インスペクションは、組織的かつ確立された手続きのもとに効率的なレビューを実施できるため、ウォークスルーよりも高い品質のレビューが期待できる。
パスアラウンド

レビュー対象物のコピーをレビュー担当者に配布し、レビュー担当者の回覧ベースで不具合を指摘してもらうレビュー法である。関係者に対して電子メールでレビュー対象物を送信し、コメントをもらうという方法が一般的に用いられる。

経営情報システム 〜テスト〜

 

回帰テスト(リグレッションテスト)

修正や変更をした後に、変更箇所が正しく動作するか、想定外の影響が出ていないかを確認する。

ベータテスト

開発中のベータ版を広くユーザに開放して使ってもらうことによって、たくさんの意見や不具合の発見を期待するものである。

アルファテスト

ベータテストなど広く開放する前に、事前に開発者内部などで実施しておくテストである。

スモークテスト

ソースコードの開発・追加・修正を終えたソフトウェアが正常に機能する状態にあるかを確認する予備的なテスト

A/Bテスト

画面レイアウトなどをAパターンとBパターンの2つを用意して、その操作性やコンバージョン率(目標画面への遷移達成など)を比較して試験することである

モンキーテスト

対象箇所や操作手順などを事前に定めず、実施者がテスト項目をランダムに選んで実行するテスト

運用テスト

システム開発の最終段階で、発注者として、そのシステムが実際に運用できるか否かを、人間系も含めて行うテスト

ビッグバンテスト

結合テストの方法の1つ。複数のモジュールを一挙に結合して、その動作を検証する。

デシジョンテーブルテスト

情報システムに組み込まれた複数の判断条件と動作の組み合わせを整理したディシジョンテーブルを基に、それぞれの判断条件の組合せで正常な動作やふるまいをするか、網羅的にテストする方法

グレーボックステスト

ホワイトボックステストのようにプログラムの内部構造を知った上で、ブラックボックステストのように要求仕様や外部仕様から見たテストを行う方法である。

経営情報システム 〜ソフトウェアの開発見積手法〜

 

類推法

過去の類似システムの実績から類推する手法

パラメトリック法

モデル計算式により必要工数を算出する手法
LOC法

画面や帳票の数ではなく、ソースコードの行数(ステップ数)に基づいて開発規模を算出する。LOCは、Line Of Codeの頭文字をとったもので、 SourceのSを付けてSLOCとも呼ばれる。
ファンクション・ポイント法(FP法)

ソフトウェアが持つ機能数や複雑さによって重みづけした点数(ファンクション・ポイント)を付け、その合計点数から開発規模を算出する。

COCOMO(Constructive Cost Model)

プログラムのステップ数に補正係数を掛けて工数を算出する

ボトムアップ法

作業を要素に分解し,要素ごとの工数を積み上げて全体工数を見積もる手法。WBS法、標準タスク法がある。

標準タスク法

開発工程をWBSに分解することによりタスクレベルに落とし込んで開発規模を算出する。

CoBRA法(コブラ:Costestimation, Benchmarking and Risk Assessment)

CoBRAとは、1997年にドイツで発表され、その後、日本国内でも試行・評価が進められている。CoBRAは、熟練者の経験と、過去のプロジェクトデータの両方を利用した見積手法であり、経験豊富なプロジェクト・マネージャ等の見積り熟練者の経験や知識を抽出しそれを変動要因として定義・定量化することで、透明性と説明性の高い見積を行う点に特徴がある。
CoBRA法では、「変動要因の存在しない理想的な状態においては、開発コストは開発規模に比例する」「現実のソフトウェア開発においては、開発コストを増加させる複数の変動要因が存在し、その影響度の総和だけ開発コストが増加する」の仮説に基づいて開発規模を算出する。
CoBRAでは、予算超過確率から見積工数を逆算する観点と、指定した工数を超過する確率を計算する観点から予算超過リスクを分析する。
CoBRAでは、三角分布を用いてコスト変動要因と影響を定量化する。 三角分布とは、様々なコスト変動要因による影響を、最低値、最頻値(モード)、 最大値の3点を使って定義する連続分布である。
COBRAによる見積モデルの構築手順では、 熟練者2~3名に対するアンケートとインタビューから変動要因と工数への影響度を評価し、10件程度の過去プロジェクトの規模および工数の実績データからの見積モデル構築手順を示している。

2021年4月3日土曜日

経営情報システム 〜障害対策〜

 

フォールトアボイダンス

故障そのものを起こさないようにする考え方。個々の構成要素の品質を高めたり、十分なテストを行ったりして、故障や障害の原因となる要素を極力排除することで信頼性を高めるという考え方である。
フォールトトレランス

故障などの障害が発生することを前提にしたシステム設計などの考え方である。例えば、コンピュータの多重化やUPS(無停電電源装置)を用いることなどがあげられる。フェールセーフやフェールソフトについてもフォールトトレランスに含まれる考え方となる。
フォールバック

処理性能を減衰させてシステムを運用すること。
フェールセーフ

故障などの障害が発生することをあらかじめ想定し、起きた際の被害を最小限にとどめるような工夫を施し、安全性を重視する設計仕様を言う。例えば、エレベータが停電すると最寄階で停止するように設計されていることなどがあげられる。UPS(無停電電源装置)はバッテリーによる瞬電対策に用い、コンピュータを安全に
停止するために利用する。
フェイルオーバ

稼働中のシステムに障害が発生した際に、代替システムがその機能を自動的に引き継ぎ、処理を続行する仕組み。デュプレックスシステム(複数のCPUや記憶装置を保有し、状況に応じて切り替えて使用するシステム構
成)が代表例である。
フェールソフト

システムの故障箇所を切り離す仕組み。処理性能を減衰させてでも、必要機能のみを維持させて運用する仕組み。
フールプルーフ

システム操作者の入力ミスや誤使用などによって生じる不具合やトラブルを予め想定し、障害の可能性を抑制する設計の考え方である。
デュアルシステム

一つの業務に対して、全く同じ構成の二組のシステムを用意して、両方で同じ処理を行い、互いの処理結果を照合しながら処理を行うシステム構成である。二組のシステムのうち、どちらか一方のシステムに障害が発生した場合には、障害が発生した系統のシステムを切り離して処理し、一方のシステムのみで処理を続行できる。システムの二重化による費用がかかるが、非常に高い信頼性を得ることができる。
デュプレックスシステム

ひとつの業務に対して二系統(主系・従系)のシステムを用意し、主系で大部分の処理を実行し、従系では頻度の少ないバッチ処理を実行させるか、または、待機させておく方式である。主系にハードウェア障害などが発生した時は、処理を従系に切り替えて運用を継続させる。切り替えに係る時間などを考慮するとデュアルシステムと比較して信頼性は低下するが、通常時は主系・従系で異なる処理を並列的に処理運用ができる。
デュプレックスシステムは、通常時の従系の待機状態によって次の3種類の方式に分類される。
コールドスタンバイ方式

従系のシステムは電源を切断した状態で待機させ、主系のシステムに障害が発生した場合に、業務処理プログラムなどを従系のシステムで起動して切り替える方式である。ただし、現実的には電源を切断せずに、まったく別の処理を実行するために使用することがあり、切り替えが必要な場合に電源を再起動して準備するような場合もこの方式である。
ホットスタンバイ方式

主系で行う業務処理プログラムなどを動作可能な状態に立ち上げておき、障害発生時には即座に従系に切り替えることができる方式である。主系から従系への切り換え時間が短く、高い可用性を得ることができる。
ウォームスタンバイ方式

従系では常にOSを立ち上げているが、業務処理プログラムなどは起動していない状態で待機している方式である。主系のシステムに障害が発生した場合は、業務処理プログラムなどを起動して処理を続行するため、コールドスタンバイに比べて、電源投入からOS起動までの時間が短縮できる。
マルチプロセッサシステム

マルチプロセッサシステムとは、1台のコンピュータに複数の演算処理装置(CPU)を搭載して、システムの処理性能を向上させ、耐障害性能を向上させる仕組みである。
タンデムシステム

システムの性能向上を目的として複数の演算処理装置(CPU)に機能を分担させる仕組みであり、演算処理装置(CPU)は直列につながれる。
ロードシェアリング

コンピュータシステムの負荷を分散させる目的で複数のCPUやコンピュータを接続し、各CPUやコンピュータで分担して処理を行うコンピュータシステムの総称である。
クラスタリング

独立して動作する複数のコンピュータを相互に接続し、全体として信頼性の高いコンピュータシステムを構築する形態。コンピュータの一部が障害を起こしてもほかのコンピュータに処理を肩代わりさせ、システム全体の停止を防止する。

英語の知識 〜母音〜

英語の母音 cut,but /ʌ/ away,about /ə/ arm,father,calm /ɑː/ cat,bad /æ/ get,met /e/ first,bird /ər/ bit,hit,sit /ɪ/ see,he,eat /iː/ hot,got /ɑ/ ta...