狠狠撸

狠狠撸Share a Scribd company logo
Copyright ? Software Research Associates, Inc. All Rights Reserved
株式会社 SRA
阪井 誠
WG13「ソフトウェア開発の現状と今後の発展に向けたディスカッション」
Node-REDから見えた未来
- 変わるもの、変わらないもの -
Copyright ? Software Research Associates, Inc. All Rights Reserved
背景:効率的開発環境
? コンピュータの性能向上、ソフトウェア技術の向
上によって効率的に開発する環境が整いつつある
? マイクロサービスの普及や大規模なシステムオブ
システムなど、システム間の結合が増えている
? プロトタイピングが必要な局面が増えている
? 複雑なために実現可能性の確認が必要
? UIなど仕様の詳細を決めづらい
? とにかくリリースを急ぐ、など
? Visual IoTツールと呼ばれるNode-REDの開発経験
から、今後のソフトウェア開発を考える
Copyright ? Software Research Associates, Inc. All Rights Reserved 2
目次
? 背景
? 目次
? Visual IoTツールNode-RED
? Node-REDのすごいところ
? Node-REDから見えた未来
? まとめ
Copyright ? Software Research Associates, Inc. All Rights Reserved 3
Visual 開発ツールNode-RED
? Node-RED*はVisual IoTツールと呼ばれ,Webブラウザ上の
エディタでプログラミングする
? 長円のプログラムモジュールをノードと呼び、標準ノードのほか、
コントリビュートされた多機能なノードが豊富にある
? ノードを中央の編集領域に配置し,ノード間を接続してフロー
(処理)を作成する
? ノードには名前を付加できるが,単に配置するだけでも設定に
応じた内容が表示される
* JS Foundation,Node-RED is a visual wiring tool for the Internet of Things,https://nodered.org/
Copyright ? Software Research Associates, Inc. All Rights Reserved 4
Node-REDのすごいところ
? Hello Worldの入出力のノードを置き換えるだけで
Webプログラムになる
一瞬でデプロイ
非同期処理を
可視化 簡単デバッグ
多機能なノード群
Copyright ? Software Research Associates, Inc. All Rights Reserved
Node-REDの長所?短所
長所:
? 非同期処理が簡単に扱える
? アルゴリズムが可視化される
? 多機能なノード(モジュール)
? デプロイが一瞬
? 再利用が容易
短所:
? 単体テストの自動化ができない
? 発展途上
? 方式設計が重要
? ループが特殊
? マージ?保守に工夫が必要
Copyright ? Software Research Associates, Inc. All Rights Reserved
Node-REDから見えた未来
Node-REDで変わったこと
? イテレーションが短い
静的ビルド不要、デプロイが一瞬
? 作ったほうがはやい(実現可能性、機能要件の検討)
高機能で再利用が容易、デフォルトの利用
? 常に動作確認するので品質が高い
ドキュメントは後付けでも品質が高い(コード可読性は重視する)
Node-REDで変わらないこと
? コミュニケーション
完成度を高めるには顧客との意見交換が重要
? 設計が重要
非機能要件、アーキテクチャ、データ構造(永続化、インタフェース)
? 可読性が重要
プログラム構造、コメント(info)
Copyright ? Software Research Associates, Inc. All Rights Reserved
まとめ
? 重要なものは変わらない
? 顧客とのコミュニケーション
? ゴールの明確化
? 設計
? アーキテクチャ、データ構造、インタフェース
? 品質確保
? 機能要件、非機能要件
? 面倒なことは変わる
? 自動化できるもの、自動化のしくみづくり
? ○○ as code はパターンとデフォルトで設定中心に
? 実装と一致したドキュメント
? エビデンスよりも実装と一致した簡潔な説明へ
? ビッグバン結合から常時結合
? 実現可能性を常に確保
ソフト開発に何が重要かを議論したい

More Related Content

