Tubame Hands-on

Index

1.はじめに
1.1.Hands-on Goal
1.2.Prerequisite for hands-on
1.3.What we are doing?
1.3.1.part1 ナレッジベース検索
1.3.2.part2 依存性検索
2.Let's get started
2.1.part1 ナレッジベース検索
2.1.1.Hands-on-Task1.ナレッジベース検索を実行
2.1.2.Hands-on-Task2.ナレッジベース検索結果より、移植項目を確認する
2.1.3.Hands-on-Task3.目視確認作業
2.1.4.Hands-on-Task4.ヒアリング確認作業
2.1.5.Hands-on-Task5.ライン数の手動算出設定作業
2.1.6.Hands-on-Task6.ナレッジベース検索のレポート作成
2.2.part2 依存性検索
2.2.1.Hands-on-Task7.移行先環境設定
2.2.2.Hands-on-Task8.依存性検索を実行
2.2.3.Hands-on-Task9.依存性検索結果を確認
2.2.4.Hands-on-Task10.依存性検索のレポート作成

1.はじめに


1.1.Hands-on Goal


struts1に依存したアプリケーションを例に、TUBAMEを利用した移植性検討(struts1からSpringMVCへの移植検討)を行います。 TUBAMEのナレッジベース検索機能より、移植項目の抽出、移植概算規模の算出を行います。TUBAMEの依存性検索では、業務アプリケーションが依存する情報から、移行後の環境で利用できないものを抽出し、可視化します。



1.2.Prerequisite for hands-on


このHands-onで必要なものは以下があります。あらかじめご準備ください。



1.3.What we are doing?


struts1に依存したアプリケーションを例に、TUBAMEの以下の機能を実行します。



1.3.1.part1 ナレッジベース検索


ナレッジベース検索については、本Hands-onでは以下を実施する。

  1. ナレッジXMLを利用したナレッジベース検索を行う。

  2. 移植項目を確認する。

  3. 移植規模の概算を行う

  4. レポート生成を行う。



1.3.2.part2 依存性検索


依存性検索については、本Hands-onでは以下を実施する。

  1. 移行先環境を設定し、依存性検索を行う。

  2. 依存性検索結果を確認する。

  3. 移行先環境で利用できないAPIを可視化する



2.Let's get started


2.1.part1 ナレッジベース検索



2.1.1.Hands-on-Task1.ナレッジベース検索を実行


  1. ナレッジベース検索ウィザードの起動

    プロジェクトを右クリックし、以下のメニューを選択する。 tubameナレッジベース検索

    Figure 1. ナレッジベース検索のメニュー選択

    ナレッジベース検索のメニュー選択

  2. マイグレーションナレッジの選択

    ナレッジベース検索ウィザードが表示されたら、 インポート ボタンをクリックし、 FrameworkMigration_Struts1_To_SpringMVC4 を選択する。

    [Warning]Warning

    インターネット接続ができない環境の場合は、 ナレッジベース検索で利用する「Struts1からSpringMVCへの移行ナレッジ」 を参考に、手動でマイグレーションナレッジを取得してください。 取得後は、 参照 ボタンをクリックし、ファイルの選択ダイアログで利用するマイグレーションナレッジ(本Hands-onでは「tubame-knowledge/Struts1ToSpringMVC/Struts1ToSpringMVC.xml」)を選択する。

    Figure 2. ナレッジベース検索ウィザード

    ナレッジベース検索ウィザード

    Figure 3. ナレッジベース検索ウィザードのファイル選択ダイアログ

    ナレッジベース検索ウィザードのファイル選択ダイアログ

  3. ナレッジベース検索の実行

    検索実行ダイアログの Finish ボタンをクリックする。

    Figure 4. ナレッジベース検索の実行

    ナレッジベース検索の実行



2.1.2.Hands-on-Task2.ナレッジベース検索結果より、移植項目を確認する


