版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、大學生軟件眾包平臺的設計與開發(fā)1 引言選題背景隨著Internet的飛速發(fā)展,人與人之間的距離被無限拉近,除了時間上的距離,空間上不再存在距離,為人們提供諸多便利。眾包(Crowdsourcing)1一詞最早出現(xiàn)在美國連線雜志上,記者杰夫霍維將其定義為:“一個公司或機構把過去由員工執(zhí)行的工作任務,自由自愿的形式外包給非特定的大眾網(wǎng)絡的做法。”眾包就是把特定的工作任務,通過網(wǎng)絡公示給受眾,并向按需要完成組織任務并支付約定報酬的大眾承包模式2。眾包也是利用共享網(wǎng)絡外包給公眾個人3。眾包是一種極具代表性的群智感知模式,是一種新型的解決問題的方式。 眾包以用戶為基礎,以自由參與的方式分發(fā)任務4。相應的
2、以軟件眾包存在的眾包形式,使得軟件供需雙方不受時間,地點,工作方式的限制,為開發(fā)者提供一個公平、自由的競爭環(huán)境。開發(fā)者將自己知道的知識、技能、經(jīng)驗、智慧借由眾包平臺轉化為相應的經(jīng)濟利益,企業(yè)則利用眾包平臺上千萬開發(fā)者的知識、智慧、能力、經(jīng)驗獲取低成本的高質量的服務。伴隨著眾包模式的實踐開來,一部分眾包網(wǎng)站如雨后春筍般出現(xiàn),大多的眾包網(wǎng)站都是采用需求競標模式和雇傭服務模式。雖然平臺眾多,但都是基于需求而實現(xiàn)的,即由企業(yè)方發(fā)布需求、等待報名、服務方接受需求、企業(yè)方挑選成稿、交易成功或失敗、交易評價。本項目將聯(lián)合實習實訓企業(yè)構建大學生軟件眾包平臺,吸引合作實習企業(yè)在平臺上發(fā)布項目,積極推進輔修專業(yè)同
3、學參與項目眾包,為計算機輔修專業(yè)培養(yǎng)復合創(chuàng)新型人才探索新的途徑。研究意義大學生軟件眾包平臺為大學生提供了一個發(fā)揮個人能力的平臺,同時也能為自己的大學生活獲取一定的薪金。在個人的成長中,經(jīng)驗永遠是通過實踐獲得的,沒有實踐,憑空的想象是不能提高自己的能力,為此如果有一個平臺來提供這種服務,既可以為企業(yè)招募一些人才同時也為企業(yè)獲取一些利益,相對而言大學生獲得的是經(jīng)驗和能力的提高。本網(wǎng)站是一款應用型的網(wǎng)站,它面向的是大眾(主要是大學生)和企業(yè)之間的交流,基于軟件的設計與開發(fā),為雙方提供一個發(fā)揮的平臺,為雙方提供便利的條件。論文結構本文主要對大學生軟件眾包平臺的設計與開發(fā)的過程,做出一個概述,主要分為以
4、下幾個部分:第一章引言,主要介紹該平臺的選題和研究背景。第二章需求分析,主要對該平臺需求做相應的分析。第三章系統(tǒng)設計,在平臺功能的基礎上做出詳細的設計。對平臺的數(shù)據(jù)庫概念做出邏輯結構設計。第四章系統(tǒng)模塊功能實現(xiàn),描述程序的結構實現(xiàn)和功能模塊的實現(xiàn)。第五章系統(tǒng)測試,針對現(xiàn)有的功能對單個模塊進行白盒測試。第六章總結,主要對本文做出總結,并分析其中的不足。小結本章主要介紹了大學生軟件眾包平臺的應用背景和研究意義,并闡述了本文的研究內容和論文的結構。2 需求分析系統(tǒng)功能需求分析作為一個大學生軟件眾包平臺,該平臺主要為用戶與用戶之間的交流,提供一個公平友好的平臺,提供一個公正的平臺,同時也為用戶提供一個
5、機會,提高自己能力的機會。該平臺的用戶類型分為用戶和管理員。用戶同時兼具兩種角色,既是發(fā)布項目需求的發(fā)布者,又是接受項目的接受者,在發(fā)布或接包之前需要進行實名認證,認證之后可以享有正常的權利。用戶可以對個人基本信息的管理、對個人技能的添加、對項目案例的管理等操作功能。該網(wǎng)站的管理員具有對用戶的管理,如:用戶的實名的認證操作;用戶發(fā)布項目的上架操作;對網(wǎng)站中一些分類管理,如:應用類型、項目類型、開發(fā)語言、開發(fā)技能、產(chǎn)品中間件、可擔任崗位等分類的管理。這個平臺基于現(xiàn)有的眾包模式,需求競標模式和雇傭服務模式,為用戶提供更好的便利條件,致力于為用戶提供更好的服務。可行性分析項目開發(fā)最忌諱的就是推倒重來
6、,不僅浪費資源還嚴重浪費時間,所以在開發(fā)時進行可行性分析是十分重要的。這既可以保證資源的合理使用又可以避免不必要的失敗。大學生軟件眾包平臺可以使大學生在大學生生涯中得到一些社會上的經(jīng)驗,為將來的職業(yè)生涯提供一個好的演練。同時也能為企業(yè)提供一個發(fā)現(xiàn)人才的渠道。目標和方案的可行性隨著計算機網(wǎng)絡的迅速發(fā)展,原有的企業(yè)模式受到現(xiàn)有的眾包模式的影響,不僅僅局限于公司內部的交流,而眾包模式的出現(xiàn)打破了這一局勢,為企業(yè)帶來非常大的成本和時間的節(jié)省。大學生軟件眾包平臺的出現(xiàn),對大學生而言,一個認識自己能力和鍛煉自己的機會,是充分了解社會企業(yè)的需求,為社會的和諧發(fā)展提供自己的一份努力。該平臺的致力于為企業(yè)和大學
7、生之間提供一個溝通和交換的介質,保證雙方信息的安全性,通過對一些規(guī)則的制定來保證雙方的權益。在該平臺上經(jīng)過審核上架之后的內容符合現(xiàn)在社會的安定、和諧的要求,屏蔽一些不和諧的言論,旨在打造一個和諧友好的平臺。技術可行性該平臺基于Java6語言和JSP7技術,使用SSM8框架進行開發(fā),關系型數(shù)據(jù)庫采用MySQL9,非關系型數(shù)據(jù)庫采用Redis10做緩存,使用FastDFS11分布式文件系統(tǒng)做文件上傳下載的處理,并用Nginx12代理這一服務。MySQL數(shù)據(jù)庫對于一個小型項目來講是完全可以保證項目的完美運行的,而且操作簡單,速度也很快,可以和SSM框架中Mybatis13很好的結合起來,使用更加靈活
8、,易操作。這幾者的結合可以實現(xiàn)這個平臺的設計。社會可行性隨著IT消費化趨勢的不斷演進,企業(yè)IT和消費IT的界限越來越模糊,區(qū)分也越來越難,對于更重視體驗的個人消費者,也對企業(yè)IT系統(tǒng)的靈活操作、多元化性能等提出了更高的要求14。但是在供給上,傳統(tǒng)的IT服務企業(yè)卻要面臨著質量競爭、重復開發(fā)、產(chǎn)業(yè)生產(chǎn)效率低下等困境。傳統(tǒng)的服務模式已無法適應當前日新月異的市場需求,無法做出快速、精準的反應。因此,借助互聯(lián)網(wǎng),通過眾包模式整合社會資源,建立由IT從業(yè)者、IT企業(yè)及各個行業(yè)用戶組成的IT服務生態(tài)系統(tǒng),完成服務交易、獲得可信交付,已是大勢所趨。所以,該平臺的研發(fā)具備一定社會可行性。經(jīng)濟可行性大學生軟件眾包
9、平臺改變傳統(tǒng)軟件的外包模式,它的出現(xiàn)必定為企業(yè)、個人提供良好的便利,即可節(jié)約企業(yè)的成本,用戶又可以獲取一部分利益。不僅可以集思廣益,還能節(jié)約時間,現(xiàn)如今社會成功的一個關鍵元素就是速度。在這個平臺上,能用極少的錢和少量的時間,發(fā)現(xiàn)和解決技術問題。所以該平臺的開發(fā)和實踐還是具有很好的經(jīng)濟可行性的。系統(tǒng)主要的功能系統(tǒng)按照服務用戶類型分為兩個模塊,分別為前臺子系統(tǒng)和后臺子系統(tǒng)。每個模塊的功能各不相同。一、前臺子系統(tǒng)的主要功能如下:1)用戶注冊與登陸:用戶在發(fā)布或者接受項目之前,必須經(jīng)過登錄。2)項目大廳:按類別分頁顯示所有的眾包項目。3)工作臺:發(fā)包方發(fā)布軟件需求(軟件類型分為:整包或者懸賞)。4)個
10、人中心:修改個人信息。5)交易詳情:用戶查詢、管理交易記錄(包括充值,消費,轉賬,收入)。6)項目記錄:用戶查詢發(fā)布或者接受的項目詳細信息。二、后臺子系統(tǒng)的功能如下:1)項目管理:對用戶發(fā)布的項目進行審核,管理員可以查看項目的詳細信息,審核之后上架。2)用戶管理:管理員登錄之后,對用戶的實名信息進行審核,審核之后修改用戶的狀態(tài),已認證。3)分類管理:平臺中各種分類進行管理,主要是添加和刪除。4)交易詳情:查看項目交易詳細信息。系統(tǒng)用例圖本系統(tǒng)的用戶有兩種,分別平臺用戶和管理員。用戶可以實現(xiàn)登陸、注冊、發(fā)布項目、接受項目、個人信息管理、技能信息、項目案例、發(fā)布項目管理等功能。管理員可以實現(xiàn)登錄、
11、項目管理、分類管理、用戶管理、交易詳情等功能。用戶用例圖平臺的用戶用例圖如圖2-1所示。圖2-1 用戶用例圖Fig. 2-1 User use case diagram管理員用例圖平臺的管理員員用例圖如圖2-2所示。圖2-2 管理員員用例圖Fig. 2-2 Administrator use case diagram小結本章主要對該平臺的需求進行分析。3 系統(tǒng)設計系統(tǒng)的設計思想大學生軟件眾包平臺按照用戶類型分為兩種:平臺用戶和管理員。用戶在本平臺上操作之前,需進行注冊,然后登陸。登陸之后可以在平臺上進行各種操作,但是在進行發(fā)布或者接受項目時需已實名認證才可以操作,具體的實名認證,是由平臺管理員
12、進行認證。用戶在登陸之后可以在個人中心一項中完善自己的各種信息,在項目大廳可以查看已上架的項目的信息,在控制臺中操作自己的項目或者完善自己所接受的項目。至于管理員具有管理用戶的認證,對項目的上架操作和分類管理等功能。系統(tǒng)的總體結構設計該系統(tǒng)按照用戶類型分為兩大模塊:1.用戶模塊:交易記錄、項目大廳、工作臺、個人中心。2.管理員模塊:分類管理,項目管理,用戶管理和交易管理。大學生軟件眾包平臺的總體結構圖如圖3-1所示。圖3-1 系統(tǒng)總體設計圖Fig. 3-1 System overall design chart系統(tǒng)各模塊間的具體說明根據(jù)圖3-1所示的系統(tǒng)結構設計圖,對單個模塊進行說明:1)用戶
13、基本信息具體功能:用戶可以根據(jù)自己的實際信息編輯自己的基本信息,上傳個人頭像,設置年齡、QQ、郵箱、手機號等信息,并提交到數(shù)據(jù)庫中,達到完善個人信心的功能。2) 用戶技能信息具體功能:在該平臺上項目的分類,應用的分類,使用語言的分類等信息都可以在用戶技能信息中進行個人設置,這里設置的內容,之后將在現(xiàn)使用的信息的界面顯示用戶的技能信息。3) 用戶項目案例具體功能:用戶可以編輯自己添加的項目案例的各種信息:項目名、應用技術、語言、中間件、網(wǎng)址、截圖等信息。用戶的項目案例可以有多個,完全由用戶自己所管理。這部分的信息也是在顯示用戶的項目案例模塊的信息。4) 用戶實名認證具體功能:用戶上傳自己的姓名、
14、身份證號、身份證正反面圖片等信息,提交到數(shù)據(jù)庫,由管理員進行認證,認證之后,不會再有用戶認證的提示。5) 項目大廳具體功能:分頁展示上架的項目信息,顯示項目的項目名、類型、基本要求、金額、報名人數(shù)等信息。6) 我的項目 具體功能:顯示用戶的已發(fā)布或待發(fā)布的項目信息,已發(fā)布的項目按照分類,顯示項目的進程。用戶在這個模塊可以管理自己的發(fā)布的項目,選擇接包人,完成項目以完成交易,對接包人進行評價。7) 我的任務具體功能:顯示用戶競標或者報名的項目,可以上交一些附件信息,對某一項目的發(fā)包人進行評價。8) 發(fā)布需求具體功能:用戶可以發(fā)布自己需求,編輯自己的項目信息:項目名、懸賞或項目、預算或賞金、周期、
15、具體要求、附件等信息,提交之后通過接口上傳數(shù)據(jù)庫以達到發(fā)布項目。9) 交易記錄具體功能:用戶查看自己的余額,進行充值、提現(xiàn)等操作??梢圆榭醋约旱慕灰子涗洠撼渲涤涗?、提現(xiàn)記錄、支出記錄、收入記錄。 10) 管理員分類管理具體功能:管理員在此界面中可以進行對各種分類的操作,添加時輸入點擊添加即可,刪除的點擊刪除即可。 11) 管理員項目管理 具體功能:管理員可以查看項目的基本信息,項目上架等操作12) 管理員項目管理具體功能:管理員可以查看用戶的基本信息、認證信息,可以點擊認證實現(xiàn)對用戶的實名認證,即修改數(shù)據(jù)庫中用戶狀態(tài)。數(shù)據(jù)庫設計數(shù)據(jù)庫需求數(shù)據(jù)庫需求就是要充分了解這個平臺,平臺中的用戶需要用到的
16、數(shù)據(jù)有哪些,這些數(shù)據(jù)在數(shù)據(jù)庫中如何存放才能使系統(tǒng)中的各項功能都能完整地實現(xiàn),數(shù)據(jù)能夠在數(shù)據(jù)庫中能夠完成插入、更新、刪除等基本操作。本系統(tǒng)采用關系型數(shù)據(jù)庫MySQL來記錄該系統(tǒng)中的數(shù)據(jù)的流動,針對該系統(tǒng)的功能特點,以下是該系統(tǒng)的信息需求:用戶按照類型可分為管理員,用戶。用戶根據(jù)自己軟件的需要發(fā)布項目或懸賞。用戶可以編輯自己基本信息。用戶可以添加自己的技能。用戶可以添加自己的項目案例。用戶可以查看自己的交易記錄。用戶可以管理自己的已發(fā)布或者已接手的項目。管理員可以管理各種分類信息。數(shù)據(jù)庫E-R圖本系統(tǒng)根據(jù)數(shù)據(jù)庫需求進行分析,可以規(guī)劃出來的實體類有用戶、管理員、任務、項目、項目案例、用戶技能、用戶信
17、息、應用分類、交易記錄等,實體之間的關系用E-R圖表示如圖3-2所示。圖3-2 系統(tǒng)總體結構E-R圖Fig. 3-2 System overall structure E-R diagram 數(shù)據(jù)庫中的表數(shù)據(jù)庫中的存放重要數(shù)據(jù)的表及其簡要描述如下:用戶信息表:表名為tb_user,主要存放用戶的登錄信息。表結構見表3-1所示。表3-1用戶信息表Tab.3-1 User information table字段名類型長度是否為空約束idbigint20否主鍵usernamevarchar20否檢查passwordvarchar30否檢查createddatetime是updateddatetime
18、是moneydouble檢查imagevarchar100否默認為空phonevarchar11是 唯一statusint11否默認為0用戶基本信息表:表名為tb_user_info,主要存放用戶的基本信息。表結構見表3-2所示。表3-2用戶基本信息表Tab.3-2 UserInfo information table字段名類型長度是否為空約束idbigint20否主鍵sexvarchar2是默認為1addressvarchar30是yearsdouble是introducevarchar200是qqvarchar11是wechatvarchar30否emailvarchar30是檢查crea
19、teddatetime是updateddatetime是namevarchar50是idNumbervarchar18是檢查長度是否為18image1text是image2text是管理員表:表名為tb_admin,主要存放管理員的登錄信息。表結構見表3-3所示。表3-3管理員信息表Tab.3-3 Administrator information table字段名類型長度是否為空約束idint11否主鍵passwordvarchar20否檢查usernamevarchar30否唯一createdtimestamp是updateddatetime是項目案例表:表名為tb_cases,主要存放項
20、目案例的基本信息。表結構見表3-4所示。表3-4項目案例表Tab.3-4 Project case table字段名類型長度是否為空約束idbigint20否主鍵uidbigint20否外鍵namevarchar30是檢查長度cyclevarchar30是roletext是skilltinytext是introducevarchar800是createddatetime是updateddatetime是pictext是交易記錄表:表名tb_record,主要存放用戶交易記錄信息,表結構見表3-5所示。表3-5交易記錄表Tab. 3-5 Trading record table字段名類型長度是否
21、為空約束idbigint20否主鍵uidbigint20否外鍵recordint11否moneydouble否檢查默認createddatetime否updateddatetime否應用類型表:表名為tb_kind,主要存放應用類型的基本信息。表結構見表3-6所示。表3-6應用類型表Tab.3-6 App Types table字段名類型長度是否為空約束idbigint20否主鍵namevarchar30否唯一createddatetime是updateddatetime是產(chǎn)品中間信息表:表名為tb_product主要存放產(chǎn)品中間件的信息。表結構見表3-7所示。表3-7產(chǎn)品中間件信息表Tab.
22、3-7 Product middleware information table字段名類型長度是否為空約束idbigint20是主鍵namevarchar30是唯一createddatetime否updateddatetime是技能信息表:表名tb_skill_info,主要存放用戶的技能信息,表結構見表3-8所示。表3-8技能信息表Tab. 3-8 Techinfo table字段名類型長度是否為空約束idbigint20否主鍵uidbigint20否外鍵app_kindtinytext是pro_kindtinytext是languagestinytext是developtinytext是p
23、roducttinytext是competemttinytext是createddatetime是updateddatetime是項目表:表名tb_project,主要存放用戶發(fā)布的項目信息,表結構見表3-9所示。表3-9項目表Tab. 3-9 Project table字段名類型長度是否為空約束idbigint20否主鍵namevarchar30否uidbigint20否外鍵requirestext否kindint11否外鍵enclosuretext否stationtext是skilltext否cyclevarcha20否budgetdouble是檢查contactvarchar30否ema
24、ilvarchar20否檢查phonevarchar11否檢查statusint11否默認rewaddouble是檢查classifyint11否createddatetime否updateddatetime否開發(fā)類型表:表名為tb_devolopkind,主要存放開發(fā)類型的基本信息。表結構見表3-10所示。表3-10開發(fā)類型表Tab.3-10 Development type table字段名類型長度是否為空約束idbigint20否主鍵namevarchar30否唯一createddatetime是updateddatetime是項目類型表:表名為tb_prokind主要存放項目類型分類的
25、信息。表結構見表3-11所示。表3-11項目類型表Tab.3-11 Project Types table字段名類型長度是否為空約束idbigint20否主鍵namevarchar30否唯一createddatetime是updateddatetime是開發(fā)語言表:表名為tb_skill,主要存放開發(fā)語言分類的信息,表結構見表3-12所示。表3-12開發(fā)語言表Tab. 3-12 Development language table字段名類型長度是否為空約束idbigint20否主鍵namevarchar30否唯一createddatetime是updateddatetime是任務表:表名tb_
26、task,主要存放上架項目的接受任務的信息,表結構見表3-13所示。表3-13任務表Tab. 3-13 Task table字段名類型長度是否為空約束idbigint20否自增uidbigint20否主鍵pidbigint20否主鍵tidbigint20否外鍵accessorytext是statusint11否檢查fgradeint11是檢查jgradeint11是檢查jappraisetext是fappraisetext是createddatetime是updateddatetime是崗位表:表名 tb_station,主要存放崗位的基本信息,表結構見表3-14所示。表3-14崗位表Tab.
27、 3-14 Station table字段名類型長度是否為空約束idbigint20否主鍵namevarchar30否唯一createddatetime是updateddatetime是小結本章主要介紹大學生軟件眾包平臺的系統(tǒng)設計和數(shù)據(jù)庫設計過程。4系統(tǒng)模塊功能實現(xiàn)程序開發(fā)結構該平臺的程序設計基于SSM框架來實現(xiàn),使用MVC的思想理念設計系統(tǒng)結構,其中pojo包下類對應數(shù)據(jù)庫中的表,在類中使用Table注解標記表名即可對應數(shù)據(jù)庫中的表;mapper包下的類是由Mybatis框架向pojo做出的數(shù)據(jù)操作,代表著數(shù)據(jù)的增、刪、改操作即數(shù)據(jù)庫操作層;service包下的類對應mapper層,代表著服
28、務層;controller包下的類接受請求路徑并反饋即控制層,是整個程序的請求轉發(fā)、操作的核心。程序開發(fā)結構1如圖4-1所示。圖 4-1 程序結構1界面Fig.4-1 Program structure 1 interfaceresources下存放的是關于SSM框架的配置文件,包括spring、springMVC、Mybatis、FastDFS、Redis、jdbc等配置文件。webapp存放的是前端所需要的bootstrap和layui的css和js文件,其中jsp文件夾下的admin和user分別對應管理員、用戶的jsp界面。程序開發(fā)結構2如圖4-2所示。圖 4-2 程序結構2界面Fig
29、.4-2 Program structure 2 interface登陸、注冊功能實現(xiàn)該平臺的網(wǎng)頁界面是由JSP技術來實現(xiàn)的,使用的前端bootstrap和layui框架,來做界面。在本平臺上操作是,需注冊之后,登錄即可。用戶分為平臺用戶和管理員。管理員不需要注冊,輸入固定的賬號和密碼,即可登錄。平臺用戶注冊實現(xiàn)用戶在平臺上使用,無賬號需要注冊,注冊時,需要使用手機號注冊,在注冊界面的手機號輸入一欄中,輸入手機號,會觸發(fā)該標簽的onblur()事件,會發(fā)出一個ajax15請求,攜帶手機號到后臺,之后檢測手機號是否已注冊過,返回狀態(tài)碼,根據(jù)狀態(tài)碼的不同,界面會有相應的提示。注冊界面的每一個輸入框
30、都有相應的onblur事件來保證輸入的內容是合適的。輸入無誤之后注冊,會有提交注冊的監(jiān)聽事件,發(fā)送一個路徑為/user/regd的post請求,請求攜帶注冊的一些數(shù)據(jù),服務器由RequsetMapping的路徑來接受該請求,同時對前臺輸入的密碼進行MD5加密,由后臺保存數(shù)據(jù)到用戶登錄表和用戶基本信息表。返回注冊的狀態(tài)碼,由前臺界面進行顯示處理。注冊界面如圖4-3所示。圖 4-3 用戶注冊界面Fig.4-3 Register interface平臺用戶登錄實現(xiàn)用戶在擁有賬號密碼之后,可以在登錄界面進行登錄。用戶輸入自己注冊的手機號來作為賬號進行登錄。輸入的賬號之后,會觸發(fā)該標簽的onblur()
31、事件,會發(fā)出一個ajax請求,攜帶手機號到后臺,之后檢測手機號是否已注冊過,返回狀態(tài)碼,根據(jù)狀態(tài)碼的不同,界面會有相應的提示。輸入無誤之后登錄,前臺監(jiān)聽事件觸發(fā)之后向后臺發(fā)送為/user/login的POST請求,請求攜帶賬號密碼等信息,首先后臺先有前臺獲取的賬號即手機號來向數(shù)據(jù)庫查詢的用戶,如果用戶密碼與前臺傳入的經(jīng)MD5加密之后的密碼一致,返回狀態(tài)碼,成功為200,失敗為其他。跳轉頁面由前臺發(fā)送請求進行跳轉。登錄界面如圖4-4所示。圖 4-4 用戶登錄界面Fig.4-4 Login interface管理員登錄實現(xiàn)管理員的登錄界面比較簡單,直接輸入賬號密碼登錄即可,如果賬號密碼不正確,則不
32、能跳轉到后臺管理界面。驗證的方式與用戶的驗證基本一致。管理員登錄界面如圖4-5所示。圖 4-5 管理員登錄界面Fig.4-5 Administrator login interface用戶模塊功能的實現(xiàn)在用戶頁面上主要包括用戶發(fā)布需求、工作臺、個人中心、項目大廳和資金賬號無大主要功能。用戶頁面設計如圖4-6所示。圖 4-6 用戶界面Fig.4-6 User interface用戶發(fā)布需求模塊在用戶主界面上,發(fā)布需求中的整包或懸賞,前臺就會發(fā)送一個跳轉界面的GET請求,服務器會返回一個ModelAndView,由前臺解析進行顯示。查看“整包”,就會返回相應的整包界面require-project
33、.jsp,在這個界面中填入相應的內容,提交達到發(fā)布需求的目的。但是在提交時,layui框架的表單會校驗,各個輸入框的值是否符合既定要求,在符合要求之后,發(fā)送一個“/user/addProject”的POST請求,同時攜帶表單的數(shù)據(jù)到后端,后端調用UserController中的addProjectd方法,該方法會接收從前端傳來的表單數(shù)據(jù),直接映射為Project實體類,之后對傳入的數(shù)據(jù)進行簡單的處理,調用projectService的save方法,保存到數(shù)據(jù)庫中,返回保存的狀態(tài)碼,之后由前臺進行顯示。查看“懸賞”的操作和“整包”處理基本一致。在該頁面中存在著文件上傳,這里使用的是layui的文
34、件上傳的框架代碼,上傳之后,發(fā)起一個POST請求,在FileController中調用uploadfile方法,該方法獲取文件將文件通過FastDFSClientUtils的upload方法上傳到配置fastDFS的服務器上,返回該文件在服務器上的路徑。同時該方法對上傳的文件的文件名、路徑和狀態(tài)碼進行封裝,返回FileUploadResult實體類的JSON數(shù)據(jù)。前臺得到JSON數(shù)據(jù)之后,進行字符串拼接,使用js對表單中隱藏的附件的標簽進行賦值,保證上傳到數(shù)據(jù)庫的附件信息是一串字符串。在進行顯示的時候只需要對著字符串截取形成文件的list集合即可。用戶頁面用戶發(fā)布需求頁面設計如圖4-7所示。圖
35、 4-7 用戶發(fā)布需求界面Fig.4-7 User release requirements interface用戶工作臺-發(fā)布模塊在該模塊中,用戶可以查看自己發(fā)布的項目,分為整包、懸賞和未上架的項目。查看“整包”,發(fā)起請求,攜帶從session中取出的用戶的id和默認的參數(shù)項目分類1,返回ModelAndView,跳轉到table1.jsp。調用ProjectService的getProject方法,設置參數(shù)用戶的id和項目分類,返回一個存放項目信息的list集合,集合中的每一項都是一條項目信息。在table1界面中可以選擇查看競標中、實施中、已完成項目的信息。在“競標中”的模塊中,用戶可以
36、看到自己發(fā)布項目,用戶的報名情況,用戶可以點擊用戶頭像查看用戶的信息,來確定中標的人選,只要 “標中”即可修改這條信息的狀態(tài)為進行中,修改。在“實施中”模塊中,可以查看自己接包人上傳的文件,如果感覺沒問題,點擊“完成”即可實現(xiàn)項目完成,轉賬,但是如果用戶余額不足提示“余額不足”,不會繼續(xù)進行操作。在“已完成”模塊中,用戶看到的是已完成的項目的評價,用戶可以為接包人進行評價。用戶工作臺-發(fā)布-整包界面如圖4-8所示。圖 4-8 用戶工作臺-發(fā)布-整包界面Fig.4-8 User workbench publishing-project interface查看“懸賞”,發(fā)起請求,攜帶從sessio
37、n中取出的用戶的id和默認的參數(shù)項目分類1,返回ModelAndView,跳轉到table2.jsp。調用ProjectService的getProject方法,設置參數(shù)用戶的id和項目分類,返回一個存放項目信息的list集合,集合中的每一項都是一條項目信息。在table2界面中,可以選擇查看進行中、已完成項目的信息。在“進行中”的模塊中,用戶可以看到自己發(fā)布懸賞項目,用戶的情況,可以查看自己接包人上傳的文件,如果感覺問題,點擊“完成”即可實現(xiàn)項目完成,同時也完成轉賬。在“已完成”模塊中,用戶看到是已完成的項目的評價,用戶可以為接包人進行評價。用戶工作臺-發(fā)布-懸賞界面如圖4-9所示。圖 4-
38、9 用戶工作臺-發(fā)布-懸賞界面Fig.4-9 User workbench publishing-reward interface查看“待發(fā)布”,發(fā)起請求,攜帶從session中取出的用戶的id,返回ModelAndView,攜帶用戶未上架的項目,跳轉到table3.jsp,并在該界面上顯示。用戶工作臺-發(fā)布-懸賞界面如圖4-10所示。圖 4-10 用戶工作臺-待發(fā)布界面Fig.4-10 User workbench - to be published interface用戶工作臺-接受模塊在該模塊中,用戶可以查看自己所接手的項目,分為整包和懸賞部分的操作。點擊“整包”,發(fā)起請求,攜帶從ses
39、sion中取出的用戶的id和默認的參數(shù)項目分類1,向服務器請求數(shù)據(jù),返回ModelAndView,跳轉到table4.jsp。調用ProjectService的getProject方法,設置參數(shù)用戶的id和項目分類,返回一個存放項目信息的list集合,集合中的每一項都是一條項目信息。在table4界面中 可以選擇查看競標中、實施中、已完成項目的信息。在“競標中”的模塊中,用戶可以看到自己報名的項目,顯示用戶的報名狀態(tài)。在“實施中”模塊中,用戶上傳接手項目的附件。在“已完成”模塊中,用戶看到的是自己對發(fā)包人的評價,用戶可以對發(fā)包人進行評價。用戶工作臺-接受-整包界面如圖4-11所示。圖 4-11
40、 用戶工作臺-接受-整包界面Fig.4-11 User workbench - acceptance - package interface點擊“懸賞”,發(fā)起請求,攜帶從session中取出用戶的id和默認的參數(shù)項目分類1,向服務器請求數(shù)據(jù),返回ModelAndView,跳轉到table3.jsp。調用ProjectService的getProject方法,設置參數(shù)用戶的id和項目分類,返回一個存放項目信息的list集合,集合中的每一項都是一條項目信息。在table3界面中 可以選擇查看已報名、已得賞、未得賞項目的信息。在“已報名”的模塊中,用戶可以看到自己報名的項目,可以上傳附件,讓發(fā)包人看
41、到。在“已得賞”模塊中,用戶可以對發(fā)包人和項目進行評價。在“未得賞”模塊中,用戶看到的是自己為中標的項目信息。用戶工作臺-接受-懸賞界面如圖4-12所示。圖 4-12 用戶工作臺-接受-懸賞界面Fig.4-12 User workbench - acceptance reward interface項目大廳模塊在該模塊中,用戶可以看到現(xiàn)有的已上架的項目的各種信息。項目大廳頁面設計如圖4-13所示。圖 4-13 項目大廳界面Fig.4-13 Project hall interface用戶可以點擊項目,進入到項目詳情接界面。項目詳情界面如圖4-14所示。圖 4-14 項目詳情界面Fig.4-14
42、 Project details interface用戶資金賬戶模塊在該模塊中,用戶可以查看自己的余額和交易記錄。資金賬戶界面如圖4-13所示。點擊“資金賬戶”之后,發(fā)起請求到服務器,會返回根據(jù)用戶id查詢到的各種交易記錄和用來顯示的界面account.jsp。在該界面不同區(qū)域下顯示不同的交易記錄。用戶 “充值”時,會出現(xiàn)輸入框,輸入一定的金額提交即可完成充值?!疤岈F(xiàn)”時,也會出現(xiàn)輸入框,但是如果用戶的余額不足,會提示“余額不足”。資金賬戶界面如圖4-15所示。圖 4-15 資金賬戶界面Fig.4-15 Capital account interface用戶個人中心模塊在這個模塊中用戶可以修改
43、個人基本信息、添加技能信息、添加項目案例、身份認證等4個功能的實現(xiàn)。在基本信息中,顯示用戶頭像、昵稱、性別等信息,可以點擊“編輯”跳轉到修改個人信息的界面editUserInfo.jsp,提交表單信息,發(fā)送請求到服務器,服務器收到之后對信息進行封裝,調用UserService和UserInfoService的updateSelective方法對數(shù)據(jù)庫進行修改。服務器向請求端發(fā)送JSON數(shù)據(jù),前臺對JSON數(shù)據(jù)進行解析,做出相應的處理。用戶基本信息界面如圖4-16所示。圖 4-16 用戶基本信息界面Fig.4-16 User profile interface在技能信息界面中,顯示用戶的技能信息
44、,這個數(shù)據(jù)是在點擊“技能信息”之后,返回頁面和攜帶根據(jù)用戶id查詢到的技能信息。點擊“編輯”,發(fā)起請求,返回ModelAndView,同時還有各種分類的JSON數(shù)據(jù),通過layui的多選下拉框進行顯示,同時對這個多選進行限制。用戶技能信息界面如圖4-17所示。圖 4-17 用戶技能信息界面Fig.4-17 User skill information interface在用戶項目案例界面中,通過表格的形式顯示用戶添加的項目案例信息。根據(jù)前端請求中用戶的id,服務器到數(shù)據(jù)庫查詢用戶的項目案例。返回前端的是項目案例界面和存放用戶項目案例的List集合。用戶技能信息界面如圖4-18所示。圖 4-18
45、 用戶項目案例界面Fig.4-18 User project cases interface在用戶實名認證的界面,如果用戶已實名認證,不會再顯示實名認證,會顯示“已認證”的提示。用戶認證需要提交真實姓名、身份證號、身份證圖片等信息。提交到服務器,由服務器進行存儲到數(shù)據(jù)庫,等待平臺管理員進行認證。用戶認證界面如圖4-19所示。圖 4-19 用戶認證界面Fig.4-19 Authentication interface管理員模塊功能的實現(xiàn)在管理員頁面上主要有用戶管理、項目管理、分類管理管理三大主要功能。管理員界面的設計如圖4-20所示。圖 4-20管理員界面Fig.4-20 Admin inter
46、face用戶管理模塊在該頁面上,管理員可以分頁顯示未認證用戶的實名信息。這里顯示的未認證的用戶信息通過userService的selectAllUser方法得到,在editUserStatus.jsp中顯示。點擊“認證”,會詢問管理員是否確定,之后向后臺發(fā)起一個GET請求,攜帶用戶的id到服務器,之后服務器會調用userService的checkUser方法修改數(shù)據(jù)庫中用戶登錄信息表中的status值,前端返回狀態(tài)碼,由前端進行解析。認證成功后,JS自動刷新界面。管理員用戶認證頁面設計如圖4-21所示。圖 4-21 管理員用戶認證界面Fig.4-21 Administrator user au
47、thentication interface項目管理模塊在該頁面上,管理員可以分頁查看未上架的項目信息。這里顯示的項目,可以通過“項目上架”向服務器發(fā)送請求,返回ModelAndView,其中的項目信息是通過projectService的queryUserByStatus方法得到的,在editProject.jsp中顯示項目的詳細信息。點擊“上架”,會詢問管理員是否確定,之后向后臺發(fā)起一個GET請求,攜帶項目的id到服務器,之后服務器會調用projectService的changeStatus方法修改數(shù)據(jù)庫中項目表中的status值,前端返回狀態(tài)碼,由前端進行解析。上架成功后,JS自動刷新界面
48、。管理員項目認證頁面設計如圖4-22所示。圖 4-22 項目上架界面Fig.4-22 Project putaway interface分類管理在分類管理中,分為幾個小模塊,應用類型管理、項目類型管理、開發(fā)語言管理、開發(fā)技能管理、開發(fā)產(chǎn)品中間件管理、開發(fā)崗位管理等模塊。各個模塊的功能基本一致,這里就闡述應用類型管理的實現(xiàn)。點擊“應用類型管理”,發(fā)起請求,服務器會向調用kindService的aueryAll方法,得到一個關于Kind的List集合,向前端返回JSON數(shù)據(jù)和editAPPKind.jsp。在本頁面中,可以在輸入框輸入信息,添加即可,首先發(fā)起攜帶輸入框信息通過kindService
49、的queryOne查詢,如果返回為空,則再調用kindService的save方法,保存到數(shù)據(jù)庫中,向前端返回狀態(tài)碼。在分頁展示的應用類型表格中,可以看到每一條數(shù)據(jù)的id、分類名、創(chuàng)建時間和更新時間。在操作一欄中,可以對單挑數(shù)據(jù)進行刪除操作,點擊“刪除”,提示是否刪除,確認后,攜帶該條數(shù)據(jù)的id到服務器,用kindService 的delectById方法刪除該條數(shù)據(jù),向頁面返回狀態(tài)碼。成功后,由JS刷新界面管理員分類管理頁面設計如圖4-23所示。圖 4-23 分類管理界面Fig.4-23 Categories interface小結本章主要對大學生軟件眾包平臺的系統(tǒng)模塊的實現(xiàn)做一個簡要的分析
50、介紹,描述各個模塊的具體實現(xiàn)過程。5系統(tǒng)測試本章只是對系統(tǒng)主要功能進行測試,包括登錄注冊模塊、發(fā)布需求、工作臺-發(fā)布、工作臺-接受,項目大廳,資金賬戶,個人中心等。登錄注冊模塊的測試注冊模塊的測試打開注冊界面,輸入手機號、昵稱、密碼、確認密碼,點擊“注冊”進行測試:手機號為空或格式不正確,系統(tǒng)會提示手機號格式不正確;昵稱為空,系統(tǒng)會提示昵稱不能為空;密碼為空,系統(tǒng)會提示密碼不為空;重復密碼為空或與密碼不同,系統(tǒng)提示密碼不為空或兩次密碼輸入不一致;注冊成功,跳轉到登錄界面。登錄模塊的測試進入登錄界面,輸入用戶手機號和密碼,點擊“登錄”進行測試:用戶號為空或格式不對,系統(tǒng)提示手機格式不正確,若用戶名不存在,系統(tǒng)提示不存在此賬號;密碼為空,系統(tǒng)提示密碼為空;若密碼與該用戶對應的密碼不一致,系統(tǒng)會提示用戶名不存在或密碼不正確;若用戶名和密碼正確,則可以跳轉到用戶界面。發(fā)布需求模塊的測試進入發(fā)布需求中的整包界面,輸入各項信息,點擊“立即提交”進行測試:懸賞名稱、應用類型、需求描述、崗位需求、技能需求、預算、周期、姓名、郵箱、手機號等信息為空時,系統(tǒng)提示必填項不能為空;郵箱、手機號格式不正確,系統(tǒng)提示格式不正確;各項符合規(guī)則,提交,系統(tǒng)提示“success”。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025護理學院學生工作計劃樣文
- 幼兒中班教師工作計劃范文模板
- 吳建旭“互聯(lián)網(wǎng)+”大學生創(chuàng)新創(chuàng)業(yè)大賽項目計劃書
- 2025白酒銷售月工作計劃范文
- 切實加強行風建設努力做好計劃生育工作的講話
- 城管科科長述職報告總結計劃
- 2025關于小學班主任工作計劃
- 《機械制圖與CAD含習題集》課件-第5章3
- 合伙種植沃柑合同模板
- 鐵路客運合同案例簡短
- 相親技巧培訓
- 2024年四川省成都市青羊區(qū)數(shù)學六上期末考試試題含解析
- 100內加減法混合題庫二年級100道及答案
- 外科護理疑難病例
- TTI-Z世代2024職場期望調研報告
- 2024年中小學學生防范電信網(wǎng)絡詐騙知識競賽題庫及答案
- 職業(yè)生涯規(guī)劃與職場能力提升智慧樹知到答案2024年同濟大學
- 11ZJ111《變形縫建筑構造》
- 2020年廣西職業(yè)院校技能大賽高職組《 模具數(shù)字化設計與制造工藝 》賽項賽題(樣題)
- 短視頻技術與應用智慧樹知到期末考試答案章節(jié)答案2024年濟南大學
- LTC與鐵三角從線索到回款-讀書筆記
評論
0/150
提交評論