製品紹介

AiSee ソフトウェア開発AIクラウドサービス

AiSee とは

 AiSeeは日本語や他の自然言語で書かれた仕様書や業務ロジックを解析理解し、AIが実行モジュールを自動生成する新しいソフトウェア
開発システムです。従来の開発手法とは異なり、プログラム言語を使わず、自然言語で業務の流れやアルゴリズムを解析し、既知の部品に
適合させながら、システム機能に組み込むことで、アプリケーションを開発することができます。

 業務ロジック処理を日本語で表現する際、固定された記述規則はなく、自由な文法の日本語で仕様を記述できます。そのため、コードの
文法エラーやスペルミスなどのチェックが不要です。また、業務処理流れやアルゴリズムの記述能力は非常に高く、ほとんどの業務ロジック
を自在に記述し、そのまま直ぐ実行可能です。

 さらに、様々な開発技法や経験を活かしたフレームワークや機能豊富な部品を利用できるため、業務システムを迅速に組み込むことができ、
開発時間を短縮できます。

 AiSeeは、従来のソースコードジェネレーターとは異なり、直接実行モジュールを生成できるため、プログラミング言語のソースコードを
生成する必要がほとんどありません。そのため、プログラミング言語の知識がなくても利用できます。これにより、コンピュータ言語を学習
する必要がなくなり、ソフトウェア開発の過程に存在する多くの問題、たとえばコスト高や人材不足などを解決する新しいソリューション
となっています。


AiSee の構成技術

1 斬新な脱ジェネレーター型:非コード生成方式の採用
コンピュータ言語のコードを生成せず、生成されたコードを修正や改造する際に必要なコードの理解を不要にします。
2 MVCモデルを基準としたアプリ構築システム
構築されたアプリは、UI(ビュー)、ロジカルな処理(モデル)、それらを制御する部分(コントローラ)の3つのモジュールに自然に分離されます。
3 処理とデータ・ストラクチャーの疎隔仕組
ロジカル処理がデータ構造との関連を最大限に疎隔することで、ロジカル処理がデータ構造の変更により影響を受けにくくなり、処理の再利用性を高めます。
4 データ構造の制御ルール生成機能
データのアクセス、保護、検証などをより汎用的かつ効率的に行うためのデータルールを生成する機能を提供します。


AiSeeIDE とは

 AiSeeIDEは、すべてAiSeeカーネルエンジンによって開発されたソフトウェア開発環境です。開発者はコンピュータ言語のコードを一切書く
必要がなく、代わりに日本語で全ての仕様や処理ロジックを記述し、AiSeeエンジンがそれを解析して適切な実行モジュールを生成します。
これにより、一般的なIDE(例: Eclipse、NetBeansなど)と同等の機能を備えた新しいソフトウェア開発環境を構築することができました。


