什么是軟件危機(jī)怎樣消除軟件危機(jī) 軟件工程導(dǎo)論考研大綱?
軟件工程導(dǎo)論考研大綱?上海理工大學(xué)2021年869數(shù)據(jù)結(jié)構(gòu)及軟件工程考研大綱第一部分:數(shù)據(jù)結(jié)構(gòu)一、參考書目《數(shù)據(jù)結(jié)構(gòu)》(C語言版),嚴(yán)蔚敏等主編,清華大學(xué)出版社,2012年二、考試內(nèi)容要求1、清楚數(shù)據(jù)
軟件工程導(dǎo)論考研大綱?
上海理工大學(xué)2021年869數(shù)據(jù)結(jié)構(gòu)及軟件工程考研大綱
第一部分:數(shù)據(jù)結(jié)構(gòu)
一、參考書目
《數(shù)據(jù)結(jié)構(gòu)》(C語言版),嚴(yán)蔚敏等主編,清華大學(xué)出版社,2012年
二、考試內(nèi)容要求
1、清楚數(shù)據(jù)結(jié)構(gòu)非盈利組織會計(jì)分類、數(shù)據(jù)結(jié)構(gòu)與算法的密切關(guān)系。
2、熟悉各種基本是數(shù)據(jù)結(jié)構(gòu)及操作,學(xué)會依據(jù)不好算問題具體的要求來你選擇數(shù)據(jù)結(jié)構(gòu)。
3、掌握到設(shè)計(jì)算法的步驟和算法分析方法。
4、掌握數(shù)據(jù)結(jié)構(gòu)在排序和查找等具體用法算法中的應(yīng)用。
5、明確的掌握到文件組織方法和索引技術(shù)。
三、考試內(nèi)容
1、數(shù)據(jù)結(jié)構(gòu)基本概念及簡單的算法分析什么
1)什么是數(shù)據(jù)結(jié)構(gòu)
2)抽象的概念數(shù)據(jù)類型及面向?qū)ο蟾拍睿簲?shù)據(jù)類型;數(shù)據(jù)抽象與抽像數(shù)據(jù)類型;面向?qū)ο蟮母拍?;作用于詳?xì)解釋數(shù)據(jù)結(jié)構(gòu)的語言
3)數(shù)據(jù)結(jié)構(gòu)的抽象層次
4)算法定義
5)性能分析與度量:算法的性能標(biāo)準(zhǔn);算法的后期測試;算法的事前估計(jì)也;空間奇怪度器量;時(shí)間復(fù)雜度度量;時(shí)間復(fù)雜度的漸進(jìn)式表示法;漸進(jìn)的空間緊張.
2、數(shù)組
1)才是抽象數(shù)據(jù)類型的數(shù)組:數(shù)組的定義和初始化;才是抽象數(shù)據(jù)類型的數(shù)組;數(shù)組的順序存儲
2)順序表:順序表的定義和特點(diǎn);順序表的類定義;順序表的中搜索、插到和刪除;不使用順序表的事例
3)字符串:字符串的抽象數(shù)據(jù)類型;字符串操作的實(shí)現(xiàn);字符串的模式不兼容
3、鏈表
1)單鏈表:單鏈表的結(jié)構(gòu);單鏈表的類定義;單鏈表中的插入到與刪除掉;帶表頭結(jié)點(diǎn)的單鏈表;用模板定義的單鏈表類;單鏈表的游標(biāo)類;靜態(tài)鏈表
2)循環(huán)鏈表:循環(huán)鏈表的類定義;用循環(huán)鏈表解約瑟夫問題;多項(xiàng)式及乘積:多項(xiàng)式的類定義;多項(xiàng)式的加法
3)頓井站鏈表
4、棧和隊(duì)列
1)棧:棧的抽象數(shù)據(jù)類型;棧的順序存儲位置它表示;棧的鏈接讀取它表示
2)隊(duì)列:隊(duì)列的抽象數(shù)據(jù)類型;隊(duì)列的順序讀取它表示;隊(duì)列的鏈接存儲來表示;3)隊(duì)列的應(yīng)用例子
4)優(yōu)先級隊(duì)列:優(yōu)先級隊(duì)列的定義;優(yōu)先級隊(duì)列的存儲可以表示
5、二分查找
1)遞歸的概念
2)迷宮問題
3)遞歸過程與遞歸工作棧
4)用來?xiàng)?shí)現(xiàn)方法的迷宮問題非二分查找解法
5)廣義表:廣義表的概念;廣義表的意思是及操作;包容關(guān)系表存儲結(jié)構(gòu)的實(shí)現(xiàn);廣6)義表的訪問算法;廣義表的遞歸算法
6、樹與森林
1)樹和森林的概念:樹的定義;樹的術(shù)語;樹的抽象數(shù)據(jù)類型
2)二叉樹:二叉樹的定義;二叉樹的性質(zhì);二叉樹的抽象數(shù)據(jù)類型
3)二叉樹的意思是:數(shù)組來表示;鏈表讀取來表示
4)二叉樹遍歷樹:中序遍歷數(shù)組;前序遍歷過程;后序遍歷;應(yīng)用二叉樹遍歷過程的事例;二叉樹遍歷的游標(biāo)類;不需要棧的二叉樹中序遍歷樹算法
5)線索化二叉樹:線索;中序線索化二叉樹;前序與后序的線索化
6)堆:堆的定義;堆的建立;堆的再插入與刪掉
7)樹與森林:樹的存儲意思是;森林與二叉樹的轉(zhuǎn)換;樹的遍歷樹;森林的遍歷樹
二叉樹的計(jì)數(shù)
8)霍夫曼樹:路徑長度;霍夫曼樹;霍夫曼編碼
7、數(shù)學(xué)集合與搜索
1)集合教材習(xí)題解答可以表示:整數(shù)集基本概念;以整數(shù)集為基礎(chǔ)知識的抽象數(shù)據(jù)類型;用位向量實(shí)現(xiàn)方法整數(shù)集抽像據(jù)類型;用穩(wěn)定有序鏈表基于集合的抽象數(shù)據(jù)類型
2)等價(jià)類:等價(jià)關(guān)系與等價(jià)類;確認(rèn)真包含類的鏈表方法;并查集
3)簡單點(diǎn)搜索結(jié)構(gòu):搜索的概念;支持靜態(tài)搜索結(jié)構(gòu);順序搜索;基于組件活動(dòng)有序順序表的對分搜索
4)二叉搜索樹:定義;二叉搜索樹上的搜索;二叉搜索樹的插入到;二叉搜索樹的徹底刪除;與二叉搜索樹相關(guān)的中序游標(biāo)類
5)AVI樹:AVI樹的定義;平衡化旋轉(zhuǎn);AVI樹的再插入和徹底刪除;AVI樹的高度
8、圖
1)圖的基本概念:圖的基本概念;圖的抽象數(shù)據(jù)類型
2)圖的儲存表示:鄰接矩陣;延伸部分表;過渡區(qū)多貴表
3)圖的遍歷數(shù)組與連通性:深度優(yōu)先搜索;廣度優(yōu)先于搜索;相連分量;重連通分量
4)最小生成樹:克魯斯卡爾算法;普里姆算法
5)活動(dòng)網(wǎng)絡(luò):用頂點(diǎn)它表示活動(dòng)的網(wǎng)絡(luò);用邊表示活動(dòng)的網(wǎng)絡(luò)
9、排序
1)插入排序:真接插入升序;對分插入排序;鏈表插入排序;希爾排序
2)同樣排序:起泡排序;快速排序
3)選擇排序:就你選排序;錦標(biāo)賽排序;堆排序
4)歸并排序:歸并;迭代的歸并排序算法;遞歸過程的表區(qū)域合并排序
5)基數(shù)排序:多關(guān)鍵碼排序;鏈?zhǔn)交鶖?shù)排序
6)外排序:外排序的都差不多過程;k路平衡歸并;初始?xì)w并段的生成;最適合歸并樹
10、索引與散列結(jié)構(gòu)
1)動(dòng)態(tài)和靜態(tài)索引結(jié)構(gòu):線性索引;倒排表;m路動(dòng)態(tài)和靜態(tài)中搜索樹
2)相冊索引結(jié)構(gòu):動(dòng)態(tài)的m路查看樹;b_樹;b_樹的插入;b_樹的刪除;b樹
3)散列:詞典的抽象數(shù)據(jù)類型;散列表與散列方法;散列函數(shù);處理溢出的閉散列方法;一次性處理流出的開散列方法;散列表總結(jié)
第二部分:軟件工程
一、參考書目
張海藩張海藩_,牟永敏牟永敏_著,《軟件工程導(dǎo)論》(第6版),清華大學(xué)出版社,2013年
二、考試內(nèi)容范圍
掌握到軟件工程的基本概念、基本原理和基本方法;掌握到可行性研究、需求分析、軟件設(shè)計(jì)、軟件測試、魔獸維護(hù)和衍化、軟件過程和管理等方面的基礎(chǔ)知識,組建軟件開發(fā)的系統(tǒng)化和工程化的概念和質(zhì)量意識,還能夠綜合利用軟件工程的方法與技術(shù)。
1、軟件工程主要內(nèi)容
1)軟件的本質(zhì)特征和軟件開發(fā)的本質(zhì)困難
2)軟件危機(jī)的產(chǎn)生及軟件工程的起源
3)軟件工程的定義
4)軟件工程學(xué)科的重要地位
2、軟件生命周期
1)需求:需求的定義和類型、需求工程過程、需求規(guī)格只能證明、需求評審
設(shè)計(jì):高層設(shè)計(jì)和具體一點(diǎn)設(shè)計(jì)
2)測試:不驗(yàn)證與確認(rèn)、單元測試、集成測試、驗(yàn)證測試和測試工作、回歸測試和部署
3)程序維護(hù)和演化出:演化的基本概念、演化和魔獸維護(hù)活動(dòng)、程序理解和逆向工程、系統(tǒng)和過程的再工程過程
4)項(xiàng)目管理:人員組織和管理、項(xiàng)目計(jì)劃和監(jiān)視、軟件暗自盤算、風(fēng)險(xiǎn)控制、配置管理
3、軟件過程模型(一)
1)瀑布模型
2)衍化模型及增量和迭代方法的本質(zhì)特征
3)螺旋模型
4、軟件過程模型(二)
1)材軟件開發(fā)過程模型
2)攻擊速度過程模型
5、可行性分析
1)可行性研究的目標(biāo)
2)可行性研究的過程和預(yù)期好結(jié)果
3)經(jīng)濟(jì)可行性的基本概念和評估方法
4)技術(shù)可行性的基本概念
5)合規(guī)可行性的基本概念
6、需求工程概要
1)軟件需求的根本不挑戰(zhàn)
2)軟件需求的制品
3)需求工程過程--需求獲取、分析、規(guī)約和驗(yàn)證
4)需求管理--需求跟蹤監(jiān)視、優(yōu)先級和需求變更
5)領(lǐng)域模型和數(shù)據(jù)字典
7、結(jié)構(gòu)化需求分析
1)建?;A(chǔ):模型和視圖
2)系統(tǒng)流程圖
3)數(shù)據(jù)流圖
4)實(shí)體-聯(lián)系聯(lián)系圖
5)狀態(tài)轉(zhuǎn)換成圖、IPO圖
8、面向?qū)ο笮枨蠓治觯ㄒ唬?/p>
1)UML建?;A(chǔ)
2)用例和用例圖
3)用例圖的基本是符號與企業(yè)應(yīng)用程序關(guān)系
4)商業(yè)用例詳細(xì)解釋
9、面向?qū)ο笮枨蠓治觯ǘ?/p>
1)用活動(dòng)圖、順序圖和通信圖描述用戶痛點(diǎn)
2)領(lǐng)域的概念類與類圖
3)類之間的關(guān)系
4)過程模型的創(chuàng)建步驟與建模舉例子
10、軟件設(shè)計(jì)基礎(chǔ)
1)總體設(shè)計(jì)和具體一點(diǎn)電腦設(shè)計(jì)的概念
2)軟件設(shè)計(jì)過程
3)軟件設(shè)計(jì)的基本原理
4)軟件設(shè)計(jì)的啟發(fā)式規(guī)則
5)非功能性需求和軟件設(shè)計(jì)
11、人機(jī)界面設(shè)計(jì)
1)像是的人機(jī)界面設(shè)計(jì)原則
2)人機(jī)交互和界面風(fēng)格
3)人機(jī)界面講與建模
4)界面設(shè)計(jì)活動(dòng)和設(shè)計(jì)原則
5)界面設(shè)計(jì)的實(shí)現(xiàn)工具
6)可用性和人機(jī)交互評價(jià)
12、軟件體系結(jié)構(gòu)基礎(chǔ)
1)軟件體系結(jié)構(gòu)視圖
2)軟件體系結(jié)構(gòu)模式明確的
3)基于組件構(gòu)件的軟件開發(fā)和UML構(gòu)件圖
4)在用UML作戰(zhàn)部署圖描述部署模型
13、結(jié)構(gòu)化軟件設(shè)計(jì)
1)層次圖、HIPO圖和結(jié)構(gòu)圖
2)程序流程圖、盒圖
3)不能判斷表和進(jìn)一步判斷樹
4)面向數(shù)據(jù)流的設(shè)計(jì)方法
14、面向?qū)ο筌浖O(shè)計(jì)
1)需求分析的精化-實(shí)體類、邊界類和控制類
2)類圖和對象圖
3)CRC技術(shù)
4)類之間的關(guān)系
5)從分析類到射擊類
6)使用狀態(tài)機(jī)圖通過設(shè)計(jì)建模
7)不使用活動(dòng)圖、順序圖和通信圖參與設(shè)計(jì)建模
15、程序設(shè)計(jì)語言和編碼
1)程序設(shè)計(jì)語言
2)編程規(guī)范和程序設(shè)計(jì)風(fēng)格
3)軟件設(shè)計(jì)質(zhì)量度量
4)McCabe急切度分析
16、軟件測試、軟件以維護(hù)和演化出
1)軟件測試的目的
2)軟件測試策略和模型
3)灰盒測試
4)測試用例的編寫
5)軟件測試成功標(biāo)準(zhǔn)
6)軟件程序維護(hù)的概念
7)軟件維護(hù)過程
8)軟件演變和再工程技術(shù)
軟件危機(jī)的準(zhǔn)確定義是什么?
軟件危機(jī)(Software Crisis)是計(jì)算機(jī)軟件在它的開發(fā)和維護(hù)過程中所遇到的一系列相當(dāng)嚴(yán)重問題。概括地說,通常真包含兩方面的問題:如何能旗下軟件,怎么樣才能柯西-黎曼方程對軟件日益強(qiáng)大增長的速度的需求;如何能維護(hù)數(shù)量不斷地迅速膨脹的已有軟件。“軟件危機(jī)”令人們就開始對軟件及特性并且加深三步的研究,人們轉(zhuǎn)變了早期對軟件的不對的看法。早期那些被如果說是優(yōu)秀的程序動(dòng)不動(dòng)愛不是那么容易被別人看懂,通篇充滿了程序技巧?,F(xiàn)在人們普片其實(shí)杰出的的程序以外功能正確的,性能優(yōu)良之外,還應(yīng)該要不容易看懂、不容易不使用、不容易修改和擴(kuò)充。程序設(shè)計(jì)語言雖說為計(jì)算機(jī)的應(yīng)用新開拓了到極點(diǎn)廣闊的前景,但游蕩在軟件世界的幽靈——“軟件危機(jī)”卻存在。是因?yàn)檐浖拈_發(fā)不單造成程序設(shè)計(jì)的方法、結(jié)構(gòu)的制約,并且給予開發(fā)周期和軟件開發(fā)成本的限制,更重要的是軟件質(zhì)量的保障與其程序設(shè)計(jì)的正確性關(guān)系頗大。假如所變更土地性質(zhì)的軟件其可靠性無法得到保障,在運(yùn)行中很快就會再產(chǎn)生后果不堪設(shè)想啊的嚴(yán)重后果。其次就是,有軟件危機(jī)的存在,也隨機(jī)著程序員斷的去更新完和完善系統(tǒng)軟件