分佈式計算環境複習要點

名詞解釋

概念

分佈式系統:由多個計算機(IP地址)及其上軟件構件(端口)所組成,經過網絡互聯,經過消息進行通訊和協同java

分佈式計算:Distributed computing,圍繞分佈式系統的構造和運行機理展開研究。物理分佈+邏輯總體git

分佈式計算環境:大型分佈計算軟件構造和運行的基石。封裝分佈式系統共性問題的解決方案,支持分佈式系統的開發、集成、運行及管理的軟件基礎設施,以及中間件、應用程序框架、應用服務器、服務容器等。可重用組件+架構模式程序員

並行計算:通常是指許多指令得以同時進行的計算模式。在同時進行的前提下,能夠將計算過程分解成小部分,以後以併發方式來加以解決。緊耦合,內存共享github

ARPANET:advanced research projets agency network算法

p2p:對等計算模型,各參與進程地位平等,有相同的性能和責任。任何兩個之間能夠互相發起請求和接收響應 數據庫

原理

協議:協議是計算機之間事先達成的「約定」 ,這種「約定」使那些由不一樣廠商的設備,不一樣CPU及不一樣操做系統組成的計算機之間能夠實現通訊。三要素:語法/語義/時序。編程

線程:線程是進程的一條執行路徑,它包含獨立的堆棧和CPU寄存器狀態,每一個線程共享全部的進程資源,包括打開的文件、信號標識及動態分配的內存等。後端

如何跨平臺?引入具體編程語言無關的IDL(Interface Definition Language,接口定義語言,用來描述產生對象調用請求的客戶對象和服務對象之間的接口語言。包括經常使用數據類型,方法定義等,無執行邏輯)數組

DCE cell: 由單個組織管理的一組計算機(及其資源和用戶) 緩存

RPC:Remote Procedure Call,遠程過程調用是一種像調用本地過程同樣調用遠程機器上的過程,而不須要了解網絡細節的遠程過程訪問支持機制。 因爲基於套接字的開發方式繁瑣&排錯困難

面向對象的分佈式計算環境

支持面向對象的客戶-服務器模式的分佈式應用,其中服務器應用以對象的形式定義, 客戶能夠以相似於訪問本地對象的方式訪問異地服務器上的對象。

DLL:Dynamic link library,是包含大量的只在運行時刻才與進程相鏈接的函數、數據以及資源的庫文件。

COM:component object model,組件對象模型,一種編程語言無關的、二進制級別的應用間調用機制

DCOM:Distributed COM,COM在跨機器的分佈式環境中進行同步運行的實現技術,實現不一樣機器之間的COM對象調用。

 .NET框架:致力於敏捷軟件開發、 快速應用開發、平臺無關性和網絡透明化的軟件框架

OMG:Object Management Group,1989年成立,分佈對象技術的重要推進者和標準的制定者

CORBA:Common object request broker(代理) architecture。OMG組織制定的解決異構環境下分佈對象之間互操做問題的分佈對象中間件規範 ,提供了跨編程語言、跨平臺、跨開發商的互操做能力

ORB:Object Request Broker,對象請求代理,ORB是CORBA的核心. 它提供了對象請求與回答的通訊機制,使得對象能夠透明地發出請求和接收響應。

對象引用:對於應用程序員而言,對象引用惟一的表示了分佈式環境下的一個對象實例;對於中間件設計者而言,對象引用是對象定位管理基礎

POA:portable object adapter,對象適配實際上就是根據對象引用查表的過程

IOR:Interoperable Object Reference。含有足夠的信息能夠與任何類型的ORB中的對象通訊,這些信息包括: 目標對象的類型;主機的Internet地址;主機的端口號;Object key  (在server 中是惟一的ORB特定數據)

面向構件的分佈計算環境

構件:軟件構件是一種組裝單元,它具備規範的接口規約和顯式的語境依賴。軟件構件能夠被獨立地部署並由第三方任意的組裝。

分佈式構件:構件+分佈式應用支持,在分佈計算平臺技術基礎上,經過制定普遍爲業界承認的分佈式應用開發和運行規範,大量利用代碼自動生成工具和運行維護工具,以輔助構造出完整的服務器端分佈式應用。

