碩士研究生入學考試《軟件工程學》考試大綱
一、考試要求
《軟件工程學》是一門專業(yè)基礎課,要求考生較系統(tǒng)地掌握軟件工程的基本概念、原理、技術(shù)和方法,并能靈活地運用這些基本知識,為軟件開發(fā)建立分析模型、設計模型、軟件測試解決方案等。
本課程包括軟件開發(fā)模型,軟件項目管理,需求分析,軟件設計,軟件編碼與測試,軟件維護等。主要考查考生對軟件工程學基礎知識的理解,是否有軟件開發(fā)過程的科學管理意識,掌握軟件需求分析與軟件設計基本方法,了解計算機輔助軟件工程工具(CASE工具),掌握UML及其相關工具。
二、主要參考書目
軟件工程(第二版),齊治昌 譚慶平 寧洪著,高等教育出版社,2004年03月出版
三、其它參考書目
張海藩,軟件工程導論(第5版) ,清華大學出版社,2008 年2月出版。
四、考試題型及權(quán)重(共75分)
⑴選擇題: 約15分;
⑵填空題: 約15分;
⑶問答題:30分;
⑷綜合分析題:7分;
⑸綜合設計題:8分。
五、考查范圍
(1)軟件與軟件工程
理解軟件的定義、軟件工程的定義、軟件危機出現(xiàn)的原因,以及解決危機的方法。理解軟件工程的目標與原則,掌握軟件生存周期、軟件開發(fā)模型。
(2)軟件項目管理
了解軟件管理的必要性,了解軟件項目管理的主要任務,理解軟件度量的基本概念,了解項目估算、軟件質(zhì)量度量及軟件可靠性度量的意義、了解軟件開發(fā)過程管理的主要內(nèi)容,了解軟件成熟度模型的意義
(3)計算機系統(tǒng)工程
理解計算機系統(tǒng)工程的定義、組成部分,了解可行性研究的必要性,了解系統(tǒng)規(guī)格說明及評審。
(4)需求分析基礎
理解需求分析的主要任務與原則,了解初步需求獲取的技術(shù),理解需求建模的有關概念,理解需求分析的快速原型技術(shù),了解需求規(guī)格說明的內(nèi)容與評審方法。
(5)面向數(shù)據(jù)流的分析方法
了解數(shù)據(jù)流圖和數(shù)據(jù)字典的意義,理解數(shù)據(jù)流圖和數(shù)據(jù)字典的組成部分,理解實體關系圖,掌握數(shù)據(jù)流模型的創(chuàng)建方法。
(6)面向?qū)ο蟮男枨蠓治?/p>
理解面向?qū)ο蟮幕靖拍?,了解基于UML的需求分析的方法與步驟,能初步進行實例分析。
(7)軟件設計基礎
重點掌握軟件設計的基本概念、基本技術(shù)(圖形表示法與判定表),了解軟件設計規(guī)格說明的內(nèi)容與評審技術(shù)。
(8)面向數(shù)據(jù)流的設計方法
理解解數(shù)據(jù)流的基本概念和設計過程,了解變換分析、事務分析的概念,了解面向數(shù)據(jù)流圖的軟件設計方法及優(yōu)化技術(shù)。
(9)面向?qū)ο蟮脑O計方法
理解UML的順序圖、協(xié)作圖、交互圖、類圖、狀態(tài)圖、活動圖的概念,了解面向?qū)ο筌浖O計的任務,掌握基于UML的軟件設計的基本方法與步驟,并能進行實例設計。
(10)軟件測試
理解軟件測試的基本概念,掌握單元測試技術(shù)、集成測試、確認測試與系統(tǒng)測試的概念, 重點掌握白盒測試與黑盒測試技術(shù),能進行測試用例的設計。
(11)軟件維護
了解軟件維護的概念與過程,重點了解軟件維護過程中所需采用的主要技術(shù),了解軟件維護的副作用及其控制辦法。
碩士研究生入學考試《數(shù)據(jù)結(jié)構(gòu)》考試大綱
一、考試要求
《數(shù)據(jù)結(jié)構(gòu)》是一門專業(yè)基礎課,要求考生能夠理解數(shù)據(jù)結(jié)構(gòu)的基本概念;掌握數(shù)據(jù)結(jié)構(gòu)中邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)的基本概念和差異,以及各種基本操作的實現(xiàn);在掌握基本的數(shù)據(jù)處理原理和方法的基礎上,能夠?qū)λ惴ㄟM行設計與分析;能夠選擇合適的數(shù)據(jù)結(jié)構(gòu)和方法進行問題求解;能夠針對具體問題設計正確的數(shù)據(jù)結(jié)構(gòu)加以應用;具備采用類c或c++或JAVA語言設計與實現(xiàn)算法的能力。
本課程包括:算法的基本概念、分析和設計方法;軟件開發(fā)中常用的各類結(jié)構(gòu),包括線性結(jié)構(gòu)、樹結(jié)構(gòu)、圖結(jié)構(gòu);查找、排序等各類常用算法。主要考察學生對數(shù)據(jù)結(jié)構(gòu)基礎知識的理解、是否具備對現(xiàn)有常用結(jié)構(gòu)和算法的應用能力、是否具備針對具體應用設計合適數(shù)據(jù)結(jié)構(gòu)的能力。
二、主要參考書目
《數(shù)據(jù)結(jié)構(gòu) (C語言版)》,嚴蔚敏,吳偉民, 清華大學出版社;
三、其它參考書目
《數(shù)據(jù)結(jié)構(gòu)與算法分析( java語言描述)(第二版)》,F(xiàn)rank M. Carrano,清華大學出版社;
《數(shù)據(jù)結(jié)構(gòu)(用面向?qū)ο蠓椒ㄅcC++語言描述)第二版》,殷人昆,清華大學出版社
四、考試題型及權(quán)重(共75分)
(1)選擇題: 15分;
(2)填空題: 15分
(3)簡答題:20分;
(4)算法應用題:15分;
(5)算法設計題:10分。
五、考查范圍
(1)基本概念和算法分析
本部分的目的是介紹數(shù)據(jù)結(jié)構(gòu)中常用的基本概念和術(shù)語以及學習數(shù)據(jù)結(jié)構(gòu)的意義。重點要求理解數(shù)據(jù)結(jié)構(gòu)的基本概念、算法的基本要素和基本要求。掌握簡單的算法時間/空間復雜度分析方法。理解抽象數(shù)據(jù)結(jié)構(gòu)的定義,理解最好、最壞和平均復雜度的分析和計算方法。
(2)線性表
本部分的目的是介紹線性表的邏輯結(jié)構(gòu)和各種存儲表示方法,以及定義在邏輯結(jié)構(gòu)上的各種基本運算及其在存儲結(jié)構(gòu)上如何實現(xiàn)這些基本運算。重點要求熟練掌握線性表的定義和基本操作,能夠熟練掌握線性表的兩種實現(xiàn)方法(順序存儲和隨機存儲),熟知線性表的應用范圍。理解線性表的各種存儲結(jié)構(gòu)、操作實現(xiàn)的異同點,優(yōu)缺點。
(3)棧和隊列
本部分的目的是介紹棧和隊列的邏輯結(jié)構(gòu)定義及在兩種存儲結(jié)構(gòu)上如何實現(xiàn)棧和隊列的基本運算。重點要求熟練掌握棧和隊列的基本概念,以及棧和隊列的兩種實現(xiàn)方法(順序存儲結(jié)構(gòu)實現(xiàn)和鏈式存儲結(jié)構(gòu)實現(xiàn))及其操作的實現(xiàn)。能夠掌握棧和隊列的基本應用。
(4)樹和二叉樹
本部分的目的是介紹二叉樹的定義、性質(zhì)、存儲結(jié)構(gòu)、遍歷、線索化;樹的定義、存儲結(jié)構(gòu)、遍歷、樹和森林的轉(zhuǎn)換及哈夫曼樹及其哈夫曼編碼等內(nèi)容。重點要求熟練掌握樹的基本概念、基本性質(zhì)。熟練掌握二叉樹的定義及其主要特征、二叉樹的順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)、二叉樹的遍歷操作;掌握線索二叉樹的基本概念和構(gòu)造;掌握基于二叉樹遍歷操作所衍生出的各類操作,例如二叉樹的構(gòu)造、二叉樹葉子節(jié)點的統(tǒng)計、求二叉樹深度操作等。理解樹的存儲結(jié)構(gòu),掌握森林和二叉樹的相互轉(zhuǎn)換,樹和森林的遍歷操作。理解二叉排序樹的基本原理和算法,掌握平衡二叉樹的各種操作;掌握哈夫曼(Huffman)樹和哈夫曼編碼,并能夠在實際的問題中加以應用。
(5)圖
本部分的目的是介紹圖的基本概念、兩種常用的存儲結(jié)構(gòu)、兩種遍歷方法以及圖的應用算法。重點要求掌握圖的基本概念,基本性質(zhì)。掌握圖的存儲方法,掌握圖存儲的鄰接矩陣法和鄰接表法。掌握圖的兩種遍歷方法:深度優(yōu)先遍歷、廣度優(yōu)先遍歷。理解基于圖的最小(代價)生成樹算法、最短路徑算法、拓撲排序算法。了解關鍵路徑算法。
(6)查找
本部分的目的是介紹線性表、樹和哈希表的查找方法、算法實現(xiàn)以及各種查找方法的時間性能(平均查找長度)分析。重點要求掌握順序查找、折半查找、二叉排序樹和哈希表查找的基本思想和算法實現(xiàn)。了解平衡二叉樹、B-樹的基本概念及基本操作、B+樹的基本概念。能夠理解各種不同查找算法的適用情況,以及不同算法的性能分析。
(7)內(nèi)部排序
內(nèi)部排序部分的目的是介紹五大類內(nèi)部排序方法的基本思想、排序過程、算法實現(xiàn)、時間和空間性能的分析;并且對各種排序方法進行比較。重點要求掌握直接插入排序、快速排序、堆排序和歸并排序的基本思想和排序過程。理解基數(shù)排序、折半插入排序等排序方法的基本思想和排序過程。掌握各類排序方法的性質(zhì)、效率對比。