SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

トップエスイーからのアウトカム ~ ソフトウェア工学の現場から

SPAの保守開発を効率化――画面遷移理解を支援する

トップエスイーからのアウトカム ~ ソフトウェア工学の現場から 第15回

  • X ポスト
  • このエントリーをはてなブックマークに追加

画面遷移理解支援ツール

 画面遷移理解支援プロセスを支援するために開発中の、画面遷移理解支援ツールを紹介します。ツールの主な特徴は2つあり、1つ目は「ソースコードを入力として、可視化図を自動生成」すること、2つ目は「ユーザーインタラクティブに可視化図を強調表示」することです。

 ツールの構成を図8に示します。ツールはElectronアプリとして開発中です。Electronとは、JavaScript、HTML、CSSといった一般的なWeb技術を用いて、クロスプラットフォームなデスクトップアプリを作成できるOSSのフレームワークのことです。

図8 画面遷移理解支援ツール
図8 画面遷移理解支援ツール

 ツールにソースコードを入力すると、EsprimaというOSSのJavaScriptパーサを利用してソースコードを解析し、PlantUMLやGraphVizといったOSSの可視化ツールを利用して可視化図を作成します。この際、ユーザーの指示に応じて可視化図を作り変えます。可視化図として画面遷移図を想定しており、これをUMLのステートマシン図で作成します。なお、入力するソースコードが利用しているSPAフレームワークはAngularとします。

画面遷移理解支援プロセスの評価と今後

 画面遷移理解支援ツールは正常系に関して一通り開発が完了しており、提案した画面遷移理解支援プロセスの有効性を確認するために、予備評価を行いました。ユースケースとして、自作の小規模なSPA(Angular利用、21ファイル、358Steps)の「国内線航空機予約画面」から「国内線航空機新規予約画面」への画面遷移を削除・修正する際に、修正すべきソースファイルを特定し、また画面遷移を削除・修正した場合に影響が波及する画面を特定したい、というケースを考えてみました。結果を表1に示します。

表1 予備評価結果
表1 予備評価結果

 ツール未使用時と使用時それぞれで作業時間を計測したところ、ご覧の通りユースケース実現までの時間を74%削減でき、有効性を確認できました。なお、ここでツール使用時は1回目を想定しているので、#2の仕様と設計の画面関係理解(b)では、未使用時と同じ32分の時間がかかっています。しかし2回目以降は、1回目ですでにツール内での仕様と設計の画面のひも付けが完了しているので、時間は0分となり、効果はさらに高くなります。

 評価を行い、画面遷移理解支援ツールで自動生成した設計の画面遷移図には、少々煩雑でユーザーが見づらいと思える部分があることが分かりました。このような見づらさは、例えばソース規模に応じて不要な部分は簡略化するといったアプローチで改善を図り、ツールの訴求力を向上させた上で、将来的にはツールをオープンにしたいと考えています。

トップエスイーについて

 「トップエスイー」は、国立情報学研究所で実施している、社会人エンジニア向けのソフトウェア工学に関する教育プログラムです。トップエスイーでは講義や制作課題を通して、最先端の研究成果や現場で得られた知見が蓄積されてきました。その「アウトカム」、つまり成果やそこに至る過程を紹介し、現場のエンジニアの方々に活用いただける記事を連載しています。2017年度より、講義を中心に受講し後半にまとめとして「ソフトウェア開発実践演習」を行う「トップエスイーコース」と、指導教員と1対1で受講生が抱える現場の問題を解決する「アドバンストップエスイーコース」の2コースとなりました。今回の成果は「ソフトウェア開発実践演習」におけるものです。この演習科目では講師が提示した課題に取り組むだけでなく、受講生が課題を設定して進めることも可能で、画面遷移理解支援ツールについての取り組みは筆者が自ら考えて実践した課題でした。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
トップエスイーからのアウトカム ~ ソフトウェア工学の現場から連載記事一覧

もっと読む

この記事の著者

是木 玄太(株式会社日立製作所)(コレキ ゲンタ)

 日立製作所 研究開発グループ所属。トップエスイー第12期生(2017年度)。Webアプリやモバイルアプリの開発に特に関心あり。ドメインや端末(PC、iOS、Android)等に応じて、クライアント側だけでなくサーバー側(DB含む)も含めた最適なアーキテクチャや、既存のものに縛られない時に斬新な開発...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11360 2019/02/12 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング