ローコード開発の説明はどれか、ノーコードやRPAとの見分け方
基本情報技術者試験 令和7年度 問5 / ソフトウェア › 開発ツール
過去問にチャレンジ
ローコード開発ツールを用いたソフトウェア開発の説明はどれか。
- ア
アプリケーションソフトウェアの開発基盤の上で,用意された部品やテンプレートをGUIを用いた操作で組み合わせたり,必要に応じて一部の処理のソースコードを記述したりすることによって,アプリケーションソフトウェアを作成する。
- イ
アプリケーションソフトウェアの開発基盤の上で,用意された部品やテンプレートをGUIを用いた操作で組み合わせるだけで,ソースコードを記述せずに,アプリケーションソフトウェアを作成する。
- ウ
アプリケーションソフトウェアの定型的な枠組みを参照して,独自の処理のソースコードを記述することによって,アプリケーションソフトウェアを作成する。
- エ
利用者がシステムを利用して行う作業を自動化ツールに代行させるために,利用者によるシステムの操作手順をツールに登録する。
会話形式の解説
講師今回はローコード開発ツールを使った開発の説明を選ぶ問題です。似た手法の説明が並んでいるので、GUIで部品を組み合わせるかどうかと、ソースコードを書くかどうかの2点で整理していきましょう。
受験者GUIで部品を組み合わせる説明が二つあって、迷いました。どちらも開発基盤の上で部品やテンプレートを使う、と書いてあります。
講師そこがこの問題の中心です。二つの説明の違いは、必要に応じて一部の処理のソースコードを書くか、ソースコードを書かずに作るか、という一点だけです。「ロー(low)コード」という名前からどちらだと思いますか。
受験者lowは「少ない」なので、コードを少しだけ書く手法だと思います。そうすると、必要な部分だけコードを書く説明がローコード開発ですね。
講師そのとおりです。用意された部品やテンプレートをGUI操作で組み合わせ、足りない部分はコードで補うのがローコード開発です。GUIは画面上のボタンやアイコンを操作する仕組みのことです。
受験者では、ソースコードを一切書かずにGUIだけで作る説明は、何に当たるのですか。
講師それはノーコード開発です。コードをまったく書かない手法なので、「記述せずに」という部分がローコード開発とは合いません。ローコード開発はコードを追加できる分、ノーコード開発より拡張性や柔軟性が高いのが特徴です。
受験者定型的な枠組みを参照して独自の処理のコードを書く、という説明もコードを書いています。これもローコードに近いのではないかと思いました。
講師コードを書くという点だけを見ると紛らわしいですね。ただ、これはフレームワーク、つまりアプリケーションの決まった枠組みを使う従来型のコード開発の説明です。GUIで部品を組み合わせることが前提になっていないので、ローコード開発とは違います。
受験者なるほど、2点のうちGUIのほうが欠けているわけですね。最後の、利用者の操作手順をツールに登録する説明はどうですか。
講師それはRPA(Robotic Process Automation)の説明です。RPAは人が行っている業務操作をツールに代行させて自動化するもので、アプリケーションソフトウェアを開発する手法ではありません。
受験者整理すると、GUIで組み立てて必要な部分だけコードを書くのがローコード、コードを書かないのがノーコード、GUIなしでコードを書くのがフレームワークを使った開発、操作の自動化がRPAということですね。
講師よくまとまっています。ローコードとノーコードは、コードを書くかどうかで区別すると覚えておくと確実です。補足すると、ローコード開発は開発期間の短縮が期待できる一方で、特定の製品に依存しやすいという注意点もあります。これをベンダーロックインといいます。
まとめ
ローコード開発は、開発基盤の上で用意された部品やテンプレートをGUI操作で組み合わせ、必要な箇所だけソースコードを書いてアプリケーションを作る手法です。コードを一切書かずにGUI操作だけで作るのはノーコード開発で、ローコード開発はコードを追加できる分、拡張性や柔軟性が高くなります。定型的な枠組みを参照して独自のコードを書くのはフレームワークを使う従来型の開発で、GUIでの組み立てを前提にしていません。利用者の操作手順を登録して作業を自動化するのはRPAで、アプリケーションの開発手法ではありません。
解答・解説
正解はアです
この問題のテーマ
ローコード開発ツールを使ったソフトウェア開発の特徴を問う問題です。よく似た手法であるノーコード開発、フレームワークを使ったコード開発、RPAと区別できるかがポイントになります。
解き方の考え方
まず「ロー(low)コード」という名前から、コードを少しだけ書く手法だと押さえます。そのうえで各選択肢を、GUIで部品を組み合わせるかどうかと、ソースコードを書くかどうかの2点で整理します。GUIで部品を組み合わせ、必要な部分だけコードを書く説明を選べば正解にたどり着けます。コードをまったく書かない説明や、アプリケーション開発そのものではない説明は除外します。
選択肢ごとの解説
- ○ア アプリケーションソフトウェアの開発基盤の上で,用意された部品やテンプレートをGUIを用いた操作で組み合わせたり,必要に応じて一部の処理のソースコードを記述したりすることによって,アプリケーションソフトウェアを作成する。用意された部品やテンプレートをGUI操作で組み合わせ、必要に応じて一部の処理だけソースコードを書くという説明です。少ないコード量で開発しつつ、足りない部分はコードで補えるというローコード開発の定義に合っています。
- ×イ アプリケーションソフトウェアの開発基盤の上で,用意された部品やテンプレートをGUIを用いた操作で組み合わせるだけで,ソースコードを記述せずに,アプリケーションソフトウェアを作成する。GUIで組み合わせるだけでソースコードを書かないという説明は、ノーコード開発に当たります。ローコード開発では必要に応じてコードを書くので、「記述せずに」という部分が合いません。
- ×ウ アプリケーションソフトウェアの定型的な枠組みを参照して,独自の処理のソースコードを記述することによって,アプリケーションソフトウェアを作成する。定型的な枠組みを参照して独自の処理のコードを書く方法は、フレームワークを使う従来型のコード開発の説明です。GUIで部品を組み合わせることを前提にしていないので、ローコード開発とは異なります。
- ×エ 利用者がシステムを利用して行う作業を自動化ツールに代行させるために,利用者によるシステムの操作手順をツールに登録する。利用者の操作手順をツールに登録して作業を代行させるという説明は、RPA(Robotic Process Automation)に当たります。RPAの目的は業務操作の自動化であり、アプリケーションソフトウェアを開発する手法ではありません。
補足
アとイは、「必要に応じて一部の処理のソースコードを記述」するか、「ソースコードを記述せずに」作るかの一点だけが違います。こうした文末の違いで正誤を分ける出題はよくあるので、ローコードとノーコードの差をコードを書くかどうかで覚えておくと確実です。なお、ローコード開発は開発期間の短縮が期待できる一方で、特定の製品に依存しやすい(ベンダーロックイン)という注意点もあります。
POINT
- ローコード開発は、GUIで部品やテンプレートを組み合わせ、必要な箇所だけソースコードを書いてアプリケーションを作る手法です。
- ノーコード開発は、コードを一切書かずにGUI操作だけでアプリケーションを作る手法です。
- ローコード開発はコードを追加できるので、ノーコード開発より拡張性や柔軟性が高いです。
- 利用者の操作手順を登録して作業を自動化するのはRPAで、アプリケーションを開発する手法ではありません。