Hands-on-Task2.ナレッジベース検索結果より、移植項目を確認する

  1. ナレッジベース検索結果より、移植項目を確認する

    ナレッジベース検索の実行結果(result.jbm)ファイルがプロジェクト配下に作成され、ファイルの内容が jbmファイルエディタ で表示されます。 修正項目一覧が表示され、抽出された各修正項目の修正難易度や修正ライン数、修正対象ファイルなどの情報が表示されます

    [Warning]Warning

    jbmファイルエディタ がオープンしていない場合は、プロジェクト配下に作成されているresult.jbmファイルをダブルクリックしてください

    Figure 1. jbmファイルエディタ(ナレッジベース検索パースペクティブ)

    jbmファイルエディタ(ナレッジベース検索パースペクティブ)


    [Note]Note

    ナレッジベース検索のGUI(パースペクティブ)の構成は、jbmファイルエディタ以外に以下が存在します。

    • チェックリスト情報ビュー

      検索条件などの情報が表示される。目視/ヒアリング確認する内容も表示される

    • 作業状況ビュー

      移植規模を算出するために必要なタスク(目視/ヒアリング確認項目の状況)の表示。

    • HTMLガイドビュー

      jbmファイルエディタガイド章番号 をクリックすると、該当項目の修正方法を表示する

    • ソースコードビュー

      jbmファイルエディタ で表示される にカーソルを合わせ、右クリック ソースコードビューを開く をクリックすると、検索ヒット箇所がViewで表示される

      Figure 2. ソースコードビューを選択

      ソースコードビューを選択


      Figure 3. ソースコードビュー

      ソースコードビュー


    [Important]Important

    jbmファイルエディタはナレッジXMLにあるチェックポイントで設定された検索条件で検索した結果を一覧表示しています。

    • どんな検索をおこなっているかは、 チェックリスト情報ビュー より検索手順等を確認することできます。

    • 検索該当箇所は、 ソースコードビュー より確認することができます。

    • 移植方法については、jbmファイルエディタ のガイド章番号をクリックして、 HTMlガイドビュー より確認することができます。

    • 全体的な修正項目を確認したい場合、 jbmファイルエディタ列No にカーソルを合わせ、右クリックで 全アイテムを折りたたむ を表示します。 jbmファイルエディタ大項目 及び 中項目 を確認することで、どんな移植項目が存在するかわかります。



2.1.3.Hands-on-Task3.目視確認作業


移植規模を算出するためには、 jbmファイルエディタ目視状況 及び ヒアリング状況 となっている修正項目について、 移植要否を全て確定する必要があります。

  1. 作業状況ビューを確認する。

    [Warning]Warning

    作業状況ビュー より、 現在の目視確認 を確認し、目視確認項目が1件存在することを確認してください。

    Figure 1. 目視確認項目の残数確認(残1件)

    目視確認項目の残数確認(残1件)

  2. 目視確認を行う

    jbmファイルエディタ目視確認項目 に対して、 チェックリスト情報ビュー目視確認項目 を確認する。

  3. 目視確認項目の特定。

    目視確認項目は、jbmファイルエディタの列「目視状況」をクリックして、「未」と表示されているものが対象となります。 「未」と表示されている行をクリックし、チェックリスト情報ビューの目視確認内容を確認します。

  4. 目視確認項目を移植不要とする

    [Warning]Warning

    本Hands-onでは、目視確認項目は移植不要とします。jbmファイルエディタの列「目視状況」が「未確認」と表示されている部分にカーソルを合わせ、 右クリックメニューより、「目視確認済み(移植不要)」を選択。

    Figure 2. 目視確認項目に対する移植可否判定

    目視確認項目に対する移植可否判定

  5. jbmファイルのセーブ

    作業後は、Ctrl+Sでセーブしてください。

    [Warning]Warning

    セーブ後は、作業状況ビューを確認し、目視確認状況の残数が0になることを確認します。

    Figure 3. 目視確認項目の残数確認(残0件)

    目視確認項目の残数確認(残0件)



