久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

軟件工程復習提綱總結

時間:2019-05-12 02:53:47下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《軟件工程復習提綱總結》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《軟件工程復習提綱總結》。

第一篇:軟件工程復習提綱總結

第1部分:軟件工程概論

要求掌握:

● 軟件的概念,軟件的本質特征是什么?

軟件:是相對硬件而言的,是計算機系統中的程序、數據,及其相關文檔的總稱。軟件的本質是:對人的意識的反映

軟件的特征: 抽象性、智能性、無形性、依附性、復雜性、泛域性、非損性、復制性、演化性 ● 軟件工程概念

軟件工程是采用工程概念、原理、技術和方法來指導計算機軟件開發和維護的工程學科,該學科運用到計算機科學、數學、管理學等原理和方法,遵循系統化的思想,運用工程化方法,指導軟件開發和維護工作。

● 軟件工程提出的原因,軟件危機的主要表現形式

答:

因軟件危機提出了軟件工程

表現形式:◆ 軟件開發不能按照計劃進行控制和完成,普遍存在拖延工期的現象;◆ 軟件開發生產率滿足不了巨大的市場需要;◆ 開發出來的軟件滿足不了用戶的需求;◆ 軟件投資嚴重超出預算;◆ 軟件可靠性和可用性差。

● 軟件工程學科的發展過程,各階段的時間范圍,以及在每一個發展階段突出的特征 軟件工程學科的發展可以粗略劃分為四個時期: 1.軟件工程準備期:20世紀40年代中-60年代末

特征: 程序是軟件的核心內容; 強調程序的藝術化和個性化;軟件概念出現;軟件危機出現。2.軟件工程形成期:20世紀60年代末-80年代中

特征:軟件工程概念出現;沒有形成完整軟件工程學科體系; 以軟件開發方法研究帶動整個軟件工程的發展,出現了典型的結構化方法,JSD方法等經典軟件開發方法;程序設計方法深入研究:程序設計=算法+數據結構;數據結構,操作系統,數據庫技術發展 3.軟件工程發展期:20世紀80年代末-90年代中

特征:軟件需求旺盛,軟件產業形成;微機、網絡等技術出現并飛速發展;軟件開發集成環境; 面向對象方法開始受到重視;文件服務器模式,C/S模式出現。4.軟件工程縱深期:20世紀90年代末-今天

特征: WWW技術出現并趨于成熟; 軟件體系結構; 軟件工程過程 以UML為代表的軟件建模語言和軟件建模技術出現;云計算和物聯網。

● 軟件工程學科的基本內容,在什么時間提升為一級學科?

答:內容:軟件工程理論,軟件工程技術,軟件工程管理,軟件服務工程,在2011年.● 軟件生存期模型,都有哪些形式,每一種模型的特征及優缺點

答:1.瀑布模型 :各階段明確任務、自上而下、順序固定、逐級過渡的結構模式,各階段的聯系就象瀑布流水一樣自上而下、不可逆返。

特點:軟件各階段之間具有順序性和依賴性的觀點;問題放大效應的觀點;推遲實現的觀點;質量保障的觀點

缺點:開發過程不允許往返,缺乏靈活性;在軟件開發出來之前,用戶無法知道軟件的真實面目。2.演化模型

特點:針對事先不能完整地定義需求; 針對用戶的核心需求,開發核心系統;根據用戶的反饋,實施活動的迭代。

優點:解決了瀑布模型不允許階段返回的問題; 適合不能及時確定需求的開發場景;

缺點: 每一個迭代期,仍然以瀑布模型為基礎。3.增量模型

優點:每個階段交付一個可用的產品;減少一個全新產品給客戶帶來的心理上的影響;分階段地交 1 付產品不需要大的資金支出;需求經常變化,增量模型的靈活性使其具有更加優越的適用性。

缺點:需要一個開放的結構,方便構件的加入;增量模型本身就是一個矛盾的名詞。4.螺旋模型:分步推進、逐步深化的螺旋方式

優點:更符合人們的認知規律;容易確定某個軟件產品何時測試完成。

缺點:開發和維護的界限變得不十分清晰;僅適應于大型軟件開發。5.噴泉模型

特點:軟件生存期需要劃分成為多個相對獨立的階段,但各個階段之間的界限并不是十分明確,相鄰階段之間存在明顯的重迭和交叉。6.智能模型

●什么叫軟件工程過程,國際標準化組織規定了有哪些過程?RUP的含義是什么?它有哪些典型特征? 答:軟件工程過程:是指軟件在其生命周期中,一系列相關活動按照確定的次序演繹變化的進程.包括:◆ 獲取過程 ◆ 運作過程 ◆ 供應過程 ◆ 維護過程 ◆ 管理過程

◆ 支持過程◆ 開發過程

◆ 裁剪過程

統一軟件開發過程RUP

時間維:

初始、細化、構建、移交4個階段。

工作維:領域分析、需求分析、系統設計、實現和測試等核心工作。第2部分:軟件建模技術概論

要求掌握: ● 軟件模型的概念

答:軟件模型:是指通過軟件建模語言,對軟件的功能和性能等外特性,軟件的要素和結構,以及軟件的動態行為特性所給出的抽象和規范描述。

● 軟件模型的基本內容

答:1)從軟件反映的側面看軟件模型的內容:功能模型、對象模型、數據模型、過程、交互、狀態、架構、界面。

2)從軟件開發的工作看軟件模型的內容:業務、需求、分析、測試、設計。● UML的中文含義是什么?

答:統一建模語言(Unified Modeling Language)● 在2.0版本之后,UML共定義了哪些圖? 答:

●用例圖、類圖、活動圖、順序圖、狀態圖的畫法,這些圖的作用是什么

答:1.用例圖:用例圖用來描述軟件的功能,作用是: 展現軟件功能;展現軟件使用者和軟件之間的關系;展現軟件功能相互之間的關系。

2.類圖:作用:描述一組類之間的關系。用于結構和靜態建模.3.活動圖:作用:描述活動流過程。

4.順序圖:作用:描述一個交互,強調消息之間的時間順序。

5.狀態圖:作用:描述一個模型要素所處的狀態及其變化。

第3部分:軟件策劃 ● 軟件為什么要進行策劃?

答:軟件策劃的含義:是在開發一個軟件之初,所進行的謀劃、打算和計劃。

工作包括:提出軟件開發的問題;定義和描述問題;可行性分析; 軟件規劃; 軟件計劃。● 可行性分析的主要內容是什么? 答:經濟、技術、社會。● 如何進行軟件規劃?

答: 軟件的背景、環境及性質;軟件的基本需求; 軟件的目標和范圍;軟件的框架和構成; 軟件建設的長期發展設想;軟件開發的近期計劃安排。●如何制定軟件計劃?

答:1.軟件項目總述:包括軟件項目的名稱、項目提出的背景、軟件目標、軟件的性質、范圍、基本需求、基本環境、基礎條件和時限要求等.2.軟件的工作任務:按工作階段,工作任務把分解出來的具體任務列出來。3.軟件的資源需求(1)人力資源:

(2)環境資源:計算機及相關設備、網絡、支撐軟件、場地資金等其他資源 進度計劃

第4部分:軟件需求分析

要求掌握: ● 什么叫軟件需求?

答:需求是指明系統能為用戶做什么,能夠給用戶解決什么問題的說明。它描述了系統能夠給用戶提供什么功能和服務,并且以怎樣方式來完成這些功能和服務,以及的系統性質、行為和特性

● 軟件需求的基本內容

答:總體需求; 功能需求;非功能需求; 環境性需求

● 結構化方法的基本思想,結構化方法用什么工具進行需求分析? 答:模塊化、自頂向下、結構化程序設計的思想

結構化需求模型的主要內容:數據模型:采用E-R圖描述; 功能模型:采用數據流圖描述; 行為模型:采用狀態遷移圖描述。● 掌握用例圖的畫法

泛化關系: 參與者與參與者之間,用例與用例之間存在一般與特殊的泛化關系,例如:

包含關系: 兩個用例之間,一個用例(基用例)的行為要用到另外一個用例(包含用例)的行為。包含關系用依賴關系的<>構造型來表示。

擴展關系:表示基本用例在擴展點要增加新的行為或功能,以擴展到新用例。擴展關系用依賴關系的<>構造型來表示。

● 能夠對一個應用需求采用用例圖進行需求分析

第5部分:軟件設計

● 軟件設計與需求分析有什么區別?

答:軟件設計:是根據需求分析的結果,考慮軟件實現環境,通過對軟件的結構、構件、數據、界面等方面的設計,得到優化的軟件設計方案的工作。