AiSeeIDEには、以下の特徴があります。
  • 1 .プログラム言語不要: 伝統的なソフトウェア開発方式とは異なり、プログラム言語の使用が必要ありません。
  • 2 .自然言語の利用: 任意の自然言語を用いて業務ロジックや処理流れを記述できます。シナリオやデータフローにより一意性が保たれます。
       AiSeeで作成されたシナリオを直接実行でき。プログラミングやコード生成等を行いません。
  • 3 .使いやすいユーザーインターフェース: 初心者から上級者まで幅広いユーザーに対応する使いやすいユーザーインターフェースを提供し、
       効率的な開発作業を支援します。
  • 4 .アプリケーションの迅速な構築: AiSeeIDEは豊富な部品やフレームワークを提供するため、アプリケーションの構築を迅速に行えます。
  • 5 .汎用なデータ構造モデル: 汎用なデータ構造モデルや構成ルール及びアクセス方法を提供します。
  • 6 .MVCモデルに基づく開発: MVC(Model View Control)モデルに基づき、開発が容易です。
  • 7 .外部インタフェースの強力さ: 強力な外部インタフェースを提供し、JavaのクラスメソッドやC言語関数のコール機能により、
  •    現存システムとの間で処理の相互参照やデータ共有が可能です。
  • 8. 中間コードの利用: AiSeeの実行コードは中間コードであるため、移植が簡単になります。
  • 9. 自動テスト機能: フローチャートやシナリオを基にしたテストケースの自動生成や実行が可能であり、品質を確保するためのテストを
       効率的に実施できます。
  • 10.バージョン管理: 開発中のアプリケーションのバージョン管理を行い、過去の状態に簡単に戻ることができます。
  • 11.柔軟性と拡張性: カスタマイズ可能な部品やフレームワークを提供し、異なるビジネスニーズに対応する柔軟性と拡張性を持っています。
  • 12.モジュール化されたアーキテクチャ: モジュール化されたアーキテクチャにより、アプリケーションの機能を簡単に追加・変更できます。
  • 13.ローカライゼーション対応: アプリケーションのローカライズや国際化に対応し、異なる言語や地域のユーザーに適切なサポートを提供
       します。
  • 14.リアルタイムデバッグ: アプリケーションの開発中にリアルタイムでデバッグを行い、問題の特定と修正を容易にします。
  • 15.データのセキュリティと暗号化: データのセキュリティを確保するために、暗号化やアクセス制御を実施します。
  • 16.複数プラットフォーム対応: AiSeeIDEは複数のプラットフォームに対応しており、異なる環境でのアプリケーション開発を可能にします。
  • 17.統合された開発環境: 開発、テスト、デプロイメントなどのプロセスを一元化し、開発チームの効率を向上させます。
  • 18.AIおよび機械学習の統合: AIや機械学習モデルを組み込み、アプリケーションの機能向上や予測分析を行います。
  • 19.複数のデータ形式のサポート: 様々なデータ形式やプロトコルに対応し、データの統合と相互運用性を向上させます。
  • 20.ワークフロー管理: ビジネスプロセスやワークフローを設計、実行、管理するためのツールや機能を提供します。
  • 21.テンプレートとサンプルコード: アプリケーション開発を支援するためのテンプレートやサンプルコードを提供します。
  • 22.タスクの自動化: 繰り返しのタスクやルーチンワークを自動化し、生産性を向上させます。
  • 23.透過的なデータ暗号化: データベースやファイルシステムなどのデータを透過的に暗号化し、セキュリティを強化します。
  • 24.外部APIの統合: 外部のサービスやシステムとの連携を容易にするための外部APIの統合機能を提供します。
  • 25.アプリケーションのエラーログ: アプリケーションの動作やエラーに関するログを収集し、トラブルシューティングや解析を支援します。
  • 26.テスト環境の自動構築: テスト用の環境を自動的に構築し、開発プロセスを迅速化し、テストの効率性を向上させます。
  • 27.ユーザーのアクションログ: ユーザーがアプリケーション内で実行したアクションや操作を記録し、分析やトラブルシューティングに
       活用します。
  • 28.プロセスの自動化とフロー: ルーチンワークやプロセスを自動化し、効率的な業務フローを構築します。
  • 29.セキュリティ機能: データの機密性と安全性を保護するためのセキュリティ機能を提供し、不正アクセスやデータ漏洩を防ぎます。
  • 30.データのインポートとエクスポート: 外部からのデータのインポートや、システムからのデータのエクスポートを容易にします。
  • 31.ワークフローの承認とルーティング: ビジネスプロセスの承認フローを設計し、適切なユーザーにタスクをルーティングします。
  • 32.ユーザーのトレーニングと教育プログラム: システムの利用方法やベストプラクティスに関するトレーニングや教育プログラムを提供し
       ます。
  • 33.ワークフローの自動化とタスクの割り当て: ワークフローを自動化し、タスクを適切な担当者に割り当てて効率化します。
  • 34.アプリケーションの更新とメンテナンス: アプリケーションの定期的な更新とメンテナンスを行い、安定性とセキュリティを確保します。
  • 35.ユーザーの認証とアクセス制御: ユーザーの認証を行い、アクセス権を制御してセキュリティを強化します。

AiSeeIDEの構成は以下の通りです:

  • プロジェクト:アプリケーションの単位として、1対1の関係を持ちます。

  • 画面解析制御:画面の解析と制御を行い、アプリケーションのUI部分を管理します。

  • データモデル:アプリケーションで使用されるデータのモデルを定義し、管理します。

  • シナリオ及びデータリンク:アプリケーションの処理シナリオやデータ関連を管理し、実行フローを設計します。

  • イベント・アクター:アプリケーションで発生するイベントを管理し、それに対する処理を定義します。

  • メニュー・アクター:アプリケーションのメニュー構造を管理し、ユーザーの操作を制御します。

  • ライブラリ:再利用可能なコードや機能のライブラリを管理し、効率的な開発を支援します。

  • ルール管理:データのアクセスや処理のルールを管理し、データの整合性やセキュリティを確保します。

