Comments
Description
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