需求分析回答軟件“做什么”,軟件設計回答軟件“怎么做”的問題。

● 軟件體系結構設計的基本內容是什么?

答:軟件體系結構設計:從信息需求中綜合出數據結構、程序結構、接口特征和過程細節。

● 如何進行實體類的設計,類優化有哪些方法?

答:經歷建立業務對象模型、PIM類模型設計和PSM類模型設計等工作。

類優化方法:利用數據庫規范化理論來優化類模型;善用事務模式;根據類的優化準則來優化類模型;去除派生屬性;合并性質相同的屬性; 屬性轉化為類;多對多關聯的優化。● 掌握用事務模式建立類模型的方法

● 掌握用MVC模式進行功能用例設計的方法 ● 掌握以類圖為基礎的數據庫設計方法 ● 能夠對一個應用進行設計工作 第6部分:軟件測試 ● 軟件測試的概念

答:用人工或自動的方法執行并評價軟件產品或其部件的過程,以驗證它是否滿足規格的要求,或是識別期望結果和實際結果之間有誤差別。

● 軟件測試的基本方法(黑盒測試,白盒測試)

答:1)黑盒測試2)白盒測試3)靜態測試4)動態測試 5)人工測試6)自動測試 ● 軟件測試的工作

答:1測試的組織和管理、建立測試隊伍、小組,對測試用例、軟件缺陷、文檔等進行管理; 2 編制測試計劃:編制測試計劃和說明; 3 設計測試用例: 測試實施:按照測試計劃與測試說明的定義對測試對象進行相應的測試,填寫測試報告中相應的表格 5 測試報告分析:定性分析,以檢查測試工作執行狀態; 6 測試評審與報告:提交完整的測試文檔。

****************************************************************************** 6 軟件是計算機系統中的(程序)、數據及其(文檔)的總稱。

軟件的類型按作用可以分為:(系統軟件)、應用軟件和(支撐軟件)三種類型 軟件工程的概念是在(1968)年,在(北大西洋公約組織一次會議)被首次提出來的。下面(B)不是軟件的特征:

A 系統性與復制性 B 有形性與可控性 C 抽象性與智能性 D 依附性與泛域性 下面說法正確的是(B)

A 20世紀50年代提出軟件工程概念 B 20世紀60年代提出軟件工程概念 C 20世紀70年代提出客戶機/服務器技術 D 20世紀80年代軟件工程學科達到成熟 下面(D)不是系統軟件:

A BIOS B Windows C 設備驅動程序 D 辦公軟件

下面(A)不是軟件危機的原因: A:軟件生產能力不足 B:對軟件內涵認識不夠 C:不重視軟件工程化 D:軟件工具落后

從現實生活中找一個例子來說明硬件、軟件和計算機語言的關系。

軟件工程生存周期模型有瀑布模型、(噴泉模型)、螺旋模型和(演化模型)等。UML是(Rational)提出來的,他的中文含義是(統一軟件建模語言)。下面(B)不是軟件生存周期中,某一階段的工作:

A:問題定義 B:程序安裝 C:系統測試 D:軟件設計 下面(A)不屬于RUP的工作:

A:構建 B:測試 C:需求 D:實現 可行性分析包括(經濟)、技術和(社會)幾個方面。對可行性分析而言,正確的是(C):

A:可行性分析有可行和不可行兩種結果 B:投資也就是軟件的開發總成本 C:效益包括經濟效益和社會效益 D:社會可行性也就是軟件操作的可行性 1.軟件需求分析的主要任務是()。

A.給出軟件解決方案

B.給出系統模塊結構 C.定義模塊算法 D.在一個特定的抽象層上建立系統模型

2.為了表達系統的靜態結構,可用的圖形化工具有()。

A.類圖、構件圖、部署圖

B.類圖、狀態圖、順序圖。

C.協作圖、活動圖、PAD圖

D.交互圖、狀態圖、USE CASE圖。

3.主要的項目管理活動包括計劃項目、組織項目、()和終止項目。

協調項目

B.風險管理

C.監督項目

D.控制項目

4.若對象A可以給對象B發送消息,那么()。

A.對象B可以看見對象A

B.對象A可看見對象B C.對象A、B相互不可見

D.對象A、B相互可見

5.軟件設計的主要任務是設計軟件的結構、過程和模塊,其中軟件結構設計的主要任務是要確定()。A.模塊間的操作細節B.模塊間的相似性 C.模塊間的組成關系D.模塊的具體功能 6.隨著軟硬件環境變化而修改軟件的過程是()。

A.校正性維護 B.適應性維護

C.完善性維護

D.預防性維護

7.在系統測試中,()是在一個實際環境中使用真實數據運行系統。

A.驗證測試

B.審計測試

C.確認測試

D.模塊測試 8.當使用DFD對一個工資系統進行建模時,()可以被認定為外部實體。

A.接收工資單的銀行

B.工資系統源代碼程序

C.工資單

D.工資數據庫的維護 9.在UML提供的圖中,()用于描述系統與外部系統及用戶之間的交互。

A.用例圖

B.類圖

C.對象圖

D.部署圖

10.在面向數據流的設計方法中,一般把數據流圖中的數據流劃分為()兩種

A.數據流和事務流B.變換流和數據流

C.變換流和事務流 D.控制流和事務流

二、填空題:

1.如果一個模塊被n個模塊調用,其中直接的上級模塊的個數是m個(m<=n),那么該模塊的扇入數是______個。

2.軟件開發的螺旋模型綜合了瀑布模型和演化模型的優點,還增加了___________。3._________是一項已經定義得很好的工作,是管理有關項目工作的最小的單元。

4.在設計人機界面時用戶技能對用戶進行分類,可分為新手用戶、平均用戶、專家用戶和_______。5.一般在程序起始部分,表明程序用途的注釋是___________。

三、簡答題:

1. 增量模型的主要特點是什么?它有哪些優缺點?

2. 軟件設計中,模塊之間的數據耦合與特征耦合的有何區別?請舉例說明。3. 請簡述UML部署圖的作用,并舉例說明。

4. 簡述類的聚集關系,共享聚集和組合聚集有什么區別,請舉例說明。

四、設計題:

1.請畫出以下系統的分析階段的類圖。一幢有m層樓的大廈中需要一套控制n部電梯的產品,要求n部電梯根據下列約束在樓內移動。C1:每部電梯有m個按鈕,每個按鈕代表一層,當按下按鈕是指示燈亮,電梯駛向相應樓層,當到達樓層時指示燈滅。C2:除最低和最高層外每層樓有兩個按鈕分別指示電梯上行和下行,當這兩個按鈕之一被按下時相應的燈亮,當電梯到達此樓層時燈熄滅,電梯向要求的方向移動。C3:當電梯無升降動作時,關門并停在當前樓層。

2.設計下列偽碼程序的語句覆蓋和基本路徑測試的測試用例。INPUT(A,B,C)IF A>5 THEN X=10 ELSE X=1 IF B>10 THEN Y=20 ELSE Y=2IF C>50 THEN Z=30 ELSE Z=3 3.用戶可以通過電信的計費系統查詢話費,用戶既可以是個人用戶,也可以是集團用戶。查詢由電信計費人員完成。用戶話費查詢包括查詢通話記錄、短消息記錄和月租費,集團用戶還可以查詢集團定制服務費用。請畫出用例圖。

五、應用題:

為方便儲戶,銀行擬開發計算機儲蓄系統。儲戶填寫的存款單或取款單由業務員鍵入系統,如果是存款,系統記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并打印出存款單給儲戶;如果是取款,系統計算利息并印出利息清單給儲戶。

請設計出系統的數據流圖(畫頂層,0層和1層)(10分),軟件結構圖(10分)。

第二篇:《軟件工程》復習提綱

《軟件工程》課程要點

? 每章教學課件中的“本章小結”列出了需要掌握的內容 ? 教學過程中的例題和習題也是課程重點

一、軟件工程與軟件過程概述

1.概念:

(1)軟件的概念(組成成分、作用);

答:計算機軟件是程序、數據和相關文檔的集合;用于實現計算機系統所需要的邏輯方法和控制過程

(2)軟件危機的含義、表現、產生原因(客觀、主觀)

答:計算機軟件開發和維護過程中遇到的一系列嚴重問題。軟件危機的表現:

①對軟件開發成本和進度的估計很不準確 ②已完成的軟件不能滿足用戶需求 ③軟件質量差 ④軟件不可維護

⑤軟件沒有開發文檔

⑥軟件成本在計算機系統總成本中所占的比例逐年上升 ⑦軟件生產率跟不上硬件的發展和計算機迅速普及的趨勢 與軟件的特點有關(客觀原因):

