




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1章軟件工程學(xué)概述基本概念軟件危機、軟件工程、軟件工程方法學(xué)、軟件生命周期、軟件過程、RUP、敏捷過程軟件危機的表現(xiàn)、產(chǎn)生的原因、怎樣消除結(jié)構(gòu)化范型和面向?qū)ο蠓缎偷囊c、優(yōu)缺點軟件生命周期的組成及各階段的基本任務(wù)各類軟件生命周期模型的優(yōu)缺點、適應(yīng)范圍第2章可行性研究基本概念可行性研究、數(shù)據(jù)流圖、數(shù)據(jù)字典可行性研究的目的、任務(wù)數(shù)據(jù)流圖工具的實際應(yīng)用第3章需求分析需求分析的原因、目的通常軟件系統(tǒng)有哪些需求?結(jié)構(gòu)化分析方法建立的3種模型:數(shù)據(jù)模型、功能模型、行為模型。怎樣建立?各種圖形工具的實際應(yīng)用。第5章總體設(shè)計軟件設(shè)計階段的任務(wù)軟件設(shè)計過程中應(yīng)該遵循的基本原理和啟發(fā)規(guī)則模塊獨立的優(yōu)點衡量模塊獨立性的標(biāo)準:耦合和內(nèi)聚如何提高模塊獨立性涉及到的原理、概念面向數(shù)據(jù)流的設(shè)計方法把數(shù)據(jù)流圖轉(zhuǎn)換成軟件結(jié)構(gòu)第6章詳細設(shè)計什么是結(jié)構(gòu)程序設(shè)計?人機界面的設(shè)計問題過程設(shè)計的工具程序流程圖、盒圖、PAD圖、判定樹、判定表、PDL面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法Jackson圖流圖和McCabe環(huán)路復(fù)雜度第7章實現(xiàn)編碼風(fēng)格軟件測試的概念、目的、方法單元測試、集成測試、系統(tǒng)測試、驗收測試白盒測試技術(shù):邏輯覆蓋和路徑覆蓋黑盒測試技術(shù):等價類劃分和邊界值分析、錯誤推測法測試與調(diào)試的區(qū)別軟件可靠性的概念第8章維護軟件維護的定義和4類活動軟件可維護性、怎樣提高軟件產(chǎn)品的可維護性第9章面向?qū)ο蠓椒▽W(xué)引論面向?qū)ο蠓椒▽W(xué)的要點、優(yōu)點面向?qū)ο蠓椒▽W(xué)與傳統(tǒng)方法學(xué)的區(qū)別與聯(lián)系面向?qū)ο蟮囊恍┗靖拍顚ο?、類、實例、消息、方法、屬性、封裝、繼承、多態(tài)、重載結(jié)構(gòu)化分析方法建立的3種模型:對象模型、動態(tài)模型、功能模型。建立這些模型時主要使用哪些符號/工具?單項選擇(每小題2分)判斷對錯(每小題1分)簡答綜合題軟件工程中的方法技術(shù)的應(yīng)用第一章軟件危機概念:指在計算機軟件的開發(fā)和維護過程中,所遇到的一系列嚴重問題。P1軟件危機表現(xiàn):P21.對軟件開發(fā)成本和進度的估計常常很不正確2.用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生3.軟件產(chǎn)品的質(zhì)量往往靠不住4.軟件常常是不可維護的5.軟件通常沒有適當(dāng)?shù)奈臋n資料6.軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升7.軟件開發(fā)生產(chǎn)率提高的速度遠遠跟不上計算機應(yīng)用迅速普及深入的趨勢軟件危機原因:P31.與軟件本身的特點有關(guān)2.與軟件開發(fā)與維護的方法不正確有關(guān)①軟件開發(fā)尚未完全擺脫手工開發(fā)方式。②軟件成本相當(dāng)昂貴,主要依靠大量復(fù)雜的、高強度的腦力勞動。③軟件的開發(fā)和運行常常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有著不同程度的依賴性。怎樣消除軟件危機:P41、徹底消除“軟件就是程序”的錯誤觀念。2、充分認識到軟件開發(fā)是一種組織良好、管理嚴密、各類人員協(xié)同配合、共同完成的工程項目,不是個人獨立的勞動。3、推廣和使用在實踐中總結(jié)出來的軟件開發(fā)的成功技術(shù)和方法。4、開發(fā)和使用更好的軟件工具軟件工程概念:P5概括地說,軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的一門工程學(xué)科。...p5軟件工程方法學(xué):P9通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué)也稱為范型。結(jié)構(gòu)化范型和面向?qū)ο蠓缎偷囊c:P91采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計和結(jié)構(gòu)化實現(xiàn))來完成軟件開發(fā)的各項任務(wù);2把軟件生命周期劃分為若干個階段,按順序完成每個階段的任務(wù);3每個階段開始和結(jié)束都有嚴格的標(biāo)準,對任何兩個相鄰的階段而言,前一個階段的結(jié)束標(biāo)準就是后一階段的開始標(biāo)準;4每一個階段結(jié)束之前都必須進行正式嚴格的技術(shù)審查和管理復(fù)審傳統(tǒng)方法學(xué)的優(yōu)點:P10分解任務(wù),分工合作,降低整個軟件開發(fā)工程的困難;采用科學(xué)的管理技術(shù)和良好的技術(shù)方法對每個階段成果都進行嚴格的審查。保證了軟件的質(zhì)量。傳統(tǒng)方法學(xué)的缺點:P10把數(shù)據(jù)和操作人為地分離成兩個獨立的部分,增加了軟件開發(fā)與維護的難度。面向?qū)ο蠓缎偷囊c:P101把對象(object)作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件。2功能分解對象分解把所有對象都劃分成類(class)。3按照父類(或稱為基類)與子類(或稱為派生類)的關(guān)系,把若干個相關(guān)類組成一個層次結(jié)構(gòu)的系統(tǒng)(也稱為類等級)。4對象彼此間僅能通過發(fā)送消息互相聯(lián)系。優(yōu)點:P11降低了軟件產(chǎn)品的復(fù)雜性,提高了軟件的可理解性,簡化了軟件的開發(fā)和維護工作。促進了軟件重用。軟件生命周期:指軟件孕育、誕生、成長、成熟、衰亡的生存過程。軟件生命周期的組成P11,及各階段的基本任務(wù):軟件生命周期由軟件定義(系統(tǒng)分析),軟件開發(fā)(具體設(shè)計和實現(xiàn)前一個時期定義的軟件),運行維護(使軟件持久的滿足用戶的需要)3個時期組成,每個階段任務(wù)1-7P11最下面軟件過程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的自工作步驟。P14瀑布模型(開發(fā)需求明確的軟件)P15優(yōu)點:可強迫開發(fā)人員采用規(guī)范的方法;嚴格地規(guī)定了每個階段必須提交的文檔;要求每個階段的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證;缺點:無法解決軟件需求不明確或不準確的問題;可能導(dǎo)致最終開發(fā)的產(chǎn)品不能真正滿足用己戶需要。瀑布模型比較適合開發(fā)需求明確的軟件。快速原型模型(需求不太明確)P16優(yōu)點:1、通常能反映用戶真實需求;2、軟件產(chǎn)品的開發(fā)基本上是線性順序進行的。增量(漸增)模型P17優(yōu)點:能在較短的時間內(nèi),提供可完成部分工作的初步產(chǎn)品給用戶;用戶有較為充裕的時動間學(xué)習(xí)和適應(yīng)新產(chǎn)品。缺點:對開發(fā)人員技術(shù)能力要求較高,要求能從系統(tǒng)整體出發(fā)正確劃分增量構(gòu)件,并進行分手別開發(fā),最后能很好地集成這些構(gòu)件。螺旋模型(適合大型軟件開發(fā))P19優(yōu)點:強調(diào)可選方案和約束條件,有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開豐發(fā)的一個重要目標(biāo);減少了過多測試(浪費資金)或測試不足(產(chǎn)品故障多)所帶來的風(fēng)衣險;維護是一個周期,與開發(fā)并沒有本質(zhì)區(qū)別缺點:需要開發(fā)人員具有相當(dāng)豐富的風(fēng)險評估經(jīng)驗和專門知識;進行風(fēng)險分析的費用可能較足大。RUP概念:P22稱RUP或UP基于構(gòu)件(component),在UML基礎(chǔ)上發(fā)展起來的,“用例驅(qū)動,以架構(gòu)為核食心,迭代并且增量”。在某種程度上,統(tǒng)一過程嘗試從傳統(tǒng)軟件過程中挖掘最好的特征和性懶質(zhì),但是以敏捷開發(fā)中許多好的原則來實現(xiàn)。敏捷過程概念:P25敏捷過程是針對傳統(tǒng)的瀑布開發(fā)模式的弊端而產(chǎn)生的一種新的開發(fā)模式,目標(biāo)是提高開發(fā)效惰率和響應(yīng)能力。根據(jù)下述4個價值觀提出的軟件過程統(tǒng)稱為敏捷過程1開發(fā)人員的素質(zhì)及相互間的交互與協(xié)作比過程和工具更重要2可以工作的軟件比面面俱到的文檔更重要3與客戶的合作比合同談判更重要4及時響應(yīng)變化比死板地遵循計劃更重要第二章可行性研究:開發(fā)一個基于計算機的系統(tǒng)通常都受到資源(人力、財力、設(shè)備等)和時間上的限制,可是行性研究主要從經(jīng)濟、技術(shù)、法律等方面分析所給出的解決方案是否可行,能否在規(guī)定的資大源和時間的約束下完成。可行性研究目的:用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。不是解決問忌題,而是確定問題是否值得去解決。P35可行性研究的任務(wù):P351.技術(shù)可行性:使用現(xiàn)有的技術(shù)能實現(xiàn)這個系統(tǒng)嗎?主要考慮:開發(fā)風(fēng)險;資源;相關(guān)技術(shù)的發(fā)展2.經(jīng)濟可行性:這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎?系統(tǒng)經(jīng)濟效益=新系統(tǒng)增加的收入+新系統(tǒng)節(jié)省的費用考慮:成本/效益分析、長期的公司經(jīng)營策略、對其他單位或產(chǎn)品的影響、開發(fā)所需的成本和資源、潛在的市場前景3.操作可行性:系統(tǒng)的操作方式在用戶組織內(nèi)行得通嗎?用戶使用可能性;時間進度可行性;組織和文化上的可行性4.其他:法律可行性、社會效應(yīng)、管理問題等可行性研究的主要任務(wù)是“了解客戶的要求及現(xiàn)實環(huán)境,從技術(shù)、經(jīng)濟和社會因素等三方面研究并論證本軟件項目的可行性,編寫可行性研究報告,制定初步項目開發(fā)計劃。可行性研究的最根本任務(wù)是對軟件開發(fā)以后的行動方針提出建議??尚行匝芯克枰臅r間長短取決于工程的規(guī)模。數(shù)據(jù)流圖描繪系統(tǒng)的邏輯模型,圖中無具體的物理元素,只是描繪信息在系統(tǒng)中流動和處理的情況,是一種圖形化技術(shù)P40數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。P47數(shù)據(jù)流圖工具的實際應(yīng)用(看書例子)P44第三章軟件需求指用戶對所開發(fā)的軟件在功能、性能、環(huán)境、可靠性等各方面的要求。需求分析主要回答待開發(fā)的系統(tǒng)必須“做什么”,并用《軟件需求規(guī)格說明書》的形式準確、詳細、規(guī)范地表達出來。可以說需求分析是做系統(tǒng)之前必做的。軟件系統(tǒng)有哪些需求:P56①功能需求。②性能需求。③可靠性和可用性需求。④出錯處理需求。⑤接口需求。⑥約束。⑦逆向需求。⑧將來可能提出的要求。結(jié)構(gòu)化分析是面向數(shù)據(jù)流進行分析的方法,主要建立以下幾種模型:實體-聯(lián)系圖(Entity-RelationshipDiagram,E-R圖)來創(chuàng)建數(shù)據(jù)模型,描述系統(tǒng)中所有重要的數(shù)據(jù)對象。數(shù)據(jù)流圖(DataFlowDiagram,DFD):用來創(chuàng)建功能模型,描述了信息流和數(shù)據(jù)轉(zhuǎn)換。狀態(tài)轉(zhuǎn)換圖(State-TransitionDiagram,STD)用來創(chuàng)建行為模型,描述系統(tǒng)狀態(tài)如何響應(yīng)外部事件,而進行轉(zhuǎn)換。各種圖形工具的實際應(yīng)用。和第3章的習(xí)題ER圖P64狀態(tài)轉(zhuǎn)換圖P66-67數(shù)據(jù)流圖例P44第五章軟件設(shè)計兩個階段的任務(wù)P91第一階段:概要設(shè)計(總體設(shè)計)1方案設(shè)計,設(shè)想各種可能方案,分析選出最佳方案并制定相應(yīng)的實現(xiàn)計劃。2軟件體系結(jié)構(gòu)設(shè)計,確定軟件系統(tǒng)中每個程序是由哪些模塊組成的,以及它們之間的關(guān)系第二階段:詳細設(shè)計(過程設(shè)計)過程設(shè)計設(shè)計軟件體系結(jié)構(gòu)中所包含的每個模塊的實現(xiàn)算法.1數(shù)據(jù)設(shè)計,設(shè)計軟件中所需要的數(shù)據(jù)結(jié)構(gòu)。2接口設(shè)計,設(shè)計軟件內(nèi)部各模塊之間、軟件與協(xié)作系統(tǒng)之間以及軟件與使用它的人之間的通信方式軟件設(shè)計過程中應(yīng)該遵循的基本原理P941模塊化2抽象3逐步求精4信息隱蔽和局部化5模塊獨立模塊化的優(yōu)點:模塊化是軟件解決復(fù)雜問題所具備的手段,可降低軟件復(fù)雜性,減少開發(fā)工作量,從而降低開發(fā)成本,提高軟件生產(chǎn)率,是模塊化的依據(jù)。P97eq\o\ac(○,1)有效的模塊化的軟件比較容易開發(fā)出來.eq\o\ac(○,2)獨立的模塊化比較容易測試和維護.衡量模塊獨立性的兩個準則:①耦合性(coupling)衡量不同模塊彼此間互相依賴(連接)的緊密程度。②內(nèi)聚性(cohesion)衡量模塊內(nèi)部各個元素彼此結(jié)合的緊密程度。P97提升模塊獨立性改進原則的方法:高內(nèi)聚,低耦合!P99啟發(fā)規(guī)則:①改進軟件結(jié)構(gòu),提高模塊獨立性②模塊規(guī)模適中③深度、寬度、扇出和扇入適中④將模塊的影響限制在控制范圍內(nèi)⑤降低模塊接口的復(fù)雜性⑥設(shè)計單入口單出口的模塊⑦模塊功能應(yīng)該可預(yù)測P99面向數(shù)據(jù)流的設(shè)計方法:面向數(shù)據(jù)流設(shè)計(DFOD)是與數(shù)據(jù)流分析(DFA)對應(yīng)的結(jié)構(gòu)化軟件設(shè)計技術(shù)。面向數(shù)據(jù)流的設(shè)計將得到以數(shù)據(jù)流圖為基礎(chǔ)的軟件模塊結(jié)構(gòu)圖P104(區(qū)別)變換型數(shù)據(jù)流基本模型:特點:具有明確的傳入、變換(或稱主加工)和傳出界面的DFD事務(wù)型數(shù)據(jù)流基本模型:事務(wù)型數(shù)據(jù)流圖中存在一個事務(wù)中心(也就是數(shù)據(jù)處理、加工中心)它將輸入分離成若干個發(fā)散的數(shù)據(jù)流,形成許多活動路徑,并根據(jù)輸入值選擇其中一條路徑。變換設(shè)計就是從變換型數(shù)據(jù)流圖映射出軟件模塊結(jié)構(gòu)的過程,也稱以變換為中心的設(shè)計。變換設(shè)計的基本方法有兩步:1)分解第一層模塊結(jié)構(gòu)2)分別設(shè)計輸入、輸出和處理的下層模塊結(jié)構(gòu)P105最下第六章結(jié)構(gòu)程序設(shè)計:如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進行連接,而且每個代碼塊只有一個入口和一個出口,則稱這個程序是結(jié)構(gòu)化的。P118人機界面設(shè)計問題:①系統(tǒng)響應(yīng)時間②用戶幫助信息③出錯信息處理④命令交互P119過程設(shè)計的工具:圖形工具:程序流程圖、盒圖、PAD圖、表格工具:判定樹、判定表、語言工具:PDLP124-128過程設(shè)計:設(shè)計軟件體系結(jié)構(gòu)中所包含的每個模塊的實現(xiàn)算法過程設(shè)計:應(yīng)該在數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計和接口設(shè)計完成之后進行,它是詳細設(shè)計階段應(yīng)該完成的主要任務(wù)1.程序流程圖又稱程序框圖。以圖形方式說明系統(tǒng)中的控制流,是歷史最悠久、使用最廣泛的一種描述程序邏輯結(jié)構(gòu)的工具。2.盒圖:出于要有一種不違背結(jié)構(gòu)程序設(shè)計精神的圖形工具的考慮,Nassi和Shneiderman提出用盒圖代替?zhèn)鹘y(tǒng)的流程圖,簡稱為N一S圖。3.PAD圖:日立公司發(fā)明。用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,控制流程自上而下,從左往右地執(zhí)行。4.判定表能夠清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。5.判定樹是判定表的變種,能清晰表示復(fù)雜的條件組合與操作之間的關(guān)系,形式簡單,不需要做任何說明,是常見的系統(tǒng)分析工具。6.PDL也稱偽碼(pseudocode),是一種介于自然語言和形式化語言之間的語言,用于描述功能模塊的算法設(shè)計和處理細節(jié)的語言。面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法的最終目標(biāo)是得出對程序處理過程的描述,適合于在詳細設(shè)計階段使用,即,在完成了軟件結(jié)構(gòu)設(shè)計之后,可以使用面向數(shù)據(jù)結(jié)構(gòu)的方法來設(shè)計每個模塊的處理過程。Jackson圖:順序結(jié)構(gòu):順序結(jié)構(gòu)的數(shù)據(jù)由一個或多個數(shù)據(jù)元素組成,每個元素按確定次序出現(xiàn)一次。選擇結(jié)構(gòu):選擇結(jié)構(gòu)的數(shù)據(jù)包含兩個或多個數(shù)據(jù)元素,每次使用這個數(shù)據(jù)時按一定條件從這些數(shù)據(jù)元素中選擇一個。重復(fù)結(jié)構(gòu):重復(fù)結(jié)構(gòu)的數(shù)據(jù),根據(jù)使用時的條件由一個數(shù)據(jù)元素出現(xiàn)零次或多次構(gòu)成。P130P138流圖轉(zhuǎn)換一個程序的環(huán)形復(fù)雜度取決于它的程序圖(流圖)包含的判定結(jié)點的數(shù)量.環(huán)路復(fù)雜度會算第七章編碼風(fēng)格是指程序員編制程序時所表現(xiàn)出來的特點、習(xí)慣、邏輯思路等。P147軟件測試:1是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。2發(fā)現(xiàn)錯誤是為了更正錯誤,最終得到一個高質(zhì)量的軟件系統(tǒng)。P150軟件測試目的:1測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程2好的測試用例是極可能發(fā)現(xiàn)至今為止尚未發(fā)現(xiàn)的錯誤的測試方案;3成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試;4總之,測試的目的是以最少的時間和人力,系統(tǒng)地找出軟件中潛在的各種錯誤和缺陷;測試附帶的收獲是它能證明軟件的功能和性能與需求說明相符合。P151測試方法:軟件測試方法一般分為:靜態(tài)測試和動態(tài)測試。靜態(tài)測試:是指被測程序不在機器上運行,采用人工檢測和計算機輔助靜態(tài)分析的手段對程序進行檢測。動態(tài)測試:是指通過運行程序發(fā)現(xiàn)錯誤,又分黑盒測試和白盒測試兩種。已知產(chǎn)品應(yīng)該具有的功能,可以通過黑盒測試來檢驗每個功能是否符合設(shè)計要求。已知產(chǎn)品的內(nèi)部工作過程,可以通過白盒測試來檢驗每種內(nèi)部操作是否按要求的規(guī)定正常進行。單元測試:又稱模塊測試,需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例。測試目的:發(fā)現(xiàn)模塊內(nèi)部可能存在的差錯測試依據(jù):詳細設(shè)計說明書和源程序清單測試方法:白盒測試為主,黑盒測試為輔,多個模塊并行進行。P153集成測試:在單元測試之后,將模塊組裝成系統(tǒng),為發(fā)現(xiàn)并排除模塊在連接中可能出現(xiàn)的問(主要與接口有關(guān)),而進行的測試。P156驗收測試:有些文獻中驗收測試也稱確認測試。驗證軟件的功能、性能及其它特性是否與用戶的要求一致。P160白盒測試是基于代碼的針對被測對象內(nèi)部是如何進行工作的測試,也稱作結(jié)構(gòu)測試或邏輯驅(qū)動測試或基于程序的測試。P162邏輯覆蓋是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)設(shè)計測試用例的技術(shù)。P162路徑覆蓋是指:選取足夠多的測試用例,使得程序的每條可能路徑都至少執(zhí)行一次。P165等價劃分基本思想:把所有可能的輸入數(shù)據(jù)(包括有效或無效的),劃分成若干數(shù)據(jù)類(等價類),然后從每個數(shù)據(jù)類中選取少數(shù)有代表性的數(shù)據(jù)做為測試用例。這種方法完全不考慮程序的內(nèi)部結(jié)構(gòu),只依據(jù)程序的規(guī)格說明來設(shè)計測試用例。P172邊界值分析方法思想:確定邊界之后,選取正好等于、剛剛大于或剛剛小于邊界的值做為測試數(shù)據(jù),而不是選取等價類中典型值或任意值做為測試數(shù)據(jù)。P175錯誤推測基本思想:列舉程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)它們選擇測試用例。依靠經(jīng)驗和直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的測試用例。P175測試與調(diào)試區(qū)別P176-178軟件測試是軟件測試人員和程序員都參與的一項工作,是貫穿整個生命周期的,只需要發(fā)現(xiàn)軟件的錯誤,而軟件調(diào)試主要是程序員自己參與,對程序(設(shè)計、編碼)進行修改、排除錯誤,主要是在開發(fā)階段。第八章軟件可靠性是程序在給定的時間點,按照規(guī)格說明書的規(guī)定,成功地運行的概率。P179可靠性和可用性的主要差別:可靠性意味著在0到t這段時間間隔內(nèi)系統(tǒng)沒有失效;可用性只意味著在時刻t,系統(tǒng)是正常運行的軟件維護P189是指在軟件運行或維護階段對軟件產(chǎn)品所進行的修改。分為四類:①改正性維護為了識別和糾正在使用過程中暴露出來的錯誤②適應(yīng)性維護為了適應(yīng)外部環(huán)境或數(shù)據(jù)環(huán)境變化③完善性維護為了改進原有的軟件,滿足用戶提出的新的功能與性能要求④預(yù)防性維護為了改進將來的可維護性和可靠性軟件可維護性的定義軟件可維護性指糾正軟件系統(tǒng)出現(xiàn)的錯誤和缺陷,以及為滿足新的要求進行修改、擴充或壓縮的容易程度。P194(增加)可維護性的度量1可理解性:人們通過閱讀源代碼和相關(guān)文檔,了解程序功及其如何運行的容易程度。2可靠性:表明一個程序按照用戶的要求和設(shè)計目標(biāo),在給定的一段時間內(nèi)正確執(zhí)行的概率。3可測試性:表明診斷和測試的容易程度。4可修改性:表明程序容易修改的程度。5可移植性:表明把程序從一種計算環(huán)境轉(zhuǎn)移到另一種計算環(huán)境的難易程度。6可重用性:指同一個軟件(或軟件成份)不做修改或稍加改動,就可以在不同環(huán)境中多次重復(fù)使用。P195第九章面向?qū)ο蠹夹g(shù)的要點:①任何客觀的事物或?qū)嶓w都是對象。對象組成客觀世界,復(fù)雜的對象可以由簡單的對象組成。②具有相同數(shù)據(jù)和操作的對象可以歸并為一個類(class),對象是對象類的一個實例。③類可以派生出子類,子類繼承父類的全部特性(數(shù)據(jù)和操作),又可以有自己的新特性。子類與父類形成類的層次結(jié)構(gòu)。④對象之間通過消息傳遞相互聯(lián)系。P204面向?qū)ο蠓椒▽W(xué)的優(yōu)點:1與人類習(xí)慣的思維方法一致2穩(wěn)定性好3可重用性好4較易開發(fā)大型軟件產(chǎn)品5可維護性好P205面向?qū)ο蟮囊恍┗靖拍顚ο?、類、實例、消息、方法、屬性、封裝、繼承、多態(tài)、重載(書)P209-215對象模型描述系統(tǒng)內(nèi)部對象的靜態(tài)結(jié)構(gòu),包括對象本身的定義、對象的屬性和操作、以及對象與其它對象之間的關(guān)系。UML中,對象模型通常由“類圖”組成。(例子看書)類圖描述類及類與類之間的靜態(tài)關(guān)系,類圖是創(chuàng)建其他UML圖的基礎(chǔ)。一個系統(tǒng)可以由多張類圖來描述,一個類也可以出現(xiàn)在幾張類圖中。P216動態(tài)模型表示瞬時的、行為化的系統(tǒng)的“控制”性質(zhì),即對象的動態(tài)行為。UML中,用狀態(tài)圖描述對象可能的狀態(tài)及其轉(zhuǎn)換,關(guān)心對象在某過程中的經(jīng)歷。通過狀態(tài)圖來描繪對象的狀態(tài)、觸發(fā)狀態(tài)轉(zhuǎn)換的事件以及對象的行為。P223功能模型表示變化的系統(tǒng)的“功能”性質(zhì),它指明了系統(tǒng)應(yīng)該“做什么”,因此更直接地反映了用戶對目標(biāo)系統(tǒng)的需求。UML中用用例圖建立系統(tǒng)的功能模型。在UML中把以用例圖建立起來的系統(tǒng)模型稱為用例模型。用例模型描述的是外部行為者(actor)所理解的系統(tǒng)功能,是其他視圖的核心和基礎(chǔ)。P224三種模型之間的關(guān)系:1對象模型定義了做事情的實體,描述了動態(tài)模型、功能模型所操作的數(shù)據(jù)結(jié)構(gòu)。對象模型中的操作對應(yīng)于動態(tài)模型中事件和功能模型中的函數(shù)。2動態(tài)模型描述了對象的控制結(jié)構(gòu),它明確規(guī)定了什么時候(即在何種狀態(tài)下接受了什么事件觸發(fā)做;。3功能模型指明了系統(tǒng)應(yīng)該”做什么”,由數(shù)據(jù)流圖和用例圖組成,描述了對象模型中操作的含義、動態(tài)模型中動作的意義以及對象模型中約束的意義。傳統(tǒng)軟件工程方法學(xué):以面向過程的結(jié)構(gòu)化程序設(shè)計為基礎(chǔ);遵循“程序=數(shù)據(jù)結(jié)構(gòu)+算法”的思路;由“追求技巧與效率”到“清晰第一,效率第二”缺點:1不太適應(yīng)規(guī)模大、特別復(fù)雜的項目;2難以解決軟件重用的問題3難以適應(yīng)需求的變化;4難以徹底解決維護問題。區(qū)別與聯(lián)系面向?qū)ο筌浖こ贪慈祟惲?xí)慣的思維方法,以現(xiàn)實世界中客觀存在的事物(即對象)為中心來思考和認識問題。采用的思想方法與原則:抽象、分類、繼承、聚合、封裝等以易于理解的方式表達軟件系統(tǒng),建立問題域模型,使設(shè)計出的軟件盡可能直接地描述現(xiàn)實世界,具有更好的可維護性。第一章1-1什么是軟件危機?是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。1-3什么是軟件工程?是指導(dǎo)計算機軟件開發(fā)和維護的一門工程學(xué)科。1-4簡述結(jié)構(gòu)化范型和面向?qū)ο蠓缎偷囊c,并分析它們的優(yōu)缺點。目前使用得最廣泛的軟件工程方法學(xué)(2種):1.傳統(tǒng)方法學(xué):也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。優(yōu)點:把軟件生命周期劃分成基干個階段,每個階段的任務(wù)相對獨立,而且比較簡單,便于不同人員分工協(xié)作,從而降低了整個軟件開發(fā)過程的困難程度。缺點:當(dāng)軟件規(guī)模龐大時,或者對軟件的需求是模糊的或會承受時間而變化的時候,開發(fā)出的軟件往往不成功;而且維護起來仍然很困難。2.面向?qū)ο蠓椒▽W(xué):優(yōu)點:降低了軟件產(chǎn)品的復(fù)雜性;提高了軟件的可理解性;簡化了軟件的開發(fā)和維護工作;促進了軟件重用。1-6什么是軟件過程?它與軟件工程方法學(xué)有何關(guān)系?軟件過程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟軟件工程方法學(xué):通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué),也稱范型1-7什么是軟件生命周期模型,試比較瀑布模型,快速原型模型,增量模型,和螺旋模型的優(yōu)缺點,說明每種模型的適用范圍。軟件生命周期由軟件定義、軟件開發(fā)和運行維護3個時期組成,每個時期又進一步劃分成若干個階段。生命周期模型規(guī)定了把生命周期劃分成哪些階段及各個階段的執(zhí)行順序,因此,也稱為過程模型。瀑布模型的優(yōu)點:1.可強迫開發(fā)人員采用規(guī)范的方法;2.嚴格規(guī)定了每個階段必須提交的文檔;3.要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證。瀑布模型的缺點:1.在軟件開發(fā)初期,指明用戶全部需求是困難的;2.需求確定后,經(jīng)過一段時間才得到軟件最初版本;3.完全依賴規(guī)格說明,導(dǎo)致不能滿足用戶需求。適用中小型項目??焖僭湍P偷膬?yōu)點:1滿足用戶需求程度高;2用戶的參與面廣;3返工現(xiàn)象少快速原型模型的缺點:不適用大型軟件的開發(fā)適用于小型項目。增量模型的優(yōu)點:1短期內(nèi)可以交付滿足部分用戶需求的功能產(chǎn)品;2逐步增加功能可以讓用戶去適應(yīng)新產(chǎn)品;3開放式的軟件可維護性比較好;4開始第一構(gòu)件前,已經(jīng)完成需求說明。增量模型的缺點:1對現(xiàn)有產(chǎn)品功能造成破壞;2意義上的矛盾適用于中型軟件的開發(fā)螺旋模型的優(yōu)點:1集成了瀑布模型、快速原型模型、增量模型的優(yōu)點;2支持用戶需求動態(tài)變化;3需求分析與軟件實現(xiàn)緊密聯(lián)系相互依賴;4原型作為刑式的可執(zhí)行的需求規(guī)格說明,即利用用戶和開發(fā)人員共同理解,又可作為后續(xù)開發(fā)的基礎(chǔ);5為用戶參與決策提供方便;6提高目標(biāo)軟件的適應(yīng)能力;7降低風(fēng)險;8在大型軟件開發(fā)過程中充分發(fā)揮優(yōu)勢。Z螺旋模型的缺點:1迭代次數(shù)影響開發(fā)成本,延遲提價時間;2找不到關(guān)鍵改進點,人才、物力、財力時間引起無謂消耗;3成于風(fēng)險分析,敗于風(fēng)險分析。適用于內(nèi)部開發(fā)的大規(guī)模軟件項目。1-8:為什么說噴泉模型叫好的體現(xiàn)了面向?qū)ο筌浖_發(fā)過程無縫和迭代的特性?因為使用面向?qū)ο蠓椒▽W(xué)開發(fā)軟件時,各個階段都使用統(tǒng)一的概念和表示符號,因此,整個開發(fā)過程都是吻合一致的,或者說是無縫連接的,這自然就很容易實現(xiàn)各個開發(fā)步驟的反復(fù)多次迭代,達到認識的逐步深化,而噴泉模型的則很好的體現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代和無縫的特性。1-9:試討論Rational統(tǒng)一過程的優(yōu)缺點優(yōu)點:提高了團隊生產(chǎn)力,在迭代的開發(fā)過程、需求管理、基于組建的體系結(jié)構(gòu)、可視化軟件建模、驗證軟件質(zhì)量及控制軟件變更等方面、針對所有關(guān)鍵的開發(fā)活動為每個開發(fā)成員提供了必要的準則、模版和工具指導(dǎo),并確保全體成員共享相同的知識基礎(chǔ)。它簡歷了簡潔和清晰的過程結(jié)構(gòu),為開發(fā)過程提供較大的通用性。缺點:RUP只是一個開發(fā)過程,并沒有涵蓋軟件過程的全部內(nèi)容,例如它缺少關(guān)于軟件運行和支持等方面的內(nèi)容,此外,它沒有支持多項目的開發(fā)結(jié)構(gòu),這在一定程度上降低了在開發(fā)組織內(nèi)大范圍實現(xiàn)重用的可能性。1-10Rational統(tǒng)一過程主要適用于何種項目?大型的需求不斷變化的復(fù)雜軟件系統(tǒng)項目1-11:說明敏捷過程的適用范圍適用于商業(yè)競爭環(huán)境下對小型項目提出的有限資源和有限開發(fā)時間的約束。1-12說明微軟過程的適用范圍適用于商業(yè)環(huán)境下具有有限資源和有限開發(fā)時間約束的項目的軟件過程模式。第二章2-1在軟件開發(fā)的早期階段為什么要進行可行性分析研究?應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)的可行性?可行性分析是要進行一次大大壓縮簡化系統(tǒng)分析和設(shè)計過程,避免時間、資源、人力和金錢的浪費。技術(shù)上的可行性——使用現(xiàn)有的技術(shù)能實現(xiàn)這個系統(tǒng)嗎?經(jīng)濟上的可行性——這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎?(投資與效益)操作可行性——系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎?社會、政策允許的可行性2-2為方便儲戶,某銀行擬開發(fā)計算機儲蓄系統(tǒng)。儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并印出存款單給儲戶;如果是取款,系統(tǒng)計算利息并印出利息清單給儲戶。請畫出此系統(tǒng)的數(shù)據(jù)流圖。2-3為方便旅客,某航空公司擬開發(fā)一個機票預(yù)定系統(tǒng)。旅行社把預(yù)訂機票的旅客信息(姓名、性別、工作單位、身份證號碼、旅行時間、旅行目的地等)輸入進該系統(tǒng),系統(tǒng)為旅客安排航班,印出取票通知和賬單,旅客在飛機起飛的前一天憑取票通知和賬單交款取票,系統(tǒng)核對無誤即印出機票給旅客。請畫出系統(tǒng)的數(shù)據(jù)流圖。2-4目前住院病人主要由護士護理,這樣做不僅需要大量護士,而且由于不能隨時觀察危險病人的病情變化,還可能會延誤搶救時機。某醫(yī)院打算開發(fā)一個以計算機為中心的患者監(jiān)護系統(tǒng),試寫出問題定義,并且分析開發(fā)這個系統(tǒng)的可行性。醫(yī)院對患者監(jiān)護系統(tǒng)的基本要求是隨時接受每個病人的生理信號(脈搏、體溫、血壓、心電圖等),定時記錄病人情況以及形成患者日志,當(dāng)某個病人的生理信號超出醫(yī)生規(guī)定的安全范圍時向值班護士發(fā)出警告信息,此外,護士在需要時還可以要求系統(tǒng)印出某個指定病人的病情報告。請畫出系統(tǒng)的數(shù)據(jù)流圖。2-5北京某高??捎玫碾娫捥柎a由以下幾類:校內(nèi)電話號碼由4位數(shù)字組成,第一位數(shù)字不是零;校外電話又分為本市電話和外地電話兩類,撥校外電話先撥0,若是本地電話再接著撥8位數(shù)字(固話第一位不是0)或11位數(shù)字(移動電話第一位為1);若是外地電話,則撥3位區(qū)碼再撥8位電話號碼(固話第一位不是0),或撥0再撥11位數(shù)字(移動電話第一位為1)。請用數(shù)據(jù)定義的方法,定義上述電話號碼。電話號碼=[校內(nèi)號碼|校外號碼]校內(nèi)號碼=非0數(shù)字+3{數(shù)字}3校外號碼=0+[本地號碼|外地號碼]本地號碼=[固話號碼|手機號碼]固話號碼=非0數(shù)字+7{數(shù)字}7手機號碼=1+10{數(shù)字}10外地號碼=[外地固話號碼|外地手機號碼]外地固話號碼=3{數(shù)字}3+固話號碼外地手機號碼=0+手機號碼非0數(shù)字=[1|2|3|4|5|6|7|8|9]第三章1、為什么要進行需求分析?通常對軟件系統(tǒng)有哪些需求?答:為了開發(fā)出真正滿足用戶需求的軟件產(chǎn)品,準確定義未來系統(tǒng)的目標(biāo),確定為了滿足用戶的需要系統(tǒng)必須做什么,就必須要進行準確的需求分析。通常對軟件系統(tǒng)的需求有:功能需求;性能需求;可靠性和可用性需求;出錯處理需求;接口需求;約束;逆向需求;文檔需求;數(shù)據(jù)需求等等。2、銀行計算機儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址、身份證號碼等存款信息,并打印出存款存單給儲戶;如果是取款且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算利息并打印出利息清單給儲戶。用數(shù)據(jù)流圖描述本系統(tǒng)的功能,并用ER圖描繪系統(tǒng)中的數(shù)據(jù)對像。6、復(fù)印機的工作過程大致如下:未接到復(fù)印命令時處于閑置狀態(tài),一旦接到復(fù)印命令則進入復(fù)印狀態(tài),完成一個復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復(fù)印命令;如果執(zhí)行復(fù)印命令時發(fā)現(xiàn)沒紙,則進入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進入閑置狀態(tài),準備接收復(fù)印命令;如果復(fù)印時發(fā)生卡紙故障,則進入卡紙狀態(tài),發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。請用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機的行為。從問題陳述可知,復(fù)印機的狀態(tài)主要有“閑置”、“復(fù)印”、“缺紙”和“卡紙”。引起狀態(tài)轉(zhuǎn)換的事件主要是“復(fù)印命令”、“完成復(fù)印命令”、“發(fā)現(xiàn)缺紙”、“裝滿紙”、“發(fā)生卡紙故障”和“排除了卡紙故障第五章5-4美國某大學(xué)有200名教師,校方與教師工會剛剛簽訂一項協(xié)議
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 華新工藝綠色化與技術(shù)創(chuàng)新研究-洞察闡釋
- 2025-2030中國接送機服務(wù)行業(yè)發(fā)展分析及投資風(fēng)險與戰(zhàn)略研究報告
- 2025-2030中國微型貨車行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告
- 2025-2030中國開發(fā)區(qū)物流行業(yè)發(fā)展前景及發(fā)展策略與投資風(fēng)險研究報告
- 2025-2030中國應(yīng)急管理行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 少數(shù)民族服飾文化與時尚產(chǎn)業(yè)的對接-洞察闡釋
- 技術(shù)驅(qū)動的犯罪心理機制-洞察闡釋
- 2025-2030中國工業(yè)汽輪機行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 2025-2030中國安全社區(qū)網(wǎng)絡(luò)解決方案業(yè)務(wù)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 信息技術(shù)的健康應(yīng)用及其未來趨勢研究報告分享
- 江蘇省糧食集團招聘筆試題庫2024
- 2024年深圳市彩田學(xué)校初中部小升初入學(xué)分班考試數(shù)學(xué)模擬試卷附答案解析
- 2024年安徽安慶市交通控股集團有限公司招聘筆試沖刺題(帶答案解析)
- 《沙龍培訓(xùn)》課件
- 充電樁四方協(xié)議書范本
- 中考英語情景交際和看圖寫話
- 知道智慧網(wǎng)課《科學(xué)社會主義概論》章節(jié)測試答案
- 事故調(diào)查分析課件
- 《養(yǎng)老護理員》-課件:自然災(zāi)害的應(yīng)對處理知識
- 勞務(wù)外包服務(wù)方案(技術(shù)方案)
- JJG 443-2023燃油加油機(試行)
評論
0/150
提交評論