軟件開(kāi)發(fā)人員的薪金及軟件開(kāi)發(fā)實(shí)習(xí)日記_第1頁(yè)
軟件開(kāi)發(fā)人員的薪金及軟件開(kāi)發(fā)實(shí)習(xí)日記_第2頁(yè)
軟件開(kāi)發(fā)人員的薪金及軟件開(kāi)發(fā)實(shí)習(xí)日記_第3頁(yè)
軟件開(kāi)發(fā)人員的薪金及軟件開(kāi)發(fā)實(shí)習(xí)日記_第4頁(yè)
軟件開(kāi)發(fā)人員的薪金及軟件開(kāi)發(fā)實(shí)習(xí)日記_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件開(kāi)發(fā)人員的薪金摘要本文所要解決的是研究軟件開(kāi)發(fā)人員的薪金與他們的資歷、管理責(zé)任、教育程度等之間的關(guān)系,建立一個(gè)模型,以便分析公司人事策略的合理性,并作為新聘人員薪金的考慮。根據(jù)題設(shè)條件,結(jié)合實(shí)際情況,建立線性回歸模型,方程表達(dá)式:其中,,,,是回歸系數(shù),ε為隨機(jī)誤差,,,,分別為資歷、管理水平和教育程度。結(jié)合題目所給的數(shù)據(jù),運(yùn)用matlab軟件的命令rearess,求出了軟件開(kāi)發(fā)人員的薪金與資歷、管理水平、教育水平之間的線性回歸方程:分析后同時(shí)運(yùn)用殘差分析法發(fā)現(xiàn)模型的缺陷,改進(jìn)影響軟件開(kāi)發(fā)人員薪金的因素,改變模型,使得管理責(zé)任因素和教育程度因素對(duì)薪金是交互作用的,這樣合理化模型后,得出了影響軟件開(kāi)發(fā)人員薪金因素的最佳多元回歸模型。建立回歸方程:并用運(yùn)用matlab軟件得出了該模型的較準(zhǔn)確的解:并對(duì)回歸方程和各個(gè)因素運(yùn)用殘差分析法進(jìn)行了顯著性檢驗(yàn),去掉異常數(shù)據(jù)后,在運(yùn)用matlab軟件求解,得出更為準(zhǔn)確的解:再次運(yùn)用殘差分析法對(duì)模型進(jìn)行檢驗(yàn),說(shuō)明模型可用。綜上所述,本文對(duì)數(shù)據(jù)進(jìn)行深入分析,運(yùn)用MATLAB軟件畫(huà)圖,制作表格,更形象地反映數(shù)據(jù),簡(jiǎn)單明了,運(yùn)用殘差分析法對(duì)模型進(jìn)行檢驗(yàn),說(shuō)明模型可用。關(guān)鍵字:線性回歸模型ressess殘差分析法一.問(wèn)題重述一家高技術(shù)公司人事部門為研究軟件開(kāi)發(fā)人員的薪金與他們的資歷、管理責(zé)任、教育程度等之間的關(guān)系,要建立一個(gè)模型,以便分析公司人事策略的合理性,并作為新聘用人員薪金的參考。他們認(rèn)為目前公司人員的薪金總體上是合理的,可以作為建模的依據(jù),于是調(diào)查了46名軟件開(kāi)發(fā)人員的檔案資料,如表,其中資歷一列指從事專業(yè)工作的年數(shù),管理一列中1表示管理人員,0表示非管理人員,教育一列中1表示中學(xué)程度,2表示大學(xué)程度,3表示更高程度(研究生)。表一軟件開(kāi)發(fā)人員的薪金與他們的資歷、管理責(zé)任、教育程度之間的關(guān)系編號(hào)薪金資歷管理教育編號(hào)薪金資歷管理教育113876111242288461221160810325169787113187011132614803802411283102271740481151176710328221848136208722122913548801711772202301446710018105352013115942100291219520332231741013101231330233237801012111497531134254101112122137131235148611101131980031336168821202141141740137241701213152026341338159901301161323140339263301312171288440240179491402181324550241256851513191367750342278371612201596551143188381602211236660144174831601222135161345192071702231383960246193462001

