版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件工程前言 本書是依據(jù)教育部高職高專教育基礎(chǔ)課程教學(xué)的基本要求和高職高專教育專業(yè)人才培養(yǎng)目標(biāo)與規(guī)格編寫而成。全書共15章,內(nèi)容主要包括:軟件危機(jī)與軟件工程;軟件開發(fā)模型;計(jì)算機(jī)系統(tǒng)工程,需求分析,總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼與測試,軟件維護(hù),面向?qū)ο蠹夹g(shù),快速原型技術(shù),重用技術(shù),人機(jī)界面設(shè)計(jì)。書中含有豐富的例題與習(xí)題,便于教學(xué)與自學(xué)。 本書強(qiáng)調(diào)內(nèi)容的實(shí)用性,以問題帶知識點(diǎn)的方式來闡述,內(nèi)容精練,重點(diǎn)突出,概念清楚,針對性和實(shí)際操作性強(qiáng)。第一章 軟件危機(jī)與軟件工程學(xué)習(xí)要點(diǎn):軟件工程是在20世紀(jì)60年代末期提出的。這一概念的提出,其目的是倡導(dǎo)以工程的原理、原則和方法進(jìn)行軟件開發(fā),以期解決當(dāng)時(shí)出現(xiàn)的“
2、軟件危機(jī)”。本章介紹軟件危機(jī)和軟件工程的基本概念。第1章 軟件工程 1.2 軟件工程退出 1.1 軟件危機(jī)1.1軟件危機(jī)1.1.1 軟件代價(jià)高1.1.2 軟件開發(fā)和維護(hù)中的嚴(yán)重問題退出1.1.1軟件代價(jià)高計(jì)算機(jī)系統(tǒng)硬件/軟件成本變化趨勢在開發(fā)一個(gè)新型計(jì)算機(jī)系統(tǒng)或修改一個(gè)現(xiàn)有系統(tǒng)的過程中,最大部分的資金是用在軟件系統(tǒng)開發(fā)方面。1.1.2 軟件開發(fā)和維護(hù)中的嚴(yán)重問題計(jì)算機(jī)系統(tǒng)發(fā)展的早期時(shí)代所形成的錯(cuò)誤概念與做法,已經(jīng)嚴(yán)重阻礙了計(jì)算機(jī)軟件的開發(fā),更嚴(yán)重的是:用錯(cuò)誤方法開發(fā)的軟件幾乎根本無法維護(hù),只好提前報(bào)廢。1、軟件危機(jī)2、有那些軟件開發(fā)的錯(cuò)誤方法和觀念3、 軟件產(chǎn)品的質(zhì)量量化分析不夠。1、 軟件開
3、發(fā)成本與進(jìn)度估計(jì)不準(zhǔn)確。2、 閉門造車。軟件開發(fā)人員倉促上陣,編寫程序。4、 軟件重用性差。5、 軟件沒有適當(dāng)?shù)奈臋n資料。6、 軟件成本逐年上升。本節(jié)小結(jié) 產(chǎn)生軟件危機(jī)原因-與軟件本身的特點(diǎn)有關(guān):1、軟件是邏輯部件:試制階段難衡量;開發(fā)質(zhì)量較難評價(jià),開發(fā)過程管理和控制較難;運(yùn)行過程才能暴露沒有檢測出來的事故,相當(dāng)于修改設(shè)計(jì),軟件維護(hù)困難;2、軟件規(guī)模龐大,有技術(shù)問題,也有管理方法問題。3、早期開發(fā)的個(gè)體化;忽視需求分析;認(rèn)為軟件開發(fā)寫程序;輕視維護(hù),對用戶不了解,4、對前期工作不能忽視,做好軟件定義時(shí)期的工作,這是降低成本,提高件質(zhì)量的關(guān)鍵。5、嚴(yán)重性:在軟件開發(fā)的不同階段修改付出代價(jià)(后期是
4、前期的2-3個(gè)數(shù)量級),軟件維護(hù)是極端艱巨復(fù)雜的工作,占55%70%)1. 2 軟件工程1.2.1 軟件工程的定義與基本原理1.2.2 軟件工程的目標(biāo)1.2.3 軟件工程框架及原則退出軟件工程學(xué)科是一門指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。軟件工程是一類求解軟件的工程。它應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,借鑒傳統(tǒng)工程的原則、方法,創(chuàng)建軟件以達(dá)到提高質(zhì)量,降低成本的目的。其中,計(jì)算機(jī)科學(xué)、數(shù)學(xué)用于構(gòu)造模型與算法,工程科學(xué)用于制定規(guī)范設(shè)計(jì)范型、評估成本及確定權(quán)衡,管理科學(xué)用于計(jì)劃、資源、質(zhì)量、成本等管理。軟件工程的方法、工具、過程構(gòu)成了軟件工程的三要素。1.2.1 軟件工程的定義與基本原理1、軟
5、件工程的七條基本原理(1)用分階段的生命周期計(jì)劃進(jìn)行嚴(yán)格管理(2)堅(jiān)持進(jìn)行階段評審(3)實(shí)行嚴(yán)格的產(chǎn)品控制(4)采用現(xiàn)代程序設(shè)計(jì)技術(shù)(5)結(jié)果應(yīng)能清楚地審查(6)開發(fā)小組的人員應(yīng)該少而精(7)承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性1.2.2 軟件工程的目標(biāo)軟件工程的目標(biāo)可概括為:在給定成本、進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性并滿足用戶需要的軟件產(chǎn)品。應(yīng)該特別指出;“可靠性”這個(gè)目標(biāo)在軟件工程中有著重要的意義。廣義上講,它涉及到產(chǎn)品設(shè)計(jì)的一系列問題,從而使產(chǎn)品能在相當(dāng)長的期間內(nèi)穩(wěn)定工作。狹義上講,可靠性是軟件成功運(yùn)行
6、的概率度量,可靠性分析和可靠性測試可作為衡量軟件質(zhì)量和其他開發(fā)過程的最重要的方法之一。1.2.3 軟件工程框架及原則原則:一、選取適宜的開發(fā)模型; 二、采用合適設(shè)計(jì)方法;三、提供高質(zhì)量工程支持; 四、重視開發(fā)過程管理。第2章 軟件生命周期及軟件開發(fā)模型學(xué)習(xí)要點(diǎn): 軟件生命周期表明軟件從功能確定、設(shè)計(jì),到開發(fā)成功投入使用,并在使用中不斷地修改、增補(bǔ)和完善,直至被新的需要所替代而停止該軟件的使用的全過程。軟件開發(fā)模型是從軟件項(xiàng)目需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個(gè)生存期的系統(tǒng)開發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。第2章 軟件生命周期及軟件開發(fā)模型2.1 軟件生命周期2.2
7、軟件開發(fā)模型退出 軟件生命周期:軟件定義、軟件設(shè)計(jì)、軟件使用與維護(hù)三階段,而又可以具體分成幾個(gè)子階段。(1) 可行性研究:確定待開發(fā)軟件系統(tǒng)的總目標(biāo),給出其功能、性能、可靠性、接口等要求。(1)可行性研究(2)需求分析和定義(3)總體設(shè)計(jì)(4)詳細(xì)設(shè)計(jì)(5)編碼(實(shí)現(xiàn))(6)軟件測試、運(yùn)行維護(hù)(1) 可行性研究:確定待開發(fā)軟件系統(tǒng)的總目標(biāo),給出其功能、性能、可靠性、接口等要求。2。2軟件模型 軟件開發(fā)模型是軟件開發(fā)全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。最早出現(xiàn)的軟件開發(fā)模型是1970年WRoyce提出的瀑布模型,而后隨著軟件工程學(xué)科的發(fā)展和軟件開發(fā)的實(shí)踐,相繼提出了原型模型、演化模型、增量模型、噴泉
8、模型等。1.原型模型、螺旋模型 關(guān)于 模型小結(jié)螺旋模型是由上面四個(gè)部分組成的迭代模型。螺旋模型的每一周期都包括需求定義、風(fēng)險(xiǎn)分析、工程實(shí)現(xiàn)和評審四個(gè)階段。開發(fā)過程每迭代一次,螺旋線就增加一周,軟件開發(fā)又前進(jìn)一個(gè)層次,系統(tǒng)又生成一個(gè)新版本,而軟件開發(fā)的時(shí)間和成本又有了新的投入。最后得到一個(gè)客戶滿意的軟件版本。 噴泉模型該模型表明軟件開發(fā)活動(dòng)之間沒有明顯的間隙,用于支持面向?qū)ο箝_發(fā)過程。由于對象概念的引入,使分析、設(shè)計(jì)、實(shí)現(xiàn)之間的表達(dá)沒有明顯間隙。并且,這一表達(dá)自然地支持復(fù)用。 小 結(jié)軟件生命周期實(shí)質(zhì)上是大型系統(tǒng)開發(fā)過程中各項(xiàng)目階段的一種表示方法,如同任何事物一樣,軟件也有一個(gè)孕育、誕生、成長、成
9、熟、衰亡的生存過程。根據(jù)這一思想,把上述基本的過程活動(dòng)進(jìn)一步展開,可以得到軟件生命期的6個(gè)步驟,即制定計(jì)劃、需求分析、設(shè)計(jì)、程序編碼、測試及運(yùn)行維護(hù)。軟件生命期模型是從軟件項(xiàng)目需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個(gè)生命周期的系統(tǒng)開發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。第3章 計(jì)算機(jī)系統(tǒng)工程 計(jì)算機(jī)軟件工程和硬件工程可以看作是一門更廣義的學(xué)科“計(jì)算機(jī)系統(tǒng)工程”內(nèi)的活動(dòng)。它們所要做的都是按一定的次序開發(fā)基于計(jì)算機(jī)的系統(tǒng)。計(jì)算機(jī)系統(tǒng)工程是指與構(gòu)造基于計(jì)算機(jī)系統(tǒng)有關(guān)的過程、方法和技術(shù)。它是一種問題求解活動(dòng)。計(jì)算機(jī)系統(tǒng)工程的任務(wù)是:組織并指導(dǎo)系統(tǒng)工程師定義全系統(tǒng)各層次中的所有基于計(jì)算
10、機(jī)系統(tǒng)的要素。第3章 計(jì)算機(jī)系統(tǒng)工程 20世紀(jì)60年代開始發(fā)展起來的計(jì)算機(jī)系統(tǒng)工程,是計(jì)算機(jī)硬件、軟件、數(shù)據(jù)通信裝置、數(shù)據(jù)存儲設(shè)備、規(guī)章制度和有關(guān)人員的統(tǒng)一體。軟件工程在各個(gè)領(lǐng)域有著廣泛的應(yīng)用,如計(jì)算機(jī)輔助設(shè)計(jì)(CAD)系統(tǒng)、計(jì)算機(jī)輔助制造(CAM)系統(tǒng)、計(jì)算機(jī)輔助教學(xué)系統(tǒng)、計(jì)算機(jī)輔助醫(yī)療系統(tǒng)、軍用的計(jì)算機(jī)指揮系統(tǒng)、通信軟件工程、公用或?qū)S玫默F(xiàn)代通信系統(tǒng)和信息服務(wù)系統(tǒng)都各具特色,管理軟件是一類最具代表性的軟件工程。 第3章 計(jì)算機(jī)系統(tǒng)工程3.1 基于計(jì)算機(jī)的系統(tǒng)3.2 可行性研究 3.3 系統(tǒng)開發(fā)過程的新體系結(jié)構(gòu)快速原型與面向?qū)ο?3.4 本章小結(jié) 3.1 基于計(jì)算機(jī)的系統(tǒng)基于計(jì)算機(jī)的系統(tǒng)是“
11、某些要素的一個(gè)集合,這些要素被組織起來以實(shí)現(xiàn)某種方法、過程或借助處理信息進(jìn)行控制。”圖3.1給出了基于計(jì)算機(jī)系統(tǒng)的系統(tǒng)要素及相互之間關(guān)系。圖3.1 基于計(jì)算機(jī)系統(tǒng)的系統(tǒng)要素及相互之間關(guān)系 3.1.1 計(jì)算機(jī)系統(tǒng)工程 計(jì)算機(jī)系統(tǒng)工程是一個(gè)問題求解活動(dòng),目的是揭示、分析所期望的功能,并把它們分配到各個(gè)單獨(dú)的系統(tǒng)要素中去。計(jì)算機(jī)系統(tǒng)開發(fā)設(shè)計(jì)周期見圖3.2。圖3.2 系統(tǒng)開發(fā)設(shè)計(jì)周期在系統(tǒng)的功能規(guī)范確立之后,下一步要對系統(tǒng)的功能進(jìn)行認(rèn)真、仔細(xì)的分析,問題的焦點(diǎn)集中于功能、性能、信息流和容量上。一個(gè)計(jì)算機(jī)系統(tǒng)方案應(yīng)包括以下幾個(gè)方面的內(nèi)容: (1)任務(wù)的來源,技術(shù)要求,質(zhì)量指標(biāo)和經(jīng)費(fèi) . (2)采取的技術(shù)
12、途徑。 (3)方案的規(guī)模,子系統(tǒng)的劃分。 (4)系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)。 (5)預(yù)計(jì)系統(tǒng)的各項(xiàng)指標(biāo)。 (6)所需的設(shè)備、儀器、關(guān)鍵元器件、工藝工具 等 的購置情況及保證條件。 (7)研制周期、異常情況的處理等等。用戶中心設(shè)計(jì)UCD方法在某種程度上代表了當(dāng)今的計(jì)算機(jī)系統(tǒng)技術(shù)發(fā)展水平,使用該方法能設(shè)計(jì)極具競爭力的產(chǎn)品,UCD方法適合一切項(xiàng)目?,F(xiàn)將傳統(tǒng)設(shè)計(jì)方法與用戶中心設(shè)計(jì)UCD方法加以比較。 傳統(tǒng)的設(shè)計(jì)方法技術(shù)驅(qū)動(dòng)以組件為中心有限的多學(xué)科協(xié)作注重產(chǎn)品的內(nèi)部體系結(jié)構(gòu)沒有專門考慮用戶體驗(yàn)競爭意識不強(qiáng)開發(fā)先于用戶評價(jià)產(chǎn)品缺陷質(zhì)量觀不重視用戶測量只考慮現(xiàn)有用戶 UCD方法用戶驅(qū)動(dòng)以解決方案為中心多學(xué)科小組成員協(xié)
13、同工作注重產(chǎn)品的外部設(shè)計(jì)專門考慮用戶體驗(yàn)以競爭為目標(biāo)由用戶評價(jià)設(shè)計(jì)方案后才開發(fā)用戶質(zhì)量觀很重視用戶測量考慮當(dāng)前和將來所有用戶圖3.3 UCD方法和傳統(tǒng)設(shè)計(jì)方法的比較 3.1.2 硬件和硬件工程 基于計(jì)算機(jī)的系統(tǒng)離不開計(jì)算機(jī)硬件的支撐。計(jì)算機(jī)系統(tǒng)工程師根據(jù)系統(tǒng)需求為硬件系統(tǒng)指派任務(wù),產(chǎn)生硬件需求。 21世紀(jì)以來,信息可以很方便地通過計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)共享。作為網(wǎng)絡(luò)文件服務(wù)器的計(jì)算機(jī),可以給分布在網(wǎng)絡(luò)上不同站點(diǎn)的客戶提供共享的公用程序和數(shù)據(jù),這就是客戶服務(wù)器計(jì)算模式。計(jì)算機(jī)的硬件工程是在幾十年電子設(shè)計(jì)經(jīng)驗(yàn)的基礎(chǔ)上發(fā)展起來的,一般將硬件工程分為三個(gè)階段。硬件工程階段需解決的問題成果(一)硬件研制計(jì)劃需求
14、分析根據(jù)功能可選擇、采購的硬件?哪幾種硬件接口?必須制造的硬件?潛在的問題及資源?確定項(xiàng)目成本估計(jì)、工程進(jìn)度估計(jì)、硬件規(guī)格說明(二)硬件設(shè)計(jì)硬件實(shí)現(xiàn)確定硬件元素中的所有元件精確的功能、性能和接口需求。設(shè)計(jì)約束條件(如尺寸,環(huán)境)及測試準(zhǔn)則;必要時(shí)建造原型并對原型進(jìn)行測試;畫出生產(chǎn)圖、硬件規(guī)格說明書、對規(guī)格說明書評審和修改(三)生產(chǎn)、銷售售后服務(wù)質(zhì)量如何得到保證?產(chǎn)品的維護(hù)和修理如何實(shí)現(xiàn)?建立質(zhì)量保證方法、建立產(chǎn)品銷售機(jī)構(gòu)、儲備備件,售后服務(wù)表3.1 硬件工程三個(gè)階段 3.1.3 軟件和軟件工程 從系統(tǒng)工程的角度來看,軟件與硬件、軟件工程與硬件工程分別是基于計(jì)算機(jī)系統(tǒng)和基于計(jì)算機(jī)的系統(tǒng)工程的重要
15、組成部分。系統(tǒng)工程的論證階段應(yīng)該確定系統(tǒng)的軟硬件功能和性能。系統(tǒng)對軟件提出的功能和性能要求將成為軟件需求分析的基礎(chǔ)?;谟?jì)算機(jī)系統(tǒng)的軟件要素由程序、數(shù)據(jù)和文檔組成。它們分為兩類應(yīng)用軟件與系統(tǒng)軟件:應(yīng)用軟件實(shí)現(xiàn)信息處理,系統(tǒng)軟件完成使應(yīng)用軟件能與其他系統(tǒng)要素交互的控制功能。 一個(gè)基于計(jì)算機(jī)的系統(tǒng)可以用輸入處理輸出(IPO)模型來表示。軟件要素在這個(gè)模型的各個(gè)方面都起著一定的作用。 (1)軟件從系統(tǒng)的外部實(shí)體或其他系統(tǒng)要素(包括宏要素)接收輸入信息。 (2)軟件還用于建立數(shù)據(jù)庫的接口,使程序能夠存取預(yù)先存儲的數(shù)據(jù)。(3)軟件實(shí)現(xiàn)系統(tǒng)功能所需要的計(jì)算方法。(4)在實(shí)際使用中,軟件必須產(chǎn)生輸出,把數(shù)據(jù)
16、轉(zhuǎn)換成某種能適合于輸出介質(zhì)的格式,或適合于輸出設(shè)備接口的格式。軟件工程三個(gè)階段軟件工程階段必須完成的步驟階段成果(一)軟件定義制定軟件項(xiàng)目規(guī)劃;需求分析和定義;確定軟件性能和資源約束;軟件要素定義驗(yàn)收標(biāo)準(zhǔn)成本、工程進(jìn)度估計(jì);通過軟件原型化信息域分析獲得軟件規(guī)格說明;對軟件規(guī)格說明技術(shù)評審(二)軟件開發(fā)、實(shí)現(xiàn)軟件總體結(jié)構(gòu)設(shè)計(jì)軟件模塊結(jié)構(gòu);數(shù)據(jù)設(shè)計(jì)、過程設(shè)計(jì)接口及信息結(jié)構(gòu);編碼生成源程序代碼確定一些有效性準(zhǔn)則;對規(guī)格說明書評審修改;根據(jù)準(zhǔn)則判斷軟件質(zhì)量(三)檢驗(yàn)、發(fā)行、維護(hù)測試軟件,找出錯(cuò)誤:進(jìn)行單元測試調(diào)試,組裝測試調(diào)試;開發(fā)用戶文檔;把軟件發(fā)行給終端用戶對測試文檔、測試用例和測試結(jié)果進(jìn)行評審;
17、建立配置管理機(jī)制;整個(gè)使用壽命中維護(hù)軟件;3.1.4 人機(jī)工程 人機(jī)工程是應(yīng)用從心理學(xué)和方法論導(dǎo)出的知識來確定和設(shè)計(jì)高質(zhì)量HCI(人機(jī)界面)的多學(xué)科活動(dòng)。人機(jī)工程過程包括以下步驟:(1)活動(dòng)分析。 (2)語義分析和設(shè)計(jì): (3)語法和詞法設(shè)計(jì): (4)用戶環(huán)境設(shè)計(jì): (5)原型: 人機(jī)工程的關(guān)鍵要素是設(shè)計(jì)一個(gè)整體解決方案,它應(yīng)該對用戶而言: 易于購買、易于安裝 、易于學(xué)習(xí)、易于使用、直觀、吸引人、 有用3.1.5 數(shù)據(jù)庫和數(shù)據(jù)庫工程 數(shù)據(jù)庫系統(tǒng)是基于計(jì)算機(jī)系統(tǒng)的重要組成部分,它將有關(guān)的硬件、軟件、數(shù)據(jù)和數(shù)據(jù)庫管理人員組合起來,為用戶提供信息服務(wù)。開發(fā)、運(yùn)行和管理一個(gè)數(shù)據(jù)庫系統(tǒng)是一項(xiàng)復(fù)雜的數(shù)據(jù)庫
18、工程,人們也常稱之為數(shù)據(jù)庫工程。 階段任務(wù)結(jié)果(一)需求分析、可行性研究調(diào)查用戶信息需求、處理要求進(jìn)行可行性論證;提出成本預(yù)算和工作計(jì)劃(二)選擇硬件和軟件應(yīng)確定數(shù)據(jù)管理系統(tǒng);支持?jǐn)?shù)據(jù)庫查詢、維護(hù)和分析確定運(yùn)行的操作系統(tǒng)、網(wǎng)絡(luò)環(huán)境(三)數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)根據(jù)需求分析和數(shù)據(jù)分析;概念設(shè)計(jì);邏輯設(shè)計(jì);物理設(shè)計(jì);評審、測試;產(chǎn)生需求說明和數(shù)據(jù)說明;產(chǎn)生數(shù)據(jù)庫概念模型;產(chǎn)生邏輯模型;產(chǎn)生數(shù)據(jù)軟件工程的原則;生成各種文檔(四)運(yùn)行和管理及時(shí)補(bǔ)充、修改和更新數(shù)據(jù)庫;數(shù)據(jù)的收集、整理、分類;儲存數(shù)據(jù)庫的管理和維護(hù)對數(shù)量大、類型多、關(guān)系復(fù)雜的數(shù)據(jù)存儲應(yīng)有利于數(shù)據(jù)的查詢、修改并盡量減少數(shù)據(jù)的冗余;為用戶提供培訓(xùn)及
19、有關(guān)資料表3.4 數(shù)據(jù)庫工程的階段 不同的數(shù)據(jù)存儲管理模式有不同的特點(diǎn),適用范圍也不相同。 3.2 可行性研究 可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。 在討論一個(gè)項(xiàng)目是否可行,需要從市場可行性、技術(shù)可行性、經(jīng)濟(jì)可行性、法律可行性分析幾個(gè)方面著手進(jìn)行考慮。3.2.1 可行性研究的任務(wù) 圖3.4表明了可行性研究的步驟 3.2.2 市場可行性 要求在項(xiàng)目啟動(dòng)時(shí)定位目標(biāo)市場,清楚在這個(gè)市場中的所有用戶及他們的特點(diǎn),并且清楚大部分目標(biāo)用戶當(dāng)前所采用的解決方案,從而掌握產(chǎn)品競爭形勢。必須在項(xiàng)目一開始就得到這些信息。如果沒有這些信息或信息不全,那么接下來的設(shè)計(jì)活動(dòng)是否有效就
20、值得懷疑了。3.2.3 經(jīng)濟(jì)可行性 基于計(jì)算機(jī)系統(tǒng)的成本效益分析是可行性研究的重要內(nèi)容,它用于評估基于計(jì)算機(jī)系統(tǒng)的經(jīng)濟(jì)合理性,給出系統(tǒng)開發(fā)的成本論證,并將估算的成本與預(yù)期的利潤進(jìn)行對比。計(jì)算機(jī)系統(tǒng)的成本由四個(gè)部分組成: 購置并安裝軟硬件及有關(guān)設(shè)備的費(fèi)用; 系統(tǒng)開發(fā)費(fèi)用; 系統(tǒng)安裝、運(yùn)行和維護(hù)費(fèi)用; 人員培訓(xùn)費(fèi)用。在系統(tǒng)分析和設(shè)計(jì)階段只能得到上述費(fèi)用的預(yù)算,即估算成本。在系統(tǒng)開發(fā)完畢并交付用戶運(yùn)行后,上述費(fèi)用的統(tǒng)計(jì)結(jié)果就是實(shí)際成本。 系統(tǒng)效益包括經(jīng)濟(jì)效益和社會效益兩部分。經(jīng)濟(jì)效益指應(yīng)用系統(tǒng)為用戶增加的收入,可以通過直接的或統(tǒng)計(jì)的方法估算。社會效益只能用定性的方法估算。1成本估計(jì) (1)代碼行技術(shù)
21、 (2)任務(wù)分解技術(shù) 2成本效益分析 成本效益分析的第一步是估計(jì)開發(fā)成本、運(yùn)行費(fèi)用和新系統(tǒng)將帶來的經(jīng)濟(jì)效益。3貨幣的時(shí)間價(jià)值通常用利率的形式表示貨幣的時(shí)間價(jià)值。假設(shè)年利率為i,如果現(xiàn)在存入P元,則n年后可以得到的錢數(shù)為:F=P(1i)n這也就是P元錢在n年后的價(jià)值。反之,如果n年后能收入F元錢,那么這些錢的現(xiàn)在價(jià)值是:P=F/(li)n 假定年利率為12,利用上面計(jì)算貨幣現(xiàn)在價(jià)值的公式可以算出修改庫存清單系統(tǒng)后每年預(yù)計(jì)節(jié)省的錢的現(xiàn)在價(jià)值,如表所示。年將來值(元)(li)n現(xiàn)在值(元)累計(jì)的現(xiàn)在值(元)125001.122232.142232.14225001.251992.984225.123
22、25001.401779.456004.57425001.571588.807593.37525001.761418.579011.944投資回收期 所謂投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初投資所需要的時(shí)間。投資回收期越短就越能獲得利潤。例如,修改庫存清單系統(tǒng):兩年以后可以節(jié)省4225.12元,比最初的投資(5000元)還少774.88元; 三年以后將再節(jié)省1779.45元,774.881779.45=0.44,因此,投資回收期是2.44年。 5純收入 衡量工程價(jià)值的另一項(xiàng)經(jīng)濟(jì)指標(biāo)是工程的純收入,也就是在整個(gè)生命周期之內(nèi)系統(tǒng)的累計(jì)經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。 3.2.4 技術(shù)可行性
23、技術(shù)可行性的評估必須在軟件系統(tǒng)分析和定義過程中進(jìn)行,當(dāng)技術(shù)可行性確定后,就可以完成在規(guī)格說明書。一般地,技術(shù)可行性要考慮的情況包括: 開發(fā)風(fēng)險(xiǎn):在分析時(shí)給出的各種約束條件下,系統(tǒng)能否被設(shè)計(jì)出來,并實(shí)現(xiàn)必需的功能和性能?資源有效性:可用于開發(fā)系統(tǒng)元素的人員是否存在問題?是否具備用于建立系統(tǒng)的其他資源(硬件、軟件)?技術(shù):相關(guān)技術(shù)的發(fā)展是否能支持這個(gè)系統(tǒng)?3.2.5 方案選擇 系統(tǒng)分析任務(wù)完成后,系統(tǒng)工程師開始研究問題求解方案。通常系統(tǒng)工程師將一個(gè)大的復(fù)雜系統(tǒng)分解為若干個(gè)子系統(tǒng);精確地定義子系統(tǒng)的界面、功能和性能;給出各子系統(tǒng)之間的關(guān)系。這樣可以降低解決方案的復(fù)雜性,有利于人員的組織和分工,提高系
24、統(tǒng)開發(fā)效率和工作質(zhì)量??尚行匝芯康慕Y(jié)果可作為系統(tǒng)規(guī)格說明書的一個(gè)附件。 項(xiàng)目背景:問題描述;實(shí)現(xiàn)環(huán)境;限制條件;管理概要與注意事項(xiàng):重要的研究結(jié)果;說明;注意事項(xiàng);影響;候選方案:候選系統(tǒng)的配置;選擇最終方案的準(zhǔn)則;系統(tǒng)描述:簡略的范圍描述;分配元素的可行性;市場可行性 :項(xiàng)目是否有潛在市場,以及市場的變化對項(xiàng)目影響經(jīng)濟(jì)可行性(成本效益分析):經(jīng)費(fèi)概算;預(yù)期的經(jīng)濟(jì)效益;技術(shù)可行性(技術(shù)風(fēng)險(xiǎn)評價(jià)):技術(shù)實(shí)力;已有工作基礎(chǔ);設(shè)備條件;法律可行性:系統(tǒng)開發(fā)可能導(dǎo)致的侵權(quán)、違法和責(zé)任;用戶使用可行性:用戶單位的行政管理、工作制度;使用人員的素質(zhì);其他與項(xiàng)目有關(guān)的問題:其他方案介紹;未來可能的變化。表3
25、.7 可行性研究報(bào)告目錄 3.3 系統(tǒng)開發(fā)過程的新體系結(jié)構(gòu)快速原型與面向?qū)ο?1存在的問題 (1)有些類型的系統(tǒng)需求是模糊的 (2)項(xiàng)目參與者之間存在通信鴻溝 (3)預(yù)先定義的需求可能是過時(shí)的 2解決問題的途徑 為克服傳統(tǒng)方法的缺點(diǎn),人們在實(shí)踐中逐漸創(chuàng)造出快速原型法和面向?qū)ο蠓椒ǖ溶浖こ痰男峦緩健?面向?qū)ο蟮慕y(tǒng)一軟件開發(fā)方法迭代開發(fā)模式3.4 本章小結(jié)計(jì)算機(jī)系統(tǒng)工程是指與構(gòu)造基于計(jì)算機(jī)系統(tǒng)有關(guān)的過程、方法和技術(shù)。它是一種問題求解活動(dòng)。計(jì)算機(jī)系統(tǒng)工程的任務(wù)是:組織并指導(dǎo)系統(tǒng)工程師定義全系統(tǒng)各層次中的所有基于計(jì)算機(jī)系統(tǒng)的要素(硬件、軟件、人、數(shù)據(jù)庫、文檔、過程)。本章首先闡述了計(jì)算機(jī)系統(tǒng)工程的總
26、體設(shè)計(jì)方案的內(nèi)容及要點(diǎn):硬件工程、軟件工程、人機(jī)工程和數(shù)據(jù)庫工程。然后進(jìn)一步闡述了計(jì)算機(jī)系統(tǒng)工程可行性研究的目的:應(yīng)確定問題是否值得去解;任務(wù)是從市場、經(jīng)濟(jì)、技術(shù)、法律、開發(fā)方案的選擇性四方面研究計(jì)算機(jī)系統(tǒng)工程可能性;強(qiáng)調(diào)了技術(shù)可行性研究應(yīng)給以高度重視,這一階段決策的失誤將會給開發(fā)工作帶來災(zāi)難性的影響。介紹了系統(tǒng)結(jié)構(gòu)模板的概念與使用要點(diǎn)。第4章 需求分析軟件需求分析就是把軟件計(jì)劃期間建立的軟件可行性分析求精和細(xì)化,分析各種可能的解法,并且分配給各個(gè)軟件元素。需求分析是軟件定義階段中的最后一步,是確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。在本章首先我們介紹需求分
27、析的基礎(chǔ),然后介紹結(jié)構(gòu)化需求分析方法,最后介紹其它分析方法與圖形工具分析方法。第4章 需求分析4.1 需求分析基礎(chǔ) 4.4 實(shí)體關(guān)系圖 4.6 本章小結(jié) 4.5 需求規(guī)格說明與評審 4.3 其它分析方法與圖形工具 4.2 結(jié)構(gòu)化分析方法 4.1 需求分析基礎(chǔ) 4.1.1 分析的任務(wù)與原則 4.1.2 初步需求獲取技術(shù) 4.1.3 需求建模 4.1.4 開發(fā)原型系統(tǒng) 4.1.1 分析的任務(wù)與原則 軟件需求分析的任務(wù)是:深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的約束和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求,借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題。需
28、求分析任務(wù)與其實(shí)現(xiàn)步驟如圖4.1所示。需求分析可分為需求提出、需求分析描述及需求評審三個(gè)階段。圖4.1 需求提出和分析的結(jié)果需求提出需求提出主要集中于描述系統(tǒng)目的。需求提出和分析僅僅集中在使用者對系統(tǒng)的觀點(diǎn)上。用戶、開發(fā)人員和用戶確定一個(gè)問題領(lǐng)域,并定義一個(gè)描述該問題的系統(tǒng)。這樣的定義稱作系統(tǒng)規(guī)格說明,并且它在用戶和開發(fā)人員之間充當(dāng)合同。 需求分析描述 在問題分析階段分析人員的主要任務(wù)是:對用戶的需求進(jìn)行鑒別、綜合和建模,清除用戶需求的模糊性、歧義性和不一致性,分析系統(tǒng)的數(shù)據(jù)要求,為原始問題及目標(biāo)軟件建立邏輯模型。分析人員的主要做法是:要將對原始問題的理解與軟件開發(fā)經(jīng)驗(yàn)結(jié)合起來,以便發(fā)現(xiàn)哪些要
29、求是由于用戶的片面性或短期行為所導(dǎo)致的不合理要求,哪些是用戶尚未提出但具有真正價(jià)值的潛在需求。 需求評審 在需求評審階段,分析人員要在用戶和軟件設(shè)計(jì)人員的配合下對自己生成的需求規(guī)格說明和初步的用戶手冊進(jìn)行復(fù)核,以確保軟件需求的完整、準(zhǔn)確、清晰、具體,并使用戶和軟件設(shè)計(jì)人員對需求規(guī)格說明和初步的用戶手冊的理解達(dá)成一致。一旦發(fā)現(xiàn)遺漏或模糊點(diǎn),必須盡快更正,再行檢查。 4.1.2 初步需求獲取技術(shù) 為了完成軟件需求任務(wù),分析人員必須掌握一些基本技術(shù),主要有:初步需求獲取技術(shù)、需求建模、以及用于需求分析的快速原型技術(shù);一些公共的技術(shù)包括:采訪、觀察、先前的系統(tǒng)版本的測試和系統(tǒng)分析。作為一個(gè)好的需求獲取
30、技術(shù)的顯著特征是:方便通信(可以通過易于理解的語言)。提供定義系統(tǒng)模塊的方法。鼓勵(lì)分析員用問題空間的術(shù)語而不是軟件術(shù)語去思考問題和編制文檔。允許并提醒分析員有多種可供選擇的設(shè)計(jì)方案。適應(yīng)需求的變化。4.1.3 需求建模 由于用戶群體的各個(gè)用戶往往會從不同的角度、不同的抽象級別上闡述他們對原始問題的理解和對目標(biāo)軟件的需求,因此,有必要為原始問題及目標(biāo)軟件解建立模型。這種模型一方面用于精確地記錄用戶從各個(gè)視點(diǎn)、不同抽象級別上對原始問題及目標(biāo)軟件的描述;另一方面,它也將幫助分析人員去偽存真、由此及彼、由表及里挖掘用戶需求。建模的步驟是: (1)獲得當(dāng)前系統(tǒng)的物理模型 (2)抽象出當(dāng)前系統(tǒng)的邏輯模型。
31、 (3)建立目標(biāo)系統(tǒng)的邏輯模型。 圖4.2 軟件需求建模的任務(wù) 4.1.4 開發(fā)原型系統(tǒng) 快速原型方法核心思想是:在軟件開發(fā)的早期快速建立目標(biāo)軟件的原型,讓用戶對原型進(jìn)行評估并提出修改意見,當(dāng)原型幾經(jīng)改進(jìn)最終確定后,它將由軟件設(shè)計(jì)和編碼階段進(jìn)化成軟件產(chǎn)品;或者設(shè)計(jì)和編碼人員遵循原型所確立的外部特征實(shí)現(xiàn)軟件產(chǎn)品。把建立原型系統(tǒng)作為一種可能采取的策略的主要理由如下:(1)由于用戶與軟件設(shè)計(jì)人員認(rèn)識上的局限,不能預(yù)先指定所有要求,因此在開發(fā)過程中重復(fù)和反復(fù)是必要的和不可避免的;(2)在用戶和系統(tǒng)分析員之間存在固有的通信鴻溝,用戶需要一個(gè)“活的”系統(tǒng)模型,以便獲得實(shí)踐經(jīng)驗(yàn),以便溝通;(3)目前有快速建
32、立原型系統(tǒng)的工具可供選用。4.2 結(jié)構(gòu)化分析方法此方法基于模塊化的思想,采用“自頂向下,逐步求精”的技術(shù)對系統(tǒng)進(jìn)行劃分。結(jié)構(gòu)化方法是結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化編程的總稱。結(jié)構(gòu)化方法由于具有簡單易懂、使用方便的特點(diǎn),且出現(xiàn)較早,所以獲得了廣泛的應(yīng)用。4.2 結(jié)構(gòu)化分析方法4.2.1 結(jié)構(gòu)化分析的策略 4.2.2 數(shù)據(jù)流圖 4.2.3 數(shù)據(jù)字典 4.2.4 小說明 4.2.5 結(jié)構(gòu)化分析實(shí)施步驟 4.2.1 結(jié)構(gòu)化分析的策略 一旦基于計(jì)算機(jī)系統(tǒng)的功能被分配到各個(gè)系統(tǒng)元素,系統(tǒng)分析員就能夠據(jù)此建立起一個(gè)模型,用以表達(dá)系統(tǒng)元素之間的相互關(guān)系,并為今后的需求分析和設(shè)計(jì)奠定基礎(chǔ)。為了開發(fā)系統(tǒng)模型,使用
33、一個(gè)“結(jié)構(gòu)模板”。 圖4.3 結(jié)構(gòu)模板的格式 下圖給出傳送帶在線貨物分類系統(tǒng)的總體結(jié)構(gòu)關(guān)系圖 4.2.2 數(shù)據(jù)流圖 數(shù)據(jù)流圖描繪系統(tǒng)的邏輯模型,圖中沒有任何具體的物理元素,只是描繪信息在系統(tǒng)中流動(dòng)和處理的情況。數(shù)據(jù)流圖的特點(diǎn)是:它是邏輯系統(tǒng)的圖形表示,容易理解,是極好的通信工具,設(shè)計(jì)數(shù)據(jù)流圖只需考慮系統(tǒng)必須完成的基本邏輯功能,不需要考慮如何實(shí)現(xiàn)這些功能,是軟件設(shè)計(jì)很好的出發(fā)點(diǎn)。1符號數(shù)據(jù)源點(diǎn)或終點(diǎn):正方形(或立方體)。變換數(shù)據(jù)處理:圓角矩形(或圓形)。數(shù)據(jù)存儲:開口矩形(或兩條平行橫線)。數(shù)據(jù)流:箭頭表示,即信息與數(shù)據(jù)的流動(dòng)方向。 數(shù)據(jù)流圖有四種基本符號。2例子 假設(shè)一家工廠的采購部每天需要一
34、張定貨報(bào)表,報(bào)表按零件編號排序,表中列出所有需要再次定貨的零件。對于每個(gè)再次定貨的零件應(yīng)該列出下述數(shù)據(jù): 零件編號,零件名稱,定貨數(shù)量,目前價(jià)格,主要供應(yīng)者,次要供應(yīng)者。零件入庫或出庫被稱為事務(wù),通過放在倉庫中的CRT終端把事務(wù)報(bào)告給定貨系統(tǒng)。當(dāng)某種零件的庫存數(shù)量少于庫存量臨界值時(shí)就應(yīng)該再次定貨。定貨系統(tǒng)的數(shù)據(jù)流圖的成份 源點(diǎn)/終點(diǎn)處理采購員倉庫管理員產(chǎn)生報(bào)表處理事務(wù)數(shù)據(jù)流數(shù)據(jù)存儲定貨報(bào)表零件編號零件名稱定貨數(shù)量目前價(jià)格主要供應(yīng)者次要供應(yīng)者定貨信息(定貨報(bào)表)庫存清單*零件編號*庫存量庫存量臨界值事務(wù)零件編號*事務(wù)類型數(shù)量*定貨系統(tǒng)基本系統(tǒng)模型把處理事務(wù)功能進(jìn)一步分解后的數(shù)據(jù)流圖 3命名 數(shù)據(jù)
35、流圖中每個(gè)成份的命名是否恰當(dāng),直接影響數(shù)據(jù)流圖的可理解性。 為數(shù)據(jù)流命名:(1)名字應(yīng)代表整個(gè)數(shù)據(jù)流(或數(shù)據(jù)存儲)的內(nèi)容,而不是僅僅反映它的某些成份。(2)不要使用空洞的、缺乏具體含義的名字(如“數(shù)據(jù)”、“信息”、“輸入”之類)。(3)如果在為某個(gè)數(shù)據(jù)流(或數(shù)據(jù)存儲)起名字時(shí)遇到了困難,則很可能是因?yàn)閷?shù)據(jù)流圖分解不恰當(dāng)造成的,應(yīng)該試試重新分解,看是否能克服這個(gè)困難。為處理命名: (1)通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名 (2)名字應(yīng)該反映整個(gè)處理的功能,而不是它的一部分功能。 (3)名字最好由一個(gè)具體的及物動(dòng)詞,加上一個(gè)具體的賓語組成。 (4)通常名字中僅包括一個(gè)動(dòng)詞,如果必須
36、用兩個(gè)動(dòng)詞才能描述整個(gè)處理的功能,則把它再分解成兩個(gè)處理可能更恰當(dāng)些。(5)如果在為某個(gè)處理命名時(shí)遇到困難,則很可能是發(fā)現(xiàn)了分解不當(dāng)?shù)嫩E象,應(yīng)考慮重新分解。4用途 畫數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具。 數(shù)據(jù)流圖的另一個(gè)主要用途是作為分析和設(shè)計(jì)的工具。 4.2.3 數(shù)據(jù)字典 1數(shù)據(jù)字典的內(nèi)容 (1)數(shù)據(jù)流 (2)數(shù)據(jù)流分量(即數(shù)據(jù)元素) (3)數(shù)據(jù)存儲 (4)處理 2定義數(shù)據(jù)的方法 由數(shù)據(jù)元素組成數(shù)據(jù)的方式有下述幾種基本類型:(1)順序:即以確定次序連接兩個(gè)或多個(gè)分量。(2)選擇:即從兩個(gè)或多個(gè)可能的元素中選取一個(gè)。(3)重復(fù):即把指定的分量重復(fù)零次或多次。3實(shí)例 (1)數(shù)據(jù)流條目一
37、個(gè)完整的數(shù)據(jù)流條目應(yīng)該包括以下內(nèi)容:名稱描述頻率和數(shù)據(jù)量數(shù)據(jù)結(jié)構(gòu)例如,“圖書管理系統(tǒng)”中的“入庫單”是一個(gè)數(shù)據(jù)流,對它的說明如下:入庫單=分類目錄號+數(shù)量+書名+作者+內(nèi)容摘要+價(jià)格+購書日期(2)數(shù)據(jù)存儲條目名稱描述數(shù)據(jù)存儲方式關(guān)鍵碼頻率和數(shù)據(jù)量安全性要求數(shù)據(jù)結(jié)構(gòu)例如,同樣圖書管理系統(tǒng)中的“目錄文件”是個(gè)數(shù)據(jù)存儲,對它的說明如下:文件名:目錄文件 組成:分類目錄號+書名+作者+內(nèi)容摘要+價(jià)格+入庫日期+總數(shù)+庫存數(shù)+圖書流水號4.2.4 小說明 小說明是用來描述加工的。集中描述一個(gè)加工“做什么”,即加工邏輯,也包括其他一些和加工有關(guān)的信息,如執(zhí)行條件、優(yōu)先級、執(zhí)行頻率、出錯(cuò)處理等。 目前小說
38、明一般用自然語言、結(jié)構(gòu)化自然語言、判定表和判定樹等來描述。在描繪復(fù)雜的關(guān)系時(shí),圖形比文字?jǐn)⑹鰞?yōu)越得多,它形象直觀,一目了然。4.2.5 結(jié)構(gòu)化分析實(shí)施步驟 第一步,確定系統(tǒng)邊界,畫出系統(tǒng)環(huán)境圖。 第二步,自頂向下,畫出各層數(shù)據(jù)流圖。分層數(shù)據(jù)流圖和圖中的加工進(jìn)行編號規(guī)則 (1)頂層圖不參與數(shù)據(jù)流圖編號,頂層圖中的惟一加工也不編號。(2)從0層圖開始的所有子圖和加工均需編號,子圖的編號為分解的父圖中相應(yīng)加工編號。(3)加工的編號由相應(yīng)的子圖號、小數(shù)點(diǎn)、加工在子圖中的順序號組成。第三步,定義數(shù)據(jù)字典。 第四步,定義小說明。 第五步,匯總前面各步驟的結(jié)果。 注意事項(xiàng):(1)模型平衡規(guī)則 數(shù)據(jù)流圖中所有
39、的圖形元素必須根據(jù)它們的用法規(guī)則正確使用。 數(shù)據(jù)字典中的定義使用合法的邏輯構(gòu)造符號。 數(shù)據(jù)流圖中最底層的加工必須在小說明中有定義。父圖和子圖必須平衡。 小說明和數(shù)據(jù)流圖的圖形表示必須一致。 (2)控制復(fù)雜性的一些規(guī)則 上層數(shù)據(jù)流可以打包(打包的數(shù)據(jù)流作特殊標(biāo)記),上、下層數(shù)據(jù)流的對應(yīng)關(guān)系用數(shù)據(jù)字典描述(編號對應(yīng)),同層的數(shù)據(jù)流也可編號對應(yīng),避免形成復(fù)雜的連線;只有一點(diǎn)限制,數(shù)據(jù)流的性質(zhì)(輸入、輸出)必須一致。 4.3 其它分析方法與圖形工具 1結(jié)構(gòu)化自然語言結(jié)構(gòu)化自然語言的語法通常分為內(nèi)外兩層,外層語法描述操作的控制結(jié)構(gòu),如順序、選擇、循環(huán)等,這些控制結(jié)構(gòu)將加工中的各個(gè)操作連接起來。內(nèi)層語法一
40、般沒有什么限制,就用自然語言描述。 2層次方框圖 層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹形結(jié)構(gòu)的頂層是一個(gè)單獨(dú)的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個(gè)數(shù)據(jù)的子集,最底層的各個(gè)框代表組成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)元素(不能再分割的元素)。 例如,描繪一家計(jì)算機(jī)公司全部產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)可以用圖中的層次方框圖表示。這家公司的產(chǎn)品由硬件、軟件和服務(wù)三類產(chǎn)品組成,軟件產(chǎn)品又分為系統(tǒng)軟件和應(yīng)用軟件,系統(tǒng)軟件又進(jìn)一步分為操作系統(tǒng)、編譯程序和軟件工具。3Warnier圖 用Warnier圖可以表明信息的邏輯組織 軟件產(chǎn)品系統(tǒng)軟件應(yīng)用軟件操作系統(tǒng)(P1)編譯程序(P2)軟件工具編
41、譯程序(P3)測試驅(qū)動(dòng)程序(P4)設(shè)計(jì)輔助工具(P5)4IPO圖 IPO圖是輸入處理輸出圖的簡稱 ,它的基本形式是在左邊的框中列出有關(guān)的輸入數(shù)據(jù),在中間的框內(nèi)列出主要的處理,在右邊的框內(nèi)列出產(chǎn)生的輸出數(shù)據(jù)。 圖4.11 IPO圖的一個(gè)例子 圖4.12 改進(jìn)的IPO圖5判定表 判定表常用來描述一些不易用語言表達(dá)清楚或需要很大篇幅才能用語言表達(dá)清楚的加工。旅游時(shí)間79,12月l6,10,11月定票量20202020折扣量5%15%20%30%表4.2 旅游價(jià)格表 在表4.2中,I區(qū)的條件類別有兩個(gè):旅游時(shí)間和訂票量,區(qū)內(nèi)列出所有四種條件組合,區(qū)內(nèi)只有一個(gè)操作,區(qū)標(biāo)明在某種條件組合下操作的執(zhí)行情況。
42、I 條件類別 條件組合III 操作 操作的執(zhí)行表4.3 判定表 4.4 實(shí)體關(guān)系圖 4.4.1 數(shù)據(jù)對象、屬性與關(guān)系 4.4.2 E-R方法和實(shí)體模型 4.4.3 數(shù)據(jù)結(jié)構(gòu)的規(guī)范化 4.4.1 數(shù)據(jù)對象、屬性與關(guān)系 對象可以是人、是物,還可以是實(shí)際的東西或概念的東西,例如,大學(xué)、城市等。對象還可以指事物與事物間的聯(lián)系。屬性則是指事物的性質(zhì)或特征,數(shù)據(jù)對象由其屬性刻畫。 例如,學(xué)生文件就由多個(gè)記錄組成,這些記錄放在一起構(gòu)成一個(gè)二維表。表中每一橫排叫做一個(gè)記錄或元組,每一縱列叫做一個(gè)屬性,參看表4.4。 表4.4 學(xué)生文件學(xué)號姓名性別年齡專業(yè)951136鄭楓女19計(jì)算機(jī)科學(xué)與技術(shù)951137雷昊男
43、18計(jì)算機(jī)科學(xué)與技術(shù)951138李博達(dá)男18機(jī)械工程為確保模型的一致性并消除數(shù)據(jù)冗余,分析人員要掌握以下規(guī)范化規(guī)則:(1)數(shù)據(jù)對象的任何實(shí)例對每個(gè)屬性必須有且僅有一個(gè)屬性值。(2)屬性是原子數(shù)據(jù)項(xiàng),不能包含內(nèi)部數(shù)據(jù)結(jié)構(gòu)。(3)如果數(shù)據(jù)對象的關(guān)鍵屬性多于一個(gè),那么其他的非關(guān)鍵屬性必須表示整個(gè)數(shù)據(jù)對象而不是部分關(guān)鍵屬性的特征。(4)所有的非關(guān)鍵屬性必須表示整個(gè)對象而不是部分屬性的特征。4.4.2 E-R方法和實(shí)體模型 實(shí)體關(guān)系圖是表示數(shù)據(jù)對象及其關(guān)的圖形語言機(jī)制。l方框表示實(shí)體型。在框內(nèi)寫上實(shí)體名,如“學(xué)生”實(shí)體型。l橢圓框表示實(shí)體有關(guān)的屬性。橢圓內(nèi)標(biāo)記屬性的名字。l 箭頭表示實(shí)體與屬性之間的聯(lián)系
44、。 l菱形框表示實(shí)體之間的聯(lián)系。 一對一的聯(lián)系(1:1)即一個(gè)實(shí)體在此種聯(lián)系下只能對應(yīng)一個(gè)實(shí)體;一對多的聯(lián)系(1:n)即一個(gè)實(shí)體在此種聯(lián)系下可對應(yīng)其他一個(gè)以上的實(shí)體;多對多的聯(lián)系(m:n)即一個(gè)實(shí)體類型中的多個(gè)實(shí)體與另一個(gè)實(shí)體類型中的多個(gè)實(shí)體相聯(lián)系。通常實(shí)體聯(lián)系有三種類型:例如,在教學(xué)管理中,學(xué)校開設(shè)若干門課程,一個(gè)教師可以教授其中的一門或多門課程,每位學(xué)生也需要學(xué)習(xí)其中的幾門課程。因此,教學(xué)管理中涉及的對象(實(shí)體型)有學(xué)生、教師和課程。用E-R圖描述它們之間的聯(lián)系,如圖所示。其中,學(xué)生與課程是多對多的聯(lián)系,而教師與課程的聯(lián)系是一對多。 教學(xué)管理E-R圖4.4.3 數(shù)據(jù)結(jié)構(gòu)的規(guī)范化 下面用圖所
45、示的教學(xué)管理的例子說明如何進(jìn)行規(guī)范化。有三個(gè)實(shí)體類型,即:課程、學(xué)生和教師,用三個(gè)關(guān)系分別保存它們的有關(guān)信息: 教師(職工號,姓名,年齡,職稱,工資級別,工資)課程(課程號,課程名,學(xué)分,學(xué)時(shí),課程類型)選課(學(xué)號,課程號,聽課出勤率,作業(yè)完成率,分?jǐn)?shù))教課(職工號,課程號) (1)關(guān)系中所有屬性都是“單純域”,即不出現(xiàn)“表中有表”。(2)非主屬性完全函數(shù)依賴于關(guān)鍵字。(3)非主屬性相互獨(dú)立,即任何非主屬性間不存在函數(shù)依賴。如果一個(gè)關(guān)系連條件(1)都不滿足,則這個(gè)關(guān)系是非規(guī)范化的。如果一個(gè)關(guān)系僅滿足條件(1),則這個(gè)關(guān)系滿足第一范式(1NF)。如果一個(gè)關(guān)系滿足條件(1)、(2),但不滿足(3)
46、,則這個(gè)關(guān)系滿足第二范式(2NF)。如果一個(gè)關(guān)系同時(shí)滿足條件(1)、(2)和(3),則這個(gè)關(guān)系滿足第三范式(3NF)判斷規(guī)范化程度的條件是:4.5 需求規(guī)格說明與評審 4.5.1 需求規(guī)格說明書的目標(biāo)與內(nèi)容4.5.2 需求評審 4.5.1 需求規(guī)格說明書的目標(biāo)與內(nèi)容 需求規(guī)格說明書主要起以下作用:(1)軟件開發(fā)機(jī)構(gòu)和用戶之間一份事實(shí)上的技術(shù)合同書。(2)軟件開發(fā)機(jī)構(gòu)下一步進(jìn)行設(shè)計(jì)和編碼的基礎(chǔ)。(3)測試和驗(yàn)收目標(biāo)系統(tǒng)的依據(jù)。需求規(guī)格說明書的主要作用:(1)軟件開發(fā)機(jī)構(gòu)和用戶之間一份事實(shí)上的技術(shù)合同書。(2)軟件開發(fā)機(jī)構(gòu)下一步進(jìn)行設(shè)計(jì)和編碼的基礎(chǔ)。(3)測試和驗(yàn)收目標(biāo)系統(tǒng)的依據(jù)。4.5.2 需求
47、評審 正確性 無二義性 完整性 可驗(yàn)證性 一致性 可理解性可修改性 可跟蹤性 4.6 本章小結(jié) 需求分析是軟件定義階段中的最后一步,是確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。需求分析活動(dòng)可按照需求提出、需求分析與描述及需求評審三個(gè)子階段進(jìn)行。需求分析的結(jié)果是系統(tǒng)開發(fā)的基礎(chǔ),必須用行之有效的方法對軟件需求進(jìn)行嚴(yán)格的審查驗(yàn)證。5.1 總體設(shè)計(jì)的過程 5.2 軟件設(shè)計(jì)基本原理 5.3 設(shè)計(jì)準(zhǔn)則 5.4 總體設(shè)計(jì)的圖形描述工具 5.5 結(jié)構(gòu)化設(shè)計(jì)方法 退出第五章 總體設(shè)計(jì)5.1 總體設(shè)計(jì)的過程5.1.1 設(shè)計(jì)供選擇的方案5.1.2 推薦最佳實(shí)現(xiàn)方案退出5.1.3 設(shè)
48、計(jì)軟件結(jié)構(gòu) 5.1.4 數(shù)據(jù)庫設(shè)計(jì) 5.1.5 制定測試計(jì)劃 5.1.1 設(shè)計(jì)供選擇的方案需求分析階段得出的數(shù)據(jù)流圖是總體設(shè)計(jì)的根本出發(fā)點(diǎn)。 通常,選取的這些方案中至少應(yīng)包括低成本、中成本和高成本的三種方案類型。對每個(gè)合理方案要提供以下幾方面資料:(1)系統(tǒng)流程圖;(2)數(shù)據(jù)字典;(3)成本效益分析;(4)實(shí)現(xiàn)這個(gè)系統(tǒng)的進(jìn)度計(jì)劃。5.1.2 推薦最佳方案分析員從合理方案中選擇一個(gè)最佳方案向用戶推薦,并為推薦的方案制定詳細(xì)的實(shí)現(xiàn)計(jì)劃。對于分析員推薦的最佳方案,用戶和有關(guān)專家應(yīng)該認(rèn)真審查。如果確認(rèn)該方案確實(shí)符合用戶的需要,并且在現(xiàn)有條件下完全能夠?qū)崿F(xiàn),則應(yīng)該提請使用部門負(fù)責(zé)人進(jìn)一步審批。在使用部門
49、負(fù)責(zé)人也接受了分析員所推薦的方案之后,方可進(jìn)入總體設(shè)計(jì)過程的下一步工作,即結(jié)構(gòu)設(shè)計(jì)階段。 過程設(shè)計(jì):確定每個(gè)模塊的處理過程。結(jié)構(gòu)設(shè)計(jì):確定系統(tǒng)由哪些模塊組成,以及這些模塊之間的相互關(guān)系。5.1.3 設(shè)計(jì)軟件結(jié)構(gòu) 對于大型系統(tǒng)的設(shè)計(jì),通常分為兩個(gè)階段:結(jié)構(gòu)設(shè)計(jì)和過程設(shè)計(jì)。其中,結(jié)構(gòu)設(shè)計(jì)是總體設(shè)計(jì)階段的任務(wù),而過程設(shè)計(jì)則是詳細(xì)設(shè)計(jì)階段的任務(wù)。5.1.4 數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫的應(yīng)用越來越廣泛,目前大多數(shù)的系統(tǒng)都要用到數(shù)據(jù)庫技術(shù)。數(shù)據(jù)庫設(shè)計(jì)是一項(xiàng)專門的技術(shù),包括模式設(shè)計(jì)、子模式設(shè)計(jì)、完整性和安全性設(shè)計(jì)和優(yōu)化處理等。 5.1.5 制定測試計(jì)劃 在軟件開發(fā)的早期階段提前考慮軟件的測試計(jì)劃是很有必要的。這樣能
50、促使軟件設(shè)計(jì)人員在設(shè)計(jì)時(shí)注意到軟件的測試問題,從而有利于提高軟件的可測試性。 總體設(shè)計(jì)階段的文檔(1)總體設(shè)計(jì)說明書(包括系統(tǒng)實(shí)現(xiàn)方案和軟件模塊結(jié)構(gòu));(2)測試計(jì)劃(包括測試策略、測試方案、預(yù)測的測試結(jié)果、測試進(jìn)度計(jì)劃等);(3)用戶手冊(根據(jù)總體設(shè)計(jì)階段的結(jié)果,編寫的初步的用戶操作手冊);(4)詳細(xì)的實(shí)現(xiàn)計(jì)劃;(5)數(shù)據(jù)庫設(shè)計(jì)結(jié)果。5. 2 軟件設(shè)計(jì)基本原理5.2.1 模塊化5.2.2 抽象5.2.3 信息隱蔽退出5.2.4 模塊獨(dú)立性模塊:又稱構(gòu)件,是能夠單獨(dú)命名并獨(dú)立地完成一定功能的程序語句的集合。例如高級語言中的過程、函數(shù)、子程序等都可作為模塊。5.2.1 模塊化模塊化是軟件的一個(gè)重
51、要屬性。模塊化的特性提供了人們處理復(fù)雜的問題的一種方法,同時(shí)也使得軟件能夠被有效地管理。 這種“分而治之”的思想提供了模塊化的根據(jù):把復(fù)雜的問題分解成許多容易解決的小問題,原來的問題也就容易解決了。 根據(jù)前面的結(jié)論,我們可以得出下面的不等式:E(P1P2)E(P1)E(P2)這個(gè)不等式表明:單獨(dú)解決問題P1和P2所需的工作量之和,比把P1和P2合起來作為一個(gè)問題來解決時(shí)所需的工作量要少。 有兩個(gè)函數(shù):C(x)表示問題x的復(fù)雜程度;E(x)表示解決問題x所需要的工作量(時(shí)間)。對于兩個(gè)問題P1和P2,如果:C(P1)C(P2)則:E(P1)E(P2)另一個(gè)有趣的特性是:C(P1P2)C(P1)C
52、(P2)模塊化和軟件成本的關(guān)系我們在考慮問題時(shí),集中考慮和當(dāng)前問題有關(guān)的方面,而忽略和當(dāng)前問題無關(guān)的方面,這就是抽象?;蛘哒f抽象就是抽出事物的本質(zhì)特性而暫時(shí)不考慮它們的細(xì)節(jié)。 5.2.2 抽象軟件工程過程的每一步,都是對軟件解法的抽象層次的一次細(xì)化。在可行性研究階段,軟件被看作是一個(gè)完整的系統(tǒng)部分;在需求分析期間,我們使用在問題環(huán)境中熟悉的術(shù)語來描述軟件的解法;當(dāng)我們由總體設(shè)計(jì)階段轉(zhuǎn)入詳細(xì)設(shè)計(jì)階段時(shí),抽象的程度進(jìn)一步減少;最后,當(dāng)源程序?qū)懗鰜頃r(shí),也就達(dá)到了抽象的最低層。 信息隱蔽原理認(rèn)為:模塊所包含的信息(過程和數(shù)據(jù))對于其他模塊來說應(yīng)該是隱蔽的。也就是說,模塊應(yīng)當(dāng)被這樣規(guī)定和設(shè)計(jì),使得包含在
53、模塊中的信息(過程或數(shù)據(jù))對于其它不需要這些信息的模塊來說,是不能訪問的,或者說是“不可見”的。 5.2.3 信息隱蔽信息隱蔽對于軟件的測試與維護(hù)都有很大的好處。因?yàn)閷τ谲浖钠渌糠謥碚f,絕大多數(shù)數(shù)據(jù)和過程都是隱蔽的,這樣,在修改期間由于疏忽而引入的錯(cuò)誤所造成的影響就可以局限在一個(gè)或幾個(gè)模塊內(nèi)部,不至波及到軟件的其他部分。 模塊的獨(dú)立性是軟件質(zhì)量的關(guān)鍵:(1)模塊化程度較高的軟件容易開發(fā);(2)模塊化程度較高的軟件也比較容易測試和維護(hù)。5.2.4 模塊獨(dú)立性模塊的獨(dú)立性的度量標(biāo)準(zhǔn):耦合和內(nèi)聚。 1、耦合耦合:軟件結(jié)構(gòu)中各個(gè)模塊之間相互關(guān)聯(lián)程度的度量。常見的耦合:(1)非直接耦合(2)數(shù)據(jù)耦合
54、(3)標(biāo)記耦合(4)控制耦合(5)公共耦合(6)內(nèi)容耦合設(shè)計(jì)原則:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共耦合的范圍,避免使用內(nèi)容耦合。2、內(nèi)聚內(nèi)聚:模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量。常見的內(nèi)聚:(1)偶然內(nèi)聚(2)邏輯內(nèi)聚(3)時(shí)間內(nèi)聚(4)過程內(nèi)聚(5)通信內(nèi)聚(6)順序內(nèi)聚(7)功能內(nèi)聚5. 3 設(shè)計(jì)準(zhǔn)則1盡力提高模塊獨(dú)立性2選擇合適的模塊規(guī)模3模塊的深度、寬度、扇出和扇入應(yīng)適當(dāng)4模塊的作用范圍應(yīng)該在控制范圍之內(nèi)5降低模塊接口的復(fù)雜程度6設(shè)計(jì)單入口單出口的模塊,避免“病態(tài)連接”5. 4 總體設(shè)計(jì)的圖形描述工具5.4.1 層次圖5.4.2 HIPO圖5.4.3 結(jié)構(gòu)圖退出5.4.1
55、 層次圖 正文加工系統(tǒng)的層次圖5.4.2 HIPO圖帶編號的層次圖(H圖)5.4.3 結(jié)構(gòu)圖軟件結(jié)構(gòu)圖的基本符號產(chǎn)生最佳解的結(jié)構(gòu)圖5. 5 結(jié)構(gòu)化設(shè)計(jì)方法5.5.1 數(shù)據(jù)流圖的類型5.5.2 設(shè)計(jì)步驟5.5.3 變換設(shè)計(jì)退出5.5.4 事務(wù)設(shè)計(jì)5.5.5 設(shè)計(jì)的后處理5.5.1 數(shù)據(jù)流圖的類型1、變換型數(shù)據(jù)流圖2、事務(wù)型數(shù)據(jù)流圖5.5.2 設(shè)計(jì)步驟5.5.3 變換設(shè)計(jì)我們通過一個(gè)汽車數(shù)字儀表板的設(shè)計(jì)來介紹變換分析的過程。假設(shè)儀表板的功能如下:(1)通過模數(shù)(AD)轉(zhuǎn)換實(shí)現(xiàn)傳感器和微處理機(jī)接口;(2)在發(fā)光二極管(LCD)面板上顯示數(shù)據(jù);(3)指示每小時(shí)英里數(shù)(mph),行駛的里程,每加侖油行駛
56、的英里數(shù)(mpg)等等;(4)指示加速或減速;(5)超速警告:如果車速超過55英里小時(shí),則發(fā)出超速警告鈴聲。在軟件需求分析階段,應(yīng)該對上述每項(xiàng)性能和其它要求進(jìn)行全面的分析,并建立起相應(yīng)的文檔資料,得出數(shù)據(jù)流圖。具體的設(shè)計(jì)步驟如下:1、復(fù)查基本系統(tǒng)模型2、復(fù)查并精化數(shù)據(jù)流圖3、確定數(shù)據(jù)流圖的類型這一步的任務(wù)是確定數(shù)據(jù)流圖是變換型數(shù)據(jù)流圖還是事務(wù)型數(shù)據(jù)流圖。從上圖中可以看出,數(shù)據(jù)沿著兩條輸入通路(旋轉(zhuǎn)信號和燃料流量傳感器信號)進(jìn)入系統(tǒng),然后沿著五條通路(4個(gè)顯示,一個(gè)警告鈴聲)離開,沒有明顯的事務(wù)中心(雖然變換“計(jì)算mph與超速值”可以看作是一個(gè)事務(wù)中心)。因此,可以認(rèn)為這個(gè)數(shù)據(jù)流圖的類型是變換型
57、數(shù)據(jù)流圖。4、確定輸入流和輸出流的邊界,從而孤立出變換中心5、進(jìn)行“第一級分解”第一級分解的方法第一級分解的結(jié)果6、進(jìn)行“第二級分解”第二級分解的方法第二級分解的結(jié)果: 未經(jīng)精化的輸入結(jié)構(gòu) 未經(jīng)精化的變換結(jié)構(gòu) 未經(jīng)精化的輸出結(jié)構(gòu)7、使用設(shè)計(jì)度量和設(shè)計(jì)準(zhǔn)則對第一次分割得到的軟件結(jié)構(gòu)進(jìn)一步精化 對于從前面的設(shè)計(jì)步驟得到的軟件結(jié)構(gòu),還可以進(jìn)行許多修改:(1)輸入結(jié)構(gòu)中的模塊“轉(zhuǎn)換成rpm”和“收集sps”可以合并;(2)模塊“確定加速減速”可以放在模塊“計(jì)算mph”下面,以減少耦合;(3)模塊“加速減速顯示”可以相應(yīng)地放在模塊“顯示mph”的下面。精化的數(shù)字儀表板系統(tǒng)的軟件結(jié)構(gòu)5.5.4 事務(wù)設(shè)計(jì)
58、事務(wù)分析的映射方法5.5.5 設(shè)計(jì)的后處理在確定系統(tǒng)的軟件結(jié)構(gòu)以后,還必須做好下述工作:為每個(gè)模塊開發(fā)一份功能說明;為每個(gè)模塊提供一份接口說明;定義局部的和全程的數(shù)據(jù)結(jié)構(gòu);給出所有的設(shè)計(jì)限制或約束;進(jìn)行總體設(shè)計(jì)評審;如果需要和可能的話,進(jìn)行設(shè)計(jì)“優(yōu)化”。6.1 結(jié)構(gòu)化程序設(shè)計(jì) 6.2 詳細(xì)設(shè)計(jì)工具 6.3 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法退出第六章 詳細(xì)設(shè)計(jì)6.1 結(jié)構(gòu)化程序設(shè)計(jì) 三種基本的控制結(jié)構(gòu) 逐步求精方法是由Wirth提出的一種早期的自頂向下的設(shè)計(jì)策略。面對現(xiàn)實(shí)的復(fù)雜問題,我們首先不要一下子就力圖觸及到問題解法的細(xì)節(jié),而應(yīng)當(dāng)先從問題的全局出發(fā),用較自然的抽象語句來表示問題,從而得到抽象算法。這時(shí)
59、的算法主要是描述“做什么”,或者說是把問題描述為幾個(gè)子問題或子功能。接下來對子問題,也就是對抽象算法進(jìn)行細(xì)化,在這一階段設(shè)計(jì)的算法中,已經(jīng)開始含有程序設(shè)計(jì)語言的成分。隨著算法的不斷細(xì)化,越來越多地開始完成“如何做”,算法中程序設(shè)計(jì)語言的成分也越來越多,當(dāng)最后把算法全部細(xì)化為程序設(shè)計(jì)語言描述時(shí),程序設(shè)計(jì)也就隨之完成了。 結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)是一種設(shè)計(jì)程序的技術(shù),它采用自頂向下逐步求精的設(shè)計(jì)方法和單入口單出口的控制結(jié)構(gòu),并且只包含順序、選擇和循環(huán)三種控制結(jié)構(gòu)。其他常用的控制結(jié)構(gòu) 6.2 詳細(xì)設(shè)計(jì)工具6.2.1 程序流程圖6.2.2 盒圖退出6.2.3 PAD圖 6.2.4 過程設(shè)計(jì)語言 6.2.5
60、判定表 6.2.6 判定樹 6.2.1 程序流程圖程序流程圖中常用的符號 程序流程圖雖然比較直觀,靈活,并且比較容易掌握,但是它的隨意性和靈活性卻使它不可避免地存在著一些缺點(diǎn):(1)由于程序流程圖的特點(diǎn),它本身并不是逐步求精的好工具。因?yàn)樗钩绦騿T容易過早地考慮程序的具體控制流程,而忽略了程序的全局結(jié)構(gòu);(2)程序流程圖中用箭頭代表控制流,這樣使得程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計(jì)的精神,隨意轉(zhuǎn)移控制;(3)程序流程圖在表示數(shù)據(jù)結(jié)構(gòu)方面存在不足。6.2.2 盒圖(N-S圖)N-S圖的基本符號 N-S圖有以下一些特點(diǎn):(1)功能域(即某一個(gè)特定控制結(jié)構(gòu)的作用域)有明確的規(guī)定,并且可以很
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 14《故都的秋》《荷塘月色》對比閱讀說課稿 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 8《網(wǎng)絡(luò)新世界》(說課稿)-部編版道德與法治四年級上冊001
- 9《這些是大家的》說課稿-2023-2024學(xué)年道德與法治二年級上冊統(tǒng)編版
- Unit 1 Back to School Reading 說課稿-2024-2025學(xué)年高一英語譯林版(2020)必修第一冊
- 2024-2025學(xué)年高中歷史 第四單元 工業(yè)文明沖擊下的改革 第15課 戊戌變法(2)教學(xué)說課稿 岳麓版選修1
- 2025市場門市部租賃合同
- 2025電腦維修合同范本
- 2024-2025學(xué)年新教材高中語文 第六單元 10.1 勸學(xué)說課稿(3)部編版必修上冊
- 2025蘋果購銷合同樣書
- 24 京劇趣談(說課稿)-2024-2025學(xué)年統(tǒng)編版語文六年級上冊
- 2025年方大萍安鋼鐵招聘筆試參考題庫含答案解析
- 《高原紅細(xì)胞增多癥血液稀釋療法護(hù)理操作規(guī)程》
- 2025年電力工程施工企業(yè)發(fā)展戰(zhàn)略和經(jīng)營計(jì)劃
- 年終抖音運(yùn)營述職報(bào)告
- 汽車維修店加盟協(xié)議書細(xì)則
- 2024東莞市勞動(dòng)局制定的勞動(dòng)合同范本
- 2024年大學(xué)本科課程教育心理學(xué)教案(全冊完整版)
- 三甲醫(yī)院面試自我介紹課件
- 公務(wù)員2010年國考《申論》真題卷及答案(地市級)
- 2023-2024學(xué)年福建省廈門市八年級(上)期末物理試卷
- AQ6111-2023個(gè)體防護(hù)裝備安全管理規(guī)范
評論
0/150
提交評論