① 什麼是軟體工程過程
軟體工程過程即軟體過程,為一個為建造高質量軟體所需完成的任務的框架,即形成軟體產品的一系列步驟,包括中間產品、資源、角色及過程中採取的方法、工具等范疇。
軟體過程主要針對軟體生產和管理進行研究。為了獲得滿足工程目標的軟體,不僅涉及工程開發,而且還涉及工程支持和工程管理。
對於一個特定的項目,可以通過剪裁過程定義所需的活動和任務,並可使活動並發執行。與軟體有關的單位,根據需要和目標,可採用不同的過程、活動和任務。
(1)軟體工程過程考試擴展閱讀:
軟體工程過程的分類:
軟體過程可概括為三類:基本過程類、支持過程類和組織過程類。
1、基本過程類:包括獲取過程、供應過程、開發過程、運作過程,維護過程和管理過程。
2、支持過程類:包括文檔過程、配置管理過程、質量保證過程、驗證過程、確認過程、聯合評審過程、審計過程以及問題解決過程。
3、組織過程類:包括基礎設施過程、改進過程以及培訓過程。
參考資料來源:網路-軟體工程過程
② 軟體工程師怎麼考
軟體工程師證書,是有社會培訓機構通過培訓考核發給的有關證書。與國家計算機軟體水平資格考試不一樣。
如JAVA如件工程師,其培訓內容包括:初級部分:
1. Java 面向對象程序設計、Java API使用、數據結構及演算法基礎、Java高級類特性、異常處理;
2. AWT及Swing圖形程序設計、流、網路程序設計、對象序列化、Applet、多線程程序設計、Java應用國際化基礎;
3. Java桌面系統項目開發;
4. Java編程基礎提高課程:反射機制、設計模式(I)、正則表達式,Java SE5.0新特性等;
5. 基於Oracle的資料庫開發及管理、資料庫設計、標准SQL、PL/SQL編程;
6. JDBC、JSP2.0、Servlet2.4、JavaBean編程;Tomcat伺服器使用、Jbuilder及Eclipse 等集成開發環境;
7. Linux操作系統中的Java程序開發、Linux系統管理;
8. Java Web編程提高課程:JDBC進階、高效分頁處理、過濾器使用技巧、Struts中動態表單驗證、DispatchForm等;高級部分
1. MVC設計模式、Struts架構核心工作機制、國際化、驗證框架、Struts Taglib、ORM基礎、基於Hibernate的企業級應用;
2. JavaME手機游戲設計、界面程序設計、資料庫程序設計、手機簡訊、多媒體簡訊(彩信)開發;
3 .JavaEE核心技術、XML、Web Service、異構系統整合、分布式應用開發、WebLogic和JBoss等應用伺服器;
4 .CMM、UML與系統建模和設計、Rational Rose、軟體工程和軟體過程模型、版本控制及設計模式;
6. Java 企業級應用開發提高課程:Hibernate使用技巧、設計模式(II)、Spring編程入門、提高Java EE應用的性能;
.NET程序設計
.NET架構、.NET桌面和Web程序設計、.NET與JavaEE平台應用的整合;職業素質IT職業規劃、溝通技巧、團隊合作、專業技術規范、面試技巧等職業技能培訓。
完成以上培訓課程後,通過考核就可以獲得培訓機構頒發的合格證書。
現在比較吃香的是JAVA,特別是J2EE,未來3G出來後,手機編程將成為熱點,J2EE當然就會很吃香了。
關於證書的權威性,建議你要去知名的培訓機構去,最好是像SUN這類國際大公司有關認證所指定的培訓機構,這樣權威性高些。
一般來講,軟體公司是非常喜歡通過了軟體工程師的人員,學歷對他們來說並不重要,而重要的是能力。
③ 軟體工程期末考試答案
一. 簡答題:
1.軟體工程的定義 P4
答:軟體工程師一門工程學科,涉及軟體生成的各個方面,從最初的系統描述一直到使用後的系統維護,都屬於其學科範疇。
2.軟體工程所面臨的主要問題 P3表格
答:多樣性的挑戰:必須開發出新技術,製作可靠的軟體,從而足以靈活應對這種多樣性。
交付上的挑戰:在不損及系統質量的前提下,縮短大型、復雜系統的移交時間。
信任的挑戰:研究能說明軟體可信的技術。
3.社會技術系統定義及主要特徵 P12-13
答:定義:一個包含有人、軟體和硬體在內的系統。
特徵:它們都有其整體特性
他們通常是不確定的
系統支持機構目標的程度和范圍不僅僅依賴於系統本身
4.瀑布模型的概念及其包含階段 P39-40
答:概念:這個模型採用一些基本的過程活動,即描述、開發、有效性驗證和進化,並且使 用單獨的過程階段(如需求描述、軟體設計、實現和測試等階段)表現這些活動
包含階段:需求分析和定義、系統和軟體設計、實現和單元測試、集成和系統測試、運行和維護
5.增量式開發的概念 P43
答:增量式開發是一種集中了這些模型的優點的體重綜合方法。每一步增量實現了一個或多個最終用戶功能。每一步增量包含所有早期的已開發的功能集加上一些新的功能;系統在逐步累積的增量中增長。就是一步一步漸增式的開發。
6.軟體工程的四個基本過程活動 P38
答:軟體描述、軟體設計和實現、軟體有效性驗證、軟體進化
7.介紹軟體工程的功能需求,非功能需求和領域需求 P73
答:功能需求:包括對系統應該提供的服務、如何對輸入作出反應以及系統在特定條件下的行為的描述。在某些情況下,功能需求可能還需明確聲明系統不應該做什麼。
非功能需求:對系統提供的服務或功能給出的約束。包括時間約束、開發過程的約束、標准等。非功能需求常用於整個系統。通常不用在單個系統或服務中。
領域需求:這是來自系統的應用領域的需求,反應了該領域的特點。他們也可能是功能需求或非公能需求。
8.客戶機/伺服器模型及優缺點 P152-153
答: 客戶機/伺服器體系結構的模型是一個分布式系統模型,系統由一組服務及相關的伺服器組成,客戶機訪問並使用這些服務。
優點:它是一個分布式體系結構。由許多分布式處理器構成網路系統可提供更有效的使用。添加一台伺服器或更新伺服器很容易而且是透明的,不會影響系統的其他部分。
缺點:在系統中集成一台伺服器需要改變現存的客戶機和伺服器以便獲得性能提升。要為每個伺服器建立專門的數據模型以便優化其性能。
9.分層模型及優缺點 P153-154
答: 把系統組織成一系列的層次,每一層提供一組服務。每一層定義一個抽象機,每個抽象機是由其下層的源機的代碼構成的。
優點:支持系統的增量式開發。抽象機轉換到其他機器上實現比較容易。
缺點:頂層上的用戶服務可能會需要穿過其相鄰層來獲取由更低層所提供的服務。性能也是一個問題。
10.數據處理系統及特點 P181
答:系統是以數據為中心的,它們的資料庫要比系統本身大很多個數量級。
特點:是批處理系統,數據的輸入和輸出時成批地從文件或資料庫中取出,也是成批地存入文件或資料庫中的,而不是對用戶終端進行輸入和輸出。
11.編譯器一般體系結構中包含的組件 P188-189
答:詞法分析器、符號表、語法分析器、語法樹、語義分析器、代碼生成器。
12.面向對象設計中,並發對象的實現方式和工作方式 P194-195
答:實現方式與工作方式:
伺服器 對象被實現為一個並行進程,它的方法對應為定義的對象操作。在收到外部時間後方法被啟動,方法的執行與其他對象上的方法是並行的。當對象完成了自身的操作時,對象中止,等待進一步的服務請求。
主動對象 對象狀態的改變可以來自對象內部操作的執行。代表對象的進程不停地執行這些操作,從不掛起。
13.用戶界面設計過程中的核心活動 P230
答:用戶分析:理解用戶所做的任務、工作環境、使用的其他系統、如何在工作中與他人交互等。
系統原型開發:開發原型系統並展示給用戶看,讓他們指導界面的進化。
界面評估:一個更正式的評估活動,在評估中收集有關用戶對界面的真實體驗信息。
14.極限編程適合敏捷方法原則 P244
答:(1)增量式開發時通過系統的小的頻繁發布的版本來支持的,其間所採用的需求描述方法是基於客戶情節或腳本的,這樣的客戶情節或腳本可以成為過程規劃的根據。
(2)客戶的參與是通過全時僱傭到開發團隊的方式。客戶代表參與開發並負責定義系統的接受測試。
(3)人是通過結對編程、集體對系統代碼所有權、可以忍受的開發過程而無需超頻的工作小時來運作的。
(4)變更是通過經常性的系統版本、測試優先的開發以及連續的集成來支持的。
通過持續的再分解來改善代碼質量並使用不預期系統將來的變更的簡單設計,來支持簡潔性的維護。
15.極限編程測試的關鍵特性 P246
答: XP當中的測試的關鍵特性:
(1)測試優先的開發。(2)來自腳本的增量式測試開發。
(3)用戶參與到測試開發和有效性驗證中。(4)自動測試系統的使用。
16.軟體原型在軟體開發過程中的使用方式
答:(1)在需求工程過程中,原型可以幫助導出系統需求並驗證系統需求的有效性。
(2)在系統設計階段,原型可以用來探索特殊的軟體解決方案和支持用戶界面設計。
(3)在測試階段,原型可以用來對准備移交給客戶的系統運行背對背的測試。
17.在規劃軟體復用時需要考慮的相關約束
答:軟體開發進度表 所預計的軟體生命期 開發團隊的背景,技術和經驗
軟體的危險程度和它的非功能性需求
應用領域 系統運行平台
18.在集成商業限制系統中面臨的問題
答:對功能和性能缺乏控制
商業現成系統間的互操作問題
無法控制系統的進化
COTS產品廠商的支持
19.組件與對象之間有什麼區別
答:組件是可部署的實體
組件不定義類型
組件實現是不透明的
組件是獨立於語言的
組件是標准化的
20.基於組件的軟體開發過程與傳統的軟體開發過程有什麼不同
答:(1)最初對用戶需求的開發只需要是概要性的而不用十分詳細,且鼓勵信息持有者在定
義他們的需求時盡可能地靈活。
(2)在過程的早期階段根據可利用的組件來細化和修改需求。
(3)在系統體系結構設計完成後,會有一個進一步的組件搜索及設計精煉的活動。
(4)開發就是將已發現的組件集成在一起的組成過程。
21.列舉軟體維護費用高的原因
答:團隊穩定性,合同責任 人員技術水平 程序年齡和結構
22.對軟體可維護性評估有用的過程度量包括哪些
答:糾正性維護請求的數目
影響分析所需的平均時間
實現一個變更請求的平均時間
突出的變更請求的數目
23.系統再工程過程中的行為有哪些
答:源代碼轉換 反向工程 程序結構改善 程序模塊化 數據再工程
④ 軟體工程試題,誰知道答案
一, 單項選擇題(每題1分,共10分):
1. ( ) 計算機系統就是:
A) 主機,顯示器,硬碟,軟碟機,列印機等.
B) CPU,存儲器,控制器,I/O介面及設備.
C) 計算機硬體系統和軟體系統.
D) 計算機及其應用系統.
2.( )產生軟體危機的原因主要與兩個方面的問題有關:
A) 軟體在計算機中很難識別,存在磁碟中也看不到.
B) 軟體設計對人的智商要求很高,也要求很高的資金投入.
C) 軟體產品本身的特點與其它工業產品不一樣,而且在軟體的開發和維護過程中用
的方法不正確.
D) 軟體很難理解,硬體也很復雜.
3.( )軟體開發瀑布模型中的軟體定義時期各個階段依次是:
A) 可行性研究,問題定義,需求分析.
B) 問題定義,可行性研究,需求分析.
C) 可行性研究,需求分析,問題定義.
D) 以上順序都不對.
4.( )軟體維護的四類維護活動是:
A) 改正性維護,適應性維護,完善性維護和預防性維護.
B) 適應性維護,完善性維護,搶救性維護和輔助性維護.
C) 改正性維護,適應性維護,完善性維護和輔助性維護.
D) 適應性維護,完善性維護,搶救性維護和預防性維護.
5.( ) 可行性研究主要從以下幾個方面進行研究:
A) 技術可行性,經濟可行性,操作可行性.
B) 技術可行性,經濟可行性,系統可行性.
C) 經濟可行性,系統可行性,操作可行性.
D) 經濟可行性,系統可行性,時間可行性.
6.( ) 系統邏輯模型主要由以下內容:
A) 數據流程圖,數據字典,簡要的演算法描述.
B) 程序流程圖,Jackson圖,IPO圖.
C) 數據流程圖,數據字典,ER圖.
D) Jackson圖,ER圖,IPO圖.
7. ( ) 耦合是對軟體不同模塊之間互連程度的度量.各種耦合按從強到弱排列如下:
A) 內容耦合,控制耦合,數據耦合,公共環境耦合.
B) 內容耦合,控制耦合,公共環境耦合,數據耦合.
C) 內容耦合,公共環境耦合,控制耦合,數據耦合.
D) 控制耦合,內容耦合,數據耦合,公共環境耦合.
8. ( ) 在詳細設計階段所使用到的設計工具是:
A) 程序流程圖,PAD圖,N-S圖,HIPO圖,判定表,判定樹.
B) 數據流程圖,Yourdon 圖,程序流程圖,PAD圖,N-S圖,HIPO圖.
C) 判定表,判定樹,數據流程圖,系統流程圖,程序流程圖,PAD圖,N-S圖.
D) 判定表,判定樹,數據流程圖,系統流程圖,程序流程圖,層次圖.
9. ( ) 按照軟體工程的原則,模塊的作用域和模塊的控制域之間的關系是:
A) 模塊的作用域應在模塊的控制域之內.
B) 模塊的控制域應在模塊的作用域之內.
C) 模塊的控制域與模塊的作用域互相獨立.
D) 以上說法都不對.
10. ( ) 包含所有可能情況的測試稱為窮盡測試.下面結論成立的是:
A) 只要對每種可能的情況都進行測試,就可以得出程序是否符合要求的結論.
B) 一般來說對於黑盒測試,窮盡測試是不可能作到的.
C) 一般來說對於白盒測試,窮盡測試是不可能作到的.
D) 在白盒測試和黑盒測試這兩個方法中,存在某一個是可以進行窮盡測試的.
二, 填空題(每題1分,共10分)
1.軟體危機是指在( )所遇到的一系列嚴重問題.
2.在軟體開發的各個階段經過階段評審後的文檔和程序代碼成為( ).
3.結構程序設計的基本思想是( ).
4.總體設計的第二項任務是設計軟體的結構,即確定( ).
5.描繪物理系統的傳統工具是( ).
6.如果模塊內所有元素都使用同一個輸入數據和產生同一個輸出,稱為( )內聚.
7.數據流程圖按照信息流的類型主要分為( )兩種.
8.( )年,( )和( )證明了SISO程序只需要三種基本控制結構.
9. 從應用特點分類,高級語言主要分為( ),( )和( )三類.
10. 黑盒測試又稱為( ),白盒測試也稱為( ).
三, 多項選擇題(以下各題均有兩個以上的正確答案.將正確答案的標號填入各題前面括弧
內,注意多選或少選該題均不得分,每題2分,共20分):
1.( )軟體開發各個階段所耗費的時間或工作量是:
A) 可行性研究佔5%;
B) 綜合測試佔40%;
C) 設計階段在所有開發階段所佔的比例最大.
D) 編碼和單元測試佔20%.
E) 以上說法都不對.
2.( )對軟體開發與維護,以下觀點是正確的:
A) 為了加快開發速度,可以一邊寫程序,一邊設計文檔.
B) 對於軟體而言,程序和軟體配置成分是同等重要的,不能重此偏0.
C) 把軟體漫長的生命周期劃分為若干個階段的出發點是降低開發的困難程度和
簡化復雜性.
D) 可行性研究的主要任務就是確定軟體項目的工程規模和目標.
E) 面向對象的方法學比傳統的軟體開發方法開發軟體容易,開發效率提高.
3.( ) 對於以下圖形工具的作用,
A) 數據流程圖和數據字典共同構成軟體的高層數據模型.
B) 層次圖是用來描述軟體結構的,不能用於描述數據結構.
C) IPO圖能方便地描繪輸入數據,對數據的處理和輸出數據的關系,它是美國微
軟公司發明並逐漸發展完善起來的.
D) ER圖描述現實世界中的實體,不涉及這些實體在系統中的實現方法.
E) Yourdon圖實際上也是結構圖,所以它與層次方框圖是等價的.
4.( ) 面向數據結構的設計方法有:
A) Jackson方法.
B) Warnier方法.
C) Halstead方法.
D) PAD方法.
E) G. M y e r s方法.
5.( )以下測試方法是白盒測試方法的是:
A) 判定覆蓋和邊界值分析法.
B) 等價劃分和錯誤推測法.
C) 路徑覆蓋和判定/條件覆蓋法.
D) 條件組合覆蓋和語句覆蓋法.
E) 條件覆蓋和錯誤推測法.
6.( )以下關於集成測試的論述,正確的是:
A) 先對每個模塊分別測試,然後統一組裝成軟體系統的方法稱為非漸增式測試.
B) 自頂向下的集成測試本質上是漸增式測試方法.
C) 存根模塊是漸增式測試方法中使用的,在非漸增式測試中也用不到樁模塊.
D) 一般來說,存根模塊和樁模塊在用過以後,不會作為軟體的正式模塊而存在.
E) 由於是對程序進行測試,測試方案的設計一般在詳細設計階段完成以後才進行.
7. ( ) 對於程序設計,正確的陳述是:
A) 為了減少程序的長度,最好不要在程序中增加註釋.
B) 變數名以簡潔為好,名字太長了難以理解,增加了程序的復雜性.
C) 程序語句要求體現層次性,以使結構清晰明顯.
D) 數據結構的組織和復雜程度在設計期間確定,但數據說明的風格是在寫程序時確
定的.
E) 對所有的輸入數據都要進行檢驗,以便確定其合法性.
8. ( ) 內聚標志一個模塊內各個元素彼此結合的緊密程度.
A) 內聚是信息隱蔽和局部化概念的自然擴展.理想內聚的模塊只做臆見事情.
B) 一個模塊所包含的任務必須在同一段時間內執行,該模塊的內聚為時間內聚.
C) 一個模塊內的處理元素是相關的,必須以特定次序執行,稱為過程內聚.
D) 順序內聚和功能內聚是高內聚,而偶然內聚和邏輯內聚是低內聚.
E) 時間內聚,通信內聚,過程內聚是中等程度的內聚.
9. ( )McCabe方法對程序復雜程度的定量度量的結果稱為程序的環行復雜度,
其計算公式是:V(G)=m-n+p.
A) 應用McCabe方法的前提是對應的程序圖變換成強連通圖.
B) V(G)代表程序圖G的線性無關環的個數.
C) 一般對於結構化程序,p恆等於1.
D) m是有向圖G中的弧數.
E) n是有向圖G中的節點數.
10.( )詳細設計階段的根本目標是確定應該怎樣具體的實現所要求的系統.
A) 詳細設計階段不具體的編寫程序.
B) 詳細設計階段的設計結果基本決定了最終的程序代碼質量.
C) 詳細設計的目標不僅要邏輯上正確的實現每個模塊的功能,而且對每個模塊的處
理過程也應確保簡明易懂,清晰具體.
D) 詳細設計的關鍵技術是結構程序設計技術.
四, 基本概念題(每題2分,共10分)
1. 軟體工程.
2. 軟體測試.
3. 數據流圖及其組成和作用.
4. 結構化分析方法.
5. 信息隱蔽原理.
五, 敘述分析題:(每題5分,共20分)
1. 試述對用戶要求沒有完整的認識就匆忙著手編寫程序是許多軟體開發工程失敗的主要
原因.
2. 簡述軟體可靠性和可用性的定義,平均無故障時間的計算公式及應用.
3. 簡述軟體重用的定義,范圍和主要技術.
4. 說明軟體測試在軟體開發階段的地位和作用.比較測試和調試的異同點.
六, 設計,作圖,計算題(每題5分,共30分)
1.以下是某系統的數據流程圖,請將其轉換成相應的SC圖.
2. 研究下面的偽碼程序,完成以下問題:
START
INPUT X,N
DIMENSION A(N),F(N)
DO I=1 TO N
INPUT F(I)
END DO
K=0
DO WHILE (KA(K)=0
DO J=1 TO N-K
A(K)=A(K)+F(J)*F(J+K)/(N-K+1)
END DO
PRINT K*X,A(K)
K=K+1
END DO
STOP
A) 畫出等價的控制流程圖,.
B) 判斷是否結構化的,說明理由.
C) 寫出對應的PAD圖.
D) 用McCabe方法計算環行復雜度.
3. 為方便儲戶,某銀行擬開發計算機儲蓄系統.儲戶填寫的存款單或取款單由業務員鍵
入系統.如果是存款,系統記錄存款人姓名,住址,存款類型,存款日期,利率等信
息,並印出存款單給儲戶;如果是取款,系統計算利息並印出利息清單給儲戶.
1)畫出該系統的高層數據流程圖和第二層細化流程圖.
2)對數據流定義數據字典.
4. 某航空公司規定,乘客可以免費托運不超過20公斤的行李.當行李重量超過20公斤
時,對頭等艙的乘客超重部分每公斤收費4元,其它艙的乘客收費6元.對殘疾乘客超重部分
在艙位等次相同的情況下收費減半.用判定表描述行李托運費的處理過程.
5.設計程序,先讀入三個整數值代表一個三角形的三條邊,然後根據這三個值判斷該三
角形屬於不等邊,等腰或等邊三角形中的哪一種.請設計滿足判定/條件覆蓋標準的測試
方案.
6.設模塊RootForSquare(int a,int b,int c,int *x,int *y) 的功能是一元二次方程求根.請使用
等價劃分法來設計測試方案.
⑤ 《軟體工程》試題
第4題 計算機系統就是_____。
A、主機,顯示器,硬碟,軟碟機,列印機等。
B、CPU,存儲器,控制器,I/O介面及設備。
C、計算機硬體系統和軟體系統。
D、計算機及其應用系統。
答案:C