SlideShare a Scribd company logo
1 of 39
Download to read offline
世界標準のソフトウェア工学知識体系
SWEBOK Guide最新第4版を通じた
開発アップデート
鷲崎 弘宜
早稲田大学 教授
IEEE Computer Society 2025 President
(株)エクスモーション 社外取締役
人間環境大学 顧問
http://www.washi.cs.waseda.ac.jp/
Developers Summit 2024
2024年2月15日 羽田空港
目次
• エンジニアリングしてますか?
• SWEBOK Guideとは何?
• 開発アップデートにどう役立つ?
• ソフトウェアエンジニアリング/SWEBOK Guideの未来は?
2
エンジニアリングしてますか?
3
エンジニアリン
グとは科学に
裏打ちされた
技術活動、学
問体系
4
ソフトウェアエンジニアリングとは
The application of a systematic, disciplined, quantifiable
approach to the development, operation, and maintenance of
software; that is, the application of engineering to software.
ソフトウェアの開発、運用、保守に対する体系的、規律的、定
量的なアプローチの適用。つまりソフトウェアへのエンジニア
リング(工学・技術活動)の適用。
SWEBOK Guide v4
5
我々のソフトウェ
ア技術活動は、
正統なエンジニ
アリングか?
6
正統なエンジニアリング
職業人が果たす判断,
行為,助言が,社会で
実質的な価値を形成
7
松本吉弘, “エンジニアリング基礎知識体系とISO標準”, ITSCJ Newsletter, No.88, 2010.
Paul Star, “The Social Transformation of American Medicine,” Basic Books, 1982.
知識・適格性の妥当
性をコミュニティで
判定できる環境
コミュニティで妥当と確
認される知識が科学的
基盤に基づく
プラクティス、
パターンと手法
知識の体系
知識の島々
活動
To Do Doing Done
SWEBOK
SQuBOK
8
知識体系 Body Of Knowledge
妥当と認められ
た知識群を整
理・構造化し
た全体
専門領域の定
義づけ
文献
文献
・・・
・・・
BOK ガイド
カテゴリ
知識領域
トピック
(知識項目)
知識体系へのガイド
知識領域の大分類
(BOKによっては無し)
知識の技術・プロセス
上の分類
最小の知識単位
(技術・プロセス知識)
知識の詳細記述・実体
9
SWEBOK GUIDEとは何?
10
Guide to the Software Engineering Body of Knowledge (SWEBOK)
ソフトウェアエンジニアリング知識体系ガイド
http://swebokwiki.org
• 歴史:2001 v1, 2004 v2, 2005 ISO/IEC TR, 2014 v3,
2024 v4 間もなく!
• 目的
– 学習者、研究者、実務者が、ソフトウェアエンジニアリン
グにおける「一般に認められた知識」を特定し、共通の
理解を持つよう導く
– 関連分野との境界の定義
– 資格や教育カリキュラムの基礎
• 導入・採用
– SWEBOKに基づくIEEE-CSソフトウェアプロフェッショナル
認定プログラム)
– ISO/IEC 24773-4: ソフトウェアおよびシステムエンジニ
アリングの専門家の認定 - 第 4 部:ソフトウェアエンジ
ニアリング
– ソフトウェアエンジニアリング・コンピテンシーモデル(
SWECOM)
活動・プラク
ティス
知識体系
Body of
Knowledge
知識の
島々
11
メイン
フレーム
70’s –
Early 80’s
Late 80’s -
Early 90’s
Late 90’s -
Early 00’s
Late 00’s -
Early 10’s
PC,
クライアント
サーバ
インターネット
ユビキタス
Late 10’s -
Early 20’s
IoT,
ビッグデータ,
AI
Structured
programming
Waterfall
Formalization
Design
Program
generation
Maturity
Management
Object-oriented
Req. eng.
Modeling
Verification
Reuse
Model-driven
Product-line
Global & open
Value-based
Systems eng.
Agile
Iterative &
incremental
DevOps
Empirical
Data-driven
Continuous
SE and IoT
SE and AI
SWEBOK V1
SWEBOK V2
SWEBOK V3
SWEBOK V4
要求
設計
構築
テスト
保守
構成管理
マネジメント
プロセス
モデル・手法
品質
専門職
経済
計算基礎
数学基礎
工学基礎
SWEBOK Guide V3からV4への進化
• 現代的なソフトウェアエンジニアリング、プラクティスの変化や更新、知識体系の成長・新領域
• パブリックレビュー中! https://www.computer.org/volunteering/boards-and-committees/professional-educational-activities/software-
engineering-committee/swebok-evolution
要求
アーキテクチャ
設計
構築
テスト
運用
保守
構成管理
マネジメント
プロセス
モデル・手法
品質
セキュリティ
専門職
経済
計算基礎
数学基礎
工学基礎
SWEBOK V3 SWEBOK V4
アジャ
イル,
DevOps
AIとソフトウェアエン
ジニアリング
13
新領域: ソフトウェアアーキテクチャ
14
14
アーキテクチャ領域の取り込みへ
15
• 基礎概念
– 以前は抽象的に扱われていた
が、実践的に扱えるように
– 大きなシステムを扱うようになり
、根底にある基本原理と実践に
触れる必要性
• 実践
– 複雑なサイバーフィジカルシステ
ムが広く普及し、重要性増
– アジャイルで迅速な解決の必要
性が高まり、早期に頻繁に「物事
を正しく理解」する必要性を加速
– 実務家が生き残るために基本原
則の知識が不可欠
新領域: ソフトウェアセキュリティ
16
ソフトウェアセキュリティ領域の取り込みへ
• 基礎概念
– セキュリティの基礎
– 開発ライフサイクルに沿った基
本的なセキュリティ工学技術
• 実践
– セキュリティツールやパターン
を含む、実用的なセキュリティソ
リューション
– ドメイン固有のセキュリティ技法
– セキュリティ管理
User
id
name
ProtectionObject
id
name
* *
Authorization_rule
Right
access_type
predicate
copy_flag
checkRights
Role
id
name
*
*
MemberOf
名前: ロールベース・アクセス制御 (RBAC)
問題: 人々に機能やタスクに対する権限をどのように
与えらればよいか?
解決: 利用者にロールを割り当てて、ロールに対して
タスク実施の権限を与える
関連パターン: 認可(Authorization), ...
17
新領域: ソフトウェア運用
18
18
ソフトウェア運用領域の取り込みへ
• 基礎概念
– 「継続的ソフトウェアエンジニアリング」
時代における運用の重要性
– DevOpsプラクティスを中心とした運用
の基礎とツールの扱い
• 実践
– システムおよびソフトウェアのライフサ
イクルプロセスに不可欠な部分として
の運用の全体像
– アジャイルインフラストラクチャや
Infrastructure as Code(IaC)などの最新
のインフラストラクチャプラクティスや、
コンテナや仮想化などの実践的な考慮
事項、関連標準、ツール
19
他の拡充側面: アジャイル開発とDevOps
• アジャイル開発
– 複数の知識領域(要求事項、マネジメント、
プロセス、モデル・手法など)に直接影響、
全知識領域に間接影響
– 現代に適合:変化の激しい時代、不確実性
– 単なる新プラクティスセットではなく、パラダ
イムシフト
– クリティカルシンキングと意思決定を実現す
る他のアプローチと併用
• DevOps
– DevOpsの価値観/原則/実践とスキームに
基づくクリティカルシンキングと判断力
– DevOpsは、プロセスやあらゆる意思決定に
影響
– アジャイルは、エンジニアリングレベルとマ
ネジメントレベルの両方に影響
20
To Do Doing Done
Securing …
Product
Technical Debt …
Development Deploy & operation
Test & verification Monitoring
Dev Ops
計算基礎領域の拡充: AIとソフトウェアエンジニアリング
• 課題
– 不確実で確率的な挙動
– 十分にラベル付けされ、構造化されたデータセットの
必要性
• AI for SE
– 人間の開発者の行動を再現することで、高品質なソフ
トウェアシステムを構築
– ほぼすべての開発段階に対応
• SE for AI
– AIシステムのルールやシステム動作はデータから推
測されるため、従来のソフトウェアとは異なるAIのため
のSEを特に支援する必要がある
– パターンとしてのプラクティスの文書化
21
ソフトウェア
エンジニアリ
ング
AI
AI for SE
SE for AI
機械学習システムの設計例
• スマホで拾った音について楽器の種類を特定し、種類
に応じた記録や対応を実現したい。
• しかし、スマホのメモリや性能は限られており、大きな深
層学習モデルは載りそうにない。どうすればよいか?
22
転移学習
したモデル
小さな
判別モ
デル
何もしない
特定
結果
パターン 問題 解決
2段階予測
Two-Phase
Predictions
もともと大規模で複雑なモデルの性
能を、エッジデバイスや分散デバイ
スにデプロイした場合も維持する必
要性
利用の流れを2つの段階に分けて、シンプ
ルな段階のみをエッジ上で実行
転移学習
Transfer
Learning
複雑な機械学習モデルを訓練す
るために必要となる大規模データ
セットの不足
訓練済みモデルの一部の層を取り出して
重みを凍結し、訓練対象とせずに類似問
題の解決のため新モデルで利用
• スマホ上の小さなモデルでは音が楽器かどうか判定し、
楽器の場合にのみクラウド上の大きなモデルで種類を
特定する 2段階予測 としよう。
• 特定にあたり、様々な音データによる既存の訓練済みモ
デルを用いて転移学習 したモデルを用いよう。
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
開発アップデートにどう役立つ?
23
ポータル
24
辞書
文献ガイド
経済
プロフェッショナル
実践
計算基礎 数学基礎 エンジニアリング
基礎
要求 構築
設計 テスティン
グ
マネジメント プロセス
保守
構成管理 モデル・手
法
品質
様々な立場における活用
開発者
プロセス
改善
25
アーキテク
チャ
運用
セキュリ
ティ
品質
保証
基盤・
教育
• ポータル: プロセスの見直し、組み立て
• 辞書: 用語、理解の統一
• 文献ガイド: 技術・手法の参照、取り入れ
自動運転システムの例
街中
高速道路
AIプロジェクトキャンバス
MLキャンバス
アーキテクチャ設計
データ スキル
出力
価値提案
統合
ステーク
ホルダ
顧客
コスト 収益
街中と高速道路とで信頼性・安全性を考慮し
て許容可能な認識精度の機械学に基づくシ
ステムをどのように開発、改訂できるか?
Jati Husen, Hironori Washizaki, Nobukazu Yoshioka, Hnin Tun, Yoshiaki Fukazawa and Hironori Takeuchi, “Metamodel-Based Multi-View Modeling
Framework for Machine Learning Systems,” 11th International Conference on Model-Based Software and Systems Engineering (MODELSWARD 2023)
27
機械学習モデルA モデルB モデルC
分類の性能評価
安全性・信頼性論証
誤分類データ 修正に向けた選択
バランスの取れた修正 修正結果
積極的な修正
さらなる改訂へ
1. データの改訂
2. 画像の質向上に
向けたアーキテク
チャ改訂
3. ビジネスゴール
の見直し
誤分類データ
安全性解析 要求・ゴール分析
Jati Husen, Hironori Washizaki, Nobukazu Yoshioka, Hnin Tun, Yoshiaki Fukazawa and Hironori Takeuchi, “Metamodel-Based Multi-View Modeling Framework for Machine Learning
Systems,” 11th International Conference on Model-Based Software and Systems Engineering (MODELSWARD 2023)
28
Jati Husen, Hironori Washizaki, Nobukazu Yoshioka, Hnin Tun, Yoshiaki Fukazawa and Hironori Takeuchi, “Metamodel-Based Multi-View Modeling
Framework for Machine Learning Systems,” 11th International Conference on Model-Based Software and Systems Engineering (MODELSWARD 2023)
複雑・不確実な開発運用時代こそ、エンジニアリング重要
メタモデル
要求・アーキテクチャモデリング 機械学習パイプライン
要求分析・設計
評価
問題の可視化
評価
解決の可視化
29
OK
OK OK
NG
OK OK
OK
NG
NG
OK OK OK
[ML.VP1🡨
AI.VP1]
Providereliable
real-timeobject
detectionsystem
fordriving
decisionmakingin
highway(incl.
trafficsign
detectionand
lane/vehicle
detection)
• [ML.DS1]Procured
datasets
• [ML.DS2]Internal
databasefrom
collectionduring
operation
• [ML.DC1]Openand
commercialdatasets
• [ML.DC2]Data
collectedduring
operation(imageand
identificationresult)
•[ML.F1🡨
AI.D1/AI.D3]
Boundingbox
forobject(incl.
othervehicles
orsigns)
•[ML.F2🡨
AI.D2]Ridge
detectionfor
lanedetection
[ML.BM1]
Modelswillbe
developed,
tested,and
deployedtocars
monthly
• [ML.PT1]Input:
imagefromsensors
• [ML.PT2←AI.D]
Output:trafficsigns,
lanemarking,
vehicles,and
pedestrians.
[ML.De1]Use
predictionresults
fordecision-
makinginself-
drivingsystem
[ML.IS1]
Usingtestdata,
achieveveryhigh
recallandhigh
precisionin
followingcondition:
night,rainy,and
generalcondition
Datasetsissplitinto
80:20ratio
[ML.MP1]
Predictionshould
bemadein
batchesreal
time.
[ML.M1]Inputdatamonitoring
[ML.VP1🡨
AI.VP1]
Providereliable
real-timeobject
detectionsystem
fordriving
decisionmakingin
highway(incl.
trafficsign
detectionand
lane/vehicle
detection)
• [ML.DS1]Procured
datasets
• [ML.DS2]Internal
databasefrom
collectionduring
operation
• [ML.DC1]Openand
commercialdatasets
• [ML.DC2]Data
collectedduring
operation(imageand
identificationresult)
•[ML.F1🡨
AI.D1/AI.D3]
Boundingbox
forobject(incl.
othervehicles
orsigns)
•[ML.F2🡨
AI.D2]Ridge
detectionfor
lanedetection
[ML.BM1]
Modelswillbe
developed,
tested,and
deployedtocars
monthly
• [ML.PT1]Input:
imagefromsensors
• [ML.PT2←AI.D]
Output:trafficsigns,
lanemarking,
vehicles,and
pedestrians.
[ML.De1]Use
predictionresults
fordecision-
makinginself-
drivingsystem
[ML.IS1]
Usingtestdata,
achieveveryhigh
recallandhigh
precisionin
followingcondition:
night,rainy,and
generalcondition
Datasetsissplitinto
80:20ratio
[ML.MP1]
Predictionshould
bemadein
batchesreal
time.
[ML.M1]Inputdatamonitoring
[ML.VP1🡨
AI.VP1]
Providereliable
real-timeobject
detectionsystem
fordriving
decisionmakingin
highway(incl.
trafficsign
detectionand
lane/vehicle
detection)
•[ML.DS1]Procured
datasets
•[ML.DS2]Internal
databasefrom
collectionduring
operation
•[ML.DC1]Openand
commercialdatasets
•[ML.DC2]Data
collectedduring
operation(imageand
identificationresult)
•[ML.F1🡨
AI.D1/AI.D3]
Boundingbox
forobject(incl.
othervehicles
orsigns)
•[ML.F2🡨
AI.D2]Ridge
detectionfor
lanedetection
[ML.BM1]
Modelswillbe
developed,
tested,and
deployedtocars
monthly
•[ML.PT1]Input:
imagefromsensors
•[ML.PT2←AI.D]
Output:trafficsigns,
lanemarking,
vehicles,and
pedestrians.
[ML.De1]Use
predictionresults
fordecision-
makinginself-
drivingsystem
[ML.IS1]
Usingtestdata,
achieveveryhigh
recallandhigh
precisionin
followingcondition:
night,rainy,and
generalcondition
Datasetsissplitinto
80:20ratio
[ML.MP1]
Predictionshould
bemadein
batchesreal
time.
[ML.M1]Inputdatamonitoring
修正戦略の追加
訓練
修正
Jati H. Husen, Hironori Washizaki, Hnin Thandar Tun, Nobukazu Yoshioka, Yoshiaki Fukazawa, Hironori Takeuchi, Hiroshi Tanaka, Kazuki Munakata, “Extensible Modeling
Framework for Reliable Machine Learning System Analysis,” 2nd International Conference on AI Engineering – Software Engineering for AI (CAIN’23)
[要求] 獲
得、分析
[構築] 分
離、再利用
[設計] パ
ターン
[テスト] 単
体、機能
[アーキ]
記述、評価
[運用]
DevOps
[経済] 価
値ベース
[モデル] 価
値~全体
[品質]
論証
[計算基礎]
SE for AI
ソフトウェアエンジニアリング/SWEBOKの未来は
?
30
メインフレーム
70’s –
Early 80’s
Late 80’s -
Early 90’s
Late 90’s -
Early 00’s
Late 00’s -
Early 10’s
PC,
クライアント
サーバ
インターネット
ユビキタス
Late 10’s -
Early 20’s
IoT,
ビッグデータ,
AI
Structured
programming
Waterfall
Formalization
Design
Program
generation
Maturity
Management
Object-oriented
Req. eng.
Modeling
Verification
Reuse
Model-driven
Product-line
Global & open
Value-based
Systems eng.
Agile
Iterative &
incremental
DevOps
Empirical
Data-driven
Continuous
SE and IoT
SE and AI
SWEBOK V1
SWEBOK V2
SWEBOK V3
SWEBOK V4
?
?
IEEE-CS Technology Predictions Report 2023
32
IEEE CS Technology Prediction Team (Chair: Dejan Milojicic) https://www.computer.org/2023-top-technology-predictions
成功可能性が、ヒューマ
ニティへの影響よりも大
きい
ヒューマニティへの影響が、成功
可能性よりも大きい (投資の価値
大)
IEEE Future Direction 2023
IEEE-CS Technology Predictions 2024 メガトレンド
33
(汎用)人工知能
サステナビリティ
デジタルトランスフォーメーション
(汎用)人工知能
サステナビリティ
デジタルトランス
フォーメーション
2000 2020 2040
メインフレーム
70’s –
Early 80’s
Late 80’s -
Early 90’s
Late 90’s -
Early 00’s
Late 00’s -
Early 10’s
PC,
クライアント
サーバ
インターネット
ユビキタス
Late 10’s -
Early 20’s
IoT,
ビッグデータ,
AI
生成AI,
基盤モデル,
量子,
コンティニュアム
Late 20’s
Structured
programming
Waterfall
Formalization
Design
Program
generation
Maturity
Management
Object-oriented
Req. eng.
Modeling
Verification
Reuse
Model-driven
Product-line
Global & open
Value-based
Systems eng.
Agile
Iterative &
incremental
DevOps
Empirical
Data-driven
Continuous
SE and IoT
SE and AI
SEと:
生成AI
量子コンピューティング
サステナビリティ
コンティニュアム
AI支援の
DevOps
SWEBOK V1
SWEBOK V2
SWEBOK V3
SWEBOK V4
大規模言語モデルLarge Language Model
(LLM)のソフトウェア開発応用
• Large Language Models for Software Engineering: A
Systematic Literature Review (Aug 21,
https://arxiv.org/abs/2308.10620 )
– 2017年から2023年までの合計229の研究論文を収集・
分析
• LLM種別: デコーダのみのアーキテクチャ最多(GPT,
Codex, LLaMAなど)
• データセット: オープンソースデータセット利用が最
多、共通前処理としてデータ抽出・重複削除・データ
分割など
• LLMの最適化: ファインチューニング&Adam、ハード
プロンプト(すべて人手で準備した自然言語指示)と
ソフトプロンプト(部分的にチューニング可能な指示)
• 利用タスク: 構築および保守が主、生成・分類・推薦
が主
35
35
LLMのコード関連応用
• Towards an Understanding of Large Language Models in Software Engineering
Tasks (Aug 22, https://arxiv.org/abs/2308.11396 ): 123の論文分析
36
タスク 定義 LLMの役割
コード生成 ユーザー要求と指定された制約に基づい
てソースコードを自動生成
(補助)コードを生成、開発者にアイデアやプログラ
ミングの「出発点」を提供
コード要約 開発者がコードを理解し、維持するのを助
けるために、明確で、正確で、役に立つ
コードコメントを自動的に生成
異なる粒度(例えば関数)を支援したり、コードの意
図を説明したりするコード要約
コード翻訳(変換) 異なるプログラミング言語間で、機能やロ
ジックを変えることなくコードを変換するこ
と
補助コード変換、リバースエンジニアリング
欠陥検出 プログラムのクラッシュ、パフォーマンス低
下、セキュリティ問題の原因となるコード
エラーを特定し、修正
コードに潜在的な欠陥がないかチェック
コード評価・テスト コードの静的解析を行い、潜在的な問題
や改善点を特定
テストケースを作成したり、コードのパフォーマンス、
ユーザビリティ、その他の品質特性をテスト
コードマネジメント コードの版や開発者情報のマネジメント チーム協調開発、版管理
問い合わせ・相談Q&A ソフトウェア開発者とLLMのやり取り アシスタント、プロンプトエンジニアリング
グリーン&サステナブル・ソフトウェアエンジニアリング
• サステナビリティ: 資源を枯渇させることなく、将来の
世代のことを考えながら発展していくこと [国連]
– 環境: 水、土地、空気、鉱物、生態系などの天然資源保
護と社会保全
– 社会: 社会的組織の連帯、サービス、連帯におけるコミュ
ニティ(例えば社会や人々のサステナビリティへの振る舞
いや態度への影響)
– 経済: 資産や付加価値の維持(例えばグリーンソフトウェ
アの費用対効果)
• サステナブルSE/ITにおける追加側面 [a]
– 個人: 個人の資本の維持(健康、スキル、サービスへの
アクセスなど)
– 技術: ソフトウェアシステムの寿命や変化する状況やニ
ーズに応じた進化(例えば低消費電力化)
37
[a] Towards a common understanding of sustainable software development, SBE, 2022
[b] Delft University of Technology, Sustainable Software Engineering,
https://luiscruz.github.io/course_sustainableSE/2022/
環境
経済
技術
個人 社会
消費電力に関係する設計や保守の例
38
ソフトウェアの省エネ化
• 低消費電力化の仕組みのアスペクト指向による横断的自動合成
• 環境リスク緩和性を含むソフトウェア品質の測定評価と改善
ソフトウェア開発の省エネ化
• 部品化・再利用・自動生成による開
発作業の効率化と利用電力削減
プログラム
モジュール
低消費電力化アスペクト
自動合成
void around():call(void
LDC_linetrace(void)){
float turn=p_gain*(…);
…
0
2
4
6
8
10
-1600
-1400
-1200
-1000
-800
-600
-400
-200
0
状態
電圧[mV]
時間[mS]
通常運用時の電圧変化
0
2
4
6
8
10
-1600
-1400
-1200
-1000
-800
-600
-400
-200
0
状態
電圧[mV]
時間[mS]
低消費電力化後
状態
バッテリ
電圧値
自動合成を通じ
た消費電力抑制
設計
資産
パターン 部品
再利用
新規
開発
過去の
開発
プログラム
要求
組立て
アスペクト
基盤
拡張
合成
新規開発の大部分を再利
用で実現し開発効率化
“アスペクト指向プログラミングによる高性能・低消費電力化” SIGSS 2014 “A Technique for Automatic Component Extraction,” Science of
Computer Programming, 56(1-2), 2005
抽出
抽象化
まとめ
• エンジニアリング
– エンジニアリングとは科学に裏打ちされた技術活動、学問体系
– 正統であるために: コミュニティで妥当と確認される知識が科学的基盤に基づく
• SWEBOK Guide
– ソフトウェアエンジニアリング知識体系ガイド
– 現代的なソフトウェアエンジニアリング、プラクティスの変化や更新、知識体系の
成長・新領域
– アーキテクチャ、運用、セキュリティ、アジャイル&DevOps、AI
• 開発アップデートに役立つ
– ポータル、辞書、文献ガイド
• ソフトウェアエンジニアリング/SWEBOK Guideの未来
– メガトレンド: 汎用人工知能、サステナビリティ、デジタルトランスフォーメーション
– ソフトウェアエンジニアリング×生成AI、サステナビリティ、コンティニュアム、量子
39

More Related Content

What's hot

開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさYoshiki Hayama
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけらAtsushi Nakamura
 
「顧客の声を聞かない」とはどういうことか
「顧客の声を聞かない」とはどういうことか「顧客の声を聞かない」とはどういうことか
「顧客の声を聞かない」とはどういうことかYoshiki Hayama
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドHiroyuki Ito
 
業界コミュニティにおける「勉強会」の作りこみ方
業界コミュニティにおける「勉強会」の作りこみ方業界コミュニティにおける「勉強会」の作りこみ方
業界コミュニティにおける「勉強会」の作りこみ方Mariko Hayashi
 
Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...
Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...
Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...joisino
 
振り返り(アジャイルレトロスペクティブズ)
振り返り(アジャイルレトロスペクティブズ)振り返り(アジャイルレトロスペクティブズ)
振り返り(アジャイルレトロスペクティブズ)Keisuke Tameyasu
 
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメント
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメントDX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメント
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメントTakeshi Kakeda
 
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢swamp Sawa
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話Yusuke Hisatsu
 
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...Shotaro Suzuki
 
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家Yoshiki Hayama
 
リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介Recruit Technologies
 
論文紹介: The New New Product Development Game
論文紹介: The New New Product Development Game論文紹介: The New New Product Development Game
論文紹介: The New New Product Development GameHitoshi Otsuki
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計増田 亨
 
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 FallYoshitaka Kawashima
 

What's hot (20)

開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさ
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
 
「顧客の声を聞かない」とはどういうことか
「顧客の声を聞かない」とはどういうことか「顧客の声を聞かない」とはどういうことか
「顧客の声を聞かない」とはどういうことか
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイド
 
業界コミュニティにおける「勉強会」の作りこみ方
業界コミュニティにおける「勉強会」の作りこみ方業界コミュニティにおける「勉強会」の作りこみ方
業界コミュニティにおける「勉強会」の作りこみ方
 
Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...
Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...
Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...
 
振り返り(アジャイルレトロスペクティブズ)
振り返り(アジャイルレトロスペクティブズ)振り返り(アジャイルレトロスペクティブズ)
振り返り(アジャイルレトロスペクティブズ)
 
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメント
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメントDX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメント
DX時代のITエンジニアに送る、アジャイル式「いきいき」ヘルスマネジメント
 
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢
 
はじめてのPRD
はじめてのPRDはじめてのPRD
はじめてのPRD
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
 
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
 
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
UXデザインの資格ってどんなの? HCD-Net認定 人間中心設計スペシャリスト・人間中心設計専門家
 
リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介
 
論文紹介: The New New Product Development Game
論文紹介: The New New Product Development Game論文紹介: The New New Product Development Game
論文紹介: The New New Product Development Game
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計
 
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
 

Similar to 世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート

SWEST16「LED-Camp2の実施報告と実習教材のリアルタイムデバッグ」
SWEST16「LED-Camp2の実施報告と実習教材のリアルタイムデバッグ」SWEST16「LED-Camp2の実施報告と実習教材のリアルタイムデバッグ」
SWEST16「LED-Camp2の実施報告と実習教材のリアルタイムデバッグ」Hideki Takase
 
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けてHironori Washizaki
 
WACATE2013冬 知識体系とSEMAT
WACATE2013冬 知識体系とSEMATWACATE2013冬 知識体系とSEMAT
WACATE2013冬 知識体系とSEMATHironori Washizaki
 
Qua s tom-メトリクスによるソフトウェアの品質把握と改善
Qua s tom-メトリクスによるソフトウェアの品質把握と改善Qua s tom-メトリクスによるソフトウェアの品質把握と改善
Qua s tom-メトリクスによるソフトウェアの品質把握と改善Hironori Washizaki
 
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門minazou67
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術Yusuke Uchida
 
インフラ領域の技術スタックや業務内容について紹介
インフラ領域の技術スタックや業務内容について紹介インフラ領域の技術スタックや業務内容について紹介
インフラ領域の技術スタックや業務内容について紹介MicroAd, Inc.(Engineer)
 
東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」NoriakiAndo
 
ソフトウェアエンジニアリングとEssenceの広がり
ソフトウェアエンジニアリングとEssenceの広がりソフトウェアエンジニアリングとEssenceの広がり
ソフトウェアエンジニアリングとEssenceの広がりHironori Washizaki
 
クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化Etsuji Nakai
 
DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦
DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦
DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦Hironori Washizaki
 
Visual Studio と Microsoft Azure で変わる開発スタイル
Visual Studio と Microsoft Azure で変わる開発スタイルVisual Studio と Microsoft Azure で変わる開発スタイル
Visual Studio と Microsoft Azure で変わる開発スタイルAkira Inoue
 
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~InnovationSprint2011
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望についてKen Azuma
 
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))HironoriTAKEUCHI1
 
『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイド『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイドKentaro Inomata
 

Similar to 世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート (20)

組込みSW開発技術研究会キックオフミーティング
組込みSW開発技術研究会キックオフミーティング組込みSW開発技術研究会キックオフミーティング
組込みSW開発技術研究会キックオフミーティング
 
SWEST16「LED-Camp2の実施報告と実習教材のリアルタイムデバッグ」
SWEST16「LED-Camp2の実施報告と実習教材のリアルタイムデバッグ」SWEST16「LED-Camp2の実施報告と実習教材のリアルタイムデバッグ」
SWEST16「LED-Camp2の実施報告と実習教材のリアルタイムデバッグ」
 
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
 
WACATE2013冬 知識体系とSEMAT
WACATE2013冬 知識体系とSEMATWACATE2013冬 知識体系とSEMAT
WACATE2013冬 知識体系とSEMAT
 
鹿駆動
鹿駆動鹿駆動
鹿駆動
 
AIビジネスクリエーションワークショップ@東京
AIビジネスクリエーションワークショップ@東京AIビジネスクリエーションワークショップ@東京
AIビジネスクリエーションワークショップ@東京
 
Qua s tom-メトリクスによるソフトウェアの品質把握と改善
Qua s tom-メトリクスによるソフトウェアの品質把握と改善Qua s tom-メトリクスによるソフトウェアの品質把握と改善
Qua s tom-メトリクスによるソフトウェアの品質把握と改善
 
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術
 
インフラ領域の技術スタックや業務内容について紹介
インフラ領域の技術スタックや業務内容について紹介インフラ領域の技術スタックや業務内容について紹介
インフラ領域の技術スタックや業務内容について紹介
 
東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」
 
ソフトウェアエンジニアリングとEssenceの広がり
ソフトウェアエンジニアリングとEssenceの広がりソフトウェアエンジニアリングとEssenceの広がり
ソフトウェアエンジニアリングとEssenceの広がり
 
クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化クラウドが実現するソフト開発・運用の変革と自動化
クラウドが実現するソフト開発・運用の変革と自動化
 
DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦
DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦
DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦
 
Visual Studio と Microsoft Azure で変わる開発スタイル
Visual Studio と Microsoft Azure で変わる開発スタイルVisual Studio と Microsoft Azure で変わる開発スタイル
Visual Studio と Microsoft Azure で変わる開発スタイル
 
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
イノベーションスプリント2011 infragisticsにおける世界分散アジャイル開発事例~ communication matters ~
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
 
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
 
『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイド『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイド
 
Indigo Studio で作るプロトタイプ
Indigo Studio で作るプロトタイプIndigo Studio で作るプロトタイプ
Indigo Studio で作るプロトタイプ
 

More from Hironori Washizaki

Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateHironori Washizaki
 
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会Hironori Washizaki
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
 
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用Hironori Washizaki
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureHironori Washizaki
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...Hironori Washizaki
 
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向Hironori Washizaki
 
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~Hironori Washizaki
 
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集Hironori Washizaki
 
スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介Hironori Washizaki
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターンHironori Washizaki
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターンHironori Washizaki
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度Hironori Washizaki
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターンHironori Washizaki
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクルHironori Washizaki
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)Hironori Washizaki
 
