軟件工程概念_第1頁(yè)
軟件工程概念_第2頁(yè)
軟件工程概念_第3頁(yè)
軟件工程概念_第4頁(yè)
軟件工程概念_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件工程概念第一章:軟件定義1.軟件(Software):計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序(Program),數(shù)據(jù)(Data)及其相關(guān)文檔(Document)的完整集合。2.軟件的特征:邏輯復(fù)雜,開(kāi)發(fā)復(fù)雜,成本高,風(fēng)險(xiǎn)大,維護(hù)困難。3.按軟件功能分類(lèi):系統(tǒng)軟件,支撐軟件,應(yīng)用軟件。系統(tǒng)軟件:操作系統(tǒng),數(shù)據(jù)庫(kù)管理系統(tǒng),設(shè)備驅(qū)動(dòng)程序,通信處理程序等。支撐軟件:文本編輯程序,文件格式化程序,程序庫(kù)系統(tǒng)等應(yīng)用軟件:商業(yè)數(shù)據(jù)處理軟件,工程與科學(xué)計(jì)算軟件,計(jì)算機(jī)輔助設(shè)計(jì)/制造軟件,系統(tǒng)仿真軟件,智能嵌入軟件,醫(yī)療、制藥軟件,事務(wù)管理、辦公自動(dòng)化軟件。按軟件規(guī)模分類(lèi):微型,小型,中型,大型,甚大型,極大型。按軟件工作方式分:實(shí)時(shí)處理軟件,分時(shí)軟件,交互式軟件,批處理軟件4.軟件危機(jī):是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題5.軟件危機(jī)主要是兩個(gè)問(wèn)題:1.如何開(kāi)發(fā)軟件,以滿(mǎn)足對(duì)軟件的日益增長(zhǎng)的需求?2.如何維護(hù)數(shù)量不斷膨脹的已有軟件?5.軟件危機(jī)的表現(xiàn):1.成本高,開(kāi)發(fā)成本估計(jì)不準(zhǔn)確2.軟件質(zhì)量不高、可靠性差3.進(jìn)度難以控制4.維護(hù)非常困難5.用戶(hù)不滿(mǎn)意6.由于軟件質(zhì)量問(wèn)題導(dǎo)致失敗的軟件項(xiàng)目非常多。6.產(chǎn)生軟件危機(jī)的原因:1.與軟件本身的特點(diǎn)有關(guān)2.與軟件開(kāi)發(fā)與維護(hù)的方法不正確有關(guān).軟件工程學(xué)的目的:以較低的成本研制具有較高質(zhì)量的軟件軟件工程技術(shù)的兩個(gè)明顯特點(diǎn):1.強(qiáng)調(diào)規(guī)范化2.強(qiáng)調(diào)文檔化軟件工程的基本原理(7條):1.用分階段的生命周期計(jì)劃嚴(yán)格管理2.堅(jiān)持進(jìn)行階段評(píng)審3.實(shí)嚴(yán)格的產(chǎn)品控制4.采用現(xiàn)代程序設(shè)計(jì)技術(shù)5.結(jié)果應(yīng)能清楚地審查6.開(kāi)發(fā)小組的人員應(yīng)該少而精7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性8.軟件工程方法學(xué)包含3個(gè)要素:方法、工具和過(guò)程9.軟件生命周期:軟件定義(問(wèn)題定義,可行性研究,需求分析),軟件開(kāi)發(fā)(總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼和單元測(cè)試,集成測(cè)試),運(yùn)行維護(hù)(持久滿(mǎn)足用戶(hù)需求)10.軟件過(guò)程模型:瀑布模型,快速原型模型,增量模型,螺旋模型,噴泉模型。11.軟件過(guò)程模型RUP:初始階段,細(xì)化階段,構(gòu)造階段,移交階段第二章:可行性研究的任務(wù)1.可行性研究的五個(gè)方案:技術(shù)可行性,經(jīng)濟(jì)可行性,操作可行性,法律可行性,社會(huì)效益2.可行性研究過(guò)程:1.復(fù)查系統(tǒng)規(guī)模與目標(biāo)、2.研究目前的系統(tǒng)、3.導(dǎo)出新系統(tǒng)的高層邏輯模型、4.進(jìn)一步定義問(wèn)題、5.導(dǎo)出和評(píng)價(jià)供選擇的解法、6.推薦行動(dòng)方針、7.草擬開(kāi)發(fā)計(jì)劃、8.書(shū)寫(xiě)文檔提交審查3.系統(tǒng)流程圖:用來(lái)描述物理系統(tǒng)的工具。4.系統(tǒng)流程圖表達(dá):是數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)的情況,而不是對(duì)數(shù)據(jù)進(jìn)行加工處理的控制過(guò)程。即:系統(tǒng)流程圖≠程序流程圖。5.系統(tǒng)流程圖的基本思想:用圖形符號(hào)以黑盒子形式描繪組成系統(tǒng)的每個(gè)部件6.系統(tǒng)流程圖元素:處理,輸入輸出,連接,換頁(yè)連接,數(shù)據(jù)流。7.數(shù)據(jù)流圖:用來(lái)描述邏輯系統(tǒng)的工具。數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過(guò)程中所經(jīng)受的變換,即數(shù)據(jù)流圖描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過(guò)程。8.數(shù)據(jù)流圖四種基本符號(hào):數(shù)據(jù)加工/處理/變換,數(shù)據(jù)源點(diǎn)或終點(diǎn)(外部實(shí)體),數(shù)據(jù)存儲(chǔ),數(shù)據(jù)流。9.數(shù)據(jù)字典的組成:數(shù)據(jù)流,數(shù)據(jù)流分量(數(shù)據(jù)元素),數(shù)據(jù)存儲(chǔ),處理。10.數(shù)據(jù)元素:順序,選擇,重復(fù),可選。第三章:需求分析1.需求分析:軟件定義時(shí)期的最后一個(gè)階段,2.需求分析的基本任務(wù):不是確定系統(tǒng)怎樣完成它的工作,而是確定系統(tǒng)必須完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。3.軟件需求的組成:業(yè)務(wù)需求,用戶(hù)需求,系統(tǒng)需求。4.需求分析方法:面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA),面向?qū)ο蟮姆治龇椒?OOA)等5.邏輯模型:數(shù)據(jù)流圖(DFD),數(shù)據(jù)字典(DD),實(shí)體-關(guān)系圖(ERD),狀態(tài)轉(zhuǎn)換圖(STD)6.物理模型:系統(tǒng)流程圖,7.需求分析的基本思想:“自頂向下,逐步求精”,抽象和分解8.需求分析;功能模型—數(shù)據(jù)流圖,數(shù)據(jù)模型—實(shí)體-關(guān)系圖,行為模型—狀態(tài)轉(zhuǎn)換圖9.實(shí)體-關(guān)系圖(ERD):描述數(shù)據(jù)對(duì)象及數(shù)據(jù)對(duì)象之間的關(guān)系10.數(shù)據(jù)流圖(DFD):描述數(shù)據(jù)在系統(tǒng)中如何被傳送或變換,以及描述如何對(duì)數(shù)據(jù)流進(jìn)行變換的功能(子功能)11.狀態(tài)轉(zhuǎn)換圖(STD):描述系統(tǒng)對(duì)外部事件如何響應(yīng),如何動(dòng)作模型的核心是數(shù)據(jù)字典12.實(shí)體-聯(lián)系圖(ER)組成::數(shù)據(jù)對(duì)象(實(shí)體)、數(shù)據(jù)對(duì)象的屬性及數(shù)據(jù)對(duì)象彼此間相互連接的關(guān)系。聯(lián)系:一對(duì)一聯(lián)系,一對(duì)多聯(lián)系,多對(duì)多聯(lián)系。通常用矩形框代表實(shí)體;用連接相關(guān)實(shí)體的菱形框表示關(guān)系;用橢圓形或圓角矩形表示實(shí)體(或關(guān)系)的屬性;并用直線(xiàn)把實(shí)體(或關(guān)系)與其屬性連接起來(lái)。13.數(shù)據(jù)規(guī)范化目的是:1.消除數(shù)據(jù)冗余,即消除表格中數(shù)據(jù)的重復(fù);2.消除多義性,使關(guān)系中的屬性含義清楚、單一;3.使關(guān)系的“概念”單一化,讓每個(gè)數(shù)據(jù)項(xiàng)只是一個(gè)簡(jiǎn)單的數(shù)或字符串,而不是一個(gè)組項(xiàng)或重復(fù)組;4.方便操作。使數(shù)據(jù)的插入、刪除與修改操作可行并方便;5.使關(guān)系模式更靈活,易于實(shí)現(xiàn)接近自然語(yǔ)言的查詢(xún)方式。14.狀態(tài)轉(zhuǎn)換圖(簡(jiǎn)稱(chēng)為狀態(tài)圖):通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的行為。此外,狀態(tài)圖還指明了作為特定事件的結(jié)果,系統(tǒng)將做哪些動(dòng)作(例如,處理數(shù)據(jù))。15.狀態(tài):初態(tài):一個(gè),終態(tài):0或多個(gè),中間狀態(tài)16.驗(yàn)證軟件需求:一致性,完整性,現(xiàn)實(shí)性,有效性。第五章:總體設(shè)計(jì)1.總體設(shè)計(jì)(概要設(shè)計(jì)):將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)2.數(shù)據(jù)庫(kù)設(shè)計(jì)包括三個(gè)步驟:模式設(shè)計(jì),子模式設(shè)計(jì),存儲(chǔ)模式設(shè)計(jì)。3.軟件設(shè)計(jì)原理:模塊化,抽象,逐步求精,信息隱藏與信息局部化,模塊獨(dú)立4.模塊:是由邊界元素限定的相鄰程序元素(例如,數(shù)據(jù)說(shuō)明,可執(zhí)行的語(yǔ)句)的序列,而且有一個(gè)總體標(biāo)識(shí)符代表它。C、C++和Java語(yǔ)言中的{...}對(duì)過(guò)程、函數(shù)、子程序和宏等面向?qū)ο蠓椒▽W(xué)中的對(duì)象是模塊,對(duì)象內(nèi)的方法也是模塊模塊化是好的軟件設(shè)計(jì)的一個(gè)基本準(zhǔn)則5.模塊獨(dú)立的含義:模塊完成獨(dú)立的功能,符合信息隱藏和信息局部化原則,模塊間關(guān)連和依賴(lài)程度盡量小。6.獨(dú)立性的度量:耦合、內(nèi)聚。7.耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。8.耦合的強(qiáng)弱取決于模塊間接口的復(fù)雜程度,進(jìn)入或訪(fǎng)問(wèn)一個(gè)模塊的點(diǎn)以及通過(guò)接口的數(shù)據(jù)9.模塊間的耦合程度強(qiáng)烈影響系統(tǒng)的可理解性、可測(cè)試性、可靠性和可維護(hù)性。耦合性越高,模塊獨(dú)立性越弱10.耦合強(qiáng)度依賴(lài)的因素:一模塊對(duì)另一模塊的引用一模塊向另一模塊傳遞的數(shù)據(jù)量一模塊施加到另一模塊的控制的數(shù)量模塊間接口的復(fù)雜程度11.耦合性由強(qiáng)到弱排列為:內(nèi)容耦合,公共耦合,特征耦合,控制耦合,數(shù)據(jù)耦合。12.原則:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共耦合的范圍,完全不用內(nèi)容耦合。13.內(nèi)聚(Cohesion):標(biāo)志一個(gè)模塊內(nèi)各元素彼此結(jié)合的緊密程度。14.內(nèi)聚有七種,由弱到強(qiáng)分別為:偶然內(nèi)聚->邏輯內(nèi)聚->時(shí)間內(nèi)聚->過(guò)程內(nèi)聚->通信內(nèi)聚->順序內(nèi)聚->功能內(nèi)聚。15.深度=分層的層數(shù)。過(guò)大表示分工過(guò)細(xì)。16.寬度=同一層上模塊數(shù)的最大值。過(guò)大表示系統(tǒng)復(fù)雜度大。17.扇出=一個(gè)模塊直接調(diào)用/控制的模塊數(shù)。18.扇入=直接調(diào)用該模塊的模塊數(shù)。19控制域:這個(gè)模塊本身以及所有直接或間接從屬于它的模塊的集合。20.作用域:受該模塊中的一個(gè)判定所影響的所有模塊的集合。面向數(shù)據(jù)流的設(shè)計(jì)方法:變換流,事務(wù)流。第六章:詳細(xì)設(shè)計(jì)1.詳細(xì)設(shè)計(jì):描述系統(tǒng)的每個(gè)程序,包括每個(gè)模塊和子程序名稱(chēng)、標(biāo)識(shí)符、層次結(jié)構(gòu)系2.對(duì)程序的功能、性能、輸入、輸出、算法、流程、接口等進(jìn)行描述3.程序控制結(jié)構(gòu):順序、選擇,循環(huán),(多分支,DOWhile,DOUntil)五種基本控制結(jié)構(gòu)。4.程序流程圖又稱(chēng)為程序框圖:是對(duì)一個(gè)模塊的內(nèi)部執(zhí)行過(guò)程用圖形來(lái)描述。5.盒圖:只能從上邊進(jìn)入,從下邊走出,沒(méi)有其他的入口和出口,6.盒圖的基本符號(hào):順序,選擇型(If-then-else),多分支選擇型(CASE型),DO-WHILE循環(huán)(先測(cè)試循環(huán)),DO-UNTIL循環(huán)(后測(cè)試循環(huán)).調(diào)用子程序.7.PAD圖:PAD圖中豎線(xiàn)的總條數(shù)就是程序中的層次數(shù)8.PAD圖基本符號(hào):順序,選擇,循環(huán),Case分支,語(yǔ)句標(biāo)號(hào),定義.9.判定表:左上部列出所有的條件,左下部是所有可能的操作,右上部是各種條件的組合矩陣,右下部是每種條件組合對(duì)應(yīng)的動(dòng)作第七章:軟件實(shí)現(xiàn)1.實(shí)現(xiàn):編碼和測(cè)試2編碼:把軟件設(shè)計(jì)結(jié)果翻譯成用某種程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序3.程序設(shè)計(jì)語(yǔ)言:機(jī)器語(yǔ)言,匯編語(yǔ)言,高級(jí)語(yǔ)言4.程序內(nèi)部的文檔包括:恰當(dāng)?shù)臉?biāo)識(shí)符,適當(dāng)?shù)淖⑨專(zhuān)绦虻囊曈X(jué)組織。5.符號(hào)名即標(biāo)識(shí)符;包括模塊名、變量名、常量名、標(biāo)號(hào)名、子程序名、數(shù)據(jù)區(qū)名以及緩沖區(qū)名等。6.程序的注釋:程序員與日后的程序讀者之間通信的重要手段7.注釋分為序言性注釋和功能性注釋.8.軟件測(cè)試是保證軟件質(zhì)量的關(guān)鍵步驟,是對(duì)軟件規(guī)格說(shuō)明、設(shè)計(jì)和編碼的最后復(fù)審,其工件量約占總工作量40%以上(對(duì)于人命關(guān)天的情況,測(cè)試相當(dāng)于其它部分總成本的3-5倍)。8.軟件測(cè)試方法:靜態(tài)測(cè)試方法,,動(dòng)態(tài)測(cè)試方法9.靜態(tài)測(cè)試方法:人工測(cè)試方法,計(jì)算機(jī)輔助靜態(tài)分析方法10.動(dòng)態(tài)測(cè)試方法:白盒測(cè)試方法,黑盒測(cè)試方法.11.黑盒測(cè)試法又稱(chēng)功能測(cè)試:把程序看作一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程12.白盒測(cè)試法又稱(chēng)為結(jié)構(gòu)測(cè)試:把程序看成裝在一個(gè)透明的白盒子,測(cè)試者完全知道程序的結(jié)構(gòu)和處理算法13.軟件測(cè)試步驟:1.模塊測(cè)試又稱(chēng)(單元測(cè)試),2.子系統(tǒng)測(cè)試,3.系統(tǒng)測(cè)試稱(chēng)為集成測(cè)試,4.驗(yàn)收測(cè)試也稱(chēng)為確認(rèn)測(cè)試,5.平行運(yùn)行14.單元測(cè)試主要使用白盒測(cè)試技術(shù)。15.單元測(cè)試重點(diǎn):模塊接口,局部數(shù)據(jù)結(jié)構(gòu),重要的執(zhí)行通路,出錯(cuò)處理通路,邊界條件。16.集成測(cè)試方法:非漸增式測(cè)試方法,漸增式測(cè)試方法17.漸增式測(cè)試策略:可使用深度優(yōu)先的策略,或?qū)挾葍?yōu)先的策略18.回歸測(cè)試:是指重新執(zhí)行已經(jīng)做過(guò)的測(cè)試的某個(gè)子集,以保證修改變化沒(méi)有帶來(lái)非預(yù)期的副作用。19.白盒測(cè)試技術(shù):邏輯覆蓋20.邏輯覆蓋是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的設(shè)計(jì)測(cè)試用例的技術(shù)。21.邏輯覆蓋:語(yǔ)句覆蓋,判定覆蓋,條件覆蓋,判定-條件覆蓋,條件組合覆蓋,21.路徑覆蓋,點(diǎn)覆蓋=語(yǔ)句覆蓋,邊覆蓋=判定覆蓋,路徑覆蓋與條件組合覆蓋。22.語(yǔ)句覆蓋:每條語(yǔ)句至少執(zhí)行一次23.判定覆蓋:每一判定的每個(gè)分支至少執(zhí)行一次24.條件覆蓋:每一判定中的每個(gè)條件,分別按“真”、“假”至少各執(zhí)行一次25.判定-條件覆蓋:同時(shí)滿(mǎn)足判定覆蓋和條件覆蓋的要求26.條件組合覆蓋:求出判定中所有條件的各種可能組合值,每一可能的條件組合至少執(zhí)行一次。27.路徑覆蓋:每條可能的路徑都至少執(zhí)行一次,若圖中有環(huán),則每個(gè)環(huán)至少經(jīng)過(guò)一次28.黑盒測(cè)試著重測(cè)試軟件功能。29.黑盒測(cè)試技術(shù):等價(jià)類(lèi)劃分,邊界值分析法,錯(cuò)誤推測(cè)法30.等價(jià)類(lèi):有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)31.邊界值分析法,應(yīng)該選取剛好等于、稍小于和稍大于等價(jià)類(lèi)邊界值的數(shù)據(jù)作為測(cè)試數(shù)據(jù)32.調(diào)試途徑—調(diào)試策略:蠻干法,回溯法,原因排除法--33.原因排除法-包括:對(duì)分查找法、歸納法、演繹法34.軟件可靠性:可靠性,可用性,正確性35.可靠性和可用性的區(qū)別是:可靠性是在0到t時(shí)間間隔內(nèi),系統(tǒng)沒(méi)有失效的概率。而可用性是在t時(shí)刻,系統(tǒng)正常運(yùn)行的概率。第九章:軟件維護(hù)1.軟件維護(hù)的定義:在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿(mǎn)足新的需要而修改軟件的過(guò)程。2.軟件維護(hù)的原因:在運(yùn)行中發(fā)現(xiàn)軟件錯(cuò)誤和設(shè)計(jì)缺陷,這些錯(cuò)誤和缺陷在測(cè)試階段未能發(fā)現(xiàn)。3.軟件維護(hù)的類(lèi)型:改正性維護(hù),適應(yīng)性維護(hù),完善性維護(hù),預(yù)防性維護(hù)4.軟件維護(hù)的內(nèi)容:程序維護(hù),數(shù)據(jù)維護(hù),硬件維護(hù)5.軟件維護(hù)的特點(diǎn):結(jié)構(gòu)化維護(hù)與非結(jié)構(gòu)化,維護(hù)的代價(jià)分(有形代價(jià)和無(wú)形代價(jià)),維護(hù)的問(wèn)題。6.軟件維護(hù)過(guò)程:建立維護(hù)組織,維護(hù)報(bào)告,維護(hù)的事件流,保存維護(hù)記錄,評(píng)價(jià)維護(hù)活動(dòng),7.軟件的可維護(hù)性:1.決定軟件可維護(hù)性的因素(可理解性,可測(cè)試性,可修改性,可移植性,可重用性)2.文檔——影響可維護(hù)性的決定因素,比代碼更重要。3.復(fù)審2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論