教學(xué)課件·軟件工程與Rose建模案例教程第二版_第1頁
教學(xué)課件·軟件工程與Rose建模案例教程第二版_第2頁
教學(xué)課件·軟件工程與Rose建模案例教程第二版_第3頁
教學(xué)課件·軟件工程與Rose建模案例教程第二版_第4頁
教學(xué)課件·軟件工程與Rose建模案例教程第二版_第5頁
已閱讀5頁,還剩240頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第1章 軟件工程概述 本章學(xué)習(xí)導(dǎo)航本章學(xué)習(xí)要點(diǎn) 軟件的定義與分類 軟件工程的定義與基本思想 軟件危機(jī)的出現(xiàn) 軟件生存周期思想 軟件生存周期各階段任務(wù) 教學(xué)課時(shí):4課時(shí)任務(wù)1 了解軟件、軟件工程和軟件危機(jī)的基本概念,理解軟件開發(fā)的工程化思想任務(wù)目標(biāo) 小組討論法 資料查詢法學(xué)習(xí)方法任務(wù)1(1)易用性:指軟件產(chǎn)品對用戶來說有效、易學(xué)、高效、好記、少錯和令人滿意的程度 。 (2)可靠性:指在給定的時(shí)間內(nèi),計(jì)算機(jī)軟件系統(tǒng)能實(shí)施應(yīng)有功能的能力。 (3)可維護(hù)性:指軟件維護(hù)人員對該軟件進(jìn)行維護(hù)的難易程度。 (4)安全性:確保軟件系統(tǒng)不會被內(nèi)部或外部因素危及的能力。 軟件的評價(jià)因素軟件是人們寫給計(jì)算機(jī)的一系列

2、指令以及相關(guān)文檔的集合。 軟件由以下三部分組成:(1)在運(yùn)行中能提供所希望的功能和性能的指令集(即程序)。(2)使程序能夠正確運(yùn)行的數(shù)據(jù)結(jié)構(gòu)。(3)描述程序研制過程、方法所用的文擋。 軟件的定義任務(wù)1軟件發(fā)展的四個(gè)階段出現(xiàn)的典型技術(shù)和主要特點(diǎn) 1程序設(shè)計(jì)階段(20世紀(jì)50至60年代)2程序系統(tǒng)階段(20世紀(jì)60至70年代)3軟件工程階段(20世紀(jì)70年代中后期) 4第四階段(約20世紀(jì)90年代以來) 軟件的發(fā)展任務(wù)11抽象性 指軟件生產(chǎn)無明顯制造過程,軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體 。2可復(fù)制性 指軟件是通過人們的智力活動,把知識與技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品,是在研制、開發(fā)中被創(chuàng)造出來

3、的,它可以很簡單的制作副本。 3不會磨損 在軟件的運(yùn)行和使用期間,沒有硬件那樣的機(jī)械磨損、老化問題,而只有版本更新和升級的問題。4依賴性 軟件的開發(fā)和運(yùn)行經(jīng)常受到計(jì)算機(jī)系統(tǒng)的限制,對計(jì)算機(jī)系統(tǒng)和用戶需求有著不同程度的依賴性。5開發(fā)效率低 軟件的開發(fā)至今尚未完全擺脫手工的開發(fā)方式,軟件也很難象其它工業(yè)產(chǎn)品一樣實(shí)現(xiàn)標(biāo)準(zhǔn)化、自動化生產(chǎn)。6開發(fā)費(fèi)用高 隨著社會的發(fā)展和信息化進(jìn)程的推進(jìn),在計(jì)算機(jī)系統(tǒng)中,軟件費(fèi)用占有的比例越來越大。 軟件的特點(diǎn)任務(wù)1軟件的分類任務(wù)1(1)軟件開發(fā)費(fèi)用和進(jìn)度失控 丹佛新國際機(jī)場 。(2)軟件的可靠性差 “阿麗阿娜”運(yùn)載火箭 (3)生產(chǎn)出來的軟件難以維護(hù) 典型例子-IBM36

4、0的操作系統(tǒng) 軟件危機(jī)的特征 指落后的軟件生產(chǎn)方式無法滿足迅速增長的計(jì)算機(jī)軟件需求,從而導(dǎo)致軟件開發(fā)與維護(hù)過程中出現(xiàn)一系列嚴(yán)重問題的現(xiàn)象 (始于20 世紀(jì)60年代 )。什么是軟件危機(jī)(1)與軟件本身的特點(diǎn)有關(guān)(2)與軟件開發(fā)人員本身的弱點(diǎn)有關(guān) 用戶需求不明確 缺乏正確的理論指導(dǎo) 軟件開發(fā)規(guī)模越來越大 軟件開發(fā)復(fù)雜度越來越高 軟件危機(jī)的原因任務(wù)1(1)用分階段的生命周期計(jì)劃嚴(yán)格管理(2)堅(jiān)持進(jìn)行階段評審(3)實(shí)行嚴(yán)格的產(chǎn)品控制(4)采用現(xiàn)代程序設(shè)計(jì)技術(shù)軟件工程的7條基本原理 1968年的NATO 、IEEE【IEEE83】 、IEEE【IEEE93】 軟件工程的理解: 軟件工程學(xué)科是一門指導(dǎo)計(jì)算

5、機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科; 軟件工程不是科學(xué),其目的是創(chuàng)造而不是發(fā)現(xiàn); 軟件工程不是傳統(tǒng)意義的工程:沒有成熟的系統(tǒng)化方法。 軟件工程的定義(5)結(jié)果應(yīng)能清楚地審查 (6)開發(fā)小組的人員應(yīng)該少而精 (7)承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性 任務(wù)1(1)確定性 (2)一致性(3)完備性(4)可驗(yàn)證性新的設(shè)計(jì)原則(1)抽象 (2)信息隱蔽 (3)模塊化 (4)局部化 新的思想方法課堂實(shí)踐 1(1)通過學(xué)習(xí)小組討論和上網(wǎng)查詢資料形式完成。(2)找到一些常用的軟件工程相關(guān)的網(wǎng)站,方便自己的學(xué)習(xí)。 操作提示(1)根據(jù)您的理解,您認(rèn)為怎樣才能解決軟件危機(jī)。(2)你所了解的目前我國的軟件開發(fā)是一種什么樣的狀態(tài)

6、,您認(rèn)為哪些地方可以改進(jìn)。(3)了解了軟件工程的概念以后,你是怎樣理解軟件開發(fā)和編程的? 操作要求任務(wù)2 了解軟件生存周期模型及軟件生存周期的階段劃分及各階段的主要任務(wù)任務(wù)目標(biāo) 小組討論法 資料查詢法 類比學(xué)習(xí)法學(xué)習(xí)方法任務(wù)2軟件生存周期定義時(shí)期開發(fā)時(shí)期維護(hù)時(shí)期任務(wù)2“對于上一個(gè)階段所確定的問題有行得通的解決辦法嗎?” 系統(tǒng)分析員需要在較抽象的高層次上進(jìn)行的分析和設(shè)計(jì)的過程,可以通過系統(tǒng)流程圖、數(shù)據(jù)流圖和數(shù)據(jù)字典進(jìn)行描述。 (1)技術(shù)可行性:使用現(xiàn)有的技術(shù)能實(shí)現(xiàn)這個(gè)系統(tǒng)嗎?(2)經(jīng)濟(jì)可行性:這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能超過它的開發(fā)成本嗎?(3)操作可行性:系統(tǒng)的操作方式在這個(gè)用戶組織內(nèi)部行得通嗎? 2

7、-可行性研究“要解決的問題是什么?” 系統(tǒng)分析員應(yīng)該提出關(guān)于問題性質(zhì)、工程目標(biāo)和規(guī)模的書面報(bào)告。并組織認(rèn)真討論這份書面報(bào)告。問題定義階段是軟件生存周期中最簡短的階段,一般只需要一天甚至更少的時(shí)間。 1-問題定義任務(wù)22-可行性研究(系統(tǒng)流程圖)任務(wù)21什么是軟件需求 IEEE軟件工程標(biāo)準(zhǔn)中關(guān)于需求的定義 用戶解決問題或達(dá)到目標(biāo)所需的條件或權(quán)能。 系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其它正式規(guī)定文檔所需具有的條件或權(quán)能。 一種反映上面兩條所描述的條件或權(quán)能的文檔說明。 3-需求分析2需求的特點(diǎn) (1)需求是根本的(2)需求是變化的 (3)需求是多層次的 任務(wù)23需求的層次 3-需求分析4需求的

