close

開発技術 ソフトウェア開発管理技術

開発プロセス・手法

ソフトウェア開発手法

@ ソフトウェア開発モデル ソフトウェア開発の効率化や品質向上のために用いられるソフトウェア開発モデルの考 え方,必要性を理解し,ソフトウェア開発モデルの特徴を理解する。 用語例 ウォータフォールモデル,プロトタイピングモデル,アジャイル,DevOps,ソフ トウェアプロダクトライン,段階的モデル(Incremental Model),進展的モデル (Evolutionary Model) A アジャイル 迅速かつ適応的にソフトウェア開発を行う軽量な開発手法であるアジャイルの特徴を理 解する。 (a)アジャイルの概要 アジャイルの概要として,アジャイルソフトウェア開発手法の種類などを理解する。 用語例 アジャイルソフトウェア開発宣言,アジャイルソフトウェアの 12 の原則,XP (エクストリームプログラミング),スクラム,リーンソフトウェア開発,ペル ソナ,ユーザストーリ,プランニングポーカ,バーンダウンチャート,ふりかえ り(レトロスペクティブ),継続的デリバリ(CD),エンタープライズアジャイル (b)XP(エクストリームプログラミング)の特徴 XP(エクストリームプログラミング)の特徴を理解する。 用語例 五つの価値(コミュニケーション,シンプル,フィードバック,勇気,尊重), 共同のプラクティス,開発のプラクティス(テスト駆動開発(TDD),ペアプログ ラミング,リファクタリング,ソースコードの共同所有,継続的インテグレーシ ョン(CI),YAGNI),管理者のプラクティス,顧客のプラクティス,イテレーシ ョン (c)スクラムの特徴 スクラムの特徴を理解する。 用語例 スクラムチーム(プロダクトオーナ,開発チーム,スクラムマスタ),技法(テ スト駆動開発(TDD),リファクタリング,継続的インテグレーション(CI)),ス プリント,ベロシティ,タイムボックス,スプリントプランニング,デイリース クラム,スプリントレビュー,スプリントレトロスペクティブ,プロダクトバッ クログ,スプリントバックログ,インクリメント B ソフトウェア再利用 ソフトウェアの開発生産性や品質向上のためには,部品化や再利用が必要であり,部品 化を進める際には,部品は再利用されるという前提に立って設計や作成に取り組む必要が -70- Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2021 あること,ソフトウェアパッケージを活用することによって,開発生産性や品質向上が可 能になることなどを理解する。また,ソフトウェア部品の種類,特徴,部品設計のポイン トを理解する。 (a)部品の種類と特徴 ソフトウェア部品の種類と特徴を理解する。 用語例 関数部品,オブジェクト部品(クラスライブラリ),データ部品,プロセス部品, 常駐部品と組込み部品,ブラックボックス部品,ホワイトボックス部品,パラメ トリック部品,ノンパラメトリック部品,クローズドシステム部品,オープンシ ステム部品 (b)部品設計の基準 部品の利用用途に応じた,設計基準の目的,内容を理解する。 用語例 モジュールの独立性,カスタマイズ,ライブラリ,命名規則 C リバースエンジニアリング 既存のソフトウェアを解析して,仕様や構成部品などの情報を得るリバースエンジニア リングがあること,リバースエンジニアリングの結果に基づいて,元のソフトウェアの権 利者の許可なくソフトウェアを開発,販売すると,元の製品の知的財産権を侵害する可能 性があること,利用許諾契約によっては,リバースエンジニアリングを禁止している場合 もあることなどを理解する。 用語例 互換性,コールグラフ D マッシュアップ マッシュアップは,複数の提供元による API を組み合わせることで,新しいサービスを 構築する手法であることを理解する。また,マッシュアップの考え方,生産性,品質面で の特徴,留意事項を理解する。 E モバイルアプリケーションソフトウェア開発 モバイルアプリケーションソフトウェア開発の手順,留意事項を理解する。 用語例 モバイル用 Web アプリケーションソフトウェア,ネイティブアプリケーションソ フトウェア,ハイブリッドアプリケーションソフトウェア,User-Agent,パーミ ッション要求,端末仕様(ディスプレイサイズほか)の多様性への対応,アプリ ケーションソフトウェア動作中の圏外時・着信時の対応,アプリケーションソフ トウェア審査,アプリケーションソフトウェア配布

システム開発手法

ソフト開発モデル

ウォータフォールモデル:ソフトウェアの開発を基本計画から、外部設計、内部設計、プログラム設計、プログラミング、テストと、上流から下流の各工程に分け、上流工程から下流工程へと順番に進めていくのが特徴

スパイラルモデル:開発プロセスをらせん状に繰り返してシステムを開発。システムの改良だけではなく、開発コストなどをもとに開発プロセス(開発手法や設計指針など)を改善。

プロトタイプモデル:ドキュメントによる要求仕様の確認の困難さを解消するため、プロトタイプを作成し、仕様を確認していくモデル。