2.1.4.Hands-on-Task4.ヒアリング確認作業


移植規模を算出するためには、 jbmファイルエディタ目視状況 及び ヒアリング状況 となっている修正項目について、 移植要否を全て確定する必要があります。

  1. 作業状況ビューを確認する。

    [Warning]Warning

    作業状況ビュー より、 ヒアリング確認状況 を確認し、ヒアリング確認状況が3件存在することを確認してください。

    Figure 1. ヒアリング確認項目の確認(残3件)

    ヒアリング確認項目の確認(残3件)

  2. ヒアリング確認項目の特定。

    ヒアリング項目は、jbmファイルエディタの列「ヒアリング状況」をクリックして、「未」と表示されているものが対象となります。 「未」と表示されている行をクリックし、チェックリスト情報ビューの目視確認内容を確認します。

  3. ヒアリング確認項目を移植要とする

    [Warning]Warning

    本Hands-onでは、ヒアリング項目は移植要とします。jbmファイルエディタの列「ヒアリング状況」が「未確認」と表示されている部分にカーソルを合わせ、 右クリックメニューより、「ヒアリング確認済み(移植要)」を選択。

    Figure 2. ヒアリング確認項目の移植可否判定

    ヒアリング確認項目の移植可否判定

  4. jbmファイルのセーブ

    作業後は、Ctrl+Sでセーブしてください。

    [Warning]Warning

    セーブ後は、作業状況ビューを確認し、ヒアリング確認状況の残数が0になることを確認します。

    Figure 3. ヒアリング確認項目の確認(残0件)

    ヒアリング確認項目の確認(残0件)



2.1.5.Hands-on-Task5.ライン数の手動算出設定作業


移植規模を算出するためには、 移植項目でjbmファイルエディタの列ステップ数が「TODO:SE 手動算出」となっている項目はすべてステップ数を入力する必要があります。

  1. 作業状況ビューを確認する。

    [Warning]Warning

    作業状況ビュー より、 SE手動算出項目修正状況 を確認し、確認項目が8件存在することを確認してください。

    Figure 1. SE手動算出項目の確認(残8件)

    SE手動算出項目の確認(残8件)

  2. SE手動算出項目の特定。

    SE手動算出項目は、jbmファイルエディタの列「ステップ数」をクリックして、ステップ数が「TODO:SE 手動算出」と表示されているものが対象となります。

  3. SE手動算出項目に対してステップ数を入力する。

    [Warning]Warning

    本デモでは、難易度が高(High)のものは、500を入力し、難易度が中(Middle)は、ステップ数を50を入力してください。すべてのSE手動算出項目に対してステップ数を入力してください。

    Figure 2. SE手動算出項目に対してステップ数を入力。

    SE手動算出項目に対してステップ数を入力。

  4. jbmファイルのセーブ

    作業後は、Ctrl+Sでセーブしてください。

    [Warning]Warning

    セーブ後は、作業状況ビューを確認し、SE手動算出項目修正状況の残数が0になることを確認します。

    Figure 3. SE手動算出項目の確認(残0件)

    This image does not a meaning in the image



2.1.6.Hands-on-Task6.ナレッジベース検索のレポート作成


  1. 作業状況ビューを確認する。

    [Warning]Warning

    作業状況ビュー より、 確認項目作業が完了しました と表示されていることを確認する。

    Figure 1. 作業状況ビューの確認

    作業状況ビューの確認

  2. チェック済みの移植不要項目の削除

    エディタのアクションメニューより「チェック済みの移植不要項目の削除」をクリックする。

    Figure 2. チェック済みの移植不要項目の削除

    チェック済みの移植不要項目の削除

  3. レポート生成ウィザードを起動する。 プロジェクトを右クリックし、以下のメニューを選択する。 tubameナレッジベース検索

    Figure 3. レポート生成ウィザード画面

    レポート生成ウィザード画面

  4. レポートテンプレートを選択及びレポート生成実行。

    [Warning]Warning

    本Hands-onでは「レポートテンプレート」はMVCフレームワークテンプレートを選択し、Finishをクリックしてください。

    Figure 4. レポート生成ウィザードのレポートテンプレート選択画面

    レポート生成ウィザードのレポートテンプレート選択画面

  5. レポート生成完了

    Figure 5. レポート生成完了画面

    レポート生成完了画面



