豆寄席第26回『SWEBOK V3からV4への革新にみるソフトウェアエンジニアリングの発展』参加レポート

江端 直樹

本稿は、豆寄席第26回の開催報告です。

開催概要

タイトル SWEBOK V3からV4への革新にみるソフトウェアエンジニアリングの発展
講演者 鷲崎 弘宜氏 
早稲田大学グローバルソフトウェアエンジニアリング研究所所長、国立情報学研究所 客員教授、システム情報 取締役(監査等委員)、エクスモーション 社外取締役
開催日時 2023年3月7日(火) 18時30分~20時00分
講演概要 講演者が取りまとめたIEEE Computer Society発行のソフトウェア工学知識体系Guide to the Software Engineering Body of Knowledge (SWEBOK Guide)の最新版V4の内容を解説します。具体的には、2014年発行の前バージョンV3からV4への進化の方針、新設知識領域(アーキテクチャ、運用、セキュリティ)、全体にわたって組み入れられたアジャイル開発プロセス、ならびにAI for SE・SE for AIの新規言及を中心に解説します。

講演の流れ

IEEE Computer Societyから発刊されるSWEBOKは現在V3からV4への改定作業を行っているそうです。
鷲崎氏はその改定作業をリードしており、今回以下の流れでSWEBOKのV4の改定内容、改定内容を切り口に鷲崎氏の研究を交えて今後のソフトウェアエンジニアリングについてお話いただきました。

  1. SWEBOK V4
  2. IoTソフトウェアエンジニアリング
  3. AI/MLソフトウェアエンジニアリング
     

SWEBOK V4

SWEBOK(Guide to the Software Engineering Body of Knowledge)は2001年にV1をリリースし、2014年にはV3をリリース、昨年2022年にV4のBetaを公開し、V4は2023年に公開予定のようです。
SWEBOKの目的には以下があると説明いただきました。

  • よく受け入れられた知識を明確に位置付け
  • ソフトウェアの境界を付け
  • 認証や教育に基礎としての提供

SWEBOKは散在した技術、知識を整理して体系化しているもので、その体系的な知識を使用して出現した新たな技術、知識をまた取り込むことで発展していったそうです。

SWEBOKのV3からV4への改定内容は以下になる予定とのことです。

  • アジャイルやDevOps、IoT、AIのようなモダンな技術の追加
  • 既存の更新
  • セキュリティ、アーキテクチャ、オペレーションを新知識領域として追加
     

IoTソフトウェアエンジニアリング

紹介いただいたSERP4IoTから出ているサーベイ結果を記載した論文の「A Systematic Mapping study on Internet of Things challenges.」にはIoTの課題は以下の項目に大別できると記載があるとのことでした。

  • 多種多様な応用機会とコンテキスト
  • 通信技術
  • 相互運用性
  • セキュリティ
  • データとプライバシ
  • IoT開発上の考慮

各課題の中でも相互運用性のソフトウェアエンジニアリング上の取り組みとしてアーキテクチャ・デザインパターンにフォーカスして説明いただきました。
鷲崎氏はIoTアーキテクチャ・デザインパターンの体系について調査をしており、調査した結果以下のことがわかったとのことです。

  • IoTアーキテクチャ・デザインパターンの分類、研究がされていない
  • 既存のIoTアーキテクチャやデザインパターンの57%が非IoTパターン
  • 多くのIoTアーキテクチャ・デザインパターンは相互運用性、セキュリティ、保守性を扱う
  • 多くのIoTアーキテクチャパターンはドメイン固有

また、調査結果よりIoTシステムを取り扱う上で相互運用性、セキュリティ、保守性の典型的なパターンを利用するのが有効的だとお話いただきました。
 

AI/MLソフトウェアエンジニアリング

AI/MLとSEには以下のAI for SEとSE for AIの2つがあるとのことでした。

  • AI for SE
    ⇒ ソフトウェアエンジニアリングにおけるAIの応用
    ⇒ 人をAIで再現する
  • SE for AI
    ⇒ AIシステムのためのソフトウェアエンジニアリング
    ⇒ AIシステムだからこそ必要となるソフトウェアエンジニアリング

鷲崎氏の研究の結果、AI for SEの傾向として探索的および適応的なもの傾向があるとお話いただきました。
また、SE for AIの傾向は以下のような傾向があるとお話いただきました。

  • 利用する対象は一般、自動車がほとんど
  • 品質特性としてディペンダビリティ、セーフティの扱いが多い
  • 利用する領域はテストと品質が多く、保守に関しての研究はほとんどない
     

まとめ

所感

筆者はSWEBOKの名前は知っているが、今までSWEBOKを読んだことがなく、今回の豆寄席でSWEBOKがどのような目的のものなのか、どのような内容なのかを初めて知りました。こんなにも体系的に多くの情報が載っているものが公開されていることに驚くと同時に、今まで読まなかったのをもったいないと感じました。今回新設になったアーキテクチャ、セキュリティや、IoT分野にとても興味があるのでSWEBOKのV4が公開されたら読み込みたいと感じました。
 

今後の 豆寄席 へのご参加もお待ちしております!