diff --git a/Introduction.html b/Introduction.html new file mode 100644 index 0000000..090fea9 --- /dev/null +++ b/Introduction.html @@ -0,0 +1,140 @@ + + +
+
+甲南大学知能情報学部のソフトウェア設計検証研究室です.
+この度は私共の実験にご協力頂きまして誠にありがとうございます.
+
+実験の主旨と概要について説明いたします. +
+
+ Javaによる実務経験3年以上のエンジニアの方々を対象に,被験者として実験へのご協力をお願いいたします.
+ この実験は,Javaプログラムを手作業でリファクタリングするのに,どの程度の時間を要するのかを計測することを目的としています.
+ 対象となるJavaプログラムは2つあり,それぞれのプログラムに対して1回ずつリファクタリングの課題に取り組んでいただきます.
+ リファクタリングの作業は時間を計測しながらお手元のPCで行っていただき,課題を終えるたびに,アンケートにお答えいただきます.
+ 全体の作業時間としては,2~3時間程度を想定しています.
+ お答えいただくアンケートは最初と最後,および各リファクタリング課題の完了後の計4個あります.
+ アンケートへの回答が終わるたびに作業を中断していただいて構いません.
+ 作業はすべてWebおよびローカルのPC上で完結します.
+
+ ※過去に実施した私共のいずれの実験にご協力いただいた方でも,こちらの実験には問題なくご参加いただけます. ++ +
+実験における作業内容について説明いたします.
+ 対象となるJavaプログラムはいずれも小規模なGUIアプリケーションです.それぞれのプログラムに対して1回ずつ,計2回リファクタリングの課題に取り組んでいただきます.
+ 課題で取り組むリファクタリングは,PUSH型のデータ転送をPULL型に変更するものと,PULL型のデータ転送をPUSH型に変更するものの2種類です.
+ PUSH型のデータ転送とPULL型のデータ転送については,実験をはじめる前に改めて説明いたします.
+ 実験では,まずGitHub上に公開した実験用のJavaプログラムを,お手元のPCにダウンロード(クローン)していただき,動作確認を行っていただきます.
+ その後,お手元の時計で時間を計測しながらいずれかのリファクタリングを手作業で実施していただきます.
+ 開発環境は何をお使いいただいても結構ですが,主に Eclipse と IntelliJ IDEA を想定しています.リファクタリング課題を終えるたびに,アンケートにお答えいただきます.
+ また,実験の開始前と終了後にも1つずつアンケートにお答えいただきます.
+
+ご応募までの手順を説明いたします. +
+以上が実験の流れです.
+全ての作業はWebおよびリモートデスクトップ上で完結します.
+
+実験中の危険性に関して説明いたします.
+通常のPC画面に向かっている際と危険性は変わりません.
+
+実験時間(拘束時間)に関して説明いたします.
+全体の作業としては4~6時間を想定していますが,人によっては多少前後する可能性があります.
+時間に余裕がある際に行ってください.
+また,後日大学にお越しいただいたり,こちらから連絡を行うことはありません(参加者に不利益が発生する恐れのある場合は除く).
+
+実験への参加取りやめに関して説明いたします.
+実験の途中で,参加を取りやめることが可能です.
+その場合の報酬に関する取扱いついては.以下で説明いたします.
+
+契約と報酬に関して説明いたします.
+
+個人情報の取り扱いについて説明いたします.
+
+同意確認フォームはこちらです. +
+ ++ 同意確認フォーム ++ +
+実験にご同意いただけましたら,以下の個人アンケートにご協力ください. +
+ ++ 個人アンケートはこちら ++ + diff --git a/courseA/DescriptionAlgolike.html b/courseA/DescriptionAlgolike.html new file mode 100644 index 0000000..d9e6a8e --- /dev/null +++ b/courseA/DescriptionAlgolike.html @@ -0,0 +1,31 @@ + + + +
ArgoUMLはJavaで書かれたオープンソースのUMLエディタです.
+ArgoUMLを起動すると,まずクラス図の編集画面が開きます.
+
+編集画面上で行える操作はモードによって異なります.
+モードの切り替えは,ツールバーのボタンをクリックすることによって行うことができます.
+
+例えばクラス配置モードでは,編集画面上をクリックすると,クリックした位置にクラスを配置することができます(クラス配置機能).
+
+クラスを配置すると選択モードに戻ります.
+選択モードでは,編集画面上に配置されたクラスをクリックすると,そのクラスを選択状態にすることができます(選択機能).
+
+選択状態のクラスは,Delキーを押すことで削除することができます(削除機能).
+
+
+次へ
+
+
+
diff --git a/courseA/EnvironmentAlgolike.html b/courseA/EnvironmentAlgolike.html
new file mode 100644
index 0000000..a460e39
--- /dev/null
+++ b/courseA/EnvironmentAlgolike.html
@@ -0,0 +1,31 @@
+
+
+
+ArgoUMLはJavaで書かれたオープンソースのUMLエディタです.
+ArgoUMLを起動すると,まずクラス図の編集画面が開きます.
+
+編集画面上で行える操作はモードによって異なります.
+モードの切り替えは,ツールバーのボタンをクリックすることによって行うことができます.
+
+例えばクラス配置モードでは,編集画面上をクリックすると,クリックした位置にクラスを配置することができます(クラス配置機能).
+
+クラスを配置すると選択モードに戻ります.
+選択モードでは,編集画面上に配置されたクラスをクリックすると,そのクラスを選択状態にすることができます(選択機能).
+
+選択状態のクラスは,Delキーを押すことで削除することができます(削除機能).
+
+
+次へ
+
+
+
diff --git a/courseA/ProblemA2.html b/courseA/ProblemA2.html
new file mode 100644
index 0000000..d119189
--- /dev/null
+++ b/courseA/ProblemA2.html
@@ -0,0 +1,98 @@
+
+
+
+
+ 課題A2では,Algo のHandsAからLoseAへのデータ転送について見ていきます.
+ HandsAは,プレイヤーのすべての手札を管理しているクラスで,LoseAは各ターンでプレイヤーがゲームに負けたか否かを表すクラスです.
+ この課題では,
+
+
+ 「+ +を目的とします.HandsAの情報が更新されたときにその情報をLoseAにPUSH型で転送しているプログラムを,PULL型で転送するようにリファクタリングすること」 +
+ 以下では,リファクタリングに要した時間を測っていただきますので,お手元に時計をご用意ください.
+ 時間計測にあたって,急いで作業していただく必要はまったくありません.
+ 最初の課題から最後の課題まで一定のペースを保てるよう, 正しくリファクタリングを行うことを意識してください.
+ この課題で作業していただく内容は,
+
+ 「HandsA の情報が更新されたときにその情報を LoseA にPUSH型で転送しているプログラムを,PULL型で転送するようにリファクタリングすること」 ++ です.
+ ++
+ 課題A1の拡張シーケンス図による表現 ++ +
+ プログラム理解の作業について以下のアンケートにお答えください. +
+ ++ アンケート回答 ++ +
+ 課題A1のプログラムと可視化について,以下のリンク先の複数の設問にお答えいただきます.その際にも時間計測をお願いいたします.
+ 解答の際には,ソースコードと拡張シーケンス図を何度ご覧いただいてもかまいません.時間が掛かってもかまいませんので,できる限り正確な解答をお願いいたします.
+ 以下のリンク先をクリックしてから,すべての設問の解答を終えるまでの時間を計測してください.こちらもできる限り,1分以内の単位での計測をお願いします.
+
+ 設問およびアンケート回答 ++ + +次へ +