0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

軟件工程師的必備工具有哪些

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-10-09 09:57 ? 次閱讀

信息技術(shù)的發(fā)展時間雖然不長,但其爆炸式的發(fā)展速度使信息技術(shù)迅速覆蓋社會和人類生活的各個角落。程序員們是這場信息化浪潮的見證者之一,更是其中的主要參與者,這是時代賦予每個程序員的機會和責(zé)任。

信息技術(shù)的更新速度是驚人的,程序員的職業(yè)生涯則是一個要求不斷學(xué)習(xí)的過程,永遠不能固步自封。本人在工作期間曾看見過很多程序員只要有閑暇時間就瀏覽一些沒有太大作用的網(wǎng)頁,在網(wǎng)上聊天,打游戲,浪費了大量的時間,十分不可取。而另外一種情況是,IT技術(shù)的日新月異使很多程序員眼花繚亂,什么都想學(xué),卻又不知從何學(xué)起,今天看看這個,明天學(xué)學(xué)那個,貪多不熟。

雖然IT技術(shù)發(fā)展迅速,但很多技術(shù)都是有規(guī)律可循,一些基本的概念、原理和方法還很通用,可以舉一反三。本人根據(jù)自己的體會和經(jīng)驗,向那些剛剛踏入IT行業(yè)的新程序員們或正在迷茫的程序員們推薦程序員必須掌握的七種武器,有了這七種武器,雖不敢說笑傲江湖,但將自己立于不敗之地還是可以的。

第一種武器:開發(fā)工具

至少熟練掌握兩到三種開發(fā)工具的使用,這是程序員的立身之本,其中C/C++JAVA是我重點推薦的開發(fā)工具,C/C++以其高效率和高度的靈活性成為開發(fā)工具中的利器,很多系統(tǒng)級的軟件還是用C/C++編寫。而JAVA的跨平臺和與WEB很好的結(jié)合是JAVA的優(yōu)勢所在,而本人對SUN公司的“網(wǎng)絡(luò)即計算機”的概念相當(dāng)欣賞,并相信JAVA即其相關(guān)的技術(shù)集JAVA One會成為未來的主流開發(fā)工具之一。其次,如果能掌握一種簡便的可視化開發(fā)工具,如VB,PowerBuilder,Delphi,C++ Builder,則更好,這些開發(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)是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統(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)還是能獲取不少資料。只有對操作系統(tǒng)有一定的了解后,你會發(fā)現(xiàn)自己上了一個新的臺階。

第四種武器:網(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),到今天的WEB Services,再到未來的網(wǎng)格計算,這一切都離不開以TCP/IP協(xié)議棧為基礎(chǔ)的網(wǎng)絡(luò)協(xié)議支持,所以,深入掌握TCP/IP協(xié)議是非常必要的。至少,你需要了解ISO七層協(xié)議模型,IP/UDP/TCP/HTTP等常用協(xié)議的原理和三次握手機制。

第五種武器:DCOM/CORBA/XML/WEB Services

隨著技術(shù)的發(fā)展,軟件與網(wǎng)絡(luò)的無縫結(jié)合是必然趨勢,軟件系統(tǒng)的位置無關(guān)性是未來計算模式的重要特征之一,DCOM/CORBA是當(dāng)前兩大主流的分布計算的中間件平臺,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規(guī)范。程序員需要做的不僅僅是利用商業(yè)的開發(fā)平臺來開發(fā)軟件,而是要理解這些技術(shù)的初衷,即為什么需要這項技術(shù),如果你能理解了這一點,再回頭看這些技術(shù)的具體實現(xiàn),就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結(jié)構(gòu)化的表示方法和超強的表達能力被喻為互聯(lián)網(wǎng)上的“世界語”,是分布計算的基石之一。

第六種武器:軟件工程與CMM

現(xiàn)代大型軟件系統(tǒng)的開發(fā)中,工程化的開發(fā)控制取代個人英雄主義,成為軟件系統(tǒng)成功的保證,一個編程高手并不一定是一個優(yōu)秀的程序員,一個優(yōu)秀的程序員是將出色的編程能力和開發(fā)技巧同嚴格的軟件工程思想有機結(jié)合,編程只是軟件生命周期中的其中一環(huán),優(yōu)秀的程序員應(yīng)該掌握軟件開發(fā)各個階段的基本技能,如市場分析,可行性分析,需求分析,結(jié)構(gòu)設(shè)計,詳細設(shè)計,軟件測試等。一句話可以概括我的看法:“創(chuàng)意無限,流程保證”。

第七種武器:強烈的好奇心

什么才是一個程序員的終極武器呢,那就是強烈的好奇心和學(xué)習(xí)精神。沒有比強烈的好奇心和學(xué)習(xí)精神更好的

軟件工程師考試(高級)大綱

一、考試說明

1.考試要求:

(1)理解軟件工程管理的概念和任務(wù);

(2)理解軟件生存期過程;

(3)理解軟件工程標準;

(4)掌握需求分析、測試、維護基本技術(shù);

(5)掌握軟件度量、軟件配置管理方法;

