Help us understand the problem. What is going on with this article?

UiPathのコーディングチェックツールを作ってみた【RPA】

はじめに

RPAの開発者・管理者向けに、UiPathで開発したロボットのソースファイル(xamlファイル)から、コーディング情報を一覧化するツールを作ってみました。

↓ツールへのリンク
UiPath Coding Checker

【動作環境】
  Chrome, Firefox, Edge(IE不可)
【開発】
  html, css, JavaScript, Bootstrap
【使い方】
  画面右上からxamlファイルを選択し、右側の「Check Start」ボタンを押下(複数ファイル対応)

mn917-mrv8d.gif

機能説明

本ツールが表示する情報の一覧は以下です。

タブ 概要 表示内容
Dashboard コーディングサマリ ・xamlファイル数
・アクティビティ総数
・変数総数
・引数総数
・分岐総数
Activity アクティビティ情報一覧    ・アクティビティ別使用数
・アクティビティ名
・表示名
・アノテーション
・スコープ
・スコープID
Variable 変数情報一覧 ・変数名
・型
・アノテーション
・初期値
・スコープ
・スコープID
Argument 引数情報一覧 ・引数名
・方向
・型
・アノテーション
・初期値

開発の背景

UiPathはGUIのドラック&ドロップベースのフローチャート形式でロボットが作れるのが売りなんですが、結構困るのが、開発したソースの情報の一覧化が難しい事です。

UiPathは、使用アクティビティや変数、条件分岐数などを開発画面から1つずつ確認するしかないため、よくあるケースとして、
「プロジェクトで策定した開発標準にロボットが準拠できているかのチェックが大変・・」
「ロボットの改修を依頼されたけれど、このロボットの規模感や処理の複雑さがわからない・・」
といった事があります。

プロジェクトで開発標準を策定し、開発標準準拠のチェックシートを作って開発完了時に開発者に提出してもらうというような事も多いと思いますが、そもそも一つ一つの確認作業が大変な上に、一般のシステムに比べて改修が頻繁に発生するRPAにおいて、このチェックは開発者にとって非常に骨の折れる作業になります。
しかも、管理者目線で見ると、チェックシートはあくまでサインでしかないため、本当に守れているかどうかは定かではありません。後から確認したら「実は守れていなかった」「一部抜けがあった」という事例も少なからずあります。

私が参画したプロジェクトでは、品質担保のために、開発者にチェックシートを提出してもらいつつ、更に管理者が定期的に実際のソースを見て確認するという事を実施しており、開発者・管理者共に非常に負荷が高い状態となっていたため、自動チェックツールの作成に至りました。

自動チェックツールの作成により、開発者が開発途中でも随時・簡単に確認可能になったため開発の手戻りが大幅に減った上に、管理者も一覧のチェックのみで済むようになったため、RPA開発の高速化と品質担保に大きく寄与しました。

また、使用アクティビティ数や変数の数、条件分岐数などから、ロボットの規模感や複雑さなども確認できるため、既存ロボットの改修時の見積もりや、ロボットの統廃合の判断材料としても使用可能になりました。

本ツールは、幅広く使えるように、プロジェクト独自の開発標準準拠のチェックや分析箇所を落とし、汎用的なコーディング情報の一覧化に焦点を当てています。

さいごに

プロジェクト毎の開発標準や分析への対応・改善要望等ありましたらお知らせ下さい。
少しでもUiPathを使用して業務改革に取り組まれている方々の役に立てば幸いです。

<参考>
Qiita記事
RPAは誰でも簡単に作れるという罠
VBAが組める人ならRPAは簡単に作れるという罠
RPAへの理解がぐっと深まる、RPAがよくこける理由
寿司打を自動化してみた【RPA×OCR】
RPAのオススメ書籍
RPAの開発に向いている人、向いていない人
RPAの推進に必須なRPAOpsという考え方
【AI】Deep Metric Learning
【AI】Deep Learning for Image Denoising

デモ
UiPathCodingChecker:UiPathのxamlファイルからコードを分析
AI Demos:DeepLearningによる手書き文字認識・異常検知・画像のデノイズ
寿司打自動化(YouTube):タイピングゲーム寿司打のRPA×OCRでの自動化

jw-automation
業務自動化のコンサル兼アーキテクト。 日々の業務や個人の活動の情報を共有して行きます。
https://jw-automation.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした