

従来のコーディング方式開発では、ある機能を構成する場合にも、先ずはその機能のアルゴリズムから構想し、
開発者が使うプログラム言語、制作プログラムで構成が
できるかを判断し、その次に開発期間とコストに合わせて
プログラムの機能設定と開発範囲を決定してきました。
しかし、‘SmartMaker’でプログラムを制作する場合、
技術的問題とビジネスの利害関係は置いといて、最終
プログラムの効果、価値などプログラム自体に集中することができます。
人類が今まで技術的問題と判断していたソフトウェアの
問題を、‘SmartMaker’が知識の問題に変わりました。
今までは技術的可能性と開発期間、コストなどの問題を、
実用的な価値、適用効果などの問題で接近できるように、
最初に提供しています。
3.担当者が定義した要求に基づいてプログラムを制作するAI基盤の著作ツール
‘SmartMaker’でアプリケーション・プログラムを制作する時、
人が行う雄一の作業が要求定義です。要求定義ツールを利用して
制作したいアプリ・プログラムの画面構成と機能をデザインすると、
作業の結果でプログラムの詳細機能、動作手順、実行条件など、
一つのプログラムを制作する場合に必要な全ての情報、知識が
一つのファイルに含まれます。
この結果物を活用して、‘SmartMaker’内蔵のAI著作エンジンが
実際のプログラム・ロジックを完成します。著作エンジンは結果物を
分析してプログラムの実行に必要なデータベースの構成要素を
抽出します。この構成要素に基づいてデータベースを設計し、
DBテーブルも作成します。続いて結果物に定義された機能を
分析して動作に必要なSQL文と、レガシーシステムと連携機能も
自動で構成して、最終的に実行可能の状態にモデュールを完成し、
個別のファイル(*.QPM 等)に保存します。
4.真の意味のノン・コーディング技術を実現したアプリケーション・プラットフォームを提供
特に、このプラットフォームの革新的な構成要素である
アトム(ATOM)はその性格と動作方式が、今までの
プログラム開発ツールとは完全に違いがあります。
従来の技術は、繰り返すコーディング作業のために
ハードウェア装置をコントロールするか、OSのサービスを
呼び出すことなど、一種のルーチン、単位別の機能を
オブジェクトの形で提供し、開発者はAPIを呼び出すコードを
追加する方式でした。したがって、このようなオブジェクトの
仕様は専門プログラマーだけが使用できる部品であり、
この部品の使用方法もコーディング作業しかありませんでした。
しかし、‘SmartMaker’で提供する‘アトム’は、最初から
一般人の観点から設計されました。プログラムを制作できる
万能部品であるアトムを設計するために、実際にビジネスから
使用されている数多くのアプリケーション・プログラムを調査、
分析し、プログラム画面を構成する単位を全部抽出して
体系的に分類しました。標準部品となる単位の種類を導出し
これらの標準化および汎用化の設計過程を経て、万能部品の
アトムを制作しました。そして、5年間に様々なアプリ開発
プロジェクトに適用し、検証と補完を続けて完成しました。
これらアトムだけを使っても詳細な機能とサービスを構成する
こともできるよになりました。実際にアトムの種類とアトムが
提供しているサービスを学習すると、どんなアプリケーション・
プログラムでも制作できます。
特にアトムは従来の技術とは違い、APIを提供していません。
SmartMakerはコードとコーディングの概念そのままを完全に
除去しましたので、アトムをGUI方式のデザインツールだけで
組み立て、複雑なロジックを含めているプログラムでも、
一行のコーディングなしで、素早く簡単に構成できます。
アトムはその自体が実際に動作するプログラムの要素と
機能ですが、一方、プログラムを制作するための要求を
定義する過程ではデザイン要素としても使われています。
アトムは誰もが見慣れているUIと機能を含んでいます。
このような特性は次世代のSW工学にとっては重要な意味を
持っています。コーディングの知識が全くな一般人が初めに
プログラムに要求を定義する場合にも、見慣れたデザインと
機能のおかげで、拒否感や事前教育の必要性がありません。
自分が制作するプログラムに対する要求定義を素早く簡単に
誰でもできる、真の意味の技術的革新ともいえます。
今のSW業界で最もイッシューとなる問題は利用者の
端末環境が多様化している点です。有線通信基盤の
パソコンと無線通信基盤のモバイルに両分し、また
モバイルはOSによってAndroidとiOSに分けます。
端末の画面サイズと目的によってスマートフォンと
タブレットPCに区分する場合もあります。モバイル
デバイスは同じサイズでも横と縦方向別にアプリの
UI構成と機能も違いがあり、開発方式と運営環境に
よるネイティブ・アプリケーション方式とWeb Appにも
分けます。
したがって、プログラムを制作しサービスする供給者の
立場では、一つのアプリケーションを上記のような
様々な端末の環境と利用者の要求に合わせる必要が
あります。つまり、同じアプリを環境に合わせて制作し
重複したアプリを個別的にメインテナンスします。
制作するプログラムの対象と機能は爆発的に増加して
いますが、限定された期間と費用の中で、人材を
確保することも大事な問題として台頭し始めています。
一方、ロジックと機能を分離したアーキテクチャは、開発の生産性と
プログラムの使用効果を最大化するクロス・プラットフォーム技術を
実現してくれる効果外にも、SW工学技術とSWの社会的役割の地位を
一層高めることもできます。
特に、機能を除去して、全てのプログラムをロジックだけをファイル、
DBデータの形で管理できます。企業、学校、公共機関などの組織
内部で行われる購買、生産、販売、R&Dなどの全てのビジネス活動と
知識、ノウハウを体系的な情報として蓄積でき、蓄積したデータは
いつでも呼び出して実行すると、業務が処理されるデジタル経営体制を
構築できます。それだけではなく、蓄積された知識、ノウハウは簡単に
コピーでき、持続的な改善もできます。
SW工学の技術的側面では、プログラムのモデュールの個数と要領を
大幅に削減でき、少ないインフラ投資だけでも高いパフォーマンスを
発揮することができます。SW業界の立場も、難しいコーディング作業を
代行するだけの単純繰り返し作業から離して、顧客の生産性と競争力の
強化法を研究し、実質的に問題を解決してくれる専門サービス事業までも
発展できます。

その間、SW業界はこのような技術的問題を解決するための
様々な対策が試みられていましたが、一度作成したコードを
他のOSや開発環境にも適用する技術、既に制作された
モデュールを他の環境で実行するエミュレータの開発作業
だけでした。どんな対策も実用化まではできませんでした。
Java、C、Java Script、Pythonなどのプログラム言語レベルの
互換性問題は、コーディングの技術的構造のせいで、多分
永遠に解決できない課題に残る可能性が多いです。
しかし、‘SmartMaker’は前述のようにプログラム言語とは
全く違うアーキテクチャを採択しています。プログラムの基本
構造をロジックと機能に分けて、全ての利用者に対応できる
One Program Multiy Usingというクロス・プラットフォーム
技術をサポートしています。
実際に一つのアプリケーション・プログラムの‘ロジック’は、
どんなOSとデバイスとしても同じでなければなりません。
しかし‘機能’は、各OSトデバイスに従い、違いがあるべきです。
これにより、‘SmartMaker’は万能部品であるアトムと汎用
実行エンジンを各OS別に開発して、Windows用、Android用、iOS用、Web Browser用をおのおの提供しています。
これらプラットフォームは開発環境と内部構造、動作方式も
違いがありますが、利用者が扱うUI&UX機能とデータの
入・出力と演算処理、通信ネットワークなどと関連した機能は
全く同じです。
したがって、別途に分離されたプログラム・ロジックを、この
プラットフォームの内部実行エンジンに投入すると、何の補完作業も、変換過程もせずに完璧に動作します。もちろん、実行エンジンは同じOSであれば、様々な種類の端末デバイスも
自動認識して最適の実行環境を構築するレスポンシブ技術を
プラットフォームに採択し、真の意味のクロス・プラットフォーム技術を実現しています。



