-
SysMLソフトウェア設計に用いられるUMLを拡張したグラフィカルなモデリング言語
-
ユースケース図システムとアクタの相互作用を表現する
-
システムやソフトウェアに対する保守
-
インスペクション作成者以外の第三者が成果物を確認するレビュー方法
-
イテレーション短いサイクルで分析、設計、実装、テストの一連の活動を繰り返すこと
-
is-a(汎化-特化)の関係[動物-犬]などのように「...は00である」で表現できる
-
part-of(集約-分解) の関係「自転車-サドル」のように「...は00の一部であえる」
-
バーンダウンチャート縦軸に残作業量、横軸に時間を取った折れ線グラフ。
残作業量や予定との差異を視覚的に把握することができる -
モジュール結合度
-
スタブトップダウンテストにおいて必要となるテストモジュール
-
ドライバボトムアップテストにおいて必要となるテストモジュール
-
モジュール強度
-
MVCモデル
-
プラットフォーム開発複数の製品で強要する共通部分を最初に設計し、それを土台として開発する。
-
マッシュアップWeb APIを組み合わせて新しいサービスを開発する
-
FTA(Fault Tree Analysis)故障や事故、失敗などの要因を分析する手法の一つで、ある事象の要因となる事象を列挙し、さらに各要因について要因を列挙し…という手順を何段階も繰り返し、全体を樹形図(ツリー)の形に図示して整理する手法
-
FMEA製品や製造プロセスに潜在する故障モードを事前に洗い出し、影響を分析評価したうえで対策を講じる解析手法
-
アクティビティ図ある振る舞いから次の振る舞いへの制御の流れを表現する
-
状態遷移図オブジェクトがイベントの発生や時間の経過と共にどのように変化するのかを表現する
-
データ中心アプローチ(DOA)プログラムとデータは別のものであると考え、データを中心に据えてプログラムを設計する
-
クロス開発プログラムを開発するマシン環境と、実行するマシン環境が異なること
-
ウォークスルー開発メンバーの複数人で設計書やソースコードを検査すること
-
CMMIソフトウェア開発及びプロジェクトの成熟度を評価するためのモデル
-
アシュアランスケースシステムが要件を満たしていることを示す証拠を体系的にまとめたもの
-
エピック大きなユーザーストーリー
-
ストーリーポイントユーザーストーリーの規模を見積もるための単位
-
プロダクトバックログユーザーストーリーを管理するためのリスト
-
決定表 (デシジョンテーブル):条件と結果の組み合わせを一覧で表したもの
-
集中処理1つの高性能なコンピュータ(メインフレームなど)ですべての処理を行う方式。
メリット:管理が容易、セキュリティが高い。
デメリット:システム全体が停止するリスクが高い、拡張性が低い。
過去の主流な方式で、現在では大規模なシステムで一部利用されるケースがあります。 -
分散処理複数のコンピュータで処理を分担する方式。
メリット:処理能力が高い、可用性が高い、拡張性が高い。
デメリット:システムが複雑化しやすい、管理が難しい。
現在の主流な方式で、クライアントサーバシステムやWebシステムなど、多くのシステムで採用されています。 -
マイクロサービスアーキテクチャアプリケーションを独立した小さなサービスに分割し、連携させて動作させる
開発・運用・スケーリングが容易、個別のサービスを独立して更新可能
システムが複雑化しやすい、サービス間の通信の管理が難しい -
サービスメッシュマイクロサービス間の通信を管理するためのソフトウェア基盤。
マイクロサービスアーキテクチャの複雑さを解消し、管理を容易にするために利用 -
サーキットブレーカーサービス間の通信において、障害が発生したサービスへのアクセスを遮断する仕組み
障害の影響範囲を最小限に抑え、システム全体の可用性を維持するために利用されます -
サーバレスアーキテクチャサーバの管理を必要とせず、アプリケーションの実行環境を提供するサービス
Lambdaなど -
擬似コードプログラミング言語に似た形式で、アルゴリズムを記述したもの
プログラムのロジックを明確化し、設計の段階で共有するために利用される -
OODB(Object Oriented Database)オブジェクト指向の概念に基づいてデータを管理するデータベース
マルチメディアデータやCADデータなど、複雑な構造のデータを扱う -
インメモリデータベースデータをメモリ上に格納して高速にアクセスするデータベース
リアルタイム処理や高負荷な処理 -
クリーンアーキテクチャソフトウェアの設計原則の一つで、関心の分離を重視したアーキテクチャ
ビジネスロジックを、フレームワークやデータベースなどの外部要素から独立させることで、ソフトウェアの保守性、テスト性を向上させることを目的とします。 -
.フォームオーバーレイ既存の画面に重ねて表示される入力フォーム
-
利用時の品質モデル
-
JIS X 25010品質特性を8つに分類し、それぞれの特性をさらに詳細な副特性に分解して定義
-
ワーニエ法プログラムを、段階的に詳細化していく手法。
プログラム全体の処理を抽象的に記述し、段階的に詳細な処理に落とし込んでいきます。 -
ジャクソン法プログラムの構造を、データ構造に基づいて設計する手法。
-
HIPOシステムの階層構造と、各モジュールの入力、処理、出力を表現する図。
-
STS分割 (Source Transform Sink分割)データの流れを、「入力(Source) → 変換(Transform) → 出力(Sink)」の3つの段階に分割する手法
-
TR分割データ処理のトランザクション(一連の処理)ごとにモジュールを分割する手法
-
サブルーチン特定の処理を行うために、メインプログラムから呼び出されるプログラム
-
NS図プログラムの構造を視覚的に表現する図。
-
コンポーネントウェアフトウェアを構成する**独立した再利用可能な部品(コンポーネント)**のこと
-
クラスライブラリ関連するクラスや関数をまとめたもの
-
レガシーラッピング、既存のシステム(レガシーシステム)をコンポーネントとして再利用するための技術
レガシーシステムをAPIで包み込むことで、新しいシステムから利用できるようにする -
COTS市販の既製のソフトウェア製品のこと。
パッケージソフトウェアやライブラリなどがCOTSに該当 -
GoF「オブジェクト指向における再利用のためのデザインパターン」で紹介された23個のデザインパターン
-
ピアレビュー同僚やチームメンバーがレビューを行う手法
-
ウォークスルーレビュー対象のドキュメントやコードを、作成者が説明しながらレビューを行う手法
-
モデレーターレビューを進行する役割の人。
-
構造化プログラミング順次、選択、繰返しの3つの制御構造を組み合わせてプログラムを記述する手法
-
インデンテーションプログラムのソースコードにおいて、行頭を字下げすること
-
サイクロマティック複雑度プログラムの制御フローの複雑さを表す指標
-
メトリクス計測ソフトウェアの品質や生産性を評価するために、様々な指標(メトリクス)を計測すること
-
コードインスペクション複数人でソースコードをレビューし、欠陥を検出する正式なレビュー手法
-
アサーションプログラムの実行中に、特定の条件が満たされていることを確認するための仕組み
-
トレーサープログラムの実行過程を記録するツール
-
スナップショットプログラムの実行中の特定の時点での状態を保存したもの
-
ミューテーションテストプログラムを少しだけ変更したもの(エラー)を複数作成し、テストケースがそれらを検出できるかを確認する
-
実験計画法複数の要因を変化させてテストを行い、要因と結果の関係を分析する
-
カナリアリリース新しいシステムを一部のユーザーに先行して公開し、フィードバックを得ながら段階的に公開範囲を広げていく手法
-
ブルーグリーンデプロイメント新しいシステムを既存システムと並行して構築し、切り替え時にトラフィックを新しいシステムに切り替える手法
-
STAMP/STPAシステムの安全性を分析するための新しい手法
-
DevOps開発チームと運用チームが連携し、開発と運用を一体化させることで、ソフトウェアのリリースサイクルを短縮し、品質向上を図る手法
-
MLOps機械学習モデルの開発、運用、保守を効率化するための手法です。DevOpsの考え方を機械学習に適用したもの
-
進展的モデルシステムを徐々に発展させていくモデルです。
プロトタイピングモデルと似ていますが、プロトタイプを捨てるのではなく、それを発展させて最終的な製品に仕上げていきます。
-
段階的モデルシステムを複数の部分(インクリメント)に分割し、インクリメントごとに開発とリリースを繰り返すモデル
-
ソフトウェアプロダクトライン共通のアーキテクチャやコンポーネントを基に、複数の製品を効率的に開発するための手法
-
アジャイルソフトウェアの12の原則
-
リーンソフトウェア開発ムダを排除し、価値の流れを最大化する手法
-
ユーザー機能駆動開発 (FDD)ユーザーの視点から見た機能を重視する手法
-
テスト駆動開発 (TDD)テストを先に作成し、それを満たすようにコードを記述する手法
-
プランニングポーカーユーザーストーリーの工数を見積もる手法
メンバーがそれぞれカードに書いた見積もりを同時に出し、意見交換しながら合意形成を目指す -
ユーザーストーリーユーザーの視点から見たシステムの機能を記述したもの。
「誰が」「何を」「なぜ」したいのかを簡潔にまとめた文章で表現 -
タイムボックス作業時間を制限すること
-
ベロシティチームが1スプリントで完了できる作業量です
-
継続的インテグレーションコードの変更を頻繁に統合することです。自動化ツールなどを用いて、ビルド、テスト、デプロイなどを自動化すること
-
エンタープライズアジャイル大規模な組織でアジャイル開発を導入するためのフレームワークや手法
-
SAFe (Scaled Agile Framework)最も広く採用されているエンタープライズアジャイルフレームワークの一つ。組織全体でアジャイル開発を推進するための包括的なガイダンスを提供します。
4つの階層: チームレベル、プログラムレベル、ラージソリューションレベル、ポートフォリオレベル
アジャイルリリースサイクル: 計画、実行、リリースのサイクル
リーンアジャイルの原則: 価値の流れを最大化する -
LeSS (Large-Scale Scrum)大規模なスクラム開発のためのフレームワーク
-
Scrum of Scrums複数のスクラムチームを連携させるための手法
-
DA (Disciplined Agile)様々なアジャイル手法を組み合わせたフレームワーク
-
YAGNI (You Ain't Gonna Need It)今必要のない機能は実装しない
-
インクリメントスプリントの成果物。 完成し、動作するプロダクトの一部
-
カオスエンジニアリングシステムに意図的に障害を発生させることで、システムの耐障害性を検証する手法
-
オブザーバビリティ (可観測性)システムの内部状態を外部から観察できる度合い
-
OpenTelemetryオブザーバビリティのためのオープンソースの標準規格
-
SBOM「ソフトウェア部品表」とも呼ばれ、ソフトウェアを構成するコンポーネントやライブラリの一覧を記述したもの
-
アクティベーションソフトウェアを特定の端末で利用できるようにする認証手続き
-
CPRM (Content Protection for Recordable Media)DVDやBlu-ray Discなどの記録メディアに用いられるコピーガード技術
-
DRM (Digital Rights Managementジタルコンテンツの利用を制限する技術
-
コピーガードデジタルコンテンツの複製を制限する技術の総称
ログイン