(6)理解軟件復(fù)用概念;

(7)理解軟件質(zhì)量保證的手段;

(s)理解軟件項目對人員的需求;

(9)理解軟件知識產(chǎn)權(quán)的基本知識。

2.通過本級水平考試的合格人員具有從事軟件系統(tǒng)分析與工程系統(tǒng)分析員、工程管理員的實際工作能力和業(yè)務(wù)水平。

3.本級水平考試范圍包括三個模塊,即模塊1、模塊2和模塊3。題型為單項選擇題十多項選擇題十綜合題。每個模塊考試時間為90分鐘。

二、考試范圍

模塊1:軟件工程技術(shù)

1.1軟件生存期過程

1.1.1軟件工程過程和軟件生存期

1.1.2軟件生存期模型

1.1.3國際標準:ISO/IECI2207信息技術(shù)一軟件生存期過程

1.2軟件需求分析

1.2.1需求分析的任務(wù)

1.2.2需求分析過程

1.2.3需求的類型。

1.2.4需求分析的原則

1.2.5需求分析人員和用戶的責(zé)任

1.2.6需求文檔

1.2.7需求說明技術(shù)的選擇

1.3軟件復(fù)用技術(shù)

1.3.1軟件復(fù)用的概念

1.3.2軟件開發(fā)過程

1.3.3構(gòu)件技術(shù)

1.3.4分層式體系結(jié)構(gòu)

1.3.5實施軟件復(fù)用開發(fā)單位的組織結(jié)構(gòu)

1.4軟件測試技術(shù)

1.4.1軟件測試的基本概念

1.4.2測試用例設(shè)計

●白盒測試

●黑盒測試

1.4.3性能測試

1.4.4軟件測試策略

1.4.5軟件測試工具

1.5軟件維護

1.5.1軟件維護的概念

1.5.2軟件維護活動

1.5.3軟件維護的實施

1.5.4軟件可維護性

1.5.5軟件再工程

1.6軟件工具與軟件開發(fā)環(huán)境

1.6.1軟件開發(fā)工具的分類、作用和功能

1.6.2軟件開發(fā)環(huán)境的概念

模塊2:軟件質(zhì)量管理與軟件質(zhì)量保證

2.1軟件質(zhì)量

2.1.1什么是軟件質(zhì)量

2.1.2軟件可靠性

2.1.3軟件質(zhì)量問題的根源

2.1.4軟件產(chǎn)品質(zhì)量與軟件過程質(zhì)量

2.2軟件質(zhì)量保證

2.2.1軟件質(zhì)量保證的概念

2.2.2軟件質(zhì)量保證體系

2.2.3質(zhì)量保證的實施

2.2.4軟件質(zhì)量設(shè)計

2.2.5軟件容錯技術(shù)

2.3軟件工程標準與軟件文檔

2.3.1什么是軟件工程標準

2.3.2軟件工程標準化的意義

2.3.3軟件工程標準的制訂與推行

2.3.4軟件工程標準的層次

2,3.5軟件工程國家標準

2.4ISO9000國際標準

2.4.1質(zhì)量管理、質(zhì)量認證與質(zhì)量審核

2.4.2ISO9000標準概要

2.4.3ISO9000族標準構(gòu)成

2.4.4質(zhì)量體系

2.4.5ISO9001的主要內(nèi)容

2.4.6ISO9000_3實施指南概要

2.5軟件過程能力評估CMM

2.5.1軟件過程評估的意義

2.5.2軟件過程能力成熟度分級及其關(guān)鍵過程域

2.5.3軟件過程評估的國際標準

2.6軟件度量

2.6.1軟件度量的概念

2.6.2功能點方法計算軟件的大小

2.6.3程序環(huán)路復(fù)雜度計算

2.6.4Halstead程序工作量計算

2.6.5程序風(fēng)格度量

2.7軟件配置管理

2.7.1什么是軟件配置管理

2.7.2配置管理計劃的制訂

2.7.3變更管理

2.7.4版本管理和發(fā)行管理

模塊3:軟件工程管理

3.1軟件工程管理和軟件項目管理

3.1.1軟件工程管理的任務(wù)與意義

3.1.2軟件工程管理的范圍

3.1.3軟件文檔管理

3.1.4軟件成本估算

3.1.5軟件風(fēng)險分析

3.1.6軟件項目進度計劃與監(jiān)控

3.2軟件人員管理

3.2.1軟件開發(fā)組織結(jié)構(gòu)

3.2.2軟件人員能力成熟度模型

3.2.3軟件工程師道德和職業(yè)活動規(guī)范

3.3軟件知識產(chǎn)權(quán)保護

3.3.1什么是知識產(chǎn)權(quán)

3.3.2計算機軟件著作權(quán)

3.3.3計算機軟件著作權(quán)登記管理

3.3.4計算機軟件著作權(quán)侵權(quán)與法律保護