8、標(biāo)準(zhǔn) (1)明確性 (2)完整性 (3)一致性 (4)可測試性 (5)可跟蹤性和可修改性 任務(wù)2 需求分析階段通常借助于數(shù)據(jù)流圖描述對現(xiàn)有系統(tǒng)的認(rèn)識或?qū)δ繕?biāo)系統(tǒng)的設(shè)想。 3-需求分析任務(wù)2 “概括地說,應(yīng)該如何解決這個(gè)問題?”通常用層次圖或結(jié)構(gòu)圖描繪軟件的結(jié)構(gòu)。 (1)低成本的解決方案。 (2)中等成本的解決方案。 (3)高成本的完美的解決方案。 4-總體設(shè)計(jì)任務(wù)2 “應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢?” 通常用HIPO圖或PDL語言或程序流程圖描述詳細(xì)設(shè)計(jì)的結(jié)果 。5-詳細(xì)設(shè)計(jì)任務(wù)2 通過各種類型的測試及相應(yīng)的調(diào)試,保證軟件達(dá)到預(yù)定的的要求。最基本的測試是集成測試和驗(yàn)收測試。 8-綜合測試也稱為

9、軟件的實(shí)現(xiàn),也是程序員的主要工作。(1)選擇程序設(shè)計(jì)語言(2)養(yǎng)成程序設(shè)計(jì)風(fēng)格(3)遵循編碼規(guī)范(4)進(jìn)行單元測試7-編碼和單元測試(1)改正性維護(hù) (2)適應(yīng)性維護(hù) (3)完善性維護(hù) (4)預(yù)防性維護(hù) 9-軟件維護(hù)課堂實(shí)踐 2(1)通過學(xué)習(xí)小組討論和上網(wǎng)查詢資料形式完成。(2)結(jié)合自己的軟件開發(fā)實(shí)踐,進(jìn)一步理解軟件生命周期及各階段的任務(wù)。 操作提示(1)怎樣理解軟件生存周期模型?(2)軟件生存周期模型中各階段的主要描述工具有哪些? (3)需求分析在軟件生存周期過程中處于怎樣的地位?(4)查找一份需求規(guī)格說明書,通過閱讀該說明書準(zhǔn)確的獲取系統(tǒng)的需求。(5)查找一份總體設(shè)計(jì)說明書,參照模板編寫“

10、B-C電子商務(wù)系統(tǒng)”的總體設(shè)計(jì)說明書。(6)查找一份詳細(xì)設(shè)計(jì)說明書,參照模板編寫“B-C電子商務(wù)系統(tǒng)”的詳細(xì)設(shè)計(jì)說明書。操作要求課外拓展(1)通過一次完整的借還書過程體驗(yàn)應(yīng)用圖書管理系統(tǒng)借書和還書的基本流程。(2)參考已有圖書管理系統(tǒng)說明書進(jìn)行圖形的繪制。(3)本次實(shí)踐的目的在于培養(yǎng)使用輔助工具繪制圖形的能力,而不在于設(shè)計(jì)。操作提示(1)在網(wǎng)上搜索人月神話的電子書,并進(jìn)行閱讀。(2)使用Word或Visio工具,繪制如圖1-3所示的圖書管理系統(tǒng)系統(tǒng)流程圖。(3)使用Word或Visio工具,繪制如圖1-5所示的圖書管理系統(tǒng)系統(tǒng)中借還書操作的數(shù)據(jù)流圖。(4)使用Word或Visio工具,繪制如圖

11、1-6所示的圖書管理系統(tǒng)的功能模塊圖。 操作要求第2章 軟件過程模型與面向?qū)ο蠓椒?本章學(xué)習(xí)導(dǎo)航本章學(xué)習(xí)要點(diǎn) 瀑布模型的特點(diǎn)及應(yīng)用 螺旋模型的特點(diǎn)及應(yīng)用 原型模型的特點(diǎn)及應(yīng)用 XP/敏捷方法的特點(diǎn)及應(yīng)用 RUP的特點(diǎn)及應(yīng)用 面向?qū)ο蠓椒?教學(xué)課時(shí):4課時(shí)任務(wù)1 比較常用軟件過程模型的特點(diǎn),能根據(jù)實(shí)際軟件開發(fā)需要選擇過程模型任務(wù)目標(biāo) 小組討論法 資料查詢法 對比學(xué)習(xí)法學(xué)習(xí)方法任務(wù)1 核心思想是采用“工序”的思想將復(fù)雜的軟件開發(fā)問題簡化。將軟件設(shè)計(jì)與軟件功能的實(shí)現(xiàn)分開由不同的階段完成,便于分工協(xié)作。采用結(jié)構(gòu)化的分析與設(shè)計(jì)方法,將邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)分開。 瀑布模型任務(wù)1主要特點(diǎn):(1)上一階段活動的

12、成果作為本階段活動的輸入;(2)利用這一輸入實(shí)施本階段活動應(yīng)完成的內(nèi)容;(3)得到本階段活動的工作成果,再傳遞傳給下一階段活動;(4)在每一階段活動結(jié)束時(shí),對階段活動的工作成果進(jìn)行評審,如果工作成果得到確認(rèn),則繼續(xù)下一項(xiàng)活動,否則返回前一階段,甚至更前階段的活動進(jìn)行返工。瀑布模型主要缺點(diǎn):(1)由于開發(fā)模型呈線性,所以當(dāng)開發(fā)成果尚未經(jīng)過測試時(shí),用戶無法看到軟件的效果。這樣,軟件與用戶見面的時(shí)間間隔較長,增加了一定的風(fēng)險(xiǎn)。(2)在軟件開發(fā)前期末發(fā)現(xiàn)的錯誤傳到后面的開發(fā)活動中時(shí),可能會擴(kuò)散,進(jìn)而可能會造成整個(gè)軟件項(xiàng)目開發(fā)失敗。(3)在軟件需求分析階段,要完全確定用戶的所有需求是比較困難的,甚至可以

13、說是不太可能的。 任務(wù)1 將瀑布模型和演化模型結(jié)合起來,融合了兩個(gè)模型的優(yōu)點(diǎn),而且還強(qiáng)調(diào)了其他模型均忽略了的風(fēng)險(xiǎn)分析和評價(jià)。 螺旋模型任務(wù)1主要特點(diǎn): 在“瀑布模型”的每一個(gè)開發(fā)階段前,引入一個(gè)非常嚴(yán)格的風(fēng)險(xiǎn)識別、風(fēng)險(xiǎn)分析和風(fēng)險(xiǎn)控制。它把軟件項(xiàng)目分解成一個(gè)個(gè)小項(xiàng)目,每個(gè)小項(xiàng)目都標(biāo)識一個(gè)或多個(gè)主要風(fēng)險(xiǎn),直到所有的主要風(fēng)險(xiǎn)因素都被確定。 螺旋模型支持用戶需求的動態(tài)變化,為用戶參與軟件開發(fā)的所有關(guān)鍵決策提供了方便,有助于提高目標(biāo)軟件的適應(yīng)能力,為項(xiàng)目管理人員及時(shí)調(diào)整管理決策提供了便利,從而降低了軟件開發(fā)風(fēng)險(xiǎn)。 螺旋模型主要缺點(diǎn):(1)過多的迭代次數(shù)會增加開發(fā)成本,延遲提交時(shí)間。(2)采用螺旋模型,需

14、要具有相當(dāng)豐富的風(fēng)險(xiǎn)評估經(jīng)驗(yàn)和專門知識。在風(fēng)險(xiǎn)較大的項(xiàng)目開發(fā)中,如果未能夠及時(shí)標(biāo)識風(fēng)險(xiǎn),勢必造成重大損失。 任務(wù)1 以用戶需求為動力,以對象為驅(qū)動的模型,主要用于描述面向?qū)ο蟮能浖_發(fā)過程。噴泉模型認(rèn)為軟件開發(fā)過程自下而上周期的各階段是相互重疊和多次反復(fù)的 噴泉模型任務(wù)1主要特點(diǎn):(1)軟件的某個(gè)部分(如:組件)通常被重復(fù)工作多次 ;(2)可以實(shí)現(xiàn)并行開發(fā),提高軟件項(xiàng)目開發(fā)效率,節(jié)省開發(fā)時(shí)間 ;(3)適應(yīng)于面向?qū)ο蟮能浖_發(fā)過程 ;噴泉模型主要缺點(diǎn):(1)由于噴泉模型在各個(gè)開發(fā)階段是重疊的,因此,在開發(fā)過程中,需要大量的開發(fā)人員,不利于項(xiàng)目的管理;(2)噴泉模型要求對文檔的管理較為嚴(yán)格,審核的

