JP4883700B2 - レポジトリサーバ管理システム - Google Patents
レポジトリサーバ管理システム Download PDFInfo
- Publication number
- JP4883700B2 JP4883700B2 JP2007066762A JP2007066762A JP4883700B2 JP 4883700 B2 JP4883700 B2 JP 4883700B2 JP 2007066762 A JP2007066762 A JP 2007066762A JP 2007066762 A JP2007066762 A JP 2007066762A JP 4883700 B2 JP4883700 B2 JP 4883700B2
- Authority
- JP
- Japan
- Prior art keywords
- developer
- database
- voting
- project
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
レポジトリサーバを利用した開発システムにおいては、更新された内容がアプリケーション全体に影響して深刻な不具合を引き起こすことが良くある。そこで、ソースコードをレポジトリに格納する前に、更新した内容をチーム内で精読し、問題点を洗い出して修正することがよく行われている。このような精読作業はソースコードレビューと呼ばれている。
課題データベース2102には、アプリケーションの開発中に発覚した不具合や、要望の内容が格納されている。
スケジュールデータベース2103は、開発者ごとに予定の開始時刻や終了時刻が格納されている。
レポジトリサーバ2104は、開発者が登録したソースコードが格納されており、ファイルごとに更新履歴を記憶する手段を備えている。
ソースコードレビューで妥当であると承認された場合はクライアントアプリケーションで更新内容をレポジトリサーバ2104に反映する。
このように、レポジトリサーバ2104にソースコードの更新内容を反映させることを、一般にコミットと呼ぶ。
コミット後にソースコードに不具合が発覚した場合は、その内容を課題データベース2102に登録した上で、レポジトリサーバ2104から対象のソースコードを取得し、修正を加えて再度コミットする。
本発明に関連する公知技術文献としては下記特許文献1があげられる。
これは、開発者ごとにスケジュールの空きを予約した上で、その時間に更新する内容の妥当性に対して投票を実施し、その投票結果に従ってレポジトリサーバに反映させるかどうか決定するシステムを構築することで解決できる。
しかし、開発の規模が大きくなると、ソースコードの量が膨大となるため、全ての開発者の更新内容を確認することは現実的ではない。多くの開発の現場では効率的にソースコードレビューを実施するために、不具合の発生率といった開発者の過去の実績からソースコードレビューを実施するか決定しているので、同様に過去の実績に基づいて投票を実施することが望ましい。
また、ソースコードレビューに必要となる時間は開発者ごとに異なるので、一律に同じ時間を割り当てるのは非効率と言える。過去の遅延時間に基づいて投票時間を決定することが望ましい。
開発者用コンピュータからのプログラム保管申請を受け、そのプログラム保管申請を送付した開発者について過去の実績を含めた評価値を第1のデータベースから取得し、保管申請を受けたプログラムを前記レポジトリサーバに保管するか否かを前記評価値に基づいて判定し、前記評価値が予め設定された設定値を満たしていない場合には保管申請されたプログラムを第2のデータベースに退避格納し、設定値を満たしていた場合には前記レポジトリサーバに保管する第1の手段と、
前記第2のデータベースに退避格納したプログラムについて同一開発プロジェクトに属する他の開発者の承認投票により前記レポジトリサーバに保管するか否かを決定するために各開発者のスケジュールを第3のデータベースから取得し、各開発者が承認投票を行うためのスケジュールを決定し、各開発者に通知する第2の手段と、
各開発者の開発者用コンピュータから前記第2のデータベースに退避格納したプログラムについてレポジトリサーバに保管するか否かを記述した承認可否通知を受け付けて集計し、承認率が予め設定された設定値を満たしていた場合には前記退避格納したプログラムを前記レポジトリサーバに保管し、設定値を満たしていなかった場合に前記退避格納したプログラムを破棄する第3の手段と
を備えることを特徴とする。
ソースコードレビューを、開発者の過去の実績に基づいて実施でき、アプリケーションの品質を上げることができる。また、開発者の時間を有効活用することができるなど、効率的にソースコードレビューを実施することができる。
図1は、本発明の実施の形態の一例を示すレポジトリサーバ管理システムのシステム構成図である。
本実施形態のシステムは、共通システム101と、n個の開発システム102から構成されており、共通システム101と、開発システム102はネットワークによって接続されている。
なお、n個の開発システムを例示しているが、1つの場合であっても適用可能である。
共通システム101は、開発プロジェクト間で共有する情報を管理するものであり、開発プロジェクトの定義情報を保持するプロジェクトデータベース103と、開発者ごとに、参加した開発プロジェクトの履歴や評価、実績を格納する開発者データベース104と、開発者のスケジュールを格納するスケジュールデータベース105が設けられている。
プロジェクトデータベース103及び開発者データベース104には、プロジェクト履歴を更新するプロジェクト入力部106が設けられている。
スケジュールデータベース105には、スケジュールを更新するスケジュール入力部107が設けられている。プロジェクト入力部106及びスケジュール入力部107の内容は、Webサーバ108によってブラウザに表示される。開発者はブラウザでWebサーバ108にアクセスすることで、共通システム101が管理する情報を更新する。
開発PC109は、投票システム110を経由してレポジトリサーバ111にネットワークで接続されている。
開発PC109は、開発者ごとに設けられるものであり、ソースコードを編集するアプリケーションと、レポジトリサーバ111のクライアントアプリケーションが備わっている。また、それらを操作するためのマウス112とキーボード113が設けられている。レポジトリサーバのクライアントアプリケーションは、ソースコードの取得やコミットといった、レポジトリサーバ111を操作するための基本的な機能が備わっている。
通常、クライアントアプリケーションの接続先はレポジトリサーバ111に設定するが、本システムでは投票システム110に設定する。以降では、投票システム110に対するコミットを特に、コミット申請と呼び、投票システム110がレポジトリ111を更新することをコミットと呼ぶ。なお、クライアントアプリケーションの動作については公知であるので説明を省略する。
また、投票システム110は、投票入力部119と課題入力部120の内容をブラウザに表示するWebサーバ123が設けられている。また、コミット可否判定部115の判定結果と、課題データベース122と、投票データベース117の内容を基に、開発者の評価を算出して開発者データベース104に格納する評価格納部124が設けられている。
本システムにおいて、評価は不具合の発生といった項目ごとに重要度に応じて数値で表現され、評価の合計を統合評価と呼ぶ。統合評価は、経過日数や開発プロジェクトの経験実績も考慮されて算出される。統合評価がシステム設定データベース114に格納されている閾値に満たない場合、コミット可否判定部115は、コミット申請された内容を保留データベースに退避する。保留された内容は、投票によって承認された場合にレポジトリサーバ111に反映される。しかし、投票によって却下となった場合、保留された内容は破棄される。また、統合評価が閾値より高い場合は投票を実施せず、即時にレポジトリサーバに反映する。
なお、コミット可否判定部115は、クライアントアプリケーションのソースコードの取得や、更新履歴の取得といったコミット申請以外の要求をレポジトリサーバ111に伝え、結果を返す手段を備える。
ここで、遅延時間とは、予約した投票予定日時に対して開発者が実際に投票するまでの遅れ時間のことである。
レポジトリサーバ111は、登録されたソースコードごとに変更履歴を管理し、クライアントアプリケーションの指示に従ってソースコードを更新したり、ある時点でのソースコードの内容を開発者PC109に送信したりする。なお、レポジトリサーバ111の内部動作については公知であるので説明を省略する。
プロジェクトID201は開発プロジェクト間で重複しない値がプロジェクト入力部106によって設定される。また、プロジェクト名202は、開発者が入力した、プロジェクトを解かりやすく区別する名前が格納される。属性203は、開発プロジェクトのキーワードを指定するものであり、一つのプロジェクトにつき任意のものを複数指定することができる。属性203の内容は、統合評価の算出に使用される。
プロジェクトID303には図2のプロジェクトID201で定義されたものが入力される。参加日304と終了日305は、それぞれプロジェクトに参加した日と終了した日が格納されるものであり、現在参加中のプロジェクトには終了日が入力されない。
種別306と評価307は、評価格納部124が格納するものであり、参加したプロジェクトにおいて評価が算出するたびに格納される。
評価種別306は評価の種類を表し、要望が満たされたことを示す要望解決と、不具合を修正したことを示す不具合解決と、投票の結果コミット申請が承認されたことを示す申請承認と、申請が却下されたことを示す申請却下と、投票を行ったことを示す投票の5種類がある。評価307は評価種別に応じて評価格納部121が算出した評価の値であり、その値はシステム設定データベース114の設定値に応じて変動する。
開発者ID401は、図3の開発者ID301で定義されたものが格納される。
スケジュールは開発者ごとに複数登録され、開始日時403と、終了日時404と、内容405から構成される。これらの内容は開発者がスケジュール入力部107から入力したり、スケジュール調整部118が入力したりして格納される。
設定名には12の種類があり、統合評価閾値はコミット可否判定部115がコミット申請した開発者に対して投票が必要かどうか判定する統合評価の閾値である。
平均閲覧時間は行単位を単位とした閲覧に必要な平均時間である。
承認率閾値は、投票結果において、レポジトリサーバ111に反映させるかどうか判定する、承認率の閾値である。
プロジェクト経過補正値は統合評価の算出において過去の開発プロジェクトにおける評価を経過日数に応じて変化させるための補正値であり、経過日数に応じて変化する。
遅延評価値は、投票に対する評価値であり、遅延日数に応じて変化する。
承認評価値は承認された開発者に対して与える評価の値である。
却下評価値は却下された開発者に対して与える評価の値である。
重要度評価値は、課題を解決した場合に与える評価値であり、重要度に応じて変化する。
遅延補正値は、課題を解決した場合に与える評価値の補正値であり、課題解決の遅延時間に応じて変化する。
不具合解決補正値は、解決した課題が不具合であった場合に与える評価の補正値である。
要望解決補正値は、解決した課題が要望であった場合に与える評価の補正値である。
不具合発生補正値は、不具合を発生させた場合に与える評価の補正値である。
保留ID601は、コミット可否判定部115が投票を必要と判断した場合に開発プロジェクト内で一意となるものが割り当てられる。
更新日時602は、開発PC109のクライアントアプリケーションがコミット申請した時の日時が格納される。
ファイル名605は、コミット申請されたファイルの一覧であり、一度のコミット申請で複数のソースコードがクライアントアプリケーションによって指定される。
対象リビジョン606は、修正の対象となるリビジョンを指し、クライアントアプリケーションによって指定される。ここでリビジョンとは、レポジトリサーバがファイルごとに割り当てる編集履歴の識別子であり、開発者はソースコードごとにリビジョンを指定して、目的とする時点の内容を取得する。
更新内容607は、対象リビジョン605の内容と、コミット申請された内容の行単位の差分であり、この内容はクライアントアプリケーションが算出して送信する。
なお、602から607の内容は、一般のレポジトリサーバ111を利用した開発において、クライアントアプリケーションがレポジトリサーバ111に送信する内容と同一であり、投票結果が承認となった場合はそのままレポジトリサーバ111に反映される。
保留ID701は、図6の601で定義されたものであり、投票対象となるコミット申請を指す。
標準投票時間702は、各開発者に与える投票時間の基準となる時間であり、この時間に投票遅延時間の平均を開発者ごとに加えたものを投票時間とする。標準投票時間702は、607で定義された更新内容の量に応じて変化する。
投票結果703は、コミット申請された内容に対して個々の開発者が投票した結果であり、投票した開発者を示す投票者704と、投票予定日時を示す投票予定日時705と、実際に投票された日時を示す投票実施日時706と、投票された結果を示す可否707と、投票時に指定された指摘事項を示す指摘事項708から構成される。
投票者IDは、図3の301で定義された開発者IDが格納され、開発プロジェクト中のコミット申請した開発者以外の開発者が格納される。投票者の一覧は、図6の603で述べた申請者と、開発者データベース104に記憶された開発者301と、進行中のプロジェクトのID303から取得できる。なお、進行中のプロジェクトは終了予定日305が格納されているかどうかで判定できる。
投票予定日時705は、標準投票時間702を基にスケジュール調整部118が算出した結果が格納される。
投票実施日時706は、投票入力部120によって実際に投票された日時が格納される。
可否703は投票者が指定するものであり、承認と却下の2種類が格納される。
指摘事項708は、可否703において却下を選択した場合に投票者が入力するものである。
課題データベース122は、開発プロジェクト内で一意に課題を特定する課題ID801と、課題の内容を示す内容802と、課題が不具合か要望かを区別する種別803と、課題の進捗状態を示す状態804と、課題の完了予定日時を示す完了予定日時805と、課題の重要度を示す重要度806と、不具合を発生した開発者を示す発生者807と、課題の解決に割り当てられた開発者を示す対応者808と、課題が解決した日時を示す完了日時809から構成される。
課題ID801には、開発プロジェクト内で一意となるものが課題入力部121によって設定される。
内容802は、課題の説明が任意に入力される。
種別803は、入力された課題が要望か不具合か選択するものであり、評価の算出などに使用される。
状態804は、3つの種類があり、課題が発生した直後の状態を示す調査中と、対応者を割り当てたことを示す割り当て済みと、課題が解決したことを示すクローズのいずれかの値をとる。
なお、全ての課題の状態は、調査中から割り当て済みを経て、クローズに遷移する。
完了予定日時805と重要度806は、課題の困難さと対応者の能力に応じて入力するものであり、状態804が調査中である場合は入力されない。発生者807は、調査で判明した不具合の発生者を入力する項目であり、状態804を割り当て済みに更新する時に入力する。
なお、種別803が要望である場合、発生者807は入力されない。
対応者808は、課題に対応する開発者を入力するものであり、状態804を割り当て済みに更新するときに入力する。なお、発生者807と対応者808の情報は評価の算出で使用される。完了日時809は、状態をクローズに更新した日時を課題入力部が格納する。完了予定日時805と完了日時809の差は評価の算出に使用される。
また、プロジェクトへの参入欄902は、プロジェクトIDの入力欄906と、開発者IDの入力欄907と、参加ボタン908と、離脱ボタン909を備える。
開発者はブラウザでWebサーバ108にアクセスすることで、これらの情報を入力する。そして、プロジェクト名903と属性904を入力した上で新規作成ボタンを押すとプロジェクト名の入力欄903の内容がプロジェクト名202に格納され、属性の入力欄904の内容が属性203に格納される。なお、属性は複数指定することができる。
また、プロジェクトID906と、開発者ID907を入力した上で参加ボタン908を押すと、指定された内容と開発者ID301が一致するプロジェクト履歴302に、プロジェクトID303が格納される。また、参加ボタン908を押した日が参加日304に格納される。
離脱ボタン909を押すと、開発者ID301とプロジェクトID303が一致するプロジェクト履歴302中の終了日305に離脱ボタン909を押した日が格納される。
スケジュールの表示欄は指定された開発者のスケジュールの内容を表示するもので、対象開発者IDの入力欄1001を入力して表示ボタン1002を押すことで表示され、開始日時403の内容を表示する開始日時の表示欄1005と、終了日時404の内容を表示する終了日時の表示欄1006と、内容405の内容を表示する内容の表示欄1007と、削除ボタン1008から構成される。
削除ボタン1008をクリックすると、該当スケジュールをスケジュールデータベースから消去する。
スケジュールの登録欄1004は、開始日時の入力欄1009と、終了日時の入力欄1010と、内容の入力欄1011と、予約ボタン1012から構成され、各入力欄の内容を入力した上で予約ボタン1012を押すと、入力したスケジュールが登録される。
投票対象の表示欄1101は、コミット申請者を示す申請者の表示欄1104と、申請された日時を示す申請日時の表示欄1105と、コミット申請時に入力されたコメントの表示欄1106から構成される。
更新内容の表示欄1102は、ファイル名1107と、更新前の内容を示す更新前欄1108と、更新後の内容を示す更新後1109から構成される。
投票の入力欄1103は、指摘事項の入力欄1110と、承認ボタン1111と、却下ボタン1112から構成される。
投票対象の表示欄1101の内容は、保留データベース116の内容を基に出力され、申請者603の内容が申請者の表示欄1104に、申請日時602の内容が申請日時の表示欄1105に、コメント604の内容がコメントの表示欄1106に表示される。
なお、本画面はブラウザによって表示され、対象となる保留ID601はURLで指定されているものとする。
更新前1108の内容は、レポジトリサーバ111から取得したものであり、更新内容607の内容と合わせて更新後の表示欄1109の内容を構築する。
なお、更新された行については1113のように色を変えて強調表示する。
投票者は更新内容を精読し、指摘事項の入力欄1110を入力した上で承認ボタン1111か、却下ボタン1112を押す。入力された内容は投票結果702に反映される。なお、投票者の投票者ID703は、保留IDと同様にURLで指定されているものとする。
新規登録欄1201は、内容を入力する内容入力欄1203と、種別を指定する種別選択欄1204と、登録ボタン1205から構成される。
内容入力欄1203と種別選択欄1204で指定された内容は登録ボタン1205を押すことで、課題データベースの内容802と種別803に反映される。また、登録ボタン1205を押して登録した直後は状態804に調査中が格納される。
更新欄1202は、課題ID801の内容を表示する課題IDの表示欄1206と、内容802を表示する内容の表示欄1207と、種別803の内容を表示する種別の表示欄1208と、状態804の内容を表示する状態の選択欄1209と、発生者807の内容を入力する発生者の入力欄1210と、対応者808の内容を入力する対応者の入力欄1211と、重要度806の内容を選択する重要度の選択欄1212と、完了予定日時805の内容を入力する完了予定日時1213と、入力した内容を反映させる更新ボタン1214から構成される。
なお、種別1208が要望である場合は発生者の入力欄1210は表示されない。また、状態の選択欄1209は、割り当て済みの場合のみクローズに更新することができ、クローズを選択して更新ボタン1214を押すと、その日時が完了日時809に格納される。
投票者の開発IDは、投票データベース117の投票者703から取得される。
コミット申請者の開発者ID1302と、申請日時1303と、コメント1304は、保留ID701が一致する申請者603と、申請日時602と、コメント604から取得される。
投票スケジュール日時1305は、スケジュール調整部が決定した投票日時から取得される。
投票URL1306は、投票者の開発者IDと保留IDをパラメーターとして含み、投票入力部120は、この内容を基に対象の保留IDと投票者を判断する。
1401から1403の内容は、保留データベース116の内容から取得され、それぞれ申請者603と、申請日時602と、コメント604の内容が反映される。
指摘事項1404の内容は、指摘事項708の内容が反映される。
なお、本システムは開発者のメールアドレスが開発者IDから類推できることを想定しているが、できない場合は開発者データベース104に、開発者IDごとにメールアドレスが定義されている必要があることは言うまでもない。
開発者はプロジェクト入力部106が出力するプロジェクト管理画面で、プロジェクトID906と開発者ID907を指定して開発者プロジェクトに参加する(ステップ1501)。
次に開発者は課題データベース122において割り当てられた課題を把握し、解決するために開発PC109でソースコードを記述する(ステップ1502、1503)。
ソースコードが完成したら、レポジトリサーバ111のクライアントアプリケーションを操作して、ソースコードを投票システム110にコミット申請する(ステップ1504)。
次に、コミット可否判定部115は、取得した統合評価とシステム設定データベース114に設定された統合評価閾値と比較する(ステップ1506)。
統合評価が統合評価閾値以下の場合は、コミット申請された内容を保留データベース116に退避した上で、投票データベース117に投票結果を格納する領域を作成し、スケジュール調整部118で投票スケジュールを算出する(ステップ1507)。
投票者703が全て投票を実施したら、コミット可否判定部115は可否707から全投票数の承認の割合を算出し、システム設定データベース114に記憶された承認率閾値と比較する(ステップ1509)。
承認率が承認率閾値を越えた場合は、保留ID116に退避したコミット申請の内容を、レポジトリサーバ111に反映させる(ステップ1510)。
次に開発者は課題入力121が出力する課題更新画面を操作して課題の状態1209をクローズに更新する(ステップ1511)。
また、ステップ1509において承認率が設定値以下の場合は、ステップ1503に戻り、承認されるまで修正を繰り返す。
以上のように解決した要望に対して、テストなどで不具合が発覚した場合は(ステップ1512)、その不具合を課題データベース122に登録してステップ1503に戻る。
問題が無ければ残りの要望を解決し、要望が全て解決された場合はプロジェクト管理画面で離脱ボタン909を押して開発プロジェクトから離脱する(ステップ1502,1513)。
本システムにおいて統合評価は、開発プロジェクトの属性や経過日数を考慮して計算し、まず統合評価Rを0で初期化する(ステップ1601)。
次に申請者603と開発者IDが一致するプロジェクト履歴302を一つ取得する(ステップ1602)。
次に、そのプロジェクト履歴に記憶された評価を合計し、一時変数Pに格納する(ステップ1603)。なお、評価の値によってはPの値は負数である場合がある。
次にプロジェクト履歴の終了日305を参照して、取得したプロジェクトが終了したものかどうか判定する(ステップ1604)。
終了したプロジェクトであれば、属性203を取得する(ステップ1605)。
一致するものがある場合は、現在進行中のプロジェクトの属性中の、一致した割合を変数αに格納する(ステップ1607)。
次に、取得したプロジェクトの終了日305から現在までの経過日数を取得し(ステップ1608)、経過した日数に応じたプロジェクト経過補正値をシステム設定データベース114から取得して一時変数βに格納する(ステップ1609)。そして総合評価Rに一プロジェクト中の合計値であるPと、αと、βを掛け合せた結果を加算する(ステップ1610)。
ステップ1604において、取得したプロジェクトが現在進行中のプロジェクトである場合は、αに1を代入し(ステップ1611)、βに1を代入した上で(ステップ1612)、ステップ1610を実行する。
以上の操作を全てのプロジェクト履歴に対して実施する(ステップ1613)。
これにより総合評価値は、評価が一定であっても、進行中のプロジェクトの属性や経過日数に従って変動することになる。
図17は、投票時の評価算出の手順を示すフローチャートであり、まず投票者の投票予定日時を投票予定日時705から取得する(ステップ1701)。
次に実際に投票された投票実施日時を706から取得して、ステップ1701とあわせて遅延時間を取得する(ステップ1702)。
次に、遅延時間とシステム設定データベース114の遅延評価値から該当する評価を取得する(ステップ1703)。
最後に投票者704と開発者ID301が一致する開発者データベースの評価307に、評価値を格納し、属性306に、投票と格納して終了する(ステップ1704)。
次にシステム設定データベース114の承認率閾値と比較して承認するかどうか判定する(ステップ1802)。
承認となった場合は、承認数の割合を、システム設定データベース114の承認評価値とかけた結果を評価値とする(ステップ1803)。
却下となった場合は、却下数の割合を、システム設定114の却下評価値とかけた結果を評価値とする(ステップ1804)。
最後に申請者603と開発者ID301が一致する開発者データベース104の評価307に、評価値を格納し、属性306に、承認結果に応じて申請承認または申請却下と格納して終了する(ステップ1705)。
状態がクローズに更新された場合は(ステップ1902)、評価対象者に対応者808を指定する(ステップ1903)。
次に、システム設定114から重要度を基に該当する重要度評価値を取得する(ステップ1904)。
次に完了予定日時805と、完了日時809の差から遅延した日数を取得し、システム設定114から該当する遅延補正値を取得する(ステップ1905)。
次に一時変数αにステップ1904で取得した重要度評価値と、ステップ1905で取得した遅延補正値をかけあわせた結果を格納する(ステップ1906)。
次に種別803の内容を判断し、不具合である場合はステップ1906で算出したαとシステム設定114で定義された不具合解決補正値をかけあわせた結果を評価値とする(ステップ1907,ステップ1908、ステップ1909)。
状態803が割り当て済みに更新された場合は、評価対象者に発生者807を指定する(ステップ1912)。
次に、ステップ1903と同様に重要度806から重要度評価値を取得する(ステップ1914)。
次にステップ1914で取得した重要度評価値と、システム設定114から取得した不具合発生補正値をかけあわせた結果を評価値とする(ステップ1913)。
以上の通り算出した評価値を評価対象者の評価307に格納して終了する(ステップ1916)。
なお、更新後の状態が調査中である場合は何もせず終了する(ステップ1917)。
最初に、更新内容607の文字数を取得する(ステップ2001)。
次にシステム設定114で定義された平均閲覧時間と、ステップ2101で取得した文字数をかけあわせて、結果を標準投票時間702に格納する(ステップ2002)。
次に一人の投票者703を取得する(ステップ2003)。その投票者の投票データベース117に記録された投票予定日時705と投票実施日時706の差から遅延時間を取得し、開発プロジェクト中の遅延時間の平均であるプロジェクト平均遅延時間を算出する(ステップ2004,ステップ2005)。そして平均遅延時間を、ステップ2002で算出した標準投票時間と加算して、その開発者の投票時間とする(ステップ2006)。
以上の処理を開発者ごとに行う(ステップ2007)。
投票予定日時705は、開発者ごとにスケジュールデータベース105に記憶された空き時間と、図20で算出した投票時間から、開発プロジェクトとして最適な投票時間を基に算出される。この最適化アルゴリズムについては公知であるので説明を省略する。
102 開発システム
103 プロジェクトデータベース
104 開発者データベース
105 スケジュールデータベース
109 開発者PC
110 投票システム
111 レポジトリサーバ
114 システム設定データベース
115 コミット可否判定部
116 保留データベース
117 投票データベース
118 スケジュール調整部
120 投票入力部
Claims (1)
- 開発プロジェクトに属する複数の開発者が各自の開発者用コンピュータを使用してそれぞれ開発したプログラムをレポジトリサーバに保管するのを管理するシステムであって、
開発者用コンピュータからのプログラム保管申請を受け、そのプログラム保管申請を送付した開発者について過去の実績を含めた評価値を第1のデータベースから取得し、保管申請を受けたプログラムを前記レポジトリサーバに保管するか否かを前記評価値に基づいて判定し、前記評価値が予め設定された設定値を満たしていない場合には保管申請されたプログラムを第2のデータベースに退避格納し、設定値を満たしていた場合には前記レポジトリサーバに保管する第1の手段と、
前記第2のデータベースに退避格納したプログラムについて同一開発プロジェクトに属する他の開発者の承認投票により前記レポジトリサーバに保管するか否かを決定するために各開発者のスケジュールを第3のデータベースから取得し、各開発者が承認投票を行うためのスケジュールを決定し、各開発者に通知する第2の手段と、
各開発者の開発者用コンピュータから前記第2のデータベースに退避格納したプログラムについてレポジトリサーバに保管するか否かを記述した承認可否通知を受け付けて集計し、承認率が予め設定された設定値を満たしていた場合には前記退避格納したプログラムを前記レポジトリサーバに保管し、設定値を満たしていなかった場合に前記退避格納したプログラムを破棄する第3の手段と
を備えることを特徴とするレポジトリサーバ管理システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007066762A JP4883700B2 (ja) | 2007-03-15 | 2007-03-15 | レポジトリサーバ管理システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007066762A JP4883700B2 (ja) | 2007-03-15 | 2007-03-15 | レポジトリサーバ管理システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008226122A JP2008226122A (ja) | 2008-09-25 |
| JP4883700B2 true JP4883700B2 (ja) | 2012-02-22 |
Family
ID=39844619
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007066762A Expired - Fee Related JP4883700B2 (ja) | 2007-03-15 | 2007-03-15 | レポジトリサーバ管理システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4883700B2 (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5540598B2 (ja) * | 2009-08-06 | 2014-07-02 | カシオ計算機株式会社 | 人材検索装置及びプログラム |
| JP5858088B2 (ja) * | 2014-05-07 | 2016-02-10 | カシオ計算機株式会社 | 人材管理装置及びプログラム |
| JP6141563B2 (ja) * | 2015-03-31 | 2017-06-07 | 三菱電機株式会社 | ソフトウェア管理装置およびソフトウェア管理方法 |
| WO2021095136A1 (ja) * | 2019-11-12 | 2021-05-20 | 日本電信電話株式会社 | ソフトウェア開発支援装置、ソフトウェア開発支援方法及びプログラム |
| WO2021095137A1 (ja) * | 2019-11-12 | 2021-05-20 | 日本電信電話株式会社 | ソフトウェア開発支援装置、ソフトウェア開発支援方法及びプログラム |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2693108B2 (ja) * | 1993-10-19 | 1997-12-24 | 財団法人ニューメディア開発協会 | コンピュータシステム |
| JPH086783A (ja) * | 1994-06-23 | 1996-01-12 | Toshiba Corp | ソフトウェア品質保証支援装置 |
| US20020152114A1 (en) * | 2001-04-12 | 2002-10-17 | Shumaker Lance C. | System and method for updating an intranet portal |
| JP2005346643A (ja) * | 2004-06-07 | 2005-12-15 | Jfe Systems Inc | 送信メール処理方法及び装置 |
-
2007
- 2007-03-15 JP JP2007066762A patent/JP4883700B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008226122A (ja) | 2008-09-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20240195890A1 (en) | Method and system for generating dynamic user experience applications | |
| US9026984B2 (en) | Integrated design application system | |
| RU2400814C2 (ru) | Иерархические проекты в системе и способе управления проектом, обеспечиваемые компьютером | |
| US20120072268A1 (en) | Reputation system to evaluate work | |
| EP1288819A1 (en) | LSI manufacturing support server, LSI manufacturing support method, and LSI manufacturing support program | |
| KR20120070557A (ko) | 정보처리장치 및 워크플로우 처리방법 | |
| US12572527B2 (en) | Multi-source data suggestion management | |
| JP4883700B2 (ja) | レポジトリサーバ管理システム | |
| US20100131587A1 (en) | Minimizing Conflicts When Synchronizing Interrelated Data Between Two Systems | |
| CN112069134A (zh) | 需求文档处理方法、装置及介质 | |
| US9047575B2 (en) | Creative process modeling and tracking system | |
| Avram et al. | Bridging, patching and keeping the work flowing: Defect resolution in distributed software development | |
| CN116227840A (zh) | 智能排班方法、装置及介质 | |
| CN120631727A (zh) | 应用程序的埋点数据处理方法、装置、设备和存储介质 | |
| KR100976420B1 (ko) | 형상관리 시스템 및 방법 | |
| JP7801833B1 (ja) | 求人を管理するためのシステム、方法、及びプログラム | |
| Nurminen | Master data management in industry | |
| US20250217815A1 (en) | System and method for a configuration driven product carbon footprint framework | |
| CN119904198B (zh) | 审批工作流的管理方法及具有其的电子设备、存储介质 | |
| TWI536287B (zh) | Integrated user acceptance test T & B system | |
| Cortis Mack et al. | RECAPP-XPR: A smartphone application for presenting and recalling experimentally controlled stimuli over longer timescales | |
| US20240086809A1 (en) | Process Variation Management | |
| KR20250135604A (ko) | 직업소개소/구인자/구직자의 주관적 평가를 인공지능으로 계량하여 구직자를 추천하는 방법 | |
| US20080004885A1 (en) | Business control management system | |
| CN111557004B (zh) | Cad数据检查系统以及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090716 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111124 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111202 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111202 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141216 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |