面向?qū)ο蠓治雠c設(shè)計(jì)UML實(shí)驗(yàn)報(bào)告_第1頁
面向?qū)ο蠓治雠c設(shè)計(jì)UML實(shí)驗(yàn)報(bào)告_第2頁
面向?qū)ο蠓治雠c設(shè)計(jì)UML實(shí)驗(yàn)報(bào)告_第3頁
面向?qū)ο蠓治雠c設(shè)計(jì)UML實(shí)驗(yàn)報(bào)告_第4頁
面向?qū)ο蠓治雠c設(shè)計(jì)UML實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

(此文檔為word格式,下載后您可任意編輯修改!)《面向?qū)ο蠓治雠c設(shè)計(jì)UML》實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)及作業(yè)一實(shí)驗(yàn)?zāi)康牧私廛浖こ痰然A(chǔ)知識,為后續(xù)的統(tǒng)一建模語言UML知識的學(xué)習(xí)做好準(zhǔn)備工作。實(shí)驗(yàn)設(shè)備與環(huán)境裝有Visio、RationalRose的計(jì)算機(jī)。實(shí)驗(yàn)內(nèi)容1、復(fù)習(xí)闡述“軟件工程開發(fā)模型”的相關(guān)概念,并分析各種模型的優(yōu)缺點(diǎn),寫成實(shí)驗(yàn)報(bào)告。2、熟悉UML軟件設(shè)計(jì)工具Visio、RationalRose的安裝及環(huán)境四、實(shí)驗(yàn)過程及結(jié)果經(jīng)過上網(wǎng)搜索相關(guān)信息進(jìn)行了解軟件工程開發(fā)模型的相關(guān)概念與優(yōu)缺點(diǎn)一,什么是軟件工程概念模型模型就是抽象,就是有意識地忽略事物的某些特征。抽象帶來的好處是能夠反映模型中元素之間的關(guān)系,清晰把握大局。概念模型是模型的一種,簡單說就是抽象程度極高的一種模型。軟件工程概念模型是對軟件工程領(lǐng)域進(jìn)行抽象描述的模型,它能夠使我們對軟件工程有一個(gè)完整把握。二,軟件工程開發(fā)模型的種類以及優(yōu)缺點(diǎn)瀑布模型由W.Royce于1970年首先提出。根據(jù)軟件工程生存周期各個(gè)階段的任務(wù),瀑布模型從可行性研究開始,逐步進(jìn)行階段性變換,直至通過確認(rèn)測試并得到用戶確認(rèn)的軟件產(chǎn)品為止。瀑布模型上一階段的變換結(jié)果是下一階段變換的輸入,相鄰兩個(gè)階段具有因果關(guān)系,緊密聯(lián)系。一個(gè)階段的失誤將蔓延到以后的各個(gè)階段。為了保障軟件開發(fā)的正確性,每一階段任務(wù)完成后,都必須對它的階段性產(chǎn)品進(jìn)行評審,確認(rèn)之后再轉(zhuǎn)入下一階段的工作。評審過程發(fā)現(xiàn)錯(cuò)誤和疏漏后,應(yīng)該及時(shí)反饋到前面的有關(guān)階段修正錯(cuò)誤或彌補(bǔ)疏漏,然后再重復(fù)前面的工作,直至某一階段通過評審后再進(jìn)入下一階段。瀑布模型如圖1.1所示。瀑布模型有許多優(yōu)點(diǎn),如可強(qiáng)迫開發(fā)人員采用規(guī)范的方法;嚴(yán)格規(guī)定了每個(gè)階段必須提交的文檔;要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗(yàn)證等。但瀑布模型也存在缺點(diǎn),其主要表現(xiàn)在:①在軟件開發(fā)的初始階段指明軟件系統(tǒng)的全部需求是困難的,有時(shí)甚至是不現(xiàn)實(shí)的。而瀑布模型在需求分析階段要求客戶和系統(tǒng)分析員必須做到這一點(diǎn)才能開展后續(xù)階段的工作。②確定需求后,用戶和軟件項(xiàng)目負(fù)責(zé)人要等相當(dāng)長的時(shí)間才能得到一份軟件的最初版本。如果用戶對這個(gè)軟件提出比較大的修改意見,那么整個(gè)軟件項(xiàng)目將會蒙受巨大的人力、財(cái)力和時(shí)間方面的損失。原型模型又稱演化模型,主要是針對事先不能完整定義需求的軟件項(xiàng)目開發(fā)而言的。許多軟件開發(fā)項(xiàng)目由于人們對軟件需求的認(rèn)識模糊,很難一次開發(fā)成功,返工再開發(fā)難以避免。因此,人們對需開發(fā)的軟件給出基本需求,作第一次試驗(yàn)開發(fā),其目標(biāo)僅在于探索可行性和弄清需求,取得有效的反饋信息,以支持軟件的最終設(shè)計(jì)和實(shí)現(xiàn)。通常我們把第一次實(shí)驗(yàn)性開發(fā)出的軟件稱為原型(prototype)。這種開發(fā)模型可以減少由于需求不明給開發(fā)工作帶來的風(fēng)險(xiǎn),有較好的效果。相對瀑布模型來說,原型模型更符合人類認(rèn)識真理的過程和思維,是目前較流行的一種實(shí)用的軟件開發(fā)方法。原型模型如圖4.2所示。原型化模型有丟棄型、樣品型和漸增式演化型三種形式。丟棄型是指原型開發(fā)后,已獲得了更為清晰的需求反饋信息,原型無需保留而丟棄,開發(fā)的原型僅以演示為目的,這往往用在軟件的用戶界面的開發(fā)上。樣品型是指原型規(guī)模與最終產(chǎn)品相似,只是原型僅供研究用。漸增式演化型是指原型作為最終產(chǎn)品的一部分,它可以滿足用戶的部分需求,經(jīng)用戶試用后提出精華系統(tǒng)、增強(qiáng)系統(tǒng)能力的需求,開發(fā)人員根據(jù)反饋信息,實(shí)施開發(fā)的迭代過程。如果在一次迭代過程中,有些需求還不能滿足用戶的需求,可以在下一迭代過程中予以修正,整個(gè)實(shí)現(xiàn)后軟件才可最終交付使用。螺旋模型是瀑布模型與原型模型相結(jié)合,并增加兩者所忽略的風(fēng)險(xiǎn)分析而產(chǎn)生的一種模型,該模型通常用來指導(dǎo)大型軟件項(xiàng)目的開發(fā),它將開發(fā)劃分為制定計(jì)劃、風(fēng)險(xiǎn)計(jì)劃、實(shí)施開發(fā)和客戶評估四類活動。沿著螺旋線每轉(zhuǎn)一圈,表示開發(fā)出一個(gè)更完善的新的軟件版本。如果開發(fā)風(fēng)險(xiǎn)過大,開發(fā)機(jī)構(gòu)和客戶無法接受,項(xiàng)目有可能就此中止;多數(shù)情況下,會沿著螺旋線繼續(xù)下去,自內(nèi)向外逐步延伸,最終得到滿意的軟件產(chǎn)品。該模型是由TRW公司的B.Boehm于1988年提出的。圖1.3顯示了螺旋模型的原理,沿著螺旋線旋轉(zhuǎn),在笛卡兒坐標(biāo)的四個(gè)像限上分別表達(dá)了四類活動。制定計(jì)劃:確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開發(fā)的限制條件;風(fēng)險(xiǎn)分析:分析所選方案,考慮如何識別和消除風(fēng)險(xiǎn);實(shí)施開發(fā):實(shí)施軟件開發(fā);客戶評估:評價(jià)軟件功能和性能,提出修正建議。螺旋模型有許多優(yōu)點(diǎn),主要表現(xiàn)在:對可選方案和約束的強(qiáng)調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo),減少了過多測試或測試不足所帶來的風(fēng)險(xiǎn)。但是要求許多客戶接受和相信并不容易,使用該模型需要具有相當(dāng)豐富的風(fēng)險(xiǎn)評估經(jīng)驗(yàn)和專門知識,如果項(xiàng)目風(fēng)險(xiǎn)較大,又未必能及時(shí)發(fā)現(xiàn),勢必造成重點(diǎn)損失。目前國內(nèi)許多軟件公司還未能及時(shí)掌握和運(yùn)用這種模型,有待進(jìn)一步積累經(jīng)驗(yàn)。噴泉模型對軟件復(fù)用和生存周期中多項(xiàng)開發(fā)活動的集成提供了支持,以面向?qū)ο蟮能浖_發(fā)方法為基礎(chǔ),它適合面向?qū)ο蟮拈_發(fā)方法。它克服了瀑布模型不支持軟件重用和多項(xiàng)開發(fā)活動集成的局限性。噴泉模型使開發(fā)過程具有迭代性和無間隙性。系統(tǒng)某個(gè)部分常常重復(fù)工作多次,相關(guān)功能在每次迭代中隨之加入演化的系統(tǒng)。無間隙是指在分析、設(shè)計(jì)和實(shí)現(xiàn)等開發(fā)活動之間不存在明顯的邊界。噴泉模型參見圖1.4。三,軟件工程與UML的關(guān)系隨著計(jì)算機(jī)技術(shù)的發(fā)展,軟件工程技術(shù)已經(jīng)進(jìn)入了一個(gè)新的階段。人們開始使用面向?qū)ο蟮募夹g(shù),同時(shí)UML融合了多種面向?qū)ο蠼7椒ㄒ约岸喾N軟件工程方法,成為軟件系統(tǒng)設(shè)計(jì)建模的主要工具。實(shí)驗(yàn)小結(jié):了解UML一些知識實(shí)驗(yàn)及作業(yè)二一、實(shí)驗(yàn)?zāi)康?、了解面向?qū)ο蟮幕靖拍?、熟悉面向?qū)ο蟮姆治觥⒃O(shè)計(jì)過程3、了解基于UML的面向?qū)ο蠓治鲈O(shè)計(jì)過程二、實(shí)驗(yàn)設(shè)備與環(huán)境裝有Visio、RationalRose、StarUML的計(jì)算機(jī)。三、實(shí)驗(yàn)內(nèi)容1、熟悉Visio、RationalRose、StarUML的使用。2、熟悉利用統(tǒng)一建模語言進(jìn)行分析、設(shè)計(jì)軟件的過程,完成作業(yè):論述面向?qū)ο螅∣O)方法的特點(diǎn)、優(yōu)勢以及存在的問題。四、實(shí)驗(yàn)過程及結(jié)果面向?qū)ο螅∣O)方法的特點(diǎn)1.信息隱藏和封裝特性:封裝是把過程和數(shù)據(jù)包圍起來,對數(shù)據(jù)的訪問只能通過已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個(gè)受保護(hù)的接口訪問其他對象。2.繼承:繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了一種明確表述共性的方法。對象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。3.組合特性組合用于表示類的“整體部分”關(guān)系。例如主機(jī)、顯示器、鍵盤、鼠標(biāo)組合成一臺計(jì)算機(jī)。4.動態(tài)特性(1)抽象:抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是過程抽象,二是數(shù)據(jù)抽象。(2)多態(tài)性:多態(tài)性是指允許不同類的對象對同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢,很好的解決了應(yīng)用程序函數(shù)同名.面向?qū)ο蠓椒ǖ闹饕獌?yōu)點(diǎn)符合人們通常的思維方式;從分析到設(shè)計(jì)再到編碼采用一致的模型表示具有高度連續(xù)性;軟件重用性好。面向?qū)ο蠓椒ǖ闹饕秉c(diǎn)1、OO方法比較抽象,如樓上所說的掌握它便要付出很多!

