株式会社アルメックス

BUILT WITH Qt

ALMEX_horizontal_basic_tr

株式会社アルメックス

1966年設立。医療機関、ホテル、飲食店、ゴルフ場、アミューズメント施設などで活用する、自動精算機(KIOSK)やセルフチェックイン機、フロント管理システム、顧客管理システム、売上管理システム、受付・案内表示システム、映像配信システム(コンテンツサービス)等を開発・販売する。業務オペレーションの効率化や施設利用者の利便性をサポートするトータルソリューションの製品・サービスを、最先端の技術で提供。その多くの領域で市場シェアトップの地位を築いている。 

Qt ソリューションハイライト

開発言語を統一することで人材リソースを最適配置

新人エンジニアが開発可能になるまでの時間を数ヶ月から3週間に短縮

QMLを活用し画面デザインを効率よく短期間でブラッシュアップ

QMLを用いることで僅かな時間でカスタマイズに対応

テストに多くの時間を充てることで品質の維持・向上を実現

Almex - mynatouch

開発言語が乱立し属人化が発生人材リソースの最適配置が課題に 

患者の医療情報を有効に活用し、安心・安全でより良い医療提供を行うための医療DXの基盤となる「オンライン資格確認」の導入が20234月から原則義務化されたが、その準備段階で、アルメックスは顔認証付きカードリーダーの開発に参入し、「Sma-pa マイナタッチ」(以下、マイナタッチ)を開発。メディアなどで度々取り上げられ、大きな話題となっている。マイナタッチは、マイナンバーカードの顔写真データと本機で撮影した本人の顔写真とを照合して本人確認を高精度で行う顔認証機能のほか、紙の公費医療券や各種保険証の読み取りと画像データの保存、8インチの大画面、2.5D赤外線カメラによるなりすまし防止など、他社製品に比べて数多くの優位性を持つ注目のモデルだ。  

マイナタッチの開発プロジェクトリーダで、アルメックス 常務執行役員CTO R&D本部 本部長 井上 晋氏は、開発のポイントについて次のように語る。「特に重視したのは、OCR読み取りを高精度にすることと、顔認証を迅速かつ高確度に行えること、高齢者にも見やすく分かりやすい画面設計にすることの3つでした。マイナンバーカードは複雑な模様の下地に細字の明朝体で文字が表記されており、券面を正確に読み取るには高度な技術が必要です。弊社はAIを使った独自のOCRエンジンを開発しました。幾度もチューニングを重ね最適化を行った結果、マイナタッチのエラー率は数%程度に収まり、より優れた読み取り精度とスピードを実現できるようになりました」 

AIOCRエンジン、顔認証エンジンをハイスピードで動かすために、アルメックスではOSDebian Linuxを選択。そのDebianをベースに各種機能を効率的に開発するため優先したのが開発環境の統一化だったという。「弊社は50年以上数多くのシステムを開発してきましたが、その過程で社内に開発言語が乱立し、近年では製品ごとに言語が異なるほどの状況になっていました」と井上氏は振り返る。開発言語が無秩序に増えたことで属人化が進み、人材リソースの最適配置ができなくなるなどの課題に直面していたという。「開発効率を上げるためには開発環境のモダン化とリファクタリング(整理)が必要でした。そこで、マイナタッチのUI・UX開発にQtを活用し、徐々に使用する言語を統一しようと考えたのです」(井上氏)

1-1-1

マルチプラットフォーム対応の柔軟性とタスク分散化による開発の迅速化を評価 

マイナタッチのUI・UX開発にQtを採用した理由は主に3つあったという。第1はマルチデバイス・マルチプラットフォームに対応した柔軟性である。Qtは単独のソースコードでWindowsはもちろんLinuxの組み込み系デバイスなど様々なプラットフォーム上で稼働するアプリケーション開発が可能な点に優位性があった。また、マイナタッチはARMプロセッサを採用しているためARMにも対応するQtが望ましかったという。