①軟件是計算機系統中的邏輯部件,缺乏“可見性”,管理和控制軟件開發過程相當困難

②軟件在使用期間不存在機械磨損和老化問題,一旦

發現錯誤,通常意味著修改原來的設計,因此軟件

難維護

③軟件規模龐大,程序復雜性增加,需多人分工合作(不

能保證每個人完成的工作合在一起構成一個高質量的大

型軟件系統)

與軟件開發和維護的方法不正確有關(主觀原因): ① 開發無計劃

② 忽視軟件需求分析的重要性 ③ 輕視軟件維護 ④ 無過硬評測手段

⑤ 缺乏有力的開發方法和工具 ⑥ 不重視開發文檔等軟件配置

(3)軟件工程學科包括的內容(三要素)、解決的主要問題 答:(1)軟件工程定義:

1)軟件工程是指導計算機軟件開發和維護的工程學科 2)采用工程化的概念、原理、技術和方法來開發和維護軟件3)將經過時間考驗而證明正確的管理技術和開發技術結合起來,以較經濟的手段開發出高質量的軟件并有效維護它

2)軟件工程方法學的三要素:

①方法:完成軟件開發各項任務的技術方法 ②工具:為方法的高效運用,而提供的自動或半自動的軟件支撐環境 ③過程:為了獲得高質量的軟件所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟

(4)軟件生命周期的含義、組成階段及各階段主要任務

答:軟件生命周期:

一個軟件從定義、開發、運行維護,直到最終被廢棄要經歷一個漫長的時期,這個時期稱為軟件生命周期。

(1)問題定義階段:

通過調研,提出關于問題的性質、工程目標和工程規模的書面報告,并且需要得到客戶的確認。

●回答“要解決的問題是什么?”

●文檔:問題定義報告(2)可行性研究階段:

用最小的代價在盡可能短的時間內確定問題是否能夠解決。① 進一步了解用戶需求 ② 提出若干種可能的系統實現方案

③ 分析每種方案的技術、經濟、社會可行性 ④ 最終確定這項工程的可行性

●回答“是否有行得通的解決方法?” ●文檔:可行性研究報告,項目開發計劃

(3)需求分析階段:

對目標系統提出完整、準確、清晰、具體的要求。① 得出經過用戶確認的系統需求

② 用正式文檔(需求規格說明)準確表達系統需求 回答 “系統必須做什么?” 文檔:需求規格說明書(4)概要設計階段:

①設計系統實現方案

②設計程序的體系結構,即確定程序由哪些模塊

組成以及模塊間的關系。概括地回答“怎樣實現目標系統?”

文檔:概要設計說明書

5)詳細設計階段:設計實現每個模塊功能所需要的算

法和數據結構

回答“應該怎樣具體地實現這個系統?”

文檔:詳細設計說明書(6)編碼和單元測試:

寫出正確的、易理解、易維護的程序模塊代碼;

測試編寫出的每一個模塊

? 文檔:經過測試的程序源代碼、?

程序開發記錄(模塊開發卷宗)

(7)綜合測試階段:通過各種類型的測試(及相應的調試)使軟件達到預定的要求。

?

①集成測試(組裝測試)。?

②驗收測試 ? 測試文檔:

?

測試計劃、詳細測試方案、實際測試結果

(8)軟件維護階段:

通過各種必要的維護活動使系統持久地滿足

用戶的需要。四類維護活動:

改正性維護、適應性維護、完善性維護、預防性維護

文檔:軟件維護申請、軟件修改報告

2.需理解的問題:

(1)軟件與程序的區別和聯系?

答:計算機軟件是程序、數據和相關文檔的集合; 程序:能夠完成特定功能和性能的可執行的指令序列

(2)開發一個軟件項目包括哪些基本的步驟?每一步驟完成哪些工作? 答:

(3)主要的軟件過程模型(生命周期模型)有哪些?各自有什么特點?

答:軟件生命周期模型也稱為軟件過程模型,它直觀地描述了把軟件生命周期劃分成哪些階段及各個階段 的執行順序

主要有:瀑布模型、增量模型、螺旋模型、噴泉模型、統一軟件過程。

(2)瀑布模型的特點

①階段間具有順序性和依賴性

②推遲實現的觀點

③階段質量保證觀點(文檔驅動)

瀑布模型的優點:強迫采用規范方法開發軟件;嚴格規定了各階段提交的文檔;各階段結束前必須經過技術審查和管理復審。

瀑布模型缺點:分析和設計階段只考慮邏輯模型;過分依賴文檔,可能導致最終的軟件產品不能完全滿足用戶需求

瀑布模型適用的軟件項目:規模小、需求明確、無須維護 2)快速原型模型的優點:

通過原型獲得準確的用戶需求;通過原型積累了開發經驗,軟件開發時期的各階段基本上是線性順序過程、提高了總開發效率。

快速原型模型適用的軟件項目:規模小、需求不夠明確、無須維護

3)增量模型的優點:

①便于并行完成開發工作;②逐步提交軟件產品;

③軟件的可維護性和可擴充性較好

增量模型適用的軟件項目:強調開發進度、可維護性要求高、可擴充性要求高

螺旋模型是一個演化的軟件過程模型,是在每個階段之

前都增加了風險分析過程的快速原型模型。

在螺旋模型中,螺旋線的每個周期對應一個軟件生命周期的開發階段。每個階段包括四個方面的活動:

①制定計劃-確定目標,選定方案,設定約束條件 ②風險評估-評估所選方案,識別風險,考慮如何消除風險

③實施工程

④評估工程-評價開發工作,提出修正建議。

使用螺旋模型需要豐富的風險評估經驗和專門知識; 螺旋模型適用于內部開發的大型軟件項目

1、噴泉模型也稱為面向對象的生命周期模型

2、軟件開發過程階段之間是迭代的、無間隙的

對象概念貫穿整個開發過程,只用對象類及其關系表達分析、設計、實現等活動

在分析、設計和編碼等開發活動之間并不存在明顯的邊界,開發各階段同步進行、可以提高開發效率

3、各開發階段重疊、可能隨時增加新的需求和各種信息,因此噴泉模型要求嚴格管理文檔,審核難度加大,對項目管理要求較高。

RUP首先建立整個項目的不同時間階段,體現開發過程的動態結構,包括:初始階段、細化階段、構造階段、移交階段。同時以內容來組織項目的活動,體現開發過程的靜態結構。RUP融入了瀑布模型的線性結構和演化模型的增量及迭代思想

(3)有哪些主流的軟件工程方法?

答:①傳統方法學(生命周期方法、結構化方法):

●從時間角度對軟件問題進行分解,將軟件開發維護過程劃分成若干階段。②面向對象方法學:

面向對象方法學的出發點和基本原則:盡量模擬人類習慣的思維方式,使開發軟件的方法與 過程盡可能接近人類認識世界解決問題的方法與過程,使問題空間與實現空間在結構上盡可能一致。

(4)如何消除軟件危機(如何解決軟件危機?)

一、概念:軟件過程,軟件生命周期,軟件生命周期模型

6、具體說明:針對不同的軟件項目,應該如何選擇軟件生 命周期模型

7、你如何理解RUP的特點

8、敏捷過程的主要特點和優勢 1.什么是軟件生命周期,分哪幾個階段、各階段的任務是 什么? 2.常用的軟件生命周期模型有哪些?總結它們的特點。3.談談下列三者之間的區別和聯系: 軟件工程、軟件過程、軟件生命周期模型

二、結構化分析-面向數據流的分析方法

1.什么是軟件需求?需求分析過程(步驟)?

答:軟件需求:軟件系統必須符合的條件和具備的功能 需求分析的任務(過程):

1.準確了解用戶情況和需要解決的問題:

◆與用戶溝通的途徑:訪談、參考類似系統、快速原型技術 2.對需求反復求精和細化,得出對目標系統完整、準確

和具體的要求

3.需求建模:對獲得的需求做出抽象、即進行無歧義描述。

◆模型是為了理解事物而對事物做出的一種抽象,是對事物的一種

無歧義的書面描述。4.編制需求規格說明書 5.進行需求分析的評審

2.需求分析模型:

(1)功能模型(數據流圖DFD)的含義、描述符號、畫法步驟及規則(2)數據模型(E-R圖)的作用

(3)行為模型(狀態轉換圖)的作用(4)數據字典的作用

三、結構化設計

1. 軟件設計的任務? 結構化設計與結構化分析的區別和聯系? 2. 軟件設計遵循的基本原理及規則:

(1)模塊化的含義、如何劃分模塊(降低成本、提高獨立性)?(2)抽象與逐步求精的含義、二者間關系如何?(3)信息隱藏的含義

(4)如何完善軟件結構(深度、寬度、扇入、扇出、作用域、控制域)? 3. 模塊獨立性:

(1)模塊獨立性含義?

(2)模塊獨立性的度量標準:耦合的分類、含義及應用;內聚的分類、含義及應用。4. 概要設計(面向數據流的設計方法)(1)概要設計的任務?

(2)數據流圖的類型及特征(變換型、事務型)(3)變換分析設計方法的應用(步驟)(4)事務分析設計方法的應用(步驟)4.詳細設計(過程設計)

(1)詳細設計的任務

(2)結構化程序(設計)的特征

(3)詳細設計結果的描述工具:程序流程圖、N-S圖、PAD圖、PDL、判定表

一、理解以下問題:

1、什么是軟件需求?軟件需求如何分類?

2、需求分析的作用和重要性

3、需求分析階段需要完成的工作

4、結構化分析模型的內容

5、E-R圖的內容和作用;數據流圖的內容和作用;

狀態轉換圖的內容和作用;數據字典的內容和作用

二、掌握以下建模技術和工具:

1、使用E-R圖建立軟件系統的數據模型

2、使用分層數據流圖建立軟件系統的功能模型

3、使用狀態轉換圖建立軟件系統的行為模型

4、使用數據字典定義結構化分析模型中的數據對象

1、某高校選課系統的功能包括:教師提交開課申請,系統根據開課計劃審核教師的開課申請,審核通過后向教師下發開課通知。學生可以通過系統進行選課,首先提交選課單,系統進行審核通過后,告知學生選課結果。教師可以查詢本人任教課程的選課名單。

請使用分層數據流圖描述選課系統的功能。

2、某運動會管理系統的功能為:接受來自運動員的報名單,生成運動員號碼單發送給運動員,產生參賽人員報表發送給裁判。接受來自裁判的比賽項目及成績,產生比賽結果發送給發布臺。

請用分層數據流圖表示上述系統的功能。

四、軟件測試

1.軟件測試基礎

(1)軟件測試的含義和目的?

(2)測試用例的內容(輸入數據、預期輸出結果)?(3)主要測試方法(黑盒測試、白盒測試)的含義?

2.主要的白盒測試技術及應用-------邏輯覆蓋法?基本路徑測試方法? 3.主要的黑盒測試技術及應用-------等價類法? 邊界值分析法? 4.軟件測試的過程?

(1)單元測試(采用的測試方法;測試內容)

(2)集成測試(采用的測試方法;測試內容;模塊組裝策略)(3)確認測試(采用的測試方法;測試內容;α測試與β測試?)(4)輔助模塊的含義及作用(驅動模塊、存根模塊?)

一、理解以下概念:

1、模塊、模塊化、抽象、信息隱藏;

2、模塊獨立性、耦合、內聚;

二、理解以下問題:

1、軟件設計階段的任務?

2、概要設計和詳細設計的區別和聯系?

3、結構化分析為結構化設計提供了哪些信息?

4、指導軟件設計的基本原理和啟發規則有哪些?理解這些原理的具體含義和作用。

二、理解以下問題:

5、軟件設計中,如何合理劃分模塊才能保證軟件的開發成本達到最小?

6、什么是模塊獨立性?如何度量和設計模塊獨立性?

7、軟件設計中應該如何設計耦合性?如何設計內聚性?

8、表示軟件結構的工具有哪些?

能夠正確使用以下工具:H圖、IPO圖、軟件結構圖

9、理解變換型數據流圖和事務型數據流圖的特點。

10、使用面向數據流方法設計軟件結構的過程是什么?、理解以下問題:

11、結合實例,掌握變換分析設計方法的步驟

12、結合實例,掌握事務分析設計方法的步驟

13、結構化程序的基本特征是什么?

14、表示結構化程序邏輯的工具有哪些?

能夠正確使用以下工具 :程序流程圖、N-S圖、PAD圖、PDL、判定表、判定樹

1、什么是模塊獨立性?如何度量和設計模塊獨立性?

2、根據下面變換型的數據流圖,設計出對應的初始軟件結構圖并簡述相應的設計步驟。

五、面向對象方法學基礎 1. 基本概念:

(1)對象的含義及特點?

(2)類的含義?類與對象的關系?(3)消息及消息傳遞的含義及作用?(4)繼承的含義?多態性機制?

2.面向對象建模技術中的三種模型及各自作用? 3.對象模型及描述(類圖):對象(類)的圖形表示;關系(關聯、聚集、繼承)的圖形表示; 4.事件追蹤圖、狀態圖、用例圖的作用、理解以下概念:

軟件測試、測試用例、黑盒測試、白盒測試、單元測試、集成測試、確認測試、系統測試、驅動模塊、存根模塊、等價類、邊界值分析測試、調試

二、理解以下問題:

1、軟件測試的含義及目標?

2、軟件測試的過程(步驟)?

3、測試方案包含的內容?

4、白盒測試的含義及作用?黑盒測試的含義及作用?

5、各種邏輯覆蓋測試的含義及使用?

二、理解以下問題:

6、基本路徑測試法的使用?

7、等價劃分法的含義、測試步驟?

8、軟件測試各階段與前期的哪些文檔相關?

9、軟件測試過程如何體現“測試應該從小規模開始,并逐步進行大規模測試”的測試準則?

10、如何進行單元測試、集成測試、確認測試?

各階段重點測試的內容?

12、測試和調試的區別和聯系? ◆第5章習題

1.什么是軟件測試?

2.什么是測試用例?設計測試用例時,應該考慮哪些因素? 3.闡述單元測試、集成測試、有效性測試之間的區別。4.下列偽碼程序的功能是“輸入三角形的三個邊長,判斷

構成何種三角形”。

(1)使用條件覆蓋法,為上述程序設計白盒測試用例。

(2)使用等價類劃分法,為上述程序設計黑盒測試用例 START READ(A,B,C)IF(A≤0)OR(B≤0)OR(C≤0)THEN WRITE(“三角形邊長不能為零”)

ELSE IF(A+B≤C)OR(A+C≤B)OR(B+C≤A)THEN WRITE(“不能構成三角形”)ELSE IF(A=B)AND(B=C)THEN WRITE(“等邊三角形”)

ELSE IF(A=B)OR(B=C)OR(A=C)THEN WRITE(“等腰三角形”)

ELSE WRITE(“一般三角形”)STOP

六、面向對象分析與設計過程

1.面向對象分析(OOA)的任務?OOA的基本過程?

2.面向對象設計(OOD)的主要任務?OOD與OOA的區別和聯系? 3.OOD模型的組成(四部分)及內容?

一、理解下列基本概念:

1、對象的含義及特點?

2、類的含義?類與對象的關系?

3、消息及消息傳遞的含義及作用?

4、繼承的含義?多態性機制?

5、面向對象軟件開發方法的要點

6、UML的含義及用途?

二、需要掌握的內容:

1、面向對象建模的主要工作?三種面向對象模型(對象模型、動態模型、功能模型)之間的關系?

2、對象模型的含義及其表示(類圖);對象之間的關系?

類之間的關系?

3、動態模型的含義及其表示(事件追蹤圖、狀態圖)

4、功能模型的含義及其表示(數據流圖、用例圖)◆第6章習題

1.解釋以下概念并通過一個例子加以說明:

對象;類;關聯;繼承;聚集

2.為什么面向對象方法要從多個側面(對象模型、動態模型、功能

模型)建立系統模型。

3.建立符合下列陳述的對象模型

某圖書館有許多名職員為之工作,職員又進一步劃分為館長

和管理員兩類;館長可對圖書借閱工作進行管理,每名管理員可

管理多本圖書,每本圖書可由多名管理員管理;圖書擁有許多讀

者,借書證號惟一地確定一個讀者;讀者又可分為教師和學生兩

類,每名教師或學生可以借閱數本圖書,每一種圖書可供多名教

師或學生借閱。

七、軟件維護

1. 軟件維護的含義及類型? 2. 軟件維護過程? 3. ◆需要掌握的內容:

4.1、面向對象分析(OOA)的任務?

5.面向對象分析(OOA)過程中包括哪些活動? 6.

2、三種面向對象模型各自表示的內容?

7.3、對象模型的表示工具?動態模型的表示工具?功能模型的表示工具? 8.

4、結合軟件開發實例,理解三種面向對象模型之間的關系 9.

以及面向對象分析環節完成的主要工作。10.

11.---------------? 課堂練習題目

一、填空題

1.軟件主要包括程序、和 三部分內容。