15、難度加大,尤其是面對可能隨時(shí)加入各種信息、需求與資料。任務(wù)1 融合了瀑布模型的基本成分和原型實(shí)現(xiàn)的迭代特征。采用隨著時(shí)間的進(jìn)展而交錯的線性序列,每一個(gè)線性序列產(chǎn)生軟件的一個(gè)可發(fā)布的“增量”。 增量模型任務(wù)1主要特點(diǎn):(1)人員分配靈活,剛開始不用投入大量人力資源,如果核心產(chǎn)品很受歡迎,則可增加人力實(shí)現(xiàn)下一個(gè)增量 。 (2)當(dāng)配備的人員不能在設(shè)定的期限內(nèi)完成產(chǎn)品時(shí),它提供了一種先推出核心產(chǎn)品的途徑,這樣就可以先發(fā)布部分功能給客戶,以滿足客戶的局部需求 。 (3)能夠有計(jì)劃地管理技術(shù)風(fēng)險(xiǎn) 增量模型主要缺點(diǎn): 如果增量包之間存在相交的情況且不能很好地處理,就必須做全盤的系統(tǒng)分析。 課堂實(shí)踐 1(1)

16、以學(xué)習(xí)小組為單位分組討論一個(gè)模型,討論活動結(jié)束后,由小組代表進(jìn)行演講。(2)可以通過上網(wǎng)查閱相關(guān)資料獲取軟件過程模型更為詳細(xì)的信息。 (3)繪制的模型圖以文件名Chap02-1.doc上交。 操作提示 (1)討論瀑布模型的主要特點(diǎn),并舉例說明在哪些類型的軟件系統(tǒng)開發(fā)中可以采用瀑布模型。 (2)討論螺旋模型的主要特點(diǎn),并舉例說明在哪些類型的軟件系統(tǒng)開發(fā)中可以采用螺旋模型。 (3)討論噴泉模型的主要特點(diǎn),并舉例說明在哪些類型的軟件系統(tǒng)開發(fā)中可以采用噴泉模型。 (4)討論增量模型的主要特點(diǎn),并舉例說明在哪些類型的軟件系統(tǒng)開發(fā)中可以采用增量模型。 (5)使用Word工具,分別繪制瀑布模型、螺旋模型、噴

17、泉模型和增量模型的基本模型圖。操作要求任務(wù)1 是從需求收集開始,在獲得一定的需求后,進(jìn)行“快速設(shè)計(jì)”,在此基礎(chǔ)上創(chuàng)建軟件系統(tǒng)的原型,并由用戶對原型進(jìn)行評估并進(jìn)一步精化待開發(fā)軟件的需求。 原型模型任務(wù)1主要特點(diǎn):(1)開發(fā)效率高,原型使總的開發(fā)費(fèi)用降低,時(shí)間縮短;(2)開發(fā)者與用戶交流直觀,可以澄清模糊需求,調(diào)動用戶的積極參與,能及早的暴露系統(tǒng)潛在的一些問題;(3)原型系統(tǒng)可作為培訓(xùn)環(huán)境,有利于用戶培訓(xùn)和開發(fā)同步,開發(fā)過程也是學(xué)習(xí)過程。 噴泉模型主要缺點(diǎn):(1)產(chǎn)品原型在一定程度上限制了開發(fā)人員的創(chuàng)新,沒有考慮軟件的整體質(zhì)量和長期的可維護(hù)性,由于達(dá)不到質(zhì)量要求產(chǎn)品可能被拋棄,而采用新的模型重新設(shè)

18、計(jì)。因此,原型實(shí)現(xiàn)模型不適合嵌入式、實(shí)時(shí)控制、科學(xué)數(shù)值計(jì)算等大型軟件系統(tǒng)的開發(fā)。(2)原型的開發(fā)需要耗費(fèi)一定的人力和物力,增加了軟件開發(fā)的成本。任務(wù)1 是一個(gè)增量型的軟件開發(fā)過程模型,強(qiáng)調(diào)極短的開發(fā)周期。RAD模型是瀑布模型的一個(gè)“高速”變種,通過大量使用可復(fù)用構(gòu)件,采用基于構(gòu)件的建造方法實(shí)現(xiàn)快速開發(fā)。 RAD模型任務(wù)1主要特點(diǎn):(1)采用基于構(gòu)件的開發(fā)方法,復(fù)用已有的程序結(jié)構(gòu)或使用可復(fù)用構(gòu)件和或是創(chuàng)建可復(fù)用的構(gòu)件。 (2)通過大量使用可復(fù)用構(gòu)件加快了開發(fā)速度,對信息系統(tǒng)的開發(fā)特別有效。 RAD模型主要缺點(diǎn):(1)RAD模型對模塊化要求比較高,如果軟件系統(tǒng)中有哪一項(xiàng)功能不能被模塊化,那么創(chuàng)建R

19、AD所需要的構(gòu)件就會有問題。因此,并非所有應(yīng)用都適合RAD。 (2)開發(fā)者和客戶必須在很短的時(shí)間完成一系列的需求分析,任何一方配合不當(dāng)都會導(dǎo)致RAD項(xiàng)目失敗。 (3) RAD只適用于信息系統(tǒng)開發(fā),不適合技術(shù)風(fēng)險(xiǎn)很高系統(tǒng)的開發(fā)。任務(wù)1 一種輕量級的開發(fā)方法,敏捷方法強(qiáng)調(diào)適應(yīng)性而非預(yù)測性,強(qiáng)調(diào)以人為中心而非以流程為中心,強(qiáng)調(diào)對變化的適應(yīng)和對人性的關(guān)注。 XP/敏捷模型任務(wù)1主要特點(diǎn):(1)輕載(2)基于時(shí)間(3)Just Enough(4)并行(5)基于構(gòu)件 。 XP/敏捷模型主要思想: XP開發(fā)模型與傳統(tǒng)模型相比具有很大的不同,它的核心思想是交流、簡單、反饋和進(jìn)取。XP開發(fā)模型強(qiáng)調(diào)小組內(nèi)成員之間

20、要經(jīng)常進(jìn)行交流;在盡量保證質(zhì)量可以運(yùn)行的前提下,力求過程和代碼的簡單化;在XP開發(fā)小組中不僅包括開發(fā)人員,還包括管理人員和客戶,來自客戶、開發(fā)人員和最終用戶的具體反饋意見可以提供更多的機(jī)會來調(diào)整設(shè)計(jì),保證把握正確的開發(fā)方向;進(jìn)取則包含在交流、簡單和反饋三個(gè)原則中。 任務(wù)1 一種重量級的開發(fā)方法,又是文檔化的軟件工程產(chǎn)品 。 統(tǒng)一軟件開發(fā)過程任務(wù)1 RUP有6個(gè)核心工作流和3個(gè)核心支持工作流,采用迭代式開發(fā) 。 統(tǒng)一軟件開發(fā)過程任務(wù)1主要特點(diǎn):(1)用例驅(qū)動 (2)以體系結(jié)構(gòu)為中心 (3)迭代式開發(fā)統(tǒng)一軟件開發(fā)過程 通過以上各種軟件過程模型的分析,我們可以看到:軟件過程模型隨著軟件設(shè)計(jì)思想的改變

21、而發(fā)展,經(jīng)歷了由最初的以結(jié)構(gòu)化程序設(shè)計(jì)思想為指導(dǎo)的瀑布模型等,到以面向?qū)ο笏枷霝橹笇?dǎo)的噴泉模型等,到以構(gòu)件開發(fā)思想為指導(dǎo)的基于體系結(jié)構(gòu)的開發(fā)模型等,到基于UML的RUP,到現(xiàn)在的4GT技術(shù)。每次新的軟件設(shè)計(jì)思想的突破都會出現(xiàn)新的軟件開發(fā)過程模型,以達(dá)到提高軟件的生產(chǎn)效率和質(zhì)量為目標(biāo),提出新的解決“軟件危機(jī)”問題的方案。 軟件開發(fā)過程小結(jié)課堂實(shí)踐 2(1)以學(xué)習(xí)小組為單位分組討論一個(gè)模型,討論活動結(jié)束后,由小組代表進(jìn)行演講。(2)可以通過上網(wǎng)查閱相關(guān)資料獲取軟件過程模型更為詳細(xì)的信息。 (3)繪制的模型圖以文件名Chap02-2.doc上交。操作提示 (1)討論原型模型的主要特點(diǎn),并舉例說明在哪

22、些類型的軟件系統(tǒng)開發(fā)中可以采用原型模型。 (2)討論RAD模型的主要特點(diǎn),并舉例說明在哪些類型的軟件系統(tǒng)開發(fā)中可以采用RAD模型。 (3)討論XP/敏捷方法的主要特點(diǎn),并舉例說明在哪些類型的軟件系統(tǒng)開發(fā)中可以采用XP/敏捷方法。 (4)討論統(tǒng)一軟件開發(fā)過程的主要特點(diǎn),并舉例說明在哪些類型的軟件系統(tǒng)開發(fā)中可以采用統(tǒng)一軟件開發(fā)過程。 (5)使用Word工具,分別繪制原型模型、RAD模型、XP/敏捷方法和統(tǒng)一軟件開發(fā)過程的基本模型圖。 操作要求任務(wù)2 了解面向?qū)ο筌浖こ痰幕舅枷牒蚈OA、OOD、OOP和OOT的基本內(nèi)容任務(wù)目標(biāo) 小組討論法 資料查詢法學(xué)習(xí)方法任務(wù)2 “對象”,指的是解決信息領(lǐng)域內(nèi)

23、所遇到問題的方法,特別是應(yīng)用軟件技術(shù)來解決問題的方法。如:面向?qū)ο蟮姆治觯∣bject-Oriented Analysis)、面向?qū)ο蟮脑O(shè)計(jì)(Object-Oriented Design)和面向?qū)ο蟮木幊蹋∣bject-Oriented Programming)等 。 面向?qū)ο蠓椒ǎ∣bject-Oriented Method)是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動的系統(tǒng)方法,簡稱OO(Object-Oriented)方法,是建立在“對象”概念基礎(chǔ)上的方法學(xué)。 面向?qū)ο蠓椒ǖ陌l(fā)展 60年代中后期,Simula語言; 80年代以來,人們將面向?qū)ο蟮幕靖拍詈瓦\(yùn)行機(jī)制運(yùn)用到其它領(lǐng)

24、域,獲得了一系列相應(yīng)領(lǐng)域的面向?qū)ο蟮募夹g(shù) ; 1986年在美國舉行了首屆“面向?qū)ο缶幊?、系統(tǒng)、語言和應(yīng)用(OOPSLA86)”國際會議 。 面向?qū)ο笏枷肴蝿?wù)2(1)對象 對象是要研究的任何事物。從一本書、一個(gè)人、一家圖書館、一家極其復(fù)雜的自動化工廠、架航天飛機(jī)都可看作對象,它不僅能表示有形的實(shí)體,也能表示無形的(抽象的)規(guī)則、計(jì)劃或事件。對象由數(shù)據(jù)(描述事物的屬性)和作用于數(shù)據(jù)的操作(體現(xiàn)事物的行為)構(gòu)成一獨(dú)立整體。從程序設(shè)計(jì)者來看,對象是一個(gè)程序模塊,從用戶來看,對象為他們提供所希望的行為。(2)類 類是對象的模板。即類是對一組有相同數(shù)據(jù)和相同操作的對象的定義,一個(gè)類所包含的方法和數(shù)據(jù)描述一

25、組對象的共同屬性和行為。類是在對象之上的抽象,對象則是類的具體化,是類的實(shí)例。類可有其子類,也可有其它類,形成類層次結(jié)構(gòu)。(3)消息 消息是對象之間進(jìn)行通信的一種規(guī)格說明。一般它由三部分組成:接收消息的對象、消息名及實(shí)際變元。 面向?qū)ο蠡靖拍钊蝿?wù)2(1)封裝性封裝是一種信息隱蔽技術(shù),它體現(xiàn)于類的說明,是對象的重要特性。 (2)繼承性 繼承性是子類自動共享父類數(shù)據(jù)和方法的機(jī)制。它由類的派生功能體現(xiàn)。一個(gè)類直接繼承其它類的全部描述,同時(shí)可修改和擴(kuò)充。 (3)多態(tài)性 對象根據(jù)所接收的消息而做出動作。同一消息為不同的對象接受時(shí)可產(chǎn)生完全不同的行動,這種現(xiàn)象稱為多態(tài)性。 面向?qū)ο笾饕卣魅蝿?wù)2了解問題

26、域所涉及的對象、對象間的關(guān)系和作用(即操作),然后構(gòu)造問題的對象模型,力爭該模型能真實(shí)地反映出所要解決的“實(shí)質(zhì)問題”。 OOA基本步驟: (1)確定對象和類 (2)確定結(jié)構(gòu) (3)確定主題(subject) (4)確定屬性(attribute) (5)確定方法(method) 面向?qū)ο蠓治鋈蝿?wù)2對面向?qū)ο蠓治龅慕Y(jié)果作進(jìn)一步的規(guī)范化整理,以便能夠被面向?qū)ο缶幊讨苯咏邮懿⒃O(shè)計(jì)軟件的對象模型。 OOD主要工作: (1)對象定義規(guī)格的求精過程 (2)數(shù)據(jù)模型和數(shù)據(jù)庫設(shè)計(jì) (3)優(yōu)化 面向?qū)ο笤O(shè)計(jì)任務(wù)2即指軟件功能的編碼實(shí)現(xiàn),主要工作為面向?qū)ο蟮木幊蹋∣OP,Object Oriented Progra

27、mming) 。 面向?qū)ο缶幊痰幕静襟E:(1) 分析確定在問題空間和解空間出現(xiàn)的全部對象及其屬性。(2) 確定應(yīng)施加于每個(gè)對象的操作,即對象固有的處理能力。(3) 分析對象間的聯(lián)系,確定對象彼此間傳遞的消息。 (4) 設(shè)計(jì)對象的消息模式,消息模式和處理能力共同構(gòu)成對象的外部特性。(5) 分析各個(gè)對象的外部特性,將具有相同外部特性的對象歸為一類,從而確定所需要的類。(6) 確定類間的繼承關(guān)系,將各對象的公共性質(zhì)放在較上層的類中描述,通過繼承來共享對公共性質(zhì)的描述。(7) 設(shè)計(jì)每個(gè)類關(guān)于對象外部特性的描述。(8) 設(shè)計(jì)每個(gè)類的內(nèi)部實(shí)現(xiàn)(數(shù)據(jù)結(jié)構(gòu)和方法)。(9) 創(chuàng)建所需的對象(類的實(shí)例),實(shí)現(xiàn)對

28、象間應(yīng)有的聯(lián)系(發(fā)消息)。 面向?qū)ο髮?shí)現(xiàn)課堂實(shí)踐3(1)以學(xué)習(xí)小組為單位分組討論進(jìn)行討論,每小組推薦一名成員進(jìn)行演講。(2)通過上網(wǎng)查閱面向?qū)ο蠓椒ㄏ嚓P(guān)資料進(jìn)行更為詳細(xì)的信息。 操作提示(1)使用面向?qū)ο蠓椒▽VD和播放DVD的情景進(jìn)行描述。(2)舉例說明OOA、OOD和OOP的具體任務(wù)及相關(guān)之間的聯(lián)系。(3)根據(jù)您的編程經(jīng)驗(yàn),比較面向?qū)ο缶幊毯徒Y(jié)構(gòu)化編程的優(yōu)缺點(diǎn)。操作要求課外拓展(1)通過軟件過程模型圖的繪制,加深對軟件過程模型的理解。(2)查閱百度百科()的相關(guān)詞條的內(nèi)容,并對相關(guān)詞條進(jìn)行適當(dāng)?shù)难a(bǔ)充。 操作提示(1)使用Word或Visio工具,繪制瀑布模型的基本模型圖,并理解瀑布模型各

29、階段的主要任務(wù)。(2)使用Word或Visio工具,繪制XP方法的基本模型圖,并解釋XP方法的核心思想。操作要求第3章 UML簡介 本章學(xué)習(xí)導(dǎo)航本章學(xué)習(xí)要點(diǎn) UML的發(fā)展 UML的特點(diǎn) UML的結(jié)構(gòu) UML的視圖 UML基本圖形符號 教學(xué)課時(shí):4課時(shí)任務(wù)1 了解UML的發(fā)展歷程,并理解為什么要使用UML進(jìn)行建模任務(wù)目標(biāo) 小組討論法 資料查詢法學(xué)習(xí)方法任務(wù)1UML(統(tǒng)一建模語言,Unified Modeling Language)是一種建模語言,是第三代用來為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說明、可視化和編制文檔的方法。 UML的發(fā)展歷程任務(wù)1UML是一種標(biāo)準(zhǔn)的圖形化建模語言,它是面向?qū)ο蠓治雠c設(shè)計(jì)的

