プロトタイプ作成ツールの作成の歴史。 パートII



適切なプロトタイピングツールの検索(これについては、 以前の投稿で詳細に説明しました)にかなり時間がかかり、...で終わりました。 私たちはすべてのニーズを完全にカバーするツールを見つけることができませんでした。 私たちのすべてのアイデアと希望を完全に満たすプロトタイピングのプログラムは、自然界には存在しなかったようです。そして、「これはまさに私たちが探していたものです。 もちろん、目を閉じて妥協することもできますが、これは私たちのやり方ではありません。 控えめな表現は、私たちが本当に嫌いなものです。



これに基づいて、私たちはすべてのアイデアを個人的に実現し、独自のプロトタイピングツールを作成しようとする最も簡単な決定を下しませんでした。 自社製品の開発は、プロトタイピングツールの市場の見通しの分析の結果によっても支援されました:ソリューションはほとんどなく、IT企業のすべての要件をカバーしていませんでした(少なくとも当社、そして間違いなく、私たちはユニークではありません) 。 もう1つの具体的な推進力は、ロシアで最初の本格的なプロトタイピングツールをリリースする見込みです。 一般に、マイナスよりもプラスをカウントしました。



独自のプロトタイピングツールの作成はゼロからは始まりませんでしたが、...に基づいて、ツール作成の歴史を以下に説明します。



物語



2005年


ALEE Softwareの主な製品は、ERMクラスの企業システム(電子記録管理システム)です。 このシステムは、ユーザーが作業する2つのシンクライアント(デスクトップアプリケーションとWeb)で構成されています。 システムのWebプレゼンテーションでは、多くの場合、顧客の標準およびシステムで使用される他の企業情報システムに合わせてグラフィカルインターフェイスをカスタマイズする必要があります。 このタスクを達成するために、システムのWebコンポーネントのグラフィカルインターフェイスを簡単に再構築できるコンストラクターという特別なツールを作成するというアイデアがありました。 お客様がプログラムコードを記述したり、サードパーティの専門家を関与させたりすることなく、システムのインターフェイスをカスタマイズできるように、使いやすくすることを想定していました。 そこで、このアイデアに基づいて、このようなツールを作成するための実験的な作業を開始しました。



設計者をシステムの不可欠な部分にすることを計画しました。 当然、この場合、メインシステムの言語、つまり、 Javaで。 しかし、その後、当時存在していたJavaテクノロジーと機能では、タスクを解決できないことが明らかになりました。 なんで? まず、大規模なプロジェクトでは、JavaマシンがJavaクラスをネイティブコードに変換する速度が遅すぎました。 アプリケーションの速度が大幅に低下しました。 第二に、標準JDKアセンブリには、さまざまなオペレーティングシステムのネイティブコンポーネントがありませんでした。 この問題は、追加のライブラリを引き付けることで解決できますが、これには追加の困難が伴います。 さらに、品質と価格が私たちに合わなかった。 第三に、Java言語自体には、新しいツールを作成するために必要なツールは多くありませんでした。このツールは、当時他の多くのプログラミング言語で既に実装されていました。 問題と制限のリストを継続して、詳細と小さな詳細に進むことができますが、これはそれについてではありません。 最終的には、彼らが言うように、より良い時期まで、計画された開発を延期することにしました。 作業の結果として、実験的な開発が作成されましたが、その使用は当時見つかりませんでした。 また、システムインターフェイスのカスタマイズの問題は別の方法で解決されました。



開発の過程で、起動されたアプリケーションを作成しました。これには、グラフィカルインターフェイス編集エリア、グラフィカルエディターをテストするための最小限のコンポーネントセット、レイヤーを管理するための独立したフレーム、コンポーネントを設定するための独立したフレームが含まれます。



2006-2008


約3年、私たちの実験的開発は、彼らが言うように、「棚に置いて」、忍耐強く翼で待っていました。



2009


ある時点で、当社はプロトタイピングツールを選択するという深刻な問題を抱えていました。 私たちは積極的にその探索に取り組んでいます。これについては、サイクルの最初の部分で詳しく説明します 。 この時点で、独自のプロトタイピングツールを作成するというアイデアがありました。 そして、私たちは実験的な開発について思い出しました。それらは最良の方法で将来のツールの基礎として適しています。