Node-REDから見えた未来 - 変わるもの、変わらないもの -

  • 1. Copyright ? Software Research Associates, Inc. All Rights Reserved 株式会社 SRA 阪井 誠 WG13「ソフトウェア開発の現状と今後の発展に向けたディスカッション」 Node-REDから見えた未来 - 変わるもの、変わらないもの -
  • 2. Copyright ? Software Research Associates, Inc. All Rights Reserved 背景:効率的開発環境 ? コンピュータの性能向上、ソフトウェア技術の向 上によって効率的に開発する環境が整いつつある ? マイクロサービスの普及や大規模なシステムオブ システムなど、システム間の結合が増えている ? プロトタイピングが必要な局面が増えている ? 複雑なために実現可能性の確認が必要 ? UIなど仕様の詳細を決めづらい ? とにかくリリースを急ぐ、など ? Visual IoTツールと呼ばれるNode-REDの開発経験 から、今後のソフトウェア開発を考える
  • 3. Copyright ? Software Research Associates, Inc. All Rights Reserved 2 目次 ? 背景 ? 目次 ? Visual IoTツールNode-RED ? Node-REDのすごいところ ? Node-REDから見えた未来 ? まとめ
  • 4. Copyright ? Software Research Associates, Inc. All Rights Reserved 3 Visual 開発ツールNode-RED ? Node-RED*はVisual IoTツールと呼ばれ,Webブラウザ上の エディタでプログラミングする ? 長円のプログラムモジュールをノードと呼び、標準ノードのほか、 コントリビュートされた多機能なノードが豊富にある ? ノードを中央の編集領域に配置し,ノード間を接続してフロー (処理)を作成する ? ノードには名前を付加できるが,単に配置するだけでも設定に 応じた内容が表示される * JS Foundation,Node-RED is a visual wiring tool for the Internet of Things,https://nodered.org/
  • 5. Copyright ? Software Research Associates, Inc. All Rights Reserved 4 Node-REDのすごいところ ? Hello Worldの入出力のノードを置き換えるだけで Webプログラムになる 一瞬でデプロイ 非同期処理を 可視化 簡単デバッグ 多機能なノード群
  • 6. Copyright ? Software Research Associates, Inc. All Rights Reserved Node-REDの長所?短所 長所: ? 非同期処理が簡単に扱える ? アルゴリズムが可視化される ? 多機能なノード(モジュール) ? デプロイが一瞬 ? 再利用が容易 短所: ? 単体テストの自動化ができない ? 発展途上 ? 方式設計が重要 ? ループが特殊 ? マージ?保守に工夫が必要
  • 7. Copyright ? Software Research Associates, Inc. All Rights Reserved Node-REDから見えた未来 Node-REDで変わったこと ? イテレーションが短い 静的ビルド不要、デプロイが一瞬 ? 作ったほうがはやい(実現可能性、機能要件の検討) 高機能で再利用が容易、デフォルトの利用 ? 常に動作確認するので品質が高い ドキュメントは後付けでも品質が高い(コード可読性は重視する) Node-REDで変わらないこと ? コミュニケーション 完成度を高めるには顧客との意見交換が重要 ? 設計が重要 非機能要件、アーキテクチャ、データ構造(永続化、インタフェース) ? 可読性が重要 プログラム構造、コメント(info)
  • 8. Copyright ? Software Research Associates, Inc. All Rights Reserved まとめ ? 重要なものは変わらない ? 顧客とのコミュニケーション ? ゴールの明確化 ? 設計 ? アーキテクチャ、データ構造、インタフェース ? 品質確保 ? 機能要件、非機能要件 ? 面倒なことは変わる ? 自動化できるもの、自動化のしくみづくり ? ○○ as code はパターンとデフォルトで設定中心に ? 実装と一致したドキュメント ? エビデンスよりも実装と一致した簡潔な説明へ ? ビッグバン結合から常時結合 ? 実現可能性を常に確保 ソフト開発に何が重要かを議論したい