製品紹介

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

AiSee とは

AiSeeは、日本語等自然言語により、記述された業務ロジックの文章を解析しながら、意味を理解し、既知の機能と適合させることで、ソフト開発を行える斬新なシステムである。
 通常のソフトウェア開発方式と違いプログラム言語を使用せずに、
任意の自然言語でシナリオと処理流れを表すフローチャートを用いることで、
アプリケーションの開発できるようなシステムを目標としている。

 業務ロジック処理をフローチャートで表現する場合に各チャート部品(節点)にどんな言語でも自由に文法の決まりの無いの自然言語で説明を記述できる。
 そのため、文法エラーやスペルミスなど指摘される心配なく、記述したままに実行可能。
 さらに、フローチャートの表現能力は非常に高いため、
大抵の業務ロジックを自由自在に記述でき、記述した内容はそのままを実行可能となる。
 また、提供された様々の開発技法と豊富な経験を生かしたフレームワークや 洗練された機能豊富な部品を利用できるので、アプリケーションに必要とする機能を構築できるので、時間の短縮に役に立つ。

AiSeeは、ソースコードジェネレーターとは、別物である。 基本的に、プログラミング言語のソースコードを生成する必要がありません。 開発作業から、プログラミング言語のソースコードが無くすことで済むなら、 ソフトウェア開発に置ける様々の弊害や問題を解決できる一つのソリューションである。

AiSee の構成技術

1 斬新な脱ジェネレーター型
非コード生成方式を採用

コードを生成すれば、修正や改造に迫れると必ずコードの理解が必要となる。
2 MVCモデルを基準としたアプリ構築システム
構築されたアプリが自然にUI(ビュー)とロジカルな処理(モデル)、それらを制御する部分(コントローラ)の3つモジュールに分離される
3 処理とデータ・ストラクチャーの疎隔仕組
同様に、ロジカル処理が処理されるデータ構成との関連を最大限に疎隔することにより、ロジカル処理が、データ構造の変更により強くなる。処理の再利用性を高めることがしやすくなる
4 データ構造の制御ルール生成機能
データのアクセスや保正や検証をより汎用的かつ効率的に行うためのデータルールを生成する機能である


AiSeeIDE とは

AiSeeIDEは AiSeeを利用したアプリケーションの開発環境である。
以下の特徴が挙げられる。
  • 伝統的なソフトウェア開発方式とは異なり、プログラム言語の使用を必要としない
  • 任意の自然言語を用い、業務ロジック処理を記述できる。フローチャートやシナリオにより一意性が保たれる。
  • AiSeeで作成されたフローチャットやシナリオを直接実行できる。プログラミングやコード生成等を行わない
  • GUIインタフェースにより、ユーザーにやさしい、分り易い
  • 豊富な部品やフレームワークにより、アプリケーションの構築を迅速に行える
  • 汎用なデータ構造モデルや構成ルール及びアクセス方法を提供する
  • MVC(Model View Control)モデルに基づき、開発し易い
  • 強力な外部インタフェースを提供する。
    JavaのクラスメソッドやC言語関数(JNIより)のコール機能により、現存システムとの間、処理の相互参照やデータ共有を可能となる。
  • AiSeeの実行コードは、中間コードであるため、移植が簡単になる。

AiSeeIDEの構成

  • プロジェクト
  • プロジェクトは、アプリケーションの単位として、1対1の関係となる

  • 画面解析制御

  • データモデル

  • シナリオ及びデータリンク

  • イベント・アクター

  • メニュー・アクター

  • ライブラリ

  • ルール管理

基本操作

  • シナリオ・データリンク
  • シナリオ作成:フローチャートや処理流れ定義
    データリンク定義:データの流れ及び処理定義
    見え方が異なるが、同じ役割である

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

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

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

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


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

AiSee IDEでは、シナリオの作成ができる
GUIシナリオデザイナーを導入しています。
GUIシナリオシナリオデザイナーは、
GUIフローチャットとなり、複雑な処理の流れや機能の階層などを、表現できる。非常に分り易い

・シナリオ導入のメリット

AiSeeシナリオは、一般的なプログラミング言語と違い、文法や言語ルールが少なく、
主に図形で処理の流れを表現しますので、非常に分かりやすい。
アプリケーションの開発が、より直感的に行えます。




データリンクマネージャ



シナリオデザイナーと同じ役割が行えるが、主に処理の意味や説明を記述するために使用される。

処理の流れに必要とする循環や分岐などの構造を表現できる。

記述表記については、特別ルールや制限や決まりがない為、自然言語での分り易い記述がお勧めである。

上方から下方へは、実行方向となる。




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は常に進化している。その都度、フレームワークや部品が追加される。古い部品も改善される。自然と知識や経験が蓄積及び継承されやすい。 プログラミング言語や環境もアップデートしているが、技術者の能力や経験によって、難易度の高いものが短期間に吸収しにくい、知識の継承が遅くなる。


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