成長型モデル:システムに対する仕様変更を前提として、「提供→使用(試用)→仕様変更(改良)」を繰り返しながら、システムを成長させていくという考え方。

構造化手法

階層構造化,段階的詳細化,構造化チャート,状態遷移図,HIPO(Hierarchy plus Input Process Output),DFD,ソフトウェア構造

DFD(Data Flow Diagram):「入力」→「処理」→「記憶」、「出力」という関係から、データの流れに着目して、対象となる業務のデータの流れ(データフロー)と処理(プロセス)の関係をわかりやすく図式表現する方法

システムのモデル化:創造化分析では、構造化仕様書を作成するため「現物理モデル→現論理モデル→新論理モデル→新物理モデル」の順でDFDを作成し、システムのモデル化を図る。

構造化分析法:システム機能間のデータの流れに着目して、開発の対象となるシステムの要求を仕様化する技法。

構造化分析の3つのツール

DFD:DFDの作成は、順次階層化していくトップダウンアプローチで行われる。ただ一つだけのプロセスが記述された最上位のDFDを「コンテキストダイアグラム」という

ミニスペック(ミニ仕様書):最終的に詳細化された基本的なプロセス、最下位のDFDの機能仕様書を作成したもの

データディクショナリ(データ辞書):階層化されたすべてのDFD中にあるデータフローで示されたデータとデータストアを構成するデータの内容を定義したもの。

形式手法

VDMTools

開発プロセス

@ ソフトウェアライフサイクルプロセス SLCP(Software Life Cycle Process:ソフトウェアライフサイクルプロセス)の目的 と全体像を理解する。 用語例 SLCP-JCF(共通フレーム),JIS X 0160,JIS X 0170,プロセス,アクティビテ ィ,タスク A プロセス成熟度 開発と保守のプロセスを評価,改善するに当たって,システム開発組織とプロセス成熟 度をモデル化した CMMI があること,プロセス成熟度を 5 段階のレベルで定義するなど CMMI の考え方,高次のレベルに達するために必要な方策を理解する。 用語例 初期,管理された,定義された,定量的に管理された,最適化している

知的財産適用管理

著作権管理

プログラムの著作者,職務著作

特許管理

特許権,専用実施権,通常実施権

ライセンス管理

ライセンサ,ライセンシ

技術的保護

コピーガード,DRM,アクティベーション,CPRM,AACS

開発環境管理

開発環境構築

構成品目,ソフトウェアライセンス

管理対象

@ 開発環境稼働状況管理 効率的な開発のためには,コンピュータ資源,開発支援ツールなど適切な開発環境の準 備が必要であること,また資源の稼働状況を適切に把握,管理することを理解する。 用語例 資源管理,運用管理 A 設計データ管理 設計にかかわるさまざまなデータのバージョン管理,プロジェクトでの共有管理,安全 管理など,設計データを管理することを理解する。また,企業機密や個人情報が含まれて いるデータは,誰がいつ何の目的で利用したのか,不適切な持出しや改ざんがないかなど を厳重に管理することを理解する。 用語例 更新履歴管理,アクセス権管理,検索 B ツール管理 多数の人が開発に携わる場合,開発に利用するツールやバージョンが異なることによっ て,作成したソフトウェアの互換性の問題が生じるおそれがあることを理解する。また, ツールに起因するバグやセキュリティホールの発生など,ツールの選択によって開発対象 のソフトウェアの信頼性に影響を及ぼすおそれがあるので,使用するツールやバージョン の統一などツールを管理することを理解する。 用語例 構成品目,バージョン管理 C ライセンス管理 ライセンス条項に違反した利用は不正利用に当たり,不正利用は違法行為として法的処 罰の対象となることを理解する。また,ライセンスの内容を理解し,定期的にインストー ル数と保有ライセンス数を照合確認するなど,適正に使用しているかどうかを確認するこ とを理解する。 用語例 不正コピー,バージョン管理,棚卸

構成管理・変更管理

構成管理

ソフトウェア構成管理,ソフトウェア構成品目,SLCP(Software Life Cycle Process:ソフトウェアライフサイクルプロセス),構成管理計画,ベースライン

変更管理

@ 構成状況の記録 基準になっているソフトウェア構成品目について,状況や履歴を管理し文書化すること, プロジェクトにおける変更回数,最新のバージョン,移行状況などの当該文書に記録する 内容を理解する。 A ソフトウェア構成品目の完全性保証 ソフトウェア構成品目の機能的な完全性と物理的な完全性を決定,保証することである こと,及びその必要性を理解する。 用語例 一貫性,正確性 B リリース管理及び出荷 ソフトウェア構成品目の完全性が保証された後は,ソフトウェアや関連文書の新しい版 の出荷などの手続を行うこと,ソフトウェアのコードや文書はソフトウェアの寿命のある 間保守することを理解する。 用語例 バージョン管理,保管期間

科学の部屋[工学・化学]