




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件工程(SoftwareEngineering)軟件學院李玉蓉第9章:面向對象方法學引論9.1面向對象方法學概述9.1.1面向對象方法學的要點面向對象方法學的基本原則:盡可能模擬人類習慣的思維方式,使開發軟件的方法與過程盡可能接近人類認識世界解決問題的方法與過程??陀^世界中的實體——問題域中的對象;計算機中的實體——解空間對象;解空間對象取決于程序設計語言:匯編語言的對象:存儲單元;面向過程的高級語言的對象:變量、數組、記錄、文件等;面向對象的高級語言的對象:除上述元素外,還包括窗體、菜單、按鈕、等等。與傳統方法不同,面向對象方法以數據為主線,將數據和操作方法封裝在對象中,通過消息請求對象主動執行它的內部操作,改變其內部私有數據。面向對象方法具有四個要點:
A.認為客觀世界是由對象組成;
B.把所有對象都劃分成各種對象類(Class);C.把若干對象類組成一個層次結構的系統(類等級);
D.對象彼此間僅通過傳遞消息互相聯系。
OO=Objects+Class+Inheritance+Communicationwithmessage9.1.2面向對象方法的優點1.與人們習慣的思維方法一致;2.穩定性好;3.可重用性好;4.較易開發大型軟件產品;5.可維護性好。9.2面向對象的概念9.2.1對象1、對象的形象表示狀態S操作1操作2操作3界面操作1、2、3的實現圖9.2對象的形象表示1)定義1:對象是具有相同狀態的一組操作的集合。2)定義2:對象是對屬性值和操作的封裝。3)定義3:對象::=<ID,MS,DS,MI>其中,ID是對象的名字;MS是對象中的操作集合;DS是對象的數據集合;MI是對象受理的消息名集合(即對外接口)。2、對象的定義3、對象的特點1)以數據為中心;2)對象是主動的;3)實現了數據封裝;4)本質上具有并行性;5)模塊獨立性好。9.2.2其他概念1、類(Class)
類就是對具有相同數據和相同操作的一組相似對象的定義。如:Circle類具有相同的數據(圓心坐標、半徑、顏色)和相同的操作(顯示自己、放大縮小半徑、在屏幕上移動位置)。又如:下面C++語言定義的Queue類,可用于實現一個隊列(即先進先出的表):
ClassQueue{intq[100];intsloc,rloc;public:voidinit();//成員函數
voidqput(inti);intqget();};類有私有變量(Private)和公有變量(Public)。
缺省時,都屬于私有的,只能由類內部其他成員來訪問,不能由程序的其他部分來訪問。這是一種實現封裝的方法。
實例就是由某個特定的類所描述的一個具體的對象。如:Circlea;//聲明Circle類實例aQueueQ1,Q2;//聲明Queue類實例Q1和Q22、實例(Instance)消息就是用來請求對象執行某個處理或回答某些信息的要求。消息既可以是數據流,也可以是控制流。一條消息可以發送給不同的對象,對消息的解釋完全由接收信息的對象來完成,不同的對象對相同形式的消息可以有不同的解釋。
3、消息(Message)與傳統程序的“調用/返回”所不同的是,對于傳來的消息,對象可以返回相應的回答信息,也可以不返回。一個消息由三個部分組成:1)接收信息的對象;2)信息選擇符(即消息名);3)零個或多個變元(參數)。如:MyCircle.Show(GREEN);4、方法(Method)
方法,是對象所能執行的操作。
C++中把方法稱為成員函數,如Circle類中定義的成員函數:Show(intcolor)5、屬性(Attribute)
屬性,是類中定義的數據。
C++中把屬性稱為數據成員。6、封裝(encapsulation)
封裝就是信息隱藏,通過封裝對外界隱藏了對象的實現細節。7、繼承(Inheritance)繼承,是指能夠直接獲得已有的性質和特征,而不必重復定義它們。A的操作A的變量類AA的實例變量從A的繼承特性B的操作B的變量類B繼承來的A的實例變量B的實例變量類AA的實例a1B的實例b1類B:A的子類圖9.4實現繼承機制的原理8、多態性(Polymorphism)
多態性,指子類對象可以象父類對象那樣使用,同樣的消息既可以發送給父類對象,也可以發送給子類對象。即不同等級的類,可以公用一個方法的名字。
C++中,多態性是通過虛函數來實現的。在不同層次的類中,虛函數實現算法不同,在運行時根據接收消息的對象所屬于的類來決定執行虛函數的版本,稱為動態聯編。9、重載(Overloading)有兩種重載:1)函數重載指在同一作用域內的若干個參數特征不同的函數可以使用相同的函數名字。如:Show(inta,intb)Show(intx)Show(intx,inty,intz)C++語言中函數重載是通過靜態聯編實現的。即編譯時根據函數變元的個數和類型,決定函數版本。2)運算符重載指同一運算符可以施加于不同類型的操作數上面。當被操作數類型不同時,運算符的含義是不同的。編譯時根據被操作數的類型,決定使用算符的哪種語義。另外,在實現一個類成員函數時,必須通過用類名限定函數名來告訴編譯器這個函數屬于哪個類。如,編寫qput()函數:
VoidQueue::qput(inti){if(sloc==100){cout<<“Queueiffull”;return;}sloc++;q[sloc]=i;}從程序中調用一個類的成員函數,用對象和點運算符。如:
Queueob1,ob2;ob1.init();//是對對象ob1的初始化函數init()的調用
ob1,ob2之間的唯一關系是它們是同一類對象。ob1的初始化不影響ob2。用面向對象方法開發軟件,通常需要建立三種形式的模型,它們分別是:(1)對象模型:描述系統的數據結構;(2)動態模型:描述系統的控制結構;(3)功能模型:描述系統的功能。
3種模型必不可少,其重要程度不同,對象模型是最基本、最重要的。9.3面向對象建模UML(UnifiedModelingLanguage)
UML是面向對象的分析與設計(OOA&D)方法發展的產物。
公認的面向對象建模語言出現于70年代中期。
90年代中,一批新方法出現了,其中最引人注目的是Booch1993、OOSE和OMT-2等。1.標準建模語言UML的出現眾多的建模語言各有優點,大多類同,但仍存在某些細微的差別,妨礙了用戶之間的交流。統一建模語言在這樣的背景下產生。1995年10月:第一個公開版本UM0.8(UnifiedMethod)。1996年6月:UM改名為UML(UnifiedModelingLanguage),發布UML0.9。1996年底:UML占面向對象技術市場的85%,成為可視化建模語言事實上的工業標準?,F最新版本:UML2.0
UML是標準的建模語言,而不是標準的開發過程。在不同組織和不同應用領域,UML應用需采取不同的開發過程。1998年:RUP(RationalUnifiedProcess)是一種典型的建模過程。2.標準建模語言UML的內容31UML的構成32事物構造塊事物構造塊是對模型中最具有代表性的成分的抽象,表示系統中的元素結構事物:UML中的名詞,它是模型的靜態部分,描述概念或物理元素。行為事物:UML中的動詞,它是模型中的動態部分,是一種跨越時間、空間的行為。分組事物:UML中的容器,用來組織模型,使模型更加的結構化。注釋事務:UML中的解釋部分,和代碼中的注釋語句一樣,是用來描述模型的。33結構事物類(class)和對象(object)接口(interface)構件(component)34類和對象類是對一組具有相同屬性、相同操作、相同關系和相同語義的對象的共同特征的抽象。UML中類是用一個矩形方框表示的,它包含三個區域,最上面是類名、中間是類的屬性、最下面是類的方法對象則是類的一個實例對象名類名冒號圖形位置顏色Draw()圖形A:圖形35
接口——接口是描述某個類或構件的一個服務操作集?!涌诿枋隽艘粋€元素的外部可見行為。
UML符號36接口37構件構件也稱組件,是指系統設計中的一個相對獨立的軟件部件。構件是系統設計的一個模塊化部分,它把功能實現部分隱藏在內部,對外提供了一組外部接口。因此,兩個具有相同接口的構件可以相互替換。
構件名稱UML1.0習慣用法UML2.0習慣用法
構件名稱38節點為了能夠有效地對部署的結構進行建模,UML引入了節點這一概念,它可以用來描述實際的PC機、打印機、服務器等軟件運行的基礎硬件。節點是運行時存在的物理元素,通常至少有存儲空間和處理能力。
Server
節點Server的表示方法39行為事物交互(interaction): 是在特定語境中,共同完成某個任務的一組對象之間交換的信息集合。交互的表示法很簡單,就是一條有向直線,并在上面標有操作名。40行為事物狀態機(statemachine):是一個對象或交互在生命周期內響應事件所經歷的狀態序列在UML模型中將狀態畫為一個圓角矩形,并在矩形內寫出狀態名。等待
“等待”狀態的表示方法41分組事物對于一個中大型的軟件系統而言,通常會包含大量的類,因此也就會存在大量的結構事物、行為事物,為了能夠更加有效地對其進行整合,就需要對其進行分組。在UML中,提供了“包(Package)”來實現這一目標。
數據訪問
“數據訪問”包的表示方法42分組事物43注釋事物注釋是依附于一個元素或一組元素之上,對其進行約束或解釋的簡單符號。
注釋符號44關聯關系關聯是一種結構關系,它描述了一組對象之間的連接。關聯兩端的類可以某種角色參與關聯
?角色是關聯中靠近它的一端的類對另一端的類呈現的職責;
?如果關聯上沒有標出角色名,則隱含地用類的名稱作為角色名。關聯具有多重性
?多重性表示可以有多少個對象參與該關聯
?固定值:3
?許多值:n或者*
?區間:0..1或者3..n
?集合:2,4,845關聯關系46關聯關系關聯(Association)表示兩個類之間存在某種語義上的聯系。關聯關系提供了通信的路徑,它是所有關系中最通用、語義最弱的。在UML中,使用一條實線來表示關聯關系操作屬性類1類2屬性操作關聯關系人雇傭公司人雇主公司1雇員n47關聯關系在關聯關系中,有兩種比較特殊的關系:聚合和組合聚合關系:聚合(Aggregation)是一種特殊形式的關聯。聚合表示類之間的關系是整體與部分的關系。如果發現“部分”類的存在,是完全依賴于“整體”類的,那么就應該使用“組合”關系來描述。聚合關系計算機主機顯示器咖啡桌桌面桌腿48泛化、實現、擴展與依賴泛化關系描述了一般事物與該事物中的特殊種類之間的關系,也就是父類與子類之間的關系。實現關系是用來規定接口和實現接口的類或組件之間的關系。接口是操作的集合,這些操作用于規定類或組件的服務。擴展表示將一個構造型附加到一個元類(metaclass)上,使得元類的定義中包括這個構造型。有兩個元素X、Y,如果修改元素X的定義可能會引起對另一個元素Y的定義的修改,則稱元素Y依賴(Dependency)于元素X。49父類屬性操作子類泛化關系屬性操作車公交車密碼驗證智能卡驗證身份驗證注冊用戶圖書管理員普通讀者包與包之間也存在泛化關系。泛化、實現、擴展與依賴50泛化、實現、擴展與依賴類屬性操作choice組件類屬性操作實現關系51泛化、實現、擴展與依賴driver.dllIDriverpath.dll類A屬性操作類B屬性操作Interface52泛化、實現、擴展與依賴類1屬性操作add(c:course)remove(c:course)Schedulecourse驗證讀者《include》《include》查詢讀者查詢圖書登記借書《extend》《extend》登記借書登記還書類2屬性操作依賴關系use53UML圖形分類54常用UML圖用例圖類圖狀態圖順序圖UsecaseSequenceClass(Simple)StateCollaborationClass(Complex)ObjectActivityRequirementRequirement階段Analysis階段Design階段55用例圖用例圖是外部參與者所能觀察到的系統功能的模型圖。由一組用例、參與者及它們之間的關系組成。主要用于對系統、子系統或類的功能行為進行建模。參與者是與系統交互的外部實體,可以是人,也可以是其它系統。用例是從用戶的角度描述系統的行為(功能),它將系統的功能描述成一系列事件,這些事件最終對參與者產生可觀察結果。56參與者、用例間的關系類型關系類型說明表示符號關聯參與者和用例間的關系泛化參與者之間或用例之間的關系包含用例之間的關系<<include>>擴展用例之間的關系<<extend>>
用例圖57驗證讀者《include》《include》查詢讀者查詢圖書登記借書《extend》《extend》登記借書登記還書密碼驗證智能卡驗證身份驗證58用例圖確定參與者方法:誰使用系統的主要功能?誰需要系統支持他們的日常工作?誰來維護、管理使系統正常工作?系統需要操縱哪些硬件?系統需要與哪些其它系統交互,包含其它計算機系統和其它應用程序?59用例圖確定用例方法參與者要求系統提供哪些功能?參與者需要做什么?參與者需要讀取、產生、刪除、修改或存儲的某些信息嗎?。必須提醒參與者的系統事件有哪些?或者參與者必須提醒系統的事件有哪些?系統需要的輸入、輸出信息是什么?這些信息怎么來?其它特殊要求如何滿足?60用例圖的建立確定系統參與者及其關系確定用例及關系編寫用例描述用例圖61用例圖示例62類圖表示系統中類、協作(類或對象間的協作)、接口及其關系的圖。類圖中的關系包括:關聯、泛化、依賴、實現。63類圖類的劃分:邊界類:參與者與系統之間的交互實體類:系統中存儲和管理的永久信息控制類:系統運行中的業務控制邏輯64類圖邊界類實體類《boundary》類名類名《control》類名控制類類名《entity》類名類名65類圖在軟件開發的不同階段使用的類圖具有不同的抽象層次,一般類圖可分為三個層次,概念層、說明層、實現層。概念層類圖:概念層類圖中類內只有類名。通常用在需求分析階段,該階段類圖是研究應用領域的概念。66類圖說明層類圖:在設計階段,用說明層類圖描述類與類之間的接口。在說明層類中有屬性和方法,但沒有屬性的類型說明和方法的參數與返回類型。實現層類圖:在實現階段,類圖描述軟件系統中類的實現。67類圖尋找類的技巧根據用例描述中的名詞確定類的侯選者。使用CRC(class,responsibility,collaboration)分析法尋找類。根據類所扮演的職責來確定類。根據邊界類、控制類、實體類的劃分來幫助發現系統中的類。68類圖類圖的建立(可以有多種方式)分析問題領域,確定用到的類。確定類的含義、職責、確定屬性、操作。確定類之間的聯系。細化、調整已經得到類之間的關系,并增加相應說明。69類圖示例先看清有哪些類,然后看看類之間存在的關系,并結合多重性來理解類圖的結構特點以及各個屬性和方法的含義70讀圖過程讀出類:圖中共有7個類,Order、OrderItem、Customer、Consignee、DeliverOrder、Peddlery、Prodcut讀出關系:從圖中關系最復雜(也就是線最密集)的類開始閱讀,本圖中最復雜的就是Order類。
1)OrderItem和Order之間是組合關系,根據箭頭的方向可知Order包含了OrderItem。
2)Order類和Customer、Consignee、DeliverOrder是關聯關系。也就是說,一個訂單和客戶、收貨人、送貨單是相關的。7172讀圖過程多重性:用來說明關聯的兩個類之間的數量關系
源類及多重性目標類及多重性分析Customer(1)Order(0…n)訂單是屬于某個客戶的,網站的客戶可以有0個或多個訂單Order(1)Consignee(1)每個訂單只能夠有一個收貨人Order(1)OrderItem(1…n)訂單是由訂單項組成的,至少要有一個訂單項,最多可以有n個Order(1)DeliverOrder(1…n)一個訂單有一個或多個送貨單說明:系統根據訂單項的產品所屬的商戶,將其分發給商戶,拆成了多個送貨單!DeliverOrder(1)OrderItem(1…n)一張送貨單對應訂單中的一到多個訂單項DeliverOrder(1)Consignee(1)每張送貨單都對應著一個收貨人Peddlery(1)DeliverOrder(0…n)每個商戶可以有相關的0個或多個送貨單OrderItem(1)Product(1)每個訂單項中都包含著唯一的一個產品Peddlery(1)Prodcut(0…n)產品是屬于某個商戶的,可以注冊0到多個產品7374讀圖過程—理解方法與圖Order類,有兩個方法:dispatch()和close(),從名字中可以猜出它們分別實現“分拆訂單生成送貨單”和“完成訂單”。而在DeliveOrder()類中則有一個Close()方法,同理它應該表示“完成送貨”。而在OrderItem中有一個stateChange()方法和deliverState,不難猜出它就是用來改變其“是否交給收貨人”的標志位。先調用Order的dispatch()方法,它將根據其包含的OrderItem中產品信息,來按供應商戶分拆成若干個DeliverOrder。商戶登錄系統后就可以獲取其DeliverOrder,并在執行完后調用close()方法。這時,就將調用OrderItem的stateChange()方法來改為其狀態。同時再調用Order的close()方法,判斷該Order的所有的OrderItem是否都已經送到了,如果是就將其真正close()掉75順序圖又稱時序圖,描述對象按照時間順序的消息交換,顯示參與交互的對象及對象之間消息的交互順序。順序圖用來描述用例的實現,表明了由哪些對象通過消息相互協作來實現用例的功能。在用例圖中,標識了消息發生交互的先后順序。76順序圖建模元素:對象、生命線、控制焦點(激活)、消息。:Driver:CarOper()對象生命線控制焦點消息(調用)77順序圖順序圖描述的是對象之間的消息發送關系,而不是類之間的關系。在順序圖中并不包括系統中的所有類的對象。也有可能某些對象屬于同一個類。78順序圖順序圖的建立(可以有多種方式)確定交互過程的上下文。識別參與交互過程的對象。為每個對象設置生命線,即確定哪些對象存在于整個交互過程中,哪些對象在交互過程中被創建和撤銷。79順序圖從引發這個交互過程的初始消息開始,在生命線之間從頂到下依次畫出隨后的各個消息。如果需要表示消息的嵌套,或/和表示消息發生時的時間點,則采用控制焦點。如果需要說明時間約束,則在消息旁邊加上約束說明。如果需要,可以為每個消息附上前置和后置條件。80順序圖81循環與分支82狀態圖狀態是指在對象生命周期中滿足某些條件、執行某些活動或等待某些事件的一個條件和狀況。狀態機圖常用來描述業務或軟件系統中的對象在外部事件的作用下,對象的狀態從一種狀態到另一種狀態的控制流。狀態機圖的組成元素:初始狀態、終止狀態、狀態和轉換,其中,轉換將各種狀態連接在一起,構成一個狀態圖。83最簡單的狀態圖核心元素:一個是用圓角矩形表示的狀態(初態和終態例外);另一個是在狀態之間的、包含一些文字描述的有向箭頭,這些箭頭稱為轉換。燒水器的狀態圖84轉換的五要素源狀態:即受轉換影響的狀態目標狀態:當轉換完成后對象的狀態觸發事件:外部作用于一個對象,能夠觸發對象狀態改變的一種現象。包括調用、改變、信號、時間四類事件。監護條件:布爾表達式,決定是否激活轉換、動作:轉換激活時的操作85讀圖小結與狀態off相關的轉換有兩個,其觸發事件都是turnOn,只不過其監護條件不同。如果對象收到事件turnOn,那么將判斷壺中是否有水;如果[沒水],則仍然處于off狀態;如果[有水]則轉為on狀態,并執行“燒水”動作而與狀態on相關的轉換也有兩個,如果“水開了”就執行turnOff,關掉開關;如果燒壞了,就進入了終態了86繪制狀態機圖繪制狀態機圖的理想步驟是:尋找主要的狀態,確定狀態之間的轉換,細化狀態內的活動與轉換,用復合狀態來展開細節。尋找主要狀態:對于航班機票預訂系統而言,包括的狀態主要有:
--在剛確定飛機計劃時,顯然是沒有任何預訂的,并且在有人預訂機票之前都將處于這種“無預訂”狀態
--對訂座而言顯然有“部分預訂”和“預訂完”兩種狀態
--而當航班快要起飛時,顯然要“預訂關閉”
總結一下,主要有四種狀態:無預訂、部分預訂、預訂完以及預訂關閉87確定狀態間轉換源目標無預訂部分預訂預訂完預訂關閉無預訂預訂()不直接轉換關閉()部分預訂退訂(),使預訂人=0預訂(),無空座關閉()預訂完不直接轉換退訂()關閉()預訂關閉無轉換無轉換無轉換88繪制狀態機圖細化狀態內的活動與轉換89繪制狀態機圖使用復合狀態90活動圖活動圖和交互圖是UML中對系統動態方面建模的兩種主要形式交互圖強調的是對象到對象的控制流,而活動圖則強調的是從活動到活動的控制流活動圖是一種表述過程基理、業務過程以及工作流的技術。它可以用來對業務過程、工作流建模,也可以對用例實現甚至是程序實現來建模91閱讀簡單活動圖92活動圖的主要元素初始節點和活動終點:用一個實心圓表示初始節點,用一個圓圈內加一個實心圓來表示活動終點活動節點:是活動圖中最主要的元素之一,它用來表示一個活動轉換:當一個活動結束時,控制流就會馬上傳遞給下一個活動節點,在活動圖中稱之為“轉換”,用一條帶箭頭的直線來表示93活動圖的主要元素分支與監護條件:分支是用菱形表示的,它有一個進入轉換(箭頭從外指向分支符號),
一個或多個離開轉換(箭頭從分支符
號指向外)。而每個離開轉換上都會
有一個監護條件,用來表示滿足什么
條件的時候執行該轉換。分岔與匯合:94修改后的簡單活動圖95帶泳道的活動圖96帶對象流的活動圖97繪制活動圖“活動圖”比較直觀易懂;與傳統的流程圖十分的相近,只要能夠讀懂活動圖,就不難畫出活動圖繪制時首先決定是否采用泳道:主要根據活動圖中是否要體現出活動的不同實施者然后盡量使用分支、分岔和匯合等基本的建模元素來描述活動控制流程如果需要,加入對象流以及對象的狀態變化,利用一些高級的建模元素(如輔助活動圖、匯合描述、發送信號與接收信號、引腳、擴展區)來表示更多的信息活動圖的建模關鍵是表示出控制流,其它的建模元素都是圍繞這一宗旨所進行的補充98部署圖99閱讀基本部署圖100部署圖的主要元素節點:它代表一個運行時的計算資源,例如一臺計算機、一個工作站等其它設備節點的概念和構件有許多相同之處,例如二者有多名稱,都可以參與依賴、泛化和關聯關系,都可以被嵌套,都可以有實例,都可以參與交互。但它們之間也存在明顯的區別:構件是參與系統執行的事物,而節點是執行構件的事物;構件表示邏輯元素的物理打包,而節點表示構件的物理部署本圖中建模了四個節點:B/S客戶端、C/S客戶端、IIS服務器和數據庫服務器101部署圖的主要元素連接:節點之間最常見的關系就是關聯關系(用一根實線表示)。為了更好地表示兩個節點之間的關系,我們可以通過“約束”來對連接進行描述。源節點目標節點約束含義B/S客戶端IIS服務器{HTTP+Network}網絡連接,使用HTTP協議C/S客戶端IIS服務器{HTTP+SOAP+Network}網絡連接,通過WebService訪問服務IIS服務器數據庫服務器{ADO.NET}.NET提供的數據庫訪問解決方案102部署圖的補充元素處理器(《process》):具有處理能力的節點,即可以執行構件設備(《device》):沒有處理能力的節點,至少是不關心其處理能力的節點。例如打印機、IC卡讀寫器,如果我們的系統不考慮它們內部的芯片,就可建模為設備節點屬性和操作:可以為一個節點提供處理器速度、內存容量、網卡數量等屬性,可以為其提供啟動、關機等操作103部署圖的補充元素自定義構造型圖標104確定所需的節點和節點間的連接關系IC卡讀卡器:提供給員工刷卡用,它將收集刷卡的時間信息,傳給應用系統,并存入數據庫中應用服務器:用來負責從IC卡讀卡器中收集信息,并對管理人員提供員工設置、考勤查詢等功能數據庫服務器:用來存儲考勤數據,由于該系統比較小,因此在物理上可以與應用服務器合并客戶端軟件:提供給管理人員使用,連接應用服務器,完成相應操作105根據實現描述節點客戶端:需使用Windows操作系統,安裝客戶端軟件(假設名為KaoQing.exe)服務器:包含一個用Delphi開發的服務端軟件(設為KqServer.exe),它需要與Access數據庫交互(設為KaoQing.mdb),并且需要通過IC卡讀卡器的驅動程序(假設名為cardReader.dll)來實現與IC卡讀卡器通信IC卡讀寫器:對于本系統而言,它是不執行構件的設備,不過為了方便員工,安裝了3個。106作業解答教材購銷系統主要功能根據學校的教學計劃,向選課的學生及時供應所需教材
①審查學生購書單有效性,對有效書單發售教材
②對屬于計劃供應但暫時缺貨的教材進行登記根據缺書登記補充采購所缺的教材,通知學生補購
①將缺書登記表匯總為待購教材計劃②待購教材到貨后,及時通知學生補購107采購進書通知產生補售書單
1.6學生F1教材存量表開發票
1.2登記售書和打印領書單
1.4有效購書單暫缺書單登記缺書
1.5補售書單購書單F2缺書登記表審查有效性
1.1無效書單學生F3學生用書表F4售書登記表打印發票
1.3發票發票領書單108進書通知
2.1按書號匯總書庫保管員F1教材存量表按出版社匯總
2.2修改教材庫存和待購量
2.3銷售F5待購教材表F6教材一覽表缺書單F2缺書登記表進書通知109使用SD方法給出教材購銷系統中銷售子系統的軟件結構圖.細化并修改DFD圖110產生補售書單
1.6學生F1教材存量表開發票
1.2登記售書
1.4有效購書單暫缺書單登記缺書
1.5補售書單購書單F2缺書登記表審查有效性
1.1無效書單學生F3學生用書表F4售書登記表打印發票
1.3發票發票領書單打印領書單
1.7F7進書登記表111
2.1按書號匯總書庫保管員F1教材存量表按出版社匯總
2.2修改教材庫存和待購量
2.3F5待購教材表F6教材一覽表缺書單F2缺書登記表進書通知F7進書登記表112
1.6學生F1
1.2
1.4
1.5F2
1.1學生F3F4
1.3
1.7F7++113銷售初售補售審查有效性開發票售書登記缺書登記售書打印發票打印領書單產生補售書單獲得有效性購書單獲得補售書單114
1.語句覆蓋:
X=85,Y=85(路徑A-E);X=95,Y=50(路徑B-C-E);X=75,Y=75(路徑B-D-E);習題五參考答案判斷1判斷2條件1條件2條件3條件4條件51152.判斷覆蓋:
X=85,Y=85(判斷1成立,判斷2不成立)A-E;X=95,Y=50(判斷1不成立,判斷2成立)B-C-E;X=75,Y=75(判斷1、判斷2都不成立)B-D-E;3.條件覆蓋:
X=85,Y=85(判斷1兩條件成立)A-E;
X=95,Y=50(判斷2中條件3、條件4成立)B-C-E;X=50,Y=90(判斷2中條件3、條件5成立)B-C-E;
X=60,Y=60(判斷1、判斷2各個條件都不成立)B-D-E;116
4.判斷/條件覆蓋:
X=85,Y=85(判斷1為Y且兩條件成立)A-E;X=95,Y=50(判斷2為Y且條件3、條件4成立)B-C-E;X=50,Y=95(判斷2為Y且條件3、條件5成立)B-C-E;X=60,Y=60(判斷1、判斷2為N且各個條件都不成立)B-D-E;117T2T3T45.條件組合覆蓋:本題有5個條件,分別記為T4T3T5T1T2T5T1對第一個判斷,有下列情況:T1T2(1)T1T2T1T2T2T1(2)(3)(4)對第二個判斷,有下列情況:T3T4T5T4T3T5T3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 七下英語閱讀題試卷及答案
- 七年級專題試卷及答案
- 惡性子宮肌瘤健康教育
- 國外橋梁施工方案
- 醫院安全工作崗前培訓
- 壓力容器的安全技術
- 2024年中考道德與法治一輪復習九下第二單元世界舞臺上的中國教案新人教版
- 2024高一化學實驗15乙酸與乙醇的酯化反應學案
- 2024一年級語文下冊課文13一個接一個教案2新人教版
- 2024春八年級語文下冊第1課社戲同步練習新人教版
- 2025年全國普通話水平測試15套復習題庫及答案
- 2024年天津醫科大學眼科醫院自主招聘考試真題
- 土木工程畢業論文-居民住宅樓的施工組織方案設計
- 2025年高速公路收費站(車輛通行費收費員)崗位職業技能資格知識考試題庫與答案
- 組織內的有效溝通報聯商
- 2025年肺心病的護理試題及答案
- T-CECRPA 011-2024 溫室氣體 產品碳足跡量化方法與要求 光伏組件
- 舞蹈室課程顧問工作合同5篇
- 計調業務2.2組團計調發團業務流程
- 2025年四板掛牌專項法律服務協議
- 拒絕間歇性努力不做45度青年-“拒絕躺平”主題班會-2024-2025學年初中主題班會課件
評論
0/150
提交評論