想一想,OO出現(xiàn)已經(jīng)很早了,但為什么這一、兩年這么受歡迎和重視呢?我想前兩年(電子商務(wù)熱之前),面向VISUAL大行其道,OO呢?也許只在VC界被談得多些,但一般的應(yīng)用開發(fā)領(lǐng)域并不怎么樣??!而正是WEBINTERNET的大發(fā)展,類似于C語言的JAVA技術(shù)得到了空前的發(fā)展,正因?yàn)榇耍琌O又被更多的公司所重視。

2、OO思路在某些領(lǐng)域(主要集中于基于VISUAL開發(fā)的應(yīng)用開發(fā)領(lǐng)域)并不理想——關(guān)鍵原因還是“太過抽象”,難以使開發(fā)團(tuán)隊(duì)、客戶輕松理解。五、實(shí)驗(yàn)小結(jié): 了解面向?qū)ο蠓椒ǖ膬?yōu)缺點(diǎn)。實(shí)驗(yàn)及作業(yè)三一、實(shí)驗(yàn)?zāi)康?、了解面向?qū)ο蟮幕靖拍?、熟悉面向?qū)ο蟮姆治?、設(shè)計(jì)過程3、了解基于UML的面向?qū)ο蠓治鲈O(shè)計(jì)過程二、實(shí)驗(yàn)設(shè)備與環(huán)境裝有Visio、RationalRose、StarUML的計(jì)算機(jī)。三、實(shí)驗(yàn)內(nèi)容1、掌握“參與者”、“用例”、“各種關(guān)系”在StarUML或RationalRose中的設(shè)計(jì)方法。體會用例圖的設(shè)計(jì)方法。2、以圖書館管理系統(tǒng)為例,完成其用例圖的設(shè)計(jì)。并書寫實(shí)驗(yàn)報(bào)告。四、實(shí)驗(yàn)過程及結(jié)果1、系統(tǒng)的用戶分析管理員:建立課程信息,可以修改,刪除,保存。學(xué)生:查詢課程信息,可以選課,付費(fèi)。2、網(wǎng)上選課系統(tǒng)事件流(1)添加、刪除選課事件流管理員登陸,用例開始;建立刪除修改信息;保存信息。(2)學(xué)生選課事件流學(xué)生登陸,用例開始;進(jìn)行選課;保存信息到數(shù)據(jù)庫;(3)查詢課程事件流學(xué)生登陸,用例開始;查詢已選課程信息;3、畫出系統(tǒng)的用例圖。五、實(shí)驗(yàn)小結(jié): 了解用例圖的畫法實(shí)驗(yàn)及作業(yè)四——用例分析綜合練習(xí)一、實(shí)驗(yàn)?zāi)康?、了解面向?qū)ο蟮幕靖拍?、熟悉面向?qū)ο蟮姆治?、設(shè)計(jì)過程3、了解基于UML的面向?qū)ο蠓治鲈O(shè)計(jì)過程二、實(shí)驗(yàn)設(shè)備與環(huán)境裝有Visio、RationalRose、StarUML的計(jì)算機(jī)。三、實(shí)驗(yàn)內(nèi)容1、根據(jù)如下給定的系統(tǒng)需求,完成系統(tǒng)的需求分析。需求:1)管理員通過系統(tǒng)管理界面進(jìn)入。2)建立本學(xué)期要開的課程。3)保存課程信息,且可改動和刪除。4)學(xué)生通過客戶機(jī)瀏覽器根據(jù)學(xué)號和密碼進(jìn)入選課界面。5)學(xué)生可以有三種操作:查詢己選課程;選課;付費(fèi)。通過業(yè)務(wù)層,這些操作結(jié)果存入數(shù)據(jù)庫。提示:實(shí)驗(yàn)過程應(yīng)包括:1、系統(tǒng)的用戶分析;2、網(wǎng)上選課系統(tǒng)事件流(包括添加、刪除選課事件流,學(xué)生選課事件流,查詢課程事件流等);3、畫出系統(tǒng)的用例圖。四、實(shí)驗(yàn)過程及結(jié)果管理員:需要登錄,添加刪除選課信息學(xué)生:需要登錄,查詢,選課,付費(fèi)1添加、刪除選課事件流:登錄添加刪除保存退出2學(xué)生選課事件流:登錄選課付費(fèi)退出3查詢課程事件流:登錄查詢退出管理員用例圖學(xué)生用例圖五、實(shí)驗(yàn)小結(jié): 熟悉用例圖的繪畫實(shí)驗(yàn)及作業(yè)五——建立概念模型一、實(shí)驗(yàn)?zāi)康?、了解面向?qū)ο蟮幕靖拍?、熟悉面向?qū)ο蟮姆治?、設(shè)計(jì)過程3、了解基于UML的面向?qū)ο蠓治鲈O(shè)計(jì)過程二、實(shí)驗(yàn)設(shè)備與環(huán)境裝有Visio、RationalRose、StarUML的計(jì)算機(jī)。三、實(shí)驗(yàn)內(nèi)容請根據(jù)概念模型創(chuàng)建的方法,根據(jù)實(shí)驗(yàn)三(圖書館管理系統(tǒng))的用例圖,創(chuàng)建該系統(tǒng)的概念模型,并添加相應(yīng)的關(guān)聯(lián)。提示:實(shí)驗(yàn)過程應(yīng)包括:1、找出系統(tǒng)的概念;2、畫出系統(tǒng)的概念類;3、在概念類中添加類之間的關(guān)聯(lián)關(guān)系。四、實(shí)驗(yàn)過程及結(jié)果五、實(shí)驗(yàn)小結(jié): 學(xué)會尋找概念和如何關(guān)聯(lián)。實(shí)驗(yàn)及作業(yè)六——系統(tǒng)行為分析一、實(shí)驗(yàn)?zāi)康?、了解面向?qū)ο蟮幕靖拍?、熟悉面向?qū)ο蟮姆治觥⒃O(shè)計(jì)過程3、了解基于UML的面向?qū)ο蠓治鲈O(shè)計(jì)過程二、實(shí)驗(yàn)設(shè)備與環(huán)境裝有Visio、RationalRose、StarUML的計(jì)算機(jī)。三、實(shí)驗(yàn)內(nèi)容請根據(jù)實(shí)驗(yàn)五得出的概念模型,進(jìn)行系統(tǒng)行為的分析。提示:實(shí)驗(yàn)過程應(yīng)包括:1、畫出系統(tǒng)的順序圖;2、畫出系統(tǒng)操作類;3、給出系統(tǒng)的契約。四、實(shí)驗(yàn)過程及結(jié)果實(shí)驗(yàn)小結(jié):初步學(xué)習(xí)契約的畫法 實(shí)驗(yàn)及作業(yè)七——類職責(zé)分配一、實(shí)驗(yàn)?zāi)康?、了解面向?qū)ο蟮幕靖拍?、熟悉面向?qū)ο蟮姆治?、設(shè)計(jì)過程3、了解基于UML的面向?qū)ο蠓治鲈O(shè)計(jì)過程二、實(shí)驗(yàn)設(shè)備與環(huán)境裝有Visio、RationalRose、StarUML的計(jì)算機(jī)。三、實(shí)驗(yàn)內(nèi)容請根據(jù)實(shí)驗(yàn)五、六得出的概念模型、系統(tǒng)操作、契約,進(jìn)行類職責(zé)的分配。提示:實(shí)驗(yàn)過程應(yīng)包括:1、請考慮系統(tǒng)界面;2、得出系統(tǒng)的真實(shí)用例;3、對系統(tǒng)類中的每個(gè)操作,根據(jù)契約中的后置條件,畫出相應(yīng)的協(xié)作圖。四、實(shí)驗(yàn)過程及結(jié)果五、實(shí)驗(yàn)小結(jié): 學(xué)習(xí)協(xié)作圖的繪畫實(shí)驗(yàn)及作業(yè)八——系統(tǒng)類圖一、實(shí)驗(yàn)?zāi)康?、了解面向?qū)ο蟮幕靖拍?、熟悉面向?qū)ο蟮姆治?、設(shè)計(jì)過程3、了解基于UML的面向?qū)ο蠓治鲈O(shè)計(jì)過程二、實(shí)驗(yàn)設(shè)備與環(huán)境裝有Visio、RationalRose、StarUML的計(jì)算機(jī)。三、實(shí)驗(yàn)內(nèi)容請根據(jù)實(shí)驗(yàn)五、六、七得出的概念模型、交互圖,給出系統(tǒng)的類圖。提示:實(shí)驗(yàn)過程應(yīng)包括:1、請給出系統(tǒng)中存在的類,并說明每個(gè)類的用途(在類圖中加注釋);2、添加類的關(guān)系。四、實(shí)驗(yàn)過程及結(jié)果Loan:罰款繳費(fèi)Borrower:借書者Reservation:預(yù)定圖書類Title:圖書信息類Item:某種圖書數(shù)量五、實(shí)驗(yàn)小結(jié): 學(xué)習(xí)類圖的繪畫實(shí)驗(yàn)及作業(yè)九——系統(tǒng)狀態(tài)圖一、實(shí)驗(yàn)?zāi)康?、了解面向?qū)ο蟮幕靖拍?、熟悉面向?qū)ο蟮姆治觥⒃O(shè)計(jì)過程3、了解基于UML的面向?qū)ο蠓治鲈O(shè)計(jì)過程二、實(shí)驗(yàn)設(shè)備與環(huán)境裝

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論