社交互動代碼開發(fā)的制作方法
【專利摘要】本發(fā)明提供一種用于多個代碼模塊的社交互動代碼開發(fā)的系統(tǒng)。所述系統(tǒng)包括活動監(jiān)視器,所述活動視器用于監(jiān)視對所述多個代碼模塊中的一個或多個的訪問。所述系統(tǒng)進(jìn)一步包括社交反饋引擎,所述社交反饋引擎用于基于觸發(fā)預(yù)定義的訪問閾值來發(fā)起通信,所述預(yù)定義的訪問閾值是針對所述多個代碼模塊中的一個具體代碼模塊的至少一部分來設(shè)定。
【專利說明】社交互動代碼開發(fā)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于社交互動代碼開發(fā)的方法和系統(tǒng)。
【背景技術(shù)】
[0002]傳統(tǒng)上,軟件開發(fā)者在團(tuán)隊中工作,并且每個開發(fā)者或每人被賦予為整個項(xiàng)目生成軟件的特殊模塊或片段的角色或任務(wù)。在軟件項(xiàng)目的開發(fā)階段期間,團(tuán)隊成員將通常在團(tuán)隊會議期間每天相互交流一次或根據(jù)需要在開發(fā)者需要反饋或共享信息時在一天期間周期性地相互交流。
[0003]生產(chǎn)軟件產(chǎn)品的這種方法的問題在于,超過一個開發(fā)者將需要訪問互動開發(fā)的其它共同開發(fā)者的代碼、互動性或?qū)嵭袑Υa的較大片段的更新。當(dāng)這種類型的互動性發(fā)生時,開發(fā)者通常訪問由團(tuán)隊成員生產(chǎn)的代碼,以便不時地修改、訪問、檢出或重寫由另一個團(tuán)隊成員編寫或生產(chǎn)的代碼。對代碼的更改不可用于復(fù)查,直到所述代碼被再次檢入為止。當(dāng)團(tuán)隊成員在其開發(fā)周期期間返回到他們的代碼時,團(tuán)隊成員將注意到,另一團(tuán)隊成員在沒有他們許可或討論的情況下已修改了他們的代碼或更改了某個方面。因此,開發(fā)者將僅僅在進(jìn)行或撤銷對他或她的代碼的修改上浪費(fèi)時間,以便解決由另一團(tuán)隊成員做出的更改。
[0004]在開發(fā)過程期間,當(dāng)團(tuán)隊成員訪問或修改了由特定團(tuán)隊成員生產(chǎn)的原始代碼時,將浪費(fèi)大量的時間來重做或進(jìn)行對代碼的調(diào)整。
[0005]在這個上下文中本發(fā)明的實(shí)施方案出現(xiàn)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的實(shí)施方案提供用于社交互動代碼開發(fā)的系統(tǒng)和方法。應(yīng)理解的是,本發(fā)明可以多種方式來實(shí)行,如處理、設(shè)備、系統(tǒng)、裝置或計算機(jī)可讀介質(zhì)上的方法。以下描述本發(fā)明的若干發(fā)明性實(shí)施方案。
[0007]在一個實(shí)施方案中,提供一種用于多個代碼模塊的社交互動代碼開發(fā)的系統(tǒng)。所述系統(tǒng)包括活動監(jiān)視器,所述活動監(jiān)視器用于監(jiān)視對所述多個代碼模塊中的一個或多個的訪問。所述系統(tǒng)進(jìn)一步包括社交反饋引擎,所述社交反饋引擎用于基于觸發(fā)預(yù)定義的訪問閾值來發(fā)起通信,所述預(yù)定義的訪問閾值是針對所述多個代碼模塊中的一個具體代碼模塊的至少一部分來設(shè)定。
[0008]在一個實(shí)施方案中,所述預(yù)定義的訪問閾值被定義為以下各項(xiàng)中的一個或多個:打開、查看或編輯所述多個代碼模塊中的所述一個具體代碼模塊的一部分。在一個實(shí)施方案中,所述通信指向觸發(fā)所述預(yù)定義的訪問閾值的用戶。在另一個實(shí)施方案中,所述通信指向所述多個代碼模塊中的一個具體代碼模塊的一部分的所有者。
[0009]在一個實(shí)施方案中,所述通信包括實(shí)時通信鏈接。在一個實(shí)施方案中,所述實(shí)時通信鏈接是定義在觸發(fā)所述預(yù)定義的訪問閾值的用戶與所述多個代碼模塊中的一個具體代碼模塊的一部分的所有者之間。在各種實(shí)施方案中,所述實(shí)時通信鏈接包括所述多個代碼模塊中的所述一個具體代碼模塊的一部分的即時視圖和歷史視圖之一。
[0010]在一個實(shí)施方案中,所述系統(tǒng)進(jìn)一步包括標(biāo)簽生成器,所述標(biāo)簽生成器用于生成與所述多個代碼模塊中的所述一個具體代碼模塊的一部分相關(guān)聯(lián)的標(biāo)簽,所述標(biāo)簽定義了所述通信和所述預(yù)定義的訪問閾值。
[0011]在一個實(shí)施方案中,通信的發(fā)起是基于所述多個代碼模塊中的所述一個具體代碼模塊的一部分相對所述多個代碼模塊中的一個代碼模塊的另一部分的接近度。在一個實(shí)施方案中,所述接近度是由父子關(guān)系來定義。
[0012]在一個實(shí)施方案中,所述系統(tǒng)進(jìn)一步包括用戶界面,所述用戶界面用于提供對所述多個代碼模塊中的一個或多個的訪問。在一個實(shí)施方案中,所述用戶界面包括值數(shù)據(jù)呈現(xiàn)器,所述值數(shù)據(jù)呈現(xiàn)器用于呈現(xiàn)關(guān)于所述多個代碼模塊中的一個或多個的至少一部分的值數(shù)據(jù),所述值數(shù)據(jù)定義了相對重要性水平。在一個實(shí)施方案中,所述值數(shù)據(jù)包括源自于開發(fā)時間、游戲時間、測試時間和成本中的一個或多個的度量。
[0013]在另一個實(shí)施方案中,提供一種用于多個代碼模塊的社交互動代碼開發(fā)的方法。所述方法始于監(jiān)視對所述多個代碼模塊中的一個或多個的訪問?;谟|發(fā)預(yù)定義的訪問閾值來發(fā)起通信,所述預(yù)定義的訪問閾值是針對所述多個代碼模塊中的一個具體代碼模塊的至少一部分來設(shè)定。
[0014]在一個實(shí)施方案中,所述方法進(jìn)一步包括生成標(biāo)簽,所述標(biāo)簽與所述多個代碼模塊中的所述一個具體代碼模塊的至少一部分相關(guān)聯(lián),所述標(biāo)簽定義了所述通信和所述預(yù)定義的訪問閾值。在一個實(shí)施方案中,所述方法進(jìn)一步包括提供對所述多個代碼模塊中的一個或多個的訪問。在一個實(shí)施方案中,提供訪問包括呈現(xiàn)關(guān)于所述多個代碼模塊中的一個或多個的至少一部分的值數(shù)據(jù),所述值數(shù)據(jù)定義了相對重要性水平。在一個實(shí)施方案中,所述值數(shù)據(jù)包括源自于開發(fā)時間、游戲時間、測試時間和成本中的一個或多個的度量。
[0015]本發(fā)明的其它方面將從以下結(jié)合附圖進(jìn)行的詳細(xì)描述中變得顯而易見,附圖通過舉例的方式示出了本發(fā)明的原理。
【專利附圖】
【附圖說明】
[0016]可通過參照以下結(jié)合附圖進(jìn)行的描述更好地理解本發(fā)明,在附圖中:
[0017]圖1示出根據(jù)本發(fā)明的實(shí)施方案的用于社交互動代碼開發(fā)的系統(tǒng)。
[0018]圖2示出根據(jù)本發(fā)明的實(shí)施方案的用于社交互動代碼開發(fā)的系統(tǒng)。
[0019]圖3示出根據(jù)本發(fā)明的實(shí)施方案的用于社交互動代碼開發(fā)的系統(tǒng)。
[0020]圖4示出根據(jù)本發(fā)明的實(shí)施方案的具有各種關(guān)聯(lián)標(biāo)簽的代碼模塊。
[0021]圖5示出根據(jù)本發(fā)明的實(shí)施方案的編輯屏幕。
[0022]圖6示出根據(jù)本發(fā)明的實(shí)施方案的用于設(shè)定社交反饋機(jī)制的各種選項(xiàng)。
[0023]圖7示出根據(jù)本發(fā)明的實(shí)施方案的社交互動代碼開發(fā)場景。
[0024]圖8示出根據(jù)本發(fā)明的實(shí)施方案的用于設(shè)定警報的形式200。
[0025]圖9示出根據(jù)本發(fā)明的實(shí)施方案的每個用戶的代碼違例的圖表。
[0026]圖10示出根據(jù)本發(fā)明的實(shí)施方案的多個代碼模塊之間的父子關(guān)系。
[0027]圖11示出根據(jù)本發(fā)明的實(shí)施方案的各種代碼模塊隨著時間的激活周期。
[0028]圖12示出根據(jù)本發(fā)明的實(shí)施方案的QA標(biāo)記的放置和復(fù)查。[0029]圖13示出根據(jù)本發(fā)明的實(shí)施方案的管理報告系統(tǒng)。
[0030]圖14示出可用來實(shí)行本發(fā)明的實(shí)施方案的硬件和用戶界面。
【具體實(shí)施方式】
[0031]以下實(shí)施方案描述用于社交互動代碼開發(fā)的方法和設(shè)備。
[0032]然而,本領(lǐng)域技術(shù)人員將明白,本發(fā)明可在沒有一些或所有這些特定細(xì)節(jié)的情況下實(shí)踐。在其它情況下,并沒有詳細(xì)描述眾所周知的處理操作,以避免不必要地混淆本發(fā)明。
[0033]圖1示出根據(jù)本發(fā)明的實(shí)施方案的用于社交互動代碼開發(fā)的系統(tǒng)。系統(tǒng)包括代碼管理系統(tǒng)10,所述代碼管理系統(tǒng)包括用于代碼開發(fā)和管理的各種模塊。代碼管理系統(tǒng)10包括代碼庫12,所述代碼庫存儲處于開發(fā)之中的各種代碼模塊。標(biāo)簽?zāi)K14包括用于生成與代碼模塊或其部分相關(guān)聯(lián)的標(biāo)簽的標(biāo)簽生成器16。所述標(biāo)簽存儲在標(biāo)簽存儲器18中。接近度模塊20包括用于確定代碼模塊或其部分的接近度的各種組件。
[0034]如果兩個代碼模塊或其部分以某種方式相關(guān),那么它們通常被認(rèn)為是彼此接近。接近度可包括很多方面,包括如父子關(guān)系、同伴關(guān)系、與相同或類似模塊或?qū)ο蠡蛑黝}的關(guān)系的依賴性、執(zhí)行時間、執(zhí)行部位等??紤]用于視頻游戲的兩個代碼模塊的簡單實(shí)施例用來突出顯示可能的接近度關(guān)系。例如,如果以下各項(xiàng)中的一個或多個為真,那么兩個代碼模塊可被認(rèn)為是彼此接近或有關(guān):一個是另一個的父或子;兩個都被引用為相同父模塊的子;兩個都涉及游戲內(nèi)的相同對象;兩個都涉及相同游戲水平;兩個都傾向于被同時執(zhí)行;兩個都涉及在游戲內(nèi)的類似位置(例如,接近位置或在如房間或車輛的相同識別的空間內(nèi))出現(xiàn)的對象等。接近度規(guī)則24管理著對哪些代碼模塊或其部分被確定為彼此接近的確定。
[0035]分析器22分析代碼庫12,以便基于接近度規(guī)則24來確定哪些代碼模塊或其部分彼此接近。分析器22可分析代碼模塊之間的關(guān)系,以便確定哪些代碼模塊彼此接近。分析器22還可利用如關(guān)于代碼模塊的歷史數(shù)據(jù)的額外信息來根據(jù)接近度規(guī)則24確定接近度。歷史數(shù)據(jù)可包括可用于確定代碼模塊的接近度的任何類型的數(shù)據(jù),如執(zhí)行時間、執(zhí)行位置等。分析器22基于接近度規(guī)則24確定代碼模塊之間的接近度并將這些確定的關(guān)系存儲在接近度關(guān)系存儲器26中。請注意,接近度關(guān)系通常是由分析器22確定,但也可手動定義。例如,特定模塊的所有者或授權(quán)這樣做的特定用戶可具體定義代碼模塊或代碼模塊的部分之間的接近度關(guān)系。
[0036]社交反饋引擎28利用接近度關(guān)系并且基于代碼模塊的檢測到的訪問活動來發(fā)起通信。例如,在所示實(shí)施方案中,用戶A正經(jīng)由與用戶B擁有的接近代碼模塊存在接近度關(guān)系的編碼客戶端32訪問具體代碼模塊。社交反饋引擎可基于檢測到的訪問活動來提醒用戶A接近度關(guān)系的存在,從而指示對具體代碼模塊的更改可影響接近代碼模塊,并且用戶A可能希望與用戶B通信。這樣的警報可響應(yīng)于各種類型的訪問活動來生成,所述各種類型的訪問活動如打開具體代碼模塊以用于編輯或進(jìn)行對具體代碼模塊的特定部分的編輯。在一個實(shí)施方案中,社交反饋引擎可提供用于容易地發(fā)起與用戶B的通信的機(jī)制,如通過發(fā)起到用戶B的電子郵件或發(fā)起與用戶B的聊天窗口。在一個實(shí)施方案中,社交反饋引擎向用戶A指示用戶B是否在線,并且促進(jìn)通信的發(fā)起。通信可使用戶A的通信客戶端34與用戶B的通信客戶端38之間經(jīng)由通信服務(wù)器30的傳輸成為必要。通信類型的例子包括電子郵件、文本聊天(即時消息傳送)、語音聊天、視頻聊天等。
[0037]在另一個實(shí)施方案中,社交反饋引擎28可響應(yīng)檢測到的訪問活動,其中用戶A和用戶B正訪問相關(guān)代碼模塊。由不同方對接近代碼模塊的同時更改可能是有問題的,這是因?yàn)楦目赡軟]有經(jīng)過協(xié)調(diào),以避免兼容性問題或其它類型的問題。因此,當(dāng)用戶A和用戶B同時訪問相關(guān)的代碼模塊或其部分時,社交反饋引擎28可發(fā)起用戶A與用戶B之間的通信。社交反饋引擎可提醒用戶A和用戶B兩者另一方同時正在積極處理相關(guān)的代碼模塊,并且發(fā)起用于通信的機(jī)制,如經(jīng)由通信服務(wù)器30的聊天會話。
[0038]在一個實(shí)施方案中,代碼管理系統(tǒng)10包括標(biāo)簽?zāi)K14。標(biāo)簽?zāi)K14包括標(biāo)簽生成器16和標(biāo)簽存儲器18。標(biāo)簽將通常被理解為用戶定義項(xiàng),所述用戶定義項(xiàng)與代碼模塊或代碼模塊的一部分相關(guān)聯(lián)。標(biāo)簽可包括與代碼有關(guān)的描述性數(shù)據(jù),如關(guān)于代碼的信息,如其所有者、內(nèi)容、特征、特殊要求、相關(guān)代碼模塊或其它信息。標(biāo)簽可定義某些限制或許可,并且還可定義可響應(yīng)于某些活動發(fā)起的某些動作,所述某些動作如打開、查看或編輯代碼模塊。
[0039]如繼續(xù)參照圖1所示,在一個實(shí)施方案中,用戶A利用編碼客戶端32來打開具體代碼模塊。在方法操作40處,編碼客戶端32檢索代碼模塊。在操作42處,與具體代碼模塊相關(guān)聯(lián)的標(biāo)簽也被檢索。并且在操作44處,標(biāo)簽被執(zhí)行。在一個實(shí)施方案中,標(biāo)簽可定義注解46。因此,在操作48處,響應(yīng)于特定動作來顯示注解,所述特定動作如打開或查看代碼模塊,或使指針懸停在代碼模塊的一部分上方,或進(jìn)行對代碼模塊的一部分的編輯。
[0040]在一個實(shí)施方案中,標(biāo)簽可定義警報50。在操作52處,響應(yīng)于關(guān)于代碼模塊進(jìn)行的某個動作來發(fā)送警報,所述某個動作如打開或編輯代碼模塊。警報可被發(fā)送至指定方,如具體代碼模塊的所有者或可受到對具體代碼模塊的編輯影響的相關(guān)代碼模塊的所有者,僅舉例來說。警報可根據(jù)任何數(shù)目的通信方法來傳達(dá),所述通信方法如電子郵件、即時消息傳送、文本消息傳送或其它通信方法。警報可被定義來出于各種目的而傳輸各種類型的信息。
[0041]例如,在一個實(shí)施方案中,警報可被定義來通知具體代碼模塊的所有者已對所述代碼模塊進(jìn)行的更改的類型。在另一個實(shí)施方案中,警報可被配置成僅在具體類型的更改發(fā)生時被傳輸。例如,可向嘗試進(jìn)行具體類型的更改的用戶呈現(xiàn)如果進(jìn)行更改那么將向代碼模塊的所有者發(fā)送警報的通知。因此,標(biāo)簽定義了限制,其中在不提醒代碼模塊所有者的情況下無法進(jìn)行具體類型的更改。
[0042]在其它實(shí)施方案中,警報可被定義來通知相關(guān)代碼模塊的所有者對具體代碼模塊進(jìn)行的更改。警報可被定義來指定更改的性質(zhì),如通過包括更改被突出顯示的代碼文本。以此方式,相關(guān)代碼模塊的所有者可被告知對某些代碼模塊的更改,所述更改可能會影響他們的代碼模塊。
[0043]在一個實(shí)施方案中,標(biāo)簽可定義實(shí)時通信54。在操作56處,基于由標(biāo)簽定義的事件發(fā)起用戶A與用戶B之間的實(shí)時通信。在一個實(shí)施方案中,用戶A與用戶B之間的實(shí)時通信的發(fā)起是由用戶A的通信客戶端34和用戶B的通信客戶端38經(jīng)由通信服務(wù)器30來發(fā)起。實(shí)時通信的例子包括文本聊天、語音聊天、視頻聊天等。正如上述注解和警報,實(shí)時通信可通過如由標(biāo)簽定義的特定事件的發(fā)生觸發(fā)。這些事件可包括與具體代碼模塊有關(guān)的各種類型的活動,如打開或編輯代碼模塊。在一個實(shí)施方案中,所述標(biāo)簽被定義來向用戶A建議與用戶B的實(shí)時通信應(yīng)基于用戶A的活動發(fā)生??山Y(jié)合顯示用戶B的在線/離線狀態(tài),以使得用戶A可邀請用戶B進(jìn)行實(shí)時聊天,舉例來說。
[0044]在一個實(shí)施方案中,用戶A編輯用戶B為所有者的具體代碼模塊。當(dāng)進(jìn)行了對具體代碼模塊的某一類型的編輯時,執(zhí)行與具體代碼模塊相關(guān)聯(lián)的標(biāo)簽,所述標(biāo)簽定義與用戶B的實(shí)時通信。因此,如果用戶A進(jìn)行了如由標(biāo)簽定義的所述類型的編輯,那么用戶A被告知建議與用戶B進(jìn)行實(shí)時通信,并且可向用戶A可呈現(xiàn)邀請用戶B參加實(shí)時通信的選項(xiàng)。以此方式,可經(jīng)由實(shí)時通信通知代碼模塊的所有者對他們的代碼模塊的潛在更改。在另一個實(shí)施方案中,用戶B可為相關(guān)代碼模塊的所有者。以此方式,可通知相關(guān)代碼模塊的所有者可影響他們的代碼模塊的潛在更改。
[0045]圖2示出根據(jù)本發(fā)明的實(shí)施方案的用于社交互動代碼開發(fā)的系統(tǒng)。代碼庫60包括開發(fā)項(xiàng)目的各種代碼模塊。用戶A、B、C、D和E經(jīng)由資產(chǎn)訪問模塊62訪問代碼庫的代碼模塊。資產(chǎn)訪問模塊62可處理與代碼模塊的訪問有關(guān)的各種功能,如檢出或檢入代碼模塊、提供用于查看或編輯代碼模塊的用戶界面等。
[0046]規(guī)則模塊68包括被定義成用于與代碼模塊互動的各種規(guī)則。用于具體代碼模塊的規(guī)則可由授權(quán)這樣做的那些人(代碼模塊的所有者)來定義。規(guī)則可采取任何數(shù)目的形式并且可取決于正被編碼的模塊的敏感性而極特殊地被定義。僅舉例來說,規(guī)則可定義各種功能,如識別誰正通過到模塊所有者的消息的方式與代碼接合或互動;識別誰正觸摸文件或訪問文件、誰正在對模塊進(jìn)行更改、正對模塊進(jìn)行的更改的類型、模塊代碼的片段是否被檢出等。規(guī)則還可定義各種許可,如特定團(tuán)隊成員是否具有控制代碼的權(quán)力、重寫代碼的權(quán)力、更改API的權(quán)力等。
[0047]分析器引擎64包括智能代理66,所述智能代理由各個用戶監(jiān)視代碼模塊和互動性。智能代理66監(jiān)視與代碼模塊的各種類型的互動,如誰正與文件互動或正訪問文件、對代碼模塊的更改、檢出、重寫、API更改等。分析器引擎64還可分析代碼模塊及其相互依賴型和互動性,并且可基于現(xiàn)有規(guī)則來確定新規(guī)則。例如,通用規(guī)則可指定,對于具有某一關(guān)系的代碼模塊來說,對代碼模塊之一的更改需要通知其它代碼模塊的所有者。隨后,智能代理66可分析代碼模塊并確定所述代碼模塊中的哪些具有指定的關(guān)系,并且基于通用規(guī)則來定義特定于那些代碼模塊的規(guī)則。
[0048]基于規(guī)則和通過可能正訪問自己的模塊或其他用戶的模塊的用戶的實(shí)際互動性,社交反饋引擎70發(fā)起用戶之間的社交互動通信。通信由通信模塊72調(diào)解并且可包括各種形式的通信,如各種類型的消息傳送、通知、電子郵件、聊天和各種其它實(shí)時或非實(shí)時通信方法。社交反饋引擎70包括歷史數(shù)據(jù)存儲器74,所述歷史數(shù)據(jù)存儲器含有歷史社交互動通信數(shù)據(jù)。歷史數(shù)據(jù)存儲器74提供社交互動通信的日志,所述日志可被復(fù)查并分析,以便理解開發(fā)如何發(fā)生和可如何改善開發(fā)。
[0049]圖3示出根據(jù)本發(fā)明的實(shí)施方案的用于社交互動代碼開發(fā)的系統(tǒng)。系統(tǒng)的各種組件經(jīng)由網(wǎng)絡(luò)80連接。網(wǎng)絡(luò)80可為可促進(jìn)數(shù)據(jù)和通信傳輸?shù)娜魏晤愋偷木W(wǎng)絡(luò),如LAN、WAN、因特網(wǎng)或其它類型的網(wǎng)絡(luò)。代碼存儲器82存儲正被開發(fā)的代碼。代碼存儲器82可包括各種代碼模塊和工具。規(guī)則模塊84包括用于與代碼互動的規(guī)則,如定義對代碼的各種限制或要求。標(biāo)簽存儲器86存儲被定義來用于代碼或用于其部分的各種標(biāo)簽。分析器98分析與代碼的互動,并且基于規(guī)則或標(biāo)簽,經(jīng)由通信服務(wù)器100觸發(fā)各種類型的通信。
[0050]在一個實(shí)施方案中,會話管理器92管理用于與代碼互動的會話。例如,用戶A可打開用于與代碼模塊中的一個或多個互動的會話94。會話94包括用于與代碼互動的圖形用戶界面(GUI)96。會話還包括跟蹤器98,所述跟蹤器在會話94期間跟蹤與代碼的互動。所跟蹤的互動被饋送至分析器88,所述分析器分析與代碼的互動,并且基于規(guī)則或標(biāo)簽,可經(jīng)由通信服務(wù)器100發(fā)起通信。
[0051]在一個實(shí)施方案中,提供質(zhì)量保證(QA)模塊102以用于進(jìn)行代碼的QA測試。QA測試員104與QA模塊102接合,以便執(zhí)行并測試代碼。在一個實(shí)施方案中,QA模塊102提供用于測試的界面,其中QA測試員104能夠在代碼的執(zhí)行期間設(shè)定標(biāo)記,所述標(biāo)記指示錯誤的位置。標(biāo)記與代碼模塊中的一個或多個或其部分相關(guān)聯(lián)。隨后,使通信服務(wù)器100參加來通知適當(dāng)代碼模塊的所有者錯誤的存在。通知可包括可用于診斷和修補(bǔ)錯誤的各種類型的信息,如示出錯誤的執(zhí)行程序的屏幕截圖或視頻捕捉。
[0052]在一個實(shí)施方案中,可使通信服務(wù)器100參加來發(fā)起QA測試員104與已放置了指示錯誤存在的標(biāo)記的代碼模塊的所有者之間的實(shí)時通信。例如,在一個實(shí)施方案中,QA界面使得QA測試員104能夠看到已放置了標(biāo)記的相關(guān)代碼模塊的所有者的在線狀態(tài),并且被賦予選項(xiàng)以便發(fā)起與代碼模塊的所有者的通信。在另一個實(shí)施方案中,代碼模塊的所有者可接收指示標(biāo)記已放置的通知。代碼模塊的所有者還可看到放置標(biāo)記的QA測試員的在線狀態(tài),并且如果所述狀態(tài)可用的話,所述QA測試員被呈現(xiàn)發(fā)起與QA測試員的實(shí)時通信的選項(xiàng)。
[0053]在一個實(shí)施方案中,上述系統(tǒng)也可連接至其它類型的系統(tǒng),如財務(wù)系統(tǒng)106。來自財務(wù)系統(tǒng)106的財務(wù)數(shù)據(jù)可以各種方式與社交互動開發(fā)系統(tǒng)整合在一起。例如,在一個實(shí)施方案中,可實(shí)時查看涉及單獨(dú)代碼模塊的財務(wù)數(shù)據(jù),以使得開發(fā)者可意識到他們對代碼模塊的編輯可如何潛在地影響由代碼模塊產(chǎn)生的收入?;蚬芾砣藛T可能能夠生成報告,以便根據(jù)財務(wù)數(shù)據(jù)評估代碼模塊。
[0054]在一個實(shí)施方案中,外部用戶數(shù)據(jù)模塊108提供關(guān)于代碼模塊由外部用戶使用的數(shù)據(jù)。這個數(shù)據(jù)可并入實(shí)時編輯過程中,以使得開發(fā)者可更好地理解用戶如何利用代碼模塊和編輯可如何潛在地影響這樣的使用。
[0055]提供上述系統(tǒng)作為用于社交互動代碼開發(fā)的示例性實(shí)施方案。在團(tuán)隊開發(fā)期間,當(dāng)團(tuán)隊成員訪問或修改了由特定團(tuán)隊成員生產(chǎn)的原始代碼時,將浪費(fèi)大量的時間來重做或進(jìn)行對代碼的調(diào)整。然而,通過在團(tuán)隊成員之間主動注入一定程度的社交互動性,有可能克服重寫、校正以及由于團(tuán)隊編碼員之間缺乏互動通信而注入代碼中的錯誤的缺點(diǎn)。
[0056]上述系統(tǒng)的某些優(yōu)點(diǎn)包括例如允許每個團(tuán)隊成員監(jiān)視誰正在訪問他們的代碼、他們?yōu)槭裁丛L問他們的代碼,并且為了產(chǎn)品的更一致生產(chǎn)而與團(tuán)隊成員互動。另一個優(yōu)點(diǎn)是,實(shí)時社交反饋將允許形成軟件編碼員團(tuán)隊的用戶中的每個用戶監(jiān)視他們用于實(shí)時編輯的代碼,并且在由其它用戶開發(fā)期間注入他們的反饋。
[0057]在一些情況下,將通過其它用戶的對代碼片段的反饋或互動性保存至文件。隨后,代碼片段的所有者可訪問文件,以便識別由代碼片段的所有者設(shè)定的規(guī)則的更改、編輯或違例的歷史。在一些實(shí)施方案中,歷史文件可用來分析性能或生成開發(fā)過程的直方圖。在一些情況下,直方圖可識別哪些編碼員(團(tuán)隊成員)在產(chǎn)品的開發(fā)期間產(chǎn)生更多的違例。另夕卜,直方圖可識別由某些團(tuán)隊成員重復(fù)發(fā)生的違例的類型?;谶@個數(shù)據(jù),團(tuán)隊成員可通過專業(yè)技術(shù)水平來重新組織,以便減少各種代碼片段的違例數(shù)目。[0058]在又一個實(shí)施方案中,當(dāng)新團(tuán)隊成員添加到新項(xiàng)目中時,可能識別新團(tuán)隊成員是否精通其開發(fā)技能。如果新團(tuán)隊成員添加到項(xiàng)目中并且直方圖表明他們對代碼的訪問導(dǎo)致高水平的規(guī)則違例,那么新團(tuán)隊成員可能不熟悉產(chǎn)品或需要再培訓(xùn)。
[0059]在又一個實(shí)施方案中,反饋和直方圖信息可被自動添加到知識庫,所述知識庫微調(diào)由代碼片段的單獨(dú)所有者所設(shè)定的各種規(guī)則。調(diào)整過程可為學(xué)得的調(diào)整過程,其優(yōu)化各種規(guī)則,以便在違例不影響代碼的功能時避免那些違例。在一些情況下,學(xué)習(xí)過程可提供建議的標(biāo)簽,以便放置在代碼上,以使得代碼片段的所有者可更好地定義他或她的規(guī)則并且使關(guān)于產(chǎn)品開發(fā)的團(tuán)隊社交作為整體更加有效。
[0060]圖4示出具有各種關(guān)聯(lián)標(biāo)簽的代碼模塊。如所示,代碼庫110包括代碼模塊112。代碼模塊112的文本視圖114示出代碼模塊112的各個部分。在各種實(shí)施方案中,可以各種方式將標(biāo)簽分配給代碼模塊112的多個部分。標(biāo)簽116被分配給代碼部分118 ;標(biāo)簽120被分配給代碼部分122 ;標(biāo)簽124被分配給代碼部分126??煞峙溆袠?biāo)簽的代碼部分的大小可以不同,從代碼行的一部分到代碼行,到代碼的全部區(qū)段或代碼模塊的整體。例如,標(biāo)簽120被分配給部分126,所述部分是代碼行的一部分,而標(biāo)簽116被分配給部分118,所述部分是代碼的一個區(qū)段。分配有標(biāo)簽的代碼的多個部分可彼此重疊或可彼此嵌套。例如,部分118與部分122重疊。而部分126嵌套在部分118和部分122兩者之內(nèi)。
[0061]標(biāo)簽128與代碼模塊112的部分130相關(guān)聯(lián)。各種方法操作被發(fā)起來設(shè)定標(biāo)簽128。在操作132處,用戶指定部分130來設(shè)定社交參數(shù)。在一個實(shí)施方案中,這通過突出顯示部分130并選擇設(shè)定社交參數(shù)的菜單選項(xiàng)來進(jìn)行。然后在操作134處,用戶指示將要經(jīng)由社交參數(shù)形式設(shè)定的標(biāo)簽的詳情。社交參數(shù)形式為用戶提供定制標(biāo)簽的細(xì)節(jié)的選項(xiàng)。并且在操作136處,標(biāo)簽被保存為標(biāo)簽128。標(biāo)簽128隨后將在用戶打開代碼模塊112時被檢索,并在相關(guān)時間執(zhí)行,以便響應(yīng)于與部分130有關(guān)的檢測到的活動而提供社交反饋機(jī)制。
[0062]繼續(xù)參照圖4,示出代碼模塊112的注釋部分138。在一個實(shí)施方案中,標(biāo)簽可實(shí)為為代碼模塊內(nèi)的注釋,從而利用代碼模塊的特定編程語言的注釋句法。換句話說,標(biāo)簽是利用編程語言的注釋句法予以定義并且被存儲為代碼的部分。因此,注釋部分138可包括標(biāo)簽定義信息,如標(biāo)簽將涉及的代碼模塊的一部分、與代碼模塊的一部分有關(guān)的觸發(fā)活動,和社交反饋響應(yīng)。當(dāng)代碼模塊由復(fù)雜的編輯器打開時,如在提供社交互動開發(fā)的上述系統(tǒng)中,那么含于注釋部分138中的信息被讀取并解釋為標(biāo)簽,并且在檢測到適當(dāng)活動時,被執(zhí)行來提供社交反饋。
[0063]另外,這樣實(shí)行的標(biāo)簽可包括可由用戶讀取并理解的用戶可讀文本。例如,可以用戶可讀文本形式包括如具體模塊的所有者或關(guān)于代碼模塊的部分的描述或注解的信息。因此,定義標(biāo)簽的文本可被配置成容于以其本機(jī)文本形式讀取并理解。以此方式,當(dāng)代碼模塊以簡單的文本編輯器或不具有解釋和執(zhí)行標(biāo)簽的能力的類似讀取或編輯程序打開,體現(xiàn)于標(biāo)簽中的信息仍可被理解。
[0064]圖5示出根據(jù)本發(fā)明的實(shí)施方案的編輯屏幕。編碼區(qū)域140包括代碼模塊的代碼文本,其中用戶可查看并編輯代碼。儀表板區(qū)域142包括顯示與當(dāng)前正被編輯的代碼模塊有關(guān)的信息的各種區(qū)段。接近度區(qū)段144顯示當(dāng)前正被查看的代碼模塊或其部分與其它代碼模塊或部分的接近度關(guān)系。接近度區(qū)段可列表接近代碼模塊的姓名以及接近代碼模塊的所有者的姓名,以使得用戶可由于其對接近代碼模塊的所有權(quán)而知道他們可能希望與誰通?目。
[0065]規(guī)則區(qū)段146顯示涉及代碼模塊的規(guī)則。在一個實(shí)施方案中,示出用于正被積極處理并實(shí)時更新的代碼的規(guī)則。因此,當(dāng)用戶處理代碼的不同部分時,可示出涉及用戶正積極處理的部分的不同規(guī)則。
[0066]在一個實(shí)施方案中,儀表板區(qū)域142包括統(tǒng)計數(shù)據(jù)區(qū)段148,所述統(tǒng)計數(shù)據(jù)區(qū)段顯示與正被積極處理的代碼模塊或其部分相關(guān)的統(tǒng)計數(shù)據(jù)。統(tǒng)計數(shù)據(jù)區(qū)段148可被配置來顯示關(guān)于代碼的各種類型的統(tǒng)計數(shù)據(jù),所述統(tǒng)計數(shù)據(jù)可幫助用戶確定如果存在修改的話,應(yīng)如何進(jìn)行修改和進(jìn)行哪些修改。例如,在一個實(shí)施方案中,統(tǒng)計數(shù)據(jù)區(qū)段148提供已花費(fèi)在代碼模塊或部分上的資源量的測量, 如花費(fèi)在開發(fā)上的時間量、開發(fā)成本、已訪問開發(fā)或?yàn)殚_發(fā)做出貢獻(xiàn)的不同用戶的數(shù)目等。在一個實(shí)施方案中,統(tǒng)計數(shù)據(jù)區(qū)段148提供代碼模塊或部分的重要性或顯著性的測量,如已執(zhí)行模塊或部分的次數(shù)、代碼模塊或部分相對于整個項(xiàng)目的總運(yùn)行時間執(zhí)行或有效的時間百分比、由代碼模塊或部分產(chǎn)生的收入量等。
[0067]通過提供用戶正積極處理的代碼模塊或其部分的顯著性的指示,用戶可被更好地告知有關(guān)他們的編輯活動可如何影響整體項(xiàng)目。例如,用戶可能尤其在意對在相對大量的時間內(nèi)是有效的或產(chǎn)生大量收入的代碼模塊進(jìn)行更改,因?yàn)檫@類更改可能具有顯著的影響。而且,用戶可能能夠?qū)⒃谙鄬ι倭康臅r間內(nèi)是有效的或產(chǎn)生相對少量的收入的代碼模塊或其部分作為可受益于廣泛修改的目標(biāo)代碼模塊,以便增加所述代碼模塊或其部分的顯著性測量。
[0068]在一個實(shí)施方案中,提供QA標(biāo)記區(qū)段150作為儀表板142的一部分。QA標(biāo)記區(qū)段150顯示與QA標(biāo)記有關(guān)的信息,所述信息可涉及當(dāng)前正被查看或編輯的代碼模塊或其部分。例如,QA標(biāo)記區(qū)段150可顯示如下信息:標(biāo)記涉及的具體代碼模塊或其部分、設(shè)定標(biāo)記的虛擬位置(例如,虛擬空間中的坐標(biāo))、設(shè)定標(biāo)記的日期和時間、設(shè)定QA標(biāo)記的用戶的姓名或id、所述人員的在線狀態(tài)等。在一個實(shí)施方案中,QA標(biāo)記區(qū)段150包括到關(guān)于QA標(biāo)記的進(jìn)一步詳細(xì)信息的鏈接,所述QA標(biāo)記與當(dāng)前代碼模塊或其部分相關(guān)聯(lián)。例如,可提供到示出QA標(biāo)記的屏幕截圖或視頻捕捉的鏈接以及到其它信息的鏈接。
[0069]在一個實(shí)施方案中,QA標(biāo)記區(qū)段150提供選項(xiàng)以便發(fā)起與設(shè)定QA標(biāo)記的用戶的通信。例如,在一個實(shí)施方案中,指示設(shè)定標(biāo)記的用戶的在線狀態(tài),并且如果所述人員在線,那么提供選項(xiàng)(如通過點(diǎn)擊所述人員的姓名或用戶id)以便發(fā)起與所述人員的通信,如電子郵件通信或如文本/音頻/視頻聊天會話的實(shí)時通信。以此方式,查看或編輯代碼模塊的用戶能夠有效地復(fù)查QA標(biāo)記并且必要時與設(shè)定給定QA標(biāo)記的用戶通信。
[0070]圖6示出用于設(shè)定社交反饋機(jī)制的各種選項(xiàng)。如所示,代碼部分160正被用戶查看或編輯。根據(jù)一個實(shí)施方案,用戶突出顯示代碼的部分162,并且激活含有用于設(shè)定社交反饋機(jī)制的選項(xiàng)的菜單163。舉例來說,可通過利用菜單欄,按住按鈕或如鼠標(biāo)上的輔助按鈕的其它觸發(fā)裝置等來激活菜單163。在所示實(shí)施方案中,菜單163包括用于插入注釋、設(shè)定警報或設(shè)定實(shí)時通信的選項(xiàng)。
[0071]在一個實(shí)施方案中,用戶可設(shè)定注釋,所述注釋將與所選代碼相關(guān)聯(lián),并且在查看或編輯所選代碼時被顯示。為了插入注釋,在操作164處,利用通過用戶的文本輸入來定義注釋。并且在操作166處,注釋被保存并且與所選代碼部分相關(guān)聯(lián)。在各種實(shí)施方案中,可基于各種類型的觸發(fā)機(jī)制示出注釋。例如,可在用戶將指針懸停在代碼的所選部分上方時示出注釋,或可在代碼旁邊或在儀表板區(qū)段中示出注釋。所選代碼可被突出顯示或具有指示注釋的存在的指示符。
[0072]在一個實(shí)施方案中,用戶可設(shè)定警報,所述警報將與所選代碼相關(guān)聯(lián)。為設(shè)定警報,在操作168處,用戶定義用于警報的觸發(fā)事件。觸發(fā)事件可為與用戶希望觸發(fā)將要被發(fā)送的警報的所選代碼部分有關(guān)的任何事件。例如,所述觸發(fā)事件可為針對所選代碼進(jìn)行的任何類型的編輯,或可更嚴(yán)格地定義為針對所選代碼進(jìn)行的具體類型的編輯。在操作170處,定義警報的類型。舉例來說,警報可被定義為利用具體通信方法,如電子郵件或文本消息傳送。另外,還定義了警報在被觸發(fā)時的接收人,如代碼模塊的所有者或用戶。還可定義警報的具體文本。在操作172處,警報被保存并且與所選代碼相關(guān)聯(lián)。
[0073]在一個實(shí)施方案中,用戶可設(shè)定實(shí)時通信事件,所述實(shí)時通信事件將與所選代碼相關(guān)聯(lián)。為了設(shè)定實(shí)時通信,在操作174處,用戶定義了用于實(shí)時通信事件的觸發(fā)事件。觸發(fā)事件可為與用戶希望觸發(fā)實(shí)時通信的所選代碼部分(如對所選代碼進(jìn)行的編輯類型)有關(guān)的任何事件。在操作176處,定義了實(shí)時通信的類型。舉例來說,實(shí)時通信事件可被定義為利用具體的實(shí)時通信方法,如文本聊天、語音聊天、視頻聊天等。在一個實(shí)施方案中,實(shí)時通信事件被定義為向查看或編輯所選代碼部分的用戶提供選項(xiàng)以便發(fā)起與另一個用戶的實(shí)時通信,所述另一用戶如代碼模塊的所有者或相關(guān)代碼模塊的所有者。用戶可能能夠查看定義實(shí)時通信事件所針對的所有者或人員的在線狀態(tài)。在操作178處,實(shí)時通信事件被保存并且與所選代碼相關(guān)聯(lián)。
[0074]圖7示出根據(jù)本發(fā)明的實(shí)施方案的社交互動代碼開發(fā)場景。如所示,用戶A正致力于開發(fā)代碼的一部分并且查看顯示器屏幕180。如用戶A的顯示器屏幕180中所示,用戶A已將指針181懸停在已關(guān)聯(lián)有注解或注釋的代碼區(qū)段182上方。因此顯示注解184,包括關(guān)于代碼區(qū)段的文本信息以及聯(lián)系人。聯(lián)系人為用戶B,其在線狀態(tài)被指示為當(dāng)前在線并且因此可聊天。通過點(diǎn)擊注解中用戶B的姓名,用戶A可打開聊天窗口 186,以便與用戶B連接。在用戶B的顯示器屏幕188上,打開對應(yīng)的聊天窗口 190,以使得用戶A和用戶B可實(shí)時聊天。另外,用戶B可訪問用戶A當(dāng)前正編輯的代碼的一部分的即時視圖192。在一個實(shí)施方案中,實(shí)時聊天由即時消息傳送服務(wù)器192來促進(jìn)。
[0075]圖8示出根據(jù)本發(fā)明的實(shí)施方案的用于設(shè)定警報的形式200。形式200可被利用來設(shè)定警報并使所述警報與代碼的區(qū)段相關(guān)聯(lián)。在所示實(shí)施方案中,形式200包括事件定義區(qū)段,由此用戶可定義事件的類型和關(guān)于將發(fā)送有警報的事件的更具體細(xì)節(jié)。根據(jù)一個實(shí)施方案,提供下拉式菜單202以用于定義事件的類型,如編輯事件或規(guī)則違例。類似地,提供下拉式菜單204以用于定義關(guān)于事件類型的額外細(xì)節(jié)。例如,如果事件類型為編輯事件,那么用戶可從菜單204中的選項(xiàng)中選擇,所述選項(xiàng)如添加的例行程序、轉(zhuǎn)移、API訪問等。同樣地,如果事件類型被定義為規(guī)則違例,那么用戶可從菜單204選擇各種具體規(guī)則R1、R2、R3等。形式200還包括用于定義警報類型和警報接收人的警報定義部分。在一個實(shí)施方案中,包括下拉式菜單206以用于定義將被發(fā)送的警報的類型,如電子郵件、文本聊天、語音聊天、文本消息等。類似地,包括下拉式菜單208以用于設(shè)定特定類型的警報的接收人。在一個實(shí)施方案中,包括文本框210以用于輸入文本,當(dāng)發(fā)送由形式200定義的警報時,所述文本將包括于所述警報中。
[0076]圖9示出根據(jù)本發(fā)明的實(shí)施方案的每個用戶的代碼違例的圖表。如本文其它地方所述,規(guī)則可被分配給代碼模塊,并且系統(tǒng)可被配置來響應(yīng)于規(guī)則的違例而提供社交反饋。因此,可存儲并且隨后分析與用戶的規(guī)則違例有關(guān)的數(shù)據(jù)。如所示,針對用戶A至用戶G用圖表示出用于各種代碼區(qū)段1、2和3的代碼違例的數(shù)目。對于代碼區(qū)段1,用戶C展現(xiàn)出最高數(shù)目的代碼違例,并且剩余用戶具有類似水平的代碼違例。對于代碼區(qū)段2,全部用戶具有相對類似水平的代碼違例。并且對于代碼區(qū)段3,用戶F展現(xiàn)出最高數(shù)目的代碼違例,并且剩余用戶具有相當(dāng)類似水平的代碼違例?;谶@個數(shù)據(jù),很明顯,用戶C對于代碼區(qū)段I而不是對于代碼區(qū)段2或3展現(xiàn)出異常高數(shù)目的違例。類似地,用戶F對于代碼區(qū)段3而不是對于代碼區(qū)段I或2展現(xiàn)出異常高數(shù)目的違例。管理員可利用這個信息來決定用于減少規(guī)則違例的數(shù)目的行動方案。例如,可確定的是,用戶C應(yīng)被再分配給除代碼區(qū)段I之外的代碼區(qū)段,或用戶C應(yīng)經(jīng)歷培訓(xùn)以變得更好地了解某些規(guī)則。
[0077]圖10示出根據(jù)本發(fā)明的實(shí)施方案的多個代碼模塊之間的父子關(guān)系。如本文其它地方所述,代碼模塊之間的接近度可基于各種因素,如父子關(guān)系。如所示實(shí)施方案中所示,代碼模塊Ml可被認(rèn)為接近代碼模塊Pl和P2,代碼模塊Pl和P2均為Ml的父。代碼模塊Ml還可接近代碼模塊M3,這是由于代碼模塊Ml和M3均為代碼模塊P2的子。代碼模塊Ml還可被認(rèn)為接近代碼模塊Cl和C2,這是由于Cl和C2是Ml的子。而且,代碼模塊Ml可被認(rèn)為接近M2,這是由于代碼模塊Cl是代碼模塊Ml和M2兩者的子。
[0078]圖11示出根據(jù)本發(fā)明的實(shí)施方案的各種代碼模塊隨著時間推移的激活周期。激活周期被示為用于代碼模塊A、B、C、D和E中的每一個的線段。如所示,用于代碼模塊A、B、C和E的激活周期一般來說彼此無關(guān)。然而,代碼模塊A和D的激活周期相當(dāng)類似。由此可得出結(jié)論,代碼模塊A和D可被認(rèn)為彼此接近,這是由于它們傾向于在相同的時間周期期間有效。
[0079]圖12示出根據(jù)本發(fā)明的實(shí)施方案的QA標(biāo)記的放置和復(fù)查。如所示,QA測試員220正在測試作為代碼庫230的所定義的各種代碼模塊的虛擬環(huán)境。例如,在一個實(shí)施方案中,代碼模塊定義視頻游戲,并且QA測試員220通過從頭到尾打視頻游戲來測試視頻游戲的虛擬環(huán)境。QA測試員利用QA用戶界面228,所述QA用戶界面產(chǎn)生由QA測試員220查看的顯示器屏幕222。如顯示器屏幕222上所示,QA測試員220已在視頻游戲的虛擬環(huán)境內(nèi)的特定位置(在地理上和時間兩者上)處放置了虛擬QA標(biāo)記224。QA標(biāo)記224被放置來指示存在需要由開發(fā)者復(fù)查的問題或錯誤。另外,QA測試員220已經(jīng)在文本窗口 226中輸入了關(guān)于所述問題的描述性信息,以用于由開發(fā)者復(fù)查。QA標(biāo)記和關(guān)聯(lián)描述性信息由QA標(biāo)記模塊232存儲并且與代碼庫230的代碼模塊中的一個或多個相關(guān)聯(lián)。
[0080]開發(fā)者236是QA標(biāo)記224所關(guān)聯(lián)的具體代碼模塊的所有者或開發(fā)者,并且因此被通知QA標(biāo)記的存在。開發(fā)者236經(jīng)由開發(fā)者用戶界面234訪問具體代碼模塊并復(fù)查QA標(biāo)記。開發(fā)者用戶界面234呈現(xiàn)為顯示器屏幕238,包括用于編輯具體代碼模塊代碼的編輯窗口 240。另外,屏幕截圖或視頻剪輯242示出由QA測試員220放置了 QA標(biāo)記224的所呈現(xiàn)的虛擬環(huán)境。而且,窗口 244顯示關(guān)于QA標(biāo)記224的信息,如由QA測試員220輸入的描述性信息。在一個實(shí)施方案中,信息包括設(shè)定QA標(biāo)記224的QA測試員220的id和在線狀態(tài)。開發(fā)者236可被呈現(xiàn)選項(xiàng)以便發(fā)起與QA測試員220的通信,如經(jīng)由電子郵件或?qū)崟r聊天。以此方式,開發(fā)者236被及時告知QA問題并且能夠以社交互動方式有效地解決它們。
[0081]圖13示出根據(jù)本發(fā)明的實(shí)施方案的管理報告系統(tǒng)。本文描述了用于提供社交互動代碼開發(fā)的各種系統(tǒng)。由這類系統(tǒng)生成的數(shù)據(jù)可與來自其它類型的系統(tǒng)和模塊的數(shù)據(jù)組合,以便提供擴(kuò)大的報告可能性。如所述實(shí)施方案中所示,管理報告用戶界面(Π)250提供用于基于來自各種系統(tǒng)的整合數(shù)據(jù)來生成關(guān)于代碼庫252的報告的界面。在一個實(shí)施方案中,財務(wù)數(shù)據(jù)模塊254提供了涉及代碼庫252的財務(wù)數(shù)據(jù),如由各種代碼模塊產(chǎn)生的收入和與所述代碼模塊相關(guān)聯(lián)的各種成本。在一個實(shí)施方案中,人員數(shù)據(jù)模塊256提供與代碼庫252的開發(fā)中所涉及的人員有關(guān)的數(shù)據(jù)。在一個實(shí)施方案中,外部用戶數(shù)據(jù)模塊258提供了基于外部用戶與代碼庫252的代碼模塊的互動的數(shù)據(jù)。在一個實(shí)施方案中,開發(fā)數(shù)據(jù)模塊260提供了與代碼庫252的開發(fā)有關(guān)的數(shù)據(jù)。這些及其它數(shù)據(jù)來源由管理報告UI250利用來生成報告262。
[0082]在各種實(shí)施方案中,報告262可包括與代碼庫252相關(guān)的信息的各種組合。例如,報告262可包括用于每個代碼模塊的數(shù)據(jù),如以下各項(xiàng):花費(fèi)在開發(fā)上的時間、開發(fā)成本、所產(chǎn)生的收入等。在一個實(shí)施方案中,特定代碼模塊的開發(fā)成本是基于所述代碼模塊的開發(fā)中所涉及的人員及他們的薪水來確定。在各種實(shí)施方案中,由特定模塊產(chǎn)生的收入可基于代碼模塊的性質(zhì)及其兌換現(xiàn)金而以各種方式來確定。
[0083]例如,代碼模塊可謹(jǐn)慎地售出,以使得其收入的確定涉及銷售額的簡單總計。在其它實(shí)施方案中,可將代碼模塊作為相同整體產(chǎn)品的一部分兌換為現(xiàn)金。在這類情況下,給定代碼模塊的收入可基于對給定代碼模塊的實(shí)用性的一些測量而被確定為是產(chǎn)品的整體收入的一部分,所述測量如用戶利用代碼模塊所花費(fèi)的時間量、執(zhí)行代碼模塊的時間量等。例如,在視頻游戲的情況下,代碼模塊可對應(yīng)于虛擬環(huán)境中的具體水平或位置??蔀橛杏玫氖?,確定用戶在每個水平或位置處所花費(fèi)的時間量,并且進(jìn)一步確定由他們對應(yīng)的代碼模塊相對于他們的開發(fā)成本所產(chǎn)生的收入。
[0084]圖14示出可以用來實(shí)行本發(fā)明的實(shí)施方案的硬件和用戶界面。圖14示意性地示出Sony? Playstation 3 ?娛樂裝置的整體系統(tǒng)體系架構(gòu)。提供系統(tǒng)單元1400,其中各種外圍裝置可連接至系統(tǒng)單元1400上。系統(tǒng)單元1400包括:Cell處理器1428 ;Rambus⑩動態(tài)隨機(jī)存取存儲器(XDRAM)單元1426 ;具有專用視頻隨機(jī)存取存儲器(VRAM)單元1432的真實(shí)合成器圖形單元1430 ;以及I/O橋1434。系統(tǒng)單元1400還包括用于從磁盤1440a讀取的Blu Ray ? Disk BD-ROM ?光學(xué)盤閱讀器1440和可移動吸入式硬盤驅(qū)動器(HDD) 1436,所述Blu Ray’? Disk BD-ROM ?光學(xué)盤閱讀器和可移動吸入式硬盤驅(qū)動器可通過I/O橋1434存取。任選地,系統(tǒng)單元1400還包括用于讀取壓縮閃存卡、Memory Stick?存儲卡等的存儲卡閱讀器1438,所述存儲卡閱讀器類似地可通過I/O橋1434存取。
[0085]I/O橋1434還連接至六個通用串行總線(USB) 2.0端口 1424;吉比特以太網(wǎng)端口 1422;IEEE 802.llb/g無線網(wǎng)絡(luò)(W1-Fi)端口 1420和能夠支持達(dá)七個藍(lán)牙連接的Bluetooth ? 無線鏈接端口 1418。
[0086]在操作中,1/0橋1434處理所有無線、USB和以太網(wǎng)數(shù)據(jù),包括來自一個或多個游戲控制器1402至1403的數(shù)據(jù)。例如,當(dāng)用戶玩游戲時,1/0橋1434經(jīng)由藍(lán)牙鏈接接收來自游戲控制器1402至1403的數(shù)據(jù)并將其引導(dǎo)至Cell處理器1428,所述Cell處理器相應(yīng)地更新游戲的當(dāng)前狀態(tài)。
[0087]無線、USB和以太網(wǎng)端口還提供用于除游戲控制器1402至1403之外的其它外圍裝置的連接,如:遙控器1404 ;鍵盤1406 ;鼠標(biāo)1408 ;如Sony PSP ?娛樂裝置的便攜式娛樂裝置1410 ;如PlayStation ? Eye Camera的視頻照相機(jī)1412 ;麥克風(fēng)頭戴式耳機(jī)1414 ;以及麥克風(fēng)1415。因此,這類外圍裝置原則上可無線地連接至系統(tǒng)單元1400 ;例如,便攜式娛樂裝置1410可經(jīng)由W1-Fi專用連接通信,而麥克風(fēng)頭戴式耳機(jī)1414可以經(jīng)由藍(lán)牙鏈接通信。
[0088]提供這些界面意味著PlayStation 3裝置潛在地也與其它外圍裝置兼容,所述其它外圍裝置如數(shù)字視頻錄像機(jī)(DVR)、機(jī)頂盒、數(shù)字照相機(jī)、便攜式媒體播放器、互聯(lián)網(wǎng)協(xié)議(IP)語音電話、移動電話、打印機(jī)和掃描儀。另外,傳統(tǒng)存儲卡讀取器1416可經(jīng)由USB端口1424連接至系統(tǒng)單元,從而使得能夠讀取由Playstation ?或Playstation 2 K迮置使用的類型的存儲卡。
[0089]游戲控制器1402至1403可操作來經(jīng)由藍(lán)牙鏈接與系統(tǒng)單元1400無線通信,或連接至USB端口,從而還提供了藉以為游戲控制器1402至1403的電池充電的功率。游戲控制器1402至1403還可包括存儲器、處理器、存儲卡讀卡器、如閃存的永久性存儲器、如發(fā)光球形部分、LED或紅外燈的光發(fā)射器、用于超聲波通信的麥克風(fēng)和揚(yáng)聲器、隔音箱、數(shù)字照相機(jī)、內(nèi)部時鐘、面向游戲控制臺的可識別形狀,和使用如Bluetooth? WiFi?的協(xié)議的無線通信等。可識別形狀可大致上為以下形狀:球體、立方體、平行四邊形、長方體、圓錐體、棱錐、不完全球體、英式足球、足球或橄欖球、不完全球體、球體的一部分、截棱錐、截圓錐、棒球棒、截立方體、多面體、星形等,或這些形狀的兩個或更多個的組合。
[0090]游戲控制器1402是被設(shè)計來供兩只手使用,并且游戲控制器1403是具有球形附件的單手控制器。除一個或多個模擬游戲桿和常規(guī)控制按鈕之外,游戲控制器對三維位置確定敏感。因此,除常規(guī)的按鈕或游戲桿命令之外或取而代之,游戲控制器的用戶的姿態(tài)和移動可轉(zhuǎn)換為游戲的輸入。任選地,如Sony PSP?便攜式裝置的其它支持無線的外圍裝置可用作控制器。在SonyPSP ?便攜式裝置的情況下,可在所述裝置的屏幕上提供額外的游戲或控制信息(例如,控制指令或壽命數(shù)目)。還可使用其它替代性或補(bǔ)充性控制裝置,如跳舞毯(未示出)、光槍(未示出)、方向盤和踏板(未示出)或定制的控制器,如用于快速反應(yīng)問答游戲的單個或若干大按鈕(也未示出)。
[0091]遙控器1404也可操作來經(jīng)由藍(lán)牙鏈接與系統(tǒng)單元1400無線通信。遙控器1404包括適合于操作Blu RayTM Disk BD-ROM閱讀器1440和導(dǎo)航磁盤內(nèi)容的控制器。
[0092]除了常規(guī)預(yù)刻錄⑶和可刻錄⑶以及所謂的超級音頻⑶之外,Blu RayTM DiskBD-ROM閱讀器1440可操作來讀取與PlayStation和PlayStation2裝置兼容的CD-ROM。除了常規(guī)預(yù)刻錄DVD和可刻錄DVD之外,閱讀器1440也可操作來讀取與PlayStation 2和PlayStation 3裝置兼容的DVD-ROM。閱讀器1440進(jìn)一步可操作來讀取與PlayStation 3裝置兼容的BD-R0M,以及常規(guī)的預(yù)刻錄藍(lán)光光盤和可刻錄藍(lán)光光盤。
[0093]系統(tǒng)單元1400可操作來通過音頻和視頻連接器將由PlayStation 3裝置經(jīng)由真實(shí)合成器圖形單元(RSX) 1430產(chǎn)生或解碼的音頻和視頻提供至顯示器和聲音輸出裝置1442,如具有顯不器1444和一個或多個揚(yáng)聲器1446或獨(dú)立揚(yáng)聲器1448的監(jiān)視器或電視機(jī)。在一個實(shí)施方案中,語音和視線輸入被利用來根據(jù)用戶的POG來朝向特定音頻揚(yáng)聲器播放聲音。音頻連接器1450可包括常規(guī)模擬和數(shù)字輸出,而視頻連接器1452可以不同方式包括各種組件視頻、S-視頻、復(fù)合視頻和一個或多個高清晰度多媒體界面(HDMI)輸出。因此,視頻輸出可呈如PAL或NTSC的格式,或呈720p、1080i或1080p的高清晰度。[0094]音頻處理(產(chǎn)生、解碼等)由Cell處理器1428進(jìn)行。PlayStation 3裝置的操作系統(tǒng)支持 Dolby ? 5.I 環(huán)繞聲、Dolby.? Theatre Surround (DTS),和來自 Blu-Ray ⑧,磁盤的7.1環(huán)繞聲的解碼。
[0095]在本實(shí)施方案中,視頻照相機(jī)1412包括單個電荷耦合裝置(CXD)、LED指示器以及基于硬件的實(shí)時數(shù)據(jù)壓縮和編碼設(shè)備,以使得可以如基于內(nèi)部圖像的MPEG(運(yùn)動圖像專家組)標(biāo)準(zhǔn)的適當(dāng)格式來傳輸壓縮后的視頻數(shù)據(jù),以用于由系統(tǒng)單元1400解碼。照相機(jī)LED指示器被布置來響應(yīng)于來自系統(tǒng)單元1400的適當(dāng)控制數(shù)據(jù)而發(fā)光,例如以便表明不利的照明條件。視頻照相機(jī)1412的實(shí)施方案可經(jīng)由USB、藍(lán)牙或者W1-Fi通信端口以不同的方式連接至系統(tǒng)單元1400。視頻照相機(jī)的實(shí)施方案可包括一個或多個關(guān)聯(lián)麥克風(fēng),并且也能夠傳輸音頻數(shù)據(jù)。在視頻照相機(jī)的實(shí)施方案中,CCD可具有適合于高清晰度視頻捕捉的分辨率。在使用中,由視頻照相機(jī)捕捉的圖像可例如并入游戲內(nèi)或被解釋為游戲控制輸入。在另一個實(shí)施方案中,照相機(jī)為適合于檢測紅外光的紅外照相機(jī)。
[0096]一般來說,為了經(jīng)由系統(tǒng)單元1400的通信端口中的一個與如視頻攝像機(jī)或遠(yuǎn)程控制器的外圍裝置進(jìn)行成功的數(shù)據(jù)通信,應(yīng)提供如裝置驅(qū)動器的適當(dāng)軟件片段。裝置驅(qū)動器技術(shù)是眾所周知的并且在此將不詳細(xì)描述,只是說本領(lǐng)域技術(shù)人員應(yīng)意識到,在所描述的本發(fā)明的實(shí)施方案中可能需要裝置驅(qū)動器或類似的軟件界面。
[0097]本發(fā)明的實(shí)施方案可用各種計算機(jī)系統(tǒng)配置來實(shí)踐,所述計算機(jī)系統(tǒng)配置包括手持裝置、微處理器系統(tǒng)、基于微處理器或可編程的消費(fèi)電子產(chǎn)品、微型計算機(jī)、大型計算機(jī)等。本發(fā)明出可以在分布式計算環(huán)境中實(shí)踐,其中由通過基于有線或無線的網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理裝置進(jìn)行任務(wù)。
[0098]考慮到以上實(shí)施方案,應(yīng)當(dāng)理解的是,本發(fā)明可采用涉及存儲在計算機(jī)系統(tǒng)中的數(shù)據(jù)的各種計算機(jī)實(shí)行的操作。這些操作是需要物理操縱物理量的那些操作。形成了本發(fā)明的一部分的本文所描述的操作中的任何操作都是有用的機(jī)器操作。本發(fā)明還涉及用于進(jìn)行這些操作的裝置或設(shè)備。設(shè)備可出于所需目的而被特別構(gòu)造,或設(shè)備可為由計算機(jī)中存儲的計算機(jī)程序選擇性地激活或配置的通用計算機(jī)。具體來說,各種通用機(jī)器可與根據(jù)本文的教義編寫的計算機(jī)程序一起使用,或者可能更方便的是,構(gòu)造更專用的設(shè)備來進(jìn)行所需操作。
[0099]本發(fā)明也可體現(xiàn)為計算機(jī)可讀介質(zhì)上的計算機(jī)可讀代碼。計算機(jī)可讀介質(zhì)是可存儲數(shù)據(jù)的任何數(shù)據(jù)存儲器,所述數(shù)據(jù)隨后可由計算機(jī)系統(tǒng)讀取。計算機(jī)可讀介質(zhì)的例子包括硬盤驅(qū)動器、網(wǎng)絡(luò)附加存儲器(NAS)、只讀存儲器、隨機(jī)存取存儲器、⑶-ROM、⑶-RXD-RW、磁帶以及其它光學(xué)和非光學(xué)數(shù)據(jù)存儲裝置。計算機(jī)可讀介質(zhì)可包括分布在網(wǎng)絡(luò)連接的計算機(jī)系統(tǒng)上的計算機(jī)可讀有形介質(zhì),以使得以分布式方式存儲并執(zhí)行計算機(jī)可讀代碼。
[0100]雖然以特定順序描述了方法操作,但應(yīng)理解的是,可在操作之間進(jìn)行其它內(nèi)務(wù)操作,或可調(diào)整操作以使得它們在略微不同的時間發(fā)生,或操作可分布在系統(tǒng)中,所述系統(tǒng)允許以與處理相關(guān)的各種時間間隔發(fā)生處理操作,只要疊加操作的處理以所需方式進(jìn)行即可。
[0101]雖然前述發(fā)明已出于清晰理解的目的進(jìn)行了相當(dāng)詳細(xì)的描述,但很顯然,可在不脫離所附權(quán)利要求書的范圍的情況下實(shí)踐某些變化和修改。因此,本發(fā)明的實(shí)施方案應(yīng)被認(rèn)為是說明性而非限制性的,并且本發(fā)明不限于本文所給出的細(xì)節(jié),而是可在所附權(quán)利要求書的范圍和等效物內(nèi)進(jìn)行修改。
【權(quán)利要求】
1.一種用于多個代碼模塊的社交互動代碼開發(fā)的系統(tǒng),所述系統(tǒng)包括: 活動監(jiān)視器,其用于監(jiān)視對所述多個代碼模塊中的一個或多個的訪問; 社交反饋引擎,其用于基于觸發(fā)預(yù)定義的訪問閾值來發(fā)起通信,所述預(yù)定義的訪問閾值是針對所述多個代碼模塊中的一個具體代碼模塊的至少一部分來設(shè)定。
2.如權(quán)利要求1所述的系統(tǒng),其中所述預(yù)定義的訪問閾值是選自由以下組成的組:打開、查看或編輯所述多個代碼模塊中的所述一個具體代碼模塊的所述至少一部分。
3.如權(quán)利要求1所述的系統(tǒng),其中所述通信指向觸發(fā)所述預(yù)定義的訪問閾值的用戶。
4.如權(quán)利要求1所述的系統(tǒng),其中所述通信指向所述多個代碼模塊中的一個具體代碼模塊的所述至少一部分的所有者。
5.如權(quán)利要求1所述的系統(tǒng),其中所述通信包括實(shí)時通信鏈接。
6.如權(quán)利要求5所述的系統(tǒng),其中所述實(shí)時通信鏈接是定義在觸發(fā)所述預(yù)定義的訪問閾值的用戶與所述多個代碼模塊中的一個具體代碼模塊的所述至少一部分的所有者之間。
7.如權(quán)利要求5所述的系統(tǒng),其中所述實(shí)時通信鏈接包括所述多個代碼模塊中的所述一個具體代碼模塊的所述至少一部分的即時視圖和歷史視圖之一。
8.如權(quán)利要求1所述的系統(tǒng),其進(jìn)一步包括, 標(biāo)簽生成器,其用于生成與所述多個代碼模塊中的所述一個具體代碼模塊的所述至少一部分相關(guān)聯(lián)的標(biāo)簽,所述標(biāo)簽定義了所述通信和所述預(yù)定義的訪問閾值。
9.如權(quán)利要求`1所述的系統(tǒng),其中所述發(fā)起通信是基于所述多個代碼模塊中的所述一個具體代碼模塊的所述至少一部分相對所述多個代碼模塊中的一個代碼模塊的另一部分的接近度。
10.如權(quán)利要求9所述的系統(tǒng),其中所述接近度是由父子關(guān)系來定義。
11.如權(quán)利要求1所述的系統(tǒng),其進(jìn)一步包括, 用戶界面,其用于提供對所述多個代碼模塊中的一個或多個的訪問。
12.如權(quán)利要求11所述的系統(tǒng),其中所述用戶界面包括值數(shù)據(jù)呈現(xiàn)器,所述值數(shù)據(jù)呈現(xiàn)器用于呈現(xiàn)關(guān)于所述多個代碼模塊中的一個或多個的至少一部分的值數(shù)據(jù),所述值數(shù)據(jù)定義了相對重要性水平。
13.如權(quán)利要求12所述的系統(tǒng),其中所述值數(shù)據(jù)包括源自于開發(fā)時間、游戲時間、測試時間和成本中的一個或多個的度量。
14.一種用于多個代碼模塊的社交互動代碼開發(fā)的方法,所述方法包括: 監(jiān)視對所述多個代碼模塊中的一個或多個的訪問; 基于觸發(fā)預(yù)定義的訪問閾值來發(fā)起通信,所述預(yù)定義的訪問閾值是針對所述多個代碼模塊中的一個具體代碼模塊的至少一部分來設(shè)定。
15.如權(quán)利要求14所述的方法,其中所述預(yù)定義的訪問閾值是選自由以下組成的組:打開、查看或編輯所述多個代碼模塊中的所述一個具體代碼模塊的所述至少一部分。
16.如權(quán)利要求14所述的方法,其中所述通信指向觸發(fā)所述預(yù)定義的訪問閾值的用戶。
17.如權(quán)利要求14所述的方法,其中所述通信指向所述多個代碼模塊中的一個具體代碼模塊的所述至少一部分的所有者。
18.如權(quán)利要求14所述的方法,其中所述通信包括實(shí)時通信鏈接。
19.如權(quán)利要求18所述的方法,其中所述實(shí)時通信鏈接是定義在觸發(fā)所述預(yù)定義的訪問閾值的用戶與所述多個代碼模塊中的一個具體代碼模塊的所述至少一部分的所有者之間。
20.如權(quán)利要求18所述的方法,其中所述實(shí)時通信鏈接包括所述多個代碼模塊中的所述一個具體代碼模塊的所述至少一部分的即時視圖和歷史視圖之一。
21.如權(quán)利要求14所述的方法,其進(jìn)一步包括, 生成標(biāo)簽,所述標(biāo)簽與所述多個代碼模塊中的所述一個具體代碼模塊的所述至少一部分相關(guān)聯(lián),所述標(biāo)簽定義了所述通信和所述預(yù)定義的訪問閾值。
22.如權(quán)利要求14所述的方法,其中所述發(fā)起通信是基于所述多個代碼模塊中的所述一個具體代碼模塊的所述至少一部分相對所述多個代碼模塊中的一個代碼模塊的另一部分的接近度。
23.如權(quán)利要求22所述的方法,其中所述接近度是由父子關(guān)系來定義。
24.如權(quán)利要求14所述的方法,其進(jìn)一步包括, 提供對所述多個代碼模塊中的一個或多個的訪問。
25.如權(quán)利要求2 4所述的方法,其中提供訪問包括呈現(xiàn)關(guān)于多個代碼模塊中的一個或多個的至少一部分的值數(shù)據(jù),所述值數(shù)據(jù)定義了相對重要性水平。
26.如權(quán)利要求25所述的方法,其中所述值數(shù)據(jù)包括源自于開發(fā)時間、游戲時間、測試時間和成本中的一個或多個的度量。
27.一種用于多個代碼模塊的社交互動代碼開發(fā)的系統(tǒng),所述系統(tǒng)包括: 用于監(jiān)視對所述多個代碼模塊中的一個或多個的訪問的裝置; 用于基于觸發(fā)預(yù)定義的訪問閾值來發(fā)起通信的裝置,所述預(yù)定義的訪問閾值是針對所述多個代碼模塊中的一個具體代碼模塊的至少一部分來設(shè)定。
28.如權(quán)利要求27所述的系統(tǒng),其中所述預(yù)定義的訪問閾值是選自由以下組成的組:打開、查看或編輯所述多個代碼模塊中的所述一個具體代碼模塊的所述至少一部分。
29.如權(quán)利要求27所述的系統(tǒng),其中所述通信指向觸發(fā)所述預(yù)定義的訪問閾值的用戶。
30.如權(quán)利要求27所述的系統(tǒng),其中所述通信指向所述多個代碼模塊中的一個具體代碼模塊的所述至少一部分的所有者。
31.如權(quán)利要求27所述的系統(tǒng),其中所述通信包括實(shí)時通信鏈接。
32.如權(quán)利要求31所述的系統(tǒng),其中所述實(shí)時通信鏈接是定義在觸發(fā)所述預(yù)定義的訪問閾值的用戶與所述多個代碼模塊中的一個具體代碼模塊的所述至少一部分的所有者之間。
33.如權(quán)利要求31所述的系統(tǒng),其中所述實(shí)時通信鏈接包括所述多個代碼模塊中的所述一個具體代碼模塊的所述至少一部分的即時視圖和歷史視圖之一。
34.如權(quán)利要求27所述的系統(tǒng),其進(jìn)一步包括, 用于生成標(biāo)簽的裝置,所述標(biāo)簽與所述多個代碼模塊中的所述一個具體代碼模塊的所述至少一部分相關(guān)聯(lián),所述標(biāo)簽定義了所述通信和所述預(yù)定義的訪問閾值。
35.如權(quán)利要求27所述的系統(tǒng),其中所述發(fā)起通信是基于所述多個代碼模塊中的所述一個具體代碼模塊的所述至少一部分相對所述多個代碼模塊中的一個代碼模塊的另一部分的接近度。
36.如權(quán)利要求35所述的系統(tǒng),其中所述接近度是由父子關(guān)系來定義。
37.如權(quán)利要求27所述的系統(tǒng),其進(jìn)一步包括, 用于提供對所述多個代碼模塊中的一個或多個的訪問的裝置。
38.如權(quán)利要求37所述的系統(tǒng),其中提供訪問包括呈現(xiàn)關(guān)于多個代碼模塊中的一個或多個的至少一部分的值數(shù)據(jù),所述值數(shù)據(jù)定義了相對重要性水平。
39.如權(quán)利要求38所述的系統(tǒng),其中所述值數(shù)據(jù)包括源自于開發(fā)時間、游戲時間、測試時間和成本中的一個或多個 的度量。
【文檔編號】G06F9/46GK103534684SQ201280021159
【公開日】2014年1月22日 申請日期:2012年3月30日 優(yōu)先權(quán)日:2011年4月20日
【發(fā)明者】E.勒納, C.尼科爾森 申請人:索尼電腦娛樂美國公司