前回、会社をつくる(その5)ではアイデンティティ・エントリーシステム(IES)のレベル分けとロードマップについてお話ししましたが、今回は製品のひな形設計についての盛り込む機能等を開発手法を交えながら確認していきたいと思います。
まず、開発手法ですが、生成AI(人工知能)によってツールも進化し始めているので、いっその事、開発プロセスに生成AIを適応していくということを模索しながら、スピーディーに開発を進めていきたいと思います。大手ベンダーは詳細設計や品質管理に生成AIを活用する社内ツールを開発し始めたようですので。
因みにこのブログを開設しているレンタルサーバー元のXServer社より、以下のような耳寄り情報が届いております。
・~・~・~・~・~・~・~・~・~・~
生成AIに特化した高速GPUサーバー『XServer VPS for GPU』の提供を開始
『XServer VPS for GPU』は、
生成AIや推論に特化したGPUサーバーがインターネット経由で使える、AIビジネスを担う事業者向けのGPUサーバーサービスです。最新の「NVIDIA L4 Tensorコア GPU」を搭載しており、計算負荷の高い生成AIの推論処理を高速で実行可能です。
生成AIを活用したアプリケーション開発や自社サービスにAIを導入して提供するなど、様々なビジネスシーンで活用いただけます。
・~・~・~・~・~・~・~・~・~・~
とは言っても、新たな手法を今すぐ手探りで導入しても使いこなせるようになるには逆に時間がかかると思います。しかもプログラミング開始から完成までには共同作業が必要と考えています。そこでこの生成AI手法はこれからの検討課題として、当面はシステム開発の開発手法はわかりやすいウォーターフォールモデルでの上流工程を参考にして、システム設計の手順で進めたい思います。ただし、このモデルは、プロジェクト全体の流れやすべての工程が最初から決まっているため、仕様変更が難しいというデメリットがあります。実際には開発体制にも依りますが、プロトタイピング、アジャイル、DevOps(デブオプス)等の開発手法の方がIES開発の実態に合っていそうなので、そちらへ移行することになるものと考えています。
ウォーターフォールモデルでは以下の流れになります。
【要件定義】→【外部設計】→【内部設計】→【実装開始】
【要件定義】(要件定義書)
━━━━━━━━━━━━━━━━━━━
• システム概要
• システムの構成図
• 機能要件
• 入出力要件
• セキュリティ要件
• 概略スケジュール
【外部設計】(基本設計書)
━━━━━━━━━━━━━━━━━━━
• 方式設計
• 機能設計
【内部設計】(詳細設計書)
━━━━━━━━━━━━━━━━━━━
• 機能分割説明
• データフロー
• モジュール詳細
上記の内部設計が終わった後に、ようやく実装開始となるPG工程のプログラミングが開始されます。しかし、今回のアイデンティティ・エントリーシステム(IES)はお客様からの受託設計ではないので、どのような販売方法にするのかということが重要なファクターとなります。どうあれば、市場に受け入れられるかというマーケティングも加味した販売戦略も合わせて検討した内容を以下に示します。
■ 販売方法
①IESソフトウェアのみで販売する場合
問題点:
ユーザーが購入または所持するハードウェア(PCレベルを想定)に動作環境が依存するので動作保証をすることが難しい。また、開発するプログラムがWindowsアプリケーションかWebアプリケーションかでもサポート方法は全く異なる。セキュリティ管理はユーザー任せとなり、個人情報の漏洩が危惧される。ユーザーの客層が専門知識があるとは限らないので、購入ソフト(DB、DBMS等)のインストール、ライセンス管理等ユーザー任せでは難しい。
②システムとしてハードウェア込みで販売する場合
問題点:
ハードウェア(PCレベルを想定)を調達して自社の製品型番にして販売する場合、調達する資金力と保証の問題が発生します。調達先への支払いとユーザーからの回収には数か月の資金繰りが必要です。ハードウェアの機種が変われば、その度に動作評価が伴い、性能・品質・製品価格にも影響します。
③ハードウェアはユーザーが当社指定メーカー機種を直接購入し、IESソフトウェアのインストール込みでユーザーから受注します。この一連のプロセスを販売協力する商社が行う場合
問題点:②のハードウェア調達の資金力と保証の問題を解決するために行うプロセスですが、ユーザーにとってはハードウェア購入とIESソフトのサポートが別で複雑である。販売協力して頂ける商社との仕切り価格等製品価格設定も複雑になる。ソフトウェアサポートサービスという1年毎の契約更新料でIESのバージョンアップ費用を回収していく価格にも影響がある。
④ハードウェアの販売は行わず、IESソフトウェアやアイデンティティデータはクラウドにてSaaSのサービスで対応する。
問題点:販売方法によりWebアプリケーションとなった場合、ASP(Application Service Provider)サービスを提供する事業者との月額や年額のサブスクリプション契約が別途必要になる。
販売方法は上記の①~④で検討していきますが、特に④の方法の詳細は私にとっては技術・情報すべて掌握できておらず、今後の課題となります。
そこで、少し調べた情報を以下に説明します。
IESの販売方法として①~④の検討をしましたが、④のSaaSというネットワーク経由でソフトウェアを利用できる仕組みを利用した販売方法を説明いたします。
SaaS(Software as a Service)とは
★AI による概要(Google検索2024/11/19)
・~・~・~・~・~・~・~・~・
SaaS(Software as a Service)とは、インターネットなどのネットワーク経由で、サービス提供事業者のサーバー上で稼働しているソフトウェアを利用できる仕組みです。
SaaSの主な特徴は次のとおりです。
導入者側はネットワークからアクセスするだけで機能を利用でき、インストール作業は不要です。
ネットワーク環境があれば社外からでも接続できます。
事業者側でアップデート作業などを実施する仕組みのため、常に最新状態のサービス・機能を利用できます。
サービスのメンテナンス作業などのコストが発生しません。
SaaSの代表例としては、次のようなものがあります。メールやスケジュール管理などのソフトウェア機能、会計ソフト、オンラインストレージ(Dropboxなど、 ビジネスチャット(Chatworkなど。
SaaSは、システム開発などに携わっていない人でも使用機会が多いでしょう。
・~・~・~・~・~・~・~・~・
SaaSを制する企業がこれからのDX時代を制すると言われています。販売方法としては事業者側でインストールやアップデートの作業を行うため、ユーザー側での負担は少なく、サービスのメンテナンス作業などのコストが発生しません。
SaaS採用にあっての管理ポイントは以下があると考えます。
1.クラウド型サービスを提供する事業者、またはそのサービス(ASP)の選び方を考える
2.アプリごとのSaaSの種類や利用状況、コスト、投資対効果、セキュリティーリスクを正確に把握できる仕組みづくりを考える。
■ 製品のひな型設計
製品のひな形設計の前提の話が長くなってしまいましたが、以下のようにひな型をつくりながら少しづつ設計を進めて行きたいと思います。
まずは、要件定義のシステム概要を作成し、ステップの順番とは異なりますが、確認ポイントとして内部設計の機能分割説明にてソフトウェアのモジュールレベルで内容確認をしていきたいと思います。
【システム概要】
本システムは、個人のアイデンティティとして、有形物や無形物を所定の電子データに変換し、保存していくシステムである。保存されたデータはヒューマノイドロボットの人工頭脳の記憶データ用に変換され、アイデンティティのフォルダー内に整理された状態で格納される。保存されたデータは手動での日付指定や画像レベルのヒューマノイドロボットの案内等により再生される。
アイデンティティのフォルダー内の電子データ(アイデンティティデータ)はヒューマノイドロボットの人工知脳の記憶領域に移植することを最終目的とするため、契約期間終了時にデータ構造を明記してユーザーに引き渡すものとする。
アイデンティティとは
★AI による概要(Google検索2024/11/22)
・~・~・~・~・~・~・~・~・
アイデンティティとは、自分自身を認識し、他者や社会から認められているという感覚、あるいは「自分らしさ」や「自己同一性」を意味する言葉です。
アイデンティティは、個人の価値観や信念、行動パターン、社会的役割などを包括する概念で、時間の経過や環境の変化にもかかわらず比較的安定した自己像を維持する機能を持っています。
アイデンティティの形成は、幼少期から青年期を中心に続く重要なプロセスで、個人の成長過程において人格形成と密接に関連しています。
アイデンティティの概念を最初に提唱したエリクソンは、青春期には、自分が自分であることと、自分が社会から認められることとのあいだのずれ(アイデンティティの危機)が生じるため、そこで乗り越えられるべき心理的・社会的課題として、アイデンティティの確立をあげました。
・~・~・~・~・~・~・~・~・
アイデンティティデータとは
アイデンティティ・エントリーシステム(IES)にて入力するデータで、個人の価値観や信念、行動パターン、社会的役割など自己像に関わる全ての情報とします。
例えば、過去に旅行に行って楽しかった思い出は、日記、記念物(お土産等)、写真として残っているもの全てです。手書きの日記や記念物はスマホで写真データ(jpeg等)に変換し、写真もスマホで撮ったもの(jpeg等)でなければ、同様に撮り直し、写真データ(jpeg)に変換して保存します。
保存するときには日付とコメントを入れます。
【機能分割説明】
アイデンティティ・エントリーシステムで搭載する機能と想定されるプログラムモジュールを以下に列記します。
1.アイデンティティ登録モジュール
アイデンティティデータを入力し、所定のフォルダー内に整理された状態で格納します。
2.アイデンティティ再生モジュール
1項で格納されたデータを手動での日付指定や画像レベルのヒューマノイドロボットの案内等により再生します。
3.アイデンティティデータ格納用ベータベース(DB)とデータベース管理システム(DBMS)
アイデンティティデータを格納する箱であり、その箱へアイデンティティデータを入れたり取り出したりする管理システムです。
この部分がIESソフトの胆になる部分だと考えますので、採用検討に当たって情報不足もあり、初歩的なところから確認していきます。まず、DBとDBMSの違いについて以下に記します。
データベース(DB)とデータベース管理システム(DBMS)の違い
★AI による概要(Google検索2024/11/22)
・~・~・~・~・~・~・~・~・
データベース(DB)とデータベース管理システム(DBMS)の違いは、データベースがデータの集まりであるのに対し、DBMSはデータベースを管理するためのアプリケーションの集合体であることです。
データベースは、複数人で利活用することを目的にしたデータの集まりで、データを蓄積するための箱に相当します。一方、DBMSは、コンピューター上のデータベースを整理したり、データの検索や更新、共有などを行ったりするためのソフトウェアです。
DBMSには、リレーショナルデータベース管理システム(RDBMS)などのシステムが含まれています。RDBMSは、主にリレーショナル型のデータベースに特化した仕組みです。
DBMSの例としては、MySQL、Microsoft Access、Microsoft SQL Server、FileMaker Pro、Oracle Database、dBASEなどがあります。
・~・~・~・~・~・~・~・~・
データベースには「階層型」「ネットワーク型」「リレーショナル型」の3種類が存在します。 現在幅広く使われている種類はリレーショナル型ですが、万能というわけではありません。 そんなリレーショナル型の欠点である処理速度の遅さをカバーしたのが、NoSQL型です。
最終ターゲットである自我のメカニズムに最も近いデータ構造は何かということになりますが、まだその選定レベルではありません。現状で構築できるDBMSは「リレーショナル型」のMySQLがこのブログの契約レンタルサーバー内に標準でインストールされていますので、まずはそちらで検討したいと思います。その上でSaaS対応にするにはアライアンスを組む企業も合わせて検討します。
4.ヒューマノイドコントロールモジュール
作成したアバター画像を案内人として表示し、モード設定画面からアイデンティティ登録/再生モジュールを介してアイデンティティデータにアクセスし、指定された機能を実行します。ここでアクセスするアイデンティティデータは、外観が人間のアバター(分身)となるようなヒューマノイドロボットが登場したときに、人工知能の記憶データとして埋め込まれる仮データとなります。
5.ライセンス管理とソフトウェア更新管理モジュール
ソフトウェアのライセンス管理とソフトウェアサポートサービスの管理を行います。
IESや他のソフトのライセンス明記をし、バージョンNo.を表示します。ソフトウェアサポートサービスについては契約期間の表示を行い、契約期間外の新しいIESバージョンはリリース日にて実行不可の表示をします。
IESについては、ソフトウェア使用許諾契約にてユーザーに使用権を供与することになります。ビジネスとしての収益を見出す仕組みは納入後のソフトウェアサポートサービスにあります。ソフトウェアサポートサービス契約の契約期間を設定し、有償での契約更新とします。
6.データバックアップモジュール
IESのソフトウェアのバージョンアップがアイデンティティデータ格納のデータ構造変更に関わる場合やサービス契約解除におけるユーザーへのデータ引き渡し時にはバックアップを行ってから処理する管理を行います。
7.セキュリティ管理モジュール
ライセンスキー(ドングル使用)に埋め込まれた情報にて本人確認、サービス契約期間などの合致条件にてプログラムへのアクセスを制限する管理を行います。
8.SaaS管理モジュール
ハードウェアの販売を行わずクラウド対応としたときに、ネットワーク経由で常に最新状態のサービス・機能の管理を行います。
今のところ、ザックリ上記8項目程度の機能を盛り込みたいと考えています。
それぞれのモジュールはフリーソフトのレベルでもたくさん実在しています。極端な話として、ユーザーに対しては機能補完のため、それぞれフリーソフトをご使用くださいで済んでしまいます。そうしたフリーソフトのソフトウェア使用許諾契書を見ると一例ですが以下のようになっています。
第1条 使用許諾
本契約に定める条件下で、弊社は、使用される方に対して、本ソフトウェアを使用できる非独占的な権利を無償で許諾します。
第2条 使用条件
1.使用される方は、本ソフトウェアを複数のパーソナルコンピュータにインストールして使用することができます。
2.使用される方は、本ソフトウェアがインストールされた、使用される方が占有し管理する当該パーソナルコンピュータを第三者に使用させることができます。
3.本ソフトウェアは、弊社から使用される方に対してその使用が許諾されるものであり、譲渡を目的とするものではありません。
第3条 禁止事項
弊社が別途書面により承認した場合を除き、使用される方に対して、以下のことを行うことはできません。
(1)第三者に対し、本ソフトウェアの販売をすること。
(2)本ソフトウェアについて補正、翻案、改変、リバース・エンジニアリング、逆コンパイル、逆アセンブリ等の解析・分析行為を行うこと、または本ソフトウェアの派生物を製作すること。
(3)本ソフトウェアまたはその派生物をハードウェア製品に組み込んで第三者に販売、貸与、提供すること。
(4)本ソフトウェアを公衆送信すること(本ソフトウェアを放送、有線放送、インターネット、イントラネット等の媒体を問わず、ネットワークに送信可能な状態に置くことを含みます)。
(5)本ソフトウェアに付された著作権その他の権利に関する表示を削除、改変、不明確化すること。
IESに上記フリーソフトを組み込むことは禁止事項に抵触する思われます。ただし、“弊社が別途書面により承認した場合を除き”とありますので交渉事で可能な部分もあるのかな、、、
次回は会社をつくる(その7)としてウォーターフォールモデルに戻って開発手法のステップを踏んでいきたいと思います。外堀を埋めていくには時間がかかりそうです。
コメント