ソフトウェアプロダクトラインエンジニアリング
ソフトウェア プロダクト ライン エンジニアリング
ソフトウェア製品系列開発の基礎と概念から技法まで
- 著者:
- クラウス・ポール / ギュンター・ベックレ(ポール, クラウス / ベックレ, ギュンター)
- 出版社:
- エスアイビー・アクセス
- 出版日:
- 2009年01月
- 一覧:
- 2009 年に出た技術書
- ISBN:
- 9784434127069
- 在庫:
- 在庫あり
なぜ注目されているか
技書の森解説
『ソフトウェアプロダクトラインエンジニアリング』 (クラウス・ポール、ギュンター・ベックレ、フランク・ヴァン・デル・リンデン 著、林好一、吉村健太郎、今関剛 訳、エスアイビー・アクセス、2009 年 1 月刊) は、Software product line engineering を原タイトルとする翻訳書で、副題「ソフトウェア製品系列開発の基礎と概念から技法まで」のとおり、似た製品を何種類も出すソフトウェアを製品系列として開発する手法を扱う本です。国立国会図書館の書誌では、発売元は星雲社、件名は「システム開発」と記録され、文献と索引を備えています。
ソフトウェアプロダクトラインが解こうとする派生開発の問題
同じ分野の製品を機種や仕向け地ごとに何種類も出す組織では、既存の製品のソースコードを複製して手直しする派生開発が重なるほど、同じ不具合の修正をすべての派生品に配る手間や、どの派生品にどの変更が入っているかを追う手間が増えていきます。ソフトウェアプロダクトラインは、製品群に共通する部分と、製品ごとに変わる部分 (可変性) をあらかじめ分けて整理し、共通部分を資産として計画的に再利用して、個々の製品をその組み合わせとして作る考え方です。一般には、製品群全体のための資産を用意する活動をドメインエンジニアリング、その資産から個々の製品を組み立てる活動をアプリケーションエンジニアリングと呼び分けます。
共通の構造と可変性をどこに置くかという設計の問い
製品系列の開発で中心になるのは、製品群で共有する アーキテクチャ を先に決め、そのどこに差し替えや選択の余地を残すかを設計の段階で決めることです。可変性を置く場所には、実行時の設定、ビルド時の構成の選択、部品の差し替えなど複数の選択肢があり、置き場所を誤ると共通部分が派生品ごとの条件分岐で埋まっていきます。個々のクラスや関数の 設計 よりも一段上の、製品群の範囲を決める要求の整理と、どの差異を許すかの取り決めが主題になる分野です。ソフトウェア設計の本の選び方は 設計 / アーキテクチャ本ガイド にまとめています。
翻訳書の書誌、著者 3 名と訳者 3 名
本書の著者はクラウス・ポール、ギュンター・ベックレ、フランク・ヴァン・デル・リンデンの 3 名で、林好一、吉村健太郎、今関剛の 3 名が翻訳を担当しています。国立国会図書館の書誌の原タイトルは Software product line engineering で、日本語版は 2009 年 1 月にエスアイビー・アクセスから刊行されました。
言及した記事 (2 件)
この本に興味がある方におすすめ
関連する本
関連記事
写経を超える - 技術書のコードを自分のプロジェクトに応用する方法
技術書のサンプルコードを写経するだけでは実力は伸びません。書籍のコードを自分のプロジェクトに応用し、実務で使える力に変える 5 つのステップを解説します。
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。
ペアプロ相手が本を読んでいると会話の密度が変わる
ペアプログラミングやモブプログラミングで、相手が技術書を読んでいるかどうかで議論の質が変わります。共通の語彙がある場合とない場合の差と、チームの読書文化が開発効率に与える影響を考えます。
関連用語
エンティティと値オブジェクト
DDD における 2 つの基本的なドメインモデル要素 - 同一性で区別するエンティティと、値で区別する値オブジェクト
S3 ライフサイクル
S3 オブジェクトのストレージクラスを自動的に移行し、コストを最適化する機能
オブジェクト指向
データと操作をオブジェクトとしてまとめ、現実の概念に近づけて設計する考え方
Builder パターン
複雑なオブジェクトの生成をメソッドチェーンで段階的に構築するデザインパターン
Flyweight パターン
多数のオブジェクト間で共有可能な状態を分離し、メモリ使用量を削減するデザインパターン
S3
AWS のオブジェクトストレージサービスで、無制限のデータを高い耐久性で保存する