30、一種標(biāo)準(zhǔn)表示。UML不是一種可視化的程序設(shè)計(jì)語言,而是一種可視化的建模語言;UML不是工具或知識庫的規(guī)格說明,而是一種建模語言規(guī)格說明,是一種表示的標(biāo)準(zhǔn);UML不是過程,也不是方法,但允許任何一種過程和方法使用它。 理解UML易于使用、表達(dá)能力強(qiáng),進(jìn)行可視化建模;與具體的實(shí)現(xiàn)無關(guān),可應(yīng)用于任何語言平臺和工具平臺;與具體的過程無關(guān),可應(yīng)用于任何軟件開發(fā)的過程;簡單并且可擴(kuò)展,具有擴(kuò)展和專有化機(jī)制,便于擴(kuò)展,無需對核心概念進(jìn)行修改;為面向?qū)ο蟮脑O(shè)計(jì)與開發(fā)中涌現(xiàn)出的高級概念(例如協(xié)作、框架、模式和組件) 提供支持,強(qiáng)調(diào)在軟件開發(fā)中對架構(gòu)、框架、模式和組件的重用;與最好的軟件工程實(shí)踐經(jīng)驗(yàn)集成;可升級,

31、具有廣闊的適用性和可用性;有利于面對對象工具的市場成長。UML的目標(biāo)任務(wù)11標(biāo)準(zhǔn)的表示方法 UML是一種建模語言,是一種標(biāo)準(zhǔn)的表示,而不是一種方法(或方法學(xué))。 2與軟件開發(fā)的成功經(jīng)驗(yàn)集成 UML的價(jià)值在于它體現(xiàn)了世界上面向?qū)ο蠓椒▽?shí)踐的最好經(jīng)驗(yàn),并以建模語言的形式把它們打包,以適應(yīng)開發(fā)大型復(fù)雜系統(tǒng)的要求。 3UML的應(yīng)用貫穿在系統(tǒng)開發(fā)的五個(gè)階段 (1)需求分析。 (2)系統(tǒng)分析。 (3)系統(tǒng)設(shè)計(jì)。 (4)構(gòu)造。 (5)測試。 UML的特點(diǎn)任務(wù)1(1)結(jié)構(gòu)事物 類 、接口 、協(xié)作 、用例 、活動類 、組件 、結(jié)點(diǎn) (2)行為事物 交互 、狀態(tài)機(jī) (3)分組事物 (4)注釋事物 UML的事物 U

32、ML由圖和元模型組成,圖是語法,元模型是語義。UML主要包括三個(gè)基本構(gòu)造塊:事物(Things)、關(guān)系(Relationships)和圖(Diagrams)。 UML的結(jié)構(gòu)(1)依賴關(guān)系 (2)關(guān)聯(lián)關(guān)系 (3)泛化關(guān)系 (4)實(shí)現(xiàn)關(guān)系 UML的關(guān)系任務(wù)2 了解UML的5種視圖和9種圖形及功能,了解UML建模的基本流程任務(wù)目標(biāo) 小組討論法 資料查詢法學(xué)習(xí)方法任務(wù)2 UML中的視圖包括:用例視圖(Use-case view)、邏輯視圖(Logical view)、并發(fā)視圖(Concurrency View)、組件視圖(Component view)、部署視圖(Deployment View)等五種

33、。 UML的視圖任務(wù)2 用于描述系統(tǒng)應(yīng)該具有的功能集。它是從系統(tǒng)的外部用戶角度出發(fā),對系統(tǒng)的抽象表示。用例視圖所描述的系統(tǒng)功能依靠于外部用戶或另一個(gè)系統(tǒng)觸發(fā)激活,為用戶或另一個(gè)系統(tǒng)提供服務(wù),實(shí)現(xiàn)用戶或另一個(gè)系統(tǒng)與系統(tǒng)的交互。 用例視圖 用來顯示系統(tǒng)內(nèi)部的功能是怎樣設(shè)計(jì)的,它利用系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為來刻畫系統(tǒng)功能。靜態(tài)結(jié)構(gòu)描述類、對象和它們之間的關(guān)系等。 邏輯視圖任務(wù)2 用來顯示系統(tǒng)的并發(fā)工作狀況。并發(fā)視圖將系統(tǒng)劃分為進(jìn)程和處理機(jī)方式,通過劃分引入并發(fā)機(jī)制,利用并發(fā)高效地使用資源、并行執(zhí)行和處理異步事件。 并發(fā)視圖 用來顯示代碼組件的組織方式。它描述了系統(tǒng)的實(shí)現(xiàn)模塊和它們之間的依賴關(guān)系。組件

34、視圖由組件圖構(gòu)成。組件是代碼模塊,不同類型的代碼模塊形成不同的組件,組件按照一定的結(jié)構(gòu)和依賴關(guān)系呈現(xiàn)。 組件視圖課堂實(shí)踐 1(1)通過學(xué)習(xí)小組討論和上網(wǎng)查詢資料形式完成。(2)UML的作用與工程設(shè)計(jì)和機(jī)械設(shè)計(jì)的繪圖標(biāo)準(zhǔn)進(jìn)行比較。 操作提示(1)UML的發(fā)展歷程是怎樣的,目前的UML的版本是多少?(2)UML與面向?qū)ο蠓治龊驮O(shè)計(jì)是什么樣的關(guān)系?(3)類比說明建模在軟件開發(fā)過程中的重要作用?操作要求任務(wù)2 用例圖用于顯示若干角色(actor)以及這些角色與系統(tǒng)提供的用例之間的連接關(guān)系。用例圖任務(wù)2 類圖用來表示系統(tǒng)中的類和類與類之間的關(guān)系,它是對系統(tǒng)靜態(tài)結(jié)構(gòu)的描述 。類圖(對象圖)任務(wù)2 狀態(tài)圖是

35、對類所描述事物的補(bǔ)充說明,它顯示了類的所有對象可能具有的狀態(tài),以及引起狀態(tài)變化的事件 。狀態(tài)圖任務(wù)2 反映一個(gè)連續(xù)的活動流,相對于描述活動流(比如,用例或交互)來說,活動圖更常用于描述某個(gè)操作執(zhí)行時(shí)的活動狀況。 活動圖任務(wù)2 用來反映若干個(gè)對象之間的動態(tài)協(xié)作關(guān)系,也就是隨著時(shí)間的流逝,對象之間是如何交互的 。 順序圖任務(wù)2 除了顯示消息變化(稱為交互)外,協(xié)作圖還顯示了對象和它們之間的關(guān)系(稱為上下文有關(guān)) 。 協(xié)作圖任務(wù)2 用來反映代碼的物理結(jié)構(gòu)。代碼的物理結(jié)構(gòu)用代碼組件表示。組件可以是源代碼、二進(jìn)制文件或可執(zhí)行文件組件。 組件圖任務(wù)2 顯示系統(tǒng)中軟件和硬件的物理架構(gòu)。通常部署圖中顯示實(shí)際的

36、計(jì)算機(jī)和設(shè)備(用結(jié)點(diǎn)表示),以及各個(gè)結(jié)點(diǎn)之間的關(guān)系(還可以顯示關(guān)系的類型)。 部署圖任務(wù)2 在系統(tǒng)開發(fā)的每個(gè)階段都要建造不同的模型,建造這些模型的目的也是不同的。 UML建模的多個(gè)側(cè)面任務(wù)2UML建模的基本流程課堂實(shí)踐 3(1)通過學(xué)習(xí)小組討論和上網(wǎng)查詢資料形式完成。(2)比較UML1.4和UML2.0圖形元素的不同。操作提示(1)UML有哪幾種圖形,各有什么樣的功能?(2)UML建模的過程是怎樣的?操作要求課外拓展(1)學(xué)習(xí)過程中收集UML學(xué)習(xí)的相關(guān)網(wǎng)站,以便于課外拓展學(xué)習(xí)。(2)課外拓展學(xué)習(xí)過程中要加強(qiáng)學(xué)習(xí)小組內(nèi)的討論。 操作提示 (1)登錄,進(jìn)入該網(wǎng)站UML專題模塊進(jìn)一步學(xué)習(xí)UML的基本

37、知識。 (2)通過搜索引擎,查找UML2.0的相關(guān)說明文檔,了解UML2.0的新特性。 操作要求第4章 Rational Rose簡介 本章學(xué)習(xí)導(dǎo)航本章學(xué)習(xí)要點(diǎn) Rational Rose的安裝 Rational Rose的配置 Rational Rose的簡單使用 Rational Rose建模的基本步驟 圖書管理系統(tǒng)的設(shè)計(jì) 教學(xué)課時(shí):4課時(shí)任務(wù)1 確定Rational Rose 2003的運(yùn)行環(huán)境并安裝Rational Rose 2003任務(wù)目標(biāo) 小組討論法 資料查詢法學(xué)習(xí)方法任務(wù)1強(qiáng)有力的瀏覽器,用于查看模型和查找可重用的組件;可定制的目標(biāo)庫或編碼指南的代碼生成機(jī)制;既支持目標(biāo)語言中的標(biāo)

