軟體工程複試知識

2021-10-22 16:59:34 字數 2316 閱讀 3949

軟體生命週期:是軟體的產生直到報廢的生命週期,包括:問題定義,可行性分析,需求分析,開發階段,維護。

需求分析的任務:深入描述軟體的功能和效能確定軟體設計的約束和軟體其他系統元素的介面細節

軟體工程模型

1.瀑布模型:軟體生命週期中各個活動規定為線性連線的模型,從前至後,相互銜接的固定順序。像瀑布一樣,前一階段完成後,才能開始後一階段,包括需求分析,設計,編碼,測試,執行與維護。以文件為驅動,適合於軟體需求很明確的軟體專案的模型。

優點:容易理解,管理成本低。 強調開發階段的早期計畫及需求調查和產品測試。

缺點:開始階段難以評估進度,需求和設計的錯誤要後期才能發現

v模型 瀑布模型的變體,提供了驗證確認活動應用於早期軟體工程中的方法

2.快速原型模型

快速原型模型是不帶反饋環的,軟體產品的開發基本上是線性順序進行的,快速原型地本質是快速,原型的使用者是獲知使用者的真正需求

特點1.原型系統已經通過與使用者互動而得到驗證,據此產生的規格說明文件正確地描述了使用者地需求,因此在開發過程中不會因為發現了規格說明文件地錯誤而進行較大地返工

2.開發人員通過建立原型系統已經學到了許多東西,因此在設計和編碼階段發生錯誤地可能性比較小

3.增量模型

增量模型也稱漸增模型。使用增量模型開發軟體時,把軟體產品作為一系列的增量構件來設計、編碼、整合和測試。每個構件由多個相互作用的模組構成,並且能夠完成特定的功能。

優點1.能在較短時間內向使用者提交可完成部分工作地產品

2.逐步增加產品功能可以使使用者有較充裕地時間學習和適應新產品

3.開發順序靈活。 開發人員可以對元件的實現順序進行優先順序排序,先完成需求穩定的核心元件。當元件的優先順序發生變化時,還能及時地對實現順序進行調整

困境1.在每個新的增量構件整合到現有軟體體系結構中,必須不破壞原來已經開發出的產品

2.在開發過程中,需求的變化是不可避免的。增量模型的靈活性可以使其適應這種變化的能力大大優於瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟體過程的控制失去整體性

了解:噴泉模型

噴泉模型主要適用於利用物件導向技術的軟體開發專案,可彌補瀑布模型不支援軟體重用和多項開發活動整合的不足,可使開發過程具有迭代性和無間隙性

螺旋模型

幾種常見設計模式

工廠設計模式

工廠模式分為工廠方法模式和抽象工廠模式。

工廠方法模式:

工廠方法模式分為三種:普通工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。

多個工廠方法模式,是對普通工廠方法模式的改進,在普通工廠方法模式中,如果傳遞的字串出錯,則不能正確建立物件,而多個工廠方法模式是提供多個工廠方法,分別建立物件。

靜態工廠方法模式,將上面的多個工廠方法模式裡的方法置為靜態的,不需要建立例項,直接呼叫即可。

抽象工廠模式

工廠方法模式有乙個問題就是,類的建立依賴工廠類,也就是說,如果想要擴充套件程式,必須對工廠類進行修改,這違背了閉包原則,所以,從設計角度考慮,有一定的問題,如何解決?

那麼這就用到了抽象工廠模式,建立多個工廠類,這樣一旦需要增加新的功能,直接增加新的工廠類就可以了,不需要修改之前的**。

建造者模式

工廠類模式提供的是建立單個類的模式,而建造者模式則是將各種產品集中起來管理,用來建立復合物件,所謂復合物件就是指某個類具有不同的屬性。

介面卡設計模式

介面卡模式是將某個類的介面轉換成客戶端期望的另乙個介面表示,目的是消除由於介面不匹配所造成的的類的相容性問題。主要分三類:類的介面卡模式、物件的介面卡模式、介面的介面卡模式。

白盒測試

語句覆蓋,判定覆蓋,條件覆蓋,判定條件覆蓋,條件組合覆蓋,路徑覆蓋

物件導向和面向過程

面向過程就是分析出解決問題的步驟,然後用函式把這些步驟一步步實現,使用的時候依次呼叫。

物件導向是把構成問題事務分解為各個物件,建立物件不是為了完成某個步驟,而是為了描述某個事務在整個解決問題的步驟中的行為。

軟體工程知識

1.在專案的活 中,乙個專案中時間最長的活動序列決定專案的最短工期。活動最早什麼時候可以開始?前面的最早完成後 時間最長 就開始。活動最多可以晚開始幾天而不影響整個專案的進度?如果該活動在關鍵路徑上的話,鬆弛時間為0 如果不在關鍵路徑上的話,用關鍵路徑的長度減去包含該活動的最長路徑的長度。2.軟體變...

python軟體工程知識

軟體工程知識 3.1 程式設計過程中,常用偽 來 思考 乙個程式,在將偽 程式轉換成python程式。3.2 所有python程式都可以給予6類控制結構來建立 順序,if,if else,if elif else,while,for 不同控制結構可採用2種方式連線,即控制結構堆疊和巢狀。3.3 在程...

某學院軟體工程複試回憶總結

複試300分,筆試 100分,面試200分 50分 英語 120分 專業課 30分 儀容儀表 總分800分 四個部分 1.選擇題 2.判斷題 3.名詞解釋題 4.簡答題 1.選擇題 30分 比較基礎 實用軟體工程 c 題目都有,但不難只記得一題.pad圖應用於軟體開發哪個階段 需求分析階段 2.判斷...