一 、乙個軟體工程師的軟體工程知識技能水平高低主要體現在哪些方面
1、程式語言和演算法能力
程式語言是軟體工程師的必備節能,不同方向的開發需要使用到不同的程式語言,因此軟體工程師應該對各種程式語言都有一定的了解,同時要有至少兩門能夠熟練掌握的語言,並且 能深入理解各種程式設計思想,從而為以後的軟體開發奠定堅實基礎。
2、領域知識
不同開發領域需要掌握不同的知識架構。比如大資料軟體工程師往往需要掌握hadoop、spark平台的使用,而web開發工程師往往還需要掌握前後端開發技術,包括一系列web開發框架的使用等等。
3、設計能力
乙個優秀的軟體工程師不僅需要專業的技能,還需要有一定的設計能力,這樣開發出來的產品才會收到大眾的歡迎,從而獲得廣闊的市場。
4、團隊協作能力
軟體開發往往是乙個團隊協作。因此,作為軟體工程師就要具備一定的團隊協作能力,來保證每個人都負責專門的工作。
一、選擇題
1、以下哪個不是詳細設計中常用的圖形描述工具 ( a )
a、資料流圖 b、程式流圖 c、盒圖(n-s圖) d、問題分析圖(pad)
解析:在軟體詳細設計階段,常用的圖形描述工具有程式流程圖,盒圖(ns 圖)和問題分析圖(pad)
2、軟體設計包括 (
d)兩個階段。
a、介面設計和結構設計 b、資料設計和概要設計 c、結構設計和過程設計 d、概要設計和詳細設計
解析:軟體設計包括的兩個階段:
3、耦合的強弱取決於(a)。
a. 模組間介面的複雜程度
b. 呼叫模組的方式
c. 通過介面的資訊
d. 模組內部各個元素彼此之間的緊密結合程度
解析:耦合性(coupling),也叫耦合度,是對模組間關聯程度的度量。耦合的強弱取決於模組間介面的複雜性、呼叫模組的方式以及通過介面傳送資料的多少。模組間的耦合度是指模組之間的依賴關係,包括控制關係、呼叫關係、資料傳遞關係。模組間聯絡越多,其耦合性越強,同時表明其獨立性越差( 降低耦合性,可以提高其獨立性)。軟體設計中通常用耦合度和內聚度作為衡量模組獨立程度的標準。劃分模組的乙個準則就是高內聚低耦合。
4、 程式的三種基本控制結構是( b)。
a. 過程、子程式和分程式 b. 順序、選擇和迴圈
c. 遞迴、迭代和回溯 d. 呼叫、返回和轉移
解析:程式的三種基本控制結構 :順序結構、選擇結構、迴圈結構
5、面向資料流的軟體設計方法,一般是把資料流圖中資料流劃分為(b),再將資料流圖對映為軟體結構。
a、資料流和事務流 b、交換流和事務流
c、資訊流和控制流 d、交換流和資料流
解析:面向資料流的設計方法把資料流轉換成軟體結構,資料流的型別決定了轉換的方法。有兩種型別的資料流:變換流和事務流。
二、簡答題
1、什麼叫軟體設計?
軟體設計是從軟體需求規格說明書出發,根據需求分析階段確定的功能設計軟體系統的整體結構、劃分功能模組、確定每個模組的實現演算法以及編寫具體的**,形成軟體的具體設計方案。
2、計算機軟體的開發經過哪三個大階段?
三個階段:定義、開發、維護
3、軟體需求分析的任務是什麼?
需求分析的任務是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰、 具體的要求。
需求分析的任務包括以下幾方面:
4、用例圖的作用
用例圖是外部參與者所能觀察到的系統功能的模型圖。由一組用例、參與者及它們之間的關係組成。主要用於對系統、子系統或類的功能行為進行建模。
5、uml中的關係有哪些
依賴、類屬、關聯、實現、組合和聚合
三、名詞解釋
1、重構
就是通過調整程式**改善軟體的質量、效能,使其程式的設計模式和架構更趨合理,提高軟體的擴充套件性和維護性。
2、多型
在物件導向語言中,介面的多種不同的實現方式即為多型。多型性是允許你將父物件設定成為乙個或更多的他的子物件相等的技術,賦值之後,父物件就可以根據當前賦值給它的子物件的特性以不同的方式運作。
3、可修改性
可修改性描述了程式能夠被正確修改的難易程度。乙個可修改的程式應當是可理解的、通用的、簡單的、靈活的。
4、模組化
模組化是指解決乙個複雜問題時自頂向下逐層把系統劃分成若干模組的過程,有多種屬性,分別反映其內部特性。
5、抽象
抽象是從眾多的事物中抽取出共同的、本質性的特徵,而捨棄其非本質的特徵。抽象可以遮蔽差異性,對於使用者來說,呼叫的物件都一樣,他並不關心你的具體實現。
四、分析題
1、假設一家工廠的採購部每天需要一張定貨報表,報表按零件編號排序,表中列出所有需要再次定貨的零件。對於每個需要再次定貨的零件應該列出下述資料:零件編號,零件名稱,定貨數量,目前**,主要**者,次要**者。零件入庫或出庫稱為事務,通過放在倉庫中的crt終端把事務報告給定貨系統。當某種零件的庫存數量少於庫存量臨界值時就應該再次定貨。要求:畫出系統的資料流圖。
如何評測軟體工程知識技能水平?
如何測評軟體工程知識技能水平 1.程式設計能力 對乙個給定的問題,能快速的用自己掌握的程式語言解決問題,能解決實際問題。當然,擁有良好的程式設計能力也是找到乙個好工作的必備技能。2.具有軟體工程的概念 基礎軟體工程師從事的工作相對於系統分析師和高階程式設計師要單純一些,但是 他們仍然是整個軟體工程中...
如何評測軟體工程知識技能水平?
一 選擇題 1.uml 是軟體開發中的乙個重要工具,它主要應用於哪種軟體開發方法 c a 基於瀑布模型的結構化方法 b 基於需求動態定義的原型化方法 c 基於物件的物件導向的方法 d 基於資料的資料流開發方法 解析 考察uml知識。2.軟體開發中常採用的結構化生命週期方法,由於其特徵而一般稱其為 a...
如何評測軟體工程知識技能水平
通過本學期對高階軟體工程課程的學習,我認為乙個軟體工程師的軟體工程知識技能水平高低主要體現在如下方面 能夠熟練的掌握程式設計師必備的工具 vscode vim git 正規表示式。熟悉程式設計規範。掌握單元測試的方法。熟悉linux環境下程式設計。能夠對業務進行需求分析。掌握策略模式 橋接模式 觀察...