38、準(zhǔn)類型,又支持用戶自定義的數(shù)據(jù)類型;保證模型與代碼之間轉(zhuǎn)化的一致性;通過OLE連接,Rational Rose圖表可動態(tài)鏈接到Microsoft Word中;能夠與Rational Visual Test和SQA Suite文檔工具無縫集成;強(qiáng)有力的正/反向建模工作;縮短軟件系統(tǒng)開發(fā)周期,提高軟件開發(fā)效率;降低軟件維護(hù)成本。Rose的特點(diǎn)任務(wù)1詳細(xì)步驟參閱教材Rose的安裝任務(wù)1常規(guī)設(shè)置Rose的配置任務(wù)1其他設(shè)置Rose的配置課堂實(shí)踐 1(1)通過學(xué)習(xí)小組討論和上網(wǎng)查詢資料形式完成。(2)如果是正式使用,建議購買正版產(chǎn)品。操作提示(1)小組討論Rational Rose與UML是什么樣的關(guān)系

39、?(2)登錄IBM公司網(wǎng)站,了解Rational Rose的最新版本信息,下載其最新版本的試用版。(3)安裝所選擇的Rational Rose產(chǎn)品。(4)設(shè)置默認(rèn)的字體和顏色。操作要求任務(wù)2 了解Rational Rose 2003的界面組成,使用Rose創(chuàng)建簡單的UML模型任務(wù)目標(biāo) 小組討論法 資料查詢法 模仿實(shí)踐學(xué)習(xí)方法任務(wù)2主界面Rose 2003主要菜單任務(wù)2主菜單和工具欄Rose 2003主要菜單任務(wù)2Rose 2003 視圖Rose 2003主要菜單任務(wù)21創(chuàng)建模型 2保存模型 3發(fā)布模型4導(dǎo)入/導(dǎo)出模型 Rose 建模的基本過程課堂實(shí)踐 2(1)注意模型文件對應(yīng)的文件擴(kuò)展名為.m

40、dl。(2)可以打開已有的實(shí)例查看模型文件的組成情況。(3)主菜單的功能通過查閱附錄C進(jìn)行了解。(4)注意模型文件對應(yīng)的文件擴(kuò)展名為.mdl。(5)選擇發(fā)布的圖形文件類型為JPG。操作提示(1)啟動所安裝的Rational Rose。(2)在Rational Rose中創(chuàng)建一個(gè)名為first.mdl的空白模型。(3)了解Rational Rose主界面中主菜單的作用。(4)使用【Tools】【Options】中的【Toolbars】選項(xiàng)卡對標(biāo)準(zhǔn)工具欄和圖形工具欄進(jìn)行配置。(5)了解Rational Rose主界面各個(gè)組成部分的功能。(6)查看Rational Rose中的視圖。(7)在firs

41、t.mdl模型中添加一個(gè)簡單的用例圖。(8)保存first.mdl后,將其發(fā)布到c:tempfirst.htm文件。(9)查看發(fā)布的模型。操作要求任務(wù)3 了解圖書管理系統(tǒng)和B-C電子商務(wù)系統(tǒng)的基本需求、架構(gòu)設(shè)計(jì)和功能模塊設(shè)計(jì)任務(wù)目標(biāo) 小組討論法 資料查詢法 模仿實(shí)踐學(xué)習(xí)方法任務(wù)3圖書管理系統(tǒng)需求分析任務(wù)3圖書管理系統(tǒng)功能設(shè)計(jì)讀者類別管理 讀者管理 圖書類別管理 圖書信息管理 罰款管理 用戶管理 借還圖書 統(tǒng)計(jì)分析 后臺信息發(fā)布 任務(wù)3電子商城需求分析任務(wù)3電子商城網(wǎng)站結(jié)構(gòu)課堂實(shí)踐 3(1)可以從網(wǎng)站下載“瑞天圖書管理系統(tǒng)2008標(biāo)準(zhǔn)版”的試用版。(2)使用圖書管理系統(tǒng)時(shí)可以以兩人為一個(gè)小組模擬

42、借書、還書等操作。(3)在進(jìn)行讀者、圖書、借還書處理時(shí),請注意處理的詳細(xì)數(shù)據(jù)。操作提示(1)從網(wǎng)上下載并安裝瑞天圖書管理系統(tǒng)。(2)使用下載的圖書管理系統(tǒng),體驗(yàn)圖書登記、辦理借閱證、借書和還書等業(yè)務(wù)流程,進(jìn)一步明確圖書管理系統(tǒng)的基本功能。 操作要求課外拓展(1)到IBM公司網(wǎng)站下載Rational Rose的試用版。(2)安裝完成后,可以通過建立一個(gè)簡單的模型進(jìn)行驗(yàn)證。操作提示(1)了解目前有哪些比較流行的UML建模工具,并對這些建模工具進(jìn)行比較。(2)下載并安裝一款其它的UML建模工具(如EA),與Rational Rose的操作進(jìn)行比較。(3)在自己的機(jī)器上下載并安裝Rational Ro

43、se的合適版本。(4)根據(jù)需要對Rational Rose進(jìn)行簡單的配置。(5)選擇一個(gè)合適的電子商務(wù)網(wǎng)站,完成一次購物的過程,體驗(yàn)電子商務(wù)系統(tǒng)的基本功能。操作要求第5章 圖書管理系統(tǒng)需求建模 本章學(xué)習(xí)導(dǎo)航本章學(xué)習(xí)要點(diǎn) Rational Rose的安裝 用例圖的組成(參與者和用例) 識別軟件系統(tǒng)中的用例 描述軟件系統(tǒng)中的用例 識別用例間的關(guān)系(泛化、使用、包含和擴(kuò)展) 繪制用例圖的一些考慮 教學(xué)課時(shí):8課時(shí)任務(wù)1 了解用例模型的基本功能和基本組成,理解用例模型在軟件系統(tǒng)開發(fā)中的重要地位任務(wù)目標(biāo) 小組討論法 資料查詢法 模仿實(shí)踐學(xué)習(xí)方法任務(wù)1 用例模型是把應(yīng)滿足用戶需求的基本功能聚合起來表示的強(qiáng)

44、大工具。對于正在構(gòu)造的新系統(tǒng),用例描述該系統(tǒng)應(yīng)該做什么;對于已構(gòu)造完畢的系統(tǒng),用例則反映了系統(tǒng)能夠完成什么樣的功能??啥ㄖ频哪繕?biāo)庫或編碼指南的代碼生成機(jī)制;從用例模型中受益的人員包括:客戶(或最終用戶) ;開發(fā)者 ;系統(tǒng)集成和測試的人員 ;其他人員 ;用例模型的功能任務(wù) 1(1)確定系統(tǒng)應(yīng)具備哪些功能 。(2)為系統(tǒng)的功能提供清晰一致的描述 。(3)為系統(tǒng)驗(yàn)證工作打下基礎(chǔ)。 引入用例的目的(1)用例 用于描述系統(tǒng)的功能,即從外部用戶的角度觀察,系統(tǒng)應(yīng)具備哪些功能,幫助分析人員理解系統(tǒng)的行為,它是對系統(tǒng)功能的宏觀描述。 (2)參與者 是與系統(tǒng)進(jìn)行交互的外部實(shí)體,它可以是系統(tǒng)用戶,也可以是其它系統(tǒng)

45、或硬件設(shè)備 (3)系統(tǒng) 實(shí)現(xiàn)各種用例的“黑盒子” 用例模型的基本組成任務(wù)2確定圖書管理系統(tǒng)中的參與者和系統(tǒng)邊界任務(wù)目標(biāo) 小組討論法 資料查詢法 模仿實(shí)踐學(xué)習(xí)方法任務(wù)2描述了圖書管理業(yè)務(wù)中讀者和圖書管理員之間的關(guān)系。以及圖書管理系統(tǒng)的功能:讀者借閱圖書、圖書管理員進(jìn)行借書處理、圖書管理員進(jìn)行圖書資料統(tǒng)計(jì)、圖書管理員維護(hù)讀者信息等。 典型用例圖任務(wù)2是與系統(tǒng)交互的人或事。所謂“與系統(tǒng)交互”指的是參與者向系統(tǒng)發(fā)送消息,從系統(tǒng)中接收消息,或是在系統(tǒng)中交換信息。 參與者具體表現(xiàn)形式 系統(tǒng)用戶 其他系統(tǒng) 一些可以運(yùn)行的進(jìn)程 參與者在系統(tǒng)中的地位 主要參與者次要參與者 參與者對用例的作用 主動參與者被動參與

