国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

作為高級程序員應具有的基本素質

時間:2008-09-26 09:55:00   來源:無憂考網     [字體: ]
那么作為高級程序員,以至于系統(tǒng)分析員,也就是對于一個程序項目的設計者而言,除了應該具備上述全部素質之外,還需要具備以下素質:

第一,需求分析能力

  對于程序員而言,理解需求就可以完成合格的代碼,但是對于研發(fā)項目的組織和管理者,他們不但要理解客戶需求,更多時候還要自行制定一些需求,為什么這么說呢?


  一般而言,進行研發(fā)任務,也許是客戶提出需求,也許是市場和營銷部門提出的需求,這時候對于研發(fā)部門,他們看到的不是一個完整的需求,通常而言,該需求僅僅是一些功能上的要求,或者更正規(guī)些,可能獲得一個完整的用戶視圖;但是這都不夠,因為客戶由于非技術因素多一些,他們可能很難提出完整和清晰,或者說專業(yè)性的性能需求,但是對于項目組織者和規(guī)劃者,他必須能夠清醒認識到這些需求的存在并在完成需求分析報告的時候適當的提出,同時要完整和清晰的體現在設計說明書里面,以便于程序員編碼時不會失去這些準則。


  程序設計者必須正確理解用戶需求所處的環(huán)境,并針對性做出需求的分析,舉例而言,同樣一個軟件通過ASP租用方式發(fā)布和通過License方式發(fā)布,性能需求可能就是有區(qū)別的,前者強調的是更好的支撐能力和穩(wěn)定性,而后者則可能更強調在各種平臺下的普適性和安裝使用的簡捷性。

第二,項目設計方法和流程處理能力

  程序設計者必須能夠掌握不少于兩到三種的項目設計方法(比如自頂至下的設計方法,比如快速原型法等等),并能夠根據項目需求和資源搭配來選擇合適的設計方法進行項目的整體設計。


  設計方法上選擇不當,就會耽誤研發(fā)周期,浪費研發(fā)資源,甚至影響研發(fā)效果。


  一個程序設計者還需要把很多功夫用在流程圖的設計和處理上,他需要做數據流圖以確立數據詞典;他需要加工邏輯流圖以形成整體的系統(tǒng)處理流程。


  一個流程有問題的系統(tǒng),就算代碼多漂亮,每個模塊多精致,也不會成為一個好的系統(tǒng)。當然,做好流程分析并選擇好項目設計方法,都需要在需求分析能力上具有足夠的把握。

第三,復用設計和模塊化分解能力


  這個似乎又是老調重談,前面基本素質上不是已經說明了這個問題嗎?

  作為一個從事模塊任務的程序員,他需要對他所面對的特定功能模塊的復用性進行考慮,而作為一個系統(tǒng)分析人員,他要面對的問題復雜的多,需要對整體系統(tǒng)按照一種模塊化的分析能力分解為很多可復用的功能模塊和函數,并針對每一模塊形成一個獨立的設計需求。舉個例子,好比是汽車生產,最早每輛汽車都是獨立安裝的,每個部件都是量身定做的,但是后來不一樣了,機器化大生產了,一個汽車廠開始通過流水線來生產汽車,獨立部件開始具有一定的復用性,在后來標準化成為大趨勢,不同型號,品牌甚至不同廠商的汽車部件也可以進行方便的換裝和升級,這時候,汽車生產的效率達到化。軟件工程也是同樣的道理,一個成熟的軟件行業(yè),在一些相關項目和系統(tǒng)中,不同的部件是可以隨意換裝的,比如微軟的許多桌面軟件,在很多操作模塊(如打開文件,保存文件等等)都是復用的同一套功能模塊,而這些接口又通過一些類庫提供給了桌面應用程序開發(fā)者方便掛接,這就是復用化的模塊設計明顯的一個佐證。