2.軟件可行性研究的任務是從技術、和 三個方面分析軟件項目的可行性。3.軟件測試的目的是 ;通常把軟件測試方法分為 和 兩大類。4.結構化分析方法中,功能模型用 描述;數據模型用 描述。

5.在類的繼承結構中,不同層次的類共享同一個行為名稱,但各個類可以按照自己的需要為同名行為設計不同的算法,此性質稱為類的__。

二、選擇題

1.產生軟件危機的主要原因有(C)。

①軟件本身的特點 ②用戶使用不當 ③硬件可靠性差 ④程序員水平⑤缺乏好的開發方法和管理手段

A.③④ B.①②④ C.①⑤ D.①③

2.需求分析階段,開發人員需從用戶那里獲得的最重要信息是(C)。A.用戶能接受的開發費用 B.用戶能接受的開發周期 C.用戶要讓軟件做什么 D.軟件應具有何種結構 3.數據流圖中的每個處理至少有(B)。

A.一個輸入流或一個輸出流 B.一個輸入流和一個輸出流 C.一個輸入流 D.一個輸出流

4.在面向數據流的設計方法中,一般把數據流圖劃分為(C)兩種類型。

A.數據流和事務流 B.變換流和數據流 C.變換流和事務流 D.控制流和事務流 5.數據流圖所描述的是實際系統的(A)。

A.邏輯模型 B.物理模型 C.程序流程 D.數據結構 6.由變換型數據流圖轉換成模塊結構圖,其中包括變換模塊,則(B)。

A.變換模塊就是主模塊 B.變換模塊的功能是將邏輯輸入變換為邏輯輸出

C.變換模塊沒有下層模塊 D.變換模塊只能有一個輸入量、一個輸出量 7.為了提高軟件測試的效率,應該(C)。

A、在完成編碼以后制定軟件的測試計劃 B、取一切可能的數據作為測試數據 C、選擇發現錯誤可能性大的數據作為測試用例 D、隨機地選取測試數據

8.有一個計算程序,它的輸入量只有一個X,其范圍是[-1.0,1.0],現從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設計這組測試用例的方法是(C)A、條件覆蓋法 B、等價分類法 C、邊界值分析法 D、錯誤推測法

9.關于單元測試,正確的是(C)。

A.單元測試的依據是概要設計說明書 B.單元測試中不需要使用白盒測試法

C.單元測試包括模塊接口測試 D.單元測試時不需要輔助模塊 10.有關集成測試的敘述中,(A)是正確的。

A.測試底層模塊時不需要樁模塊 B.自底向上測試方法有利于提前預計測試結果 C.驅動模塊的作用是模擬被調模塊 D.自頂向下測試方法易于設計測試用例 11.(D)表示了類之間的“一般__特殊”關系。

A.聚集

B.關聯

C.消息傳遞

D.繼承

12.OOA模型規定了一組對象如何協同才能完成軟件系統所指定的工作。這種協同在模型中是以表明對象通信方式的一組(A)連接來實現的。

A.消息 B.記錄 C.數據 D.屬性

13.面向對象開發方法定義了三種模型來描述系統,(B)可以用數據流圖來表示

A.對象模型

B.功能模型

C.動態模型

D.數據模型 14.面向對象分析(OOA)的主要活動不包括(D)。

A.確定對象 B.確定屬性 C.確定關聯 D.確定方式 15.軟件開發中,階段評審是非常重要的環節,其主要目的和作用是(B)。A.減少測試工作量 B.避免后期付出高代價 C.保證軟件質量 D.縮短軟件開發周期

三、概念解釋

1.軟件危機 2.軟件生命周期 3.需求分析 4.概要設計 5.內聚

6、多態性

7、軟件測試

8、驅動模塊

四、簡答題

1.什么是軟件危機?如何消除軟件危機?

2.作為某軟件公司的工程師,你將采用結構化方法開發一套適用于住宅小區的智能家庭保安系統。簡述開發步驟和每個步驟完成的主要任務。3.什么是需求分析?簡述需求分析的基本任務。4.什么是模塊獨立性?如何度量和設計模塊獨立性? 5.簡述變換分析設計方法的步驟。6.簡述對象和類的概念,二者關系如何?

7.什么是等價類劃分測試法?該方法設計測試用例的主要步驟是什么? 8.軟件測試要經過哪幾個階段?各階段完成哪些主要工作?

五、應用題

1..某商品進銷存管理系統的部分功能如下:

(1)倉庫管理員負責輸入商品的入/出庫清單、維護商品庫存信息;定時統計、打印商品庫存的月報表給商品銷售經理。

(2)銷售員負責輸入商品銷售、退換信息,并打印購貨清單給客戶; 商品銷售的相關信息要存

入相應文件。

請畫出描述上述功能的分層數據流圖。(畫出頂層、1層和2層數據流圖)2.設有下列語句序列: read(x,y);if(x>1)and(y<=5)then z=x*y else z=x+y;if z=12 then z=2*z;write(z).分別使用語句覆蓋、判定覆蓋、條件覆蓋方法設計測試用例

3、使用PAD圖描述下列算法邏輯:

4.建立描述下列信息的對象模型:

一所高校包括若干個系和若干名學生;每個系由若干名教師組成;學生分為研究生和本科生兩類;每個系開設若干門課程、任何一門課程只能由一個系開出;每個教師可以講授的課程不超過三門、每門課程允許一到兩個教師講授。

————————————————————————————————————

第三篇:軟件工程復習提綱

《軟件工程》課程要點

? 每章教學課件中的“本章小結”列出了需要掌握的內容 ? 教學過程中的例題和習題也是課程重點

一、軟件工程與軟件過程概述

1.概念:

(1)軟件的概念(組成成分、作用);

(2)軟件危機的含義、表現、產生原因(客觀、主觀)(3)軟件工程學科包括的內容、解決的主要問題

(4)軟件生命周期的含義、組成階段及各階段主要任務 2.需理解的問題:

(1)軟件與程序的區別和聯系?

(2)開發一個軟件項目包括哪些基本的步驟?每一步驟完成哪些工作?

(3)主要的軟件過程模型(生命周期模型)有哪些?各自有什么特點?

二、結構化分析-面向數據流的分析方法

1.什么是軟件需求?需求分析過程(步驟)? 2.需求分析模型:

(1)功能模型(數據流圖DFD)的含義、描述符號、畫法步驟及規則(2)數據模型(E-R圖)的作用

(3)行為模型(狀態轉換圖)的作用(4)數據字典的作用

三、結構化設計

1. 軟件設計的任務? 結構化設計與結構化分析的區別和聯系? 2. 軟件設計遵循的基本原理及規則:

(1)模塊化的含義、如何劃分模塊(降低成本、提高獨立性)?(2)抽象與逐步求精的含義、二者間關系如何?(3)信息隱藏的含義

(4)如何完善軟件結構(深度、寬度、扇入、扇出、作用域、控制域)? 3. 模塊獨立性:

(1)模塊獨立性含義?

(2)模塊獨立性的度量標準:耦合的分類、含義及應用;內聚的分類、含義及應用。4. 概要設計(面向數據流的設計方法)(1)概要設計的任務?

(2)數據流圖的類型及特征(變換型、事務型)(3)變換分析設計方法的應用(步驟)(4)事務分析設計方法的應用(步驟)4.詳細設計(過程設計)

(1)詳細設計的任務

(2)結構化程序(設計)的特征

(3)詳細設計結果的描述工具:程序流程圖、N-S圖、PAD圖、PDL、判定表

四、軟件測試

1.軟件測試基礎

(1)軟件測試的含義和目的?(2)測試用例的內容(輸入數據、預期輸出結果)?(3)主要測試方法(黑盒測試、白盒測試)的含義?

2.主要的白盒測試技術及應用-------邏輯覆蓋法?基本路徑測試方法? 3.主要的黑盒測試技術及應用-------等價類法? 邊界值分析法? 4.軟件測試的過程?

(1)單元測試(采用的測試方法;測試內容)

(2)集成測試(采用的測試方法;測試內容;模塊組裝策略)(3)確認測試(采用的測試方法;測試內容;α測試與β測試?)(4)輔助模塊的含義及作用(驅動模塊、存根模塊?)

五、面向對象方法學基礎 1. 基本概念:

(1)對象的含義及特點?

(2)類的含義?類與對象的關系?(3)消息及消息傳遞的含義及作用?(4)繼承的含義?多態性機制?

2.面向對象建模技術中的三種模型及各自作用? 3.對象模型及描述(類圖):對象(類)的圖形表示;關系(關聯、聚集、繼承)的圖形表示; 4.事件追蹤圖、狀態圖、用例圖的作用

六、面向對象分析與設計過程