3.3.5計算機軟件的商業(yè)秘密與反不正當(dāng)競爭

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 軟件工程師
    +關(guān)注

    關(guān)注

    8

    文章

    218

    瀏覽量

    21148
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式工程師常用的開發(fā)工具有哪些?

    項目管理和調(diào)試。IAR Embedded Workbench 也是廣受歡迎的 IDE,具有出色的優(yōu)化能力和調(diào)試工具,能夠幫助工程師快速開發(fā)出高質(zhì)量的嵌入式軟件。 二、編譯器 編
    發(fā)表于 12-20 15:29

    芯片開發(fā)必備工具——好用的文件比對工具有哪些?

    芯片開發(fā)必備工具——好用的文件比對工具有哪些?
    的頭像 發(fā)表于 11-01 08:11 ?292次閱讀
    芯片開發(fā)<b class='flag-5'>必備</b><b class='flag-5'>工具</b>——好用的文件比對<b class='flag-5'>工具有</b>哪些?

    硬件工程師找工作必備書籍推薦

    硬件工程師找工作必備書籍推薦
    的頭像 發(fā)表于 09-24 16:07 ?958次閱讀
    硬件<b class='flag-5'>工程師</b>找工作<b class='flag-5'>必備</b>書籍推薦

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?

    ,還需要與軟件工程師、硬件工程師緊密合作,對整個系統(tǒng)進行集成和測試。 總的來說,F(xiàn)PGA 算法工程師著重于算法優(yōu)化,F(xiàn)PGA 邏輯工程師專注于邏輯設(shè)計,F(xiàn)PGA 原型驗證
    發(fā)表于 09-23 18:26

    嵌入式軟件工程師如何提升自己?

    的發(fā)展打下堅實的基礎(chǔ)。 2.掌握專業(yè)技能 除了基礎(chǔ)知識外,嵌入式軟件工程師還需要掌握專業(yè)的技能。這包括熟練掌握嵌入式系統(tǒng)的開發(fā)工具、硬件平臺和軟件開發(fā)流程。建議通過參加培訓(xùn)課程、實習(xí)經(jīng)驗或自學(xué)等方式
    發(fā)表于 06-12 11:20

    索尼誠邀軟件工程師參與PS免費手游平臺設(shè)計

    據(jù)悉,近日,澳大利亞知名媒體TweakTown發(fā)現(xiàn),索尼互動娛樂正在為其旗下的PlayStation Studios Mobile招募一名資深的軟件工程師,負責(zé)設(shè)計PlayStation的免費手機游戲平臺。
    的頭像 發(fā)表于 05-23 17:08 ?746次閱讀

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    和通信協(xié)議,以及熟練掌握一種或多種編程語言和開發(fā)工具。 主要負責(zé)的任務(wù)和領(lǐng)域 嵌入式軟件工程師的工作涉及到各種任務(wù),主要包括: * 系統(tǒng)設(shè)計:包括確定系統(tǒng)功能、分配資源、優(yōu)化性能等。 * 軟件編程:包括編程
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    芯片封裝工程師必備知識和學(xué)習(xí)指南

    芯片封裝工程師是現(xiàn)代電子行業(yè)中不可或缺的專業(yè)人才,他們的工作涉及將設(shè)計好的芯片封裝到細小的封裝體中,以確保芯片能夠在各種環(huán)境下穩(wěn)定、可靠地工作。本文將詳細介紹芯片封裝工程師必備的專業(yè)知識,以及成為優(yōu)秀芯片封裝
    的頭像 發(fā)表于 04-26 10:50 ?2309次閱讀
    芯片封裝<b class='flag-5'>工程師</b><b class='flag-5'>必備</b>知識和學(xué)習(xí)指南

    一款適合嵌入式工程師使用的在線工具

    一款適合嵌入式工程師使用的在線工具,工具有如下功能,如下圖所示: 1. 報文校驗功能,如下圖所示 2. UDP服務(wù)端測試工具:該UDP服務(wù)端
    發(fā)表于 04-09 22:20

    Cognition發(fā)布首款A(yù)I軟件工程師Devin

    據(jù)報道,Cognition公司今日公布了其首款人工智能軟件工程師——Devin,掀起了打造軟件模式變革的序幕。該產(chǎn)品在SWE-bench代碼測驗中展現(xiàn)出卓越表現(xiàn),甚至超過了部分頂級人類工程師的水準。
    的頭像 發(fā)表于 03-13 10:57 ?641次閱讀

    電子工程師必備:PW1116三/四/五節(jié)鋰電池保護芯片

    電子工程師必備:PW1116三/四/五節(jié)鋰電池保護芯片
    的頭像 發(fā)表于 03-04 17:54 ?909次閱讀
    電子<b class='flag-5'>工程師</b><b class='flag-5'>必備</b>:PW1116三/四/五節(jié)鋰電池保護芯片

    優(yōu)秀電源工程師需要哪些必備技能?

    。1、建模仿真電路建模仿真是電源工程師必備技能之一。它是電源開發(fā)過程中不可或缺的一個環(huán)節(jié),可以幫助工程師們驗證設(shè)計方案的準確性與可行性。電源建模仿真軟件根據(jù)研究方向分為電氣仿真和磁器件
    發(fā)表于 01-29 11:29