46、者 任務(wù)2獲取參與者的問題:(1)使用系統(tǒng)主要功能的人是誰(即主要參與者)?(2)需要借助于系統(tǒng)完成日常工作的人是誰?(3)誰來維護(hù)和管理系統(tǒng)(次要參與者),保證系統(tǒng)正常工作?(4)系統(tǒng)控制的硬件設(shè)備有哪些?(5)系統(tǒng)需要與哪些其它系統(tǒng)交互? (6)對系統(tǒng)產(chǎn)生的結(jié)果感興趣的人或事是哪些? 參與者的確定圖書管理系統(tǒng)任務(wù)2 系統(tǒng)是用例模型的一個(gè)組成部分,代表的是一部機(jī)器或一個(gè)商務(wù)活動,而并不是真正實(shí)現(xiàn)的軟件系統(tǒng)。系統(tǒng)的邊界用來說明構(gòu)建的用例模型的應(yīng)用范圍。比如,一臺自助式售貨機(jī)(被看作系統(tǒng))應(yīng)提供售貨、供貨、提取銷售款等功能,這些功能在自動售貨機(jī)之內(nèi)的區(qū)域起作用,自動售貨機(jī)之外的情況不考慮。 系統(tǒng)

47、 用例圖中的系統(tǒng)用一個(gè)長方框表示,系統(tǒng)的名字寫在方框上或方框里面,方框內(nèi)部還可以包含該系統(tǒng)中的用符號表示的用例。 自助式售貨機(jī)任務(wù)2 Jacobson給出的用例的定義是:用例代表一個(gè)系統(tǒng)或系統(tǒng)的一部分行為,是對一組動作序列的描述,系統(tǒng)執(zhí)行該動作序列來作為參與者產(chǎn)生一個(gè)可觀察的結(jié)果值。 UML中的用例用橢圓形表示,用例的名字寫在橢圓的內(nèi)部或下方。 用例的定義任務(wù)2(1)用例總由參與者初始化 。 用例所代表的功能必須由參與者激活,然后才能執(zhí)行。 (2)用例為參與者提供值 。 用例必須為參與者提供實(shí)在的值,雖然這個(gè)值并不重要,但是能被參與者識別。(3)用例具有完全性 。 用例是一個(gè)完整的描述。 用例

48、的特征 提示: 用例表示的也是一個(gè)類,而不是某個(gè)具體的實(shí)例。 用例描述了它代表的功能的各個(gè)方面,也就是包含了用例執(zhí)行期間可能發(fā)生的種種情況; 用例通常使用動名詞(借閱圖書)命名,而不是名字短語(圖書),也不是一個(gè)句子(讀者借閱圖書)。課堂實(shí)踐 1(1)通過學(xué)習(xí)小組討論和上網(wǎng)查詢資料形式完成。(2)使用手繪形式繪制出B-C電子商務(wù)系統(tǒng)的參與者和系統(tǒng)邊界。(3)不需要確定系統(tǒng)的用例。操作提示(1)小組討論用例模型是主要的功能是什么?(2)根據(jù)您的經(jīng)驗(yàn),使用用例模型來描述需求與使用文字的方式來描述需求有什么不同?(3)舉例說明用例模型由哪三部分組成?(4)分析第4章B-C電子商務(wù)系統(tǒng)的需求,確定該系

49、統(tǒng)中的參與者。并說明你確定的根據(jù)。(5)確定B-C電子商務(wù)系統(tǒng)的系統(tǒng)邊界。 操作要求任務(wù)3 確定圖書管理系統(tǒng)中的用例,繪制圖書管理系統(tǒng)的用例圖。并對用例進(jìn)行描述任務(wù)目標(biāo) 小組討論法 資料查詢法 模仿實(shí)踐學(xué)習(xí)方法任務(wù)3針對參與者(1)某個(gè)參與者要求系統(tǒng)為其提供什么功能;該參與者需要做哪些工作?(2)參與者需要閱讀、創(chuàng)建、銷毀、更新或存儲系統(tǒng)中的某些信息嗎?(3)系統(tǒng)中的事件一定要告知參與者嗎?參與者需要告訴系統(tǒng)一些什么嗎?(4)系統(tǒng)新功能的識別,參與者的日常工作被簡化或效率提高了嗎? 識別用例針對系統(tǒng) (1)系統(tǒng)需要什么樣的輸入和輸出?輸入來自哪里?輸出去往哪里?(2)該系統(tǒng)的當(dāng)前狀況還存在哪些

50、問題?(3)系統(tǒng)改進(jìn)的方向是什么?任務(wù)3圖書管理系統(tǒng)主要用例1任務(wù)3圖書管理系統(tǒng)主要用例2任務(wù)3(1)新建工程 (2)新建用例圖 (3)添加參與者和用例 (4)刪除參與者和用例 (5)設(shè)置參與者的屬性 (6)設(shè)置用例的屬性 (7)設(shè)置字體、調(diào)整位置和大小 (8)完成圖書管理系統(tǒng)頂層用例圖(不含關(guān)系)的繪制 (9)繪制“申請借還”子用例圖 (10)繪制“處理借還”子用例圖 (11)繪制“系統(tǒng)維護(hù)”子用例圖 繪制圖書管理系統(tǒng)用例圖 提示: 教師現(xiàn)場演示用例圖的繪制過程和方法任務(wù)31.用例的目標(biāo) 2.用例是怎樣被啟動的 3.參與者和用例之間的消息流 用例描述4.用例的多種執(zhí)行方案 5.用例怎樣才算完

51、成并把值傳給了參與者 用例模板任務(wù)3用例描述-實(shí)例課堂實(shí)踐 2(1)通過學(xué)習(xí)小組討論和上網(wǎng)查詢資料形式完成。(2)在使用Rational Rose繪制用例圖之前,采用紙上手繪方式。(3)確定用例時(shí),請注意用例名稱的確定。操作提示(1)討論確定B-C電子商務(wù)系統(tǒng)的用例。(2)繪制B-C電子商務(wù)系統(tǒng)的用例圖。(3)參照本書用例描述模板,選取B-C電子商務(wù)系統(tǒng)的幾個(gè)典型的用例進(jìn)行描述。操作要求任務(wù)4 確定圖書管理系統(tǒng)中用例間的關(guān)系,在已繪制的用例圖添加用例之間的關(guān)系任務(wù)目標(biāo) 小組討論法 資料查詢法 模仿實(shí)踐學(xué)習(xí)方法任務(wù)4 是指一種從子用例到父用例的關(guān)系,它指定了子用例如何特化父用例的所有行為和特征。

52、 泛化關(guān)系 在圖書管理系統(tǒng)中用戶查詢圖書時(shí),可以有兩種方式:一是登錄網(wǎng)上系統(tǒng)后,在線查詢圖書信息;二是讀者到達(dá)圖書館后,在圖書館內(nèi)進(jìn)行圖書查詢。因而,用例“查詢圖書”和“網(wǎng)上查詢圖書”與“館內(nèi)查詢圖書”之間為泛化關(guān)系 任務(wù)4 用例使用關(guān)系(use)是指一個(gè)用例使用另一個(gè)用例的關(guān)系。 使用關(guān)系 圖書管理系統(tǒng)中讀者要預(yù)訂圖書,必須先登錄網(wǎng)上系統(tǒng),因此“預(yù)訂圖書”需要使用“登錄系統(tǒng)”功能。 任務(wù)4 是指使用一個(gè)用例來封裝一組跨越多個(gè)用例的相似動作,以便多個(gè)基用例復(fù)用的關(guān)系。 包含關(guān)系圖書管理系統(tǒng)的系統(tǒng)維護(hù)用例可以分解成“添加圖書”用例、“修改圖書”用例和“刪除圖書”用例。在這里“維護(hù)圖書”和“添加圖