1.面向對象分析(OOA)的任務?OOA的基本過程?

2.面向對象設計(OOD)的主要任務?OOD與OOA的區別和聯系? 3.OOD模型的組成(四部分)及內容?

七、軟件維護

1. 軟件維護的含義及類型? 2. 軟件維護過程?

---------------? 課堂練習題目

一、填空題

1.軟件主要包括程序、和 三部分內容。

2.軟件可行性研究的任務是從技術、和 三個方面分析軟件項目的可行性。3.軟件測試的目的是 ;通常把軟件測試方法分為 和 兩大類。4.結構化分析方法中,功能模型用 描述;數據模型用 描述。

5.在類的繼承結構中,不同層次的類共享同一個行為名稱,但各個類可以按照自己的需要為同名行為設計不同的算法,此性質稱為類的__。

二、選擇題

1.產生軟件危機的主要原因有()。

①軟件本身的特點 ②用戶使用不當 ③硬件可靠性差 ④程序員水平⑤缺乏好的開發方法和管理手段

A.③④ B.①②④ 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.變換模塊的功能是將邏輯輸入變換為邏輯輸出

C.變換模塊沒有下層模塊 D.變換模塊只能有一個輸入量、一個輸出量 7.為了提高軟件測試的效率,應該()。

A、在完成編碼以后制定軟件的測試計劃 B、取一切可能的數據作為測試數據 C、選擇發現錯誤可能性大的數據作為測試用例 D、隨機地選取測試數據

8.有一個計算程序,它的輸入量只有一個X,其范圍是[-1.0,1.0],現從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設計這組測試用例的方法是()A、條件覆蓋法 B、等價分類法 C、邊界值分析法 D、錯誤推測法

9.關于單元測試,正確的是()。

A.單元測試的依據是概要設計說明書 B.單元測試中不需要使用白盒測試法

C.單元測試包括模塊接口測試 D.單元測試時不需要輔助模塊 10.有關集成測試的敘述中,()是正確的。

A.測試底層模塊時不需要樁模塊 B.自底向上測試方法有利于提前預計測試結果 C.驅動模塊的作用是模擬被調模塊 D.自頂向下測試方法易于設計測試用例 11.()表示了類之間的“一般__特殊”關系。

A.聚集

B.關聯

C.消息傳遞

D.繼承

12.OOA模型規定了一組對象如何協同才能完成軟件系統所指定的工作。這種協同在模型中是以表明對象通信方式的一組()連接來實現的。

A.消息 B.記錄 C.數據 D.屬性

13.面向對象開發方法定義了三種模型來描述系統,()可以用數據流圖來表示

A.對象模型

B.功能模型

C.動態模型

D.數據模型 14.面向對象分析(OOA)的主要活動不包括()。

A.確定對象 B.確定屬性 C.確定關聯 D.確定方式 15.軟件開發中,階段評審是非常重要的環節,其主要目的和作用是()。A.減少測試工作量 B.避免后期付出高代價 C.保證軟件質量 D.縮短軟件開發周期

三、概念解釋

1.軟件危機 2.軟件生命周期 3.需求分析 4.概要設計 5.內聚

6、多態性

7、軟件測試

8、驅動模塊

四、簡答題

1.什么是軟件危機?如何消除軟件危機?

2.作為某軟件公司的工程師,你將采用結構化方法開發一套適用于住宅小區的智能家庭保安系統。簡述開發步驟和每個步驟完成的主要任務。3.什么是需求分析?簡述需求分析的基本任務。4.什么是模塊獨立性?如何度量和設計模塊獨立性? 5.簡述變換分析設計方法的步驟。6.簡述對象和類的概念,二者關系如何?

7.什么是等價類劃分測試法?該方法設計測試用例的主要步驟是什么? 8.軟件測試要經過哪幾個階段?各階段完成哪些主要工作?

五、應用題

1..某商品進銷存管理系統的部分功能如下:

(1)倉庫管理員負責輸入商品的入/出庫清單、維護商品庫存信息;定時統計、打印商品庫存的月報表給商品銷售經理。

(2)銷售員負責輸入商品銷售、退換信息,并打印購貨清單給客戶; 商品銷售的相關信息要存

入相應文件。

請畫出描述上述功能的分層數據流圖。(畫出頂層、1層和2層數據流圖)2.設有下列語句序列: read(x,y);if(x>1)and(y<=5)then z=x*y else z=x+y;if z=12 then z=2*z;write(z).分別使用語句覆蓋、判定覆蓋、條件覆蓋方法設計測試用例

3、使用PAD圖描述下列算法邏輯:

4.建立描述下列信息的對象模型:

一所高校包括若干個系和若干名學生;每個系由若干名教師組成;學生分為研究生和本科生兩類;每個系開設若干門課程、任何一門課程只能由一個系開出;每個教師可以講授的課程不超過三門、每門課程允許一到兩個教師講授。

————————————————————————————————————

第四篇:軟件工程總結

軟件工程課程總結

摘要:

計算機是20世紀最重大的科學技巧成就之一,使當代社會的經濟、軍事、科研、教育、服務等方面在概念和技巧上發生了性的變化,對人類社會的進步已經并還將產生極為深刻的影響。目前,計算機是世界各發達國度劇烈競爭的科學技巧領域之一。

電子計算機早期功效主要是計算,后來已遠遠超越單純計算的功效,還可模擬、思維、進行自適應反饋處理等等,把它叫做“電腦”更為合實際。由于電子計算機功效的飛躍性發展,應用于生產和生活的各個方面,直接和顯著地提高了生產、工作和生活的效率、節奏和水平,在軟科學研究和應用中它也起著關鍵作用,因此它已被公認是現代技巧的神經中樞,是未來信息社會的心臟和錄魂。計算機學科分為四個領域,分別是計算機科學,計算機工程,軟件工程和信息系統。

正文:

軟件工程是研究和應用如何以系統性的、規范化的、可定量的過程化方法去開發和維護軟件,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科。包括項目管理,分析,設計,程序的編寫,測試和質量控制。它涉及到程序設計語言、數據庫、軟件開發工具、系統開發平臺、標準、設計模式等方面。

學了《軟件工程》這門課程和一些有關資料后,感覺一些東西都曾經接觸過,但在實際工作中有些理論要完全遵循可能還有些障礙,軟件工程只是提供了理論上的一些結論,但對項目的具體可操作性的規范的制定方面卻做的很少,《軟件工程》發展了幾十年,光是開發模型就達到了10多種,對不同的項目采用合適的開發模式,有些項目在不同的開發階段可能還要轉換開發模式,把它們靈活的應用到實際中還是很困難的。

軟件技術是信息技術產業的核心之一,軟件技術的發展是與信息技術產業的發展互相促進的。當今世界,信息技術正處于新一輪重大技術突破的前夜。預計今后 20~30 年是信息科學技術的變革突破期,可能導致 21 世紀下半葉一場新的信息技術革命。近年來,從 IT 界到一些國家首腦,都高度關注以物聯網為標志的新一輪信息技術的發展態勢,認為這是繼 20 世紀 80 年代 PC 機、90 年代互聯網、移動通信網之后,將引發 IT 業突破性發展的第三次 IT 產業化浪潮。每一次重大的技術變革都會引起企業間、產業間甚至國家間競爭格局的重大變化,也促進了軟件技術與軟件產業的重大變革與發展。

近年來,信息技術、軟件技術、軟件系統與軟件產業的發展備受關注,已有不少論述、分析與判斷。近10 年內網絡技術經歷寬帶化、移動化和三網融合將走向基于 Ipv6 的下一代互聯網,2010 年 1 月,國家 863 計劃信息技術領域辦公室和國家 863 計劃信息技術領域專家組,在上海舉辦“信息-物理融合系統 CPS發展戰略論壇”,提出“信息-物理融合系統 CPS 是一個綜合計算、網絡和物理環境的多維復雜系統,是信息和物理世界的深度的融合交互,可實現大型工程系統的實時感知、動態控制和信息服務,使系統更加可靠、高效與實時協同,使得人類物理現實和虛擬邏輯逐步融合,具有重要而廣泛的應用前景。業界關于軟件工程的代表性觀點創立與使用健全的工程原則,以便經濟地獲得可靠且高效率的軟件。應用系統化,遵從原則,可被計量的方法來發展、操作及維護軟件;也就是把工程應用到軟件上。與開發、管理及更新軟件產品有關的理論、方法及工具。一種知識或學科,目標是生產品質良好、準時交貨、符合預算,滿足用戶所需的軟件。實際應用科學知識在設計、建構電腦程序,與相伴而來所產生的文件,以及后續的操作和維護上。

