第一篇:軟件工程師職業道德規范和實踐要求感想
軟件工程師職業道德規范和實踐要求感想
0.07 面對飛速發展的技術,能自覺跟蹤技術發展動態,積極參與各種技術交流、技術培訓和繼續教育活動,不斷改進和提高自己的技能,自覺參與項目管理和軟件過程改進活動。能注意對個人軟件過程活動的監控和管理,積累工程數據,研究和不斷改進自己的軟件生產效率和質量,并積極參與發展高效的團隊軟件過程管理,使各項軟件產出,都能達到國際和國家標準與規范。
社會上的大多數職業,倘若不能主動學習,不能自我進步,那么至少你將失去對于你來講最有價值的手段,用來獲得高薪機會的手段。
對軟件工程師來講,這一點尤其明顯。一方面是技術的不斷普及,一方面是公司對經驗人員的迫切需求。在開發領域甚至在任何其他領域一個默認的共識是才華橫溢絕對不是你想象的那么重要,從才華橫溢到事業成功,要付出艱辛的勞動。你再去問問資深軟件工程師,成為資深工程師所需要的不是天份,而是1萬小時定律支配下的時間和你的肝功能。軟件業是一個不斷變化和不斷創新的行業,面對層出不窮的新技術,軟件人才的求知欲和進取心就顯得尤為重要,它是在這個激烈競爭的行業中立足的基本條件。軟件工程師應具有較強的學習總結能力、需求理解能力和對IT新技術比較敏感,同時,掌握最新的IT實用技術。一個合格的軟件工程師,是真正理解了軟件產品的本質及軟件產品研發的思想精髓的人(個人觀點、歡迎探討)。掌握軟件開發語言、應用語言工具解決工作中的具體問題、完成目標任務是軟件工程師的主要工作,但從軟件工程師這個角度來看,這只是外在的東西,并非重要的、本質的工作。學習、掌握軟件產品開發理論知識、軟件開發方法論,并在實踐中理解、應用軟件產品的分析、設計、實現思想來解決具體的軟件產品研發問題,才是真正的軟件工程師的工作。站在成熟理論與可靠方法論的高度思考、分析、解決問題,并在具體實踐中驗證和修正這些思想與方式,最終形成自己的理論體系和實用方法論。程序員是人才很容易被淘汰,很容易落伍的職業,因為一種技術可能僅僅在三兩年內具有領先性,程序員如果想安身立命,就必須不斷跟進新的技術,學習新的技能。善于學習,對于任何職業而言,都是前進所必需的動力,對于程序員,這種要求就更加高了。但是學習也要找對目標,一些小coding有些codingTO就是這樣的coding上只是一些Cfans們,他們也津津樂道于他們的學習能力,一會學會了asp,一會兒學會了php,一會兒學會了jsp,他們把這個作為炫耀的資本,盲目的追逐一些膚淺的,表面的東西和名詞,做網絡程序不懂通訊傳輸協議,做應用程序不懂中斷向量處理,這樣的技術人員,不管掌握了多少所謂的新語言,永遠不會有質的提高。善于總結,也是學習能力的一種體現,每次完成一個研發任務,完成一段代碼,都應當有目的的跟蹤該程序的應用狀況和用戶反饋,隨時總結,找到自己的不足,這樣逐步提高,一個程序員才可能成長起來。一個不具備成長性的程序員,即便眼前看是個高手,建議也不要選用,因為他落伍的時候馬上就到了。具備以上全部素質的人,應當說是夠格的程序員了,請注意以上的各種素質都不是由IQ決定的,也不是大學某些課本里可以學習到的,需要的僅僅是程序員對自己工作的認識,是一種意識上的問題。那么作為高級程序員,以至于系統分析員,也就是對于一個程序項目的設計者而言。
6.08 對所從事的軟件和相關文檔,負起檢測、修正和報告錯誤的責任;
一款新軟件的開發,從開發初期的問題定義及規劃到各個階段的有效進行,整個軟件項目的開發需做到層層相扣。而軟件測試――作為軟件開發過程中最后也是關鍵的一步,其把握著軟件質量關,在其中發揮著至關重要的作用,無論是對軟件安全性的保障,還是軟件功能性的檢驗,都有著無可替代的地位。因此,要想讓一款新的軟件很好的滿足市場的需求,得到用戶的認可,軟件測試必不可少,只有在軟件測試上下足功夫:在軟件設計完成之后進行嚴密的測試,才能發現軟件在整個軟件設計過程中存在的問題并加以糾正,使得軟件質量有保障。
作為一些商業化正規化的開發而言,專職的測試工程師是不可少的,但是并不是說有了專職的測試工程師程序員就可以不進行自測;軟件研發作為一項工程而言,一個很重要的特點就是問題發現的越早,解決的代價就越低,程序員在每段代碼,每個子模塊完成后進行認真的測試,就可以盡量將一些潛在的問題最早的發現和解決,這樣對整體系統建設的效率和可靠性就有了最大的保證。測試工作實際上需要考慮兩方面,一方面是正常調用的測試,也就是看程序是否能在正常調用下完成基本功能,這是最基本的測試職責,可惜在很多公司這成了唯一的測試任務,實際上還差的遠那;第二方面就是異常調用的測試,比如高壓力負荷下的穩定性測試,用戶潛在的異常輸入情況下的測試,整體系統局部故障情況下該模塊受影響狀況的測試,頻發的異常請求阻塞資源時的模塊穩定測試等等。當然并不是程序員要對自己的每段代碼都需要進行這種完整測試,但是程序員必須清醒認識自己的代碼任務在整體項目中的地位和各種性能需求,有針對性的進行相關測試并盡早發現和解決問題,當然這需要上面提到需求理解能力。在軟件業較發達的國家。軟件測試不僅成為軟件開發的一個有機組成部分,而且在軟件開發的系統工程中占據著相當大的比重。以美國的軟件開發和生產的平均資金投入為例,通常是:“需求分析”和“規劃確定”各占百分之三,“設計”占百分之五,設計占百分之五,編程占百分之七,測試占百分之十五,投產和維護占百分之六七十。測試在。軟件開發中的地位不言而喻。軟件測試工程師和軟件卡發工程師就像兩兄弟,缺一不可,國內開發工程師招聘還是比較容易的,但在做一些大型項目時需要大量軟件測試人員,因為目前高校里沒有專業的專業,只能招聘后在進行培訓,這就大大增加了企業的成本,所以企業還是希望有一批專業培訓的人員能直接上崗。軟件測試是一個系列過程活動,貫穿于軟件項目的整個生命過程,很多軟件項目的開發還停留在“作坊式”階段,項目的成功往往靠個別程序員決定。但隨著市場對軟件質量的的要求不斷提高,軟件測試將變得越來越重要,相應的軟件測試工程師的地位和待遇將處于“雙高”地位,而且做開發并不能做好測試,因為他們不懂得測試的理念而且不具備測試的經驗。目前國內軟件測試人才缺口高達20萬,已成為我國軟件產業發展的瓶頸之一。“軟件測試人才需求量的加大,是由于近年來我國軟件行業的產業升級所決定的。
第二篇:軟件工程師職業道德
原則一 公眾軟件工程師應當以公眾利益為目標,特別是在適當的情況下軟件工程師應當:
1.01 對他們的工作承擔完全的責任;1.02 用公益目標節制軟件工程師、雇主、客戶和用戶的利益;
1.03 批準軟件,應在確信軟件是安全的、符合規格說明的、經過合適測試的、不會降低生活品質、影響隱私權或有害環境的條件之下,一切工作以大眾利益為前提;
1.04 當他們有理由相信有關的軟件和文檔,可以對用戶、公眾或環境造成任何實際或潛在的危害時,向適當的人或當局揭露;
1.05 通過合作全力解決由于軟件、及其安裝、維護、支持或文檔引起的社會嚴重關切的各種事項;
1.06 在所有有關軟件、文檔、方法和工具的申述中,特別是與公眾相關的,力求正直,避免欺騙;
1.07 認真考慮諸如體力殘疾、資源分配、經濟缺陷和其他可能影響使用軟件益處的各種因素;
1.08 應致力于將自己的專業技能用于公益事業和公共教育的發展。
原則二 客戶和雇主在保持與公眾利益一致的原則下,軟件工程師應注意滿足客戶和雇主的最高利益,特別是在適當的情況下軟件工程師應當:
2.01 在其勝任的領域提供服務,對其經驗和教育方面的不足應持誠實和坦率的態度;
2.02 不明知故犯使用非法或非合理渠道獲得的軟件;
2.03 在客戶或雇主知曉和同意的情況下,只在適當準許的范圍內使用客戶或雇主的資產;
2.04 保證他們遵循的文檔按要求經過某一人授權批準;
2.05 只要工作中所接觸的機密文件不違背公眾利益和法律,對這些文件所記載的信息須嚴格保密;
2.06 根據其判斷,如果一個項目有可能失敗,或者費用過高,違反知識產權法規,或者存在問題,應立即確認、文檔記錄、收集證據和報告客戶或雇主;
2.07 當他們知道軟件或文檔有涉及到社會關切的明顯問題時,應確認、文檔記錄、和報告給雇主或客戶;
2.08 不接受不利于為他們雇主工作的外部工作;
2.09 不提倡與雇主或客戶的利益沖突,除非出于符合更高道德規范的考慮,在后者情況下,應通報雇主或另一位涉及這一道德規范的適當的當事人。
原則三 產品軟件工程師應當確保他們的產品和相關的改進符合最高的專業標準,特別是在適當的情況下軟件工程師應當:
3.01 努力保證高質量、可接受的成本和合理的進度,確保任何有意義的折衷方案雇主和客戶是清楚和接受的,從用戶和公眾角度是合用的;
3.02 確保他們所從事或建議的項目有適當和可達到的目標;
3.03 識別、定義和解決他們工作項目中有關的道德、經濟、文化、法律和環境問題;
3.04 通過適當地結合教育、培訓和實踐經驗,保證他們能勝任正從事和建議開展的工作項目;
3.05 保證在他們從事或建議的項目中使用合適的方法;
3.06 只要適用,遵循最適合手頭工作的專業標準,除非出于道德或技術考慮可認定時才允許偏離;
3.07 努力做到充分理解所從事軟件的規格說明;
3.08 保證他們所從事的軟件說明是良好文檔、滿足用戶需要、和經過適當批準的;
3.09 保證對他們從事或建議的項目,作出現實和定量的估算,包括成本、進度、人員、質量和輸出,并對估算的不確定性作出評估;
3.10 確保對其從事的軟件和文檔資料有合適的測試、排錯和評審;
3.11 保證對其從事的項目,有合適的文檔,包括列入他們發現的重要問題和采取的解決辦法;
3.12 開發的軟件和相關的文檔,應尊重那些受軟件影響的人的隱私;
3.13 小心和只使用從正當或法律渠道獲得的精確數據,并只在準許的范圍內使用;
3.14 注意維護容易過時或有出錯情況時的數據完整性;
3.15 處理各類軟件維護時,應保持與新開發時一樣的職業態度。
原則四 判斷軟件工程師應當維護他們職業判斷的完整性和獨立性,特別是在適當的情
況下軟件工程師應當:
4.01 所有技術性判斷服從支持和維護人價值的需要;4.02 只有在對本人監督下準備的文檔,或在本人專業知識范圍內并經本人同意的情況下才簽署文檔;
4.03 對受他們評估的軟件或文檔,保持職業的客觀性;
4.04 不參與欺騙性的財務行為,如行賄、重復收費或其他不正當財務行為;
4.05 對無法回避和逃避的利益沖突,應告示所有有關方面;
4.06 當他們、他們的雇主或客戶存有未公開和潛在利益沖突時,拒絕以會員或顧問身份參加與軟件事務相關的私人、政府或職業團體;
原則五 管理軟件工程的經理和領導人員應贊成和促進對軟件開發和維護合乎道德規范的管理,特別是在適當的情況下軟件工程師應當:
5.01 對其從事的項目保證良好的管理,包括促進質量和減少風險的有效步驟;5.02 保證軟件工程師在遵循標準之前便知曉它們;
5.03 保證軟件工程師知道雇主是如何保護對雇主或其他人保密的口令、文件和信息的有關政策和方法;
5.04 布置工作任務應先考慮其教育和經驗會有適切的貢獻,再加上有進一步教育和經驗的要求;
5.05 保證對他們從事或建議的項目,作出現實和定量的估算,包括成本、進度、人員、質量和輸出,并對估算的不確定性作出評估;
5.06 在雇傭軟件工程師時,需實事求是地介紹雇傭條件;
5.07 提供公正和合理的報酬;
5.08 不能不公正的阻止一個人取得可以勝任的崗位;
5.09 對軟件工程師有貢獻的軟件、過程、研究、寫作、或其它知識產權的所有權,保證有一個公平的協議;
5.10 對違反雇主政策或道德觀念的指控,提供正規的聽證過程;
5.11 不要求軟件工程師去做任何與道德規范不一致的事;
5.12 不能處罰對項目表露有道德關切的人;
原則六 專業在與公眾利益一致的原則下,軟件工程師應當推進其專業的完整性和聲譽,特別是在適當的情況下軟件工程師應當:
6.01 協助發展一個適合執行道德規范的組織環境;
6.02 推進軟件工程的共識性;
6.03 通過適當參加各種專業組織、會議和出版物,擴充軟件工程知識;
6.04 作為一名職業成員,支持其他軟件工程師努力遵循本道德規范;
6.05 不以犧牲職業、戶或雇主利益為代價,謀求自身利益;
6.06 服從所有監管作業的法令,唯一可能的例外是,僅當這種符合與公眾利益有不一致時;
6.07 要精確敘述自己所從事軟件的特性,不僅避免錯誤的斷言,也要防止那些可能造成猜測投機、空洞無物、欺騙性、誤導性或者有疑問的斷言;
6.08 對所從事的軟件和相關文檔,負起檢測、修正和報告錯誤的責任;6.09 保證讓客戶、雇主和主管人員知道軟件工程師對本道德規范的承諾,以及這一承諾帶來的后果影響;
6.10 避免與本道德規范有沖突的業務和組織沾邊;
6.11 要認識違反本規范是與成為一名專業工程師不相稱的;
6.12 在出現明顯違反本規范時,應向有關當事人表達自己的關切,除非在沒有可能、會影響生產或有危險時才可例外;
原則七 同行軟件工程師對其同行應持平等和互助和支持的態度,特別是在適當的情況下軟件工程師應當:
7.01 鼓勵同行遵守本道德規范;
7.02 在專業發展方面幫助同行;
7.03 充分信任和贊賞其他人的工作,節制追逐不應有的贊譽;
7.04 評審別人的工作,應客觀、直率和適當的進行文檔記錄;
7.05 持良好的心態聽取同行的意見、關切和抱怨;
7.06 協助同行充分熟悉當前的標準工作實踐,包括保護口令、文件和保密信息有關的政策和步驟,以及一般的安全措施;
7.07 不要不公正地干涉同行的職業發展,但出于客戶、雇主或公眾利益的考慮,軟件工程師應以善意態度質詢同行的勝任能力;
7.08 在有超越本人勝任范圍的情況,應主動征詢其他熟悉這一領域的專業人員;
原則八 自身軟件工程師應當參與終生職業實踐的學習,并促進合乎道德的職業實踐方法,特別是軟件工程師應不斷盡力于:
8.01 深化他們的開發知識,包括軟件的分析、規格說明、設計、開發、維護和測試,相關的文檔,以及開發過程的管理;
8.02 提高他們在合理的成本和時限范圍內,開發安全、可靠和有用質量軟件的能力;
8.03 提高他們產生正確、有含量的和良好編寫的文檔能力;
8.04 提高他們對所從事軟件和相關文檔資料,以及應用環境的了解;
8.05 提高他們對從事軟件和文檔有關標準和法律的熟悉程度;8.06 提高他們對本規范,及其解釋和如何應用于本身工作的了解;
8.07 不因為難以接受的偏見不公正地對待他人;
8.08 不影響他人在執行道德規范時所采取的任何行動;
8.09 要認識違反本規范是與成為一名專業軟件工程師不相稱的;
第三篇:軟件工程師職業規范
軟件工程師職業道德規范和實踐要求
原則
原則0守則
軟件工程師的基本要求,樹立軟件產業界整體優良形象:
0.01自覺遵守公民道德規范標準和中國軟件行業基本公約。
0.02講誠信,堅決反對各種弄虛作假現象,不承接自己能力尚難以勝任的任務,對已經承諾的事,要保證做到,在情況變化和有特殊原因,實在難以做到時,應及早向當事人報告和說明;忠實做好各種作業記錄,不隱瞞、不虛構,對提交的軟件產品和及其功能,在有關文檔上不作夸大不實的說明。
0.03講團結、講合作,有良好的團隊協作精神,善于溝通和交流,在業務討論上,積極坦率地發表自己的觀點和意見,對理解不清楚和有疑問的地方,決不放過,在做同級評審和技術審核時,實事求是地反映和指出問題,對事不對人,要自覺協助項目經理做好項目管理,積極提出工作改進建議。
0.04有良好的知識產權保護觀念,自覺抵制各種違反知識產權保護法規的行為,不購買和使用盜版的軟件,不參與侵犯知識產權的活動,在自己開發的產品中不拷貝、復用未獲得使用許可的他方內容。0.05樹立正確的技能觀,努力提高自己的技能,為社會和人類造福,絕不利用自己的技能去從事危害公眾利益的活動,包括構造虛假信息和不良內容、制造電腦病毒、參與盜版活動、非法解密存取、黑客行為和攻擊網站等行為,提倡健康的網絡道德準則和交流活動。應大力鼓勵和提倡利用自己的計算機知識,積極參與科學普及活動和應用推廣活動。
0.06認真履行簽定的合同和協議規定,有良好的工作責任感,不能以追求個人利益為目的,而不顧協議合同規定,不顧對已承諾的項目開發任務的影響,甚至以攜帶原企業的資料提高自己的身價。應自覺遵守保密規定,不隨意向他人泄露工作和客戶的機密。
0.07面對飛速發展的技術,能自覺跟蹤技術發展動態,積極參與各種技術交流、技術培訓和繼續教育活動,不斷改進和提高自己的技能,自覺參與項目管理和軟件過程改進活動。能注意對個人軟件過程活動的監控和管理,積累工程數據,研究和不斷改進自己的軟件生產效率和質量,并積極參與發展高效的團隊軟件過程管理,使各項軟件產出,都能達到國際和國家標準與規范。
0.08努力提高自己的技術和職業道德素質,力爭做到與國際接軌,提交的軟件和文檔資料能符合國際和國家的有關技術標準,在職業道德規范上,也能符合國際軟件工程師職業道德規范標準。
原則1公眾
軟件工程師應當以公眾利益為目標,特別是在適當的情況下軟件工程師應當:
1.01對他們的工作承擔完全的責任;
1.02以公眾利益為前提,合理分配軟件工程師、雇主、客戶和用戶的利益;
1.03批準軟件,應該在確信該軟件是安全的、符合規格說明的、經過合適測試的、不會降低生活品質、不影響隱私權或者有害環境的前提之下;
1.04當他們有理由相信有關的軟件和文檔,可以對用戶、公眾或環境造成任何實際或潛在的危害時,應該向適當的人員或當局舉報;
1.05通過合作解決由于軟件本身及其安裝、維護、支持或文檔引起的社會嚴重關切的各種事項;1.06在所有有關軟件、文檔、方法和工具的申述中,特別是與公眾相關的,力求公正,避免欺騙;1.07認真考慮諸如使用者身體殘疾、資源分配限制、經濟貧困和其他可能影響軟件使用的各種因素;1.08應致力于將自己的專業技能應用于公益事業和公共教育。
原則2客戶和雇主
在保持與公眾利益一致的原則下,軟件工程師應注意滿足客戶和雇主的最高利益,特別是在適當的情況下軟件工程師應當:
2.01在其可勝任的領域提供服務,對其經驗和教育方面的不足應持誠實和坦率的態度;
2.02不使用非法或非合理渠道獲得的軟件,不明知故犯;
2.03 在客戶或雇主知曉和同意的情況下,只在準許的范圍內使用客戶或雇主的資產;
2.04 保證他們所遵循的文檔是按要求經過授權批準的;
2.05只要工作中所接觸的機密文件不違背公眾利益和法律,對這些文件所記載的信息須嚴格保密;2.06根據判斷,如果一個項目有可能失敗,或者費用過高,或違反知識產權法規,或者存在其它問題,應立即確認,將文檔記錄、收集的證據和報告提交客戶或雇主;
2.07當他們知道軟件或文檔有涉及到社會明顯關切的問題時,應進行確認,并將文檔記錄和報告提交給雇主或客戶;
2.08 不接受不利于當前雇主工作的外部工作;
2.09不提倡與雇主或客戶的利益沖突,除非出于符合更高道德規范的考慮。在后者情況下,應通報雇主或其他涉及這一道德規范的適當的當事人。
原則3產品
軟件工程師應當確保他們的產品和相關的改進符合最高的專業標準,特別是在適當的情況下軟件工程師應當:
3.01 努力保證高質量、可接受的成本和合理的進度,確保任何有意義的折衷方案是雇主和客戶清楚和接受的,且從用戶和公眾角度是適合的;
3.02確保他們所從事或建議的項目有適當和可達到的目標;
3.03識別、定義和解決他們工作項目中有關的道德、經濟、文化、法律和環境問題;
3.04通過適當地結合教育、培訓和實踐經驗,保證他們能勝任正從事和建議開展的工作項目;3.05保證他們在從事或建議的項目中使用合適的方法;
3.06只要適用,遵循最適合當前工作的專業標準,除非出于道德或技術考慮,并在可認定的情況下才允許有所變通;
3.07努力做到充分理解所從事軟件的規格說明;
3.08保證他們所從事的軟件說明是良好的文檔、可滿足用戶需要和經過適當批準的;
3.09保證對他們從事或建議的項目,做出實際和定量的估算,包括成本、進度、人員、質量和輸出,并對估算的不確定性做出評估;
3.10確保對其從事的軟件和文檔資料有合適的測試、排錯和評審;
3.11保證對其從事的項目,有合適的文檔,包括列入從中發現的重要問題和采取的解決辦法;
3.12開發的軟件和相關的文檔,應尊重那些受軟件影響的人的隱私;
3.13謹慎使用從正當、合法渠道獲得的精確數據,并保證只在準許的范圍內使用;
3.14注意維護那些容易過時或有出錯情況時的數據的完整性;
3.15 處理各類軟件維護時,應保持與開發時一樣認真的職業態度。
原則4判斷
軟件工程師應當維護他們職業判斷的完整性和獨立性,特別是在適當的情況下軟件工程師應當:4.01所有技術性判斷應服從支持和維護人類價值的需要;
4.02只有在對本人監督下準備的文檔,或在本人專業知識范圍內并經本人同意的情況下才簽署文檔;4.03對受他們評估的軟件或文檔,應保持職業的客觀性;
4.04不參與欺騙性的經濟行為,如行賄、重復收費或其他不正當經濟行為;
4.05對無法回避和避免的利益沖突,應告示所有有關方面;
4.06當他們、他們的雇主或客戶之間存有未公開和潛在利益沖突時,拒絕以會員或顧問身份參加與軟件事務相關的私人、政府或職業團體;
原則5管理
軟件工程的經理和領導人員應贊成和促進對軟件開發和維護合乎道德規范的管理,特別是在適當的情況下軟件工程師應當:
5.01對其從事的項目保證良好的管理,包括提高質量和減少風險等有效手段;
5.02保證軟件工程師在遵循標準之前便知曉它們;
5.03保證軟件工程師知道雇主是如何保護對雇主或其他人保密的口令、文件和信息的有關策略和方法;5.04布置工作任務應先考慮其教育和經驗有相應的水平,再加上有進一步教育和成長的要求;
5.05保證對他們從事或建議的項目,做出現實和定量的估算,包括成本、進度、人員、質量和輸出,并對估算的不確定性做出評估;
5.06在雇傭軟件工程師時,需實事求是地介紹雇傭條件;
5.07提供公正和合理的報酬;
5.08不能不公正地阻止一個人取得可以勝任的崗位;
5.09保證對那些在軟件、過程、研究、寫作、或其它知識產權的所有權方面做出貢獻的軟件工程師,有一個公平的協議;
5.10應對違反雇主利益或道德觀念的指控,提供正規的聽證過程;
5.11不要求軟件工程師去做任何與道德規范相違背的事;
5.12不能處罰對項目表露出道德關切的人;
原則6專業
在與公眾利益一致的原則下,軟件工程師應當保證其專業的完整性和聲譽,特別是在適當的情況下軟件工程師應當:
6.01協助發展一個適合執行道德規范的組織環境;
6.02推進軟件工程的共識性;
6.03通過適當參加各種專業組織、會議和通過出版物,擴充軟件工程知識;
6.04作為一名職業人員,支持其他軟件工程師努力遵循本道德規范;
6.05不以犧牲職業、客戶或雇主利益為代價,謀求自身利益;
6.06服從所有監管作業的法規,除非這種要求與公眾利益有不一致時例外;
6.07要精確敘述自己所從事軟件工作的特性,不僅避免錯誤的斷言,也要防止那些可能造成猜測投機、空洞無物、欺騙性、誤導性或者有疑問的斷言;
6.08對所從事的軟件和相關文檔,負起檢測、修正和報告錯誤的責任;
6.09保證讓客戶、雇主和主管人員知道軟件工程師對本道德規范的承諾,以及這一承諾帶來的后果和影響;
6.10避免靠近與本道德規范有沖突的業務和組織;
6.11 要認識違反本規范是與成為一名專業工程師不相稱的;
6.12在出現明顯違反本規范時,應向有關當事人表達自己的擔憂,除非在沒有可能、會影響生產或有危險時才可例外;
6.13當與明顯違反道德規范的人無法磋商,或者會影響生產或有危險時,應向有關當局報告;
原則7同行
軟件工程師對其同行應持平等、互助和支持的態度,特別是在適當的情況下軟件工程師應當:
7.01鼓勵同行遵守本道德規范;
7.02在專業發展方面幫助同行;
7.03充分信任和贊賞其他人的工作,杜絕追逐不應有的贊譽;
7.04評審別人的工作,應客觀、直率和進行適當的文檔記錄;
7.05持良好的心態聽取同行的意見、關切和抱怨;
7.06協助同行充分熟悉當前的標準工作規范,包括保護口令、文件和保密信息等有關的政策和規定,以
及其他常規的安全措施;
7.07 出于客戶、雇主或公眾利益的考慮,軟件工程師可以以善意態度質詢同行的勝任能力,但不要以不公正的手段干涉同行的職業發展;
7.08在出現超越本人勝任范圍的情況時,應主動征詢其他熟悉這一領域的專業人員的意見;
原則8自身
軟件工程師應當參與終生職業實踐的學習,并促進合乎道德的職業實踐方法,特別是軟件工程師應不斷致力于:
8.01深化他們的開發知識,包括軟件的分析、規格說明、設計、開發、維護和測試、相關的文檔,以及開發過程的管理;
8.02提高他們在合理的成本和時限范圍內,開發安全、可靠和有用質量保證的軟件的能力;8.03提高他們編寫正確、有技術含量的和良好的文檔能力;
8.04提高他們對所從事軟件和相關文檔資料,以及應用環境的了解;
8.05提高他們對從事軟件和文檔的有關標準和法律的熟悉程度;
8.06提高他們對本規范,及其解釋和如何應用于本身工作的了解;
8.07不因為某些難以接受的偏見而不公正地對待他人;
8.08不影響他人在執行道德規范時所采取的任何行動;
8.09要認識到違反本規范是與成為一名專業軟件工程師不相稱的;
第四篇:Java軟件工程師職位要求
一.Java軟件工程師職位要求:
1、熟悉J2EE技術架構體系;
2、熟悉Struts、Hibernate、Spring等主流開源框架;
3、熟練使用JavaBean、Servlet、Jsp、WebService等開發技術;
4、熟練使用HTML、CSS、JavaScript等客戶端開發技術,有Ajax的實際應用開發經驗;
5、熟練掌握TomCat、Jboss、WebLogic等主流應用服務器的配置和使用;
6、熟練使用PowerDesigner、Rose等建模工具,有實際項目的數據庫建模經驗;
7、熟練使用Oracle、MySQL等主流數據庫;
8、責任心強,上手能力快,有良好的團隊合作意識,善于溝通,能承擔工作壓力;
二Java軟件工程師職位要求: 1.有JAVA多年的中大型項目開發經驗, 掌握MVC模式的開發及SSH三層框架的使用,對ibatis框架熟練掌握者優先;
2.熟練掌握數據庫基礎SQL語句、存儲過程和觸發器等功能應用;
3.參與使用Oracle存儲過程處理業務邏輯的項目開發者優先;
4.要會使用 MyEclipse 進行debug的斷點調試;
5.熟練使用 WebShpere, Tomcat, Linux, UNIX 應用;
6.對ERP了解, 做過工作流項目;
7.有較強的自學能力,抗壓能力,責任心強 ,溝通能力以及執行能力。
8.熟悉 jboss, 以及ssh 框架
9.運熟練運用 web services 開發
10.對ERP了解
11.有項目經驗,要求是項目的負責人,或技術負責人
12.有 EXTJS 項目經驗更佳
三職位描述:
1)熟悉JAVA基礎知識,一年以上Java Web開發經驗,參與過Java Web完整項目開發;
2)熟練Spring,Struts和Hibernate等主流的開發框架,熟練JSP/Servlet/WebService/JavaScript等WEB開發技術;
3)熟悉Flex技術、ActionScript語言;
4)熟悉基于AMF3的Flash與Java的socket通信(即熟悉BlazeDS);
5)熟練掌握SQL語言,能熟悉使用Oracle、SQL Server、DB2擴展的SQL語法;
三Java工程師職位要求:
1.計算機、電子或通訊類相關專業大專以上學歷,3年以上 java 開發經驗;
2.精通 java 和 sql 及常用數據結構與算法;
3.熟悉 j2ee 系統架構及相關技術,掌握 spring 框架、mvc、mysql/nosql 數據庫開發技能;
4.熟練編寫單元測試和接口測試;
5.熟悉 tcp/ip 和無線通訊協議及多線程網絡編程優先;
6.熱愛互聯網產品技術開發,有積極的技術創新精神;
7.自學能力強,溝通協作意識良好,能夠承擔工作壓力。
四Java:
1、4年以上java開發經驗;
2、具有良好的溝通及邏輯思維能力,熟悉J2EE企業應用開發,極其豐富的大型Web項目開發經驗;
3、具有較強的面向對象分析及設計能力,豐富的系統架構設計經驗;
4、熟悉UML建模,熟悉Rose、Power Designer等系統分析工具;
5、精通Struts2/WebWork、Spring、Hibernate、JSP/JSF、Ajax、WebService、javascript、CSS、Junit、Ant、XML、SOA;
6、熟悉Eclipse(MyEclipse)開發工具;
7、熟悉版本控制工具SVN/CVS;
8、熟悉Oracle、Sqlserver、Mysql等主流數據庫;
9、工作作風嚴謹,優秀的學習能力,具備良好的組織管理能力,具備良好的團隊精神;
10、Oracle數據庫精通者優先考慮。
五.Java軟件工程師職位要求:
1、計算機相關專業,本科以上學歷,三年以上開發經驗;
2、扎實的Java基本功,熟練掌握J2EE體系結構,對其基本技術有比較深入的理解,具有較為優秀的系統架構設計能力,對海量用戶高并發訪問系統架構設計有一定的理解和實踐,有扎實的編程能力以及良好的編程習慣、文檔管理習慣;
3、熟練運用主流開發框架,熟悉UNIX/LINUX環境,掌握tomcat/was等服務器基于J2EE架構下的項目部署配置,對WAS集群以及性能調優、問題診斷有一定的理解和實踐;
4、熟練運用DB2/ORACLE等大型關系型數據庫,有較為豐富的數據庫設計經驗,對海量數據架構設計以及性能調優有一定的理解和實踐;
5、有較強的業務理解能力,善于業務分析,思維靈活,接受新知識能力強,自我學習能力強;
6、有較強的溝通協調能力和團隊精神,善于協作;
7、工作踏實,積極主動,有很強的責任心,能承受較大的工作壓力;
8、有金融行業經驗優先,有互聯網行業經驗優先。
六Java軟件工程師職位要求:
1、負責網頁游戲的服務器端架構和開發工作;
職位要求:
1、精通Java語言多線程,具有扎實的編程能力,能夠完成較復 雜的邏輯和交互流程設計和實現;
2、能獨立設計后臺服務端的多層架構,并實現分布式高并發處理
3、能夠熟練使用jaVA網絡編程,要求有NIO開發經驗;
4、精通數據庫設計,能夠熟練使用java或操作MySQL數據庫;
5、熟悉基于AMF3的Flash與Java的socket通信(即熟悉BlazeDS);
7、能熟練運用設計模式,熟悉軟件工程,對于面向對象模型和設計模式有比較清晰的認識,對大型軟件架構有清晰理解;
8、有MMO或ARPG游戲(網絡游戲和網頁游戲均可)開發經驗,或精通常見網絡游戲的實現算法優先;
9、有熟悉網絡安全,數據庫優化,大型分布式系統,商用高負載服務器系統者優先
七Java軟件工程師職位要求:
專業技能:
1.計算機相關專業,專科(含)以上學歷;
2.4-5年以上Java項目開發經驗;具有門戶網站、Activiti5產品研發工作經歷者 優先;
3.熟悉J2EE技術體系,熟練掌握jquery、Jsp、Javascript等Web開發技術,理解 并能熟練使用WebService、XML等技術,熟練使用springMVC、ibatis或類似的java web開發框架;
4.熟悉Oracle數據庫,能夠使用plsql編寫存儲過程;
5.熟悉Tomcat、JBOSS等中間件;
6.熟練使用Eclipe、SVN等開發與管理工具,了解LINUX等操作系統;
八Java軟件工程師職位要求:
1、計算機通信相關專業本科及以上學歷2、3年或以上相關工作經驗
3、精通JAVA/J2EE,了解架構模式,深入理解Struts、Hibernate、Spring、Ajax、Webservice、JBPM、JMS、JMX、AOP、Junit等框架和技術的設計思想和實現方式;對SSH框架有深入了解
4、了解常用的js框架(prototype、mootools、Dojo),有extjs項目開發使用經驗
5、對常用Java開源框架有所了解,熟悉Java桌面開發技術(swing/eclipse rcp)
6、有做過績效考核評估、平衡計分卡產品或項目經驗者優先考慮
九Java軟件工程師職位要求:
1.依據詳細設計,使用專業的工具、技術方法,獨立進行軟件開發;.2.對現有項目代碼進行維護,修改,并添加新的功能;
3.完成項目的測試、系統交付工作,對項目實施提供支持;
4.負責系統的優化維護完善升級工作。
任職要求
1.計算機及相關專業畢業,3年以上相關軟件開發經驗
2.熟悉StrutsWebworkFreemarkerSpringHibernateLucence等開源框架及項目;
3.熟悉Java、HTML、CCS客戶端編程,并有實際項目開發經驗;
4.熟悉MySql、Oracle等數據庫,熟練使用SQL語句;
5.熟悉Apache、Tomcat等J2EE應用服務器;
6.至少開發過一個中大型互聯網應用;有互聯網平臺開發經驗者優先。
十.Java軟件工程師職位要求:
1、3 年以上工作經驗,計算機相關專業,專科以上學歷。
2、java web 方面:精通 Spring, hibernate, struts2 框架。
3、數據庫方面:精通 oracle 等數據庫,熟悉 sql 和存儲過程開發。
4、Web方面:servlet, jsp, javascript, ajax, json, jquery, freemarker 等。
5、服務器方面:熟悉 tomcat 服務器配置,能熟練地在 Linux 上部署應用程序者優先。
6、對程序的質量(包括運行效率、資源開銷、可擴展性、可維護性、代碼的可閱讀型)有充分的認識和嚴格的要求。
7、精通 socket 編程及多線程處理(有通訊服務器編寫經驗者優先)。
8、在I/O和線程并發、程序安全性、接口編程、網絡傳輸、長輪詢、這幾方面有經驗的技術人員優先。
9、具良好的溝通能力和團隊合作精神、能承受高強度的工作壓力。
第五篇:規范軟件開發過程——軟件配置管理實踐
規范軟件開發過程——軟件配置管理實踐
2010-05-19 來源:網絡
隨著軟件系統的規模、復雜度日益上升,軟件開發過程管理已經成為保證軟件系統開發效率、質量、成本的關鍵性因素。作為軟件開發過程中質量保障的重要組成部分,行之有效的軟件配置管理(以下簡稱SCM,Software Configuration Management)能夠顯著提高軟件開發組織的自身能力、提高軟件開發過程的完整性,以及降低軟件開發的風險。
軟件配置管理的概念
ISO 9000、CMM、ISO/IEC 12207、IEEE 729-1983對SCM的定義有不同的描述。ISO9000定義SCM為“一個管理學科,它對配置項的開發和支持生命周期給予技術上和管理上的指導。配置管理取決于項目的規模、復雜程度和風險大小”。
CMM2將SCM定義為一個關鍵過程域KPA,是“貫穿于整個軟件過程中的保護性活動,它被設計來(1)標識變化,(2)控制變化,(3)保證變化被適當的發現(4)向其他可能有興趣的人員報告變化。”。SCM包括了配置項識別、工作空間管理、版本控制、變更控制、狀態報告、配置審計等活動,其中以版本控制最為核心和關鍵。
數據集中工程軟件配置管理策略
1、數據集中工程項目背景
中國建設銀行數據集中工程的目標是通過建立總行級的數據中心,向全行38個一級分行、20000多個網點提供完整的核心金融服務。其核心應用系統DCC-CCBS包括主機、前置、前端三大部分。主機應用部分部署在總行級數據中心,前置應用部分部署在數據中心前置通信網關、各一級分行業務大前置,前端部分部署在網點。
DCC-CCBS項目的SCM需要實現開發、發布、部署的全過程軟件配置管理。開發過程SCM的核心是系統源碼版本管理;發布過程的SCM核心是系統目標碼版本管理;部署過程以確保系統目標碼版本在數據中心、一級分行、網點和外系統的正確部署為首要目標。
2、開發過程軟件配置管理
系統源碼版本除系統源程序、參數外,還包括需求規格說明書、系統總體架構設計說明書、主機/前置/前端系統結構設計說明書、各子系統的詳細設計說明書、各子系統的對外接口規范、業務操作手冊、系統使用手冊、系統安裝維護手冊等文檔。根據配置項的不同屬性,經過評審,形成需求基線、設計基線和源代碼基線等不同的基線。開發過程SCM按照子系統的性質,分為主機、前置、前端三部分獨立管理。
DCC-CCBS項目總體組負責整個需求和變更的控制。通過審批的需求按照功能分布分解為主機、前置、前端的子需求,再由各部門分別管理和實現。環境及版本控制小組負責向各部門提出形成“系統基線”的要求,以同步主機、前置、前端的源碼版本。
3、發布過程軟件配置管理
發布過程的系統目標碼版本包括系統目標碼(執行碼)、系統參數及相關文檔等。按照用途,系統目標碼版本可分為測試版和正式版。以前置平臺為例,發布過程SCM的主要活動包括:構建環境管理,保證編譯環境的純凈性和正確性;
構建過程管理,保證構建過程的自動化操作,及其正確性和完整性;
版本編號管理,統一版本命名規則,確保目標碼版本號的唯一性和可追蹤性;
目標碼版本生成管理,從各版本管理工具系統收集、整理、打包相應的目標碼、參數和文檔,形成完整的或部分(補丁)的目標碼版本;
配置狀態檢查,檢查目標碼版本包中內容的正確性、完整性和一致性;
4、部署過程軟件配置管理
部署過程SCM的主要任務是:建立安全、可靠和迅速的傳輸流程和傳輸渠道;建立目標碼版本記錄和追蹤機制、版本運行時刻檢查機制和版本恢復機制;確保正確的版本、按照正確的渠道、在規定時間遞交到正確的用戶并生效。
在DCC-CCBS生產環境中,軟件開發中心將通過數據中心版本管理系統發布各單位所需的目標碼版本,各單位在版本管理系統和數據傳輸通道的支持下,實現版本/補丁的主動分發、查詢、下載和生效。
軟件配置管理實施經驗
1、樹立正確的企業配置管理意識
SCM是一門管理學科。歸根結底,其關鍵是“管理”,然后才是“軟件配置”。項目級SCM能否成功實施,與企業的軟件配置管理目標、策略、能力、組織和資源息息相關。
2、提高全員的配置管理素質
SCM是規則和流程的集合,需要依靠流程中所有部門和人員共同的支持和努力。任何環節上的疏忽和懈怠,都將直影響SCM的實施效果。
3、采用合適的工具
功能強大的或昂貴的工具未必是合適的工具。往往20%的功能即可解決80%的配置管理問題。目前比較流行的版本管理工具包括CVS、PVCS、ClearCase、Harvest、VSS、Endeavor等。在選擇具體工具時,往往需要考慮以下因素:(1)工具將要使用的范圍;(2)工具自身的功能、穩定性、擴展行,以及對環境的要求;(3)工具使用的復雜度;(4)工具與其他流程和工具的集成度和交互性;(5)工具的投資和維護費用。
4、及時的檢查和梳理
大系統開發過程中,配置管理往往采用分步離散管理方式,因此保證整個系統配置管理的完整性成為一件精密細致的工作,需要投入大量人力及時修訂基線,防微杜漸,避免混亂,以滿足對配置管理正確性、完整性和及時性的要求。
5、系統化思考、分步實施、持續改進
SCM不是一項孤立的管理活動。企業的戰略目標、管理能力、文化背景、組織結構,項目的規模、性質、技術、人員等都是影響SCM決策的重要因素。因此需要在項目乃至企業的整體環境中系統的考慮SCM的實施策略和方法。
通過分階段實施量化的、漸進的配置管理目標,可以避免由于引入復雜管理流程所造成的混亂,有利于方便靈活地優化配置管理流程。同時,階段性目標的實現將有助于整個團隊提高士氣、增強信心,并逐步提高開發隊伍的配置管理素質。