四種常見的軟件開發(fā)模型適用范圍 開發(fā)軟件的工具有哪些?
開發(fā)軟件的工具有哪些?軟件開發(fā)工具很多,可是功能強(qiáng)大的就這樣幾個(gè),下面舉例我廣泛的幾個(gè)開發(fā)工具:IDEA這個(gè)的確是目前最智能的編譯器,它這個(gè)可以提示一些很基礎(chǔ)卻很閃避的代碼錯(cuò)誤,特別是利用寫Java代
開發(fā)軟件的工具有哪些?
軟件開發(fā)工具很多,可是功能強(qiáng)大的就這樣幾個(gè),下面舉例我廣泛的幾個(gè)開發(fā)工具:
IDEA這個(gè)的確是目前最智能的編譯器,它這個(gè)可以提示一些很基礎(chǔ)卻很閃避的代碼錯(cuò)誤,特別是利用寫Java代碼等。其他衍生的應(yīng)用Webstorm、Pycharm、CLion等,各可以要好地用處寫JavaScript、Python、C代碼。
StudioCodevscode,一開始是一款很極為強(qiáng)大、很比較熱門的前端編譯器,像Vue框架的作者尤雨溪,在可以公開場(chǎng)合,單獨(dú)寫代碼的編譯器,老祖它了??墒枪P者主要從事外貿(mào)Java開發(fā),在用IDEA來的新的頻率高點(diǎn),并不可以使用vscode,更多的是把它當(dāng)成一個(gè)文本編輯器,它接受多種編程語(yǔ)言的語(yǔ)法高亮,如你前者看一些開源的代碼,也可以編輯一些腳本如nginx,又不想開店占內(nèi)存的大應(yīng)用IDEA,輕量的vscode老祖最好是的選擇了。
3.SwitchHosts我們旗下,你經(jīng)常會(huì)做一些域名映射,如何能你做到短除法、急速、批量改地快速切換域名,使用switchhosts就夠了。這個(gè)應(yīng)用,可能會(huì)很多開發(fā)者不知道,在GitHub上就是可以免費(fèi)下載不使用了。
我有這樣個(gè)最常見的場(chǎng)景,那是登陸進(jìn)一臺(tái)Linux服務(wù)器,對(duì)里邊做些配置,應(yīng)用重新部署等,它就這樣一個(gè)方便啊我們到里面操作的工具。支持高亮,可以清晰看中里邊的各種類型。文件有圖形界面,方便些文件上傳,文本打開編輯器。
主要專用,也就那就十幾個(gè),這幾個(gè)用好,也就這個(gè)可以能勝任很多開發(fā)工作了。
軟件工程導(dǎo)論考研大綱?
上海理工大學(xué)2021年869數(shù)據(jù)結(jié)構(gòu)及軟件工程考研大綱
第一部分:數(shù)據(jù)結(jié)構(gòu)
一、參考書目
《數(shù)據(jù)結(jié)構(gòu)》(C語(yǔ)言版),嚴(yán)蔚敏等主編,清華大學(xué)出版社,2012年
二、考試內(nèi)容要求
1、所了解數(shù)據(jù)結(jié)構(gòu)及分類、數(shù)據(jù)結(jié)構(gòu)與算法的密切關(guān)系。
2、比較熟悉各種基本上數(shù)據(jù)結(jié)構(gòu)非盈利組織會(huì)計(jì)操作,學(xué)會(huì)什么依據(jù)實(shí)際問題特別要求來選擇數(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)基本概念及簡(jiǎn)單的算法總結(jié)
1)什么是數(shù)據(jù)結(jié)構(gòu)
2)抽像數(shù)據(jù)類型及面向?qū)ο蟾拍睿簲?shù)據(jù)類型;數(shù)據(jù)抽象與抽象的概念數(shù)據(jù)類型;面向?qū)ο蟮母拍?;用于具體描述數(shù)據(jù)結(jié)構(gòu)的語(yǔ)言
3)數(shù)據(jù)結(jié)構(gòu)的抽象層次
4)算法定義
5)性能分析與度量:算法的性能標(biāo)準(zhǔn);算法的后期測(cè)試;算法的預(yù)防萬一估記;空間復(fù)雜度度量;時(shí)間復(fù)雜度度量;時(shí)間復(fù)雜度的漸明表示法;漸進(jìn)式的空間奇怪.
2、數(shù)組
1)才是抽象數(shù)據(jù)類型的數(shù)組:數(shù)組的定義和初始化;以及抽像數(shù)據(jù)類型的數(shù)組;數(shù)組的順序存儲(chǔ)
2)順序表:順序表的定義和特點(diǎn);順序表的類定義;順序表的查找、再插入和刪出;使用順序表的事例
3)字符串:字符串的抽象數(shù)據(jù)類型;字符串操作的實(shí)現(xiàn);字符串的模式版本問題
3、鏈表
1)單鏈表:?jiǎn)捂湵淼慕Y(jié)構(gòu);單鏈表的類定義;單鏈表中的直接插入與刪出;帶表頭結(jié)點(diǎn)的單鏈表;用模板定義的單鏈表類;單鏈表的游標(biāo)類;靜態(tài)鏈表
2)循環(huán)鏈表:循環(huán)鏈表的類定義;用循環(huán)鏈表解約瑟夫問題;多項(xiàng)式非盈利組織會(huì)計(jì)相乘:多項(xiàng)式的類定義;多項(xiàng)式的加法
3)雙向鏈表
4、棧和隊(duì)列
1)棧:棧的抽象數(shù)據(jù)類型;棧的順序存儲(chǔ)表示;棧的鏈接讀取意思是
2)隊(duì)列:隊(duì)列的抽象數(shù)據(jù)類型;隊(duì)列的順序讀取它表示;隊(duì)列的鏈接存儲(chǔ)位置表示;3)隊(duì)列的應(yīng)用舉例
4)優(yōu)先級(jí)隊(duì)列:優(yōu)先級(jí)隊(duì)列的定義;優(yōu)先級(jí)隊(duì)列的讀取來表示
5、遞歸算法
1)遞歸的概念
2)迷宮問題
3)遞歸過程與遞歸算法工作棧
4)借用棧實(shí)現(xiàn)的迷宮問題非遞歸解法
5)廣義表:廣義表的概念;廣義表的表示及操作;包容關(guān)系表存儲(chǔ)結(jié)構(gòu)的實(shí)現(xiàn);廣6)義表的訪問算法;廣義表的遞歸算法
6、樹與森林
1)樹和森林的概念:樹的定義;樹的術(shù)語(yǔ);樹的抽象數(shù)據(jù)類型
2)二叉樹:二叉樹的定義;二叉樹的性質(zhì);二叉樹的抽象數(shù)據(jù)類型
3)二叉樹的表示:數(shù)組它表示;鏈表存儲(chǔ)表示
4)二叉樹循環(huán)遍歷:中序循環(huán)遍歷;前序循環(huán)遍歷;后序遍歷;應(yīng)用二叉樹遍歷樹的事例;二叉樹遍歷樹的游標(biāo)類;你不棧的二叉樹中序遍歷數(shù)組算法
5)線索化二叉樹:線索;中序線索化二叉樹;前序與后序的線索化
6)堆:堆的定義;堆的建立;堆的插入到與刪出
7)樹與森林:樹的存儲(chǔ)文件可以表示;森林與二叉樹的轉(zhuǎn)換;樹的遍歷樹;森林的循環(huán)遍歷
二叉樹的計(jì)數(shù)
8)霍夫曼樹:路徑長(zhǎng)度;霍夫曼樹;霍夫曼編碼
7、子集與搜索
1)集合船舶概論意思是:子集基本概念;以真包含于為最基礎(chǔ)的抽象數(shù)據(jù)類型;用位向量基于子集抽象概念據(jù)類型;用進(jìn)出有序鏈表實(shí)現(xiàn)方法集合的抽象數(shù)據(jù)類型
2)等價(jià)類:等價(jià)關(guān)系與等價(jià)類;可以確定等價(jià)類的鏈表方法;并查集
3)簡(jiǎn)單的搜索結(jié)構(gòu):搜索的概念;支持靜態(tài)搜索結(jié)構(gòu);順序搜索;設(shè)計(jì)和實(shí)現(xiàn)有序順序表的對(duì)分搜索
4)二叉搜索樹:定義;二叉搜索樹上的搜索;二叉搜索樹的再插入;二叉搜索樹的徹底刪除;與二叉搜索樹相關(guān)的中序游標(biāo)類
5)AVI樹:AVI樹的定義;平衡化旋轉(zhuǎn);AVI樹的直接插入和刪出;AVI樹的高度
8、圖
1)圖的基本概念:圖的基本概念;圖的抽象數(shù)據(jù)類型
2)圖的讀取來表示:鄰接矩陣;南與表;鄰接重的力表
3)圖的循環(huán)遍歷與連通性:深度優(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)插入排序:直接插入排序;對(duì)分插入排序;鏈表插入排序;希爾排序
2)相互排序:起泡泡排序;快速排序
3)你選排序:就你選排序;錦標(biāo)賽排序;堆排序
4)并入排序:歸并;迭代的歸并排序算法;遞歸過程的表歸并排序
5)基數(shù)排序:多關(guān)鍵碼排序;鏈?zhǔn)交鶖?shù)排序
6)外排序:外排序的基本是過程;k路平衡歸并;精靈歸并到段的生成;最佳的方法歸并樹
10、索引與散列結(jié)構(gòu)
1)靜態(tài)動(dòng)態(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ù);處理瀉出的閉散列方法;去處理瀉出的開散列方法;散列表分析
第二部分:軟件工程
一、參考書目
張海藩張海藩_,牟永敏牟永敏_著,《軟件工程導(dǎo)論》(第6版),清華大學(xué)出版社,2013年
二、考試內(nèi)容范圍
掌握軟件工程的基本概念、基本原理和基本方法;完全掌握可行性研究、需求分析、軟件設(shè)計(jì)、軟件測(cè)試、程序維護(hù)和演變、軟件過程和管理等方面的基礎(chǔ)知識(shí),建立軟件開發(fā)的系統(tǒng)化和工程化的概念和質(zhì)量意識(shí),也能綜合利用軟件工程的方法與技術(shù)。
1、軟件工程概述
1)軟件的本質(zhì)特征和軟件開發(fā)的本質(zhì)困難
2)軟件危機(jī)的產(chǎn)生及軟件工程的起源
3)軟件工程的定義
4)軟件工程學(xué)科的重要地位
2、軟件生命周期
1)需求:需求的定義和類型、需求工程過程、需求規(guī)格只能說明、需求評(píng)審
設(shè)計(jì):高層設(shè)計(jì)和祥細(xì)設(shè)計(jì)
2)測(cè)試:驗(yàn)證驗(yàn)證與確認(rèn)、單元測(cè)試、集成測(cè)試、集成測(cè)試和集成測(cè)試、回歸測(cè)試和部署
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)統(tǒng)一軟件開發(fā)過程模型
2)敏捷屬性過程模型
5、可行性分析
1)可行性研究的目標(biāo)
2)可行性研究的過程和市場(chǎng)預(yù)期結(jié)果
3)經(jīng)濟(jì)可行性的基本概念和評(píng)估方法
4)技術(shù)可行性的基本概念
5)合規(guī)可行性的基本概念
6、需求工程概要
1)軟件需求的根本挑戰(zhàn)
2)軟件需求的制品
3)需求工程過程--需求獲取、分析、規(guī)約和驗(yàn)證
4)需求管理--需求監(jiān)視、優(yōu)先級(jí)和需求變更
5)領(lǐng)域模型和數(shù)據(jù)字典
7、結(jié)構(gòu)化需求分析
1)建?;A(chǔ):模型和視圖
2)系統(tǒng)流程圖
3)數(shù)據(jù)流圖
4)實(shí)體-先聯(lián)系圖
5)狀態(tài)轉(zhuǎn)換圖、IPO圖
8、面向?qū)ο笮枨蠓治觯ㄒ唬?/p>
1)UML建?;A(chǔ)
2)用例和用例圖
3)用例圖的都差不多符號(hào)與商業(yè)用例關(guān)系
4)商業(yè)用例詳細(xì)解釋
9、面向?qū)ο笮枨蠓治觯ǘ?/p>
1)用活動(dòng)圖、順序圖和通信圖描述用戶需求
2)領(lǐng)域的概念類與類圖
3)類之間的關(guān)系
4)設(shè)計(jì)模型的創(chuàng)建角色步驟與建模舉例
10、軟件設(shè)計(jì)基礎(chǔ)
1)總體設(shè)計(jì)和詳細(xì)設(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ī)交互評(píng)價(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)直接判斷表和判定樹
4)走向數(shù)據(jù)流的設(shè)計(jì)方法
14、面向?qū)ο筌浖O(shè)計(jì)
1)需求分析的精化-實(shí)體類、邊界類和控制類
2)類圖和對(duì)象圖
3)CRC技術(shù)
4)類之間的關(guān)系
5)從分析類到射擊類
6)使用狀態(tài)機(jī)圖進(jìn)行設(shè)計(jì)建模
7)使用活動(dòng)圖、順序圖和通信圖參與設(shè)計(jì)建模
15、程序設(shè)計(jì)語(yǔ)言和編碼
1)程序設(shè)計(jì)語(yǔ)言
2)編程規(guī)范和程序設(shè)計(jì)風(fēng)格
3)軟件設(shè)計(jì)質(zhì)量度量
4)McCabe緊張度分析
16、軟件測(cè)試、軟件程序維護(hù)和演變
1)軟件測(cè)試的目的
2)軟件測(cè)試策略和模型
3)黑盒測(cè)試方法
4)灰盒測(cè)試
5)軟件測(cè)試結(jié)束標(biāo)準(zhǔn)
6)軟件魔獸維護(hù)的概念
7)軟件以維護(hù)過程
8)軟件演化和再工程技術(shù)