EJB:Enterprise Java Bean,企業級java組件。JavaEE中面向服務的體系架構的解決方案,能夠將功能封裝在服務器端,以服務的形式對外發布,客戶端在無需知道方法細節的狀況下來遠程調用方法,大大下降了模塊間的耦合性,提升了系統的安全性和可維護性。

反射系統:內建了自描述數據結構的系統,這一數據結構與其描述對象因果關聯(Causally Connected)

反射:反射系統基於這一自描述所實施的訪問、推理和修改自身的行爲。

面向服務的分佈計算環境

 

SOA:Service-Oriented Architecture,面向服務的體系結構。經過鏈接能完成特定任務的獨立功能實體,實現網絡環境下業務功能集成的一種軟件系統架構。真正優勢體現業務集成,經過組合現有服務來開發整個或近乎整個新應用。

服務端軟件架構

負載均衡服務:將用戶請求分發到集羣的各個服務器上,並儘可能保持各個服務器負載基本一致

內容分發網絡:Content Delivery Network,將內容發佈到最接近用戶的網絡「邊緣「(如各地電信機房),使用戶能夠就近取得所需的內容

QoS控制:Quality of service,經過對事件通道、事件設置QoS屬性和其它管理屬性,實現對事件傳輸持久性、事件隊列長度、事件生命週期等服務質量的控制。

Redis:開源高性能key-value緩存數據庫,支持數據的持久化,能夠將內存中的數據保存在磁盤中,重啓的時候能夠再次加載進行使用。

SAN(Storage Area Network,存儲區域網絡):經過光纖或TCP/IP網絡將磁盤陣列等存儲設備聯接;「塊」存儲設備,不能實現數據在不一樣主機之間的共享。

NAS(Network Attached Storage,網絡附加存儲):專爲文件存儲設計的網絡服務器

高級專題

版本控制系統:一種記錄一個或若干文件內容變化,以便未來查閱特定版本修訂狀況的系統。(本地版本控制系統,在一臺機器上,記錄版本的不一樣變化,保證內容不會丟失;集中式版本控制,都有一個單一的集中管理的服務器,保存全部文件的修訂版本,而協同工做的人們都經過客戶端連到這臺服務器,取出最新的文件或者提交更新。如svn;分佈式版本控制,每一次提取操做都是一次對代碼倉庫的完整鏡像備份,每一個用戶的電腦都是一臺服務器,如git)

區塊鏈:區塊鏈其實是一種記帳方式,可是記錄過的內容是沒法篡改的(或者說只有50%以上的節點贊成才能修改),保證沒法篡改的方式是經過去中心化。

軟件大數據分析:Big Data for software analytics,將各式各樣的開源軟件看成大數據語料庫, 提取其中的「語義對象」(semantic object)視爲數據(data) ,獲得軟件各種性質(property)的規律和推斷。

MUSE:Mining and Understanding software Enclaves,軟件包體的挖掘與理解。對當前軟件開發(包含編寫、調試、驗證、維護等)的方式進行完全地反思,以大數據的思惟提出變革性的軟件構造理論與方法, 支持高質量高可靠軟件的自動構造與修復。

雲計算與雲應用

雲計算:是一種基於互聯網的計算方式,經過這種方式,共享的軟硬件資源和信息能夠按需求提供給計算機各類終端和其餘設備。

基礎設施即服務:IAAS(Infrastructure as a service),用戶經過Internet 能夠從完善的計算機基礎設施得到服務,本身提供平臺和軟件。把硬件外包給別的地方

平臺即服務:PAAS(platform as a service),提供了用戶能夠訪問的完整或部分的應用程序開發/提供解決方案。你只須要由應用和數據就能夠在個人平臺上進行應用,就可使用。

軟件即服務:SAAS(software as a service),由第三方提供完整的可直接使用的應用程序

(分別對應如爲了吃pizza中的買成品回家作、外賣、到pizza店吃。)

SLA(Service Level Agreement):服務級別協議,是服務提供商向服務消費者承諾的服務能力細節指標,一般爲非功能屬性的指標

微服務與服務治理

微服務:一種軟件架構,一個複雜軟件應用由多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是鬆耦合的。特色:自治系統,可獨立部署;僅經過接口互相訪問,低耦合;粒度小,易於開發、擴展和維護

服務治理:在面向服務的架構中,對服務執行控制相關的活動進行系統化管理和協調的過程,使得信息系統能夠高效實現其目標。

邊緣計算

計算卸載(Computation Offloading):將計算任務靜態/動態遷移到服務端執行;突破本地能耗、計算能力、存儲能力限制。包括徹底卸載和部分卸載

邊緣計算:核心理念是計算應更鄰近數據的源頭,更鄰近用戶。在靠近人、物或數據源頭的網絡邊緣側,經過融合了網絡、計算、存儲、應用等核心能力的開放平臺。

無人系統

互操做:多機器人可以以某種方式創建鏈接。顯式通訊,即經過網絡鏈接和分佈計算技術進行互操做;隱式通訊,即經過環境變化或者傳感器的感知交流。是多機器人協做的基礎

ROS:Robot operating system

工業化方法與開源社會化編程

軟件工程:創建並使用完善的工程化原則,以較經濟的手段得到能在實際機器上有效運行的可靠軟件的一系列方法。

軟件生產:像工業化生產同樣,經過嚴格精密的任務分解和人員組織,指望達到效率最大化。

 

填空題

概念

推進分佈計算髮展的動力:以「計算」爲中心(如何將計算實體組合爲可靠性更高或性能更優計算系統)、以「聯接」爲中心(如何將網絡資源聯接成爲網絡信息系統)

原理

套接字是計算機網絡中進程間數據流的端點,操做系統提供的一種進程間的通訊機制。(套接字地址:IP地址+端口號)

分佈式系統應對併發請求的兩種基本方式分別是垂直擴展(提高單機處理能力/硬件或架構優化)和水平擴展(增長服務器數量)

分佈式系統的CAP定理中的CAP分別是指:一致性(Consistency)、可用性(Availability)、分區容錯性(Partition tolerance)。(最多隻能同時知足其中兩項)

CORBA使用對象引用在分佈式計算環境下惟一標識一個對象實例。(Interoperable object reference,互操做對象引用)

消息發佈訂閱模型能夠分爲基於話題的發佈/訂閱、基於內容的發佈/訂閱

負載均衡算法負責把負載合理分配到集羣中的節點上,充分利用服務器資源,減小訪問瓶頸並提升併發訪問數量。

DCE是典型的面向過程的分佈計算環境

高級專題

請寫出三種軟件工程大數據:代碼倉庫、Web語義、開發歷史庫、運行時日誌

基於「羣愚生智」,去中心化、 由大量簡單機器人組成的系統稱爲羣機器人

軟件開發羣體化方法三個關鍵要素是大衆化協同、開放式共享、持續性評估

基礎設施即服務中的虛擬化四大特性:分區(在單一物理服務器上同時運行多個虛擬機)、隔離(在同一服務器上的虛擬機之間相互隔離)、封裝(整個虛擬機都保存在文件中,並且能夠經過移動和複製這些文件的方式來移動和複製該虛擬機)、相對於硬件獨立(無需修改便可在任何服務器上運行虛擬機)。

 

判斷

IDL是全部分佈計算環境的基本組件(錯,CORBA標準中定義了OMG IDL來描述對象訪問接口.具體編程語言無關的IDL(interface definition language,接口定義語言),用來解決跨語言的問題。用 RPC / COM /CORBA 技術來編寫分佈式系統時都須要IDL,但應該不是全部都須要

在分佈計算環境支持下,訪問遠程對象徹底能夠作到像訪問本地對象同樣(對,這是分佈對象模型的基本目標,如CORBA)

軟件危機是指落後的軟件生產方式沒法知足迅速增加的計算機軟件需求,從而致使軟件開發與維護過程當中出現一系列嚴重問題的現象。(對,如何才能實現軟件開發的摩爾定律。)

分佈式緩存的命中率是指請求緩存總次數中返回正確結果數所佔的比例。(對,是緩存性能的關鍵指標,命中率=返回正確結果數/請求緩存次數 )

分佈式系統的兩階段提交協議存在單點失效問題。(對,由於要保持一致性,當單點失效,其他的會永恆等待。兩階段提交協議還存在同步阻塞問題。)

面向過程、面向對象、面向構件等表明了分佈計算環境發展的不一樣階段,每一個階段實現都實現都徹底推翻了前一階段。(錯)

在分佈式計算環境中,同步調用和阻塞調用描述的是同一種調用模式(錯,概念不相同&修飾的對象不相同,阻塞/非阻塞主要針對S端,調用應用程序,不能當即獲得結果的時候,是否當即返回;同步主要針對C端,訪問數據的機制,主動請求完數據後是否等待)

同步調用,不少時候當前線程仍是激活的,只是從邏輯上當前函數尚未返回而已。當前線程還會繼續處理各類消息

阻塞調用是指調用結果返回以前,當前線程會被掛起,函數只有獲得結果以後纔會返回

在分佈式系統中,系統軟總線是將對象鏈接到一塊兒的軟件總線(對)

Openstack是一種雲計算「平臺即服務」層基礎設施(錯,是雲計算「基礎設施即服務」)

數據庫分庫分表的目的是將數據庫進行拆分,從而達到提高查詢性能、提升併發吞吐率等目的。(對,分庫主要目的是爲突破單節點數據庫服務器的 I/O 能力限制,解決數據庫擴展性問題。)

 

簡答

分佈式計算涉及的關鍵問題

1)支持多個獨立結點的協同:時鐘與一致性問題/協同方式與交互模型/成員管理和可信問題