Software Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsSoftware Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsHironori Washizaki
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組みHironori Washizaki
 
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Hironori Washizaki
 

More from Hironori Washizaki (20)

Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions Update
 
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about Architecture
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
 
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
 
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
 
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
 
スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターン
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターン
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターン
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
 
Software Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning ApplicationsSoftware Engineering Patterns for Machine Learning Applications
Software Engineering Patterns for Machine Learning Applications
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
 
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
 

世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート

  • 1. 世界標準のソフトウェア工学知識体系 SWEBOK Guide最新第4版を通じた 開発アップデート 鷲崎 弘宜 早稲田大学 教授 IEEE Computer Society 2025 President (株)エクスモーション 社外取締役 人間環境大学 顧問 http://www.washi.cs.waseda.ac.jp/ Developers Summit 2024 2024年2月15日 羽田空港
  • 2. 目次 • エンジニアリングしてますか? • SWEBOK Guideとは何? • 開発アップデートにどう役立つ? • ソフトウェアエンジニアリング/SWEBOK Guideの未来は? 2
  • 5. ソフトウェアエンジニアリングとは The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. ソフトウェアの開発、運用、保守に対する体系的、規律的、定 量的なアプローチの適用。つまりソフトウェアへのエンジニア リング(工学・技術活動)の適用。 SWEBOK Guide v4 5
  • 7. 正統なエンジニアリング 職業人が果たす判断, 行為,助言が,社会で 実質的な価値を形成 7 松本吉弘, “エンジニアリング基礎知識体系とISO標準”, ITSCJ Newsletter, No.88, 2010. Paul Star, “The Social Transformation of American Medicine,” Basic Books, 1982. 知識・適格性の妥当 性をコミュニティで 判定できる環境 コミュニティで妥当と確 認される知識が科学的 基盤に基づく
  • 9. 知識体系 Body Of Knowledge 妥当と認められ た知識群を整 理・構造化し た全体 専門領域の定 義づけ 文献 文献 ・・・ ・・・ BOK ガイド カテゴリ 知識領域 トピック (知識項目) 知識体系へのガイド 知識領域の大分類 (BOKによっては無し) 知識の技術・プロセス 上の分類 最小の知識単位 (技術・プロセス知識) 知識の詳細記述・実体 9
  • 11. Guide to the Software Engineering Body of Knowledge (SWEBOK) ソフトウェアエンジニアリング知識体系ガイド http://swebokwiki.org • 歴史:2001 v1, 2004 v2, 2005 ISO/IEC TR, 2014 v3, 2024 v4 間もなく! • 目的 – 学習者、研究者、実務者が、ソフトウェアエンジニアリン グにおける「一般に認められた知識」を特定し、共通の 理解を持つよう導く – 関連分野との境界の定義 – 資格や教育カリキュラムの基礎 • 導入・採用 – SWEBOKに基づくIEEE-CSソフトウェアプロフェッショナル 認定プログラム) – ISO/IEC 24773-4: ソフトウェアおよびシステムエンジニ アリングの専門家の認定 - 第 4 部:ソフトウェアエンジ ニアリング – ソフトウェアエンジニアリング・コンピテンシーモデル( SWECOM) 活動・プラク ティス 知識体系 Body of Knowledge 知識の 島々 11
  • 12. メイン フレーム 70’s – Early 80’s Late 80’s - Early 90’s Late 90’s - Early 00’s Late 00’s - Early 10’s PC, クライアント サーバ インターネット ユビキタス Late 10’s - Early 20’s IoT, ビッグデータ, AI Structured programming Waterfall Formalization Design Program generation Maturity Management Object-oriented Req. eng. Modeling Verification Reuse Model-driven Product-line Global & open Value-based Systems eng. Agile Iterative & incremental DevOps Empirical Data-driven Continuous SE and IoT SE and AI SWEBOK V1 SWEBOK V2 SWEBOK V3 SWEBOK V4
  • 13. 要求 設計 構築 テスト 保守 構成管理 マネジメント プロセス モデル・手法 品質 専門職 経済 計算基礎 数学基礎 工学基礎 SWEBOK Guide V3からV4への進化 • 現代的なソフトウェアエンジニアリング、プラクティスの変化や更新、知識体系の成長・新領域 • パブリックレビュー中! https://www.computer.org/volunteering/boards-and-committees/professional-educational-activities/software- engineering-committee/swebok-evolution 要求 アーキテクチャ 設計 構築 テスト 運用 保守 構成管理 マネジメント プロセス モデル・手法 品質 セキュリティ 専門職 経済 計算基礎 数学基礎 工学基礎 SWEBOK V3 SWEBOK V4 アジャ イル, DevOps AIとソフトウェアエン ジニアリング 13
  • 15. アーキテクチャ領域の取り込みへ 15 • 基礎概念 – 以前は抽象的に扱われていた が、実践的に扱えるように – 大きなシステムを扱うようになり 、根底にある基本原理と実践に 触れる必要性 • 実践 – 複雑なサイバーフィジカルシステ ムが広く普及し、重要性増 – アジャイルで迅速な解決の必要 性が高まり、早期に頻繁に「物事 を正しく理解」する必要性を加速 – 実務家が生き残るために基本原 則の知識が不可欠
  • 17. ソフトウェアセキュリティ領域の取り込みへ • 基礎概念 – セキュリティの基礎 – 開発ライフサイクルに沿った基 本的なセキュリティ工学技術 • 実践 – セキュリティツールやパターン を含む、実用的なセキュリティソ リューション – ドメイン固有のセキュリティ技法 – セキュリティ管理 User id name ProtectionObject id name * * Authorization_rule Right access_type predicate copy_flag checkRights Role id name * * MemberOf 名前: ロールベース・アクセス制御 (RBAC) 問題: 人々に機能やタスクに対する権限をどのように 与えらればよいか? 解決: 利用者にロールを割り当てて、ロールに対して タスク実施の権限を与える 関連パターン: 認可(Authorization), ... 17
  • 19. ソフトウェア運用領域の取り込みへ • 基礎概念 – 「継続的ソフトウェアエンジニアリング」 時代における運用の重要性 – DevOpsプラクティスを中心とした運用 の基礎とツールの扱い • 実践 – システムおよびソフトウェアのライフサ イクルプロセスに不可欠な部分として の運用の全体像 – アジャイルインフラストラクチャや Infrastructure as Code(IaC)などの最新 のインフラストラクチャプラクティスや、 コンテナや仮想化などの実践的な考慮 事項、関連標準、ツール 19
  • 20. 他の拡充側面: アジャイル開発とDevOps • アジャイル開発 – 複数の知識領域(要求事項、マネジメント、 プロセス、モデル・手法など)に直接影響、 全知識領域に間接影響 – 現代に適合:変化の激しい時代、不確実性 – 単なる新プラクティスセットではなく、パラダ イムシフト – クリティカルシンキングと意思決定を実現す る他のアプローチと併用 • DevOps – DevOpsの価値観/原則/実践とスキームに 基づくクリティカルシンキングと判断力 – DevOpsは、プロセスやあらゆる意思決定に 影響 – アジャイルは、エンジニアリングレベルとマ ネジメントレベルの両方に影響 20 To Do Doing Done Securing … Product Technical Debt … Development Deploy & operation Test & verification Monitoring Dev Ops
  • 21. 計算基礎領域の拡充: AIとソフトウェアエンジニアリング • 課題 – 不確実で確率的な挙動 – 十分にラベル付けされ、構造化されたデータセットの 必要性 • AI for SE – 人間の開発者の行動を再現することで、高品質なソフ トウェアシステムを構築 – ほぼすべての開発段階に対応 • SE for AI – AIシステムのルールやシステム動作はデータから推 測されるため、従来のソフトウェアとは異なるAIのため のSEを特に支援する必要がある – パターンとしてのプラクティスの文書化 21 ソフトウェア エンジニアリ ング AI AI for SE SE for AI
  • 22. 機械学習システムの設計例 • スマホで拾った音について楽器の種類を特定し、種類 に応じた記録や対応を実現したい。 • しかし、スマホのメモリや性能は限られており、大きな深 層学習モデルは載りそうにない。どうすればよいか? 22 転移学習 したモデル 小さな 判別モ デル 何もしない 特定 結果 パターン 問題 解決 2段階予測 Two-Phase Predictions もともと大規模で複雑なモデルの性 能を、エッジデバイスや分散デバイ スにデプロイした場合も維持する必 要性 利用の流れを2つの段階に分けて、シンプ ルな段階のみをエッジ上で実行 転移学習 Transfer Learning 複雑な機械学習モデルを訓練す るために必要となる大規模データ セットの不足 訓練済みモデルの一部の層を取り出して 重みを凍結し、訓練対象とせずに類似問 題の解決のため新モデルで利用 • スマホ上の小さなモデルでは音が楽器かどうか判定し、 楽器の場合にのみクラウド上の大きなモデルで種類を 特定する 2段階予測 としよう。 • 特定にあたり、様々な音データによる既存の訓練済みモ デルを用いて転移学習 したモデルを用いよう。 『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
  • 25. 経済 プロフェッショナル 実践 計算基礎 数学基礎 エンジニアリング 基礎 要求 構築 設計 テスティン グ マネジメント プロセス 保守 構成管理 モデル・手 法 品質 様々な立場における活用 開発者 プロセス 改善 25 アーキテク チャ 運用 セキュリ ティ 品質 保証 基盤・ 教育 • ポータル: プロセスの見直し、組み立て • 辞書: 用語、理解の統一 • 文献ガイド: 技術・手法の参照、取り入れ
  • 26. 自動運転システムの例 街中 高速道路 AIプロジェクトキャンバス MLキャンバス アーキテクチャ設計 データ スキル 出力 価値提案 統合 ステーク ホルダ 顧客 コスト 収益 街中と高速道路とで信頼性・安全性を考慮し て許容可能な認識精度の機械学に基づくシ ステムをどのように開発、改訂できるか? Jati Husen, Hironori Washizaki, Nobukazu Yoshioka, Hnin Tun, Yoshiaki Fukazawa and Hironori Takeuchi, “Metamodel-Based Multi-View Modeling Framework for Machine Learning Systems,” 11th International Conference on Model-Based Software and Systems Engineering (MODELSWARD 2023)
  • 27. 27 機械学習モデルA モデルB モデルC 分類の性能評価 安全性・信頼性論証 誤分類データ 修正に向けた選択 バランスの取れた修正 修正結果 積極的な修正 さらなる改訂へ 1. データの改訂 2. 画像の質向上に 向けたアーキテク チャ改訂 3. ビジネスゴール の見直し 誤分類データ 安全性解析 要求・ゴール分析 Jati Husen, Hironori Washizaki, Nobukazu Yoshioka, Hnin Tun, Yoshiaki Fukazawa and Hironori Takeuchi, “Metamodel-Based Multi-View Modeling Framework for Machine Learning Systems,” 11th International Conference on Model-Based Software and Systems Engineering (MODELSWARD 2023)
  • 28. 28 Jati Husen, Hironori Washizaki, Nobukazu Yoshioka, Hnin Tun, Yoshiaki Fukazawa and Hironori Takeuchi, “Metamodel-Based Multi-View Modeling Framework for Machine Learning Systems,” 11th International Conference on Model-Based Software and Systems Engineering (MODELSWARD 2023)
  • 29. 複雑・不確実な開発運用時代こそ、エンジニアリング重要 メタモデル 要求・アーキテクチャモデリング 機械学習パイプライン 要求分析・設計 評価 問題の可視化 評価 解決の可視化 29 OK OK OK NG OK OK OK NG NG OK OK OK [ML.VP1🡨 AI.VP1] Providereliable real-timeobject detectionsystem fordriving decisionmakingin highway(incl. trafficsign detectionand lane/vehicle detection) • [ML.DS1]Procured datasets • [ML.DS2]Internal databasefrom collectionduring operation • [ML.DC1]Openand commercialdatasets • [ML.DC2]Data collectedduring operation(imageand identificationresult) •[ML.F1🡨 AI.D1/AI.D3] Boundingbox forobject(incl. othervehicles orsigns) •[ML.F2🡨 AI.D2]Ridge detectionfor lanedetection [ML.BM1] Modelswillbe developed, tested,and deployedtocars monthly • [ML.PT1]Input: imagefromsensors • [ML.PT2←AI.D] Output:trafficsigns, lanemarking, vehicles,and pedestrians. [ML.De1]Use predictionresults fordecision- makinginself- drivingsystem [ML.IS1] Usingtestdata, achieveveryhigh recallandhigh precisionin followingcondition: night,rainy,and generalcondition Datasetsissplitinto 80:20ratio [ML.MP1] Predictionshould bemadein batchesreal time. [ML.M1]Inputdatamonitoring [ML.VP1🡨 AI.VP1] Providereliable real-timeobject detectionsystem fordriving decisionmakingin highway(incl. trafficsign detectionand lane/vehicle detection) • [ML.DS1]Procured datasets • [ML.DS2]Internal databasefrom collectionduring operation • [ML.DC1]Openand commercialdatasets • [ML.DC2]Data collectedduring operation(imageand identificationresult) •[ML.F1🡨 AI.D1/AI.D3] Boundingbox forobject(incl. othervehicles orsigns) •[ML.F2🡨 AI.D2]Ridge detectionfor lanedetection [ML.BM1] Modelswillbe developed, tested,and deployedtocars monthly • [ML.PT1]Input: imagefromsensors • [ML.PT2←AI.D] Output:trafficsigns, lanemarking, vehicles,and pedestrians. [ML.De1]Use predictionresults fordecision- makinginself- drivingsystem [ML.IS1] Usingtestdata, achieveveryhigh recallandhigh precisionin followingcondition: night,rainy,and generalcondition Datasetsissplitinto 80:20ratio [ML.MP1] Predictionshould bemadein batchesreal time. [ML.M1]Inputdatamonitoring [ML.VP1🡨 AI.VP1] Providereliable real-timeobject detectionsystem fordriving decisionmakingin highway(incl. trafficsign detectionand lane/vehicle detection) •[ML.DS1]Procured datasets •[ML.DS2]Internal databasefrom collectionduring operation •[ML.DC1]Openand commercialdatasets •[ML.DC2]Data collectedduring operation(imageand identificationresult) •[ML.F1🡨 AI.D1/AI.D3] Boundingbox forobject(incl. othervehicles orsigns) •[ML.F2🡨 AI.D2]Ridge detectionfor lanedetection [ML.BM1] Modelswillbe developed, tested,and deployedtocars monthly •[ML.PT1]Input: imagefromsensors •[ML.PT2←AI.D] Output:trafficsigns, lanemarking, vehicles,and pedestrians. [ML.De1]Use predictionresults fordecision- makinginself- drivingsystem [ML.IS1] Usingtestdata, achieveveryhigh recallandhigh precisionin followingcondition: night,rainy,and generalcondition Datasetsissplitinto 80:20ratio [ML.MP1] Predictionshould bemadein batchesreal time. [ML.M1]Inputdatamonitoring 修正戦略の追加 訓練 修正 Jati H. Husen, Hironori Washizaki, Hnin Thandar Tun, Nobukazu Yoshioka, Yoshiaki Fukazawa, Hironori Takeuchi, Hiroshi Tanaka, Kazuki Munakata, “Extensible Modeling Framework for Reliable Machine Learning System Analysis,” 2nd International Conference on AI Engineering – Software Engineering for AI (CAIN’23) [要求] 獲 得、分析 [構築] 分 離、再利用 [設計] パ ターン [テスト] 単 体、機能 [アーキ] 記述、評価 [運用] DevOps [経済] 価 値ベース [モデル] 価 値~全体 [品質] 論証 [計算基礎] SE for AI
  • 31. メインフレーム 70’s – Early 80’s Late 80’s - Early 90’s Late 90’s - Early 00’s Late 00’s - Early 10’s PC, クライアント サーバ インターネット ユビキタス Late 10’s - Early 20’s IoT, ビッグデータ, AI Structured programming Waterfall Formalization Design Program generation Maturity Management Object-oriented Req. eng. Modeling Verification Reuse Model-driven Product-line Global & open Value-based Systems eng. Agile Iterative & incremental DevOps Empirical Data-driven Continuous SE and IoT SE and AI SWEBOK V1 SWEBOK V2 SWEBOK V3 SWEBOK V4 ? ?
  • 32. IEEE-CS Technology Predictions Report 2023 32 IEEE CS Technology Prediction Team (Chair: Dejan Milojicic) https://www.computer.org/2023-top-technology-predictions 成功可能性が、ヒューマ ニティへの影響よりも大 きい ヒューマニティへの影響が、成功 可能性よりも大きい (投資の価値 大)
  • 33. IEEE Future Direction 2023 IEEE-CS Technology Predictions 2024 メガトレンド 33 (汎用)人工知能 サステナビリティ デジタルトランスフォーメーション (汎用)人工知能 サステナビリティ デジタルトランス フォーメーション 2000 2020 2040
  • 34. メインフレーム 70’s – Early 80’s Late 80’s - Early 90’s Late 90’s - Early 00’s Late 00’s - Early 10’s PC, クライアント サーバ インターネット ユビキタス Late 10’s - Early 20’s IoT, ビッグデータ, AI 生成AI, 基盤モデル, 量子, コンティニュアム Late 20’s Structured programming Waterfall Formalization Design Program generation Maturity Management Object-oriented Req. eng. Modeling Verification Reuse Model-driven Product-line Global & open Value-based Systems eng. Agile Iterative & incremental DevOps Empirical Data-driven Continuous SE and IoT SE and AI SEと: 生成AI 量子コンピューティング サステナビリティ コンティニュアム AI支援の DevOps SWEBOK V1 SWEBOK V2 SWEBOK V3 SWEBOK V4
  • 35. 大規模言語モデルLarge Language Model (LLM)のソフトウェア開発応用 • Large Language Models for Software Engineering: A Systematic Literature Review (Aug 21, https://arxiv.org/abs/2308.10620 ) – 2017年から2023年までの合計229の研究論文を収集・ 分析 • LLM種別: デコーダのみのアーキテクチャ最多(GPT, Codex, LLaMAなど) • データセット: オープンソースデータセット利用が最 多、共通前処理としてデータ抽出・重複削除・データ 分割など • LLMの最適化: ファインチューニング&Adam、ハード プロンプト(すべて人手で準備した自然言語指示)と ソフトプロンプト(部分的にチューニング可能な指示) • 利用タスク: 構築および保守が主、生成・分類・推薦 が主 35 35
  • 36. LLMのコード関連応用 • Towards an Understanding of Large Language Models in Software Engineering Tasks (Aug 22, https://arxiv.org/abs/2308.11396 ): 123の論文分析 36 タスク 定義 LLMの役割 コード生成 ユーザー要求と指定された制約に基づい てソースコードを自動生成 (補助)コードを生成、開発者にアイデアやプログラ ミングの「出発点」を提供 コード要約 開発者がコードを理解し、維持するのを助 けるために、明確で、正確で、役に立つ コードコメントを自動的に生成 異なる粒度(例えば関数)を支援したり、コードの意 図を説明したりするコード要約 コード翻訳(変換) 異なるプログラミング言語間で、機能やロ ジックを変えることなくコードを変換するこ と 補助コード変換、リバースエンジニアリング 欠陥検出 プログラムのクラッシュ、パフォーマンス低 下、セキュリティ問題の原因となるコード エラーを特定し、修正 コードに潜在的な欠陥がないかチェック コード評価・テスト コードの静的解析を行い、潜在的な問題 や改善点を特定 テストケースを作成したり、コードのパフォーマンス、 ユーザビリティ、その他の品質特性をテスト コードマネジメント コードの版や開発者情報のマネジメント チーム協調開発、版管理 問い合わせ・相談Q&A ソフトウェア開発者とLLMのやり取り アシスタント、プロンプトエンジニアリング
  • 37. グリーン&サステナブル・ソフトウェアエンジニアリング • サステナビリティ: 資源を枯渇させることなく、将来の 世代のことを考えながら発展していくこと [国連] – 環境: 水、土地、空気、鉱物、生態系などの天然資源保 護と社会保全 – 社会: 社会的組織の連帯、サービス、連帯におけるコミュ ニティ(例えば社会や人々のサステナビリティへの振る舞 いや態度への影響) – 経済: 資産や付加価値の維持(例えばグリーンソフトウェ アの費用対効果) • サステナブルSE/ITにおける追加側面 [a] – 個人: 個人の資本の維持(健康、スキル、サービスへの アクセスなど) – 技術: ソフトウェアシステムの寿命や変化する状況やニ ーズに応じた進化(例えば低消費電力化) 37 [a] Towards a common understanding of sustainable software development, SBE, 2022 [b] Delft University of Technology, Sustainable Software Engineering, https://luiscruz.github.io/course_sustainableSE/2022/ 環境 経済 技術 個人 社会
  • 38. 消費電力に関係する設計や保守の例 38 ソフトウェアの省エネ化 • 低消費電力化の仕組みのアスペクト指向による横断的自動合成 • 環境リスク緩和性を含むソフトウェア品質の測定評価と改善 ソフトウェア開発の省エネ化 • 部品化・再利用・自動生成による開 発作業の効率化と利用電力削減 プログラム モジュール 低消費電力化アスペクト 自動合成 void around():call(void LDC_linetrace(void)){ float turn=p_gain*(…); … 0 2 4 6 8 10 -1600 -1400 -1200 -1000 -800 -600 -400 -200 0 状態 電圧[mV] 時間[mS] 通常運用時の電圧変化 0 2 4 6 8 10 -1600 -1400 -1200 -1000 -800 -600 -400 -200 0 状態 電圧[mV] 時間[mS] 低消費電力化後 状態 バッテリ 電圧値 自動合成を通じ た消費電力抑制 設計 資産 パターン 部品 再利用 新規 開発 過去の 開発 プログラム 要求 組立て アスペクト 基盤 拡張 合成 新規開発の大部分を再利 用で実現し開発効率化 “アスペクト指向プログラミングによる高性能・低消費電力化” SIGSS 2014 “A Technique for Automatic Component Extraction,” Science of Computer Programming, 56(1-2), 2005 抽出 抽象化
  • 39. まとめ • エンジニアリング – エンジニアリングとは科学に裏打ちされた技術活動、学問体系 – 正統であるために: コミュニティで妥当と確認される知識が科学的基盤に基づく • SWEBOK Guide – ソフトウェアエンジニアリング知識体系ガイド – 現代的なソフトウェアエンジニアリング、プラクティスの変化や更新、知識体系の 成長・新領域 – アーキテクチャ、運用、セキュリティ、アジャイル&DevOps、AI • 開発アップデートに役立つ – ポータル、辞書、文献ガイド • ソフトウェアエンジニアリング/SWEBOK Guideの未来 – メガトレンド: 汎用人工知能、サステナビリティ、デジタルトランスフォーメーション – ソフトウェアエンジニアリング×生成AI、サステナビリティ、コンティニュアム、量子 39