2はタスク分散化による開発の迅速化だ。QML(Qt Modeling Language)でフロントエンドのUI・UXを、C++でバックエンドを、Go言語でビジネスロジックを開発するなど、3方面が同時並行で共同作業しながら進めることで開発速度を高めることが期待できた。また同時に開発環境をQtに集約することでアーキテクチャをドキュメントに残し属人化を防ぐことも目指した。 

3はマイナタッチとの相性の良さ。マイナタッチの顔認証機能はC++で開発されているため、C++と相性の良いQtを利用するのが最も効率的だと考えた。また、Qtはグラフィックの描画速度や画面切り替えのレスポンスが優れるほか、OpenGL(Open Graphics Library)に対応し、レンダリングのスピードが圧倒的に速い点も高く評価したという。 

マイナタッチのUI・UX開発にQtを活用。UIを作成する ための宣言型言語QMLを活用し、僅かな時間でカスタ イマイズに対応

QMLの活用で効率的に短期間でのブラッシュアップを実現 

マイナタッチは20213月から提供が開始され、全国の病院、診療所、薬局などで活用されている。「マイナタッチ開発においてQtを活用したメリットは数多くあります」と話す井上氏は主に次の4つの効果を挙げる。1つ目は、学習時間の短縮。Qtは全ての機能を把握しなくてもQMLの基本部分だけ学習すればアプリを開発できるのが特徴だ。以前は新人エンジニアが開発に参加できるようになるまで数ヶ月~数年かかっていたが、Qt導入後は早ければ3週間ほどで開発できるようになったという。 

2つ目は、開発コストと時間の削減。マイナタッチの初期モデルの画面デザインは、現行機種と全く異なるものだった。様々な要求に応じる過程でデザイン変更を繰り返したが、ボタンの配置、大きさ、デザイン、画像などもQMLによって全て効率よく短期間でのブラッシュアップが可能になった。Qtでローコスト開発が可能と証明されたため、今後はデザイナーにもQMLを活用してもらい更なる効率化を目指すという。 

2-1-1

3つ目は、開発効率とメンテナンス性の向上。同社には多言語で開発され20数年にわたりメンテナンスをしているシステムが複数ある。そのため、高機能なフレームワークによりソースコードの行数を減らして可読性を向上させるとともに、フレームワークのメジャーバージョンアップにおいてマイグレーションのコストを低減させることも重要だった。Qtでは、QMLを用いることによってUI部のソースコード行数を抑えることができるため、改修箇所の特定が容易になり、僅かな時間でマイナタッチのカスタマイズが完了できるようになった。また、近年のQtはマイグレーションがしやすくなっているため、将来的に次機種の開発でQtのメジャーバージョンアップを行うことになっても不安はないという。 

4つ目は、高い開発品質の実現。マイナタッチは数万台規模で出荷されており、開発工数よりテスト時間が数倍多くなっている。Qtを活用することでテストにより多くの時間を充てられるようになり、品質の維持・向上が可能になった。また、Qtによる開発ではほとんどエラーが出ないことも大きなメリットだという。

desktop imagery

Qtに興味を抱く若い技術者へのモチベーションアップになることを期待 

今後アルメックスではマイナタッチに加えてこれから出てくる新しいKIOSK端末や新製品のUI・UX開発にも全てQtを活用し、開発環境の統一化をさらに進めて開発リソースの最適化と有効活用を目指す考えだ。 

井上氏は「Qtのおかげでプログラミングに対する抵抗感が少なくなり、すぐに実際の製品開発に関われるようになるため、開発に面白さを感じるエンジニアが増えた印象です。今回のマイナタッチ開発においてQtが使われた事例が、既存のQtエンジニアやQtに興味を抱く若い技術者への新たな動機付けやモチベーションアップにつながってくれることを強く期待しています」と語る。マイナタッチの成功と社会への貢献をマイルストーンに、今後も果敢に新市場領域の開拓や革新的なシステムの研究・開発に取り組むアルメックスを、QtQt Groupも共に進化しながら支え続けていく。

良いアイディアを現実のものにするお手伝いをします。

お気軽にご連絡ください。

 

お問い合わせ