6使用與系統化生產和維護軟件產品有關之技術與管理的知識,使軟件開發與修改可在有限的時間與費用下進行。

7建造由工程師團隊所開發之大型軟件系統有關的知識學科。對軟件分析、設計、實施及維護的一種系統化方法。系統化地應用工具和技術于開發以計算機為主的應用。

10軟件工程是關于設計和開發優質軟件。

《軟件工程》是一門綜合性和實踐性很強的核心課程,它屬于是一門交叉學科,包含有:軟件開發技術(軟件開發方法學、軟件開發過程、軟件工具和軟件工程環境)、軟件工程管理(軟件管理學、軟件經濟學、軟件心理學)。主要內容包括軟件工程概述、可行性分析、需求分析、概要設計、詳細設計、面向對象分析與設計、編碼、軟件測試、項目計劃與管理。

本課程是面向準備從事軟件開發的畢業生而開設的一門專業課程。針對計算機教學中軟件工程這一薄弱環結,結合目前軟件開發商對人才的要求,對計算機專業的畢業生進行軟件工程強化培訓,目的是使畢業生能夠了解和掌握軟件工程的基本理論和方法,并在實際軟件開發中運用這些方法。

我理解,軟件工程是按照工程學的管理方式,有組織、有計劃的,在一定的質量基礎、時間限度和成本范圍內,實現功能明確的軟件系統。而且,軟件工程在企業范圍內運行,一定需要企業資源的支持,要與企業的經營、決策、管理體系聯系在一起,才能夠被踏踏實實的落實下來。

軟件工程項目是一個需要一步一步的計算,分析思考而來的,需要不斷思考,研究不斷進步,軟件業作為一個服務業,要想得到發展,首先必須形成一個對軟件服務有迫切需要的市場。其次,這個市場中的消費者必須具備足夠的購買力。軟件的消費群體簡單一點,可以分為個體消費和企業消費。中國的企業群體,數量龐大,但是質量不高。上規模的企業極少。國內目前能夠形成比較大規模的獨立市場的,肯定是小規模的軟件系統。

隨著信息化時代的到來其地位越來越受到人們的重視,軟件工程從一個學科,或是某一個研究方向來說,人員僅僅是過程,方法的執行者,所以人員素質往往被忽略,軟件工程是一門實踐性很強的學科,所以在實際的軟件研究過程中,人員的素質占有很重要的地位。要有出色的軟件問世,研發人員的素質至關重要!

作為軟件工程的學習者應該不斷創新,不斷嘗試、實踐,不斷研究和學習,中國的軟件工程技術依舊滯后于國外一些軟件工程技術,作為新一代的學習者應該擔當起振興起中國軟件事業,使中國科技得到高速發展!

現在已經是信息化時代,信息化潮流不斷涌現,想要掌握主動權就是掌握信息化的發展方向,這就需要我們不斷學習,時間,研究,學習國外的先進技術,轉變自己的技術,然后融合,創新。

軟件技術不是一成不變的,是隨著社會的進步的不斷進步,不需要不斷的創新,不斷的改善的,需要我們不斷的學習,不斷的研究,不斷進步。

第五篇:軟件工程總結

1.Software is a product and can be manufactured using the same technologies used for other engineering artifacts Answer: b 2.WebApps are a mixture of print publishing and software development, making their development outside the realm of software engineering practice.Answer: b 3.Software engineering umbrella activities are only applied during the initial phases of software development projects.Answer: b 4.Planning ahead for software reuse reduces the cost and increases the value of the systems into which they are incorporated.Answer: a 5.The essence of software engineering practice might be described as understand the problem, plan a solution, carry out the plan, and examine the result for accuracy.Answer: a 6.In agile process models the only deliverable work product is the working program.Answer: b 7.A most software development projects are initiated to try to meet some business need.Answer: a 8.In general software only succeeds if its behavior is consistent with the objectives of its designers.Answer: b 9.Software processes can be constructed out of pre-existing software patterns to best meet the needs of a software project.Answer: a 10.Process technology tools allow software organizations to compress schedules by skipping unimportant activities.Answer: b 11.It is generally accepted that one cannot have weak software processes and create high quality end products.Answer: a 1.Requirements engineering is a generic process that does not vary from one software project to another.Answer: a 2.A stakeholder is anyone who will purchase the completed software system under development.Answer: b 3.It is relatively common for different customers to propose conflicting requirements, each arguing that his or her version is the right one.Answer: a 4.Developers and customers create use-cases to help the software team understand how different classes of end-users will use functions.Answer: a 5.Use-case actors are always people, never system devices.Answer: b 6.Analysis patterns facilitate the transformation of the analysis model into a design model by suggesting reliable solutions to common problems.Answer: a 7.In win-win negotiation, the customer’s needs are met even though the developer’s need may not be.Answer: b 8.In requirements validation the requirements model is reviewed to ensure its technical feasibility.Answer: b

1.Object-oriented domain analysis is concerned with the identification and specification of reusable capabilities within an application domain.Answer: a 2.In structured analysis models focus on the structure of the classes defined for a system along with their interactions.Answer: b 3.Creation and refinement of use cases if an important part of scenario-based modeling.Answer: a 4.It is important to consider alternative actor interactions when creating a preliminary use case.Answer: b 5.Brainstorming is one technique that may be used to derive a complete set of use case exceptions.Answer: a 6.In many cases there is no need to create a graphical representation of a usage scenario.Answer: a 7.One or more attributes of a data object must be defined as a key to allow the location of an instance of the data object.Answer: a 8.Attributes are chosen for an object by examining the problem statement and identifying the entities that appear to be related.Answer: b 9.An analysis package involves the categorization of analysis model elements into useful groupings.Answer: a 10.The data flow diagram must be augmented by min-spec that can serve as a guide the design of the software component that will implement the process.Answer: a 11.The UML sequence diagram show the order in which system events are processed.Answer: b 12.Analysis patterns are discovered, they are not explicitly created.Answer: a 13.It is not possible to justify the time required for WebApp requirements analysis.Answer: b 14.UML activity diagrams can be used to represent the user observable functionality delivered by the WebApp as well as the operations contained in each analysis class.Answer: a 15.Configuration analysis focuses on the architecture of the user’s web browsing environment.Answer: b 16.Content objects are extracted from use cases by examining the scenario description for direct or indirect content references.Answer: a 1.With thorough testing it is possible to remove all defects from a program prior to delivery to the customer.Answer: b 2.Program flow graphs are identical to program flowcharts.Answer: b 3.The cyclomatic complexity of a program can be computed directly from a PDL representation of an algorithm without drawing a program flow graph.Answer: a 4.Graph-based testing methods can only be used for object-oriented systems Answer: b 5.Equivalence testing divides the input domain into classes of data from which test cases can be derived to reduce the total number of test cases that must be developed.Answer: a 6.Boundary value analysis can only be used to do white-box testing.Answer: b 7.Orthogonal array testing enables the test designer to maximize the coverage of the test cases devised for relatively small input domains.Answer: a 8.Client/server architectures cannot be properly tested because network load is highly variable.Answer: b 1.The best representation of system architecture is an operational software prototype.Answer: b 2.The architectural representations can be an enabler for communication among project stakeholders.Answer: a 3.An architectural description is often documented using an architecture template.Answer: b 4.An architectural genre will often dictate the architectural approach that may used for the structure to be built.Answer: a 5.Before an architectural pattern can be chosen for use in a specific system it must have a code implementation to facilitate its reuse.Answer: b 6.Once selected, archetypes always need to be refined further as architectural design proceeds.Answer: a 7.Quantitative methods for assessing the quality of proposed architectural designs are readily available.Answer: b

Chapter 10 Self-Check Quiz

1.In the most general sense a component is a modular building block for computer software.a.True b.False

Answer: a(Section 10.1)

2.In the context of object-oriented software engineering a component contains

a.attributes and operations b.instances of each class c.roles for each actor(device or user)d.set of collaborating classes

Answer: d(Section 10.1.1)

3.In traditional software engineering modules must serve in which of the following roles?

a.Control component b.Infrastructure component c.Problem domain component d.All of the above

Answer: d(Section 10.1.2)

4.Software engineers always need to cerate components from scratch in order to meet customer expectations fully.a.True b.False

Answer: b(Section 10.1.3)

5.Which of the following is not one of the four principles used to guide component-level design?

a.Dependency Inversion Principle b.Interface Segregation Principle c.Open-Closed Principle d.Parsimonious Complexity Principle

Answer: d(Section 10.2.1)

6.The use of stereotypes can help identify the nature of components at the detailed design level.a.True b.False

Answer: a(Section 10.2.2)

