日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

考研复试—软件工程(一)

發布時間:2023/12/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 考研复试—软件工程(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

軟件工程(一)

1、什么是軟件工程?目前有哪幾種主要的軟件工程方法?
概括地說,軟件工程是指導計算機軟件開發和維護的一門工程學科,采用工程的概念、原理、技術、和方法來開發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,以經濟地開發出高質量的軟件并有效地維護它,這就是軟件工程。它涉及程序設計語言、數據庫、軟件開發工具、系統平臺、標準、設計模式等方面。
主要有傳統方法也稱為經典軟件工程方法或生命周期方法或結構化范型和面向對象方法。
2、軟件的生命周期?
軟件生命周期又稱為軟件生存周期或系統開發生命周期,是軟件的產生直到報廢的生命周期。軟件生存周期包括:
(1)問題定義:弄清“用戶需要計算機解決什么樣的問題”,提出“系統目標和范圍的說明”,提交用戶審查和確認。
(2)可行性分析:把待開發系統的目標以明確的語言描述出來,并從經濟、技術、法律等多個方面進行可行性分析。
(3)需求分析:弄清用戶對軟件系統的全部需求,編寫需求規格說明書和初步的用戶手冊,提交評審。
(4)維護:改正性維護(由于開發測試的不徹底,不完全),適應性維護(適應環境變化),完善性維護(使用過程中提出的一些建設性意見),預防性維護(改善軟件系統的可維護性和可靠性)。
3、軟件過程
軟件生命周期所涉及的一系列相關過程,是指一套關于項目的階段、狀態、方法、技術和開發、維護軟件的人員以及相關Artifacts(計劃、文檔、模型、編碼、測試、手冊等)組成。包含基本過程類、支持過程類、組織過程類。
(1)基本過程類包括獲取過程、供應過程、開發過程、運作過程、維護過程和管理過程。
(2)支持過程類包括文檔過程、配置管理過程、質量保證過程、驗證過程、確認過程、聯合評審過程、審計過程以及問題解決過程。
(3)組織過程類包括基礎設施過程、改進過程、培訓過程。
4、軟件需求分析的任務是什么?有哪些主要步驟?
需求分析的基本任務是深入描述軟件的功能和性能、確定軟件設計的約束和軟件同其它系統元素的接口細節、定義軟件的其他有效性需求,總之,需求分析的任務就是借助于當前系統的邏輯模型導出目標系統的邏輯模型,解決目標系統的“做什么”的問題。
主要步驟:
1>問題識別
(1)功能需求:明確所開發的軟件必須具備什么樣的功能。
(2)性能需求:明確待開發的軟件的技術性能指標。
(3)環境需求:明確軟件運行時所需要的軟、硬件的要求。
(4)用戶界面需求:明確人機交互方式、輸入輸出數據格式。
2>分析與綜合,導出軟件的邏輯模型
分析人員對獲取的需求,進行一致性的分析檢查,在分析、綜合中逐步細化軟件功能,劃分成各個子功能。用圖文結合的形式,建立起新系統的邏輯模型。
3>編寫文檔
(1)編寫“需求規格說明書”,把雙方共同的理解與分析結果用規范的方式描述出來,作為今后各項工作的基礎。
(2)編寫初步用戶使用手冊,著重反映被開發軟件的用戶功能界面和用戶使用的具體要求,用戶手冊能強制分析人員從用戶使用的觀點考慮軟件。
(3)編寫確認測試計劃,作為今后確認和驗收的依據。
(4)修改完善軟件開發計劃。在需求分析階段對待開發的系統有了更進一步的了解,所以能更準確地估計開發成本、進度及資源要求,因此對原計劃要進行適當修正。
5、軟件工程模型
常見軟件工程模型如下:
(1)瀑布模型:將軟件生命周期中的各個活動規定為線性連接的模型,包括需求分析、設計、編碼、測試、運行與維護,由前至后、相互銜接的固定順序,如同瀑布流水逐級下落。

瀑布模型是以文檔作為驅動、適合于軟件需求很明確的軟件項目的模型。
(2)V模型:
瀑布模型的一個變體,提供了一種驗證確認活動應用于早期軟件工程工作中的方法。

瀑布模型的優點:(1)容易理解,管理成本低;(2)強調開發的階段性早期計劃及需求調查和產品測試。
瀑布模型的缺點:(1)客戶必須能夠完整、正確和清晰地表達他們的需要;(2)開始2個或3個階段,很難評估真正的進度;(3)項目結束時,出現大量的集成和測試工作;(4)需求或設計中的錯誤往往只有到了項目后期才能夠被發現,對于項目風險的控制能力較弱,從而導致項目常常延期完成,開發費用超出預算。
(3)增量模型
融合了瀑布模型的基本成分和原型實現的迭代特征,它假設可以將需求分段為一系列增量產品,每一增量可以分別開發。

使用增量模型,第1個增量往往是核心的產品。客戶對每個增量的使用和評估都作為下一個增量發布的新特征和功能,這個過程在每一個增量發布后不斷重復,直到產生了最終的完善產品。增量模型強調每一個增量均發布一個可操作的產品。
增量模型的優點:(1)容易理解,管理成本低;(2)強調開發的階段性早期計劃及需求調查和產品測試;(3)第一個可交付版本所需要的成本和時間很少;(4)開發由增量表示的小系統所承擔的風險不大;(5)減少用戶需求的變更;(6)運行增量投資,即在項目開始時,可以僅對一個或兩個增量投資。
增量模型的缺點:(1)如果沒有對用戶的變更需求進行規劃,那么產生的初始增量可能會造成后來增量的不穩定;(2)如果需求不想早期思考的那樣穩定和完整,那么一些增量就可能需要重新開發,重新發布;(3)管理發生的成本、進度和配置的復雜性可能會超出組織的能力。
(4)演化模型:
是迭代的過程,軟件開發人員能逐步開發出更完整的軟件版本,適用于軟件需求缺乏準確認識的情況,典型的演化模型有原型模型和螺旋模型。
1>演化模型之原型模型:是預期系統的一個可執行版本,反映了系統性的一個選定的子集,一個原型不必滿足目標軟件的所有約束,目的是能快速、低成本地構建原型。

原型模型開始于溝通,其目的是定義軟件的總體目標,標識需求,然后快速制定原型開發的計劃,確定原型的目標和范圍,采用快速射擊的方式對其進行建模,并構建原型。
根據原型的目的,可分為三種:(1)探索型原型:目的是弄清目標的要求,確定所希望的特性,并探討多種方案的可行性;(2)實驗型原型:目的是驗證方案或算法的合理性,是在大規模開發和實現前,用于考查方案是否合適、規格說明是否可靠等;(3)演化型模型:目的是將原型作為目標系統的一部分,通過對原型的多次改進,逐步將原型演化成最終的目標系統。
**2>演化型模型之螺旋模型:**將瀑布模型與演化模型結合起來,加入了兩種模型均忽略的風險分析,彌補了這兩種模型的不足。螺旋模型將開發過程分為幾個螺旋周期,每個螺旋周期大致和瀑布模型相符合:

螺旋模型強調風險分析,使得開發人員和用戶對每個演化層出現的風險有所了解,從而做出應有的反應。因此,該模型特別適用于龐大、復雜并且具有高風險的系統。
(5)噴泉模型
一種以用戶需求為動力,以對象作為驅動的模型,適合于面向對象的開發方法。它克服了瀑布模型不支持軟件重用和多項開發活動集成的局限性,噴泉模型使開發過程具有迭代性和無間隙性。

有點:提高軟件項目的開發效率,節省開發時間。
缺點:開發階段是重疊的,開發過程中需要大量的開發人員,不利于項目的管理。需要嚴格的管理文檔,使得審核的難度加大。
6、簡述結構化分析、設計的要點:
結構化分析方法適合于數據處理類型軟件的需求分析。其要點是“自頂向下”地開發系統由整體到個組成部分,由表及里,由抽象到具體,逐步求精。
(1)模塊化(2)有頂向下,逐步求精(3)上層模塊分解為下層模塊,有三種不同的結構形式,即順序結構,選擇結構和循環結構。

總結

以上是生活随笔為你收集整理的考研复试—软件工程(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。