5. Knowledge Area
Topic Topic
Reference
Material
Body of Knowledge Skills Competencies Jobs / Roles
SWEBOK
Software Engineering Professional Certifications
SWECOM
EITBOK
Learning courses
Guide to the Software Engineering Body of Knowledge (SWEBOK)
https://www.computer.org/education/bodies-of-knowledge/software-engineering
• ソフトウェアエンジニアリングにおける「一般に認められた知
識」を特定し、共通認識を持つよう研究者と実務家を導く。
• 資格や教育カリキュラムの基礎
• ISO/IEC Technical Report, ISO/IEC 24773 Part 4 ほか採用
• ‘01 v1、’04 v2、‘05 ISO採用、’14 v3、‘24 v4 出版済み!
SWEBOK Guide V4
(Editor: Hironori Washizaki)
5
6. メイン
フレーム
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
6
8. メインフレーム
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
8
16. 生成AIに基づくソフトウェアエンジニアリングの現状と展望
Generative AI for Effective Software Development (Springer, 2024)
• 生成AIの基礎
– An Overview on Large Language Models
• SEへの生成AI導入のためのパターンとツール
– Comparing Proficiency of ChatGPT and Bard in
Software Development
– DAnTE: A Taxonomy for the Automation Degree of
Software Engineering Tasks
– ChatGPT Prompt Patterns for Improving Code
Quality, Refactoring, Requirements Elicitation and
Software Design
– Requirements Engineering Using Generative AI:
Prompts and Prompting Patterns
– Advancing Requirements Engineering Through
Generative AI: Assessing the Role of LLMs
• ケーススタディ
– Generative AI for Software Development: A Family
of Studies on Code Generation
– BERTVRepair: On the Adoption of CodeBERT for
Automated Vulnerability Code Repair
– ChatGPT as a Full-Stack Web Developer
• プロセス
– Transforming Software Development with
Generative AI: Empirical Insights on Collaboration
and Workflow
– How Can Generative AI Enhance Software
Management? Is It Better Done than Perfect?
– Value-Based Adoption of ChatGPT in Agile Software
Development: A Survey Study of Nordic Software
Experts
– Early Results from a Study of GenAI Adoption in a
Large Brazilian Company: The Case of Globo
• 教育と将来展望
– Generating Explanations for AI-Powered Delay
Prediction in Software Projects
– Classifying User Intent for Effective Prompt
Engineering: A Case of a Chatbot for Startup Teams
– Toward Guiding Students: Exploring Effective
Approaches for Utilizing AI Tools in Programming
Courses
16
プロンプトパターン
要求工学
AI開発者
協調・ワークフロー
コード
関連
価値ベースの導入
説明の生成
プログラミング学習
17. Rie Sera, Hironori Washizaki,et al., “Development of Data-driven Persona Including User Behavior and Pain Point through Clustering with User Log of B2B Software,” IEEE/ACM 17th International
Conference on Cooperative and Human Aspects of Software Engineering (CHASE 2024) https://www.growkudos.com/publications/10.1145%25252F3641822.3641870/reader
17
早大・いい生活 共同研究: ペルソナ生成とユーザビリティスメル特定に向けて
18. LLMマルチエージェントに基づくAI中心の開発へ
• MetaGPT: Meta Programming for A Multi-Agent
Collaborative Framework (2023)
– 標準作業手順書に基づくタスク細分化
– 異なるエージェント間の知識共有
• ChatDev: Communicative Agents for Software
Development (ACL 2024)
– チャットチェーン
– 思考指示、役割反転
18
https://arxiv.org/abs/2308.00352
https://arxiv.org/abs/2307.07924
• ResponsibleなAIエージェントに向けて
– 制御性、説明性、透明性、一貫性を通じた信頼
– バイアスとデータ品質、計算コスト・消費電力
– 汎用モデルとドメイン・タスク固有モデル
– 法的および倫理的なコンプライアンス
– 人の役割の変化、開発層の広がり
27. グリーン&サステナブル・ソフトウェアエンジニアリングとは
Green and Sustainable Software Engineering
• ソフトウェア設計、構築、リリースの長期的な
影響(特に環境、社会、個人、経済、技術に
関わるサステナビリティ)に対処する包括的
分野 [DUT’22]
– 環境: ソフトウェアの省エネ化、開発の省エネ化
• サステナブルSEの傾向 ’10-’16 [Berntsen’16]
– エネルギー効率、開発手法、プロセス強化、組
織の指標、ライフサイクル思考
• サステナブルSEの展望・提言 [Karita’22]
– 開発の初期フェーズでサステナビリティ要求を
考慮すべき
– サステナビリティに焦点を当てた利害関係者エ
ンゲージメントが必要
– サステナビリティの関心は、プロジェクトにおい
てトレードオフを発生させる可能性
27
[DUT] Delft University of Technology, Sustainable Software Engineering, https://luiscruz.github.io/course_sustainableSE/2022/
[Berntsen] Kristina Rakneberg Berntsen, et al. Sustainability in Software Engineering - A Systematic Mapping (CIMPS’16)
[Karita] Leila Karita, et al., Towards a common understanding of sustainable software development (SBES’22)
モジュール
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]
低消費電力化後
状態
バッテリ
電圧値
自動合成を通じ
た消費電力抑制
低消費電力化アスペクト
自動合成
void around():call(void
LDC_linetrace(void)){
float turn=p_gain*(…);
…
“アスペクト指向プログラミングによる高性能・低消費電力化” SIGSS 2014
28. 参照モデル GREENSOFT Model: ソフトウェアライフサイクル
28
S. Naumann, et al., “The GREENSOFT Model: A reference model for green and sustainable software and its engineering,” Sustainable Computing, 1(4), 2011
• 開発者、管理者、ユーザのサステナブルなソフトウェア開発、運用、退役の支援
開発 運用 退役
開発 配布 使用 使用停止 廃棄
1次影響
2次影響
3次影響
ライフサイクル
基準・指標
手続き・プロセスモデル
推奨事項・ツール