2.2.part2 依存性検索



2.2.1.Hands-on-Task7.移行先環境設定


Eclipseのプリファレンス設定で移行先環境を設定します。

[Warning]Warning

移行先環境は、デフォルトでeap6.2(JBossEAP6.2)、tomcat8(Tomcat8)、springmvc4(springMVC4)が選択可能になっており、デフォルトはeap6.2が有効となっています。 本Hands-onでは、springmvc4を移行先環境とするため、デフォルトで有効になっているeap6.2のチェックを解除し、springmvc4をチェックします。

  1. Eclipseプリファレンス設定の起動

    Figure 1. プリファレンス設定の起動メニュー

    プリファレンス設定の起動メニュー

  2. Eclipseプリファレンス設定

    Figure 2. Eclipseプリファレンス設定画面

    Eclipseプリファレンス設定画面

  3. TUBAMEライブラリ設定の確認

    TUBAME依存性検索ツールライブラリ設定

    Figure 3. TUBAMEライブラリ設定の確認

    TUBAMEライブラリ設定の確認

  4. ライブラリ設定の変更。本Hands-onでは、springmvc4を移行先環境とするため、デフォルトで有効になっているeap6.2のチェックを解除し、springmvc4をチェックします。

    Figure 4. TUBAMEライブラリ設定の変更後画面

    TUBAMEライブラリ設定の変更後画面



2.2.2.Hands-on-Task8.依存性検索を実行


依存性検索を実行します。

  1. 依存性検索ウィザードを起動します。プロジェクトを右クリックし以下を実行します。

    tubame依存性検索ツール

    Figure 1. 依存性検索ウィザードの起動メニュー

    依存性検索ウィザードの起動メニュー


  2. 依存性検索ウィザードでライブラリ設定を確認します。移行先環境ライブラリにspringmvc4が存在することを確認します。

    Figure 2. 依存性検索ウィザードのライブラリ設定(移行先ライブラリ)

    依存性検索ウィザードのライブラリ設定(移行先ライブラリ)

  3. 依存性検索の実行します。依存性検索ウィザードのFinishボタンをクリックします。



2.2.3.Hands-on-Task9.依存性検索結果を確認


依存性検索の実行結果(result.gjbm)ファイルがプロジェクト配下に作成され、ファイル内容が依存性検索結果ビューに上に表示されます。

このビューでは、業務アプリケーションのJava,Jsp,XMLを対象に、移行先環境(本Hands-onの場合はspringmvc4を設定)で利用できない情報をエラーとして表示します。

Figure 1. 依存性検索結果ビュー

依存性検索結果ビュー




2.2.4.Hands-on-Task10.依存性検索のレポート作成


依存性検索のレポートを行うには、依存性検索の結果ファイルであるgjbmファイルが必要となります。

[Warning]Warning

本Hands-onではプロジェクトの直下にgjbmファイル及びナレッジベース検索結果ファイルであるjbmファイルが存在することを確認してください。

  1. レポート生成ウィザードを起動する。 プロジェクトを右クリックし、以下のメニューを選択する。 tubameナレッジベース検索

    Figure 1. レポート生成ウィザード画面

    レポート生成ウィザード画面

  2. レポートテンプレートを選択及びレポート生成実行。

    [Warning]Warning

    本Hands-onでは「レポートテンプレート」はMVCフレームワークテンプレートを選択し、Finishをクリックしてください。

    Figure 2. レポート生成ウィザードのレポートテンプレート選択画面

    レポート生成ウィザードのレポートテンプレート選択画面

  3. レポート生成完了

    Figure 3. レポート生成完了画面

    レポート生成完了画面