基本操作

  • シナリオ・データリンク
  • シナリオ作成:業務ロジックや処理流れの定義を行います。
    データリンク定義:データの流れや処理の定義を行います。
    外観は異なりますが、同じ目的を果たします。

  • イベント・メニュー定義
  • イベントの指定: マウスクリックやファンクションキーなどの操作イベントを指定します。
    アクターの指定: 遷移元画面や遷移先画面、処理シナリオの割当を指定します。
    メニュー定義: メニュー項目や処理シナリオの割当を定義します。
    画面の部品を使用する操作イベントを指定します。

  • データモデル定義
  • データモデル定義: データの格納構造を定義します。
    ルール定義: データへのアクセス方法を定義します。
    必要に応じて、アプリケーションのデータを格納するためのデータモデルを作成します。

シナリオ・データリンクとは

業務ロジックや処理の流れを記述し、フローチャートを作成する機能を持つ、実行可能なモジュールです。
主な種類は、下記のように示される。
1 データリンク実行
2 関数呼出(常用・外部)
3 代入ステートメント(GUI)
4 ループ記述(GUI)
5 パターンマッチ(分岐強化)



GUIシナリオデザイナー

 AiSeeIDEでは、シナリオ及びデータリンクを作成するために、GUIシナリオデザイナーを導入しています。
このGUIシナリオデザイナーは、主に図形で処理の流れを表現するため、非常に分かりやすくなっています。
通常のプログラミング言語とは異なり、文法や言語ルールが少なく、視覚的な要素が強調されています。

 開発者は、コードの記述に集中するのではなく、図形を操作することによって処理シナリオやアルゴリズムを
作成することができます。これにより、複雑な処理の流れや機能の階層などを直感的に表現し、アプリケーション
の開発プロセスが効率化されます。




データリンクマネージャ



 シナリオデザイナーも同様に、処理の流れや業務ロジックを記述するために主に使用されます。循環や分岐
などの構造を表現し、プロセスの複雑な流れを分かりやすく示すことができます。記述に特別なルールや制限
はなく、自然な日本語等での説明が推奨されます。

通常、シナリオは上方から下方に実行される方向を持ちます。




AiSeeと通常の開発方式の比較

AiSee開発方式 プログラム言語開発方式
コストパフォーマンス 設計フェーズ 詳細設計段階で、AiSeeIDEの上で、自然言語により仕様や機能を記述できる。フローチャート機能でアルゴリズムを記述できる。さらに、データモデル機能でデータの構造や種類(型)などを記述できる。さらにそのまま、実行可能なので、とても効率的である。 ワード・エクセルなどを使って、仕様書の作成や修正を行う場合、あまり効率が良くない。有償な設計ツールを使用する場合でも、コーディングと一体化にならないので、二度手間になる。整合性を取るコストが高くなる
製造フェーズ 設計でき次第、変数やパラメータを正しく指定すれば、即実行できることにより、作業速度が劇的に早くなる。作業期間が短縮できる。製造物は、ほぼ設計者が意図したものとなる。手戻りが非常に少ない。 プログラミング言語を利用しながら、コーディングを行う作業は、周知の通り、膨大のコストを発生する。しかも、しばしば設計者の意図とは反した作業を進行してしまう。
テスト
フェーズ
自動テスト・シナリオを比較的に簡単作成可能なので、テストや再テストの工数増加を抑制できる。(テストシナリオの自動生成機能が作成中である) 単体テスト・結合テスト作業量が膨大である。手戻りが発生した度に、テストをやり直すのが、非常に苦痛である。テスト工数が無駄に掛かる。
プログラム
構成
AiSeeIDEは積み木方式により、作成されたシステムの構成が比較的に単純であり、統一性が高い。データ・インターフェースも洗練されている。 プログラム言語は、機能が非常に豊富で、自由度が高いため、作成者の経験や好みによって、システム構成やデータ構造やインタフェースなどが異なり、複雑になりやすい傾向である。
カスタマイズ 構成の単純なシステムへの機能追加がし易くなる。また、製造コストが、低いため、カスタマイズの工数が抑えやすい、期間が短縮しやすい。 構成の自由度高いシステムへ機能追加しにくいのが容易に想像できる。製造コストが高いため、カスタマイズの工数も高いはずである。期間も長くなる。

