程式設計師的工作流程

  是怎樣,程式設計師主要負責哪些東西。小編給大家整理了關於,希望你們喜歡!

  

  1、對專案經理負責,負責軟體專案的詳細設計、編碼和內部測試的組織實施,對程式設計師小型軟體專案兼任系統分析工作,完成分配專案的實施和技術支援工作。

  2、協助專案經理和相關人員同客戶進行溝通,保持良好的客戶關係。

  3、參與需求調研、專案可行性分析、技術可行性分析和需求分析。

  4、熟悉並熟練掌握交付軟體部開發的軟體專案的相關軟體技術。

  5、負責向專案經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。

  6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝除錯、資料割接、使用者培訓和專案推廣。

  7、負責相關技術文件的擬訂。

  8、負責對業務領域內的技術發展動態。

  程式設計師掌握的必備技能

  熟練開發工具

  做為一名程式設計師至少熟練掌握兩到三種開發工具的使用,這是程式設計師的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。而JAVA的跨平臺和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。其次,能掌握一種簡便的視覺化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程式設計師物件模型的概念。另外,需要掌握基本的指令碼語言,如shell,perl等,至少能讀懂這些指令碼程式碼。

  熟知資料庫

  為什麼資料庫是如此重要?作為程式設計師,他們自然有自己的理由:很多應用程式都是以資料庫的資料為中心,而資料庫的產品也有不少,其中關係型資料庫仍是主流形式,所以程式設計師至少熟練掌握一兩種資料庫,對關係型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了視覺化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。

  瞭解作業系統

  當前主流的作業系統是Windows,Linux/Unix,熟練地使用這些作業系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的程式設計高手,需要深入瞭解作業系統,瞭解它的記憶體管理機制、程序/執行緒排程、訊號、核心物件、系統呼叫、協議棧實現等。Linux作為開發原始碼的作業系統,是一個很好的學習平臺,Linux幾乎具備了所有現代作業系統的特徵。雖然Windows系統的核心實現機制的資料較少,但通過網際網路還是能獲取不少資料。懂得網路協議TCP/IP。

  在網際網路如此普及的今天,如果您還沒有對網際網路的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體執行的模式,從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支援,深入掌握TCP/IP協議是非常必要的。至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。

  明白DCOM/CORBA/XML/WEBServices存在的意義

  隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分佈計算的中間平臺,DCOM是微軟COM***元件物件模型***的擴充套件,而CORBA是OMG支援的規範。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為網際網路上的“世界語”,是分散式計算的基石之一。

  不要將軟體工程與CMM分開

  大型軟體系統的開發中,工程化的開發控制取代個人英雄主義,成為軟體系統成功的保證,一個程式設計高手並不一定是一個優秀的程式設計師,一個優秀的程式設計師是將出色的程式設計能力和開發技巧同嚴格的軟體工程思想有機結合,程式設計只是軟體生命週期中的其中一環,優秀的程式設計師應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。

  需求理解能力

  程式設計師要能正確理解任務單中描述的需求。在這裡要明確一點,程式設計師不僅僅要注意到軟體的功能需求,還應注意軟體的效能需求,要能正確評估自己的模組對整個專案中的影響及潛在的威脅,如果有著兩到三年專案經驗的熟練程式設計師對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。

  模組化思維能力

  作為一個優秀的程式設計師,他的思想不能侷限在當前的工作任務裡面,要想想看自己寫的模組是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模組中直接使用。這樣做可以使程式碼能重複利用,減少重複的勞動,也能使系統結構越趨合理。模組化思維能力的提高是一個程式設計師的技術水平提高的一項重要指標。