程序員的工作流程
程序員的工作流程
程序員的工作流程是怎樣,程序員主要負(fù)責(zé)哪些東西。小編給大家整理了關(guān)于程序員的工作流程,希望你們喜歡!
程序員的工作流程
1、對項目經(jīng)理負(fù)責(zé),負(fù)責(zé)軟件項目的詳細(xì)設(shè)計、編碼和內(nèi)部測試的組織實施,對程序員小型軟件項目兼任系統(tǒng)分析工作,完成分配項目的實施和技術(shù)支持工作。
2、協(xié)助項目經(jīng)理和相關(guān)人員同客戶進行溝通,保持良好的客戶關(guān)系。
3、參與需求調(diào)研、項目可行性分析、技術(shù)可行性分析和需求分析。
4、熟悉并熟練掌握交付軟件部開發(fā)的軟件項目的相關(guān)軟件技術(shù)。
5、負(fù)責(zé)向項目經(jīng)理及時反饋軟件開發(fā)中的情況,并根據(jù)實際情況提出改進建議。
6、參與軟件開發(fā)和維護過程中重大技術(shù)問題的解決,參與軟件首次安裝調(diào)試、數(shù)據(jù)割接、用戶培訓(xùn)和項目推廣。
7、負(fù)責(zé)相關(guān)技術(shù)文檔的擬訂。
8、負(fù)責(zé)對業(yè)務(wù)領(lǐng)域內(nèi)的技術(shù)發(fā)展動態(tài)。
程序員掌握的必備技能
熟練開發(fā)工具
做為一名程序員至少熟練掌握兩到三種開發(fā)工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發(fā)工具,C/C++以其高效率和高度的靈活性成為開發(fā)工具中的利器,很多系統(tǒng)級的軟件還是用C/C++編寫。而JAVA的跨平臺和與WEB很好的結(jié)合是JAVA的優(yōu)勢所在,而JAVA即其相關(guān)的技術(shù)集JAVAOne很可能會成為未來的主流開發(fā)工具之一。其次,能掌握一種簡便的可視化開發(fā)工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發(fā)工具減小了開發(fā)難度,并能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
熟知數(shù)據(jù)庫
為什么數(shù)據(jù)庫是如此重要?作為程序員,他們自然有自己的理由:很多應(yīng)用程序都是以數(shù)據(jù)庫的數(shù)據(jù)為中心,而數(shù)據(jù)庫的產(chǎn)品也有不少,其中關(guān)系型數(shù)據(jù)庫仍是主流形式,所以程序員至少熟練掌握一兩種數(shù)據(jù)庫,對關(guān)系型數(shù)據(jù)庫的關(guān)鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多數(shù)據(jù)庫產(chǎn)品提供了可視化的數(shù)據(jù)庫管理工具,但SQL是基礎(chǔ),是通用的數(shù)據(jù)庫操作方法。如果沒有機會接觸商業(yè)數(shù)據(jù)庫系統(tǒng),可以使用免費的數(shù)據(jù)庫產(chǎn)品是一個不錯的選擇,如mySQL,Postgres等。
了解操作系統(tǒng)
當(dāng)前主流的操作系統(tǒng)是Windows,Linux/Unix,熟練地使用這些操作系統(tǒng)是必須的,但只有這些還遠(yuǎn)遠(yuǎn)不夠。要想成為一個真正的編程高手,需要深入了解操作系統(tǒng),了解它的內(nèi)存管理機制、進程/線程調(diào)度、信號、內(nèi)核對象、系統(tǒng)調(diào)用、協(xié)議棧實現(xiàn)等。Linux作為開發(fā)源碼的操作系統(tǒng),是一個很好的學(xué)習(xí)的平臺,Linux幾乎具備了所有現(xiàn)代操作系統(tǒng)的特征。雖然Windows系統(tǒng)的內(nèi)核實現(xiàn)機制的資料較少,但通過互聯(lián)網(wǎng)還是能獲取不少資料。懂得網(wǎng)絡(luò)協(xié)議TCP/IP。
在互聯(lián)網(wǎng)如此普及的今天,如果您還沒有對互聯(lián)網(wǎng)的支撐協(xié)議TCP/IP協(xié)議棧有很好的掌握,就需要迅速補上這一課,網(wǎng)絡(luò)技術(shù)已改變了軟件運行的模式,從最早的客戶/服務(wù)器結(jié)構(gòu),到今天的WEBServices,再到未來的網(wǎng)格計算,這一切都離不開以TCP/IP協(xié)議棧為基礎(chǔ)的網(wǎng)絡(luò)協(xié)議支持,深入掌握TCP/IP協(xié)議是非常必要的。至少,需要了解ISO七層協(xié)議模型,IP/UDP/TCP/HTTP等常用協(xié)議的原理和三次握手機制。
明白DCOM/CORBA/XML/WEBServices存在的意義
隨著技術(shù)的發(fā)展,軟件與網(wǎng)絡(luò)的無縫結(jié)合是必然趨勢,軟件系統(tǒng)的位置無關(guān)性是未來計算模式的重要特征之一,DCOM/CORBA是當(dāng)前兩大主流的分布計算的中間平臺,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規(guī)范。XML/WebServices重要性不言而喻,XML以其結(jié)構(gòu)化的表示方法和超強的表達能力被喻為互聯(lián)網(wǎng)上的“世界語”,是分布式計算的基石之一。
不要將軟件工程與CMM分開
大型軟件系統(tǒng)的開發(fā)中,工程化的開發(fā)控制取代個人英雄主義,成為軟件系統(tǒng)成功的保證,一個編程高手并不一定是一個優(yōu)秀的程序員,一個優(yōu)秀的程序員是將出色的編程能力和開發(fā)技巧同嚴(yán)格的軟件工程思想有機結(jié)合,編程只是軟件生命周期中的其中一環(huán),優(yōu)秀的程序員應(yīng)該掌握軟件開發(fā)各個階段的基本技能,如市場分析,可行性分析,需求分析,結(jié)構(gòu)設(shè)計,詳細(xì)設(shè)計,軟件測試等。
需求理解能力
程序員要能正確理解任務(wù)單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟件的功能需求,還應(yīng)注意軟件的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經(jīng)驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認(rèn)真工作過,但是沒有用心工作。
模塊化思維能力
作為一個優(yōu)秀的程序員,他的思想不能局限在當(dāng)前的工作任務(wù)里面,要想想看自己寫的模塊是否可以脫離當(dāng)前系統(tǒng)存在,通過簡單的封裝在其他系統(tǒng)中或其他模塊中直接使用。這樣做可以使代碼能重復(fù)利用,減少重復(fù)的勞動,也能使系統(tǒng)結(jié)構(gòu)越趨合理。模塊化思維能力的提高是一個程序員的技術(shù)水平提高的一項重要指標(biāo)。
程序員的工作流程相關(guān)文章: