SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
ソフトウェアエンジニアリングの全体
とIoT時代のモデリングおよび関連す
る品質
鷲崎 弘宜
早稲田大学
グローバルソフトウェアエンジニアリング研究所
Twitter: @Hiro_Washi washizaki@waseda.jp
http://www.washi.cs.waseda.ac.jp/
2016年11月11日 JEITA フォーラム 基調講演
わしざき ひろのり
• 早稲田大学グローバルソフトウ
ェアエンジニアリング研究所所
長・教授
• 国立情報学研究所客員教授
• 株式会社 システム情報 社外取
締役
• ISO/IEC/JTC1/SC7/WG20
Convenor
• SEMAT Japan Chapter Chair
• IEEE CS Japan Chapter Secretary
• IEEE ICST 2017 PC Co-Chair
2
3
日本経済新聞 2016年11月2日
日本は優れ
た技術を持
ちながら世界
のスピードに
追い付けて
いない
世界に何を
学び、日本
のどの強み
を伸ばすべ
きか
ソフトの総
合的な品質
評価が必要
データ+経験則
パターン大事ソフト開発の人
材づくりが重要
ビジネス、
システムも
含めた捉
え方
世界のソフト
ウェア開発の
潮流はアジャ
イル開発
IoT時代のセ
キュリティ、プ
ライバシは重
要な研究課題
目次
• 正統なエンジニアリングと知識体系
• モデリングとモデル駆動開発
• モデリングと品質
• IoT時代のモデリング: 参照アーキテクチャと
接続
• IoT時代のモデリング: 測定・学習さらには育
成
• まとめ
4
正統なエンジニアリング
職業人が果たす判断,
行為,助言が,社会で
実質的な価値を形成
5
松本吉弘, “エンジニアリング基礎知識体系とISO標準”, ITSCJ Newsletter, No.88, 2010.
Paul Star, “The Social Transformation of American Medicine,” Basic Books, 1982.
知識・適格性の妥当
性をコミュニティで
判定できる環境
コミュニティで妥当と確
認される知識が科学的
基盤に基づく
知識の島々から体系へ
経験、ガイド
知識 プロフェッショナリズム
ベストプラクティ
スに裏打ちさ
れた能力
参考 I. Jacobson, et al.: Tutorial: Essence - Kernel and Language for Software Engineering Practices, ICSE'13
知識の島々
カバレッジ UML
Java, C#, Python
アジャイル
6
知識の体系
体系上のパ
ターンや手法
Guide to the Software Engineering Body of Knowledge (SWEBOK)
v3 2014 http://www.swebok.org/
7
要求 構築設計 テスティング
マネジメント プロセス
保守
構成管理 モデル・手法 品質
経済
プロフェッショナル
実践
要求の基礎
要求プロセス
要求抽出
要求分析
要求仕様
要求妥当性確認
実践上の考慮事項
設計の基礎
設計の主要問題
構造とアーキテクチャ
ユーザインタフェース設計
設計品質の分析評価
設計の表記
設計戦略・手法
設計ツール
構築の基礎
構築の管理
実践上の考慮事項
構築技法
構築ツール
テストの基礎
テストレベル
テスト技法
テスト関連計量尺度
テストプロセス
テストツール
保守の基礎
保守の主要問題
保守プロセス
保守技法
保守ツール
SCMプロセスのマネ
ジメント
構成の識別
構成制御
構成状態記録・報告
構成監査
リリース管理・配布
構成管理ツール
開始と範囲定義
プロジェクト計画
プロジェクト実施
レビュー・評価
終結
計量
マネジメントツール
プロセス定義
ライフサイクル
プロセス査定・
改善
計量
プロセスツール
モデリング
モデル種別
モデルの分析
開発手法
品質の基礎
品質マネジメントプ
ロセス
実践上の考慮事項
品質ツール
プロフェッショナリズム
集団ダイナミクス・心理
コミュニケーションスキ
ル
経済の基礎
ライフサイクル経済
リスク・不確実性
経済分析手法
実践上の考慮事項
計算基礎 数学基礎
エンジニアリング
基礎
V3改訂に見るソフトウェアエンジニアリング進化
• プロフェッショナリズムの重要性
– 倫理、法令、技術者認定、コミュニケ
ーション
• ソフトウェアの外への拡大
– ビジネス、経済
– 計算、数学、エンジニアリング
• 深化や定着
– 各種ツール・自動化
– モデリング: モデリングの原則、表記
、種別、分析
– 構築技法: テンプレート、契約による
設計、MDA
– テスト技法: モデルベース、ペアワイ
ズ、テスト駆動
• 新たな品質特性
– ユーザビリティ: UI設計、インタラクシ
ョンテスティング
– セーフティ: Airborne Systems and
Equipment Certification 8
プロフェッショナリズム
計算、数学、エンジニアリング
組織
ビジネ
ス
システ
ム
ソフト
ウェア
PMBOK
BABOK
REBOK
SEBOK
SWEBOK
SQuBOK
SWEBOKV3
目次
• 正統なエンジニアリングと知識体系
• モデリングとモデル駆動開発
• モデリングと品質
• IoT時代のモデリング: 参照アーキテクチャと
接続
• IoT時代のモデリング: 測定・学習さらには育
成
• まとめ
9
モデルとは
「現実世界の何か」に対する「認知上の目的」
のためのコスト上効率的な「代用物」
12
システム モデル
~の表現
メタモデル
~に従う
日高宗一郎, Jean BEZIVIN, 胡振江, Frederic JOUAULT, 『モデル駆動工学の原理と応用』
(1) モデル駆動工学の歴史と背景, コンピュータソフトウェア, 30(3), 2013
プログラミングからモデリングへ
• 「どう動かすのか」から「何をしたいのか」へ
• 品質の早期の作り込みと検証
• コミュニケーション
時代
抽象度
MOV
ADD…
アセンブラ
MOV
ADD…
アセンブラ
要求要求
public abstract aspect ObserverProtocol {
protected interface Subject { }
protected interface Observer { }
 protected abstract pointcut
  subjectChange(Subject s);
after(Subject s): subjectChange(s) {
Iterator iter = getObservers(s).iterator();
while(iter.hasNext())
updateObserver(s,(Observer)iter.next()); }
protected abstract void
updateObserver(Subject s, Observer o);
public abstract aspect ObserverProtocol {
protected interface Subject { }
protected interface Observer { }
 protected abstract pointcut
  subjectChange(Subject s);
after(Subject s): subjectChange(s) {
Iterator iter = getObservers(s).iterator();
while(iter.hasNext())
updateObserver(s,(Observer)iter.next()); }
protected abstract void
updateObserver(Subject s, Observer o);
public abstract aspect ObserverProtocol {
protected interface Subject { }
protected interface Observer { }
 protected abstract pointcut
  subjectChange(Subject s);
after(Subject s): subjectChange(s) {
Iterator iter = getObservers(s).iterator();
while(iter.hasNext())
updateObserver(s,(Observer)iter.next()); }
protected abstract void
updateObserver(Subject s, Observer o);
public abstract aspect ObserverProtocol {
protected interface Subject { }
protected interface Observer { }
 protected abstract pointcut
  subjectChange(Subject s);
after(Subject s): subjectChange(s) {
Iterator iter = getObservers(s).iterator();
while(iter.hasNext())
updateObserver(s,(Observer)iter.next()); }
protected abstract void
updateObserver(Subject s, Observer o);
プログラム
public abstract aspect ObserverProtocol {
protected interface Subject { }
protected interface Observer { }
 protected abstract pointcut
  subjectChange(Subject s);
after(Subject s): subjectChange(s) {
Iterator iter = getObservers(s).iterator();
while(iter.hasNext())
updateObserver(s,(Observer)iter.next()); }
protected abstract void
updateObserver(Subject s, Observer o);
public abstract aspect ObserverProtocol {
protected interface Subject { }
protected interface Observer { }
 protected abstract pointcut
  subjectChange(Subject s);
after(Subject s): subjectChange(s) {
Iterator iter = getObservers(s).iterator();
while(iter.hasNext())
updateObserver(s,(Observer)iter.next()); }
protected abstract void
updateObserver(Subject s, Observer o);
モデル
ハード
/システム
13
14
Lv0: モデルなし
– 口頭伝達、その場しのぎの修正
Lv1: 文書のみ
– あいまい、主観がそのまま
Lv2: 文書+図
– 理解しやすい
Lv3: 図+文書
– 主観が客観に
Lv4: 精密な図+文書
– コードとの自動接続
Lv5: 図のみ
– モデル駆動開発が目指す未来
モデリングの成熟度
参考: ヨシュヴァルメル他: UML/MDAのためのオブジェクト制約言語OCL,
エスアイビーアクセス, 2004
public abstract aspect ObserverProtocol {
protected interface Subject { }
protected interface Observer { }
 protected abstract pointcut
  subjectChange(Subject s);
after(Subject s): subjectChange(s) {
Iterator iter = getObservers(s).iterator();
while(iter.hasNext())
updateObserver(s,(Observer)iter.next()); }
protected abstract void
updateObserver(Subject s, Observer o);
public abstract aspect ObserverProtocol {
protected interface Subject { }
protected interface Observer { }
 protected abstract pointcut
  subjectChange(Subject s);
after(Subject s): subjectChange(s) {
Iterator iter = getObservers(s).iterator();
while(iter.hasNext())
updateObserver(s,(Observer)iter.next()); }
protected abstract void
updateObserver(Subject s, Observer o);
15
出発地
目的地
WP1
WP2
出発地
目的地
WP1
WP2
モデル駆動開発とは
• モデル変換
– モデルに付加情報を加え
て、異なる視点のモデルや
コードを得る
– 視点の設定、モデルの記
述・操作の重要性
– 関心事の分離
• Computation Independent
• Platform Independent
• Platform Specific
• モデル駆動開発(MDD)
– 分析・設計情報をモデルと
して表現
– モデル変換の繰り返し
– 可搬性、再利用性、相互
運用性向上
飛行船とは・・・
基地局とは・・・
回転の指示が
あると・・・
プロトコルXXXに
従い16bitデータ
YYYを受信し
class Ship{
void move()
x = y + 1;
PIM
PSM
コード
CIM
PM
CPU, モータ,
OS, 言語・・・
ソフトウェア・システムの様々なモデル
• アプリケーション
– UMLなど
– 設計や検証、コード生成
• 制御
– Simulinkなど
– 設計やシミュレーション、
コード生成
• 電気・機械
– CADなど
– 設計や解析
16
• システム全体
– SysML, ADL
– 要求分析、設計、
シミュレーション
周辺領域との関係
• ドメイン特化言語(Domain-Specific Language; DSL)
– 特定の問題領域(ドメイン)用の開発言語
– MDDにおけるモデリング言語として
• ドメイン駆動設計(Domain-Driven-Design; DDD)
– ドメインモデル中心の考え方
– MDDがパターン・実現方法の一つ
• プロダクトラインエンジニアリング(Product-Line
Engineering; PLE)
– 共通資産を再利用した組織的・戦略的なプロダクト系列
開発・管理
– MDDが実現方法の一つ
17
目次
• 正統なエンジニアリングと知識体系
• モデリングとモデル駆動開発
• モデリングと品質
• IoT時代のモデリング: 参照アーキテクチャと
接続
• IoT時代のモデリング: 測定・学習さらには育
成
• まとめ
18
SWEBOKに見るモデリングと品質
• モデル・手法
– モデリング、モデル種別、モデルの分析、開発手法
• エンジニアリング基礎
– 統計分析、モデリング・シミュレーション・プロトタイピング・
・・
• 要求
– 要求の基礎、要求プロセス、要求抽出、要求分析、要求
仕様、要求妥当性確認、実践上の考慮事項
• 設計
– 設計の基礎、設計の主要問題、構造とアーキテクチャ、
ユーザインタフェース設計、設計品質の分析評価、設計
の表記、設計戦略・手法、設計ツール
• 品質
– 品質の基礎(ソフトウェアセーフティー)
• 計算基礎
– セキュア開発・保守(要求セキュリティ、設計セキュリティ・
・・) 19
リダイレクトシステム開発の例[繁在家08]
• 要求
品質要求を明確化で
きるか?
– シナリオ
– ゴール指向分析
• 設計
品質を着実に組み入
れられるか?
– パターン
– 品質駆動設計・評価
リダイレクト
システム
リダイレクト
システム
[繁在家08] 繁在家学, 鷲崎 弘宜, "品質要求駆動型のアーキテクチャ分析設計手法によるWEBシステム開発", 情報処理学会
研究報告ソフトウェア工学研究会報告 SE160, pp.33-40, 2008.
20
要求: 品質シナリオ
刺激源
成果物
環境
刺激 応答
応答測定法
A7
(環境)通常稼働時に
(刺激)リダイレクト情報に変更があった場合(応答)運用
を止めずに反映できる。
A1
(環境)通常稼働時に
(刺激)JMeterで高負荷をかけた場合
(応答)HTTPリクエストを秒間1000トランザクション処理できる。
[繁在家08] 繁在家学, 鷲崎 弘宜, "品質要求駆動型のアーキテクチャ分析設計手法によるWEBシステム開発", 情報処理学会
研究報告ソフトウェア工学研究会報告 SE160, pp.33-40, 2008.
21
要求: ゴール指向分析
PC/携帯
リダイレクト処理
ができる
PCと携帯を
判別する
リダイレクト
種別を判別する
マイルストーン分割
AND
AND
効率性保守性 ISO9126の観点
時間
効率性
資源
効率性
変更性
試験性
ファイルを
読み込む
APSの再起動なし
にリダイレクト情報
の変更が反映され
る
ロギング
モジュール
使用性
運用性 副特性
ゴールモデル
責任モデル
高いスルー
プットが得ら
れること
平均レスポンスタ
イムが諸元値を
満たすこと
CPU利用率
が諸元値以
下であること
キャッシュに
情報を保持する
マイルストーン
分割
デバッグ作業
及び試験が
容易に実施
できること
運用状況及びリ
ダイレクト情報の
変更の確認が容
易に行えること
A1 A2A3A5
A7
A9
リダイレクト情報
を容易に変更できること
A6
A8
PC/携帯
判定モジュール
リダイレクト情報
ファイル読込モジュール
URLパラメータ
判定モジュール
リダイレクト
実行モジュール
品質特性群
リダイレクト処理を
実行する
ログの出力を
実行する
ログデータを
提供する
ログを
出力する
AND
AND
リダイレクト情報
を取得する
事例分割
PC/携帯
リダイレクト処理
ができる
PCと携帯を
判別する
リダイレクト
種別を判別する
マイルストーン分割
AND
AND
効率性保守性 ISO9126の観点
時間
効率性
資源
効率性
変更性
試験性
ファイルを
読み込む
APSの再起動なし
にリダイレクト情報
の変更が反映され
る
ロギング
モジュール
使用性
運用性 副特性
ゴールモデル
責任モデル
高いスルー
プットが得ら
れること
平均レスポンスタ
イムが諸元値を
満たすこと
CPU利用率
が諸元値以
下であること
キャッシュに
情報を保持する
マイルストーン
分割
デバッグ作業
及び試験が
容易に実施
できること
運用状況及びリ
ダイレクト情報の
変更の確認が容
易に行えること
A1 A2A3A5
A7
A9
リダイレクト情報
を容易に変更できること
A6
A8
PC/携帯
判定モジュール
リダイレクト情報
ファイル読込モジュール
URLパラメータ
判定モジュール
リダイレクト
実行モジュール
品質特性群
リダイレクト処理を
実行する
ログの出力を
実行する
ログデータを
提供する
ログを
出力する
AND
AND
リダイレクト情報
を取得する
事例分割
[繁在家08] 繁在家学, 鷲崎 弘宜, "品質要求駆動型のアーキテクチャ分析設計手法によるWEBシステム開発", 情報処理学会
研究報告ソフトウェア工学研究会報告 SE160, pp.33-40, 2008.
22
設計: パターンと品質駆動設計
刺激源
成果物
環境
刺激 応答
応答測定法実現手法
アーキテクチャパターン
A7. リダイレクト情報の
変更を停止無しで反映
A1. HTTPリクエストを秒間
1000トランザクション処理
定義ファイル
動的読込み
多重化・
負荷分散
[繁在家08] 繁在家学, 鷲崎 弘宜, "品質要求駆動型のアーキテクチャ分析設計手法によるWEBシステム開発", 情報処理学会
研究報告ソフトウェア工学研究会報告 SE160, pp.33-40, 2008.
23
ノード
FW
負荷
分散
クラスタ
システム・基盤
PC/携帯
判定
URLパラ
メータ判定
リダイレクト
実行
ロギング
UI
アスペクト型ロギング
定義ファイル動
的読込み
リダイレクト
情報ファイル
リダイレクト情報
ファイル読込
レイヤ
アプリケーション
[繁在家08] 繁在家学, 鷲崎 弘宜, "品質要求駆動型のアーキテクチャ分析設計手法によるWEBシステム開発", 情報処理学会
研究報告ソフトウェア工学研究会報告 SE160, pp.33-40, 2008.
24
MDDとセキュリティパターン
Y. Shiroma, H. Washizaki, et al., “Model-Driven Security Patterns Application and Validation,” PLoP 2010
T. Kobashi, N. Yoshioka, H. Kaiya, H. Washizaki, T. Okubo, Y. Fukazawa, “Validating Security Design Pattern Applications by
Testing Design Models,” International Journal of Secure Software Engineering, Vol. 5, Issue 4, pp.1-30, 2014.
25
<<Subject>>
従業員
id
name
患者
id
name
Right
accessType
checkRight()
Subject
id
name
ProtectionObject
id
name
守られるべき
資産
アクセスしよう
とするユーザ
権限のチェック
<<Subject>>
従業員
id
name
患者
id
name
Authenticator
Proof_of_Identify
Authentication
Information
<<Creates>>
<<Subject>>
従業員
id
name
Authenticator
Proof_of_Identify
Authentication
Information
<<Creates>>
Authorization
(認可)パターン
Right
accessType
checkRight()
<<ProtOb>>
患者
id
name
Nov.
14,26
window.onload = setEventHandler;
function setEventHandler() {
$(“reg_type”).onchange = calcPrice;
・・・
$(“reg_addcart”).onclick = addCart;
};
function calcPrice() { ・・・ };
function addCart() {
if(isValidInput()) {
reqRunTrans();
} else {
alert(“Invalid user inputs”);
}
};
function reqRunTrans() {
new Ajax.Request(“runTrans.php”, {
method: “GET”, parameters: getParams(),
onSuccess: succeeded });
};
function succeeded() { disableAll();
jumpToConfirm();
}; [Maezawa13] Y. Maezawa, H. Washizaki, Y. Tanabe, S. Honiden,
“Automated Verification of Pattern-Based Interaction Invariants in Ajax Applications,” IEEE/ACM ASE 2013
Nov.
14,
[Maezawa13] Y. Maezawa, H. Washizaki, Y. Tanabe, S. Honiden,
“Automated Verification of Pattern-Based Interaction Invariants in Ajax Applications,” IEEE/ACM ASE 2013
モデルのリバースエンジニアリング
二重注文
Nov.
14,28
window.onload = setEventHandler;
function setEventHandler() {
$(“reg_type”).onchange = calcPrice;
・・・
$(“reg_addcart”).onclick = addCart;
};
function calcPrice() { ・・・ };
function addCart() {
if(isValidInput()) {
$(“addCart”).disabled = true;
reqRunTrans();
} else {
alert(“Invalid user inputs”);
$(“addCart”).disabled = false;
}
};
function reqRunTrans() {
new Ajax.Request(“runTrans.php”, {
method: “GET”, parameters: getParams(),
onSuccess: succeeded }); };
function succeeded() { disableAll();
jumpToConfirm(); }; [Maezawa13] Y. Maezawa, H. Washizaki, Y. Tanabe, S. Honiden,
“Automated Verification of Pattern-Based Interaction Invariants in Ajax Applications,” IEEE/ACM ASE 2013
目次
• 正統なエンジニアリングと知識体系
• モデリングとモデル駆動開発
• モデリングと品質
• IoT時代のモデリング: 参照アーキテクチャと
接続
• IoT時代のモデリング: 測定・学習さらには育
成
• まとめ
29
IoT/CPSの時代
• Internet of Things
– 物理世界にあるモノのインターネットによる接続
– IoEへ: データ・情報、生体の接続
• Cyber Physical System
– 物理世界の情報とサイバー世界の情報の融合
• 効率化、新ビジネス・価値の創発
30
岩野和生, 高島洋典, サイバーフィジカルシステムとIoT(モノのインターネット) 実世界と情報を結びつける ,情報管理 57, 2014.
Cloud
IoT/CPS時代の課題
• 社会やビジネスとの接続
– バリューをどう創発するか?
• 物理世界との接続
– ギャップは?(連続/離散、(非)同期)
• ヘテロな構成
– 異領域やライフサイクルをどう扱うか?
• 不確実な未来
– 変化を予測できるか?対応できるか?
• 品質、特にセキュリティ&セーフティ&プ
ライバシ
– リスクの増大、全体を保証できるか?
31
岩野和生, 高島洋典, サイバーフィジカルシステムとIoT(モノのインターネット) 実世界と情報を結びつける ,情報管理 57, 2014.
K. Marzullo, NSF Cyber Physical Systems (CPS) Program, 2013.
P. Patel and D. Cassou, Enabling High-level Application Development for the Internet of Things, JSS 103, 2015.
ISO/IEC 25010:2011
32
利用時の品質
Quality in use
有効性
Effectivenes
s
効率性
Efficiency
リスク回避性
Freedom from risk
満足性
Satisfaction
利用状況網羅性
Context coverage
内部品質・外部品質
Internal and external quality
機能
適合性
Functional
suitability
互換性
Compatibilit
y
セキュリ
ティ
Security
信頼性
Reliability
使用性
Usability
性能効率性
Performance
efficiency
保守性
Maintainability
移植性
Portabilit
y
Functional
completen
ess
Co-
existence
Confidenti
ality
Maturity Appropriateness
recognisability
Time-
behavior
Analysability Adaptabi
lity
Functional
correctne
ss
Interoperabi
lity
Integrity Fault
tolerance
Learnability Resource
utilization
Modifiability Installabi
lity
Functional
appropriat
eness
Non-
repudiation
Recoverab
ility
Operability Capacity Reusability Replacea
bility
Accountab
ility
Availabilit
y
User error
protection
Testability
Authenticit
y
UI aesthetics Modularity
Accessibility
ISO/IEC 25010:2011 Systems and software engineering-Systems and software Quality Requirements and Evaluation (SQuaRE) -
System and software quality models
IoT/CPS時代の挑戦の可能性
33
岩野和生, 高島洋典, サイバーフィジカルシステムとIoT(モノのインターネット) 実世界と情報を結びつける ,情報管理 57, 2014.
K. Marzullo, NSF Cyber Physical Systems (CPS) Program, 2013.
P. Patel and D. Cassou, Enabling High-level Application Development for the Internet of Things, JSS 103, 2015.
参照アーキテクチャ
バリューや物理世界
との接続モデリング
測定・予測および適応
データと機械学習によ
る品質保証の改善
社会やビジネスとの接続
物理世界との接続
ヘテロな構成
不確実な未来
品質、特にセキュリティ&
セーフティ&プライバシ
知識ベース、ガイドライン
エコシステム
適応的追跡・回復
参照アーキテクチャに向けて
• IISF-SSR「クラウドサービ
ス・セキュリティ・プライバ
シメタモデル」代表: 鷲崎
http://www.iisf.or.jp/SSR/
• EU ClouTプロジェクト
http://clout-project.eu/
34
Platform
(プラットフォーム)
Problem
(問題)
Bridge
(ブリッジ)
Solution
(解決)Target
(対象)
Application
(アプリケーション)
Infrastructure
(インフラ)
メタモデル
クラウド
知識ベース
パター
ン
プラク
ティス
事例
要求
アーキテクチャ
新規 分析評価
H. Washizaki, “A Metamodel for Security and Privacy Knowledge in Cloud Services,” Proceedings of the 12th IEEE World
Congress on Services (IEEE SERVICES 2016)
モデル駆動IoT開発[Patel]
35
P. Patel and D. Cassou, Enabling High-level Application Development for the Internet of Things, JSS 103, 2015.
• 関心事の分離
– ドメイン
– 機能
– 配備
– プラットフォーム
ドメイン
配備
機能 プラットフォーム
モデル駆動IoT開発(つづき) [Patel]
• モデル変換
とコード生成
– 関心事ごと
のDSL
– マッピング
とリンク
36
P. Patel and D. Cassou, Enabling High-level Application Development for the Internet of Things, JSS 103, 2015.
ドメイン
配備
アーキテクチャ
プラットフォーム
ゴール指向による接続・整合 GQM+Strateges
37
顧客満足度10%向上
製品の信頼性
を改善する
製品の使いや
すさを改善する
不具合指摘を
20%削減
テスト効率
を改善する
保守性を
改善する
顧客満足度調査
不具合データ
プログラムの複雑さ
OG. 上位
組織目標
S. 戦略
S. 戦略
OG. 下位
組織目標
M. メトリクス
Jens Heidrich, Adam Trendowicz, “測定を基にした、ソフトウェア戦略とビジネス目標の整合” IPA/SEC資料
鷲崎ほか監訳, ゴール&ストラテジ入門: 残念なシステムの無くし方 (GQM+Strategies), オーム社, 2015
M. メトリクス
Trace in all directions
Trace ANY (‘16-’20 代表: 鷲崎)
38
Req.
ER, UML
SimulinkGoal models
SysML, UML
JavaScript
Java
C
Cloud
Reliable trace
by transitive and
interactive recovery
Modularize and
Reuse, change
managementExtractionVerification
Hironori Washizaki, Yann-Gael Gueheneuc, Foutse Khomh, “A Taxonomy for Program Metamodels in Program Reverse
Engineering,” 32nd IEEE International Conference on Software Maintenance and Evolution (ICSME)
目次
• 正統なエンジニアリングと知識体系
• モデリングとモデル駆動開発
• モデリングと品質
• IoT時代のモデリング: 参照アーキテクチャと
接続
• IoT時代のモデリング: 測定・学習さらには育
成
• まとめ
39
IoT/CPS時代の挑戦の可能性
40
岩野和生, 高島洋典, サイバーフィジカルシステムとIoT(モノのインターネット) 実世界と情報を結びつける ,情報管理 57, 2014.
K. Marzullo, NSF Cyber Physical Systems (CPS) Program, 2013.
P. Patel and D. Cassou, Enabling High-level Application Development for the Internet of Things, JSS 103, 2015.
参照アーキテクチャ
バリューや物理世界
との接続モデリング
測定・予測および適応
データと機械学習によ
る品質保証の改善
社会やビジネスとの接続
物理世界との接続
ヘテロな構成
不確実な未来
品質、特にセキュリティ&
セーフティ&プライバシ
知識ベース、ガイドライン
エコシステム
適応的追跡・回復
品質測定: 構造的複雑さ(結合性)
• Coupling factor (COF)
[Abreuら 95]
– オブジェクト指向クラ
ス間凝集度のメトリ
ック
– ETロボコン実証
[Washizaki06]
41
y = -4.0214x + 2.86
1
1.5
2
2.5
3
3.5
4
4.5
0 0.05 0.1 0.15 0.2 0.25 0.3COF
審査員の定性評価
n(n-1)/2モジュール数: n
(頂点数)2-(頂点数)-(全継承子クラス数×2)
(継承を除く有向参照辺の数)
H. Washizaki, et al., “Experiments on Quality Evaluation of Embedded Software in Japan Robot Software Design Contest,”
28th IEEE/ACM International Conference on Software Engineering (ICSE 2006)
品質測定: 構造的複雑さ(凝集性)
42
図A 図B
通常走行
ロボット
階段走行
坂道走行
ロボット情報
基本走行
走行管理
階段管理
坂道管理
図B
図A
• 責務が大きいクラス
を含まない設計モデ
ルは構造を十分検
討されていない
N. Tsuda, H. Washizaki, Y. Fukazawa, “Evaluating Structural Validity of UML Class Diagrams by Measuring the Number of
Highly Responsible Classes,” 13th IASTED International Conference on Software Engineering (SE2014)
品質測定: 意味的複雑さ
• Class Relational
Structure
Understandability
(CRSU) [Nakamura11]
– 構造と意味のギャップ
の定量化
43
y = 11.778x - 7.0508
1
1.5
2
2.5
3
3.5
4
4.5
0.7 0.75 0.8 0.85 0.9
CRSU
審査員の定性評価
Y. Nakamura, K. Sakamoto, K. Inoue, H. Washizaki and Y. Fukazawa, “Evaluation of Understandability of UML Class
Diagrams by Using Word Similarity,” The Joint Conference of the 21st International Workshop on Software Measurement
(IWSM) and the 6th International Conference on Software Process and Product Measurement (Mensura), 2011
事例: 機械学習によるメトリクス・システム改善
(コマツ との共同研究)
44
10 25
300
150
M. 関数の数
M.実行行数
OK
NG
71
M. 関数の数
M.実行行数
OK
NG
△ OK, ○ NG
N. Tsuda, et al. Iterative Process to Improve GQM Models with Metrics Thresholds to Detect High-risk Files, SANER'15 Doctoral
人材育成に向けて
• 抽象化能力がカギ [Kramer07]
– 詳細の捨象、共通部の一般化
– 「測定」による能力把握と向上
– 数学、問題中心のモデリング作業による習得
• 様々な領域把握と接続がカギ
– 様々なビジネス、システム、ソフトウェア
– ゴール指向
• アーキテクチャ設計能力がカギ
– 様々な品質特性: セキュリティ、セーフティー・・・
– 品質駆動設計
– 各種パターン
45
Jeff Kramer, “Is abstraction the key to computing,” Communications of the ACM, 50(4), 2007
目次
• 正統なエンジニアリングと知識体系
• モデリングとモデル駆動開発
• モデリングと品質
• IoT時代のモデリング: 参照アーキテクチャと
接続
• IoT時代のモデリング: 測定・学習さらには育
成
• まとめ
46
取り上げた技術のSWEBOK上のつながり
47
要求 構築設計 テスティング
マネジメント プロセス
保守
構成管理 モデル・手法 品質
経済
プロフェッショナル
実践
要求の基礎
要求プロセス
要求抽出
要求分析
要求仕様
要求妥当性確認
実践上の考慮事項
設計の基礎
設計の主要問題
構造とアーキテクチャ
ユーザインタフェース設計
設計品質の分析評価
設計の表記
設計戦略・手法
設計ツール
構築の基礎
構築の管理
実践上の考慮事項
構築技法
構築ツール
テストの基礎
テストレベル
テスト技法
テスト関連計量尺度
テストプロセス
テストツール
保守の基礎
保守の主要問題
保守プロセス
保守技法
保守ツール
SCMプロセスのマネ
ジメント
構成の識別
構成制御
構成状態記録・報告
構成監査
リリース管理・配布
構成管理ツール
開始と範囲定義
プロジェクト計画
プロジェクト実施
レビュー・評価
終結
計量
マネジメントツール
プロセス定義
ライフサイクル
プロセスアセス
メント・改善
プロセス計量
プロセスツール
モデリング
モデル種別
モデルの分析
開発手法
品質の基礎
品質マネジメントプ
ロセス
実践上の考慮事項
品質ツール
プロフェッショナリズム
集団ダイナミクス・心理
コミュニケーションスキ
ル
経済の基礎
ライフサイクル経済
リスク・不確実性
経済分析手法
実践上の考慮事項
計算基礎 数学基礎
エンジニアリング
基礎
UML
MDD
•シナリオ
•ゴール指向分析 •品質駆動設計・評価
•パターン
•モデルの測定
セキュリティ
パターン
形式検証
クラウド
品質特性
まとめ
• 共通基盤上でより良く、早く、幸せに
– 知識体系上での知識の整理、深耕、拡大
– プロフェッショナリズム
• モデリング再考
– モデリング成熟度とモデル駆動開発
• モデリングと品質
– 検証、作り込み
• IoT/CPS時代の課題と挑戦
– 品質特性の移り変わり
– モデル駆動開発と参照アーキテクチャ
– バリューとの接続モデル
– 測定とシステム改善
– 人材育成
48

Weitere ähnliche Inhalte

Was ist angesagt?

正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由
正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由
正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由Hironori Washizaki
 
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用Hironori Washizaki
 
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Yasuharu Nishi
 
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-Hironori Washizaki
 
IoT時代と第3者検証
IoT時代と第3者検証IoT時代と第3者検証
IoT時代と第3者検証Yasuharu Nishi
 
Development and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and mafDevelopment and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and mafKenta Oono
 
CMSI計算科学技術特論C (2015) 可読性と性能の両立を目指して
CMSI計算科学技術特論C (2015) 可読性と性能の両立を目指してCMSI計算科学技術特論C (2015) 可読性と性能の両立を目指して
CMSI計算科学技術特論C (2015) 可読性と性能の両立を目指してComputational Materials Science Initiative
 
第3回SEMAT勉強会 SEMATエッセンス解説
第3回SEMAT勉強会 SEMATエッセンス解説第3回SEMAT勉強会 SEMATエッセンス解説
第3回SEMAT勉強会 SEMATエッセンス解説Hironori Washizaki
 
Presentation oct-2018-tokyo r
Presentation oct-2018-tokyo rPresentation oct-2018-tokyo r
Presentation oct-2018-tokyo rTom Kelly
 

Was ist angesagt? (10)

正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由
正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由
正統なソフトウェア品質エンジニアであるためにSQiP研究会に入るべき7つの理由
 
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
 
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
 
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
 
IoT時代と第3者検証
IoT時代と第3者検証IoT時代と第3者検証
IoT時代と第3者検証
 
20160619 wacate
20160619 wacate20160619 wacate
20160619 wacate
 
Development and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and mafDevelopment and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and maf
 
CMSI計算科学技術特論C (2015) 可読性と性能の両立を目指して
CMSI計算科学技術特論C (2015) 可読性と性能の両立を目指してCMSI計算科学技術特論C (2015) 可読性と性能の両立を目指して
CMSI計算科学技術特論C (2015) 可読性と性能の両立を目指して
 
第3回SEMAT勉強会 SEMATエッセンス解説
第3回SEMAT勉強会 SEMATエッセンス解説第3回SEMAT勉強会 SEMATエッセンス解説
第3回SEMAT勉強会 SEMATエッセンス解説
 
Presentation oct-2018-tokyo r
Presentation oct-2018-tokyo rPresentation oct-2018-tokyo r
Presentation oct-2018-tokyo r
 

Andere mochten auch

G7 PROGRAMMING LEARNING SUMMITの狙い
G7 PROGRAMMING LEARNING SUMMITの狙いG7 PROGRAMMING LEARNING SUMMITの狙い
G7 PROGRAMMING LEARNING SUMMITの狙いHironori Washizaki
 
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Hironori Washizaki
 
A Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse EngineeringA Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse EngineeringHironori Washizaki
 
ICST 2017 Day1 Opening Ceremony Research Track
ICST 2017 Day1 Opening Ceremony Research TrackICST 2017 Day1 Opening Ceremony Research Track
ICST 2017 Day1 Opening Ceremony Research TrackHironori Washizaki
 
DDD 20121106 SEA Forum November
DDD 20121106 SEA Forum NovemberDDD 20121106 SEA Forum November
DDD 20121106 SEA Forum November増田 亨
 
McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎
McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎
McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎Hironori Washizaki
 
Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...
Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...
Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...Hironori Washizaki
 
Samurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターン
Samurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターンSamurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターン
Samurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターンHironori Washizaki
 
Software Maintenance Support by Extracting Links and Models (revised)
Software Maintenance Support by Extracting Links and Models (revised)Software Maintenance Support by Extracting Links and Models (revised)
Software Maintenance Support by Extracting Links and Models (revised)Hironori Washizaki
 
アカデミックのキャリアパス事例~とある博士の場合~
アカデミックのキャリアパス事例~とある博士の場合~アカデミックのキャリアパス事例~とある博士の場合~
アカデミックのキャリアパス事例~とある博士の場合~Hiroaki Yaguchi
 
What is Enterprise Agile
What is Enterprise Agile What is Enterprise Agile
What is Enterprise Agile Kenji Hiranabe
 
Software Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and ModelsSoftware Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and ModelsHironori Washizaki
 
S qu bok特別講演2015年2月-開発領域
S qu bok特別講演2015年2月-開発領域S qu bok特別講演2015年2月-開発領域
S qu bok特別講演2015年2月-開発領域Hironori Washizaki
 
ICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けてICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けてHironori Washizaki
 
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みHironori Washizaki
 
経済産業省/IPA 委託事業 「IT人材育成強化加速事業」拠点 早稲田大学における 産学連携実践的IT教育講座の紹介
経済産業省/IPA 委託事業「IT人材育成強化加速事業」拠点早稲田大学における産学連携実践的IT教育講座の紹介経済産業省/IPA 委託事業「IT人材育成強化加速事業」拠点早稲田大学における産学連携実践的IT教育講座の紹介
経済産業省/IPA 委託事業 「IT人材育成強化加速事業」拠点 早稲田大学における 産学連携実践的IT教育講座の紹介Hironori Washizaki
 
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日Hironori Washizaki
 
情報システム企画・開発の実践的な疑似プロジェクトベース教育
情報システム企画・開発の実践的な疑似プロジェクトベース教育情報システム企画・開発の実践的な疑似プロジェクトベース教育
情報システム企画・開発の実践的な疑似プロジェクトベース教育Hironori Washizaki
 
早稲田大学における 実践的IT科目 - 疑似プロジェクトベース教育とチーム構成 -
早稲田大学における実践的IT科目- 疑似プロジェクトベース教育とチーム構成 - 早稲田大学における実践的IT科目- 疑似プロジェクトベース教育とチーム構成 -
早稲田大学における 実践的IT科目 - 疑似プロジェクトベース教育とチーム構成 - Hironori Washizaki
 

Andere mochten auch (20)

G7 PROGRAMMING LEARNING SUMMITの狙い
G7 PROGRAMMING LEARNING SUMMITの狙いG7 PROGRAMMING LEARNING SUMMITの狙い
G7 PROGRAMMING LEARNING SUMMITの狙い
 
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
 
A Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse EngineeringA Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse Engineering
 
ICST 2017 Day1 Opening Ceremony Research Track
ICST 2017 Day1 Opening Ceremony Research TrackICST 2017 Day1 Opening Ceremony Research Track
ICST 2017 Day1 Opening Ceremony Research Track
 
DDD 20121106 SEA Forum November
DDD 20121106 SEA Forum NovemberDDD 20121106 SEA Forum November
DDD 20121106 SEA Forum November
 
McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎
McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎
McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎
 
Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...
Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...
Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...
 
Samurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターン
Samurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターンSamurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターン
Samurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターン
 
Sematj 1st-study meeting
Sematj 1st-study meetingSematj 1st-study meeting
Sematj 1st-study meeting
 
Software Maintenance Support by Extracting Links and Models (revised)
Software Maintenance Support by Extracting Links and Models (revised)Software Maintenance Support by Extracting Links and Models (revised)
Software Maintenance Support by Extracting Links and Models (revised)
 
アカデミックのキャリアパス事例~とある博士の場合~
アカデミックのキャリアパス事例~とある博士の場合~アカデミックのキャリアパス事例~とある博士の場合~
アカデミックのキャリアパス事例~とある博士の場合~
 
What is Enterprise Agile
What is Enterprise Agile What is Enterprise Agile
What is Enterprise Agile
 
Software Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and ModelsSoftware Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and Models
 
S qu bok特別講演2015年2月-開発領域
S qu bok特別講演2015年2月-開発領域S qu bok特別講演2015年2月-開発領域
S qu bok特別講演2015年2月-開発領域
 
ICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けてICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けて
 
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
 
経済産業省/IPA 委託事業 「IT人材育成強化加速事業」拠点 早稲田大学における 産学連携実践的IT教育講座の紹介
経済産業省/IPA 委託事業「IT人材育成強化加速事業」拠点早稲田大学における産学連携実践的IT教育講座の紹介経済産業省/IPA 委託事業「IT人材育成強化加速事業」拠点早稲田大学における産学連携実践的IT教育講座の紹介
経済産業省/IPA 委託事業 「IT人材育成強化加速事業」拠点 早稲田大学における 産学連携実践的IT教育講座の紹介
 
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
 
情報システム企画・開発の実践的な疑似プロジェクトベース教育
情報システム企画・開発の実践的な疑似プロジェクトベース教育情報システム企画・開発の実践的な疑似プロジェクトベース教育
情報システム企画・開発の実践的な疑似プロジェクトベース教育
 
早稲田大学における 実践的IT科目 - 疑似プロジェクトベース教育とチーム構成 -
早稲田大学における実践的IT科目- 疑似プロジェクトベース教育とチーム構成 - 早稲田大学における実践的IT科目- 疑似プロジェクトベース教育とチーム構成 -
早稲田大学における 実践的IT科目 - 疑似プロジェクトベース教育とチーム構成 -
 

Ähnlich wie ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質

TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...Akira Inoue
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜Hideki Takase
 
東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」NoriakiAndo
 
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureMachine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureTakuya Minagawa
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説Daisuke Nishino
 
セキュリティオペレーション自動化に向けた、基盤技術と共通インターフェースの構築 [ISOC-JP workshop, 2016/05/20]
セキュリティオペレーション自動化に向けた、基盤技術と共通インターフェースの構築  [ISOC-JP workshop, 2016/05/20]セキュリティオペレーション自動化に向けた、基盤技術と共通インターフェースの構築  [ISOC-JP workshop, 2016/05/20]
セキュリティオペレーション自動化に向けた、基盤技術と共通インターフェースの構築 [ISOC-JP workshop, 2016/05/20]Takeshi Takahashi
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014Koji Hasegawa
 
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI Osamu Monoe
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Akira Inoue
 
Android cleanarchitecture
Android cleanarchitectureAndroid cleanarchitecture
Android cleanarchitectureTomoaki Imai
 
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp Masahiro NAKAYAMA
 
131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料openrtm
 
実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】
実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】
実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】Tomoharu ASAMI
 
オレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そうオレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そうMitsuhito Ishino
 
Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Yuki Suga
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampMasahiro NAKAYAMA
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストAtsuhiro Kubo
 
20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code ReadingTakuya Minagawa
 
OSC2016.Enterprise OpenStack & Cloud Native Applications
OSC2016.Enterprise OpenStack & Cloud Native ApplicationsOSC2016.Enterprise OpenStack & Cloud Native Applications
OSC2016.Enterprise OpenStack & Cloud Native Applicationsirix_jp
 
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Next2Dで始めるゲーム開発  - Game Development Starting with Next2DNext2Dで始めるゲーム開発  - Game Development Starting with Next2D
Next2Dで始めるゲーム開発 - Game Development Starting with Next2DToshiyuki Ienaga
 

Ähnlich wie ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質 (20)

TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
 
東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」
 
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and ArchitectureMachine Learning Operations (MLOps): Overview, Definition, and Architecture
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
セキュリティオペレーション自動化に向けた、基盤技術と共通インターフェースの構築 [ISOC-JP workshop, 2016/05/20]
セキュリティオペレーション自動化に向けた、基盤技術と共通インターフェースの構築  [ISOC-JP workshop, 2016/05/20]セキュリティオペレーション自動化に向けた、基盤技術と共通インターフェースの構築  [ISOC-JP workshop, 2016/05/20]
セキュリティオペレーション自動化に向けた、基盤技術と共通インターフェースの構築 [ISOC-JP workshop, 2016/05/20]
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
 
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
 
Android cleanarchitecture
Android cleanarchitectureAndroid cleanarchitecture
Android cleanarchitecture
 
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
 
131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料
 
実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】
実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】
実装(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第32回】
 
オレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そうオレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そう
 
Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
 
20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading
 
OSC2016.Enterprise OpenStack & Cloud Native Applications
OSC2016.Enterprise OpenStack & Cloud Native ApplicationsOSC2016.Enterprise OpenStack & Cloud Native Applications
OSC2016.Enterprise OpenStack & Cloud Native Applications
 
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Next2Dで始めるゲーム開発  - Game Development Starting with Next2DNext2Dで始めるゲーム開発  - Game Development Starting with Next2D
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
 

Mehr von 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
 
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225Hironori 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最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデートHironori 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
 
DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方Hironori Washizaki
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターンHironori Washizaki
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターンHironori Washizaki
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度Hironori Washizaki
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターンHironori Washizaki
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクルHironori Washizaki
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)Hironori Washizaki
 

Mehr von 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におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
 
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
 
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最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
 
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年度成果紹介
 
DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターン
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターン
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターン
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
 

ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質