什麼是軟體工程?
什麼是軟體工程?可能大多數的非計算機的專業的人對軟體工程的概念是比較模糊的,在我沒有接觸it之前我是沒有思考過這個問題的,現在作為乙個準it從業人員,我也現學現賣,也算是給自己做乙個課後總結。
軟體工程是在給定成本、給定時間進度、給定資源的前提下,開發出具有 有效性、可維護性、可重用性、以及可移植性、可追蹤性的軟體產品。
當然任何一件事情都不是一蹴而就的,軟體產品的開發也是一樣的,就像任何乙個產品一樣,也是有生命週期的。
什麼是軟體生命週期?
通俗的來講就是乙個軟體產品從「出生到墳墓」的整個過程,把整個軟體生命週期分為軟乾個時期以及階段,讓得每個時期與階段都有明確的任務,使規模大,結構複雜和管理複雜的軟體產品的開發變得更容易控制和管理。可以將軟體生命週期概括為三個時期、八個階段,並且每個階段都要有定義、工作、審查、形成文件以供交流或是備查,以提高軟體的質量。
1.軟體定義期
1)可行性研究階段—《可行性研究報告》
從技術、經濟、市場、人力、時間、回報率、民族風俗以國家或當地的政策上作為研究基礎,然後確定軟體的開發目標及其可行性。
2)需求分析階段—《軟體需求說明書》
在確定軟體可開發的情況下,對軟體需要實現的各個功能進行詳細的分析。如功能性需求,非功能性需求,搭建的伺服器以及其他。需求分析階段是軟體開發和維護的前提,明確需求分析的目標,同時對需求進行正確深入的分析,進而採用適合的工具對需求進行說明和描述,才能全面並且正確的進行需求分析。需求分析階段是乙個非常重要的階段,也會在整個軟體開發過程中不斷變化和深入的階段,能夠為整個軟體開發專案的成功打下良好的基礎。
2.軟體開發期
3)概要設計階段—《概要設計說明說》
根據需求分析的結果,對整個軟體產品進行設計,如技術選型、資料結構設計、功能模組的劃分等等。通常由專案架構師設計。
4)詳細設計階段—《詳細設計說明書》
根據架構師設計的框架、資料結構、功能模組等設計規劃,詳細設計需要實現的細節、屬性、方法、演算法等等。通常由設計師設計。
5)編碼實現階段—《專案開發進度報告》
將軟體設計的結果轉換成計算機可以執行的程式**。其中,ui設計師配合專案經理設計出效果圖;前端工程師把效果圖轉換成計算機可執行的html、css、js等格式;後端工程師則需要準備專案中需要的資料。需注意的是:在程式的編碼實現的過程中,必須制定統一,符合標準的編寫規範。以保證程式的可讀性、易維護性,提供程式的執行效率。通常由前端開發工程師,後端開發工程師完成。
6)專案測試階段—《專案測試報告》
在軟體設計完成後需要經過嚴密、反覆的測試,以發現軟體在設計以及編碼實現後存在的問題並加以糾正。通常由測試工程師測試。
3.軟體維護期
7)軟體部署階段—《軟體部署計畫書》
在專案完成後,把專案部署到伺服器上。通常由專案實施經理及實施工程師完成。
8)專案維護階段—《軟體問題/修改報告》
是軟體生命週期中持續時間最長的階段,根據軟體的運**況,糾正軟體產品出現的錯誤,以及對軟體進行適當的修改,以適應新的要求。
以上是對軟體工程的概要解說,歡迎各位捉蟲~
初識軟體工程
強烈推薦乙個大神的人工智慧的教程 一 它是什麼?軟體工程是研究和應用如何以系統性的 規範化的 可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來。二 它用來幹什麼?在給定成本 進度的前提下,開發出具有適用性 有效性 可修改性 可靠性 ...
初識軟體工程 《構建之法 現代軟體工程》
每次開學都是乙個新的開始。當看到 軟體工程 這四個字時,既熟悉又陌生,熟悉是因為我的專業就是軟體工程,陌生的是他作為一門課程,我不知如何下手。從老師的推薦中,我選擇了這本 構建之法 現代軟體工程 他向我展現了乙個新的世界,讓我有了新的認知,同時也帶來了新的探索。問題 1.對於剛接觸這方面知識的我們,...
讀《構建之法》 初識軟體工程
對於 構建之法 第95頁阿超所說的程式設計師melvin conway總結的康威規律中所講,軟體系統是給使用者使用的,使用者的需求並不是要看這個機構的內部組織架構圖,而是要解決使用者的問題。乙個合適的團隊結構,能更大的改進交流的效率,讓團隊更能把注意力集中在最主要的目標 解決使用者需求上面。由此可以...