2)適當屏蔽「分佈性」:訪問透明性/位置透明性/遷移透明性/複製透明性/併發透明性/失效透明性

3)系統的開放性:互操做性/可組裝性/可演化性

4)系統的可伸縮性:能力可伸縮/地理可伸縮/管理可伸縮

與並行計算的區別

最大的區別在於目的——並行計算是同時使用多種計算資源解決計算問題的過程,主要目的是爲了能更快地完成任務,這就要求多個子任務同時運行,支撐技術如任務的劃分、負載平衡、簡單的輕量通訊協議、零拷貝、高速通訊設備、並行文件系統、並行算法等等等。分佈計算的應用不同,如應用本質是分佈的(銀行系統,遠程監控…) ,對通訊量、計算量、時間的要求以及安全方面的特色和並行計算都有不同的地方,所產生的技術也就不盡相同。

  • 並行計算突出的是時間上的同步性:同時進行計算

  • 分佈計算突出的是空間上的分佈性:計算在不一樣的位置進行

  • 分佈式計算在不少狀況下也是並行計算:在網絡的不一樣位置同時進行,二者之間有交叉的技術,如單一系統映像、容錯、網絡技術…。 分佈系統也能夠用來作粗粒度的並行計算

進程與線程的實現區別(ppt03)

• 當Win32建立一個新的進程時,它只是在內存中創建一個映象文件把Exe文件或DLL文件、Active X文件中的內容複製到內存中。

• 進程是不活動的,而實際操做是由線程來進行的,線程是工做者。

• 運行代碼是線程的,而進程爲線程提供地址空間和運行所須要的數據。

 

什麼是線程池模型?請簡述其優缺點(ppt05)

是一種多線程處理形式,每一個請求使用一個線程處理,全部線程預先建立,併發請求數大於線程數時排隊等待。

優勢:無線程建立開銷,線程池大小須要根據硬件性能、負載狀況等適當設置

優勢:

一、避免重複建立線程,減小在建立和銷燬線程時所花時間,及系統的總體開銷

二、避免系統建立大量線程而消耗系統資源

三、用戶提交的數據可以及時獲得處理,響應速度快

四、可以更好的監控和管理線程

缺點:

1.線程池不支持線程的取消、完成、失敗通知等交互性操做。

2.線程池不支持線程執行的前後次序排序。

3.不能設置池化線程(線程池內的線程)的Name,會增長代碼調試難度。

4.池化線程一般都是後臺線程,優先級爲ThreadPriority.Normal。

5.池化線程阻塞會影響性能(阻塞會使CLR錯誤地認爲它佔用了大量CPU。CLR可以檢測或補償(往池中注入更多線程),可是這可能使線程池受到後續超負荷的印象。Task解決了這個問題)。

6.線程池使用的是全局隊列,全局隊列中的線程依舊會存在競爭共享資源的狀況,從而影響性能(Task解決了這個問題方案是使用本地隊列)。

服務端通訊級+請求級併發

軟件開發工程化方法的本質是什麼?(ppt13)

創建並使用完善的工程化原則,以較經濟的手段得到能在實際機器上有效運行的可靠軟件的一系列方法。

相似流水線的方式,經過嚴格精密的任務分解和人員組織,指望達到效率最大化。

軟件危機、軟件生產、瀑布模型、軟件產品線

 

開源軟件及開源方法有什麼特色

