通常情況下,軟體工程師需要具備以下幾個方面的知識結構:
第一:作業系統知識。作業系統知識是軟體工程師必須具備的重要內容,web開發領域可能會使用到windows系列作業系統,大資料和物聯網方向要使用到linux系列作業系統,掌握作業系統的體系結構是進行軟體研發的重要基礎。主要內容包括資源管理、任務排程、併發管理、許可權管理、網路管理等內容。
第二:程式語言和演算法。程式語言是軟體工程師必備的技能,不同方向的開發需要使用到不同的程式語言,比如web開發可能會使用php、python、j**a等語言,而大資料可能會使用j**a、r、scala等語言,而物聯網開發可能會使用到c、c++等程式語言。通常來說,軟體工程師往往需要掌握多門程式語言,以應對不同的開發環境。演算法是軟體工程師的重點知識結構,因為軟體研發說到底就是個數學問題,所以演算法的掌握情況往往能夠決定軟體工程師的成長高度。當然,對於應用級軟體工程師來說,也有可能不會接觸到更多的演算法。
第三:領域知識。不同開發領域需要掌握不同的知識結構,比如大資料軟體工程師往往需要掌握hadoop、spark平台的使用,而web開發工程師往往還需要掌握前後端開發技術,包括一系列web開發框架的使用等等。
一、選擇題
1. 需求分析最終結果是產生(b)
(a.專案開發計畫
b.需求規格說明書
c.設計說明書
d.可行性分析報告
2.軟體開發過程中,需求活動的主要任務是(b)。
(a.給出軟體解決方案
b.定義需求並建立系統模型
c.定義模組演算法
d.給出系統模組結構
3. 內聚是從功能角度來度量模組內的聯絡,按照特定次序執行元素的模組屬於(c)
(a.邏輯內聚
b.時間內聚
c.過程內聚
d.順序內聚
4. 耦合是軟體各個模組間連線的一種度量。一組模組都訪問同一資料結構應屬於(b)方式。
(a.內容耦合
b.公共耦合
c.外部耦合
d.控制耦合
5. 為了提髙模組的獨立性,模組之間最好是(d)
(a.公共耦合
b.控制耦合
c.內容耦合
d.資料耦合
6. 物件導向的主要特徵除唯一性、繼承性、多型性外,還具有(a)
(a.封裝性
b.移植性
c.完整性
d.相容性
7.下列四個軟體可靠性定義中正確的是(d)。
a、軟體可靠性是指軟體在給定的時間隔內,按使用者工求成功執行的概率
b、軟體可靠性是指軟體在給定的時間間隔內,按設計要求成功執行的概率
c、軟體可靠性是指軟體在正式投入執行內,按規定說明書的規定成功執行的概率
d、軟體可靠性是指軟體在給定時間間隔內,按規格說明書的規定成功執行的概率
8.在軟體生命期中,佔工作量比例最大的是(d)。
a、可行性研究 b、建立系統的結構 c、編寫程式 d、維護
9.用於概要設計所採用的描述手段是(b)。
a、dfd b、sc圖(系統結構圖) c、框圖 d、資料結構圖
10.資料庫設計全過程中的關鍵是(b)。
a、分析使用者要求 b、建立概念性資料模型
c、邏輯設計 d、物理設計
11.物件導向設計時,物件資訊的隱藏主要是通過(a)實現的。
a、物件的封裝性 b、子類的繼承性
c、系統模組化 d、模組的可重用
12.下面不屬於軟體工程的基本原則的是(d)。
a、模組化 b、抽象 c、區域性化 d、自頂向上
13.在用物件導向觀點建立起的3種模型中,(b)是最基本、最重要、最核心的。
a、動態模型 b、物件模型 c、功能模型 d、狀態模型
14.結構化分析sa是軟體開發需求分析階段所使用的方法,(b)不是sa所使用的工具。
a.dfd圖 b.pad圖 c.結構化英語 d.判定表
15.在物件導向的設計中,我們應遵循的設計準則除了模組化、抽象、低耦合、高內聚以外,還有(b)
a、 隱藏複雜性 b、 資訊隱藏 c、 即存類的重用 d、 類的開發
16.耦合度也可以分為七級:其中最鬆散的耦合是(a)。
a. 非直接耦合 b. 資料耦合 c. 特徵耦合 d. 控制耦合
二、名詞解釋(
1.設計模式
解答:設計模式是普通物件導向設計問題的解決方案,這類問題以一組互動類的形式出現,使用者根據需要定製這些互動類以形成專門的設計。所有的設計模式均可以從四個方面加以描述:模式名稱、問題描述、解決方案和效果。
2.結構化方法
結構化是一種傳統的軟體開發方法,其總的指導思想是自頂向下、初步求精、單入口、單出口、其基本原則是抽象和功能分解。
三、簡答題
1.模組設計規則:
(解答:(1)改進軟體結構提高模組獨立性。
(2)模組規模應該適中。
(3)深度、寬度、扇出和扇入都應適當。
(4)模組的作用域應該在控制域之內。
(5)力爭降低模組介面的複雜程度。
(6)設計單入口單出口的模組。
(7)模組功能應該可以**。
2. 軟體危機的原因:
(解答:(1)軟體的規模越來越大,結構越來越複雜。
(2)軟體開發管理困難而複雜。
(3)軟體開發費用不斷增加。
(4)軟體開發技術落後。
(5)生產方式落後。
(6)開發工具落後,生產率提高緩慢。
請畫出該新聞管理系統的用例圖。
4. 根據模組的作用範圍與控制範圍的原則,判定a、b兩圖的正確性,並簡單闡述原因。
解答:圖a不滿足作用範圍應與控制範圍的原則,模組f的作用範圍不在控制範圍之內。 圖b的模組設計合理。
控制範圍:是模組本身和他下屬模組的集合。
作用範圍:模組中的乙個判定影響的所有模組的集合。
如何評測軟體工程知識技能水平?
如何測評軟體工程知識技能水平 1.程式設計能力 對乙個給定的問題,能快速的用自己掌握的程式語言解決問題,能解決實際問題。當然,擁有良好的程式設計能力也是找到乙個好工作的必備技能。2.具有軟體工程的概念 基礎軟體工程師從事的工作相對於系統分析師和高階程式設計師要單純一些,但是 他們仍然是整個軟體工程中...
如何評測軟體工程知識技能水平?
一 選擇題 1.uml 是軟體開發中的乙個重要工具,它主要應用於哪種軟體開發方法 c a 基於瀑布模型的結構化方法 b 基於需求動態定義的原型化方法 c 基於物件的物件導向的方法 d 基於資料的資料流開發方法 解析 考察uml知識。2.軟體開發中常採用的結構化生命週期方法,由於其特徵而一般稱其為 a...
如何評測軟體工程知識技能水平
通過本學期對高階軟體工程課程的學習,我認為乙個軟體工程師的軟體工程知識技能水平高低主要體現在如下方面 能夠熟練的掌握程式設計師必備的工具 vscode vim git 正規表示式。熟悉程式設計規範。掌握單元測試的方法。熟悉linux環境下程式設計。能夠對業務進行需求分析。掌握策略模式 橋接模式 觀察...