ソフトウェア開発技術支援
ソフトウェア開発の技術支援では、開発現場で抱えている問題点を明らかにした上で、モデル指向開発手法の要素技術を部分的、または総合的に適用しながら改善を図ることで、堅牢なソフトウェア開発基盤を構築していきます。
モデル指向開発手法
モデル指向開発とは、主に離散系システムを対象としたモデル駆動開発と、主に連続系システムを対象としたモデルベース開発を包含したソフトウェア開発手法です。そのため、離散系システムと連続系システムに対応したソフトウェア開発の基本プロセスを有しています。これらの基本プロセスを基盤として、必要となる開発プロセスを融合することで、様々な開発形態に適応することができます。
● ソフトウェア開発におけるモデル指向の概念
ソフトウェア開発におけるモデル指向とは、具象から抽象へ(抽象化)と抽象から具象へ(具象化)、直観的思考から論理的思考へと展開するアプローチです。直観的思考のポイントは「経験」と「示唆」であり、論理的思考のポイントは「事実」と「仮説」です。
![](https://www.side-cross.com/wp-content/uploads/2023/06/4eca31b70bc646370ff7fe851e3638d1-1.png)
● モデル指向開発の概念
広範囲にわたるソフトウェア開発への要求に応えるため、論理モデルを扱うモデル駆動開発と、数式モデルを扱うモデルベース開発を包含して、論理モデルと数式モデルを総合的に扱うモデル指向開発手法を考案しました。
![](http://www.side-cross.com/wp-content/uploads/2020/02/2fbb9c4246fec42fb2d24aa4531775d1.png)
● 離散系システム対応の基本プロセス
様々な離散系システムに対応するため、以下の5つのモデリングフェーズから成る基本プロセスを基盤に柔軟な開発プロセスを編成することができます。
![](https://www.side-cross.com/wp-content/uploads/2022/07/93dfadbbeab2465b377f781a6a149b69.png)
● 連続系システム対応の基本プロセス
様々な連続系システムに対応するため、以下の5つのモデリングフェーズから成る基本プロセスを基盤に柔軟な開発プロセスを編成することができます。
![](https://www.side-cross.com/wp-content/uploads/2022/07/0e5573799df870ea594cad3512d7426c.png)
● モデル指向開発の適用開発形態
モデル指向開発を様々なソフトウェア開発に適用するため、基本プロセスを基盤に既存の有効な開発プロセスと融合させた開発形態の多様なパターンを説明します。
![](http://www.side-cross.com/wp-content/uploads/2020/02/3037c6e8e837cbd85ef0774412658ce4.png)
● 離散系モデル指向開発の標準プロセスフロー
離散系システム対応にモデル指向開発の基本プロセスをウォータフォールプロセスに融合させた開発プロセスのパターンを示します。
![](https://www.side-cross.com/wp-content/uploads/2022/07/eb4c828e5b5148a337320786984a463e-1024x658.png)
● 連続系モデル指向開発の標準プロセスフロー
連続系システム対応にモデル指向開発の基本プロセスをウォータフォールプロセスに融合させた開発プロセスのパターンを示します。
![](https://www.side-cross.com/wp-content/uploads/2022/07/6608127cada50e79b8dac3026beb4867-1024x664.png)
● モデル指向開発の基本アプローチ
従来の機能分割型アプローチとは根本的に異なる、モデル指向開発の基本とする「責務割り当て型アプローチ」を説明します。
![](https://www.side-cross.com/wp-content/uploads/2022/10/bdfb8922fc021602d13a537945eee321.png)
● 外部機能としてのフィーチャの概念
モデル指向開発では、ユーザ要求をソフトウェア構造につなげる単位として、ユーザが考える外部機能である「フィーチャ」を重要視しています。
![](https://www.side-cross.com/wp-content/uploads/2022/10/7535eebd476b35faa8c1b50db9ec9cd7.png)
● ソフトウェア要件分析の位置付け
ソフトウェアの要件(要求仕様)をソフトウェアアーキテクチャにつなげるソフトウェア要件分析の必要性について説明します。
![](https://www.side-cross.com/wp-content/uploads/2022/10/0df0d5a4b058e2c6cb097510db6f5456.png)
● ソフトウェア要件分析における複数の視点
モデル指向開発のソフトウェア要件分析には、以下の4つの重要な視点による複眼的な分析技法を導入しています。
![](https://www.side-cross.com/wp-content/uploads/2022/10/d5af146aed44a1d758ffd442c49d17e9.png)
● 責務駆動アプローチの概念
モデル指向開発の基盤である、ソフトウェア要件分析からソフトウェア設計へとつなげる「責務駆動アプローチ」を説明します。
![](https://www.side-cross.com/wp-content/uploads/2022/10/69b190596c7939118fd33278127f3959.png)