53、書”用例之間就是包含關(guān)系。 任務(wù)4 是指一個(gè)用例中加入一些新的動作構(gòu)成一個(gè)新用例,原用例和新用例之間的關(guān)系就是擴(kuò)展關(guān)系。 擴(kuò)展關(guān)系在圖書管理系統(tǒng)中,在“讀者還書”用例中,如果讀者所借圖書超過了規(guī)定期限,則需要交付超期罰款,而如果是讀者損壞了圖書,則需要交付損壞圖書罰款。這里“讀者還書”用例和“支付罰款”用例也是擴(kuò)展關(guān)系 任務(wù)4圖書管理系統(tǒng)用例關(guān)系圖-頂層用例圖任務(wù)4圖書管理系統(tǒng)用例關(guān)系圖-申請借還用例圖任務(wù)4圖書管理系統(tǒng)用例關(guān)系圖-處理借還用例圖任務(wù)4圖書管理系統(tǒng)用例關(guān)系圖-系統(tǒng)維護(hù)用例圖任務(wù)4進(jìn)行用例建模時(shí),將系統(tǒng)視為黑盒,從使用者的角度看系統(tǒng),確定系統(tǒng)必須實(shí)現(xiàn)的功能;角色描述的是系統(tǒng)中涉及

54、的用戶,現(xiàn)實(shí)生活中不同人可能擁有多個(gè)的角色;所有的交互都發(fā)生在參與者和用例之間,再沒有其他可能發(fā)生的交互;一般情況下一個(gè)用例只有一個(gè)參與者擁有,如果有多個(gè)參與者共用一個(gè)用例,就要考慮是否要增加新的角色,或者拆分用例。小結(jié)在軟件系統(tǒng)建模時(shí)使用用例圖的優(yōu)點(diǎn)有:方便系統(tǒng)分析設(shè)計(jì)人員和業(yè)務(wù)人員溝通;方便系統(tǒng)分析人員對系統(tǒng)范圍和規(guī)模進(jìn)行認(rèn)識;方便構(gòu)建測試用例;方便分析人員明確系統(tǒng)功能;方便接口設(shè)計(jì)人員盡早介入設(shè)計(jì)開發(fā)過程。課堂實(shí)踐 3(1)閱讀圖5-32所示的自動售貨系統(tǒng)的用例圖,指出參與者、用例,并對每個(gè)用例進(jìn)行說明。(2)確定B-C電子商務(wù)系統(tǒng)的用例間的關(guān)系。(3)在B-C電子商務(wù)系統(tǒng)的用例圖基礎(chǔ)上

55、添加用例間的關(guān)系。操作要求課堂實(shí)踐 3(1)通過學(xué)習(xí)小組討論和上網(wǎng)查詢資料形式完成。(2)用例間的關(guān)系并非絕對,取決于建模者的理解和解釋。操作提示用例拾遺1描述對象不同2“系統(tǒng)”定義不同3兩者的域不同4組成元素不同5圖形元素不同系統(tǒng)用例VS業(yè)務(wù)用例用例拾遺1連用戶都不理解的用例 2用例太多 3過于復(fù)雜的用例4描述特定用戶界面元素和行為的用例5不再使用其他需求模型用例陷阱1.怎樣確定用例的粒粒度也是用例使用中的一大問題。2.用例粒度的劃分依據(jù)(尤其是業(yè)務(wù)用例)最標(biāo)準(zhǔn)的方法是以該用例是否完成了參與者的某個(gè)目的為依據(jù)的。3.不論用例的粒度如何選擇,必須把握的原則是:在同一個(gè)需求階段,所有用例的粒度應(yīng)

56、該是同一個(gè)量級的。用例粒度課外拓展(1)以小組方式對一次完整的ATM取款過程進(jìn)行討論分析。(2)盡可能的描述參與者之間和用例之間的關(guān)系。(3)以chap05.mdl文件保存ATM系統(tǒng)的模型。操作提示(1)簡述ATM自動取款系統(tǒng)中ATM機(jī)取款的過程。(2)通過回答下列提示問題,獲取ATM自動取款系統(tǒng)參與者和用例。(a)誰使用ATM系統(tǒng)的取款功能?(b)誰使用ATM系統(tǒng)的支持以完成日常工作任務(wù)?(c)誰來維護(hù)、管理并保持ATM系統(tǒng)的正常運(yùn)行?(d)ATM系統(tǒng)需要和哪些系統(tǒng)進(jìn)行交互?(e)ATM系統(tǒng)需要處理哪些設(shè)備?(f)誰對ATM系統(tǒng)運(yùn)行的結(jié)果感興趣?(3)確定ATM系統(tǒng)中各用例之間的關(guān)系。(4)

57、繪制ATM系統(tǒng)的用例圖。操作要求第6章 圖書管理系統(tǒng)靜態(tài)建模 本章學(xué)習(xí)導(dǎo)航本章學(xué)習(xí)要點(diǎn) 識別軟件系統(tǒng)中的類識別軟件系統(tǒng)類之間的關(guān)系在Rational Rose 2003中繪制類圖在Rational Rose 2003中繪制對象圖教學(xué)課時(shí):8課時(shí)任務(wù)1 了解靜態(tài)模型的基本功能和基本圖形組成任務(wù)目標(biāo) 小組討論法 資料查詢法 模仿實(shí)踐學(xué)習(xí)方法任務(wù)1 UML的靜態(tài)建模就需要借助于類圖和對象圖,使用UML進(jìn)行靜態(tài)建模,就是通過類圖和對象圖從一個(gè)相對靜止的狀態(tài)來分析系統(tǒng)中所包含的類和對象,以及他們之間的關(guān)系等。 靜態(tài)建模概述 類圖是用來描述軟件系統(tǒng)中類和它們之間的關(guān)系的一種圖示,是從靜態(tài)角度表示系統(tǒng)的,因

58、此類圖屬于一種靜態(tài)模型。類圖是構(gòu)建其它圖的基礎(chǔ),如果沒有類圖,就沒有狀態(tài)圖、順序圖和協(xié)作圖等,也就無法表示軟件系統(tǒng)的其它各個(gè)側(cè)面。 類圖概述任務(wù)1 長方形分成上、中、下三個(gè)區(qū)域,每個(gè)區(qū)域用不同的名字標(biāo)識,用以代表類的各個(gè)特征,上面的區(qū)域內(nèi)標(biāo)識類的名字,中間的區(qū)域內(nèi)標(biāo)識類的屬性,下面的區(qū)域內(nèi)標(biāo)識類的操作方法(即行為),這三部分作為一個(gè)整體描述某個(gè)類 。 類圖概述實(shí)體類、邊界類、控制類 任務(wù)2 閱讀系統(tǒng)文檔和用例模型,確定圖書管理系統(tǒng)中的類,并繪制類圖任務(wù)目標(biāo) 小組討論法 資料查詢法 模仿實(shí)踐學(xué)習(xí)方法任務(wù)2具體類有自己的具體對象的類稱為具體類。具體類中的操作都有具體實(shí)現(xiàn)的方法。 具體類和抽象類沒有

59、具體對象的類稱為抽象類。抽象類一般為父類,用于描述其它類(子類)的公共屬性和行為(操作)。 任務(wù)2包是一種組合機(jī)制,把各種各樣的模型元素通過內(nèi)在的語義連在一起成為一個(gè)整體就叫做包。 接口和包接口通常被描述為抽象操作,也就是只用標(biāo)識(返回值、操作名稱、參數(shù)表)說明它的行為,而真正實(shí)現(xiàn)部分放在使用該接口的對象中。 任務(wù)2圖書管理系統(tǒng)中的類任務(wù)2類的屬性是類的一個(gè)組成部分,描述了類在軟件系統(tǒng)中所代表的一個(gè)事物的特性。在繪制類圖時(shí),類的屬性放在類名字的下方,用來描述該類的對象所具有的特征。 帶屬性的類任務(wù)2在UML中,類屬性的語法為:可見性 屬性名 :類型 =初始值 屬性字符串(1)可見性用于描述類的

60、屬性、類的方法對于其它的類或包是否可以訪問的特性。(2)屬性名用來區(qū)別于類中的其他屬性 。(3)屬性的類型用來說明該屬性是什么數(shù)據(jù)類型。 (4)初始值是指屬性最初獲得的賦值。 (5)屬性字符串用來指定關(guān)于屬性的其他信息。 帶屬性的類任務(wù)2(1)打開工程book.mdl (2)新建類圖。(3)添加類 (4)編輯類 (5)添加屬性 (6)設(shè)置屬性的數(shù)據(jù)類型 (7)設(shè)置屬性的可見性 繪制圖書管理系統(tǒng)中的類圖(不含方法)教師現(xiàn)場演示操作過程任務(wù)2在UML中,類操作的語法為:可見性 操作名 (參數(shù)表) :返回值類型 屬性字符串(1)可見性用于描述類的屬性、類的方法對于其它的類或包是否可以訪問的特性。(2

溫馨提示

  • 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

提交評論