プロトタイピングツールの積極的な開発が始まり、後にGUIマシンとして知られるようになりました。



要件のステートメント


私たちの前にタスクの詳細を理解し、市場で入手可能な製品を分析して、プロトタイプ作成ツールが持つべき品質に関する要件を明確に策定しました。



開発方法


プロトタイピングツールを開発するために、Extreme Programming Technique(XP)を使用しました。 この選択にはいくつかの理由がありました。 まず、ツールをできるだけ早く作成する必要がありました。 XPは、運用開発の問題を解決するのに適した手法です。 第二に、作成するツールの要件が固定されておらず、開発プロセス中にすべてが変更され、補足されていました。 第三に、XPメソッドを使用すると、機器の要件を満たさない出力を受け取るリスクが最小限に抑えられます。



XPの要件を作業の詳細に適合させようとしました。たとえば、チームにはプログラマが1人しかいなかったため、ペアプログラミングと相互コード検証の手法は使用しませんでした。



開発は、プログラマー、プロジェクトマネージャー、およびシステムの将来のユーザーとの緊密なコラボレーションで実施されました。 プログラムの作業は速いペースで行われました。元のバージョンへの変更は毎日行われました(時には1日に数回も行われました)。 作業の初期段階では、設計上の問題に慎重に注意を払わなかったため、機能の実装に集中し、遅延を回避することができました。



2010


2009年11月22日に独自のプロトタイピングツールの作成作業を開始しました。 すでにリリースバージョンのリリースのかなり前の2010年5月に、製品の信頼性と機能は、会社の実際のプロジェクトで正常にテストされるレベルに達しました。 ちなみに、この事実は、私たちが極端なプログラミングに目を向けることによって正しい選択をしたというもう1つの証拠になりました。



製品の操作


最初は、独自のプロトタイピングツールを市場にリリースするという目標を設定していませんでしたが、企業プロジェクト専用に使用することを計画していました。 そのため、2010年は多くのプロジェクトでマークされ、その実装中にツールが使用されました。 以下にいくつかの例を示します。



Webインターフェース開発CRMシステム


このツールは、CRMシステム(顧客関係管理システム-顧客とのやり取りを管理するシステム)-複雑なエンタープライズレベルのシステムのプロトタイプWebインターフェイスの開発に初めて使用されました。 その基盤は、既存のデスクトップCRMシステム(会社の内部開発)でした。



顧客が将来のシステムのインターフェースを見て、実際の開発が始まる前から希望を表現するために、非常に正確でインタラクティブなプロトタイプが作成されました。 彼は、システムの設計と機能の両方を適切かつ現実的に表現しました。







内部企業ポータルの開発


このツールは、当社の社内ポータルのプロトタイプを作成するために使用されました。 このプロジェクトでは、タイミング、設計、機能に厳しい制限はありませんでした。 したがって、このプロトタイプを開発した専門家には、より大きな行動の自由がありました。 作成されたプロトタイプは完全にインタラクティブで、美しいデザインでした:







ツールの産業運用は、ツールの実行可能性、割り当てられたタスクを正常に解決する能力を示しました。 このような結果を得て、ソフトウェア市場でツールを完成させてリリースすることが決定されました。



2010年12月1日に、製品のリリースバージョンがリリースされました。



2011


2011年1月24日に、 グラフィカルユーザーインターフェイスの設計とプロトタイピングの問題と解決策」というセミナーを開催しました。このセミナーでは、GUIマシンと呼ばれる開発ツールが初めて紹介されました。



どうしたの?



私たちの仕事の結果、GUI Machineという製品ができました。 この製品の間違いない利点には、次のものが含まれます。



プラスだけを指摘するのは不正です。 もちろん、当社の製品には短所と短所もあります。



なぜ「さようなら」という言葉が多くの段落に現れるのですか? 実際には、現在、動的に開発し、ツールの機能を拡張しています。もちろん、これらの欠点を取り除くことを計画しています。



PS



私たちは幻想を抱いておらず、GUI Machineを誰よりも問題を解決できる万能薬とは考えていません。 ただし、適切なプロトタイピングツールを探しているときに、私たちが説明した問題と同様の問題に遭遇した人にとっては、私たちのツールは非常に有用です。



UPD:シリーズの次の記事では、GUI Machineプロトタイピングツールの詳細な概要を説明します。



All Articles