A. 軟體開發具體做什麼工作
1、計劃
對所要解決的問題進行總體定義,包括了解用戶的要求及現實環境,從技術、經濟和社會因素等3個方面研究並論證本軟體項目的可行性,編寫可行性研究報告,探討解決問題的方案,並對可供使用的資源(如計算機硬體、系統軟體、人力等)成本,可取得的效益和開發進度作出估計,制訂完成開發任務的實施計劃。
2、分析
軟體需求分析就是對開發什麼樣的軟體的一個系統的分析與設想。它是一個對用戶的需求進行去粗取精、去偽存真、正確理解,然後把它用軟體工程開發語言(形式功能規約,即需求規格說明書)表達出來的過程。本階段的基本任務是和用戶一起確定要解決的問題,
建立軟體的邏輯模型,編寫需求規格說明書文檔並最終得到用戶的認可。需求分析的主要方法有結構化分析方法、數據流程圖和數據字典等方法。本階段的工作是根據需求說明書的要求,設計建立相應的軟體系統的體系結構,
並將整個系統分解成若干個子系統或模塊,定義子系統或模塊間的介面關系,對各子系統進行具體設計定義,編寫軟體概要設計和詳細設計說明書,資料庫或數據結構設計說明書,組裝測試計劃。在任何軟體或系統開發的初始階段必須先完全掌握用戶需求,以期能將緊隨的系統開發過程中哪些功能應該落實、
採取何種規格以及設定哪些限制優先加以定位。系統工程師最終將據此完成設計方案,在此基礎上對隨後的程序開發、系統功能和性能的描述及限製作出定義。
3、設計
軟體設計可以分為概要設計和詳細設計兩個階段。實際上軟體設計的主要任務就是將軟體分解成模塊,然後進行模塊設計。模塊是指能實現某個功能的數據和程序說明、可執行程序的程序單元。可以是一個函數、過程、子程序、一段帶有程序說明的獨立的程序和數據,
也可以是可組合、可分解和可更換的功能單元。概要設計就是結構設計,其主要目標就是給出軟體的模塊結構,用軟體結構圖表示。詳細設計的首要任務就是設計模塊的程序流程、演算法和數據結構,次要任務就是設計資料庫,常用方法還是結構化程序設計方法。
4、編碼
軟體編碼是指把軟體設計轉換成計算機可以接受的程序,即寫成以某一程序設計語言表示的「源程序清單」。充分了解軟體開發語言、工具的特性和編程風格,有助於開發工具的選擇以及保證軟體產品的開發質量。
5、測試
軟體測試的目的是以較小的代價發現盡可能多的錯誤。要實現這個目標的關鍵在於設計一套出色的測試用例(測試數據與功能和預期的輸出結果組成了測試用例)。如何才能設計出一套出色的測試用例,關鍵在於理解測試方法。不同的測試方法有不同的測試用例設計方法。兩種常用的測試方法分別是白盒法和黑盒法,白盒法測試對象是源程序,
依據的是程序內部的邏輯結構來發現軟體的編程錯誤、結構錯誤和數據錯誤。結構錯誤包括邏輯、數據流、初始化等錯誤。白盒法用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果。黑盒法依據的是軟體的功能或軟體行為描述,發現軟體的介面、功能和結構錯誤。其中介面錯誤包括內部/外部介面、資源管理、集成化以及系統錯誤。黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入介面。
6、維護
維護是指在已完成對軟體的研製(分析、設計、編碼和測試)工作並交付使用以後,對軟體產品所進行的一些軟體工程的活動。即根據軟體運行的情況,對軟體進行適當修改,以適應新的要求,以及糾正運行中發現的錯誤。編寫軟體問題報告、軟體修改報告。
B. 軟體行業有哪些崗位
在互聯網軟體行業下,基本都在使用敏捷開發方法,一般公司所涉及的崗位如下:
Ø 產品經理
產品經理是在互聯網行業中誕生的一個新崗位,他們要根據業務需求進行大量的用研分析,需求過濾,將業務需求進行產品、以及信息化的轉化,從而用一種新的產品理念服務於客戶,具體工作包括用戶體驗設計、交互設計、業務流程設計、信息架構設計等等,一般產出:產品原型。
Ø 架構師
架構師了解業務之後,對業務進行抽象與架構設計,根據設計進行技術選型和框架搭建,制定整個軟體系統的技術方向和開發方式,就像是建築設計師一樣,不僅要有良好的抽象能力、設計能力、更要有良好的技術和攻關能力。
Ø UI設計師
UI設計師的主要負責軟體的外在美觀設計,增強用戶的視覺感官體驗。
Ø 後端開發工程師
後端開發工程師,主要就是負責編寫應用系統的代碼實現,實現產品要求中的業務功能。
Ø 前端開發工程師
後台工程師的主要工作是實現功能,而前端工程的工作就是實現用戶的操作界面,完成人機交互,包括:app(Android、iOS)和web。
Ø 測試工程師
軟體總會有bug,所以在上線之前需要對軟體進行全方位的測試工作,包括:功能測試(黑盒、灰盒、白盒測試)、安全測試、性能測試、壓力測試、穩定性測試等等,那麼就用到了測試工程師,他們主要對軟體質量進行把控。
Ø 運維工程師
系統在運行中,還需要有運維工程師,保障系統能夠安全有效的不間斷的提供服務,他們需要對硬體、軟體、網路、安全設備等進行實時監控、運營維護。
Ø 大數據開發工程師
大數據工程師主要負責數據處理,簡單來說是在大數據處理平台下的數據處理,包括數據收集、存儲、轉換、分析與可視化。為企業業務決策提供數據支撐,注重數據價值提取。
C. 軟體開發職業發展及相關職位有哪些
1、軟體UI設計;
2、軟體程序開發;
3、軟體測試;
4、軟體實施。
5、資料庫開發。
6、項目經理
6、產品經理。很多,一線代碼的就是程序開發和測試。其他的都是輔助的。UI設計涉及的少,但也必須知道
D. 軟體開發工作具體干什麼
軟體開發具體要乾的事如下:
軟體開發的內容是:需求、設計、編程和測試。
1、需求:不僅僅是用戶需求,應該是開發中遇到的所有的需求。比如,首先要知道做這個項目是為了解決什麼問題;測試案例中應該輸入什麼數據……為了清楚地知道這些需求,經常要和客戶、項目經理等交流。
2、設計:編碼前,肯定有個計劃告訴要做什麼,結構是怎樣等等。一定要按照這個來做,否則可能會一團糟。
3、編程:如果在項目截止日,程序不能跑起來或達不到客戶的要求,就拿不到錢。
4、測試:目的是讓自己知道,什麼時候算是完成了。應該先寫測試,這樣可以及時知道是否真地完成。軟體開發中,客戶和開發人員都有自己的基本權利和義務。客戶:定義每個用戶需求的商業優先順序;制訂總體計劃,包括用多少投資、經過多長時間、達到什麼目的;在項目開發過程中的每個工作周,都能讓投資獲得最大的收益;通過重復運行所指定的功能測試,准確地掌握項目進展情況;能隨時改變需求、功能或優先順序,同時避免昂貴的再投資;能夠根據各種變化及時調整項目計劃等。
E. 軟體開發專業有哪些職業方向
從事軟體開發的就業方向
(1)軟體測試:應用軟體(包括手機程序)的調試、運行、測試、維護及質量管理等技術崗位的工作。
(2)JAVA軟體開發:軟體公司中Java軟體工程師、網路工程師、資料庫工程師等相關職位。
(3)windows phone:移動運營商、手機終端製造商、手機平台開發商、手機服務提供商、手機內容提供商、手機晶元提供商等相關公司。
(4).NET軟體軟體開發:.Net軟體工程師、網路工程師、資料庫工程師等相關職位
軟體開發的學習方向有
(1)軟體測試:掌握主流自動化測試工具、Linux環境搭建與操作和軟體工程相關知識
(2).NET軟體軟體開發:精通C#編程、熟練掌握ADO.Net和ASP.NET編程、深入理解SQL SERVER資料庫開發的中高級.Net軟體工程師。
(3)windows phone:3G嵌入式系統理論、3G嵌入式編程的技術、方法和工具,能從事3G方向嵌入式系統應用、設計、開發與測試的技能型、實用性高級軟體人才。
(4)3G移動應用開發:Android(安卓)嵌入式系統理論、Android(安卓)嵌入式編程的技術、方法和工具,能從事Android(安卓)方向嵌入式系統應用、設計、開發與測試的技能型、實用性高級軟體人才。
(5)JAVA軟體開發:精通Struts/Spring/Hibernate架構、熟練掌握Tomcat和企業級Weblogic中間件伺服器、深入理解Oracle 10g資料庫開發的中高級JAVAEE軟體工程師
F. 軟體技術專業主要就業方向有哪些
1軟體就業好嗎?
軟體專業的學生就業前景還是不錯的,如果在這個專業上多花點功夫,一步一步,熟練掌握相關的專業知識,那麼以後出來工作還是會有很大的發展前景的。
軟體產業作為朝陽產業,雖然受全球金融危機的影響,但從目前的情況來看,軟體工程專業在未來幾年仍將成為就業形勢看好的專業。調查顯示,軟體工程就業率和就業工資水平均居高校各專業之首。這主要是由於軟體產業的快速發展和政府經濟結構的調整,對軟體人才的迫切需求。
二是軟體專業就業方向。
第一,研發工程師。
由於軟體工程技術、專業性較強,即大家口中的程序猿。例如網頁效果、布局、圖片、視頻等內容;網頁後端研發主要負責網站後台邏輯,以及數據的保存和閱讀,如用戶的注冊和登錄;而軟體研發則主要針對PC/Mac/Android/iOS的客戶端進行相應的研發。各種類型的研究與開發除了要掌握不同的程序語言、不同的研究與開發框架和不同的標准外,還要有很強的邏輯思維能力。
第二,演算法工程師。
演算法工程師也是R&D工程師的一種,但由於它側重於用代碼解決現實生活中的問題,我們將他分類。演算法工程師分為圖像演算法工程師、通信演算法工程師、數據挖掘演算法工程師等。此外,還需要掌握特定領域的數據挖掘演算法。
第三,測試崗。
測試是一個負責控制項目質量的職位。在了解產品功能要求的前提下,測試產品性能和功能,檢查是否有錯誤,測試穩定性和兼容性等。這個職位對技能要求較低,但需要仔細思考和良好的溝通能力。
第四,運維崗。
操作和維護負責控制項目的正常運行。有許多技術方向需要,如服務監控技術、服務故障管理、服務容量管理、服務性能優化等。
第五,產品崗。
產品需要根據用戶的需求,決定開發哪個產品,選擇哪個技術、商業模式等,推進相應的產品開發組織。這個職場是對用戶體驗的理解、用戶需求的把握、產品設計框架和商業嗅覺的綜合能力要求更高的職場。
第六,運營崗。
運營崗位主要從事內容建設、用戶維護、活動策劃和數據分析四個方面,以確保產品與用戶之間的聯系。
G. 軟體工程專業 可以從事的相關職業有哪些
1、Java方向:JAVA初級程序員、JAVA計算程序員 、 JAVA工程師 、J2EE系統工程師等。
2、.Net方向: .Net程序員網站開發工程師 .Net工程師等。
3、其它方向: 簡單的管理信息系統開發和維護人員 、網頁製作和客戶端腳本程序編寫人員 、初級資料庫管理和 維護人員 、資料庫開發工程師 、系統分析設計工程 、軟體項目配置管理員 、文檔編寫工程師等。
軟體工程專業是培養適應計算機應用學科的發展,特別是軟體產業的發展,具備計算機軟體的基礎理論、基本知識和基本技能,具有用軟體工程的思想、方法和技術來分析、設計和實現計算機軟體系統的能力,畢業後能在IT行業、科研機構、企事業中從事計算機應用軟體系統的開發和研製的高級軟體工程技術人才。
(7)軟體開發具體職業有哪些擴展閱讀
軟體工程專業學生畢業後可以從事各級各類企事業單位的辦公自動化處理、計算機安裝與維護、網頁製作、計算機網路和專業伺服器的維護管理和開發工作、動態商務網站開發與管理、軟體測試與開發及計算機相關設備的商品貿易等方面的有關工作。
軟體工程專業要求學生掌握和計算機科學與技術相關的基本理論知識,具有一般計算機相關工程的分析設計和解決實際問題的能力。
了解文獻檢索、資料查詢的基本方法,具有一定的科學研究和實際工作能力。能夠運用學習知識和外文閱讀能力查閱外文資料。養成積極參加體育鍛煉和健康的文化活動的良好習慣,達到國家規定的大學生體育合格標准,身心健康。
H. 軟體開發工作具體干什麼
軟體開發是根據用戶要求建造出軟體系統或者系統中的軟體部分的過程。軟體開發是一項包括需求捕捉、需求分析、設計、實現和測試的系統工程。軟體一般是用某種程序設計語言來實現的。通常採用軟體開發工具可以進行開發。軟體分為系統軟體和應用軟體,並不只是包括可以在計算機上運行的程序,與這些程序相關的文件一般也被認為是軟體的一部分。 軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法、軟體的總體結構設計和模塊設計、編程和調試、程序聯調和測試以及編寫、提交程序。
I. 軟體開發人員主要做什麼工作
軟體開發具體要乾的事如下:
軟體開發的內容是:需求、設計、編程和測試。
1、需求:不僅僅是用戶需求,應該是開發中遇到的所有的需求。比如,首先要知道做這個項目是為了解決什麼問題;測試案例中應該輸入什麼數據……為了清楚地知道這些需求,經常要和客戶、項目經理等交流。
2、設計:編碼前,肯定有個計劃告訴要做什麼,結構是怎樣等等。一定要按照這個來做,否則可能會一團糟。
3、編程:如果在項目截止日,程序不能跑起來或達不到客戶的要求,就拿不到錢。
4、測試:目的是讓自己知道,什麼時候算是完成了。應該先寫測試,這樣可以及時知道是否真地完成。軟體開發中,客戶和開發人員都有自己的基本權利和義務。客戶:定義每個用戶需求的商業優先順序;制訂總體計劃,包括用多少投資、經過多長時間、達到什麼目的;在項目開發過程中的每個工作周,都能讓投資獲得最大的收益;通過重復運行所指定的功能測試,准確地掌握項目進展情況;能隨時改變需求、功能或優先順序,同時避免昂貴的再投資;能夠根據各種變化及時調整項目計劃等。