版本控制、社交化編程(如在github上面,be social模塊,不只能夠將項目開源,還能夠將開發者都聯接起來。可是絕大多數的開發者使用社會化開發機制的程度有限)、羣體協同(如何高效地匯聚貢獻,貢獻審查機制)

 

軟件工程大數據及分析方法

量化度量、羣體化方法、智能化方法

類型:代碼倉庫、開發歷史庫、Web語義、運行時日誌

數據驅動的研究方法:從研究問題出發,通過數據探索和元數據選取,進行度量設計;再通過數據組合和原始觀測進行數據預處理;再通過過濾標準和無偏數據,進行建模與分析

軟件大數據分析的思路:將各式各樣的開源軟件看成大數據語料庫,提取其中的「語義對象」(semantic object)視爲數據(data),獲得軟件各種性質(property)的規律和推斷

分佈式計算環境中的事務處理服務和目錄服務分別起什麼做用?(ppt07)

屬於支撐服務端軟件的計算環境中的公共服務。

消息服務:爲分佈式應用提供高效、靈活的消息傳輸機制, 以及基於消息的交互支持。消息服務交互模型分爲點對點模型、發佈訂閱模型(基於話題/內容)。

負載均衡服務: 將任務分配到後端多個服務器上,實現最佳化資源使用、最大化吞吐率、最小化響應時間、避免過載 。靜態算法:輪詢、加權輪詢、隨機、加權隨機;動態算法:最小鏈接、加權最小鏈接、源地址散列。基於代理、重定向、DNS、IP、數據鏈路層修改mac地址

分佈式緩存服務:緩存用於存儲部分數據的硬件或軟件,以使得後續更快訪問這些數據。將高頻訪問的數據,放入緩存中,能夠大大提升系統總體的承載能力。分類方式(位置、訪問/維護方式、與服務器應用耦合程度、介質)。案例:memcached、Redis

事務處理服務:事務是由一組操做構成的可靠、獨立的工做單元,該服務使事物的處理具備ACID特性。包括兩階段提交協議和三階段提交協議( 爲了使基於分佈式系統架構下的全部節點在進行事務提交時保持一致性而設計的一種算法)。

• Atomicity(原子性):要麼所有完成,要麼所有不完成                                                                 

• Consistency(一致性):事務開始以前和事務結束之後,數據庫的完整性約束沒有被破壞

• Isolation(隔離性):事務之間是隔離的,一個事務不該該影響其它事務運行效                          

• Durability(持久性):在事務完成之後,該事務所對數據庫所做的更改便持久的保存在數據庫之中

目錄服務:經過名字檢索屬性的公共服務,將現實世界中事物的信息存儲爲具備描述性屬性的對象(如計算資源、軟件資源、用戶等等),用戶能夠按名稱查找對象屬性 。實例:DNS、Windows Active Directory、X.500、LDAP

共享存儲服務:大數據和雲計算的發展使得存儲遠超單機能力;共享存儲能夠爲容錯、性能、容量等專門優化;集羣化以後邏輯服務和物理實現的分離;須要邏輯層面上的存儲服務支持。

大數據計算框架:大數據處理須要利用分佈計算能力,須要合理的架構和高效的實現。如Hadoop的MapReduce模型(「分而治之」,使之能夠經過線性增長資源來提高性能)、Apache Storm

 

請結合某一種分佈計算環境,簡述Stub的做用

存根(Stub)是客戶應用與ORB之間的媒介。客戶應用經過Stub機制將請求傳遞給ORB內核,然後由ORB內核將請求發送給服務器方。

1) 調用者調用本地stub中的一個過程(開始遠程過程調用請求). 

2) 這個stub過程把有關的參數組裝成一個消息包或一組消息包, 造成一條消息. 運行此執行過程的遠程場點的IP地址和執行該過程的進程ID號也包含在這條消息中.

3) 將這條消息發送給對應的RPC runtime(RPC運行庫)子程序, 由這個子程序將消息發送到遠程場點.  

4) 在接收到這條消息時, server端的RPC runtime子程序引用與被調用者對應的stub中的一個子程序, 並讓它來處理消息.

5) 與被調用者對應的stub中的這個子程序撤卸消息, 解析出相關參數, 並用本地調用方式執行所指定的過程.

6) 返回調用結果, 調用者對應的stub子程序執行return語句返回到用戶, 整個RPC過程結束.

