




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、7.1軟件的定義及特點(diǎn)軟件(Software )是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序( Program), 數(shù)據(jù)(Data)及其相關(guān)文檔(Document)的完整集合。三個(gè)特點(diǎn):(1)軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,因而它具有抽象性;(2)軟件的生產(chǎn)與硬件不同,在它的開(kāi)發(fā)過(guò)程中沒(méi)有明顯的制造過(guò)程;(3)在軟件的運(yùn)行和使用期間,沒(méi)有硬件那樣的機(jī)械磨損,老化問(wèn)題。7.2 軟件危機(jī)及其表現(xiàn)軟件危機(jī)(softward crisis )是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)中所遇到的一系列嚴(yán)重問(wèn)題。這 些問(wèn)題絕不僅僅是“不能正常運(yùn)行的”軟件才具有,實(shí)際上幾乎所有軟件都不同程度地存在這些問(wèn)
2、 題。具體地說(shuō),軟件危機(jī)主要有下述一些表現(xiàn)。(1)對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。(2)用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。(3)軟件產(chǎn)品的質(zhì)量往往靠不住。(4)軟件常常是不可維護(hù)的。(5)軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。(6)軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。7.3 軟件工程及三要素軟件工程:軟件工程是采用工程的概念、原理、技術(shù)和方法來(lái)指導(dǎo)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科, 以工程化的原理和方法來(lái)解決軟件問(wèn)題。軟件工程的特性:(1)軟件工程關(guān)注于大型程序的構(gòu)造(2)軟件工程的中心課題是控制復(fù)雜性(3)軟件經(jīng)常變化(4)開(kāi)發(fā)軟件的效率非常重要(5)和諧地合作是開(kāi)發(fā)軟件的關(guān)
3、鍵(6)軟件必須有效地支持它的用戶(7)在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人軟件工程方法學(xué)包含 3個(gè)要素:方法、工具和過(guò)程。7.4軟件生命周期軟件生命周期又稱為軟件生存周期或系統(tǒng)開(kāi)發(fā)生命周期,是軟件的產(chǎn)生直到報(bào)廢的生命 周期,周期內(nèi)有問(wèn)題定義、可行性分析、總體描述、系統(tǒng)設(shè)計(jì)、編碼、調(diào)試和 測(cè)試、 驗(yàn)收與運(yùn)行、維護(hù)升級(jí)到廢棄等階段,這種按時(shí)間分程的思想方法是軟件工程中的一種 思想原則,即按部就班、逐步推進(jìn),每個(gè)階段都要有定義、工作、審 查、形成文檔以 供交流或備查,以提高軟件的質(zhì)量。每個(gè)階段的任務(wù)如下問(wèn)題定義階段:該階段的關(guān)鍵任務(wù)是要明確:要解決的問(wèn)題是什么?可性行研
4、究階段:該階段的關(guān)鍵任務(wù)是要明確:做不做?需求分析階段:該階段的關(guān)鍵任務(wù)是要明確:做什么?概要設(shè)計(jì)(總體設(shè)計(jì))階段:該階段的關(guān)鍵任務(wù)是要明確:怎么做?詳細(xì)設(shè)計(jì)階段:該階段的關(guān)鍵任務(wù)是要明確:具體做法。編碼和單元測(cè)試階段:該階段的關(guān)鍵任務(wù)是:編碼和單元測(cè)試。綜合測(cè)試階段:該階段的關(guān)鍵任務(wù)是通過(guò)各種類型的測(cè)試(及調(diào)試)使軟件達(dá)到預(yù)定的要求。軟件維護(hù)階段:該階段的關(guān)鍵任務(wù)是通過(guò)各種必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿足用戶的要求。7.4.1瀑布模型瀑布模型有以下優(yōu)點(diǎn)1)為項(xiàng)目提供了按階段劃分的檢查點(diǎn)。2)當(dāng)前一階段完成后,您只需要去關(guān)注后續(xù)階段。3)可在迭代模型中應(yīng)用瀑布模型。4)它提供了一個(gè)模板,這個(gè)模板
5、使得分析、設(shè)計(jì)、編碼、測(cè)試和支持的方法可以在該 模板下有一個(gè)共同的指導(dǎo)。瀑布模型適合于用戶需求明確、完整、無(wú)重大變化的軟件項(xiàng)目開(kāi)發(fā)。瀑布模型的成功在很大程度上是由于它基本上是一種文檔驅(qū)動(dòng)的模型。瀑布模型有以下缺點(diǎn)1)各個(gè)階段的劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增加了工作量。2)由于開(kāi)發(fā)模型是線性的,用戶只有等到整個(gè)過(guò)程的末期才能見(jiàn)到開(kāi)發(fā)成果,從而增 加了開(kāi)發(fā)風(fēng)險(xiǎn)。3)通過(guò)過(guò)多的強(qiáng)制完成日期和里程碑來(lái)跟蹤各個(gè)項(xiàng)目階段。4)瀑布模型的突出缺點(diǎn)是不適應(yīng)用戶需求的變化。“瀑布模型是由文檔驅(qū)動(dòng)的” 這個(gè)事實(shí)也是它的一個(gè)主要缺點(diǎn)。 實(shí)際項(xiàng)目很少按照該模 型給出的順序進(jìn)行,用戶常常難以清楚地給出所
6、有需求,用戶必須有耐心,等到系統(tǒng)開(kāi) 發(fā)完成。7.4.2原型模型一快速原型模型在用戶不能給出完整、準(zhǔn)確的需求說(shuō)明,或者開(kāi)發(fā)者不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性 或人機(jī)交互的形式等許多情況下,可以根據(jù)用戶的一組基本需求,快速建造一個(gè)原型(可運(yùn)行的軟 件),然后進(jìn)行評(píng)估,進(jìn)一步精化、調(diào)整原型,使其滿足用戶的要求,也使開(kāi)發(fā)者對(duì)將要做的事情有 更好的理解。優(yōu)點(diǎn):(1)開(kāi)發(fā)人員和用戶在“原型”上達(dá)成一致。這樣一來(lái),可以減少設(shè)計(jì)中的錯(cuò)誤和開(kāi)發(fā)中的風(fēng)險(xiǎn), 也減少了對(duì)用戶培訓(xùn)的時(shí)間,而提高了系統(tǒng)的實(shí)用、正確性以及用戶的滿意程度。(2)縮短了開(kāi)發(fā)周期,加快了工程進(jìn)度。(3)降低成本。盡早發(fā)現(xiàn)需求,揭示風(fēng)險(xiǎn)缺點(diǎn)
7、: 為了使原型盡快的工作,沒(méi)有考慮軟件的總體質(zhì)量和長(zhǎng)期的可維護(hù)性。 為了演示,可能采用不合適的操作系統(tǒng)、編程語(yǔ)言、效率低的算法,這些不理想的選擇成了系 統(tǒng)的組成部分。開(kāi)發(fā)過(guò)程不便于管理。7.4.3螺旋模型螺旋模型的優(yōu)點(diǎn):(1)對(duì)可選方案和約束條件的強(qiáng)調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開(kāi)發(fā)的一個(gè)重要目標(biāo)(2)減少了過(guò)多測(cè)試或測(cè)試不足(3)維護(hù)和開(kāi)發(fā)之間并沒(méi)有本質(zhì)區(qū)別螺旋模型的缺點(diǎn):(1)風(fēng)險(xiǎn)驅(qū)動(dòng),需要相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門(mén)知識(shí),否則風(fēng)險(xiǎn)更大(2)主要適用于內(nèi)部開(kāi)發(fā)的大規(guī)模軟件項(xiàng)目,隨著過(guò)程的進(jìn)展演化, 開(kāi)發(fā)者和用戶能夠更好的識(shí)別和對(duì)待每一個(gè)演化級(jí)別上的風(fēng)險(xiǎn)(3)隨著迭代次數(shù)
8、的增加,工作量加大,軟件開(kāi)發(fā)成本增加7.4.4增量模型增量模型優(yōu)點(diǎn):(1)在較短時(shí)間內(nèi)向用戶提交可完成部分工作的產(chǎn)品,并分批、逐步地向用戶提交產(chǎn)品。從第一個(gè)構(gòu)件交付之日起,用戶就能做一些有用的工作。(2)整個(gè)軟件產(chǎn)品被分解成許多個(gè)增量構(gòu)件,開(kāi)發(fā)人員可以一個(gè)構(gòu)件一個(gè)構(gòu)件地逐步開(kāi)發(fā)。(3)逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能給客戶組織帶來(lái)的沖擊。(4)采用增量模型比采用瀑布模型和快速原型模型需要更精心的設(shè)計(jì),但在設(shè)計(jì)階段多付出的勞動(dòng)將在維護(hù)階段獲得回報(bào)。增量模型的缺點(diǎn):(1)在把每個(gè)新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時(shí),必須不破壞原來(lái)已經(jīng)開(kāi)發(fā)出的產(chǎn)
9、品。此外,必須把軟件的體系結(jié)構(gòu)設(shè)計(jì)得便于按這種方式進(jìn)行擴(kuò)充,向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過(guò)程必須 簡(jiǎn)單、方便,也就是說(shuō),軟件體系結(jié)構(gòu)必須是開(kāi)放的。(2)開(kāi)發(fā)人員既要把軟件系統(tǒng)看作整體。又要看成可獨(dú)立的構(gòu)件,相互矛盾。(3)多個(gè)構(gòu)件并行開(kāi)發(fā),具有無(wú)法集成的風(fēng)險(xiǎn)。7.4.5 噴泉模型主要用于支持面向?qū)ο箝_(kāi)發(fā)過(guò)程體現(xiàn)了軟件創(chuàng)建所固有的迭代和無(wú)間隙的特征。噴泉模型的優(yōu)點(diǎn)噴泉模型不像瀑布模型那樣,需要分析活動(dòng)結(jié)束后才開(kāi)始設(shè)計(jì)活動(dòng),設(shè)計(jì)活動(dòng)結(jié)束后才開(kāi)始編 碼活動(dòng)。該模型的各個(gè)階段沒(méi)有明顯的界限,開(kāi)發(fā)人員可以同步進(jìn)行開(kāi)發(fā)。其優(yōu)點(diǎn)是可以提高軟件 項(xiàng)目開(kāi)發(fā)效率,節(jié)省開(kāi)發(fā)時(shí)間,適應(yīng)于面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程。噴泉模型的
10、缺點(diǎn)由于噴泉模型在各個(gè)開(kāi)發(fā)階段是重疊的,因此在開(kāi)發(fā)過(guò)程中需要大量的開(kāi)發(fā)人員,因此不利于 項(xiàng)目的管理。此外這種模型要求嚴(yán)格管理文檔,使得審核的難度加大,尤其是面對(duì)可能隨時(shí)加入各 種信息、需求與資料的情況。其特點(diǎn)如下:(1)開(kāi)發(fā)過(guò)程有分析、系統(tǒng)設(shè)計(jì)、軟件設(shè)計(jì)和實(shí)現(xiàn)4個(gè)階段。(2)各階段相互重疊,它反映了軟件過(guò)程并行性的特點(diǎn)。(3)以分析為基礎(chǔ),資源消耗成塔型。(4)反映了軟件過(guò)程迭代性的自然特性,從高層返回低層無(wú)資源消耗。(5)強(qiáng)調(diào)增量開(kāi)發(fā),整個(gè)過(guò)程是一個(gè)迭代的逐步提煉的過(guò)程。7.4.6 構(gòu)件組裝模型構(gòu)件組裝模型導(dǎo)致軟件復(fù)用,而可復(fù)用性給軟件工程師提供了大量的可見(jiàn)的益處。軟件開(kāi)發(fā)不 用一切從零開(kāi)始
11、,開(kāi)發(fā)過(guò)程就是一個(gè)組裝構(gòu)件的過(guò)程,維護(hù)的過(guò)程就是對(duì)構(gòu)件升級(jí)、替換和擴(kuò)充的 過(guò)程,大大提高了軟件的開(kāi)發(fā)效率。構(gòu)件模型允許多個(gè)項(xiàng)目同時(shí)開(kāi)發(fā),降低了費(fèi)用,提高了可維護(hù) 性。構(gòu)件模型也存在一些缺點(diǎn),如:由于存在多種構(gòu)件標(biāo)準(zhǔn),缺乏通用的構(gòu)件組裝結(jié)構(gòu)標(biāo)準(zhǔn),如果 自行定義會(huì)引入較大的風(fēng)險(xiǎn);構(gòu)件可重用性和軟件系統(tǒng)高效性之間不易協(xié)調(diào);如果過(guò)分依賴構(gòu)件, 構(gòu)件質(zhì)量會(huì)影響最終的產(chǎn)品質(zhì)量。7.4.7 RUPRUP是由Rational公司的Booch、Jacobson、Rumbaugh提出的軟件過(guò)程模型,也稱 RUP( RationalUnified Process) o RUP重復(fù)一系列周期,每個(gè)周期由一個(gè)交付給用戶
12、的產(chǎn)品結(jié)束。每個(gè)周期劃分為初始、細(xì)化、構(gòu)造和移交四個(gè)階段,每個(gè)階段圍繞著五個(gè)核心工作流(需求、 分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試)分別迭代。模型見(jiàn)下圖:工作一一一模需求分析與設(shè)計(jì)“忒部普H與受更管*邛!目昔理環(huán)境1.4 個(gè)階段初始階段:進(jìn)行問(wèn)題定義,確定目標(biāo),評(píng)估其可行性,降低關(guān)鍵風(fēng)險(xiǎn)。細(xì)化階段:制定項(xiàng)目計(jì)劃、配置各類資源、建立系統(tǒng)架構(gòu)(包括各類視圖)。構(gòu)造階段:開(kāi)發(fā)整個(gè)產(chǎn)品,并確保產(chǎn)品可移交給用戶。移交階段:產(chǎn)品發(fā)布、安裝、用戶培訓(xùn)。在每個(gè)階段的每次迭代的最后,用例模型、分析模型、設(shè)計(jì)模型、實(shí)現(xiàn)模型都會(huì)增量,每個(gè)階 段結(jié)束的里程碑處,管理層做出是否繼續(xù)、進(jìn)度、預(yù)算、是否給下一階段提供資助等決定。不同階
13、段工作流的側(cè)重點(diǎn)不同,前兩階段大部分工作集中在需求、分析和架構(gòu)設(shè)計(jì)上;在構(gòu)造 階段,重點(diǎn)轉(zhuǎn)移到詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試上。2.9個(gè)工作流RUP中有9個(gè)核心工作流,分為 6個(gè)核心過(guò)程工作流(Core Process Workflows)和3個(gè)核心支 持工作流(Core Supporting Workflows )。商業(yè)建模:深入了解使用目標(biāo)系統(tǒng)的機(jī)構(gòu)及其商業(yè)運(yùn)作,評(píng)估目標(biāo)系統(tǒng)對(duì)使用它的機(jī)構(gòu)的影響。需求:捕獲客戶的需求,并且使開(kāi)發(fā)人員和用戶達(dá)成對(duì)需求描述的共識(shí)。分析和設(shè)計(jì):把需求分析的結(jié)果轉(zhuǎn)化成分析模型與設(shè)計(jì)模型。實(shí)現(xiàn):把設(shè)計(jì)模型轉(zhuǎn)換成實(shí)現(xiàn)成果。測(cè)試:檢查個(gè)子系統(tǒng)的交互與集成,驗(yàn)證所有需求是否都被正確
14、地實(shí)現(xiàn)了,識(shí)別,確認(rèn)缺陷并 確保在軟件部署之前消除缺陷。部署:成功地生成目標(biāo)系統(tǒng)的可運(yùn)行版本,并把軟件移交給最終用戶。配置和變更管理:跟蹤并維護(hù)在軟件開(kāi)發(fā)過(guò)程中產(chǎn)生的所有制品的完整性和一致性。軟件項(xiàng)目管理:提供項(xiàng)目管理框架,為軟件開(kāi)發(fā)項(xiàng)目制定計(jì)劃,人員配備,執(zhí)行和監(jiān)控等方面 的實(shí)用準(zhǔn)則,并為風(fēng)險(xiǎn)管理提供框架。環(huán)境:向軟件開(kāi)發(fā)機(jī)構(gòu)提供軟件開(kāi)發(fā)環(huán)境,包括過(guò)程管理和工具支持。7.5 UMLUML適用于各種軟件開(kāi)發(fā)方法、 軟件生命周期的各個(gè)階段 、各種應(yīng)用領(lǐng)域以及各種開(kāi)發(fā)工具。UML由以下5類圖來(lái)定義:第1類:用例圖第2類:靜態(tài)圖(包括類圖、對(duì)象圖和包圖)第3類:行為圖(包括狀態(tài)圖和活動(dòng)圖)第4類:交
15、互圖(包括時(shí)序圖和協(xié)作圖)第5類:實(shí)現(xiàn)圖(包括組件圖和配置圖)第一類是用例圖:從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。第二類是靜態(tài)圖:包括類圖,對(duì)象圖,包圖。類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu),不僅定義系統(tǒng)中 的類,表示類之間的聯(lián)系如關(guān)聯(lián)、依賴、聚合等也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和動(dòng)作)。第三類是行為圖:描述系統(tǒng)的動(dòng)態(tài)模型和組成對(duì)象之間的交互關(guān)系,其中狀態(tài)圖描述類的對(duì)象 所有可能的狀態(tài),以及事件發(fā)生時(shí)的狀態(tài)的轉(zhuǎn)移條件,通常,狀態(tài)圖為類圖的補(bǔ)充,在實(shí)用上并不 需要為所有的類畫(huà)狀態(tài)圖,僅為那些有多個(gè)狀態(tài)其行為受外界環(huán)境的影響并且狀態(tài)發(fā)生改變的類畫(huà) 狀態(tài)圖,活動(dòng)圖描述滿足用例要求所要進(jìn)行的活動(dòng)以及活動(dòng)
16、的約束關(guān)系,有利于識(shí)別并行的活動(dòng)。第四類是交互圖:描述對(duì)象間的交互關(guān)系。其中順序圖顯示對(duì)象之間的動(dòng)態(tài)合作關(guān)系,他強(qiáng)調(diào) 對(duì)象之間消息發(fā)送的順序。第五類是實(shí)現(xiàn)圖:其中構(gòu)建圖描述代碼部件的物理結(jié)構(gòu)和各部件之間的依賴關(guān)系,一個(gè)部件可 能是一個(gè)資源代碼部件,一個(gè)二進(jìn)制部件或者一個(gè)可執(zhí)行部件。它包含邏輯類和實(shí)際類的有關(guān)信息。部件圖有利于分析和理解部件間的相互影響程度。下面分別描述9個(gè)圖。7.5.1 類圖類圖展示了一組類、接口和協(xié)作及它們間的關(guān)系,在建模中所建立的最常見(jiàn)的圖就是 類圖。用類圖說(shuō)明系統(tǒng)的靜態(tài)設(shè)計(jì)視圖,包含主動(dòng)類的類圖一一專注于系統(tǒng)的靜態(tài)進(jìn)程 視圖。系統(tǒng)可有多個(gè)類圖,單個(gè)類圖僅表達(dá)了系統(tǒng)的一個(gè)方
17、面。要在高層給出類的主要 職責(zé),在低層給出類的屬性和操作。7.5.2 對(duì)象圖對(duì)象圖展示了一組對(duì)象及它們間的關(guān)系。用對(duì)象圖說(shuō)明類圖中所反應(yīng)的事物實(shí)例的數(shù) 據(jù)結(jié)構(gòu)和靜態(tài)快照。對(duì)象圖表達(dá)了系統(tǒng)的靜態(tài)設(shè)計(jì)視圖或靜態(tài)過(guò)程視圖,除了現(xiàn)實(shí)和原型的方面的因素外,它與類圖作用是相同的。7.5.3 用例圖用例圖展現(xiàn)了一組用例、參與者以及它們間的關(guān)系。可以用用例圖描述系統(tǒng)的靜態(tài)使 用情況。在對(duì)系統(tǒng)行為組織和建模方面,用例圖的是相當(dāng)重要的。用例(use case):從用戶的觀點(diǎn)對(duì)系統(tǒng)行為的一個(gè)描述。用來(lái)從用戶的觀察角度收集系統(tǒng)需求。用例圖表達(dá)系統(tǒng)的外部事物(參與者)與系統(tǒng)的交互,它表達(dá)了系統(tǒng)的功能,即系統(tǒng)所提供的服
18、務(wù)。整個(gè)軟件項(xiàng)目的開(kāi)發(fā)可以采用 Use Case驅(qū)動(dòng)的方式進(jìn)行。7.5.4 交互圖交互圖展現(xiàn)了按一定的目的進(jìn)行的一種交互, 它由在一個(gè)上下文中的一組對(duì)象及它們 間交互的信息組成。交互圖也可用于描述一個(gè)用例的行為。順序圖和協(xié)作圖都是交互圖, 順序圖和協(xié)作圖可以相互轉(zhuǎn)換。順序圖和協(xié)作圖都是交互圖,它們既是等價(jià)的,又是有區(qū)別的。順序圖和協(xié)作圖都能等價(jià)的表現(xiàn)系統(tǒng)運(yùn)行中對(duì)象通過(guò)消息發(fā)生的交互行為。順序圖表示了時(shí)間的消息序列,便于分析交互的時(shí)序,但沒(méi)有表示靜態(tài)對(duì)象關(guān)系,順 序圖可以有效地幫助人們觀察系統(tǒng)的順序行為。協(xié)作圖著重表示一個(gè)協(xié)作中的對(duì)象之間的聯(lián)系和消息。7.5.5 順序圖展現(xiàn)了一組對(duì)象和由這組對(duì)象
19、收發(fā)的消息,用于按時(shí)間順序?qū)刂屏鹘!S庙樞驁D說(shuō)明系統(tǒng)的動(dòng)態(tài)視圖。7.5.6 協(xié)作圖展現(xiàn)了一組對(duì)象,這組對(duì)象間的連接以及這組對(duì)象收發(fā)的消息。它強(qiáng)調(diào)收發(fā)消息的對(duì)象的結(jié)構(gòu)組織,按組織結(jié)構(gòu)對(duì)控制流建模。協(xié)作圖顯示某組對(duì)象為了由一個(gè)用例描述的一個(gè)系統(tǒng)事件而與另一組對(duì)象進(jìn)行協(xié) 作的交互圖。協(xié)作圖只對(duì)相互間有交互作用的對(duì)象和這些對(duì)象間的關(guān)系建模,而忽略了其他對(duì)象和關(guān)聯(lián)。協(xié)作圖中包括如下元素:1.對(duì)象(Object)、2.鏈(Link)和3.消息(Message。 協(xié)作圖的用途:如果按組織對(duì)控制流建模,應(yīng)該選擇使用協(xié)作圖。協(xié)作圖強(qiáng)調(diào)交互中實(shí)例間的結(jié)構(gòu)關(guān)系以及所傳送的消息。協(xié)作圖對(duì)復(fù)雜的迭代和分支的可視化以
20、及對(duì)多并發(fā)控制流的可視化要比時(shí)序圖好。協(xié)作圖有別于時(shí)序圖的兩點(diǎn)特性:(1)協(xié)作圖有路徑(2)協(xié)作圖有順序號(hào)7.5.7 狀態(tài)圖展示了一個(gè)特定對(duì)象的所有可能狀態(tài)以及由于各種事件的發(fā)生而引起的狀態(tài)間的 轉(zhuǎn)移。一個(gè)狀態(tài)圖描述了一個(gè)狀態(tài)機(jī),用狀態(tài)圖說(shuō)明系統(tǒng)的動(dòng)態(tài)視圖。它對(duì)于接口、類 或協(xié)作的行為建模尤為重要,可用它描述用例實(shí)例的生命周期。在任一給定的時(shí)刻,一個(gè)對(duì)象總是處于某一特定的狀態(tài)。狀態(tài)圖主要表現(xiàn)一個(gè)對(duì)象所經(jīng)歷的狀態(tài)序列,引起狀態(tài)或活動(dòng)轉(zhuǎn)移的事件,以及因狀態(tài)或活動(dòng)轉(zhuǎn)移而伴隨的動(dòng)作。7.5.8 活動(dòng)圖活動(dòng)圖是一種特殊的狀態(tài)圖,描述需要做的活動(dòng)、執(zhí)行這些活動(dòng)的順序(多為并行 的)以及工作流(完成工作所需
21、要的步驟)。它對(duì)于系統(tǒng)的功能建模特別重要,強(qiáng)調(diào)對(duì) 象間的控制流程。活動(dòng)圖實(shí)質(zhì)上是一種流程圖,只不過(guò)表現(xiàn)的是從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流。 活動(dòng)圖描述活動(dòng)的序列,并且支持對(duì)帶條件的行為和并發(fā)行為表達(dá)。7.5.9 時(shí)序圖在一個(gè)運(yùn)行的系統(tǒng)中,對(duì)象之間要發(fā)生交互,并且這些交互要經(jīng)歷一定的時(shí)間。順序圖表達(dá)的正是這種基于時(shí)間的動(dòng)態(tài)交互。重點(diǎn)是完成某個(gè)行為的對(duì)象類和這些對(duì)象類之間 所傳遞的消息的時(shí)間順序。活動(dòng)圖(從用戶的的度描述用例)用例二時(shí)序圖(從計(jì)算機(jī)的角度描述用例) 對(duì)象的交互7.5.10 構(gòu)件圖構(gòu)件圖展現(xiàn)了一組構(gòu)件之間的組織和依賴,用于對(duì)原代碼、可執(zhí)行的發(fā)布、物理數(shù) 據(jù)庫(kù)和可調(diào)整的系統(tǒng)建模。組件圖
22、代表系統(tǒng)的一個(gè)物理實(shí)現(xiàn)塊,代表邏輯模型元素如類、接口的物理打包。7.5.11 部署圖部署圖展現(xiàn)了對(duì)運(yùn)行時(shí)處理節(jié)點(diǎn)以及其中構(gòu)件的配署。它描述系統(tǒng)硬件的物理拓?fù)?結(jié)構(gòu)(包括網(wǎng)絡(luò)布局和構(gòu)件在網(wǎng)絡(luò)上的位置),以及在此結(jié)構(gòu)上執(zhí)行的軟件(即運(yùn)行時(shí)軟 構(gòu)件在節(jié)點(diǎn)中的分布情況)。用部署圖說(shuō)明系統(tǒng)結(jié)構(gòu)的靜態(tài)部署視圖,即說(shuō)明分布、交 付和安裝的物理系統(tǒng)7.5.12區(qū)別1 .以描述系統(tǒng)狀態(tài)轉(zhuǎn)移為主的狀態(tài)圖和活動(dòng)圖狀態(tài)圖:用來(lái)描述對(duì)象,子系統(tǒng),系統(tǒng)的生命周期。通過(guò)狀態(tài)圖可以了解一個(gè)對(duì)象所能達(dá)到的所有狀態(tài),以及對(duì)象收到的事件對(duì)對(duì)象狀態(tài)的影響。活動(dòng)圖:顯示動(dòng)作及其結(jié)果。著重描述操作(方法)實(shí)現(xiàn)中所完成的工作以及用例 實(shí)例
23、或?qū)ο笾械幕顒?dòng),它是狀態(tài)圖的一個(gè)變種。狀態(tài)圖與活動(dòng)圖的區(qū)別:活動(dòng)圖主要描述動(dòng)作及對(duì)象狀態(tài)改變的結(jié)果。 狀態(tài)圖主要 描述的是事件對(duì)對(duì)象狀態(tài)的影響。2 .以描述系統(tǒng)系統(tǒng)對(duì)象通訊和交互為主的協(xié)作圖和序列圖序列圖:描述對(duì)象是如何交互的。重點(diǎn)放在消息序列上,描述消息在對(duì)象問(wèn)是如何 收發(fā)的。協(xié)作圖:描述協(xié)作對(duì)象的交互與鏈接。協(xié)作圖和序列圖的區(qū)別:協(xié)作圖和序列圖都是描述對(duì)象交互的, 但是序列圖強(qiáng)調(diào)的 是時(shí)間,協(xié)作圖強(qiáng)調(diào)的空間。3 .6需求分析與用例建模7.6.1 需求分析的任務(wù)需求分析的基本任務(wù)不是確定系統(tǒng)怎樣完成它的工作,而是確定系統(tǒng)必須完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。 -
24、準(zhǔn)確地回答 系統(tǒng)必須做什么?”。需求分析的步驟:需求獲取 分析建模 文檔編寫(xiě) 需求驗(yàn)證7.6.2 類圖類(Class對(duì)象(Object)和它們之間的關(guān)系是面向?qū)ο蠹夹g(shù)中最基本的元素。類圖技術(shù)是OO方法的核心。類圖標(biāo)加上它們之間的關(guān)系就構(gòu)成了類圖。類圖用于對(duì)系統(tǒng)靜態(tài)設(shè)計(jì)視圖建模。與數(shù)據(jù)模型不同,它不僅顯示了信息的結(jié)構(gòu),同時(shí)還描述 了系統(tǒng)的行為。類圖中可以包含接口,包,關(guān)系等建模元素,也可以包含對(duì)象,鏈等實(shí)例。類圖典型的應(yīng)用在下面三類建模:(1)對(duì)系統(tǒng)的詞匯建模(2)對(duì)簡(jiǎn)單協(xié)作建模(3)對(duì)邏輯數(shù)據(jù)庫(kù)模式建模類圖通常包含下述內(nèi)容:類、接口、協(xié)作、依賴、泛化和關(guān)聯(lián)關(guān)系。關(guān)系(Relationship)
25、是事物間的關(guān)系。在類的關(guān)系中,最常用的 4種分別為:依賴(Dependency):它表示類之間的使用關(guān)系泛化(Generalization):它表示類之間的一般和特殊的關(guān)系;關(guān)聯(lián)(Association):它表示對(duì)象之間的結(jié)構(gòu)關(guān)系實(shí)現(xiàn)(Realization):它是規(guī)格說(shuō)明和其實(shí)現(xiàn)之間的關(guān)系。類主要包含以下幾個(gè)部分(1)名稱(Name)名稱是每個(gè)類所必有的構(gòu)成,用于和其他類相區(qū)分。(2)屬性(Attribute )類的一個(gè)組成部分描述了類所代表事物的屬性(3)操作(Operation)操作是對(duì)類的對(duì)象所能做的事務(wù)的抽象類在UML中由專門(mén)的圖符表達(dá),是分成 3個(gè)分隔區(qū)的矩形,頂端為類的名字,中間
26、存放類的屬 性、屬性的類型和值,第3個(gè)分隔區(qū)放操作、操作的參數(shù)表和返回類型,如下圖:7.6.3 用例圖在UML中,一個(gè)用例模型由若干個(gè)用例圖(use case diagram)描述。用例圖是顯示一組用例、參與者以及它們之間關(guān)系的圖。用例圖是從用戶的角度來(lái)描述對(duì)軟件產(chǎn)品的需求,分析產(chǎn)品的功能和行為,因此,對(duì)整個(gè)軟件 開(kāi)發(fā)過(guò)程而言,用例圖是至關(guān)重要的。用例圖定義和描述了系統(tǒng)的外部可見(jiàn)行為,是分析、設(shè)計(jì)直至組裝測(cè)試的重要依據(jù)。讓用戶參與前期的系統(tǒng)分析與設(shè)計(jì)。用例圖的組成:用例(Use Case)參與者(Actor)關(guān)系(Relationship)1 .什么是參與者參與者:在系統(tǒng)之外,透過(guò)系統(tǒng)邊界與系
27、統(tǒng)進(jìn)行有意義交互的任何事物。參與者可能是人、另外一個(gè)系統(tǒng)、時(shí)間的流逝等。UML中,參與者用 人形”圖標(biāo)來(lái)表示,名字寫(xiě)在圖標(biāo)的下方。/參與者2 .什么是用例用例(use case) 一個(gè)用例是用戶與計(jì)算機(jī)之間的一次典型交互作用。在UML中,用例被定義成系統(tǒng)執(zhí)行的一系列動(dòng)作(功能)。參與者和用例分別描述了誰(shuí)來(lái)做? ”和 做什么? ”這兩個(gè)問(wèn)題。每個(gè)用例都必須有一個(gè)惟一的名字以區(qū)別于其他用例。用例用一個(gè)橢圓來(lái)表示, 用例的名字可以書(shū)寫(xiě)在橢圓的內(nèi)部或下方。用例的UML圖標(biāo)如圖所示。3 .用例間、用例與參與者的關(guān)系(1)泛化關(guān)系(Generalization): 一個(gè)用例可以被特別列舉為一個(gè)或多個(gè)子用例
28、,這被稱為用例泛化:(2)包含關(guān)系(Include) 一個(gè)用例可以簡(jiǎn)單地包含其他用例具有的行為,并把它所包含的用例 行為作為自身行為的一部分,這被稱作包含關(guān)系。(3)擴(kuò)展關(guān)系(Extend): 一個(gè)用例也可以被定義為基礎(chǔ)用例的增量擴(kuò)展,這稱作擴(kuò)展關(guān)系, 擴(kuò)展關(guān)系是把新行為插入到已有用例的方法。(4)關(guān)聯(lián)關(guān)系:關(guān)聯(lián)關(guān)系表示參與者與用例之間的通信。四種關(guān)系的UML圖釋用和用例包含關(guān)系擴(kuò)居關(guān)系泛化關(guān)系關(guān)聯(lián)關(guān)系4 .用例間的關(guān)系(1)泛化關(guān)系當(dāng)多個(gè)用例共同擁有一種類似的結(jié)構(gòu)和行為的時(shí)候我們可以將它們的共性抽象成為父用例,其他的用例作為泛化關(guān)系中的子用例。用例可以被特別列舉為一個(gè)或多個(gè)子用例,這被稱做用
29、例泛化。(2)包含關(guān)系包含是指基本用例(base use case啟用到包含用例(inclusion),具體地講,就是將包含用例的事件流插入到基礎(chǔ)用例的事件流中。包含用例是可重用的用例一多個(gè)用例的公共用例。(3)擴(kuò)展關(guān)系將擴(kuò)展用例的事件流在一定的條件下按照相應(yīng)的擴(kuò)展點(diǎn)插入到基礎(chǔ)用例中。基礎(chǔ)用例不必知道擴(kuò)展用例的任何細(xì)節(jié),它僅為其提供擴(kuò)展點(diǎn)。擴(kuò)展用例的行為是否被執(zhí)行要取決于主事件流中的判定點(diǎn)。擴(kuò)展關(guān)系是從擴(kuò)展用例到基本用例的關(guān)系,它說(shuō)明為擴(kuò)展用例定義的行為如何插入到為基本用 例定義的行為中。它是以隱含形式插入的,也就是說(shuō),擴(kuò)展用例并不在基本用例中顯示。在以下幾 種情況下,可使用擴(kuò)展用例:a.表明
30、用例的某一部分是可選的系統(tǒng)行為(這樣,您就可以將模型中的可選行為和必選行為分 開(kāi));b.表明只在特定條件(如例外條件)下才執(zhí)行的分支流;5 .用例之間的關(guān)系包含用例與擴(kuò)展用例的區(qū)別 相對(duì)于基礎(chǔ)用例,擴(kuò)展用例是可選的,而包含用例則不是。如果缺少擴(kuò)展用例,基礎(chǔ)用例還是完整的,而缺少包含用例,則基礎(chǔ)用例就不完整了。擴(kuò)展用例的執(zhí)行需要滿足某種條件,而包含用例不需要。擴(kuò)展用例的執(zhí)行會(huì)改變基礎(chǔ)用例的行為,而包含用例不會(huì)。6 .識(shí)別用例的方法:參與者希望系統(tǒng)提供什么功能;系統(tǒng)是否存儲(chǔ)和檢索信息;如果是,這個(gè)行為由哪個(gè)參與者觸發(fā);當(dāng)系統(tǒng)改變狀態(tài)時(shí),是否通知參與者;是否存在影響系統(tǒng)的外部事件,是哪個(gè)參與者通知系
31、統(tǒng)這些外部事件。7.6.4活動(dòng)圖1 .什么是活動(dòng)圖活動(dòng)圖是UML中描述系統(tǒng)動(dòng)態(tài)行為的圖之一,是描述系統(tǒng)或業(yè)務(wù)的一序列活動(dòng)構(gòu)成的控制流, 它描述了系統(tǒng)從一種活動(dòng)轉(zhuǎn)換到另一種活動(dòng)的整個(gè)過(guò)程。2 .活動(dòng)圖用途活動(dòng)圖用于對(duì)系統(tǒng)的動(dòng)態(tài)行為建模。活動(dòng)圖常用來(lái)描述業(yè)務(wù)或軟件系統(tǒng)的活動(dòng)軌跡,描述了系統(tǒng)的活動(dòng)控制流程。我們常用活動(dòng)圖 對(duì)業(yè)務(wù)過(guò)程、工作流和用例實(shí)現(xiàn)進(jìn)行建模。活動(dòng)圖主要應(yīng)用對(duì)兩個(gè)方面建模:一是在業(yè)務(wù)分析階段,對(duì)工作流程進(jìn)行建模;二是在系統(tǒng)分 析和設(shè)計(jì)階段,對(duì)操作流程進(jìn)行建模。7.6.5面向?qū)ο蠓治鼋⒌?類模型對(duì)象模型、動(dòng)態(tài)模型、功能模型對(duì)象模型對(duì)象模型表示了靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)數(shù)據(jù)性質(zhì),描述了系統(tǒng)
32、的靜態(tài)結(jié)構(gòu),它是從客觀世界實(shí) 體的對(duì)象關(guān)系角度來(lái)描述,表現(xiàn)了對(duì)象的相互關(guān)系。該模型主要關(guān)心系統(tǒng)中對(duì)象的結(jié)構(gòu)、屬性和操 作,它是分析階段三個(gè)模型的核心,是其他兩個(gè)模型的框架。21 .對(duì)象和類對(duì)象。對(duì)象建模的目的就是描述對(duì)象。類。通過(guò)將對(duì)象抽象成類,我們可以使問(wèn)題抽象化,抽象增強(qiáng)了模型的歸納能力。屬性。屬性指的是類中對(duì)象所具有的性質(zhì)(數(shù)據(jù)值)。(4)操作和方法。操作是類中對(duì)象所使用的一種功能或變換。類中的各對(duì)象可以共享操作,每個(gè)操作都有一個(gè)目 標(biāo)對(duì)象作為其隱含參數(shù)。方法是類的操作的實(shí)現(xiàn)步驟。2 .關(guān)聯(lián)和鏈關(guān)聯(lián)是建立類之間關(guān)系的一種手段,而鏈則是建立對(duì)象之間關(guān)系的一種手段。關(guān)聯(lián)和鏈的含義。鏈表示對(duì)象
33、間的物理與概念聯(lián)結(jié),關(guān)聯(lián)表示類之間的一種關(guān)系,鏈?zhǔn)顷P(guān)聯(lián)的實(shí)例,關(guān)聯(lián)是鏈的 抽象。角色。角色說(shuō)明類在關(guān)聯(lián)中的作用,它位于關(guān)聯(lián)的端點(diǎn)。受限關(guān)聯(lián)。受限關(guān)聯(lián)由兩個(gè)類及一個(gè)限定詞組成,限定詞是一種特定的屬性, 用來(lái)有效的減少關(guān)聯(lián)的重?cái)?shù),限定詞在關(guān)聯(lián)的終端對(duì)象集中說(shuō)明。限定提高了語(yǔ)義的精確性,增強(qiáng)了查詢能力,在現(xiàn)實(shí)世界中,常常出現(xiàn)限定詞。(4)關(guān)聯(lián)的多重性。關(guān)聯(lián)的多重性是指類中有多少個(gè)對(duì)象與關(guān)聯(lián)的類的一個(gè)對(duì)象相關(guān)。重?cái)?shù)常描述為工”或多”。3 .類的層次結(jié)構(gòu)聚集關(guān)系。聚集是一種 整體-部分”關(guān)系。在這種關(guān)系中,有整體類和部分類之分。聚集最重要的性質(zhì)是 傳遞性,也具有逆對(duì)稱性。聚集可以有不同層次,可以把不同分
34、類聚集起來(lái)得到一顆簡(jiǎn)單的聚集樹(shù),聚集樹(shù)是一種簡(jiǎn)單表 示,比畫(huà)很多線來(lái)將部分類聯(lián)系起來(lái)簡(jiǎn)單得多,對(duì)象模型應(yīng)該容易地反映各級(jí)層次。一般化關(guān)系。般-具體般化關(guān)系是在保留對(duì)象差異的同時(shí)共享對(duì)象相似性的一種高度抽象方式。它是 的關(guān)系。一般化類稱為你類,具體類又能稱為子類,各子類繼承了父類的性質(zhì),而各子類的一些共 同性質(zhì)和操作又歸納到你類中。因此,一般化關(guān)系和繼承是同時(shí)存在的。一般化關(guān)系的符號(hào)表示是 在類關(guān)聯(lián)的連線上加一個(gè)小三角形。4 .對(duì)象模型模板。模板是類、關(guān)聯(lián)、一般化結(jié)構(gòu)的邏輯組成。對(duì)象模型。對(duì)象模型是由一個(gè)或若干個(gè)模板組成。模板將模型分為若干個(gè)便于管理的子塊,在整個(gè)對(duì)象模 型和類及關(guān)聯(lián)的構(gòu)造塊之間
35、,模板提供了一種集成的中間單元,模板中的類名及關(guān)聯(lián)名是唯一的動(dòng)態(tài)模型動(dòng)態(tài)模型是與時(shí)間和變化有關(guān)的系統(tǒng)性質(zhì)。該模型描述了系統(tǒng)的控制結(jié)構(gòu),它表示了瞬間的、 行為化的系統(tǒng)控制性質(zhì),它關(guān)心的是系統(tǒng)的控制,操作的執(zhí)行順序,它表示從對(duì)象的事件和狀態(tài)的角度出發(fā),表 現(xiàn)了對(duì)象的相互行為。該模型描述的系統(tǒng)屬性是觸發(fā)事件、事件序列、狀態(tài)、事件與狀態(tài)的組織。使用狀態(tài)圖作為描 述工具。它涉及到事件、狀態(tài)、操作等重要概念。1 .事件事件是指定時(shí)刻發(fā)生的某件事。2 .狀態(tài)狀態(tài)是對(duì)象屬性值的抽象。對(duì)象的屬性值按照影響對(duì)象顯著行為的性質(zhì)將其歸并到一個(gè)狀態(tài)中 去。狀態(tài)指明了對(duì)象對(duì)輸入事件的響應(yīng)。3 .狀態(tài)圖狀態(tài)圖是一個(gè)標(biāo)準(zhǔn)的計(jì)
36、算機(jī)概念,他是有限自動(dòng)機(jī)的圖形表示,這里把狀態(tài)圖作為建立動(dòng)態(tài)模 型的圖形工具。狀態(tài)圖反映了狀態(tài)與事件的關(guān)系。當(dāng)接收一事件時(shí),下一狀態(tài)就取決于當(dāng)前狀態(tài)和所接收的該 事件,由該事件引起的狀態(tài)變化稱為轉(zhuǎn)換。狀態(tài)圖是一種圖,用結(jié)點(diǎn)表示狀態(tài),結(jié)點(diǎn)用圓圈表示;圓圈內(nèi)有狀態(tài)名,用箭頭連線表示狀態(tài) 的轉(zhuǎn)換,上面標(biāo)記事件名,箭頭方向表示轉(zhuǎn)換的方向。功能模型功能模型描述了系統(tǒng)的所有計(jì)算。功能模型指出發(fā)生了什么,動(dòng)態(tài)模型確定什么時(shí)候發(fā)生,而 對(duì)象模型確定發(fā)生的客體。功能模型表明一個(gè)計(jì)算如何從輸入值得到輸出值,它不考慮計(jì)算的次序。功能模型由多張數(shù)據(jù)流圖組成。數(shù)據(jù)流圖用來(lái)表示從源對(duì)象到目標(biāo)對(duì)象的數(shù)據(jù)值的流向,它不包含
37、控制信息,控制信息在動(dòng)態(tài)模型中表示,同時(shí)數(shù)據(jù)流圖也不表示對(duì)象中值的組織,值的組織在對(duì)象 模型中表示。數(shù)據(jù)流圖中包含有處理、數(shù)據(jù)流、動(dòng)作對(duì)象和數(shù)據(jù)存儲(chǔ)對(duì)象。1 .處理數(shù)據(jù)流圖中的處理用來(lái)改變數(shù)據(jù)值。最低層處理是純粹的函數(shù),一張完整的數(shù)據(jù)流圖是一個(gè)高 層處理。2 .數(shù)據(jù)流數(shù)據(jù)流圖中的數(shù)據(jù)流將對(duì)象的輸出與處理、處理與對(duì)象的輸入、處理與處理聯(lián)系起來(lái)。在一個(gè) 計(jì)算機(jī)中,用數(shù)據(jù)流來(lái)表示一中間數(shù)據(jù)值,數(shù)據(jù)流不能改變數(shù)據(jù)值。3 .動(dòng)作對(duì)象動(dòng)作對(duì)象是一種主動(dòng)對(duì)象,它通過(guò)生成或者使用數(shù)據(jù)值來(lái)驅(qū)動(dòng)數(shù)據(jù)流圖。4 .數(shù)據(jù)存儲(chǔ)對(duì)象數(shù)據(jù)流圖中的數(shù)據(jù)存儲(chǔ)是被動(dòng)對(duì)象,它用來(lái)存儲(chǔ)數(shù)據(jù)。它與動(dòng)作對(duì)象不一樣,數(shù)據(jù)存儲(chǔ)本身不 產(chǎn)生任何
38、操作,它只響應(yīng)存儲(chǔ)和訪問(wèn)的要求。7.7設(shè)計(jì)階段7.7.1 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)階段的根本目標(biāo)是確定怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),也就是說(shuō),經(jīng)過(guò)這個(gè)階段的設(shè) 計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個(gè)描述直接翻譯成用某種程序 設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序。詳細(xì)設(shè)計(jì)的目標(biāo):設(shè)計(jì)出的處理過(guò)程應(yīng)該盡可能簡(jiǎn)明易懂。詳細(xì)設(shè)計(jì)的任務(wù):(1)為每個(gè)模塊確定采用的算法,選擇某種適當(dāng)?shù)墓ぞ弑磉_(dá)算法的過(guò)程,寫(xiě)出模塊的詳細(xì)過(guò)程 性描述;(2)確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu);為以后的編寫(xiě)程序做好充分的準(zhǔn)備。(3)確定模塊接口的細(xì)節(jié)。7.7.2 總體設(shè)計(jì)1 .面向?qū)ο笤O(shè)計(jì)面向?qū)ο笤O(shè)計(jì)的準(zhǔn)則:優(yōu)秀設(shè)計(jì)就是使得系統(tǒng)在其整個(gè)生
39、命周期中的總開(kāi)銷最小的設(shè)計(jì),其主要特點(diǎn)就是容易維護(hù)。面向?qū)ο笤O(shè)計(jì)(OOD, Object-Oriented Design )是面向?qū)ο蠓治龅綄?shí)現(xiàn)的一個(gè)橋梁。面向?qū)ο蠓治鍪菍⒂脩粜枨蠼?jīng)過(guò)分析后,建立問(wèn)題域精確模型的過(guò)程;而面向?qū)ο笤O(shè)計(jì)則根據(jù)面向?qū)ο蠓治龅玫降男枨竽P停⑶蠼庥蚰P偷倪^(guò)程。即分析必須搞清楚系統(tǒng)“做什么”,而設(shè)計(jì)必須搞清楚系統(tǒng)“怎么做”,從分析到設(shè)計(jì)不是傳統(tǒng)方法的轉(zhuǎn)換,而是平滑(無(wú)縫)過(guò)渡,而求解域模型是系統(tǒng)實(shí)現(xiàn)的依據(jù)。靜態(tài)結(jié)構(gòu)設(shè)計(jì):類設(shè)計(jì)包設(shè)計(jì)接口設(shè)計(jì)動(dòng)態(tài)結(jié)構(gòu)設(shè)計(jì)(行為和交互建模):對(duì)象如何進(jìn)行交互的2 .GUI (圖形用戶界面)設(shè)計(jì)概述對(duì)于用戶來(lái)說(shuō),一個(gè)友好的界面是至關(guān)重要的。
40、用戶界面(User Interface)的設(shè)計(jì)質(zhì)量直接影響用戶對(duì)軟件產(chǎn)品的評(píng)價(jià),從而影響軟件產(chǎn)品的競(jìng)爭(zhēng) 力和使用壽命,因此,對(duì)人機(jī)界面的設(shè)計(jì)必須給予足夠的重視。良好的GUI設(shè)計(jì)原則1、關(guān)注用戶及其任務(wù),而不是技術(shù)2、首先考慮功能,其次才是表現(xiàn)3、與用戶對(duì)任務(wù)的看法保持一致4、設(shè)計(jì)要符合常見(jiàn)情況5、不要分散用戶對(duì)他們目標(biāo)的注意力6、促進(jìn)學(xué)習(xí),從外(用戶)到里(設(shè)計(jì)人員)思考,而不是相反。7、傳遞信息,而不僅僅是數(shù)據(jù)8、設(shè)計(jì)應(yīng)滿足響應(yīng)需求9、通過(guò)用戶試用發(fā)現(xiàn)錯(cuò)誤,然后修復(fù)它3.數(shù)據(jù)庫(kù)設(shè)計(jì)設(shè)計(jì)原則:每一個(gè)類成為一個(gè)數(shù)據(jù)庫(kù)表。關(guān)系映射:(1) 一對(duì)多的關(guān)系映射為數(shù)據(jù)庫(kù)表的主外鍵關(guān)聯(lián)(1方的主鍵加入n方
41、成為外鍵)(2) 一對(duì)一的關(guān)系映射為數(shù)據(jù)庫(kù)表的主外鍵關(guān)聯(lián)(1方的主鍵加入另一方成為外鍵)(3)多對(duì)多的關(guān)系映射:產(chǎn)生第三張表,將兩個(gè)多方的主鍵加入其中成為外鍵,兩個(gè)外鍵的組合成 為主鍵。利用數(shù)據(jù)庫(kù)三范式檢查表,從而考察領(lǐng)域類圖的分析是否合理,消除冗余數(shù)據(jù)。檢查數(shù)據(jù)是否能夠反映用例視圖的需要;進(jìn)一步與用戶再次確認(rèn)使用的數(shù)據(jù)。7.8注釋夾在程序中的注釋是程序員與日后的程序讀者之間通信的重要手段。注釋決不是可有可無(wú)的。一些正規(guī)的程序文本中,注釋行的數(shù)量占到整個(gè)源程序的1/3到1/2,甚至更多。注釋分為兩類:序言性注釋和功能性注釋。1 .序言性注釋通常置于每個(gè)程序模塊的開(kāi)頭部分,它應(yīng)當(dāng)給出程序的整體說(shuō)
42、明,對(duì)于理解程序本身具有引導(dǎo) 作用。序言性注釋包括:程序標(biāo)題;有關(guān)本模塊功能和目的的說(shuō)明;主要算法;接口說(shuō)明:包括調(diào)用形式,參數(shù)描述,子程序清單;有關(guān)數(shù)據(jù)描述:重要的變量及其用途,約束或限制條件,以及其它有關(guān)信息;模塊位置:在哪一個(gè)源文件中,或隸屬于哪一個(gè)軟件包;開(kāi)發(fā)簡(jiǎn)歷:模塊設(shè)計(jì)者,復(fù)審者,復(fù)審日期,修改日期及有關(guān)說(shuō)明等。2 .功能性注釋功能性注釋嵌在源程序體中,用以描述其后的語(yǔ)句或程序段是在做什么工作,或是執(zhí)行了下面 的語(yǔ)句會(huì)怎么樣,而不要解釋下面怎么做。要點(diǎn):描述一段程序,而不是每一個(gè)語(yǔ)句;用縮進(jìn)和空行,使程序與注釋容易區(qū)別;3 .9軟件測(cè)試軟件測(cè)試的定義:軟件測(cè)試是使用人工和自動(dòng)手段來(lái)
43、運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過(guò)程,其目的在于檢測(cè)被測(cè)試軟件系統(tǒng)是否滿足規(guī)定的需要,或是弄清楚被測(cè)系統(tǒng)的預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。黑盒測(cè)試:僅需要知道被測(cè)試對(duì)象的輸入和預(yù)期輸出,不需要了解代碼實(shí)現(xiàn)的細(xì)節(jié)。測(cè)試方法主要分為兩類:功能層面的測(cè)試方法和函數(shù)層面的測(cè)試方法(邊界值測(cè)試、等價(jià)類測(cè)試、基于決策表測(cè)試)。側(cè)重于系統(tǒng)業(yè)務(wù)流程的梳理,是基于動(dòng)態(tài)業(yè)務(wù)過(guò)程設(shè)計(jì)測(cè)試用例。白盒測(cè)試:是針對(duì)程序代碼展開(kāi)的測(cè)試, 分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試 :關(guān)注對(duì)象包括源代碼和程序結(jié)構(gòu)。靜態(tài)白盒測(cè)試的方法是代碼檢查。靜態(tài)測(cè)試不需要運(yùn)行程序和設(shè)計(jì)測(cè)試用例,側(cè)重于源代 碼的檢查和優(yōu)化,直接查看源代碼和執(zhí)行代碼,直接定位代碼中的缺陷。動(dòng)
44、態(tài)測(cè)試側(cè)重于程序結(jié)構(gòu) 的測(cè)試。測(cè)試用例的定義:測(cè)試用例是一組測(cè)試輸入,執(zhí)行條件和預(yù)期結(jié)果。目的是要滿足一個(gè)特定的目標(biāo)。如果執(zhí)行一條特定的程序路徑或者檢驗(yàn)是否符合一個(gè)特定的需求的用例。測(cè)試用例:輸入+輸出+測(cè)試環(huán)境測(cè)試環(huán)境包括:硬件環(huán)境,軟件環(huán)境,網(wǎng)絡(luò)環(huán)境,歷史數(shù)據(jù)。測(cè)試用例分為兩個(gè)階段:測(cè)試用例分析階段,測(cè)試用例設(shè)計(jì)階段。7.9.1 測(cè)試和調(diào)試的區(qū)別1、目的不同軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤,至于找出錯(cuò)誤的原因和錯(cuò)誤發(fā)生的地方不是軟件測(cè)試的任務(wù),而 是調(diào)試的任務(wù).調(diào)試的目的是為了證明程序的正確,因此它必須不斷地排除錯(cuò)誤.它們的出發(fā)點(diǎn)不一樣。前者是挑錯(cuò),是一種挑剔過(guò)程,屬于質(zhì)盤(pán)保證活動(dòng)。后者是排錯(cuò),是
45、一種排除過(guò)程,是編碼活 動(dòng)的一部分。2、任務(wù)不同既然軟件測(cè)試屬于質(zhì)量保證活動(dòng),因此它貫穿于整個(gè)開(kāi)發(fā)過(guò)程.從需求分析開(kāi)始,就要制訂軟件測(cè)試計(jì)劃,軟件設(shè)計(jì)時(shí)要設(shè)計(jì)系統(tǒng)軟件測(cè)試、集成側(cè)試用例,編碼階 段要設(shè)計(jì)單元軟件測(cè)試用例并進(jìn)行單元軟件測(cè)試,軟件測(cè)試階段要進(jìn)行集成軟件測(cè)試、系統(tǒng)軟件測(cè)試等,直到產(chǎn)品交付。只要有 修改就有軟件測(cè)試,產(chǎn)品交付后同樣。它是比較有規(guī)律的活動(dòng),有系統(tǒng)的方法、原則作指導(dǎo)。而調(diào)試是編碼活動(dòng)的一部分,因此有編碼就有調(diào)試 .它的任務(wù)主要就是排錯(cuò)。調(diào)試的方法經(jīng)常與 使用的開(kāi)發(fā)工具有關(guān),例如:解釋型的開(kāi)發(fā)工具可以交互式調(diào)試, 編譯型開(kāi)發(fā)工具就很難較好地查錯(cuò)。 當(dāng)然它有一些啟發(fā)式的方法,它
46、是一種比較依賴開(kāi)發(fā)人員經(jīng)驗(yàn)的活動(dòng)。3、指導(dǎo)原則和方法不同軟件側(cè)試是一種有規(guī)律的活動(dòng),有一系列軟件軟件測(cè)試的原則.其中主要是制訂側(cè)試計(jì)劃,然后嚴(yán)格執(zhí)行.其次是一種挑剔性行為,因此它不但要側(cè)試軟件應(yīng)該做的,還需要側(cè)試軟件不應(yīng)該做的事情。調(diào)試所遵循的規(guī)律主要是一些啟發(fā)式規(guī)則,是一個(gè)推理過(guò)程。例如使用歸納法、演繹法、回 溯法等。軟件測(cè)試的輸出是預(yù)知的,其軟件測(cè)試用例必須包括預(yù)期的結(jié)果,而調(diào)試的輸出大多是不可預(yù)見(jiàn)的,需要調(diào)試者去解釋、去發(fā)現(xiàn)產(chǎn)生的原因。4、操作者因?yàn)樾睦頎顟B(tài)是軟件測(cè)試程序的障礙,所以執(zhí)行軟件測(cè)試的人一般不是開(kāi)發(fā)人員,以使軟件測(cè)試更客觀、更有效,而調(diào)試人員一般都是開(kāi)發(fā)人員7.9.2軟件維護(hù)
47、軟件維護(hù)活動(dòng)類型總起來(lái)大概有四種:糾錯(cuò)性維護(hù)(校正性維護(hù))、適應(yīng)性維護(hù)、 完善性維護(hù)或增強(qiáng)、預(yù)防性維護(hù)或再工程。改正性維護(hù)改正性維護(hù)是指改正在系統(tǒng)開(kāi)發(fā)階段已發(fā)生而系統(tǒng)測(cè)試階段尚未發(fā)現(xiàn)的錯(cuò)誤。這方面的維護(hù)工作量要占整個(gè)維護(hù)工作量的 17%21%。所發(fā)現(xiàn)的錯(cuò)誤有的不太重要,不 影響系統(tǒng)的正常運(yùn)行,其維護(hù)工作可隨 時(shí)進(jìn)行:而有的錯(cuò)誤非常重要,甚至影響整個(gè) 系統(tǒng)的正常運(yùn)行,具維護(hù)工作必須制定計(jì)劃,進(jìn)行修改,并且要進(jìn)行復(fù)查和控制。適應(yīng)性維護(hù)適應(yīng)性維護(hù)是指使用軟件適應(yīng)信息技術(shù)變化和管理需求變化而進(jìn)行的修改。這方面的維護(hù)工作量占整個(gè)維護(hù)工作量的 18%25%。由于計(jì)算機(jī)硬件價(jià) 格的不斷下降,各 類系統(tǒng)軟件屢
48、出不窮,人們常常為改善系統(tǒng)硬件環(huán)境和運(yùn)行環(huán)境而產(chǎn)生系統(tǒng)更新?lián)Q代 的需求;企業(yè)的外部市場(chǎng)環(huán)境和管理需求的不斷變化也使得各級(jí)管理人員不斷提出新的信息需求。這些因素都將導(dǎo)致適應(yīng)性維護(hù)工作的產(chǎn)生。 進(jìn)行這方面的維護(hù)工作也要像 系統(tǒng)開(kāi)發(fā)一樣,有計(jì)劃、有步驟地進(jìn)行。完善性維護(hù)完善性維護(hù)是為擴(kuò)充功能和改善性能而進(jìn)行的修改,主要是指對(duì)已有的軟件系統(tǒng)增加一些在系統(tǒng)分析和設(shè)計(jì)階段中沒(méi)有規(guī)定的功能與性能特征。這些功能對(duì)完善系統(tǒng) 功能是非常必要的。另外,還包括對(duì)處理效率和編寫(xiě)程序的改進(jìn),這方面的維護(hù)占整個(gè) 維護(hù) 工作的50%60%,比重較大.也是關(guān)系到系統(tǒng)開(kāi)發(fā)質(zhì)量的重要方面。這方面的 維護(hù)除了要有計(jì)劃、有步驟地完成外
49、.還要注意將相關(guān)的文檔資料加入到前面相應(yīng)的文檔中去。預(yù)防性維護(hù)預(yù)防性維護(hù)為了改進(jìn) 應(yīng)用軟件的可靠性和可維護(hù)性,為了適應(yīng)未來(lái)的軟硬件環(huán)境 的變化,應(yīng)主動(dòng)增加預(yù)防性的新的功能,以使應(yīng)用系統(tǒng)適應(yīng)各類變化而不被淘汰。例如將專用報(bào)表功能改成通用報(bào)表生成功能,以適應(yīng)將來(lái)報(bào)表格式的變化。這方面的維護(hù)工 作量占整個(gè)維護(hù)工作量的4%左右。第一章1 .軟件有哪些種類?答:1.按功能特征進(jìn)行劃分:(1)系統(tǒng)軟件(2)支撐軟件(3)應(yīng)用軟件2 .按規(guī)模大小進(jìn)行劃分微型、小型、大型、甚大型、極大型4 .結(jié)合自己的親身經(jīng)歷,談?wù)勡浖ぞ咴谲浖_(kāi)發(fā)過(guò)程中的作用。使軟件開(kāi)發(fā)更加模式化,工程化,從而提高軟件開(kāi)發(fā)的效率和封裝性。
50、第二章5 .軟件瀑布模型為什么要?jiǎng)澐蛛A段?各個(gè)階段的任務(wù)是什么?在軟件開(kāi)發(fā)早期,開(kāi)發(fā)只是被簡(jiǎn)單地分成編寫(xiě)代碼和修改代碼兩個(gè)階段。往往在拿到項(xiàng)目后立 刻編寫(xiě)程序,然后調(diào)試通過(guò)后直接交付給用戶使用。如果應(yīng)用中出現(xiàn)錯(cuò)誤,或者有新的要求,都需 要重新修改代碼。這種小作坊式的軟件開(kāi)發(fā)方法有明顯的弊端,如缺乏統(tǒng)的項(xiàng)目規(guī)劃、不太重視需 求的獲取和分析、對(duì)軟件的測(cè)試和維護(hù)考慮不周等,這些都會(huì)導(dǎo)致軟件項(xiàng)目的失敗。概念階段:計(jì)劃、需求分析開(kāi)發(fā)階段:設(shè)計(jì)、編碼、測(cè)試維護(hù)階段:運(yùn)行維護(hù)6 .舉例說(shuō)明哪些項(xiàng)目的開(kāi)發(fā)適用于原型模型或螺旋模型,哪些不適于采用這兩種模型。螺旋模型適合于大型軟件的開(kāi)發(fā),應(yīng)該說(shuō)它是最為實(shí)際的方法
51、,它吸收了軟件工程“演化”的 概念,使得開(kāi)發(fā)人員和客戶對(duì)每個(gè)演化層出現(xiàn)的風(fēng)險(xiǎn)有所了解,繼而做出應(yīng)有的反應(yīng)。不適用:小型軟件。原型般是指對(duì)某種產(chǎn)品進(jìn)行模擬的初始版本或者原始模型,在工程領(lǐng)域中具有廣泛應(yīng)用。不適用:大型軟件項(xiàng)目;含有對(duì)于計(jì)算量大、邏輯性較強(qiáng)的程序模塊:第三章1 .可行性研究的任務(wù)是什么?可行性研究的任務(wù)是以最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。簡(jiǎn)單的說(shuō),可行性 研究的最終結(jié)果是決定項(xiàng)目 y做還是小做”而不是“如何做”。2 .項(xiàng)目開(kāi)發(fā)計(jì)劃有哪些內(nèi)容?引言(目的、背景、參考文獻(xiàn)、術(shù)語(yǔ) );項(xiàng)目概述(功能、條件、運(yùn)行環(huán)境、產(chǎn)品、程序、文檔、 服務(wù)、驗(yàn)收標(biāo)準(zhǔn)、實(shí)施計(jì)劃、工作任務(wù)
52、分解、進(jìn)度、預(yù)算、人員 )第四章1 .什么是需求工程?需求工程包括哪些活動(dòng)?需求工程是指應(yīng)用已證實(shí)有效的技術(shù)、方法進(jìn)行需求分析,確定客戶需求,幫助分析人員理解問(wèn)題 并定義目標(biāo)系統(tǒng)的所有外部特征的門(mén)學(xué)科。它通過(guò)合適的工具和記號(hào)系統(tǒng)地描述待開(kāi)發(fā)系統(tǒng),及其行為特征和相關(guān)約束,形成需求文檔;并對(duì)用戶不斷變化的需求演進(jìn)給予支持。一個(gè)良好的需求開(kāi)發(fā)過(guò)程應(yīng)該包括需求獲取、需求分析與建模、編寫(xiě)需求規(guī)格說(shuō)明書(shū)和需求評(píng)審 個(gè)主要活動(dòng)。2 .需求工程過(guò)程包括哪些主要活動(dòng)?需求開(kāi)發(fā)過(guò)程應(yīng)該包括需求獲取、需求分析與建模、編寫(xiě)需求規(guī)格說(shuō)明書(shū)和需求評(píng)審4個(gè)主要活動(dòng)。3 .有哪兩種主要的需求分析模型?它們的主要思想是什么?答
53、:面向?qū)ο蠓治瞿P停Y(jié)構(gòu)化分析模型。前者是采用面向?qū)ο蟮乃枷脒M(jìn)行軟件需求分析的建模過(guò) 程,而后者模型的核心是 DD,它是設(shè)計(jì)各種數(shù)據(jù)對(duì)象的總和。他們的模型分別起到了描述數(shù)據(jù)模型, 功能模型與行為模型的作用。4 .需求規(guī)格說(shuō)明書(shū)的主要作用是什么?應(yīng)該包括哪些主要內(nèi)容? 作用:(1)作為用戶方和開(kāi)發(fā)方之間的合同,為雙方相互了解提供基礎(chǔ)。(2)反映問(wèn)題的結(jié)構(gòu),作為系統(tǒng)設(shè)計(jì)和編碼的依據(jù)。(3)作為測(cè)試和驗(yàn)收目標(biāo)系統(tǒng)的依據(jù)。內(nèi)容:用戶可以通過(guò)需求規(guī)格說(shuō)明書(shū)檢查需求描述是否滿足原來(lái)的期望。設(shè)計(jì)人員根據(jù)軟件需求規(guī)格 說(shuō)明書(shū)的描述了解所需開(kāi)發(fā)軟件的功能和性能,以及開(kāi)發(fā)軟件時(shí)必須滿足的約束,將其作為軟件設(shè) 計(jì)的
54、依據(jù)。測(cè)試人員根據(jù)軟件需求規(guī)格說(shuō)明書(shū)中對(duì)產(chǎn)品的描述,設(shè)計(jì)測(cè)試計(jì)劃、測(cè)試用例和測(cè)試過(guò) 程。產(chǎn)品發(fā)布人員根據(jù)軟件需求規(guī)格說(shuō)明和用戶界面設(shè)計(jì)編寫(xiě)用戶手冊(cè)和幫助信息第五章5 .簡(jiǎn)述數(shù)據(jù)流圖分解時(shí)的注意事項(xiàng)。?上層可分解得快些(即分解成子數(shù)據(jù)處理個(gè)數(shù)多些),這是因?yàn)樯蠈邮蔷C合性描述,對(duì)可讀性的影(即分解成的子數(shù)據(jù)處理個(gè)數(shù)多些),這是因?yàn)樯蠈邮蔷C合性描述,對(duì)可讀性的影響小。而下層應(yīng)分解得慢性。?在不影響可讀性的前提下,應(yīng)適當(dāng)多分解成幾部分,以減少分解層數(shù)。6 .數(shù)據(jù)字典的作用是什么?它有哪些基本內(nèi)容??分解應(yīng)自然,概念上要合理、清晰。作用:數(shù)據(jù)字典作為分析階段的工具,有助于改進(jìn)分析人員和用戶.間的通信,進(jìn)
55、而消除很多的誤解,同時(shí)也有助于改進(jìn)不同開(kāi)發(fā)人員之間的通信;內(nèi)容:數(shù)據(jù)字典的內(nèi)容主要是對(duì)數(shù)據(jù)流圖中的數(shù)據(jù)項(xiàng)、數(shù)據(jù)流、加工邏輯、數(shù)據(jù)存儲(chǔ)和外部實(shí)體第六章1.什么是面向?qū)ο蠓椒ǎ颗c傳統(tǒng)軟件開(kāi)發(fā)方法相比,面向?qū)ο蠓椒ㄓ惺裁磧?yōu)點(diǎn)?是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開(kāi)發(fā)過(guò)程中,指導(dǎo)開(kāi)發(fā)活動(dòng)的系統(tǒng)方法。優(yōu)點(diǎn):1 .符合人們對(duì)問(wèn)題的認(rèn)識(shí)習(xí)慣2 .增強(qiáng)問(wèn)題域與最終軟件系統(tǒng)之間的銜接3 .易于維護(hù)和復(fù)用4 .易于開(kāi)發(fā)大型軟件產(chǎn)品2.什么是模型?在軟件開(kāi)發(fā)過(guò)程中為什么需要建立模型?在軟件開(kāi)發(fā)過(guò)程中,建立軟件模型具有十分重要的作用,主要體現(xiàn)在以下幾個(gè)方面:有助于問(wèn)題的簡(jiǎn)化,通過(guò)抽象降低復(fù)雜性;有助于和其他開(kāi)發(fā)小組成員,
56、各種用戶以及系統(tǒng)相關(guān)者進(jìn)行交流;有助于維護(hù)人員了解軟件設(shè)計(jì)的思路和細(xì)節(jié),為以后的維護(hù)和升級(jí)提供了文檔。第七章1 .面向?qū)ο蠓治霭男┗顒?dòng)?應(yīng)該建立哪些類型的模型?面向?qū)ο蠓治?OOA模型的過(guò)程包括理解用例模型、識(shí)別分析類、定義交互行為、建立分析類圖、評(píng) 審分析模型5個(gè)活動(dòng)組成。目標(biāo)是建立一個(gè)符合問(wèn)題域、滿足用戶需求的OOA模型。2 .什么是實(shí)體類、邊界類和控制類?為什么將分析類劃分成這3種類型?實(shí)體類:用于描述必須存儲(chǔ)的信息,同時(shí)描述相關(guān)的行為。實(shí)體類代表擬建系統(tǒng)中的核心信息。在RUP的有關(guān)文檔中對(duì)實(shí)體類的解釋為:“實(shí)體類是用于對(duì)必須存儲(chǔ)的信息和相關(guān)行為建模的類。邊界類:在系統(tǒng)與外界之間,為它們交換各種信息與事件。邊界類處理軟件系統(tǒng)的輸入和輸出。在RUP的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥品物品設(shè)備管理制度
- 藥品銷售人員管理制度
- 藥店倉(cāng)庫(kù)盤(pán)存管理制度
- 藥店店員薪酬管理制度
- 藥店?duì)I業(yè)區(qū)域管理制度
- 薪資待遇具體管理制度
- 設(shè)備包機(jī)責(zé)任管理制度
- 設(shè)備巡回檢查管理制度
- 設(shè)備日常養(yǎng)護(hù)管理制度
- 設(shè)備現(xiàn)場(chǎng)圖文管理制度
- 國(guó)家開(kāi)放大學(xué)2025年《創(chuàng)業(yè)基礎(chǔ)》形考任務(wù)3答案
- 新生入學(xué)報(bào)到證明(新生)
- 來(lái)料質(zhì)量異常反饋單
- n系列蒸汽型溴化鋰吸收式冷水機(jī)組f.ju.1
- 會(huì)展策劃與管理高水平專業(yè)群建設(shè)項(xiàng)目建設(shè)方案
- 2021-2022學(xué)年江蘇省揚(yáng)州市高一下學(xué)期期末地理試題
- 最新四川省教師資格認(rèn)定體檢表
- 串并聯(lián)電路電壓表電流表(課堂PPT)
- XXX縣第三次國(guó)土調(diào)查技術(shù)報(bào)告
- 肝硬化基本知識(shí)ppt課件
評(píng)論
0/150
提交評(píng)論