模型假設(shè)薪金自然隨著資歷(年)的增長(zhǎng)而增加;管理人員的薪金應(yīng)高于非管理人員;教育程度越高薪金也越高;管理責(zé)任、教育程度、資歷諸因素之間沒(méi)有交互作用;資歷(年)、管理水平、教育程度分別對(duì)薪金的影響是線性的;目前公司軟件開(kāi)發(fā)人員的薪金是合理的;在模型改進(jìn)中我們假設(shè)資歷(年)、管理水平、教育程度之間存在交互作用。問(wèn)題的分析對(duì)于問(wèn)題,在符合題意并且與實(shí)際情況較吻合的情況下,薪金記作,資歷(年)記作,為了表示是否非管理人員,定義為了表示3種教育程度,定義,這樣,中學(xué)用=1,=0來(lái)表示,大學(xué)用=0,=1表示,研究生則用=0,=0表示。對(duì)于影響變量的這些定性因素(管理,教育),在模型求解過(guò)程中我們采用“0-1”變量來(lái)處理,并運(yùn)用數(shù)學(xué)軟件matlab來(lái)求解,最后對(duì)所得的解進(jìn)行討論和分析。模型的建立及求解符號(hào)的說(shuō)明:軟件開(kāi)發(fā)人員的薪金資歷管理責(zé)任,教育程度帶估計(jì)的回歸系數(shù)(i=1,2,3,4,5,6)隨機(jī)誤差隨機(jī)誤差,回歸系數(shù)的樣本估計(jì)值回歸系數(shù)的估計(jì)值的置信區(qū)間殘差向量R的置信區(qū)間回歸模型的檢驗(yàn)統(tǒng)計(jì)量回歸方程的決定系數(shù)統(tǒng)計(jì)量值對(duì)應(yīng)的概率值剩余方差置信水平0.052.模型的建立薪金與資歷,管理責(zé)任,教育程度,之間的多元線性回歸方程為:模型的求解直接利用matlab統(tǒng)計(jì)工具箱中的命令regress求解,使用格式為:[b,bint,r,rint,stats]=regress(y,x,slpha)其中輸入y為模型(1)中的y的數(shù)據(jù)(n維向量,n=30),x為對(duì)應(yīng)于回歸系數(shù)的數(shù)據(jù)矩陣,alpha為置信區(qū)間;輸出b為的估計(jì)值,bint為b的置信區(qū)間,r為殘差向量,rint為r的置信區(qū)間,stats為回歸模型的檢驗(yàn)統(tǒng)計(jì)量,有四個(gè)值,第1個(gè)是回歸方程的決定系數(shù)(是相關(guān)系數(shù)),第2個(gè)是統(tǒng)計(jì)量值,第3個(gè)是與統(tǒng)計(jì)量值對(duì)應(yīng)的概率值,第4個(gè)是剩余方差。根據(jù)上述方程式,我們用數(shù)學(xué)軟件matlab對(duì)模型進(jìn)行求解可以得到回歸系數(shù)及其置信區(qū)間(置信水平=0.05),檢驗(yàn)統(tǒng)計(jì)量,,,的結(jié)果,見(jiàn)表二。表二模型(1)的計(jì)算結(jié)果參數(shù)參數(shù)估計(jì)值參數(shù)置信區(qū)間11032[10258,11807]546[484,608]6883[6248,7517]-2994[-3826,-2162]148[-636,931]=0.579=226<0.0001=1.057x106結(jié)果分析和檢驗(yàn)結(jié)果分析從表二知=0.975,即因變量(薪金)的95.7%可由模型確定,值遠(yuǎn)遠(yuǎn)超過(guò)的檢驗(yàn)的臨界值,遠(yuǎn)小于,因而模型(1)從整體來(lái)看是可用的。比如,利用模型可以估計(jì)(或預(yù)測(cè))一個(gè)大學(xué)畢業(yè),有2年資歷,費(fèi)管理人員的薪金為:=12272模型中各個(gè)回歸系數(shù)的含義可初步解釋如下:的系數(shù)為546,說(shuō)明資歷增加1年薪金增長(zhǎng)546;的系數(shù)為6883,說(shuō)明管理人員薪金多6883;的系數(shù)為-2994,說(shuō)明中學(xué)程度薪金比更高的少2994;的系數(shù)為148,說(shuō)明大學(xué)程度薪金比更高的多148,但是注意到置信區(qū)間包含零點(diǎn),說(shuō)明這個(gè)系數(shù)的解釋不可靠。需要指出,以上解釋是就平均值來(lái)說(shuō),并且,一個(gè)因素改變引起的因變量的變化量,都是在其他因素不變的條件下成立的。二.結(jié)果檢驗(yàn)的置信區(qū)間包含零點(diǎn),說(shuō)明基本模型(1)存在缺點(diǎn)。為了尋找改進(jìn)的方向,常用殘差分析方法(殘差指薪金的實(shí)際值與用模型估計(jì)的薪金y1之差,是模型(1)中隨機(jī)誤差的估計(jì)值,這里用了一個(gè)符號(hào))。我們將影響因素分成資歷與管理-教育組合兩類,管理-教育組合的定義如表三:表三管理——教育組合123456管理010101教育112233為了對(duì)殘差進(jìn)行分析,圖1給出了與資歷的關(guān)系,圖2給出與管理-教育,組合間的關(guān)系。圖1模型(1)與的關(guān)系圖2模型(1)與—,組合的關(guān)系從圖一看,殘差大概分成3個(gè)水平,這是由于6種管理—教育組合混合在一起,在模型中未被正確反映的結(jié)果,、;從圖2看,對(duì)于前4個(gè)管理—教育組合,殘差或者全為正,或者全為負(fù),也表明管理—教育組合在模型中處理不當(dāng)。在模型(1)中國(guó)管理責(zé)任和教育程度是分別起作用的,事實(shí)上,二者可能起著交互作用,如大學(xué)程度的管理人員的薪金會(huì)比二者分別的薪金制和高一點(diǎn)。以上分析提醒我們,應(yīng)在基本模型(1)中增加管理與教育,的交互項(xiàng),建立新的回歸模型。六.優(yōu)化方向通過(guò)以上分析,我們?cè)谀P鸵恢性黾庸芾砼c教育,的交互項(xiàng),建立新的回歸模型。模型記作:利用matlab的統(tǒng)計(jì)工具得到的結(jié)果如表四:表四模型(2)的計(jì)算結(jié)果參數(shù)參數(shù)估計(jì)值參數(shù)置信區(qū)間11204[11044,11363]497[486,508]7048[6841,7255]-1727[-1939,7255]-348[-545,-152]-3071[-3372,-2769]1836[1571,2101]=0.9988=5545<0.0001=3.0047x104由表四可知,模型(2)的和值都比模型(1)有所改進(jìn),并且所有回歸系數(shù)的置信區(qū)間都不含零點(diǎn),表明模型(2)是完全可用的。與模型(1)類似,作模型(2)的兩個(gè)殘差分析圖(圖3,圖4),可以看出,已經(jīng)消除了圖1,圖2中的不正?,F(xiàn)象,這也說(shuō)明了模型(2)的適用性。圖3模型(2)與的關(guān)系圖4模型(2)與—,組合的關(guān)系從圖3,圖4還可以發(fā)現(xiàn)一個(gè)異常點(diǎn):具有10年資歷、大學(xué)程度的管理人員(從表1可以查出是33號(hào)),他的實(shí)際薪金明顯地低與模型的估計(jì)值,也明顯低于與他有類似經(jīng)歷的其他人的薪金。這可能是由我們未知的原因造成的,為了使個(gè)別的數(shù)據(jù)不致影響整個(gè)模型,應(yīng)該講這個(gè)異常數(shù)據(jù)去掉,對(duì)模型(2)重新估計(jì)回歸系數(shù),得到的結(jié)果如表五,殘差分析圖見(jiàn)圖5,圖6.可以看出,去掉異常數(shù)據(jù)后結(jié)果又有改善。表五模型(2)去掉異常數(shù)據(jù)后的計(jì)算結(jié)果參數(shù)參數(shù)估計(jì)值參數(shù)置信區(qū)間11200[11139,11261]498[494,503]7041[6962,7120]-1737[-1818,,-1656]-356[-431,-281]-3056[-3171,-2942]1997[1894,2100]=0.9998=36701<0.0001=4.347x103圖5模型(2)去掉異常數(shù)據(jù)后圖6模型(2)去掉異常數(shù)據(jù)后與與的關(guān)系與—,組合的關(guān)系對(duì)于回歸模型(2),用去掉模型異常數(shù)據(jù)(33號(hào))后估計(jì)出的系數(shù),得到的結(jié)果是滿意的。作為這個(gè)模型的應(yīng)用之一,不妨用它來(lái)"制訂”6種管理—教育組合人員的“基礎(chǔ)”薪金(即資歷為零的薪金,當(dāng)然,這也是平均意義上的)。利用模型(2)和表五容易得到表六:表六6種管理—教育組合人員的“基礎(chǔ)”薪金組合管理教育系數(shù)“基礎(chǔ)”薪金101+9463211+++13448302+10844412+++1988250311200613+182417從表六可以看出,大學(xué)程度的管理人員的薪金比研究生程度的管理人員的薪金高,而大學(xué)程度的非管理人員的薪金比研究生程度的管理人員的薪金高,而大學(xué)程度的非管理人員的薪金比研究生的非管理人員的薪金略低。當(dāng)然,這是根據(jù)這家公司實(shí)際數(shù)據(jù)建立的模型得到的結(jié)果,并不具普遍性。模型評(píng)價(jià)本文在模型建立時(shí)結(jié)合實(shí)際情況,對(duì)問(wèn)題進(jìn)行了適當(dāng)?shù)募僭O(shè)。對(duì)于影響因變量的定性變量因素(管理,教育),可以引入0—1變量來(lái)處理,0—1變量的個(gè)數(shù)可比定性因素的水平少1(如教育程度有3個(gè)水平,引入2個(gè)0—1變量)。運(yùn)用到MATLAB軟件進(jìn)行計(jì)算還有制圖,得到較準(zhǔn)確的數(shù)據(jù)和圖表。為求結(jié)果的精確,還運(yùn)用了殘差分析方法,發(fā)現(xiàn)模型的缺陷,引入交互作用項(xiàng)使模型更加完善和具可行性。因有異常數(shù)據(jù)的存在,我們予以剔除,有助于結(jié)果的合理性。對(duì)于本文所得的模型也可以用于不同單位,不同行業(yè)某類人才的預(yù)測(cè)。當(dāng)然,本文也存在許多不足。但是對(duì)于對(duì)模型進(jìn)行的改進(jìn)和檢驗(yàn),難免會(huì)出現(xiàn)誤差。八.參考文獻(xiàn)[1]將啟源,謝金星,葉俊數(shù)學(xué)建模,高等教育出版社2011[2]周明華,鄔學(xué)軍,周凱,李春燕,MATLAB實(shí)用教程浙江工業(yè)大學(xué)應(yīng)用數(shù)學(xué)系2011附錄一:表二的程序及結(jié)果:x1=[111112222333344445556666788881010101011111212131314151616161720]';x2=[1010010000111010000101011011000111001010110000]';x3=[1000000100100100000110001010110000100100000101]';x4=[0001011001010000110000110100001011010011011010]';y=[13876116081870111283117672087211772105351219512313149752137119800114172026313231128841324513677159651236621352138392288416978148031740422184135481446715942231742378025410148611688224170159902633017949256852783718838174831920719346]';x0=ones(46,1);x=[x0x1x2x3x4];[b,bint,r,rint,stats]=regress(y,x,0.05);b=vpa(b,8)bint=vpa(bint,8)stats=vpa(stats,8)b=11032.734546.127656882.5329-2994.1783147.73798bint=[10258.256,11807.213][484.44860,607.80670][6248.1051,7516.9607][-3826.3273,-2162.0294][-635.71842,931.19438]stats=[.95669181,226.42580,0.,1057144.8]圖一及圖二殘差圖程序段及結(jié)果:x5=[2563543153246165335216342326113644136143643131]';[b,bint,r,rint,stats]=regress(y,x,0.05);subplot(2,2,1)plot(x1,r,'r+')subplot(2,2,2)plot(x5,r,'b+')表四的模型及結(jié)果:x1=[111112222333344445556666788881010101011111212131314151616161720]';x2=[1010010000111010000101011011000111001010110000]';x3=[1000000100100100000110001010110000100100000101]';x4=[0001011001010000110000110100001011010011011010]';x5=[2563543153246165335216342326113644136143643131]';y=[13876116081870111283117672087211772105351219512313149752137119800114172026313231128841324513677159651236621352138392288416978148031740422184135481446715942231742378025410148611688224170159902633017949256852783718838174831920719346]';x0=ones(46,1);x=[x0x1x2x3x4x2.*x3x2.*x4];[b,bint,r,rint,stats]=regress(y,x,0.05);b=vpa(b,8)bint=vpa(bint,8)stats=vpa(stats,8)b=11203.754496.863937047.9997-1726.5042-348.39254-3070.59621835.9676bint=[11044.259,11363.248][485.63509,508.09277][6841.0518,7254.9477][-1938.9889,-1514.0195][-545.21127,-151.57381][-3371.8328,-2769.3595][1571.3704,2100.5648]stats=[.99882910,5544.7990,0.,30047.093]圖3及圖4殘差圖程序段及結(jié)果:x1=[111112222333344445556666788881010101011111212131314151616161720]';x5=[2563543153246165335216342326113644136143643131]';y=[13876116081870111283117672087211772105351219512313149752137119800114172026313231128841324513677159651236621352138392288416978148031740422184135481446715942231742378025410148611688224170159902633017949256852783718838174831920719346]';subplot(2,2,1)plot(x1,r,'r+')subplot(2,2,2)plot(x5,r,'b+')表五的程序及結(jié)果:x1=[1111122223333444455566667888810101011111212131314151616161720]';x2=[101001000011101000010101101100011001010110000]';x3=[100000010010010000011000101011000100100000101]';x4=[000101100101000011000011010000101010011011010]';x5=[256354315324616533521634232611364136143643131]';y=[138761160818701112831176720872117721053512195123131497521371198001141720263132311288413245136771596512366213521383922884169781480317404221841354814467159422317425410148611688224170159902633017949256852783718838174831920719346]';x0=ones(45,1);x=[x0x1x2x3x4x2.*x3x2.*x4];[b,bint,r,rint,stats]=regress(y,x,0.05);b=vpa(b,8)bint=vpa(bint,8)stats=vpa(stats,8)圖5和圖6的殘插圖程序段及結(jié)果:x1=[1111122223333444455566667888810101011111212131314151616161720]';x5=[256354315324616533521634232611364136143643131]';y=[138761160818701112831176720872117721053512195123131497521371198001141720263132311288413245136771596512366213521383922884169781480317404221841354814467159422317425410148611688224170159902633017949256852783718838174831920719346]';subplot(2,2,1)plot(x1,r,'r+')subplot(2,2,2)plot(x5,r,'b+')Dailywork1第一次是來(lái)面試,當(dāng)時(shí)感覺(jué)不怎么好,面試的人問(wèn)了一些問(wèn)題有些沒(méi)回答上來(lái),這并不奇怪,C#自己學(xué)習(xí)了2個(gè)月,然后就沒(méi)怎么用,回答不上我覺(jué)得可以理解。沒(méi)想到還能第二次來(lái)到公司,由于對(duì)環(huán)境還比較陌生,所以今天大概熟悉了一點(diǎn),成都這邊有50多個(gè)員工,屬于研發(fā)中心,主要從事無(wú)線微波得較大型的設(shè)備的再加工,聽(tīng)同事說(shuō)以前在北京,但由于北京人力資源太貴所以來(lái)到成都,這聽(tīng)起來(lái)怎么像是在壓榨的感覺(jué)啊,沒(méi)關(guān)系,只是來(lái)實(shí)習(xí)而已。對(duì)于今天的第一個(gè)小任務(wù),要求:界面、數(shù)據(jù)壓入堆棧、簡(jiǎn)單冒泡排序?qū)崿F(xiàn)數(shù)據(jù)有序輸出、堆排序輸出。讓我快速地熟悉了C#,從界面到后臺(tái)都得到了加強(qiáng),此外在實(shí)現(xiàn)過(guò)程中對(duì)用到的冒泡排序和堆排序有了更深的理解,并能用C#熟練的實(shí)現(xiàn)。Dailywork2今天對(duì)昨天的實(shí)例進(jìn)行了改進(jìn)和提高,將堆排序和冒泡排序封裝在一個(gè)動(dòng)態(tài)鏈接庫(kù)中,提供函數(shù)調(diào)用和事件委托。此外加入XML進(jìn)行配置,在XML中存入相關(guān)配置信息,提供一個(gè)單獨(dú)的XmlClass對(duì)其進(jìn)行操作,加深了對(duì)xml的理解。為增加程序的性能,采用簡(jiǎn)單工廠模式對(duì)其客戶端和算法操作進(jìn)行分離,有很好的可擴(kuò)展性,對(duì)于C#的動(dòng)態(tài)鏈接庫(kù)和XML配置不怎么熟悉,花了很長(zhǎng)一段時(shí)間看書(shū)和網(wǎng)上查資料,才開(kāi)始動(dòng)手寫(xiě)代碼,不過(guò)感覺(jué)還是很快,因?yàn)樽约河芯幊痰哪芰?,可以說(shuō)掌握了一種快速編程的方法,所以就能駕輕就熟。Dailywork3今天采用抽象工廠模式對(duì)實(shí)例進(jìn)行改進(jìn),以達(dá)到動(dòng)態(tài)加載算法實(shí)例,抽象工廠模式屬于設(shè)計(jì)模式中的內(nèi)容,自己在學(xué)習(xí)視頻的時(shí)候注意到了,所以之前就買了本大話設(shè)計(jì)模式來(lái)學(xué)習(xí),可以說(shuō)了解了大部分設(shè)計(jì)模式。今天遇到后自己心里也有底,溫故一下書(shū)就知道怎么做了,可以說(shuō)這是我學(xué)習(xí)的方法。針對(duì)以上,在dll中提供一個(gè)接口,兩個(gè)算法都繼承了該接口,對(duì)于該dll的操作都通過(guò)接口ISort進(jìn)行,此外,修改工廠為抽象工廠,提供一個(gè)接口創(chuàng)建算法,在算法中返回ISort實(shí)例,在主函數(shù)中使用該實(shí)例進(jìn)行對(duì)應(yīng)的排序算法操作,充分顯示了抽象工廠的作用,本例子將反射和抽象工廠模式結(jié)合,增加了程序的可擴(kuò)展性和可維護(hù)性。Dailywork4由于自己編程能力還算可以吧,所以軟件組的老大就叫我加入開(kāi)始做一些這次項(xiàng)目的東西,說(shuō)了一句“我可是沒(méi)把你當(dāng)實(shí)習(xí)生哦?!保@話一聽(tīng)當(dāng)時(shí)感覺(jué)還好,不過(guò)后來(lái)一想,我卻是吃虧了,他不把我當(dāng)實(shí)習(xí)生但給我的卻是實(shí)習(xí)生工資,這點(diǎn)有點(diǎn)想不過(guò)去,不過(guò)沒(méi)關(guān)系,實(shí)習(xí)嘛就是學(xué)習(xí),有基本工資也不錯(cuò)了,關(guān)鍵的公司提供的條件那是在學(xué)校里所得不到的:商業(yè)性的問(wèn)題。今天將上述實(shí)例的方法用到本次項(xiàng)目中,開(kāi)始項(xiàng)目中的一些任務(wù)。仍然使用抽象工廠模式,將自定義窗體封裝到類庫(kù)中,將窗體的控件預(yù)留到外部進(jìn)行實(shí)施定義;在XML文件中配置窗體的實(shí)際參數(shù),利用反射按從XML中讀出的參數(shù)動(dòng)態(tài)加載窗體。將上述的實(shí)例方法運(yùn)用到了實(shí)際項(xiàng)目中。Dailywork5昨天的任務(wù)基本已完成,今天溫習(xí)了一下加深了對(duì)知識(shí)的理解,可以說(shuō)掌握得比較牢固了,今天又有新的任務(wù),可以說(shuō)每天都在進(jìn)步。按組長(zhǎng)要求編寫(xiě)RankStyle=Group時(shí)的窗體排列方式,在XML中配置控件或窗體的參數(shù),利用XML讀接口從XML中讀出參數(shù),為了使程序具有靈活性,在組長(zhǎng)的提示下將窗體的配置按照窗體的Name屬性進(jìn)行配置,之前是利用字段的方式寫(xiě)在XML中,但是組長(zhǎng)說(shuō)這樣的話在程序中查找不方便,可我覺(jué)得沒(méi)什么啊,當(dāng)然了,對(duì)于我這個(gè)沒(méi)有工作經(jīng)驗(yàn)的人來(lái)說(shuō)看什么都是可以的,所以要多學(xué)習(xí)學(xué)習(xí)。在FormControl中利用雙層循環(huán)將控件容器中的控件按Name與讀出的配置進(jìn)行匹配,如果在XML中配置了該窗體,就設(shè)置該窗體的一些屬性。個(gè)人感覺(jué)實(shí)現(xiàn)了該功能吧,最后經(jīng)過(guò)組長(zhǎng)看了一下審核基本通過(guò)。要求:根據(jù)Group,從XML中讀取控件配置信息,動(dòng)態(tài)設(shè)置控件在主窗體中的顯示。Dailywork6每天都有不同的要求,哎,果然和學(xué)校是不一樣啊,今天將DLL中的控件更換成窗體,方法仍然采用反射+抽象工廠模式。雖然自己有一定編程經(jīng)驗(yàn),但是遇到問(wèn)題是不可避免的,今天在編寫(xiě)過(guò)程中遇到了一個(gè)問(wèn)題,就是當(dāng)窗體接口和窗體類庫(kù)放在一起的時(shí)候,在工廠中創(chuàng)建的實(shí)例無(wú)法裝換成接口類型,經(jīng)過(guò)多次測(cè)試和上網(wǎng)查閱相關(guān)資料,發(fā)現(xiàn)控件類實(shí)現(xiàn)接口,不能將接口放在同一個(gè)類庫(kù)中,針對(duì)以上問(wèn)題在網(wǎng)上查閱相關(guān)資料,結(jié)果還是沒(méi)有相同的主題,沒(méi)辦法,只有硬著頭皮在網(wǎng)上找,沒(méi)有主題就找有沒(méi)有相關(guān)的例子,結(jié)果還是沒(méi)有,差點(diǎn)就無(wú)語(yǔ)了,突然看到有類似方法的一個(gè)例子,真是柳暗花明又一村啊,仔細(xì)看了看,發(fā)現(xiàn)他和我的結(jié)構(gòu)有些差異,所以調(diào)了一下結(jié)構(gòu),一編譯果然痛過(guò)了,就是將兩個(gè)類庫(kù)分離,再在接口中加入工廠便可創(chuàng)建實(shí)例并轉(zhuǎn)換成接口。在主窗體中只需要引用該接口類庫(kù)便可達(dá)到要求,使程序耦合性降低了。Dailywork7由于黎甫對(duì)DLL的要求發(fā)生變化,今天就不斷修正DLL程序,并驗(yàn)收,再結(jié)合Group的窗口排列方式對(duì)DLL中的窗體進(jìn)行測(cè)試。我現(xiàn)在才明白,編寫(xiě)代碼是一件很容易的事,但是編寫(xiě)好的代碼卻是很難的事情,好的代碼要有可維護(hù)性、可擴(kuò)展性,這樣在修改的話就很簡(jiǎn)單,可不能像我昨天寫(xiě)得代碼,根本談不上藝術(shù),所以一旦面對(duì)客戶的要求,改動(dòng)就很困難,這一點(diǎn)值得我繼續(xù)學(xué)習(xí)。至于可擴(kuò)展性也是對(duì)維護(hù)的擴(kuò)充,因?yàn)轭櫩偷囊笥锌赡茈S時(shí)都在改變,我們也得適應(yīng)客戶的要求,如果軟件有了可擴(kuò)展性,那么它的改動(dòng)就比較小,就能適應(yīng)顧客的要求。所有上面說(shuō)的這些都是自己要學(xué)習(xí)的地方,這樣在以后的商業(yè)開(kāi)發(fā)中才能游刃有余,應(yīng)對(duì)自如。Dailywork8回顧前幾天所做的練習(xí),對(duì)遇到的問(wèn)題進(jìn)行解決,在網(wǎng)上查閱相關(guān)資料獨(dú)立解決,并對(duì)之前的一些項(xiàng)目練習(xí)做好備份。將這幾天練習(xí)中所用的編程方法都串聯(lián)了一遍,形成了固定的模式,以便在今后可以快速的使用。Dailywork9今天算是正式開(kāi)始做公司的項(xiàng)目,上午黎甫和秦陽(yáng)在會(huì)議室給我講解了項(xiàng)目的一些功能并進(jìn)行討論,大致理解了項(xiàng)目后,分配了自己的一部分任務(wù),整理過(guò)后在多次與秦陽(yáng)的溝通請(qǐng)教下明白了自己的任務(wù),下午秦陽(yáng)建好VSS,我拷貝項(xiàng)目進(jìn)行框架整合和測(cè)試。在編寫(xiě)代碼的過(guò)程中也涉及了一些問(wèn)題,通過(guò)看MSDN和上論壇,基本得到解決,同時(shí)也了解了一些C#其它的相關(guān)知識(shí)。Dailywork10今天繼續(xù)昨天的任務(wù),做一個(gè)小測(cè)試,將現(xiàn)今做的項(xiàng)目所有代碼進(jìn)行整合測(cè)試,測(cè)試要求是在數(shù)據(jù)庫(kù)中配置菜單項(xiàng),動(dòng)態(tài)添加幾項(xiàng)菜單項(xiàng),在不同點(diǎn)擊下動(dòng)態(tài)從DLL中加載窗體讀取配置文件進(jìn)行排列,順利完成。要求:抽象接口,并繼承;XML中命名空間和類名不要設(shè)置成結(jié)點(diǎn),設(shè)置成屬性。封裝算法到DLL;在FirstWork中使用XML配置;建立一個(gè)XMLclass進(jìn)行操作;建立一個(gè)中間工廠類用反射在類庫(kù)中查找響應(yīng)算法;事件和委托。接口.XML中結(jié)點(diǎn):程序集名稱;命名空間.類名;接口名稱;加載的時(shí)候轉(zhuǎn)化為接口;XML中增加一個(gè)結(jié)點(diǎn)用來(lái)存儲(chǔ)客戶端關(guān)于算法的選擇,按選擇動(dòng)態(tài)改變其值,然后算法中讀取該值進(jìn)行排序選擇。為解決的問(wèn)題:在一個(gè)工具條上配置多個(gè)工具,并添加事件,好像數(shù)據(jù)庫(kù)不能實(shí)現(xiàn)。OK了!Dailywork11同步多線程方式實(shí)現(xiàn)Tcp/Ip發(fā)送。Dailywork12多線程要解除委托,避免出現(xiàn)異常;設(shè)置心跳包,檢查客戶端是否斷開(kāi)連接;UDP服務(wù)器與客戶端握手,以及連接,數(shù)據(jù)報(bào)Dailywork13Dailywork14Windows服務(wù)項(xiàng)目了解Dailywork15解決Udp局域網(wǎng)內(nèi)廣播方式通信。Dailywork16數(shù)據(jù)庫(kù)導(dǎo)出到XML,填充已設(shè)置菜單及工具欄結(jié)構(gòu),返回上層,在工廠中添加X(jué)ML配置文件,選擇是從數(shù)據(jù)庫(kù)還是XML中讀取。首先把數(shù)據(jù)庫(kù)轉(zhuǎn)化為XML研究如何和調(diào)用數(shù)據(jù)庫(kù)的接口結(jié)合設(shè)計(jì)XML操作工程工廠更改與設(shè)計(jì)ReadMenuInfo.cs中publicMenuItemInfoNode[]ReadInfo(stringSite)定義為接口中的函數(shù)可能的Xpath:/Root/Item[@WndId=‘’ortb_MenuID=‘’]選取所有bookstore元素中price元素的值小于9或大于10的book元素.Dailywork17完成菜單和工具條從數(shù)據(jù)庫(kù)轉(zhuǎn)化為XML中導(dǎo)出。Dailywork18整理優(yōu)化從XML中導(dǎo)出的過(guò)程,此外還;閱讀其他英文原版資料書(shū)。Dailywork19要求:封裝窗體到DLL;導(dǎo)出事件;XML配置窗體參數(shù);從control繼承。動(dòng)態(tài)生成,使用抽象工廠模式;Group的順序無(wú)序由自己決定(從XML中讀取);XML操作類;心得時(shí)間過(guò)的真快,一眨眼時(shí)間我在北京世紀(jì)德辰通信技術(shù)有限

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論