...

IBM ® V7.5 Rational

by user

on
Category: Documents
36

views

Report

Comments

Transcript

IBM ® V7.5 Rational
®
IBM Software Group
IBM®
IBM Rational®
Rational Rhapsody®
Rhapsody V7.5
製品紹介
Version Jun.09
© 2009 IBM Corporation
IBM Software Group | Rational software
製品出荷後の
製品出荷後の不具合原因比率
組込みソフトウェア開発は
未曾有の危機的状況!!
出典:
出典:経済産業省
2008年版組込
2008年版組込み
年版組込みソフトウェア産業実態調査
ソフトウェア産業実態調査:
産業実態調査:プロジェクト責任者向
プロジェクト責任者向け
責任者向け調査
IBM Software Group | Rational software
ソフトウェア不具合発生工程別件数比率
ソフトウェア不具合発生工程別件数比率と
不具合発生工程別件数比率と発見工程の
発見工程の内訳
出典:
出典:経済産業省
2008年版組込
2008年版組込み
年版組込みソフトウェア産業実態調査
ソフトウェア産業実態調査:
産業実態調査:プロジェクト責任者向
プロジェクト責任者向け
責任者向け調査
IBM Software Group | Rational software
現状分析
!
!
Development
Integration
HW/SW integration
Test
Operation
IBM Software Group | Rational software
モデル駆動型開発環境
モデル駆動型開発環境(
駆動型開発環境(MDD)
MDD)
UML /
SysML
カスタマイズ
可能な
可能な
ドキュメント生成
ドキュメント生成
複数チーム
複数チームによる
チームによる
大規模開発
Design
For
Testability
(DFT)
MDD
既存資産の
既存資産の
再利用
Dynamic
ModelModel-Code
Associativity
RealReal-Time
Framework
IBM Software Group | Rational software
テキストベースによる
テキストベースによる共同作業
による共同作業
開発者 1:
“以下
以下が
要求仕様です
です。
以下
が要求仕様
です
。
スレッド A が イベント X を スレッド B に送り、アイドル状態
アイドル状態の
状態の前にBの状態
を実行中に
実行中に変更します
変更します。
します。B の状態が
状態が実行中に
実行中に遷移する
遷移する場合
する場合、B
場合、B は イベント
Y を A に送り返します。
します。その時
その時、2秒間待ち
秒間待ち、アイドル状態
アイドル状態に
状態に戻します。
します。ス
レッド A は アイドル状態
アイドル状態で
状態で始まり、
まり、B がアイドル状態
アイドル状態になる
状態になる前
になる前の2秒間に
秒間にイ
ベント Z を返信、
返信、実行状態になります
実行状態になります。
になります。 すべては5
すべては5秒以内に
秒以内に処理すべきであ
処理すべきであ
る。”
開発者 2: “えっ、
えっ、何だって ?”
IBM Software Group | Rational software
MDDによる
MDDによる共同作業
による共同作業
開発者 1:
“このシーケンス
このシーケンス図
シーケンス図を見て
ください。
ください。”
開発者 2:
“はい、
はい、了解しました
了解しました!
しました!”
IBM Software Group | Rational software
IBM®
IBM® Rational®
Rational® Rhapsody ®
最新技術の
最新技術の自動設計機能が
自動設計機能がベースの
ベースの組込み
組込み開発環境
分析
設計
UML/SysML
UML/SysML準拠
/SysML準拠モデリング
準拠モデリング
要求との
要求との連携
との連携
実装
検証
ドキュメント
コード生成
コード生成
モデル実行
モデル実行
文書生成
モデルチェック
モデルコード同期
モデルコード同期
テスト自動実行
テスト自動実行
網羅試験
ケース生成
ケース生成
リバースエンジニアリング
IBM Rational Harmonyプロセス
rmonyプロセス
要求分析から
要求分析からテスト
からテストまで
テストまでソフトウェア
までソフトウェア開発
ソフトウェア開発の
開発の全工程を
全工程をサポートする
サポートするツール
するツール
IBM Software Group | Rational software
UML 2.1
UML 2.1 の13ある
13あるダイアグラム
あるダイアグラムのうち
ダイアグラムのうち11
のうち11を
11をサポート
クラス図
クラス図
(Class Diagram)
構造図
(Structure Diagram)
コンポジット構造
コンポジット構造図
構造図
(Composite Structure Diagram)
オブジェクト図
オブジェクト図
(Object Diagram)
パッケージ図
パッケージ図
(Package Diagram)
図
(Diagram)
配置図
(Deployment Diagram)
コンポーネント図
コンポーネント図
(Component Diagram)
ユースケース図
ユースケース図
(Use Case Diagram)
ダイヤグラムの
ダイヤグラムの分類
振る舞い図
(Behavior Diagram)
UML1
UML1.0と
.0と同様
UML2.0以降
UML2.0以降で
以降で追加
公式に
公式に定義(
定義(UML1
UML1.0では
.0では非公式
では非公式)
非公式)
アクテビティ図
アクテビティ図
(Activity Diagram)
状態マシン
状態マシン図
マシン図
(State Machine Diagram)
相互作用図
(Interaction Diagram)
シーケンス図
シーケンス図
(Sequence Diagram)
コミュニケーション図
コミュニケーション図
(Communication Diagram)
相互作用概要図
(Interaction Overview Diagram)
タイミング図
タイミング図
(Timing Diagram)
IBM Software Group | Rational software
IBM Rational Rhapsody での UML によるソフトウエア
によるソフトウエア開発
ソフトウエア開発
シーケンス図
シーケンス図で動作を
動作をシ
ナリオとして
ナリオとして記述
として記述
(自動テスト
自動テストに
テストに再利用)
再利用)
クラス図
クラス図やコンポジット構造図
コンポジット構造図で
構造図でシス
テムを
テムをサブシステムに
サブシステムに分解
状態マシン
状態マシン図
マシン図でサブシステムの
サブシステムの動作を
動作を記述
(シミュレーションで
シミュレーションで動作確認)
動作確認)
IBM Software Group | Rational software
ドメインに
ドメインに特化した
特化したモデル
したモデルの
モデルの表現
例
• SysML
• AUTOSAR(2.0, 2.1, 3.1)
• DoDAF / MoDAF
• Functional C
IBM Software Group | Rational software
要件(
要件(ドキュメント)
ドキュメント)とモデルを
モデルを一元管理
IBM Rational Rhapsody 内で要件を
要件を一覧表示することも
一覧表示することも可能
することも可能
取り込要件
んだ要件
んだ要件と
要件と
IBM Rational DOORS などで
などで記述
記述された
記述された要件
された
モデル要素間
モデル要素間で
要素間で
依存関係を
依存関係を作成
可能 を利用して
IBM Rational Rhapsody Gateway
利用して要件
して要件を
要件をモデルへ
モデルへ取り込む
IBM Software Group | Rational software
コード自動生成
コード自動生成
スケルトンだけ
スケルトンだけではな
だけではなく
ではなく状態マシン
状態マシンも
マシンも動作する
動作する C, C++, Java, Ada の完全な
完全なコードを
コードを生成
<静的モデル
静的モデル>
モデル>
<動的モデル
動的モデル>
モデル>
struct PBX_t {
RiCReactive ric_reactive;
struct CallRouter itsCallRouter;
struct Connection itsConnection[4];
struct Line itsLine[4];
struct Registry itsRegistry;
struct Telephone itsTelephone[4];
};
switch (me->operation_active) {
case Dishwasher_off:
{
if(id == evStart_Default_id)
{
{
/*#[ transition 1 */
Dishwasher_setup(me);
/*#]*/
}
IBM Software Group | Rational software
モデル・
モデル・コード同期機能
コード同期機能
コードでの
コードでの修正
での修正を
修正をモデルにすぐに
モデルにすぐに反映
にすぐに反映
開発の
開発の最後まで
最後まで、
まで、モデルは
モデルはコードと
コードと同じ最新の
最新の状態に
状態に同期
static int rootState_dispatchEvent(void * const void_me,
short id) {
switch (me->rootState_active) {
case Line_Idle:
Line_Idle
{
switch (id) {
case evOriginateCall_PbxPkg_id:
evOriginateCall_PbxPkg_id
{
..
/*#[ transition 10 */
コード変更
コード
変更
コード変更
変更が
が
コード変更が
変更が
Line_OpenConnection(me);
Line_OpenConnection(me);
モデルに
に
反映
モデル
RiCGEN(meRiCGEN(me->itsTelephone,
itsTelephone,
モデルに
モデルに反映
evDialTone());
evDialTone());
/*#]*/
…
break;
IBM Software Group | Rational software
モデルベースでの
モデルベースでの動作検証
での動作検証
設計モデル
設計モデルを
モデルをステップ実行
ステップ実行で
実行で確認
することができます
動作を
動作をシーケンス図
シーケンス図や状態マシン
状態マシン
図で確認することができます
確認することができます
上流で
上流で振る舞いの検証
いの検証を
検証を行うことが可能
うことが可能
~動く仕様書~
仕様書~
IBM Software Group | Rational software
モデルベースでの
モデルベースでの動作検証
での動作検証 ~比較・
比較・検討~
検討~
ダイアグラム上
ダイアグラム上での期待値
での期待値と
期待値とログの
ログの比較および
比較および差分検証
および差分検証
IBM Software Group | Rational software
モデルベースの
モデルベースのテスト
テストアーキテクチャを
テストアーキテクチャを自動作成します
自動作成します。
します。
シーケンス図
シーケンス図などで記述
などで記述された
記述されたテストケース
されたテストケースを
テストケースを
自動実行します
自動実行します
IBM Software Group | Rational software
モデルベースの
モデルベースのテスト – テストケースと
テストケースとシナリオの
シナリオのマッピング
記述された
記述されたテストシナリオ
されたテストシナリオを
テストシナリオをテストケースに
テストケースに
マッピングします
マッピングします。
します。テストの
テストの順番を
順番を指定することも
指定することも
可能。
可能。
IBM Software Group | Rational software
モデルベースの
モデルベースのテスト – テストケースの
テストケースの実行
テスト結果
テスト結果を
結果を表示
a. PASSED or FAILED / Progress
b. シーケンス図
シーケンス図で FAILED原因
FAILED原因を
原因をビジュアル表示
ビジュアル表示
c. HTML形式
HTML形式レポート
形式レポート(
レポート(自動生成)
自動生成)
IBM Software Group | Rational software
既存資産の
既存資産の見える化
える化
既存の
既存のソースコード
Display
Button
グローバル
変数
Timer
関数
int minutes
int seconds
void increment()
void reset()
IBM Rational Rhapsody
モデル
≪File≫
Display
displayString:char %s[5]
既存コード
既存コード
IBM Rational Rhapsody
モデル
グローバル変数
グローバル変数・
変数・メンバ変数
メンバ変数
属性
関数・
関数・メンバ関数
メンバ関数
操作
include
Usageステレオタイプ
Usageステレオタイプ
他のクラスの
クラスのポインタ
関連
他のクラスの
クラスの変数
コンポジット
static
private可視性
private可視性
≪File≫
Timer
minutes:int
seconds:int
increment():void
reset():void
≪Usage≫
≪Usage≫
≪File≫
Buttons
etc…
etc
onResetButtonPress():void
onToggleButtonPress():void
仕様書のない
仕様書
のない
コード
える
そして
える
エンハンス
える
仕様書のない
のないコード
コードを
を見
見える形
える形
形に
に!
!そして見
そして見
見える形
える形
形で
でエンハンスを
エンハンスを
を行
行える!
える!
!
仕様書のないコード
のないコードを
コードを
える形
そして見
える形
エンハンスを
える!
IBM Software Group | Rational software
リアルタイムフレームワーク
ほとんどのアプリケーション
ほとんどのアプリケーションが
アプリケーションが50%以上
50%以上の
以上の”自社製コード
自社製コード”
コード”を持ち、システム
を更新する
更新する毎
再開発しなければならない
する毎に再開発しなければならない
フレームワーク は部分的には
部分的には完全
には完全な
完全なアプリケーション
アプリケーション
アプリケーションのための
アプリケーションのためのカスタマイズ
のためのカスタマイズ、
カスタマイズ、特化することが
特化することが可能
することが可能
リアルタイムフレームワーク は
デザインパターン
デザインパターンの
デザインパターンの統合された
統合された集
された集まり
組
組み込みアプリケーションのために
アプリケーションのために最適化
のために最適化
レガシー
コード
生成コード
生成コード
生成コード
コード
生成
リアルタイムフレームワーク
RTOS
Windows
VxWorks
IDF:
Driven Framework
IDF:Interrupt
Nucleus
CPU
IBM Rational Rhapsody は実行可能な
実行可能なリアルタイムフレームワークを
リアルタイムフレームワークを提供!!
提供!!
IBM Software Group | Rational software
プロトタイプ検証環境
プロトタイプ検証環境
PCの
PCの上だけの検証
だけの検証ではなく
検証ではなく、
ではなく、実機上に
実機上に接続しての
接続しての動作確認
しての動作確認(
動作確認(アニメーション機能
アニメーション機能)
機能)が
実施可能
実機と
実機と IBM Rational Rhapsody/PC 間を TCP/IP もしくはシリアル
もしくはシリアルで
シリアルで接続
アニメーション機能
アニメーション機能との
機能との連携
との連携で
連携で、実機上の
実機上のコード実行状況
コード実行状況を
実行状況を
IBM Rational Rhapsody/PC からモニター
からモニター
実機上の
実機上のコード実行不具合個所
コード実行不具合個所を
実行不具合個所を、その場
その場で IBM Rational Rhapsody で修正
ユーザー
追加
コード
生成コード
生成コード
リアルタイムフレームワーク
RTOS
CPU
TCP / IP
実機デバッグ
実機デバッグ環境
デバッグ環境/
環境/ターゲットボード
IBM Software Group | Rational software
カスタマイズ可能
カスタマイズ可能な
可能なドキュメント自動生成
ドキュメント自動生成
IBM Rational Rhapsody モデルから
モデルから、
から、HTML, Powerpoint,
Powerpoint, Word, リッチテキスト
フォーマットの
フォーマットのドキュメントを
ドキュメントを生成
ReporterPLUS
多くのテンプレート
くのテンプレートが
テンプレートが予めあり、
めあり、さらに、
さらに、カスタマイズ可能
カスタマイズ可能
テンプレートや
テンプレートやサブテンプレートを
サブテンプレートを共有可能
IBM Software Group | Rational software
オープンソリューション
構成管理
- Synergy
- PVCS
テスト
- ClearCase
- SCC 互換ツール
互換ツール
要件トレーサビリティ
要件トレーサビリティ
- DOORS
- RequisitePRO
RTOS IDE
ドキュメント
HMI
- MULTI (Green Hills) - pRISM (WindRiver)
- Tornado (WindRiver) - Visual Studio
- Eclipse
Operating Systems (サンプル)
サンプル)
- WindowsCE
- LynxOS
- Solaris
- MontaVista
-Operating Systemなし
Systemなし
ドキュメント
- Word/Framemaker
Word/Framemaker/HTML/rtf/
Framemaker/HTML/rtf/プレーンテキスト
/HTML/rtf/プレーンテキスト/PowerPoint
プレーンテキスト/PowerPoint
テスト
- Cantata (IPL)
- TestBed (LDRA)
コンパイラ
要件分析
VxWorks
OSE Delta
QNX Neutrino
Red Hat
INTEGRITY
構成管理
-
-
-
-
-
OS
リアルタイム分析
リアルタイム分析
- RapidRMA (Tri(Tri-Pacific)
連続系モデリング
連続系モデリング
- Simulink (Mathworks
(Mathworks)
Mathworks)
- Labview (NI)
CORBA / COM
サポート
COM
CORBA
IBM Software Group | Rational software
Learn more at:
IBM Rational software
IBM Rational Software Delivery Platform
Process and portfolio management
Change and release management
Quality management
Architecture management
Rational trial downloads
Leading Innovation Web site
developerWorks Rational
IBM Rational TV
IBM Business Partners
IBM Rational Case Studies
© Copyright IBM Corporation 2009. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any
kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor
shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use
of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or
capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product
or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business
Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
25
Fly UP