大多數(shù)程序員,都極度痛恨寫文檔。Coding是愉快的,而Write是痛苦的。有一部分原因,其實(shí)是要?dú)w咎于程序員自身,以我的經(jīng)驗(yàn),很多程序員往往會(huì)“艱于表達(dá)”,尤其是用“文字、圖表、PPT、Word”之類的OfficeDocument來表達(dá)。當(dāng)然,還有一部分原因,是由于很多項(xiàng)目開發(fā)實(shí)踐中,文檔的前后矛盾、**、反復(fù)修改、歧義重重,常常讓程序員們抓狂。UML是一個(gè)比較好的工具,但是,**靠UML,是無法將項(xiàng)目的知識描述清楚的。也有不少項(xiàng)目組在引入了UML之后發(fā)現(xiàn),文檔的工作量不但沒有減少,而是更多了。隨著項(xiàng)目的進(jìn)展,需要維護(hù)的設(shè)計(jì)文檔數(shù)量,也更多了。也因此造成了更多的前后矛盾,**,反復(fù)修改。根本的痛苦,并不在于一開始寫一份文檔,而在于所有寫下的文檔,都必須跟隨項(xiàng)目的進(jìn)展而隨之變化。當(dāng)我們寫出來的文檔越多,需要被持續(xù)維護(hù)的文檔也就越多,需要反復(fù)檢查文檔間的可能存在的矛盾也就越多,所有扔出去的石頭,***都會(huì)落回到自己頭上。于是,還有不少項(xiàng)目組,將文檔工作與代碼工作截然分開,文檔就寫一次,用來應(yīng)付上面的管理層,而代碼自管自的繼續(xù)開發(fā)。對于小型項(xiàng)目來說,這其實(shí)是一個(gè)不錯(cuò)的權(quán)宜之計(jì)。但是一旦項(xiàng)目越來越龐大、復(fù)雜。所有的隱性的知識。軟件開發(fā)是一項(xiàng)包括需求捕捉、需求分析、設(shè)計(jì)、實(shí)現(xiàn)和測試的系統(tǒng)工程。閔行區(qū)質(zhì)量軟件開發(fā)技術(shù)指導(dǎo)
關(guān)聯(lián)JAR文件與源代碼、文檔等或者通過相對路徑的形式,首先在選擇AddVariable,首先添加Eclipse的安裝路徑,然后通過eclipse的安裝路徑宏變量,來定義SWT的JAR文件的位置。通過ECLIPSE_HOME宏來定義JAR文件路徑,以及對應(yīng)的源代碼、文檔等,選擇AddVariable,然后Extend……運(yùn)行在代碼編輯過程中,可以通過F2查看相應(yīng)的SWT的源代碼:圖形界面輔助工具A.WindowBuilder或者SWTDesigner下載軟件后,解壓縮可以看到文件目錄下是個(gè)eclipse目錄,eclipse下是plugins和features文件夾,SWTDesigner是作為eclipse的插件進(jìn)行安裝的,因此,可以通過link的方式安裝。或者把這些plugins和features目錄下的內(nèi)容,分別拷貝到eclipse對應(yīng)的文件夾中。SWTDesigner的安裝,需要PDE的支持,因此首先把EclipseIDEforJavaDevelopers版本,更新安裝PDE(Plug-inDevelopmentEnvironment),WindowBuilder依賴此運(yùn)行。Help-InstallNewSoftware,Galileo-download./releases/galileo,用plug做索引詞,選中EclipsePlug-inDevelopmentEnvironment。嘗試下載單獨(dú)的PDE插件:download./eclipse/downloads/drops/3/雖然PDE也是Eclipse的插件,但是似乎不能使用link方式進(jìn)行安裝。青浦區(qū)個(gè)人軟件開發(fā)售后服務(wù)大型軟件開發(fā)公司優(yōu)勢是技術(shù)成熟,缺點(diǎn)是開發(fā)成本高;另外大型軟件開發(fā)公司因?yàn)闃I(yè)務(wù)多。
嵌入式計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)過程1.需求分析確定設(shè)計(jì)任務(wù)和目標(biāo),并制定說明規(guī)格文檔,作為下一步設(shè)計(jì)的指導(dǎo)和驗(yàn)收標(biāo)準(zhǔn)。需求分析往往要與用戶反復(fù)交流,以明確系統(tǒng)功能需求,性能需求,環(huán)境、可靠性、成本、功耗、資源等需求。2.體系結(jié)構(gòu)設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)是嵌入式系統(tǒng)的總體設(shè)計(jì),它需要確定嵌入式系統(tǒng)的總體構(gòu)架,從功能上對軟硬件進(jìn)行劃分。在此基礎(chǔ)上,確定嵌入式系統(tǒng)的硬件選型(主要是處理器選型),操作系統(tǒng)的選擇和開發(fā)環(huán)境的選擇。3.硬件的設(shè)計(jì)、制作及測試在這一階段要確定硬件部分的各功能模塊及模塊之間的關(guān)聯(lián),并在此基礎(chǔ)上完成元器件的選擇、原理圖繪制、印刷電路板(PCB)設(shè)計(jì)、硬件的裝配與測試、目標(biāo)硬件**終的確定和測試。4.軟件的設(shè)計(jì)、實(shí)現(xiàn)及測試這部分工作與硬件開發(fā)并行、交互進(jìn)行。軟件設(shè)計(jì)主要完成引導(dǎo)程序的編制、操作系統(tǒng)的移植、驅(qū)動(dòng)程序的開發(fā)、應(yīng)用軟件的編寫等工作。設(shè)計(jì)完成后,軟件開發(fā)進(jìn)入實(shí)現(xiàn)階段。這一階段主要是嵌入式軟件的生成(編譯、鏈接),調(diào)試和固化運(yùn)行,**后完成軟件的測試。5.系統(tǒng)集成將測試完成的軟件系統(tǒng)裝入制作好的硬件系統(tǒng)中,進(jìn)行系統(tǒng)綜合測試,驗(yàn)證系統(tǒng)功能是否能夠正確無誤地實(shí)現(xiàn),**后將正確的軟件固化在目標(biāo)硬件中。
軟件準(zhǔn)備EclipseJava開發(fā)環(huán)境:EclipseIDEforJavaDevelopers/downloads/SWT軟件包:/swt/JFace軟件包:一般Eclipse的IDE文件plugins目錄中會(huì)有相應(yīng)的版本,如果下載EclipseforRCP/Plug-inDevelopers版本則包括Jface的JAR以及源代碼。SWTDesigner或者WindowBuilder:/windowbuilder/pro/安裝A.解壓縮后如下圖所示,包含swt和swt-debug的jar文件,同時(shí)包含源代碼壓縮文件把這三個(gè)文件都拷貝進(jìn)入ecliplse下plugins目錄.測試A.打開eclipseIDE,新建一個(gè)JavaProject,命名SWTTestB.新建SWTTest類,默認(rèn)包,然后輸入如下代碼:{publicstaticvoidmain(String[]args){Displaydisplay=newDisplay();Shellshell=newShell(display);("HelloWorld");(100,100,200,50);(newFillLayout());Labellabel=newLabel(shell,);("HelloWorld");Colorred=newColor(display,255,0,0);(red);();while(!()){if(!())();}();();}}Eclipse會(huì)提示許多錯(cuò)誤,那是因?yàn)樯形窗裇WT的JAR放入的工程的編譯路徑中C.添加SWT的JAR文件到工程的編輯路徑中在工程屬性中JavaBuildPath中,選擇Library,選擇AddexternalJARs,通過***路徑來添加額外的JAR文件,并通過***路徑把JAR文件與其源代碼、文檔等進(jìn)行關(guān)聯(lián)。人機(jī)界面是軟件開發(fā)環(huán)境與用戶之間的一個(gè)統(tǒng)一的交互式對話系統(tǒng),它是軟件開發(fā)環(huán)境的重要質(zhì)量標(biāo)志。
簽訂軟件開發(fā)合同的注意事項(xiàng)委托開發(fā)軟件一般是應(yīng)用戶(委托方)需要,編制適用于其生產(chǎn)或經(jīng)營特點(diǎn)的軟件,這種軟件一般在市場上見不到或在市場上買到需經(jīng)修改后才能使用,但是該用戶沒有開發(fā)或修改軟件的能力,必須委托一定軟件中其他具有開發(fā)、修改軟件能力的機(jī)構(gòu)從事該項(xiàng)工作。軟件開發(fā)合同被委托方雖然是開發(fā)軟件方面**,但他可能對委托方所從事的行業(yè)或具體的生產(chǎn)或經(jīng)營特點(diǎn)、方式了解甚少。因此,雙方簽訂的軟件開發(fā)合同就有許多事項(xiàng)需要明確。一、委托人應(yīng)注意以下事項(xiàng)1、軟件開發(fā)合同雙方應(yīng)明確約定受托人對委托人進(jìn)行項(xiàng)目培訓(xùn),以及培訓(xùn)費(fèi)用的支付問題。2、軟件開發(fā)合同雙方應(yīng)明確約定開發(fā)軟件的總價(jià)款以及各個(gè)部分的價(jià)格。3、軟件開發(fā)合同雙方應(yīng)明確約定受托人向委托人提供進(jìn)度報(bào)告的方式和時(shí)間。4、軟件開發(fā)合同委托人在領(lǐng)受了受托人交付件后,應(yīng)立即對該交付件進(jìn)行測試和評估,以確認(rèn)其是否符合開發(fā)軟件的功能和規(guī)格。5、軟件開發(fā)合同委托人應(yīng)向受托人提供有關(guān)信息與資料,特別是有關(guān)委托人對開發(fā)軟件的功能和目標(biāo)需求方面的信息和資料,明確質(zhì)量要求。軟件開發(fā)是根據(jù)用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。上海正規(guī)軟件開發(fā)技術(shù)指導(dǎo)
軟件分為系統(tǒng)軟件和應(yīng)用軟件,并不只是包括可以在計(jì)算機(jī)上運(yùn)行的程序。閔行區(qū)質(zhì)量軟件開發(fā)技術(shù)指導(dǎo)
6、軟件開發(fā)合同雙方應(yīng)明確約定委托人對于委托人提交的有關(guān)需求說明、資料和信息所涉及的軟件功能、目標(biāo)、需求構(gòu)成及相關(guān)技術(shù)問題向受托人咨詢或征求意見的權(quán)利。7、軟件開發(fā)合同委托方應(yīng)明確約定受托方向委托方進(jìn)行軟件維護(hù)和支持服務(wù)的時(shí)間和內(nèi)容。二、受托人應(yīng)注意以下事項(xiàng)1、受托人在完成軟件開發(fā)后,需要增加開發(fā)費(fèi)用時(shí),該怎么處理,應(yīng)與委托人進(jìn)行明確約定。2、應(yīng)在軟件開發(fā)合同中約定完成軟件開發(fā)的彈性時(shí)間,避免由于委托人計(jì)算失誤,未能在合同規(guī)定的時(shí)間內(nèi)完成軟件開發(fā)而承擔(dān)的違約責(zé)任。3、軟件開發(fā)合同雙方應(yīng)明確約定受托人提交需求說明書、概要設(shè)計(jì)說明書、詳細(xì)設(shè)計(jì)說明書的具體時(shí)間。4、軟件開發(fā)合同雙方應(yīng)明確約定委托人在受托人提交進(jìn)度報(bào)告后答復(fù)的時(shí)間和方式。5、明確軟件開發(fā)合同所開發(fā)軟件的版權(quán)歸屬。軟件版權(quán)的歸屬有兩種處理方法:其一是軟件版權(quán)歸委托方;其二是軟件版權(quán)歸軟件開發(fā)合同被委托方。實(shí)踐中可采取以下辦法解決,即軟件版權(quán)歸委托人,反過來委托人給予被委托人在一定范圍內(nèi)使用軟件的許可,如允許被委托人使用例行程序開發(fā)其他軟件等,由此雙方都能各得所需。閔行區(qū)質(zhì)量軟件開發(fā)技術(shù)指導(dǎo)
上海聚奧信息技術(shù)有限公司致力于辦公、文教,以科技創(chuàng)新實(shí)現(xiàn)***管理的追求。公司自創(chuàng)立以來,投身于技術(shù)開發(fā),技術(shù)咨詢,技術(shù)轉(zhuǎn)讓,技術(shù)服務(wù),是辦公、文教的主力軍。聚奧信息技術(shù)繼續(xù)堅(jiān)定不移地走高質(zhì)量發(fā)展道路,既要實(shí)現(xiàn)基本面穩(wěn)定增長,又要聚焦關(guān)鍵領(lǐng)域,實(shí)現(xiàn)轉(zhuǎn)型再突破。聚奧信息技術(shù)始終關(guān)注辦公、文教市場,以敏銳的市場洞察力,實(shí)現(xiàn)與客戶的成長共贏。