什麼是軟件工程? 前端
什麼是軟件工程?可能大多數的非計算機的專業的人對軟件工程的概念是比較模糊的,在我沒有接觸IT以前我是沒有思考過這個問題的,如今做爲一個準IT從業人員,我也現學現賣,也算是給本身作一個課後總結。web
軟件工程是在給定成本、給定時間進度、給定資源的前提下,開發出具備 有效性、可維護性、可重用性、以及可移植性、可追蹤性的軟件產品。算法
固然任何一件事情都不是一蹴而就的,軟件產品的開發也是同樣的,就像任何一個產品同樣,也是有生命週期的。後端
什麼是軟件生命週期?服務器
通俗的來說就是一個軟件產品從「出生到墳墓」的整個過程,把整個軟件生命週期分爲軟幹個時期以及階段,讓得每一個時期與階段都有明確的任務,使規模大,結構複雜和管理複雜的軟件產品的開發變得更容易控制和管理。能夠將軟件生命週期歸納爲三個時期、八個階段,而且每一個階段都要有定義、工做、審查、造成文檔以供交流或是備查,以提升軟件的質量。前端工程師
1.軟件定義期數據結構
1)可行性研究階段—《可行性研究報告》架構
從技術、經濟、市場、人力、時間、回報率、民族風俗以國家或當地的政策上做爲研究基礎,而後肯定軟件的開發目標及其可行性。框架
2)需求分析階段—《軟件需求說明書》工具
在肯定軟件可開發的狀況下,對軟件須要實現的各個功能進行詳細的分析。如功能性需求,非功能性需求,搭建的服務器以及其餘。需求分析階段是軟件開發和維護的前提,明確需求分析的目標,同時對需求進行正確深刻的分析,進而採用適合的工具對需求進行說明和描述,才能全面而且正確的進行需求分析。需求分析階段是一個很是重要的階段,也會在整個軟件開發過程當中不斷變化和深刻的階段,可以爲整個軟件開發項目的成功打下良好的基礎。
2.軟件開發期
3)概要設計階段—《概要設計說明說》
根據需求分析的結果,對整個軟件產品進行設計,如技術選型、數據結構設計、功能模塊的劃分等等。一般由項目架構師設計。
4)詳細設計階段—《詳細設計說明書》
根據架構師設計的框架、數據結構、功能模塊等設計規劃,詳細設計須要實現的細節、屬性、方法、算法等等。一般由設計師設計。
5)編碼實現階段—《項目開發進度報告》
將軟件設計的結果轉換成計算機能夠運行的程序代碼。其中,UI設計師配合項目經理設計出效果圖;前端工程師把效果圖轉換成計算機可執行的HTML、CSS、JS等格式;後端工程師則須要準備項目中須要的數據。需注意的是:在程序的編碼實現的過程當中,必須制定統一,符合標準的編寫規範。以保證程序的可讀性、易維護性,提供程序的運行效率。一般由前端開發工程師,後端開發工程師完成。
6)項目測試階段—《項目測試報告》
在軟件設計完成後須要通過嚴密、反覆的測試,以發現軟件在設計以及編碼實現後存在的問題並加以糾正。一般由測試工程師測試。
3.軟件維護期
7)軟件部署階段—《軟件部署計劃書》
在項目完成後,把項目部署到服務器上。一般由項目實施經理及實施工程師完成。
8)項目維護階段—《軟件問題/修改報告》
是軟件生命週期中持續時間最長的階段,根據軟件的運行狀況,糾正軟件產品出現的錯誤,以及對軟件進行適當的修改,以適應新的要求。
以上是對軟件工程的概要解說,歡迎各位捉蟲~