ペアプログラミング - 経験

ペアプログラミングフォンの同級生と私が開発をスピードアップするためにチームを組む、私はUIのデザインと機能を担当しています風水の学生は、バックエンドを担当する関数を記述することで、フロントエンドを呼び出します。

 

要求仕様

  ユーザー:

  小学校、中・高校生。

  特徴:

  1、ユーザー登録機能。ユーザーの電話番号、登録をクリックして、ユーザが登録を完了するために、この登録コードを使用することができ、登録コードを受け取ることになります。

  図2は、ユーザ登録、パスワードプロンプトインターフェースの完了後に、ユーザ入力パスワードが成功した後、パスワードを2回一致します。6-10パスワード、ケースには、文字と数字を含める必要があります。

  ユーザーは、パスワードを変更し、元の状態にログに正しいパスワードを入力し、成功裏に二度同じ新しいパスワードを再入力した後にパスワードを変更することができます。

  パスワードが選択インタフェース、ディスプレイインタフェース小学校、中・高等学校の3つのオプションにジャンプし、設定された後、図3に示すように、ユーザーがアイテム生成する必要の数の入力を促す、そのうちの一つをクリックします。

  図4に示すように、項目の数のユーザ入力は、一枚の紙を生成する(ロールとは同じタイトル、全て題する複数の選択肢を持つことができない)、インターフェイスは、最初の質問とカジュアルワーキング4つのオプションを表示し、ユーザは、4つのオプションのいずれかを選択します提出インタフェースは、2番目の質問を表示...最後の質問まで。

  5は、最後の質問、ディスプレイインターフェイスの提出後、スコアが正答率に基づいて計算されます。

  6、ユーザーインターフェースは、スコアのオプトアウトや問題をし続けることができます。

  7、小型高数学の問題や個人的なプロジェクトの始まりを見て尋ねました。

 

 

第二に、コードの再利用

       プロジェクトが最初のプロジェクトに基づいているので、このプロジェクトのための需要は多くの機能で実現したように、それを再利用することができます。

  このプロジェクトの建築設計の欠如、フォン・学生のモジュールの再利用のための初めてので、前に言いました。

       これら二つのプロジェクトは、このような着陸モジュール、質問のうちモジュールとして、多くの同一のモジュールの機能を持っています。それは前のセクションで実装することができるので、ランディングモジュールは、複雑な関係コールに触れていません。

  しかし、ユーザー名とパスワードは以前よりも困難で、ファイル/データベースから読み込む必要があります。異なる状況で同じモジュール、実装の難易度が異なっています。同様に、モジュール前に質問の答えを計算すると考えることはできないが、我々はこのプロジェクトに考慮しなければなりません。

 

三つのペアプログラミングの経験と教訓します

       私はこのプログラムを担当していますが、比較的シンプルなフロントエンドですが、実際にはまだ多くの問題に直面しました。

ツールを選択します

  私はUI設計を含む、Java言語の開発を使用しているので、スイングを考えることは非常に自然です。しかし、私はスイングと特に慣れていないんだ、とコンポーネントのレイアウトは非常に困難なものです。

  幸いなことに、彼は学生を思い出し、私は大幅に作業負荷を軽減し、視覚的なページデザインを提供し、このプラグインwindowbuilderを発見しました。

 

   

         図・1 windowbuilderページ(ビジュアルプログラミングは、対応するコードを生成することができます)

 

二つのUI設計プロセス

  最初の設計では、コンセプト、次に実装されています。私は単にページのプロトタイプを作った単語を使用します。そして、上記のツールを使用して、私はすぐにこのモデルを実現しました。

 

 

図2プロトタイプログイン画面(マークされた中古部品)

 

  その後、私の難しさの前にページを切り替えると手順をコールバックする方法です。

 

       ページの切り替え

  スイングのに慣れていないので、この態様は、私の設計の欠陥と考えることができ、私は、メソッド関数は関数を呼び出しました。これは、常に新しいフレームを開いて、その後、古いフレームをシャットダウンし、次の図に似ています。

  このように、しかし、大幅に渡すパラメータだけでなく、コール・オブジェクトを制限します。しかし、私はまだ、関数呼び出しのバックエンドと考えられていなかったので、これを見ていません。

 

  

 

         3例ページ遷移図(常に非効率的で、それはパネルの間で切り替えなければならない、フレームを作成します)

           

  コールデーモン:

  私は無知である。この点で開始しました。我々は、単一の静的なページの間でお互いを呼び出すかは難しいが、どのように二つが困難である結合しないようにいくつかのクラスを記述します。

  他の人のコードを学ぶことで、私は最終的に次の2つの間の接続を完了するために、コンポーネントをスイングするイベントリスナーメカニズムを使用することができることに気づきました。

  例えば、着陸能力のために、ユーザーが最初のランディングページを切り替えるには、ボタンを押して、ユーザ名とパスワードテキストボックスの両方にコンテンツを入力します。ユーザー名とパスワードが存在し、に従って、そして成功した上陸したならば、それ以外の場合はエラーメッセージが表示されます。

  このプロセスでは、より多くの重要な活動は、ユーザーがボタンを押しています。ユーザ入力のために、コンポーネント自体の機能により得られます。

  ボタンを聞き、その後、ユーザー名とパスワードの確認のための関数を呼び出す場合したがって、それは非常によく私の問題の始まりかもしれません。

 

  

 

         図4テキストボックスのイベント+分析を繰り返し、ユーザー名(ブリッジイベントリスナー)

 

  したがって、私は風水の学生が達成するために、各コンポーネントの振る舞いは(初期リリース)の関数として設計されて検討してください。私の主な仕事は、さまざまなコンポーネント間の相互作用が正しいかをテストすることですその後は、この点を言及していません。

  

  

 

         図5の方法後端が(部分的に)実施する必要があります

 

  最終的なプログラムを組み立てるときに、私がしなければならない関数呼び出しに、単純な判定条件(入力された値が1である)からイベント関数の交換の条件を決定することである(法定かどうかを判断するために、入力内容)本当です。

IIIは、要約したもの

  もちろん、私が遭遇した上記の問題点に加えて、実際には、多くの小さな問題があり、主な原因スイングの原因に精通していないです。また、私の反射の価値がある良いお尻を、失敗したと風水の学生に加えて。

 

おすすめ

転載: www.cnblogs.com/firework-boom/p/11593325.html