7.Classes and components that exhibit functional, layer, or communicational cohesion are relatively easy to implement, test, and maintain.a.True b.False

Answer: a(Section 10.2.3)

8.Software coupling is a sign of poor architectural design and can always be avoided in every system.a.True b.False

Answer: b(Section 10.2.4)

9.WebApp content design at the component level focuses on content objects and the manner in which they interact.a.True b.False

Answer: b(Section 10.4.1)

10.A WebApp functional architecture describes the key functional components and how they interact with each other.a.True b.False

Answer: a(Section 10.4.2)

11.Which of these is a graphical notation for depicting procedural detail?

a.box diagram b.decision table c.ER diagram d.flowchart

Answer: d(Section 10.5.1)

12.A decision table should be used

a.to document all conditional statements b.to guide the development of the project management plan c.only when building an expert system d.when a complex set of conditions and actions appears in a component

Answer: d(Section 10.5.2)

13.A program design language(PDL)is often a

a.combination of programming constructs and narrative text b.legitimate programming language in its own right c.machine readable software development language d.useful way to represent software architecture

Answer: a(Section 10.5.3)

14.In component-based software engineering, the development team examines the requirements to see which are amenable to composition, rather than construction, before beginning detailed design tasks.a.True b.False

Answer: a(Section 10.6)

15.Which of the following is not one of the major activities of domain engineering?

a.analysis b.construction c.dissemination d.validation

Answer: d(Section 10.6.1)

16.Which of the following factors would not be considered during component qualification?

a.application programming interface(API)b.development and integration tools required c.exception handling d.testing equipment required

Answer: d(Section 10.6.2)

17.Which is the following is a technique used for component wrapping?

a.black-box wrapping b.clear-box wrapping c.gray-box wrapping d.white-box wrapping

Answer: b(Section 10.6.2)

18.Which of the following is not one of the issues that form a basis for design for reuse?

a.object-oriented programming b.program templates c.standard data d.standard interface protocols

Answer: a(Section 10.6.3)

19.In a reuse environment, library queries are often characterized using the ________ element of the 3C Model.a.concept b.content c.context d.all of the above

Answer: c(Section 10.6.4)

1.The importance of software design can be summarized in a single word a.b.c.d.Answer: d(Section 8.1)

2.Which of the following is not a characteristic common to all design methods?

a.configuration management b.functional component representation c.quality assessment guidelines d.refinement heuristics

Answer: a(Section 8.2.2)

3.Which of the following can be used to represent the architectural design of a piece of software?

a.Dynamic models b.Functional models c.Structural models d.All of the above

Answer: d(Section 8.3.2)

4.Design patterns are not applicable to the design of object-oriented software?

a.True b.False

Answer: b(Section 8.3.3)

5.Since modularity is an important design goal it is not possible to have too many modules in a proposed design.a.True b.False

Answer: b(Section 8.3.5)

6.Information hiding makes program maintenance easier by hiding data and procedure from unaffected parts of the program.accuracy complexity efficiency quality

a.True b.False

Answer: a(Section 8.3.6)

7.Cohesion is a qualitative indication of the degree to which a module

a.can be written more compactly.b.focuses on just one thing.c.is able to complete its function in a timely manner.d.is connected to other modules and the outside world.Answer: b(Section 8.3.7)

8.Coupling is a qualitative indication of the degree to which a module

a.can be written more compactly.b.focuses on just one thing.c.is able to complete its function in a timely manner.d.is connected to other modules and the outside world.Answer: d(Section 8.3.7)

9.When using structured design methodologies the process of stepwise refinement is unnecessary.a.True b.False

Answer: b(Section 8.3.8)

10.Software designs are refactored to allow the creation of software that is easier to integrate, easier to test, and easier to maintain.a.True b.False

Answer: a(Section 8.3.10)

11.Which of the following is not one of the five design class types

a.Business domain classes b.Entity classes c.Process classes d.User interface classes

Answer: b(Section 8.3.13)

12.Which design model elements are used to depict a model of information represented from the user’s view?

a.Architectural design elements b.Component-level design elements c.Data design elements d.Interface design elements

Answer: c(Section 8.4.1)

13.Which design is equivalent to the floor plan of a house?

a.Architectural design b.Component-level design c.Data design d.Interface design

Answer: a(Section 8.4.2)

14.Which design model is equivalent to the detailed drawings of the access points and external utilities for a house?

a.Architectural design b.Component-level design c.Data design d.Interface design

Answer: d(Section 8.4.3)

15.Which design model is equivalent to a set of detailed drawings for each room in a house?

a.Architectural design b.Component-level design c.Data design d.Interface design

Answer: b(Section 8.4.4)

16.The deployment design elements specify the build order for the software components.a.True b.False

Answer: b(Section 8.4.5)

下載軟件工程復習提綱總結word格式文檔
下載軟件工程復習提綱總結.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    軟件工程總結

    第一章軟件與軟件工程的概念 軟件的概念:軟件是計算機系統中與硬件相互依存的另一部分,軟件包括程序,數據,及其相關文檔的完整集合。程序是按事先設計的功能和性能要求執行的指......

    軟件工程總結

    一、軟件工程概述1.軟件特點 軟件:計算機程序(人們為了實現特定的功能而編制的一組指令集),軟件文檔,以及計算機程序運行時所需要的數據。 軟件是計算機系統中的邏輯成分,具有無形......

    軟件工程總結

    軟件工程的定義:軟件工程是將系統化的,規范化的,可度量的方法應用于軟件的開發,運行和維護過程,即將工程化應用于軟件中的方法的研究。軟件工程的定義2:開發運行,維護和修復軟件的......

    計算機組成原理復習提綱(軟件工程專業適用)

    計算機組成原理復習提綱(軟件工程專業適用)1. 給定二進制的位數,求其所能表示的范圍; 2. 掌握采用cache存儲器和虛擬存儲器的目的和管理方式。 3. 掌握常用的指令格式和操作數......

    軟件工程期末考試總結

    一、 1、1968年“軟件工程”誕生。 2、軟件定義:軟件是程序、數據 相關文檔的完整結合。其中,程序是能夠完成預訂功能和性能的可執行的指令序列;數據是使程序能夠適當的處理信......

    軟件工程知識點總結

    軟件工程知識點總結 軟件工程知識點總結 1.軟件危機:指在計算機軟件的開發和維護過程中所遇到的一系列嚴重問題。 2.軟件危機產生的原因:1.軟件本身的復雜性、難衡量的特點;2.......

    軟件工程實習總結

    一.實習題目c/s模式下的網絡游戲平臺(類似于聯眾)二.題目要求a.平臺上至少能夠提供兩種游戲(僅供兩人參加)供用戶選擇。b. 服務器端實現用戶賬號、密碼的管理,監控用戶上下線狀態......

    軟件工程考點總結[精選合集]

    第一章 1.軟件是程序和所使程序正確運行所需的相關文檔和配置信息.軟件工程是一門工程學科,涉及軟件生產的各個方面.軟件過程是指制作軟件產品的一組活動及其結果。 2.軟件過......

主站蜘蛛池模板: 欧美成a人片在线观看久| 亚洲乱亚洲乱妇| 亚洲人成无码网www动漫| 亚洲国产中文在线二区三区免| 末成年女av片一区二区| 香蕉影院在线观看| 嗯~啊~轻一点??视频| 国产精品午夜无码av体验区| 少妇人妻上班偷人精品视频| 国产亚洲成av人片在线观看| 欧洲免费无码视频在线| 2024av天堂手机在线观看| 中文字幕精品亚洲无线码vr| 国产乱人伦偷精品视频免下载| 亚洲综合网站精品一区二区| 亚洲中文无码av永久| 亲胸揉屁股膜下刺激视频免费网站| 人妻少妇精品中文字幕av| 免费网站观看www在线观看| 亚洲国产精品久久久久秋霞1| 国模小黎自慰gogo人体| 中文字幕精品亚洲人成在线| 亚洲色大成网站www久久九| 亚洲国产福利一区二区三区| 成人免费播放视频777777| 狠狠色丁香婷婷综合潮喷| 久久成人成狠狠爱综合网| 日本japanese丰满多毛| 日韩精品a片一区二区三区妖精| 亚洲国产精品久久久久爰色欲| 一本色道久久综合狠狠躁篇| 亚洲午夜视频| 国产精品美女www爽爽爽视频| 中文字幕亚洲欧美专区| 国产精品国产三级国av| 中文字幕av无码免费久久| 免费萌白酱国产一区二区三区| 亚洲精品成人网站在线播放| 色悠久久久久综合网伊| 久久96热在精品国产高清| 国产乱理伦片在线观看|