資源描述:
《基于UML的需求建模研究》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、鄭州大學(xué)學(xué)士學(xué)位論文基于UML的需求建模研究姓名:郭慶偉專業(yè):軟件工程2011-4-16摘要軟件需求工程是隨著計(jì)算機(jī)的發(fā)展而發(fā)展起來的,在計(jì)算機(jī)發(fā)展的初期,軟件規(guī)模不是很大的情況下,需求分析很少受到重視,隨著軟件系統(tǒng)的規(guī)模日益增大,需求分析與定義在整個(gè)軟件開發(fā)過程中越發(fā)顯出它的重要性,它貫穿于整個(gè)軟件開發(fā)生命周期中。以軟件需求工程為基礎(chǔ),基于UML的系統(tǒng)需求建模研究成為時(shí)下熱門的研究方向。UML(UnifiedModelingLanguage)是建立系統(tǒng)模型和分析業(yè)務(wù)處理流程強(qiáng)有力的工具,從不同角度描述系統(tǒng),幫
2、助分析人員弄清楚“做什么,誰去做,何時(shí)做,以什么順序做”。本文首先介紹面向?qū)ο蠼R约敖y(tǒng)一建模語言UML的相關(guān)知識(shí),接著總結(jié)面向?qū)ο笮枨蠼5倪^程和具體步驟以及基于UML的系統(tǒng)需求工程方法。關(guān)鍵詞:統(tǒng)一建模語言,需求工程,面向?qū)ο?面向?qū)ο蠼<癠ML概述1.1面向?qū)ο蠼C嫦驅(qū)ο蠓椒▽W(xué)也稱為面向?qū)ο蟮拈_發(fā)方法,它屬于軟件工程的范疇。面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則是盡可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過程接近人類認(rèn)識(shí)世界解決問題的方法與過程。也就是說,面向?qū)ο蠓椒ㄊ且环N嶄新的思維方法,它是把程序看
3、作是相互協(xié)作而又彼此獨(dú)立的對(duì)象的集合。由于對(duì)象的獨(dú)立封裝,模塊的可構(gòu)造性、可擴(kuò)充性、可重用性也大大加強(qiáng),從而面向?qū)ο蟮能浖こ棠軌騽偃萎?dāng)今大規(guī)模復(fù)雜、易變軟件系統(tǒng)開發(fā)應(yīng)用的要求。? 面向?qū)ο蟮能浖こ桃笫紫葘?duì)系統(tǒng)建立模型是對(duì)現(xiàn)實(shí)的簡化,它提供了系統(tǒng)的藍(lán)圖。一個(gè)好的模型只需抓住影響事物發(fā)展的主要矛盾,而忽略那些次要矛盾。每個(gè)系統(tǒng)可以從不同方面用不同的模型來描述。因而每個(gè)模型都是在語義上閉合的系統(tǒng)抽象。通過建模可以按照實(shí)際情況對(duì)系統(tǒng)進(jìn)行可視化模型詳細(xì)地說明了系統(tǒng)結(jié)構(gòu)或行為,指導(dǎo)我們構(gòu)造系統(tǒng)模板?。模型是現(xiàn)實(shí)系統(tǒng)的
4、簡化,它是抓住現(xiàn)實(shí)系統(tǒng)的重要方面(主要方面)而忽略次要方面的一種抽象。因此,模型既反映現(xiàn)實(shí)系統(tǒng),又不等同于該現(xiàn)實(shí)系統(tǒng)。模型是理解、分析、開發(fā)或改造現(xiàn)實(shí)系統(tǒng)的一種常用手段。圖1-1描述了模型和現(xiàn)實(shí)系統(tǒng)之間的關(guān)系。圖1-1模型和現(xiàn)實(shí)系統(tǒng)之間的關(guān)系由于人們對(duì)復(fù)雜性的認(rèn)識(shí)能力有限,因此系統(tǒng)的設(shè)計(jì)者在系統(tǒng)設(shè)計(jì)之初往往無法全面理解整個(gè)系統(tǒng)。此時(shí),人們就需要對(duì)系統(tǒng)進(jìn)行建模。例如,建造大樓前通常應(yīng)先設(shè)計(jì)大樓的建筑設(shè)計(jì)圖,以便在大樓動(dòng)工前就能使人們對(duì)未來的大樓有一清晰的感性認(rèn)識(shí)。軟件設(shè)計(jì)和建筑設(shè)計(jì)相似。建??梢允乖O(shè)計(jì)者從全局上把
5、握系統(tǒng)及其內(nèi)部的聯(lián)系,而不致陷入每個(gè)模塊的細(xì)節(jié)之中。模型可使具有復(fù)雜關(guān)系的信息簡單易懂,使人們?nèi)菀锥床鞆?fù)雜堆砌而成的原始數(shù)據(jù)背后的規(guī)律,并能有效地讓人們將系統(tǒng)需求映射到軟件結(jié)構(gòu)上。具體而言,模型主要有如下作用:(1)模型可以促進(jìn)項(xiàng)目有關(guān)人員對(duì)系統(tǒng)的理解和交流。模型對(duì)于問題的理解、項(xiàng)目有關(guān)人員(客戶、領(lǐng)域?qū)<?、分析人員和設(shè)計(jì)人員等)之間的交流、文檔的準(zhǔn)備以及程序和數(shù)據(jù)庫的設(shè)計(jì)等都非常有益。模型可使得人們直接研究一個(gè)大型的復(fù)雜軟件系統(tǒng)。建模能促進(jìn)人們對(duì)需求的理解,從而可得到更清晰的設(shè)計(jì),進(jìn)而得到更易于維護(hù)的系統(tǒng)。(
6、2)模型有助于挑選出代價(jià)較小的解決方案。在研究一個(gè)大型軟件系統(tǒng)的模型時(shí),人們可以提出多個(gè)實(shí)際方案并對(duì)它們進(jìn)行相互比較,然后挑選出一個(gè)最好的方案。(3)模型可以縮短系統(tǒng)的開發(fā)周期。模型實(shí)質(zhì)上是通過過濾掉一些不必要的細(xì)節(jié)而刻畫復(fù)雜問題或者結(jié)構(gòu)的必要特性的抽象,它使得問題更容易理解。在有了模型之后,軟件系統(tǒng)的開發(fā)過程就會(huì)變得較快,同時(shí)也就降低了系統(tǒng)的開發(fā)成本。為了建立復(fù)雜的系統(tǒng),開發(fā)人員必須首先抽象出系統(tǒng)的不同視圖,并用精確的表示法來建立模型,最后在模型轉(zhuǎn)換為實(shí)現(xiàn)的過程中逐漸添加進(jìn)相關(guān)細(xì)節(jié)。如圖1-2所示,表示法、過
7、程和工具是成功建模的三要素,三者缺一不可。如果建模人員了解表示法的含義,但不知道如何使用這些表示法(過程),那么最終有可能會(huì)失??;如果建模人員知道建模的過程,但不知道各表示法的含義,那么最終也可能會(huì)失??;如果建模人員不能借助工具記錄下建模過程中所得的各制品,那么最后還是有可能會(huì)失敗。1.2UML建模語言概述UML是一種定義良好的、易于表達(dá)的、功能較強(qiáng)的且普遍適用的建模語言。它吸收了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。UML的應(yīng)用領(lǐng)域相當(dāng)廣泛,它不僅可用于建立軟件系統(tǒng)的模型,同樣也可用于描述非軟件領(lǐng)域內(nèi)的系統(tǒng)模
8、型以及處理復(fù)雜數(shù)據(jù)的信息相同、具有實(shí)時(shí)要求的工業(yè)系統(tǒng)或工業(yè)過程等。作為一種通用的建模語言,UML適用于系統(tǒng)開發(fā)過程中從需求規(guī)約描述到系統(tǒng)完成后測試的不同階段。目前,UML已經(jīng)成為建模語言事實(shí)上的工業(yè)標(biāo)準(zhǔn)。在UML問世之前,已經(jīng)有不少人試圖將各種建模方法中不同的概念進(jìn)行統(tǒng)一。其中Coleman和他的同事們?cè)y(tǒng)一OMT、Booch、CRC方法中的概念,但由于這些方法的原作者沒有參與這項(xiàng)