AiSee開発方式 プログラム言語開発方式
機能性能品質及び保守 機能 ISeeIDEから提供された機能豊富なフレームワークや部品を使えることにより、総合的に、機能が維持されやすい 納期やコストや技術者技能の関係で、必ずしも、システムの構成及び各部品についての実現が常に機能的とは限らない
性能 提供されるたより洗練されたフレームワークや部品であるため、性能も基本的に高いはず。それらを使用したアプリもトータル的な性能が高いと言える。 設計や製造の各開発フェーズに置いて、設計者や開発者の個人差に左右される。かけた工数に比例していく。
信頼性 統一した手法で、システムの開発を行えるため、品質の高いフレームワークや部品を使用することで、アプリ全体の信頼性が高くなる。 技術者の個人差が直接システムの開発に反映されるので、開発手法が統一されているとは、限らない。システムの各部分が均等な品質であると言い難い
障害発生率
バラツキ
AiSeeシステムにより、統一したフレームワークや部品を利用するため、障害発生率のバラツキが非常に低い。対応し易い 技術者の経験能力や期間の余裕により、障害発生率のばらつきが大きい。修正する工数が高い
効率性 言語を利用せず、積み木方式で作業手順が簡単で、出来上がったシステムの構成もシンプルなので、再利用性の高いサブ機能や洗練された部品を利用すれば、開発の期間が短縮され、開発効率が通常の数倍迄に高くなる 言語を利用した多くのアプリ開発に置いて、作業の手順が、煩雑であり、プログラム構造が複雑であり、部品の再利用性が低い、作成期間が長い等などの理由で、計画通りに行かず、開発が遅れ、納期の遅延が発生しやすい。開発効率が、非常に低いと言える
保守性 構成がシンプルで、使用された部品が統一されやすい、保守が比較的にし易い、保守コストも自然と低くなる 保守人員の技能を要求される。保守人員は開発人員と必ずしも一致でないため、成果物の理解が必要となる。成果物の完成度により、理解やカスタマイズのコストが、大きく変化する。
移植性 AiSeeシステムは、Java方式と同じ、OSや言語毎のヴァーチャルエンジンさえを用意されれば、AiSeeアプリがそのまま移植できる 言語で開発されたアプリの大半が、OSや環境などの原因で、移植が困難である
互換性 AiSeeシステムは、提供されたAPIで、他のシステムとの連携が可能である。また、他言語の関数やメソッドを実行することで、データや処理の互換が可能となる 個々の設計開発方針によるものである

AiSee開発方式 プログラム言語開発方式
人材及び教育 開発技術の要求 完全なGUI環境で、自然言語により仕様や機能を記述できる。業務の流れをフローチャート機能により記述できるなら、開発できる。ISeeが技術者に対して、寛容である 特に詳細設計やプログラミング設計フェーズで、設計者のプログラミング言語知識によって、設計物の品質が大きく左右される。プログラミング工程では、技術者のプログラミング言語のスキルに対する要求が高いのが当然である。
学習の難易度 AiSeeは、GUIにより、操作が限られている。非常に学習しやすい。プログラミング言語の学習が基本的に不要である。操作なら、2~5日でマスターできる。 プログラミング言語の学習が難しい、経験にもよるが、使いこなすのが2,3月以上の時間掛かる。
開発言語や
環境の対応
AiSeeは、Javaで開発しており、比較的に様々なOSや環境に移植しやすい。OSや環境が変わっても、使い方が変わらないので、再学習する必要がなくなる。 プロジェクトに使用する言語が新言語や環境に変わる度、学習が必要となる。言語が似ても、環境が変われば、慣れが必要となる場合がある。
開発の知識や
経験の継承
AiSee及びIDEは常に進化している。その都度、フレームワークや部品が追加される。古い部品も改善される。自然と知識や経験が蓄積及び継承されやすい。 プログラミング言語や環境もアップデートしているが、技術者の能力や経験によって、難易度の高いものが短期間に吸収しにくい、知識の継承が遅くなる。


・先進な入力方法を導入する。
タッチパネル、音声入力、視線入力センサー、脳波センサーなど入力装置を導入する。