如在j2ee裏面的stub是這樣說的:爲屏蔽客戶調用遠程主機上的對象,必須提供某種方式來模擬本地對象,這種本地對象稱爲存根(stub),存根負責接收本地方法調用,並將它們委派給各自的具體實現對象

或者舉例在CORBA中,做用見上面解釋ORB的圖。

每一個CORBA對象均有根據其IDL生成的Stub和Skeleton,接口的一致性是Stub可以成爲遠程對象的「本地替身」的前提,Skeleton主要負責接口中方法的適配

 

請簡述消息傳遞的「至多一次」、「至少一次」和「精確一次」語義

至少一次意思是一個消息至少傳遞一次以上,固然會形成消息內容重複冗餘,可是可靠性提升了;

而至多一次是服務器的消息最多傳遞一次,若是再傳遞一次,就會形成負面影響;

精確一次是經過消息接收方發送確認收到的方式試圖保障每次消息傳遞都能可靠傳遞完成,這是不可能的,由於這個發送、收到和確認的過程當中一旦出現問題,就沒法保證傳遞完成。

 

服務和構件的區別和聯繫

具備較高的抽象級別;更大的粒度;更強的獨立性與可用性;更加便於使用者直接使用

 

虛擬化的好處

實現資源整合利用,消減IT成本;提高管理性與可用性

基礎設施即服務的舉例:OpenStack、Docker Swarm(Docker是新一代虛擬化技術,實現輕量級的進程、網絡和文件系統隔離。Docker Swarm是容器集羣管理工具,使得Docker集羣暴露給用戶時至關於一個虛擬的總體)

平臺即服務:阿里飛天平臺

 

如何構造超大規模軟件系統

設計演化(經濟與工業結構、構造計算環境的社會活動、合法性問題)

協同與控制(在線修改、服務質量的維護、適應用戶和環境、支持用戶控制的協同)

監測與評價(定義監測器、測量人的因素、監測器的優先級、處理變化和不完整信息)

 

爲何「雲」是不夠的?

舉例雲機器人SLAM,在創建新地圖模型或者改進已知地圖的同時,在該地圖模型上定位機器人。

計算複雜性(SLAM是一個持續迭代的過程;每一個迭代週期是高度計算密集型;計算量隨需求增加而增加)

網絡帶寬、時延和遠程「雲」端不肯定性的束縛

 

雲計算的優缺點

優勢:資源集約化(規模化運營,下降系統管理和運維的代價);按需提供服務( 經過虛擬化等手段細粒度分割資源;以服務化的方式經過互聯網訪問)

缺點:訪問延時;可伸縮性;數據隱私;單點失效

 

爲何邊緣計算的鄰近很重要

計算:更快的服務響應速度(網絡相對可控,資源相對可控)

數據:更好的可擴展性(數據在「邊緣」處理或預處理;減小數據中心帶寬消耗;減小數據中心處理能力消耗)

隱私:提高數據安全性(原始數據被存儲在靠近用戶的服務器)

可用:應對單點失效

 

無人系統的研究挑戰

技術挑戰:1)行爲挑戰:在非結構、不可預知動態環境中完成使命,任務目標及指標更加多樣、 操做靈活性及柔性要求更高、任務過程複雜多變。2)交互挑戰:要求具有多信息源綜合的交互手段,具備人類意圖理解能力,機器人與人狀態信息能實時雙向傳遞。3)安全挑戰:在行爲過程當中確保人-機-物的安全

政策和倫理

 

論述

請結合「聯接信息系統」、「聯接物理世界」或「聯接人類社會」三者之一,闡述你對分佈式計算髮展的認識

 

請對比傳統軟件工程和開源方法,談談你對軟件開發羣體化方法的認識

衆包指的是一個公司或機構把過去由員工執行的工做任務,以自由自願的形式外包給非特定的 (並且一般是大型的)大衆網絡的作法。

特色:下降生產成本,用人而不養人;提高核心競爭力---大衆創新;激勵用戶深度參與---循環生態;

羣體化方法:兩個聯接一個轉換

大衆參與的需求創意和軟件開發的生產任務結合;大衆參與的創意代碼和軟件開發的高質量代碼結合;大衆參與的開源創做資源和可複用的高品質軟件資源結合;大衆參與的代碼語義標註與細粒度複用的軟件資源結合

相關文章
相關標籤/搜索