數(shù)據(jù)庫與軟件工程第二部分:軟件工程結合數(shù)據(jù)庫和設計_第1頁
數(shù)據(jù)庫與軟件工程第二部分:軟件工程結合數(shù)據(jù)庫和設計_第2頁
數(shù)據(jù)庫與軟件工程第二部分:軟件工程結合數(shù)據(jù)庫和設計_第3頁
數(shù)據(jù)庫與軟件工程第二部分:軟件工程結合數(shù)據(jù)庫和設計_第4頁
數(shù)據(jù)庫與軟件工程第二部分:軟件工程結合數(shù)據(jù)庫和設計_第5頁
已閱讀5頁,還剩179頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

軟件工程概述數(shù)據(jù)庫與軟件工程第二部分12軟件工程綜述軟件生存周期軟件質量與質量保證軟件工程管理軟件開發(fā)環(huán)境目錄3軟件發(fā)展的三個階段軟件工程相關概念軟件工程目標軟件工程三要素軟件工程綜述什么是計算機軟件?計算機軟件指計算機系統(tǒng)中的程序及其文檔程序是計算任務的處理對象和處理規(guī)則的描述計算任務:任何以計算機為處理工具的任務處理對象:數(shù)據(jù)(如數(shù)據(jù)、文字、圖形、圖像、聲音等,它們只是表示,而無含義)或信息(數(shù)據(jù)及有關的含義)處理規(guī)則一般指處理的動作和步驟。程序必須裝入計算機內(nèi)才能工作文檔是為了便于了解程序所需的闡明性資料,文檔一般是給人看的,不一定裝入計算機45軟件的特點:抽象性—不是實物。嚴密性—是邏輯產(chǎn)品。智力性—思維過程。持久性—無時間損壞。一次性—創(chuàng)造性的產(chǎn)物。難以度量—難定量測量。易出錯—信息轉移造成。必須維護—糾錯和變更。6軟件發(fā)展的三個階段程序設計時代(50-60年代)

軟件指程序,軟件開發(fā)關注程序編寫,用匯編及機器語言程序系統(tǒng)時代(60-70年代)

軟件指程序及說明書,軟件開發(fā)包括程序設計和測試,用高級語言軟件工程時代(70年代以后)軟件開發(fā)包括軟件生命期,用軟件語言(包括需求定義語言、軟件功能語言、軟件設計語言、程序設計語言等)7軟件工程相關概念軟件危機:在軟件開發(fā)過程中遇到的問題找不到解決的辦法,致使問題積累起來形成了日益尖銳的矛盾。危機實例(1):1963年美國飛往火星的火箭探測器爆炸,造成1000萬美元(數(shù)億美元)的損失。原因是用于控制火星探測器的計算機軟件FORTRAN程序:

DO5I=1,3

誤寫為:DO5I=1.3危機實例(2):1967年蘇聯(lián)“聯(lián)盟一號”載人宇宙飛船在返航時,由于軟件忽略一個小數(shù)點,在進入大氣層時因打不開降落傘而燒毀。

宇航員:弗拉迪米爾·科馬洛夫8軟件工程相關概念軟件危機:危機實例(3):人員傷亡:由于計算機軟件被廣泛應用于包括醫(yī)院等與生命息息相關的行業(yè)。這也使得軟件的錯誤導致人員傷亡成為了可能。

Therac-25的意外:(在軟件工程界被大量引用的案例)

在1985年六月到1987年一月之間,六個已知的醫(yī)療事故來自于Therac-25錯誤地超過劑量,導致患者死亡或嚴重輻射灼傷9軟件工程相關概念軟件危機:危機實例(4):IBM公司1963-1966年開發(fā)IBM360操作系統(tǒng),項目花了5000人-年的工作量,最多時有1000人投入開發(fā)工作,寫出100萬行源程序,但發(fā)行的每一新版本都是上一版1000個錯誤的修正。事后負責人總結教訓時說:“……正象一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷的越深。最后無法逃脫滅頂?shù)臑碾y。程序設計工作正像這樣一個泥潭,一批批程序員被迫在泥潭中拼命掙扎,……誰也沒料到問題竟會陷入這樣的困境……”10軟件危機的表現(xiàn)對軟件開發(fā)成本和進度的估計常常很不正確用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生軟件產(chǎn)品的質量往往靠不住軟件常常是不可維護的軟件通常沒有適當?shù)奈臋n資料軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升軟件開發(fā)生產(chǎn)率提高的速度遠遠跟不上計算機應用迅速普及深入的趨勢11軟件危機的原因軟件是邏輯產(chǎn)品,開發(fā)進度、成本難以估計缺乏或不完整、不一致的文檔給維護帶來困難用戶對軟件需求的描述往往不夠精確,有遺漏,有二義軟件開發(fā)人員對需求的理解與用戶的本來愿望有差異大型軟件項目需多人協(xié)同完成,缺乏管理經(jīng)驗開發(fā)人員不能有效地、獨立自主地處理大型軟件的全部關系缺乏有力的方法學和工具的支持軟件項目的特殊性和人類智力的局限性12克服軟件危機的途徑消除錯誤的概念和做法推廣使用成功的開發(fā)技術和方法使用軟件工具和軟件工程支持環(huán)境加強軟件管理擺脫軟件危機的出路:軟件開發(fā)的工程化和標準化13軟件工程相關概念軟件工程:軟件工程是用科學知識和技術原理來定義、開發(fā)、維護軟件的一門綜合性的交叉學科,軟件工程是開發(fā)與維護軟件的規(guī)范化系統(tǒng)方法。它綜合應用計算機科學、數(shù)學及管理科學等原理開發(fā)軟件的工程。計算機科學、數(shù)學用于構造模型與算法;工程科學用于制定規(guī)范、設計范型、評估成本及確定權衡;管理科學用于用于計劃、資源、質量、成本等管理。

14軟件工程的目標能按時完成開發(fā)任務,及時交付使用;付出較低的開發(fā)成本,達到要求的軟件功能;取得較好的軟件性能;開發(fā)的軟件易于移植;需要較低的維護費用;開發(fā)的軟件可靠性高。15軟件工程三要素軟件工程方法軟件工具軟件工程過程

為軟件開發(fā)提供“如何做”的技術。如怎樣定項目計劃、怎樣實施需求分析、如何測試等。為軟件工程方法提供自動或半自動軟件支撐環(huán)境。如軟件開發(fā)工具、測試工具等。軟件開發(fā)的不同階段可使用不同的工具。將軟件工程劃分為若干階段,分配方法和工具,定義每個階段的先后順序和完成標志。16軟件生存周期生存周期概念生存周期各階段生存周期模型17軟件生存周期軟件生存周期(softwarelifecycle)又稱為軟件生命期。是指從形成開發(fā)軟件概念起,所開發(fā)的軟件使用以后,直到失去使用價值消亡為止的整個過程。一般來說,整個生存周期包括計劃、開發(fā)、運行三個時期,每一個時期又劃分為若干階段。每個階段有明確的任務,這樣使規(guī)模大、結構復雜和管理復雜的軟件開發(fā)變得容易控制和管理。軟件生存周期概念18軟件生命周期軟件生命期各階段軟件計劃與可行性研究軟件系統(tǒng)需求分析軟件設計軟件編碼軟件測試與調(diào)試軟件運行與維護軟件生命期一般包括以下各階段:

19軟件-建筑計劃與可行性研究系統(tǒng)需求分析軟件設計軟件編碼軟件測試與調(diào)試軟件運行與維護20一、罵軟件計比劃與可姑行性研籠究目的確定軟示件項目情是否能峰夠開發(fā)偷?是否為值得去月開發(fā)?輸出:梯可行性裙研究報留告成本—效益分析項目開發(fā)申計劃21一、軟件錄計劃與可偶行性研究初步確皺定項目閘的規(guī)模牌和目標嫩,確定賭項目的餓約束和羽限制。分析員敢進行簡鑒要的需四求分析封,抽象防出邏輯爭結構,懲建立邏彎輯模型敬。從邏輯憶模型出籃發(fā),經(jīng)漢過壓縮時的設計墳,找出裹幾種可科供選擇估的解決焰辦法。過程22一、軟鏡件計劃躁與可行緊性研究對每種解塘決方法,杰可從以下煤三個方面頂分析研究刊每種解決致方法的可乓行性。1.技術碌可行性2.經(jīng)濟截可行性3.社會到可行性內(nèi)容23軟件可頸行性研計究1.技術可潛行性對要開調(diào)發(fā)項目解的功能鳳、性能合、限制躬條件進肺行分析雖,確定辰在現(xiàn)有銹的資源份條件下券,技術確風險有替多大,嗽項目是朱否能實竭現(xiàn)。資源:已銜有的或可類以獲得的蜂硬件、軟廁件資源現(xiàn)有技遭術人員鴨的技術涼水平已有的工傾作基礎。技術可行迷性分析通艙常包括風叮險分析、流資源分析牧和技術分造析三個方面駕的可行性24風險分萍析:分析在逢給定的約舊束條件下描設計和實或現(xiàn)系統(tǒng)的吧風險。采用不亡成熟的撕技術可寺能造成愧技術風映險人員流動絞可能給項恐目帶來風室險成本和巖人員估芳算不合蘋理造成鉤的預算悄風險風險分析厭的目的是給找出風險俗,評價風欺險的大小騎,并有效升地控制和皂緩解風險朵。25資源分鬼析:論證是隨否具備系堵統(tǒng)開發(fā)所丑需的各類廳人員、軟鋤件、硬件尿等資源和利相應的工桿作環(huán)境。例如,企有一支維開發(fā)過壁類似項棋目的開艷發(fā)和管企理的團贊隊,或否者開發(fā)結人員比騙較熟悉振系統(tǒng)所盾處的領蹄域,并雄有足夠段的人員祝保證,隊所需的慢硬件和廉支撐軟胡件能通截過合法大的手段露獲取,幅那么從伸技術角遵度看,輪可以認溫為具備懸設計和嫂實現(xiàn)系千統(tǒng)的條申件。26技術分析:分析當繩前的科學錫技術是否罩支持系統(tǒng)肉開發(fā)的各涌項活動。在技術分宅析過程中耐,分析員收集系筐統(tǒng)的性遞能、可牢靠性、遮可維護特性和生曬產(chǎn)率方宵面的信央息,分析實現(xiàn)嫩系統(tǒng)功能何、性能所剛需的技術到、方法、目算法或過釣程,從技術說角度分析艱可能存在綱的風險,煮以及這些貝技術問題挺對成本的蜜影響。技術可行第性分析時魯通常需進都行系統(tǒng)建情模,必要錢時可建造影原型和進那行系統(tǒng)模免擬27軟件可行午性研究2.經(jīng)濟拍可行性進行開發(fā)敢成本的估笛算以及了挽解取得效克益的評估巧,確定要蠶開發(fā)的項免目是否值俊得投資開嚇發(fā)?經(jīng)濟可獨行性:成本—效益分析公司經(jīng)和營長期產(chǎn)策略開發(fā)所貨需的成昂本和資小源潛在的市停場前景三個方面砍的可行性28基于計算低機的系統(tǒng)感的成本主要包憲括:購置硬劇件、軟獻件(如澤數(shù)據(jù)庫銜管理系獲統(tǒng)、第念三方開聲發(fā)的構黎件等)訴和設備辱(如傳燥感器等帶)的費憂用系統(tǒng)的稱開發(fā)費熊用系統(tǒng)安裝噸、運行和瞇維護費用人員培獸訓費用29效益經(jīng)濟效覆益使用基鋸于計算杰機的系裳統(tǒng)后可暮增加的杜收入和襲可節(jié)省嶄的運行圖費用(投如操作凍人員數(shù)業(yè)、工作章時間、頓消耗的待物資等迷)。社會效儀益使用基慨于計算閣機的系敢統(tǒng)后對洗社會產(chǎn)比生的影糖響(如側提高了趣辦事效諷益,使算用戶滿尤意等)材,通常獲社會效門益只能驅定性地北估計。在進行成森本效益分受析時通常摩只統(tǒng)計五隊年內(nèi)的經(jīng)陸濟效益。經(jīng)濟效益未通??捎蒙へ泿诺臅r笑間價值、騎投資回收感期和純收矮入來度量孔。30貨幣的集時間價憐值(以利率計矛算的機會旗成本)設:當唯前金額拆為P,年利率狡為i,n年后的金梅額為F,則計算時咸,累計術經(jīng)濟效案益應折盼合成當化前金額例如,一堤個基于計租算機的系嗓統(tǒng)使用后錘,每年產(chǎn)嘴生的經(jīng)濟新效益為10萬,如幣果年利言率為5%,那么餅,五年碰內(nèi)該系顯統(tǒng)的累怒計經(jīng)濟黃效益是43.294蹲8萬,而不須是50萬。31投資回爸收期:累計的經(jīng)敘濟效益正梢好等于投剩資數(shù)(成撇本)所需算的時間純收入:累計經(jīng)盆濟效益–投資數(shù)當純收入朗大于零時川,該工程省值得投資伍開發(fā)當純收興入小于諸零時,距該工程夢不值得攏投資(天除非它叫有明顯遍的社會叨效益)當純收入島等于零時財,通常也橫不值得投毒資顯然,妹純收入裁越大越裝好32軟件可行奧性研究3.社會可侵行性要開發(fā)悟的項目壘是否存舉在任何拼侵犯、冒妨礙等縱責任問虛題?要開發(fā)項捆目的運行盼方式在用鄭戶組織內(nèi)制是否行得限通?現(xiàn)有管理艇制度、人偽員素質、蠢操作方式棍是否可行?三個方面影的可行性33中華人擔民共和鉗國著作逆權法計算機棋軟件保每護條例保密法等34可行性煩分析的厲結論可以立即婦開始進行需要推遲犧到某些條搭件(例如其資金、人蓮力、設備分等)落實規(guī)之后才能永開始進行需要對開增發(fā)目標進責行某些修成改之后才嚼能開始進坦行因為某顧種原因鄭(如,路技術不迫成熟、玻經(jīng)濟上縣不合算歪等)不騰能進行35軟件可行干性研究1.復查雀項目規(guī)梅模和目味標2.研究正趁在使用的揪系統(tǒng)3.得到新田系統(tǒng)的概愈括的邏輯妻模型4.導出和秧評價各種虎方案5.推薦可痰行的方案6.編寫陜可行性燃研究報體告可行性滋研究的邊具體步識驟36軟件可仿行性研腥究可行性誓研究報謠告內(nèi)容1.引言。2.可行閃性研究碧前提。3.對現(xiàn)雹有系統(tǒng)慚的分析材。4.所建議口系統(tǒng)的技馬術可行性遵分析。5.所建議叮系統(tǒng)的經(jīng)浴濟可行性百分析。6.社會慰因素的子可行性利分析。7.其他潛可供選旦擇方案匯。8.結論意掃見。37二、軟搖件系統(tǒng)需屆求分析需求分析喝概念需求分析右的基本任鞋務結構化增分析方陰法BDS38數(shù)據(jù)庫建醉設的基本捷規(guī)律三分技術,七分管理,十二分基礎數(shù)據(jù)管理數(shù)據(jù)庫建小設項目管駝理企業(yè)(病即應用芝部門)獄的業(yè)務更管理基礎數(shù)躺據(jù)收集、入狼庫更新新隨的數(shù)據(jù)39二、托軟件系趟統(tǒng)需求根分析需求分宏析概念需求分尊析的基所本任務結構化分日析方法40需求的定派義IEEE窯Sta疾ndar豪dGl褲ossa鈴ryo掉fSo觀ftwa泊reE述ngin福eeri裂ngT摟ermi抖nolo椒gy用戶解決肥一個問題鞋或達到一味個目標所儉需要的一馳種狀況或爪能力系統(tǒng)為斧了滿足頸一種約哪定、標乎準、規(guī)糟格說明驗或其它涌正式文緒件而必妻須滿足潮或擁有歌的一種鴿狀況或掘能力以上兩種象狀態(tài)或能末力的文檔介化表示主觀需求客觀需求需求文驗檔41功能性這需求和脈非功能婆性需求功能性需蕉求系統(tǒng)需輩要提供防的服務躁或功能蝕:如圖請書檢索系統(tǒng)對特桶定輸入的債處理方式自:如對非敘法輸入的誤提示系統(tǒng)在特勢定環(huán)境下盲的行為:拔如長時間侮無操作時石的屏保非功能性蝕需求對系統(tǒng)功雅能或服務咱附加的質纖量約束,盼例如響應繪時間、容煤錯性、安央全性等——客戶所蔽關心的(外部質量)從系統(tǒng)開械發(fā)和維護勸角度出發(fā)叔的質量屬哪性,例如慎可理解性畜、可擴展隙性、可配鬼置性等——軟件開燃發(fā)或維調(diào)護者所愈關心的(內(nèi)部質量標、軟件所嘆特有)42二、軟振件系統(tǒng)需母求分析是指開尸發(fā)人員沃要準確歇理解用哥戶的要棚求,進濕行細致坦的調(diào)查龍分析,躍將用戶勵非形式砍的需求女陳述轉址化為完賭整的需微求定義寸,再由冠需求定撤義轉換晉到相應肅的形式溫功能規(guī)辜約(需隙求規(guī)格大說明)何的過程餐。結構化舞分析方小法和面向對笛象分析州方法1.需求分析尼概念43是要準確甜地定義新集系統(tǒng)的目秘標,滿足即用戶需要憑?;卮鹣雕g統(tǒng)必須“嶄做什么”淋的問題。驢本階段要廳進行以下五幾方面的粒工作:(1)分析邊人員和蒸用戶對濫問題識波別,雙稍方商定倦對問題藥的綜合雞需求。包括:才功能需非求、性碎能需求年、環(huán)境必需求和稠用戶界凍面需求勇。另外還有耕可靠性、蛛安全性、民保密性、昂可移植性曉、可維護肥性等方面戀的需求.這些需錯求一般茅通過雙香方交流丑、調(diào)查他研究來障獲取,哄并達到州共同的姐理解。2.需求分宰析的基恢本任務44(2)分析奶與綜合妥,導出暈軟件的設邏輯模腸型。分析人員聚對獲取的籍需求,進鹽行一致性吼的分析檢微查,在分組析、綜合最中逐步細謊化軟件功巨能,劃分驢成各個子錯功能。包括:哨對數(shù)據(jù)拔域進行趙分解,仁并分配流到各個國子功能乓上,以償確定系印統(tǒng)的構季成及主色要成分割,并用園圖文結國合的形功式,建群立起新摧系統(tǒng)的爬邏輯模脈型。(3)編寫文福檔。文檔:需肝求規(guī)格說廣明書初步用鴿戶使用嗎手冊確認測試萌計劃2.需求分礙析的基汪本任務453.結構化病分析方兼法SA方法利用圖拿形等半鋤形式化女的描述陵方式表加達需求恢,用它益?zhèn)冃纬杉谛枨笳f娃明書中央的主要脊部分。描述工阿具是:(1)數(shù)據(jù)泛流圖(DFD)(2)描述加掘工邏輯的睜工具:結構化疤語言、燦判定表報、判定狀樹(3)數(shù)據(jù)抓字典結構化分宗析(Stru波ctur儀edA灑naly茫sis,簡稱SA),是悼面向數(shù)增據(jù)流進悔行需求偽分析的飾方法。SA是一種建日?;顒?,架該方法使弓用簡單易章讀符號,柳根據(jù)軟件內(nèi)揪部數(shù)據(jù)育傳遞、名變換的損關系,自頂碎向下逐母層分解蜂,描繪能出滿足社功能需覆求的軟慶件模型蔽。463.結構化分稈析方法(1)數(shù)據(jù)紙流圖(DFD)數(shù)據(jù)流負圖(Data阻Flo喝wDi須am),是SA方法中用農(nóng)于表示系辛統(tǒng)邏輯模懼型的一種剛工具,它跪以圖形的撫方式描繪陡數(shù)據(jù)在系廳統(tǒng)中流動荷和處理的儉過程,由吳于它只反砍映系統(tǒng)必稻須完成的乞邏輯功能幸,所以它市是一種功章能模型。數(shù)據(jù)流湯圖的作亦用:需求分序析時,潤作為自剖頂向下豆的工具描述系歇統(tǒng)組成寨部分為技術員飄、用戶間就交流提供駝有力方法473.結構化鹽分析方矛法(1)數(shù)據(jù)流班圖(DFD)數(shù)據(jù)流靈圖由數(shù)蒙據(jù)流、順加工(診又稱為春數(shù)據(jù)處盜理)、融數(shù)據(jù)存悄儲(又時稱為文彈件)、窮數(shù)據(jù)源釘點或終院點四種允基本成沖分組成忌。數(shù)據(jù)流圖麥實例:銀虹行取款過薪程數(shù)據(jù)流:遷加懷工:數(shù)據(jù)存儲說:痛數(shù)據(jù)源點鐘、終點:48描述銀室行取款搖過程的礦數(shù)據(jù)流芳圖49基本加唯工邏輯糾說明對數(shù)據(jù)菜流圖的溝每一個胳基本加皇工,必昨須有一莫個基本藏加工邏把輯說明描述基本漂加工如何心把輸入數(shù)趣據(jù)流變換汪為輸出數(shù)沿據(jù)流的加荒工規(guī)則描述實稈現(xiàn)加工聞的策略亂而不是售實現(xiàn)加豎工的細舉節(jié)包含的掩信息應跡是充足換的,完滑備的,羨有用的恐,無冗兇余的50(2)用于寫加支工邏輯說黎明的工具結構化英醬語判定表判定樹3.結構化分即析方法511)結構肢化英語結構化英厘語的詞匯具表由英語命令科動詞數(shù)據(jù)詞典箭中定義的歷名字有限的破自定義妥詞邏輯關病系詞IF_T攀HEN_鳴ELSE、CASE搏_OF、WHI怖LE_前DO、REPE塞AT_U脂NTIL等組成。52是一種介祥于自然語囑言和形式策化語言之儉間的語言語言的正文用基利本控制結溉構進行分隱割,加工中選的操作用自吉然語言短告語來表示其基本林控制結見構有三只種:簡單陳突述句結局構:避免復滿合語句割;重復結構:whil墓e_do或rep蜻eat_unti雅l結構。判定結構:if_吸the蛾n_e商lse或cas年e_o便f結構;53商店業(yè)威務處理阿系統(tǒng)中煩“檢查宋發(fā)貨單郵”if發(fā)貨單金雀額超過$500thenif欠款超糞過了60天the干n在償還駱欠款前以不予批防準els憐e(欠款唉未超期溝)發(fā)批準書吵,發(fā)貨單els村e(發(fā)貨單棍金額未超邊過$500)if欠款超慣過60天the糕n發(fā)批準書酬,發(fā)貨單辨及賒欠報名告else(欠款未巡壽超期)發(fā)批準家書,發(fā)喘貨單542)判定表如果數(shù)據(jù)邀流圖的加罰工需要依探賴于多個邏犬輯條件截的取值,使用判潤定表來描喊述比較合根適條件定義條件取值的組合動作定義在各種取值的組合下應執(zhí)行的動作55以“檢查跑發(fā)貨單”姨為例563)判定舍樹判定樹也遠是用來表栗達加工邏稀輯的一種藏工具。有對時侯它比崇判定表更話直觀。檢查發(fā)貨單金額>$500金額$500

欠款>60天不發(fā)出批準書

欠款60天發(fā)貨單發(fā)出批準書、

欠款>60天發(fā)出批準書、發(fā)貨單及賒欠報告

欠款60天發(fā)出批準書、發(fā)貨單57(3)數(shù)據(jù)字典數(shù)據(jù)詞典(Data疑Dic員tion壘ary,簡稱DD)就是著用來定拜義數(shù)據(jù)冰流圖中炸的各個虜成分的牧具體含哭義的。對數(shù)據(jù)蜂流圖中沉出現(xiàn)的船每一個巴數(shù)據(jù)流獸、文件節(jié)、加工勞給出詳滾細定義能。3.結構化分由析方法數(shù)據(jù)字再典主要哄有四類旦條目:數(shù)據(jù)流禽、數(shù)據(jù)緞項、數(shù)刷據(jù)存儲券、基本慚加工。數(shù)據(jù)項犬是組成技數(shù)據(jù)流起和數(shù)據(jù)篇存儲的繩最小元故素。58(3)數(shù)據(jù)字嫂典數(shù)據(jù)字辰典詞條惰內(nèi)容表3.結構化飾分析方蛾法數(shù)據(jù)項/數(shù)據(jù)流/數(shù)據(jù)文件名稱:別名:取消及定斬義:組成:組織:備注:59實例:計浙算機售書緞系統(tǒng)模型(3)數(shù)據(jù)字典3.結構化掩分析方紙法60售書系縱統(tǒng)數(shù)據(jù)兇流詞條話實例:發(fā)票數(shù)據(jù)流劑名:發(fā)票別名:購書發(fā)票組成:學號+姓名+{書號+單價+數(shù)量+總價}+書費合跟計備注:(3)數(shù)據(jù)字典3.結構化分錫析方法61數(shù)據(jù)文增件詞條固實例:各班學生投用書表文件名箭:各班學生桐用書表別名船:組成漿:{系編號+專業(yè)和班狐級編號+年級+{書號}}組許織:按系、專被業(yè)和班編核號從小到笨大排列備喉注:(3)數(shù)據(jù)字典3.結構化分殃析方法62三、軟件售設計軟件概要交設計2.軟件詳細頭設計主要完成次軟件系統(tǒng)趴結構設計和確定各扒組成部分仆之間的相爸互關系。主要確街定每個宅模塊的蓮具體執(zhí)堵行過程碼,也稱寶為過程怪設計。631.軟件概原要設計概要設計撕基本任務概要設計弄基本原理64(1)概要設聞計基本任咬務進行軟件姿系統(tǒng)總體檢結構設計進行軟所件中所惠使用的刃數(shù)據(jù)結窮構及數(shù)濤據(jù)庫的也設計編寫概見要設計細文檔進行概均要設計命的評審65(1)概要雨設計基買本任務1)軟件系詳統(tǒng)總體奇結構設煤計采用某種侄設計方法細,將一個輛復雜的系蕉統(tǒng)按功能維劃分成模辨塊。確定每個競模塊的功阿能。確定模塊末之間的調(diào)事用關系。確定模捷塊之間羽的接口墳,即模姥塊之間走傳遞的賤信息。評價模塊暑結構的質是量。66(1)概要疫設計基拉本任務2)數(shù)據(jù)結構敵及數(shù)據(jù)庫拆的設計。對數(shù)據(jù)蒼結構的宿設計,痕采用逐梳步細化率的方法于,對需物求分析賽階段獲懇得的數(shù)若據(jù)字典挎中的數(shù)京據(jù)的結凝構特性易等加以橫細化。對數(shù)據(jù)愉庫的設馬計是指晝數(shù)據(jù)存跑儲文件骨的設計杯,主要潔進行概跳念設計艙、邏輯錢設計、咸物理設線計三方罷面設計蕩。67(1)概要設信計基本任琴務3)概要設煤計文檔糞主要包疤括:概要設計甜說明書。數(shù)據(jù)庫涂設計說現(xiàn)明書。進一步補狀充需求分椒析階段編冤寫的用戶圍手冊。修訂測試娘計劃,對送測試策略續(xù)、方法、終步驟提出善明確要求頸。68(1)概要設削計基本任構務4)進行概要陰設計的評切審:對設計部湯分是否完聯(lián)整地實現(xiàn)贏了需求中或規(guī)定的功橋能、性能遼等要求設計方杜案的可給行性內(nèi)外部者接口定摸義的正窮確性、鑰有效性各部分之杏間的一致嫁性69(2)概要設計巴的基本原版理l)模塊化2)抽象3)信息隱藏4)模塊獨立負性70(2)概要設多計的基鉆本原理l)模塊化在軟件協(xié)的體系丟結構中蜻,模塊咐是可組印合、分疫解和更你換的單共元。模塊具濟有以下仙幾種基貨本屬性賺:接口、屬功能、姐狀態(tài)、捐邏輯。其中:底功能、擾狀態(tài)與糟接口反患映模塊銀的外部橫特性,鎮(zhèn)邏輯反求映它的已內(nèi)部特限性。模塊化是指解決朽一個復雜挨問題時自澤頂向下逐腎層把軟件誘系統(tǒng)劃分斑成若干模慰塊的過程燦。每個模飾塊完成一炭個特定的在子功能,胃所有的模秧塊按某種玩方法組裝忙起來,成使為一個整叮體,完成仇整個系統(tǒng)謀所要求的郊功能。71(2)概要設計井的基本原付理2)抽象抽象是指獲奮取事物茄本質的第共同的相特性而迅暫不考略慮它的洲細節(jié),層不考慮挽其他因雙素。抽象是認識淺復雜現(xiàn)懸象過程運中使用涉的思維嶼工具軟件工程鵲過程中的睛每一步部缺可以看作充是對軟件句解決方法騾的抽象層培次的一次銅細化。72(2)概要設道計的基橋本原理3)抽象信息嶺隱藏信息隱藏指在設計滋和確定模饒塊時,使度得一個模爸塊內(nèi)包含貝的信息(慮過程或數(shù)圣據(jù)),對傘于不需要變這些信息怖的其他模背塊來說,架是不能訪儀問的?!半[藏有”:模鼓塊化是紫通過定呈義一組膜相互獨君立的模陽塊來實貼現(xiàn)系統(tǒng)粥,這些弊獨立的模塊彼看此之間創(chuàng)僅僅交喪換那些薄為了完蒙成系統(tǒng)照功能所私必需的捏信息,而將那知些自身堅的實現(xiàn)美細節(jié)與癢數(shù)據(jù)“攤隱藏”變起來。通過抽象途,可以確課定組成軟盲件的過程紀實體。通過信繡息隱藏丘,可以回定義模訂塊的過瘦程細節(jié)恨和局部兩數(shù)據(jù)結塑構的存巴取限制勻。73(2)概要設計讀的基本原絕理4)模塊獨立扎性模塊獨立游性是指每洗個模塊只拜完成系統(tǒng)辯要求的獨緊立的子功熔能,并且焦與其他模斤塊的聯(lián)系隸最少且接胡口簡單。如何衡綠量軟件酷的獨立公性呢?根據(jù)模塊籠的外部特半征和內(nèi)部援特征,提溫出了兩個異定性的度討量標準——耦合性慚和內(nèi)聚頸性。將軟件藥系統(tǒng)劃師分模塊陶時,盡案量做到高內(nèi)栽聚低耦合等,提高模從塊的獨立穴性,為設觸計高質桿量的軟強件結構劇奠定基津礎。74(2)概要設鼓計的基皺本原理4)模塊獨立賞性__耦合性耦合性也休稱塊間聯(lián)崇系。指軟哨件系統(tǒng)結現(xiàn)構中各模朝塊間相互啦聯(lián)系緊密濫程度的一冠種度量。模塊之間惜聯(lián)系越緊夜密,其耦厚合性就越妥強,模塊攏的獨立性示則越差。券模塊間耦攀合高低取銷決于模塊揚間接口的披復雜性、榮調(diào)用的方翠式及傳遞膜的信息。模塊的工耦合性窮有以下虎七種類地型:非直接耦供合、數(shù)據(jù)稈耦合、標致記耦合、蓋控制耦合止、外部耦五合、公共三耦合、內(nèi)胳容耦合,它們的畜耦合程伯度由低年到高。75(2)概要設計印的基本原怪理4)模塊獨立鴨性__內(nèi)聚性又稱塊內(nèi)乖聯(lián)系。指言模塊的功冰能強度的第度量,即駝一個模塊俱內(nèi)部各個烘元素彼此促結合的緊飯密程度的玩度量。若一個存模塊內(nèi)嗚各元素運(語句哀之間、租程序段賺之間)膛聯(lián)系的潔越緊密搭,則它探的內(nèi)聚樓性就很辱高。內(nèi)聚性揀有以下裳七類類溪型:偶然內(nèi)算聚、邏債輯內(nèi)聚關、時間趁內(nèi)聚、寶過程內(nèi)姿聚、通沿信內(nèi)聚百、順序褲內(nèi)聚、以功能內(nèi)寄聚,它們的經(jīng)內(nèi)聚程嘆度由低序到高。762.概要設伴計軟件結構粗:表示程毅序的總體陣結構,指脹程序的控輛制層次體析系(多少退模塊,多拉少層次,捐調(diào)用關系蹄)77一個問躬題可以馳有多種抬結構來斑表示78軟件結構基的術語深度:莫控制的也層次數(shù)寬度:控肅制的總跨壘度,即最伴多模塊一河層的模塊斥數(shù)扇出:一按個模塊直籍接控制的改模塊數(shù)扇入:倚一個模算塊被幾蛙個模塊好直接控父制79軟件結仍構的術刪語從屬:A模塊控制B模塊,則B從屬A統(tǒng)率:A模塊控迅制B模塊,岡則A統(tǒng)率B80C1和C真2中,C澆1’和C掉,C2’醋和C,可撥能是偶然機性塊內(nèi)聯(lián)仁系,把它脊們從各自研的模塊分鼻離出來,柱C1’,蕩C2’和戶C的塊內(nèi)繞聯(lián)系增大黎,模塊獨撲立性增強踩,塊間聯(lián)畢系看起來殲增大一些插,又通過預模塊的合根并,得到休圖(c)面(d)塊匯內(nèi)聯(lián)系大將,塊間聯(lián)莊系相應小毯些(模塊賤個數(shù)少)若。81模塊調(diào)儲用個數(shù)留最好不傭要超過丙五個一個模餡塊具有禍過多的廢調(diào)用模詞塊或被抓調(diào)用模防塊,那芹么它往錯往包含激過多的血功能,府這就是桃這個模娘塊太復混雜除特殊憶情況外城(ca夏se,炸開關)表,應避莫免這種婚結構,素用增加馳層次以等減少調(diào)千用個數(shù)鋒。五個是經(jīng)拼驗得來的82結構化設城計技術(千SD)?SD是I劈燕BM公司您提出的,屯是長期程絞序設計的之經(jīng)驗總結煤。?下面將介攻紹如何建懂立系統(tǒng)的妨模塊結構敬。數(shù)據(jù)流浴圖的類梢型?SD是以絹數(shù)據(jù)流為俘基礎來設栗計軟件的子模塊結構譽,那么我秩們首先要意找出數(shù)據(jù)典流圖的一循些規(guī)律,運從而導出控軟件的初散始結構。831、變換緊類型數(shù)慚據(jù)流圖定義:漂具體較棗明顯的歪輸入,深變換(靠或稱主襖加工)清和輸出井界面的戒數(shù)據(jù)流丹圖。842、事務型數(shù)云據(jù)流圖定義:逗圖中某戚個加工毫將它的肥輸入數(shù)情據(jù)流分穴離成一現(xiàn)串發(fā)散健的數(shù)據(jù)塘流,形訂成許多轉活動的塵路徑(內(nèi)分支)呀,并根刃據(jù)輸入腳的值選片擇其中鞭的一個揭路徑,喬具有這蒙樣特征果的數(shù)據(jù)脂流圖。事務中心蓄:把輸入悄數(shù)據(jù)流分粒離成一串值發(fā)散數(shù)據(jù)顧流的加工里。853、設計步驟畏:總述—疾—模型—奶—實例第一步:餡復查基本登系統(tǒng)模型這一步濫將看到冤軟件的原型,傳統(tǒng)方軍法往往是苗從這一步筋開始的。在做這一物步時,要對以竭前建立集的基本拖數(shù)據(jù)模苗型,再作克最后的趕審查,摸是否有眨遺漏的持輸入或外輸出。第二步剪:復查幕并精化乖數(shù)據(jù)流星圖對數(shù)據(jù)重流圖的弓最后復牙審求精血要慎重田,一定妻要保證錫數(shù)據(jù)流楊圖的正怪確性。不同抄的選擇導出的軟扶件初始模慕塊圖的合冬理性有些孤差異。863、設計步巡壽驟:總薪述——痕模型—稍—實例第三步:船確定數(shù)據(jù)浙流圖的類洗型:變換型與望事務型。變換設計仿:從變換微型數(shù)據(jù)背流圖導抱出軟件石模塊結匙構的過累程。如何劃分劇輸入、主雖加工、輸測出三個部橋分??從兩讀頭向中俗間,先狂找出邏漁輯輸入曾和邏輯功輸出,掀找到它寶們即可目劃分出語三個部突分。8788第四步:炒設計上層勺模塊結構:自頂向羞下的設計燦方法。頂層:露主模塊傭,對應駐于主加用工。一層:霧標準的獎一層,戀對應于榜變換數(shù)縫據(jù)流圖蓬的三個挺部分,役三個模湯塊89第五步:迎設計軟件叨的中下層化模塊結構(基于廁數(shù)據(jù)流差圖)。90第六步援:對初呈始模塊近求精,齡得到合業(yè)理的軟挑件結構慰。912.軟件詳細摧設計(1)詳細設單計基本任緣瑞務(2)結構化挨程序設計肉方法92(1)詳細設形計基本任飯務為每個職模塊進透行詳細的臉算法設計。為模塊內(nèi)閥的數(shù)據(jù)結班構進行設計賴。對數(shù)據(jù)徹庫進行塑物理設控計,即融確定數(shù)據(jù)庫的徑物理結構。其他設計屠。根據(jù)軟遠件系統(tǒng)的妖類型,還車可能要進紙行以下設皂計:代碼設留計、輸努入輸出浴格式設倉計、人裳機對話鞏設計。編寫詳細設計婦說明書。為每一宣個模塊劇設計一船組測試用例。評審。對酬處理過程屆的算法和請數(shù)據(jù)庫的圓物理結構學都要評審憶。93(2)結構化堡程序設計置方法結構化程深序設計是E.W.梨Diji舍kstr鹿a在1965年提出的撤。它的主涉要觀點踐是采用橡自頂向那下、逐些步求精嘆的程序泄設計方凍法;使股用三種白基本控喜制結構績構造程葉序,任逃何程序覽都可由掌順序、屢選擇、飽重復三遲種基本射控制結蔥構構造。詳細描述位處理過程掌常用三種確工具:圖形、粥表格和飲語言。圖形:程序流程雞圖、N-S圖、PAD圖表格:判定表語言:過程設計加語言(PDL)94四、軟雹件編碼軟件編政碼是將接詳細設瓶計得到塌的處理泄過程的柿描述轉婚換為基早于某種右計算機寫語言的緞程序,愁即源程殼序代碼排。需注意根孔據(jù)項目的肥應用領域診選擇適當接的編程語束言、編程發(fā)的軟硬件揉環(huán)境以及項編碼的程集序設計風串格等事項95四、沈軟件編就碼Fou切rth緣瑞Ge掠ner靈ati想on梁Lan傭gua狼ges1st零ge風ner樸ati丑on鬧lan義gua簽gesmach轟ine凱lang哨uage爛s(b把inar頓y)2nd基gene桐rati倡onl肯angu忽agesasse騰mble蠻rs3rd遞gene灶rati址onl欲angu傘ageshigh嶼-lev截ell撕angu啊agesFOR嫁TRA邁N,塊COB晶OL,禍C,蜓C+嘗+…each黑sta彈teme自nti擋nden數(shù)ded但tob然e~泥5-10侵ass供embl谷ers執(zhí)tmts4thgene種rati蕉onl斤angu勁ages(4G覽LS)eac龍hs傻tat糊eme福nt熱ind禿end舊ed抽to剛be船~哄30葬-50蓄as炕sem鞋ble蚊rs齊tmt丸seasi泳er/f鞠aste淘rto梨pro伴gramred唱uce暴sc吃ost帳sdecl聾arat滿ive–say芽what染you城wan皺t,n沈oth踢owt月odo課it帖(e.g洪.,S封QLStr埋uct法ure緣瑞dQ案uer兔yL鼓ang概uag伍e)succ辣ess縣has途been石mix毯edpos評iti慶vesfas封tr滅esp傻ons冊ef列rom加DP痕de內(nèi)pt.wor城kw哥ell纖fo活rD星Ba肅ppsnega卡tive剩sslow塵&i喊neff段icie匹nt96程序風格程序實際登上也是一音種供人閱扎讀的文章毀,有一個白文章的風秧格問題。液應該使程傭序具有良機好的風格得。源程序文串檔化數(shù)據(jù)說明語句結構輸入/您輸出方答法97源程序文隊檔化標識符的牧命名安排注釋程序的銜視覺組潮織98標識符旗的命名符號名喘即標識誼符,包濕括模塊鍵名、變湖量名、纏常量名做、標號賓名、子客程序名夾、數(shù)備據(jù)區(qū)名萄以及緩蚊沖區(qū)名滋等。名字應能襖反映它所扁代表的對狂象,應有搏一定實際紋意義。名字不飼是越長明越好,緩應當選擴擇精煉存的意義產(chǎn)明確的踐名字。浴必要時陶可使用護縮寫名小字,但貸這時要夢注意縮丙寫規(guī)則淡要一致輸,并且唯要給每腥一個名陵字加注慶釋。在一個程輸序中,一莊個變量只亦應用于一皂種用途。99程序的注驚釋夾在程序謙中的注釋直是程序員天與日后的凈程序讀者瀉之間通信脊的重要手衣段。注釋決不泊是可有可耐無的。一些正規(guī)果的程序文汪本中,注緩釋行的數(shù)俊量占到整顯個源程序狠的1/3到1/2,甚至奶更多。注釋分使為序言性劍注釋和功能性異注釋。100序言性注冤釋通常置于角每個程序張模塊的開綁頭部分,澤它應當給絡出程序的腫整體說明牧,對于理嘩解程序本異身具有引墓導作用。估有些軟件末開發(fā)部門直對序言性邊注釋做了陳明確而嚴偷格的規(guī)定炎,要求程提序編制者盞逐項列出片。有關項睜目包括那:程序標題泳;有關本模嚴塊功能和趣目的的說瓶明;主要算臭法;接口說蠻明:包先括調(diào)用撞形式,靜參數(shù)描霞述,子栽程序清偷單;101序言性嗽注釋有關數(shù)攪據(jù)描述對:重要咳的變量舉及其用慎途,約刮束或限絨制條件傍,以及腳其它有禍關信息義;模塊位置星:在哪一捎個源文件玩中,或隸碗屬于哪一都個軟件包奮;開發(fā)簡蠟歷:模漁塊設計秧者,復懲審者,孫復審日芽期,修稅改日期域及有關跑說明等膊。102功能性除注釋功能性注訴釋嵌在源蹦程序體中診,用以描周述其后的執(zhí)語句或程稻序段是在閣做什么工甚作,或是跟執(zhí)行了下棵面的語句溜會怎么樣姿。而不要煤解釋下面匪怎么做。要點:描述一段稈程序,而訊不是每一裁個語句;用縮進和嚴空行,使楊程序與注授釋容易區(qū)求別;注釋要逝正確。103程序的券視覺組望織恰當?shù)乩∮每崭?,可以突駛出運算的指優(yōu)先性,零避免發(fā)生堵運算的錯崖誤。自然的程假序段之間獸可用空行宵隔開;移行也叫驕做向右縮屯格。它是指甲程序中靜的各行書不必都誦在左端且對齊,紛都從第眾一格起違排列。郊這樣做辮使程序仇完全分傭不清層叛次關系遍。對于選朝擇語句靈和循環(huán)拼語句,茅把其中比的程序午段語句缸向右做階梯式辦移行。使程銳序的邏價輯結構勝更加清奇晰。104數(shù)據(jù)說明在設計結階段已免經(jīng)確定孕了數(shù)據(jù)厭結構的裹組織及腦其復雜即性。在多編寫程例序時,傾則需要薪注意數(shù)陜據(jù)說明杜的風格個。為了使程查序中數(shù)據(jù)產(chǎn)說明更易獄于理解和吹維護,必嫂須注意以土下幾點。1.數(shù)據(jù)說明協(xié)的次序應云當規(guī)范化2.說明語饑句中變綿量安排公有序化3.使用注慌釋說明漢復雜數(shù)炊據(jù)結構105數(shù)據(jù)說明1.數(shù)據(jù)說室明的次溜序應當則規(guī)范化數(shù)據(jù)說捷明次序踐規(guī)范化完,使數(shù)凍據(jù)屬性削容易查鬧找,也策有利于兆測試,騰排錯和辛維護。原則上死,數(shù)據(jù)殃說明的乳次序與茶語法無捕關,其笛次序是易任意的響。但出愁于閱讀葡、理解棕和維護擴的需要便,最好妄使其規(guī)遲范化,寸使說明竊的先后魂次序固傘定。2.說明語句參中變量安袍排有序化當多個洪變量名冶在一個保說明語貢句中說王明時,約應當對豎這些變移量按字稱母的順曉序排列兵。帶標踢號的全廚程數(shù)據(jù)鏈也應當疼按字母犯的順序進排列。106數(shù)據(jù)說明3.使用注釋判說明復雜紹數(shù)據(jù)結構如果設計奏了一個復欣雜的數(shù)據(jù)刪結構,應府當使用注陪釋來說明基在程序實給現(xiàn)時這個舉數(shù)據(jù)結構鏈的固有特宮點。107語句結構在設計階橡段確定了窮軟件的邏靠輯流結構項,但構造焦單個語句泳則是編碼聰階段的任及務。語句構追造力求屈簡單,竊直接,不能為籃了片面土追求效窩率而使罵語句復娃雜化。1、在一行浴內(nèi)只寫一柱條語句2、程序編攜寫首先應取當考慮清邀晰性程序編污寫首先際應當考姓慮清晰體性,不切要刻意滾追求技筑巧性,島使程序想編寫得俘過于緊痕湊。3、程序伴要能直獵截了當煩地說明卡程序員乳的用意。108語句結轟構4.除非對效備率有特殊飾的要求,程序編井寫要做負到清晰第一效,效率第赴二。不要胖為了追劈燕求效率盈而喪失摘了清晰性。事實派上,程完序效率殃的提高混主要應舉通過選拋擇高效演的算法糞來實現(xiàn)貿(mào)。5.首先要臥保證程犧序正確,然后才塔要求提姥高速度完。反過低來說,篇在使程唐序高速已運行時腥,首先旋要保證叨它是正宋確的。6.避免使印用臨時挨變量而鹿使可讀綱性下降球。7.讓編譯程研序做簡單郊的優(yōu)化。8.盡可能使破用庫函數(shù)9.避免不捉必要的泡轉移。109語句結構10.盡量只友采用三誘種基本找的控制炭結構來落編寫程砍序。11.避免使晨用空的ELSE語句和IF…哲T紀HEN賣IF?!恼Z句。12.避免采用眉過于復雜速的條件測虧試。13.盡量減少法使用“否壤定”條件乓的條件語沫句14.盡可能幟用通俗萌易懂的免偽碼來終描述程冷序的流耗程,然級后再翻父譯成必難須使用甲的語言面。15.數(shù)據(jù)結脹構要有方利于程餓序的簡竹化。16.要模塊膨化,使婆模塊功陪能盡可揪能單一愉化,模乞塊間的鉛耦合能近夠清晰和可見。110語句結寫構17.利用信息沖隱蔽,確爆保每一個豈模塊的獨朽立性。18.從數(shù)據(jù)腐出發(fā)去貫構造程謠序。19.不要修網(wǎng)補不好愧的程序古,要重襖新編寫兵。也不翻要一味王地追求呢代碼的形復用,磨要重新佛組織。20.對太大索的程序騾,要分擊塊編寫足、測試暫,然后私再集成扮。21.對遞歸朵定義的筆數(shù)據(jù)結酸構盡量匠使用遞盜歸過程倘。111輸入/輸出在設計和懷編碼時都朵應考慮下騎列原則:1.對所有旱的輸入占數(shù)據(jù)都欲要進行億檢驗,購識別錯墊誤的輸撤入,以午保證每筋個數(shù)據(jù)莖的有效悲性;2.檢查輸耀入項的那各種重寄要組合耐的合理罪性,必俱要時報菠告輸入擔狀態(tài)信漆息;3.使得輸歪入的步忘驟和操披作盡可臨能簡單權,并保寬持簡單書的輸入嗚格式;112輸入/輸出4.輸入數(shù)據(jù)里時,應允致許使用自幫由格式輸額入;5.應允許扛缺省值鏟;6.輸入一鐘批數(shù)據(jù)喊時,最飽好使用與輸入結賭束標志餡,而不石要由用堤戶指定票輸入數(shù)呀據(jù)數(shù)目慎;7.在交互腎式輸入襖輸入時泄,要在飾屏幕上鏡使用提斬示符明加確提示榜交互輸鑒入的請前求,指江明可使舅用選擇魔項的種炕類和取乒值范圍成。同時斥,在數(shù)煤據(jù)輸入劃的過程狀中和輸迎入結束慢時,也男要在屏喇幕上給照出狀態(tài)庫信息;8.當程序設束計語言對單輸入/輸液出格式有秀嚴格要求改時,應保夫持輸入格殖式與輸入守語句的要寒求的一致艷性;9.給所有的題輸出加注耳解,并設崇計輸出報劫表格式。113五、軟鬼件測試沃與調(diào)試〈一〉軟件測試軟件測控試概念盼及目的軟件測烤試的原風則軟件測試巡壽方法軟件測試農(nóng)對象測試與軟邊件開發(fā)各書階段的關扛系軟件測東試過程測試用例駝設計114<一>軟件測試1.軟件測試隆概念及目耍的測試階肅段的基判本任務剩:是根據(jù)軟絕件開發(fā)各盤階段的文邊檔資料和蜻程序的內(nèi)折部結構,察精心設計扣一組“高效”的測試替用例,史利用這廁些實例跨執(zhí)行程脊序,找貼出軟件扁中潛在源的各種快錯誤和屢缺陷。軟件測速試是為鵲了發(fā)現(xiàn)湯錯誤而語執(zhí)行程低序的過賞程。在IEE勝E提出的侍軟件工下程標準獲術語中揭,軟件鏈測試是敏指使用辜人工或勉自動手勾段,運吩行或測威試某個雅系統(tǒng)的濁過程,缺其目的是組檢驗軟視件是否獅滿足規(guī)皆定的需金求,或間是清楚寶預期結亂果與實象際結果霸之間的質差異。115<一>軟件測裕試2.測試的艷原則在軟件地測試中碎,應注縣意以下床指導原配則:測試用例醒應由輸入數(shù)據(jù)和預期的逼輸出數(shù)您據(jù)兩部分組儉成。測試用例寶不僅選用合理的輸入數(shù)據(jù)設,還要選贏擇不合理的輸入數(shù)據(jù)逢。除了檢彼查程序吉是否做俯了它應該和做的事,還應該序檢查程序齒是否做了它不應該親做的事。應制定測試計劃并嚴格執(zhí)余行,排除追隨意性。長期保留傾測試用例宏。對發(fā)現(xiàn)裹錯誤較例多的程失序段,駱應進行腔更深入是的測試群。程序員還避免測館試自己盛的程序端。116<一>軟件測蘋試3.測試方法一般分為矩兩大類:植動態(tài)測試撥方法與靜賊態(tài)測試方臭法。(1)靜態(tài)測庫試靜態(tài)測微試指被倒測試程知序不在吼機器上慰運行,遠而是采前用人工鞭檢測和攝計算機相輔助靜走態(tài)分析虹的手段感對程序燃進行檢努測。(2)動態(tài)測試動態(tài)測漆試指通嗚過運行娃程序發(fā)肚現(xiàn)錯誤晴。對軟件產(chǎn)績品進行動代態(tài)測試時件,根據(jù)測浴試用例址的設計效方法不稼同一般有兩再種方法,害分別稱為黑盒測試銀法和白盒測試食法。1174.軟件測試著的對象軟件測賠試并不舌等于程減序測試鋒。軟件測試劉應貫穿于妖軟件定義紐奉與開發(fā)的副整個期間。需求分晨析、概要設計、詳細設計企以及程序慶編碼等各階段柿所得到的文檔,包括需詠求規(guī)格說仗明、概要茶設計規(guī)格蒼說明、詳勸細設計規(guī)播格說明以香及源程序血,都應成飼為軟件認測試的塘對象。118119測試信隔息流120測試信帝息流軟件配女置:軟件艦需求規(guī)染格說明婚、軟件嫁設計規(guī)榜格說明霸、源代藝碼等;測試配隙置:測試計蠶劃、測試辨用例、測當試程序等慈;測試工濱具:測試數(shù)少據(jù)自動生獨成程序、址靜態(tài)分析使程序、動志態(tài)分析程監(jiān)序、測試孝結果分析鉤程序、以利及驅動測繼試的測試稻數(shù)據(jù)庫等驕等。121測試結果潔分析:比較實飽測結果與僑預期結果獎,評價錯跨誤是否發(fā)蔽生。排錯(調(diào)試):對已經(jīng)去發(fā)現(xiàn)的錯侍誤進行錯喘誤定位和錢確定出錯授性質,并粱改正這些樹錯誤,同墊時修改相送關的文檔紋。修正后簡的文檔瘋再測試:直到通萌過測試為臭止。122通過收載集和分淘析測試蔽結果數(shù)劑據(jù),對境軟件建膽立可靠妹性模型利用可逢靠性分喇析,評呀價軟件韻質量:軟件的質狗量和可靠薯性達到可壘以接受的登程度;所做的親測試不浴足以發(fā)辛現(xiàn)嚴重累的錯誤充;如果測試填發(fā)現(xiàn)不了蠅錯誤,可屋以肯定,報測試配置色考慮得不斤夠細致充園分,錯誤枕仍然潛伏發(fā)在軟件中男。1235.測試與承軟件開密發(fā)各階譜段的關特系軟件開潤發(fā)過程辣是一個自頂向下,逐步細沉化的過程軟件計會劃階段儲定義軟向件作用度域軟件需見求分析陪建立軟祖件信息辱域、功萍能和性占能需求苗、約束僅等軟件設計編碼是把攪設計用某炭種程序設疾計語言轉膊換成程序喜代碼測試過毛程是依倍相反順克序安排嘗的自底向羊上,逐步集成的過程。124測試過程盜是依相反禁順序安排瀉的自底向樹上,逐步若集成的過故程。125<一>軟件測試6.軟件測試手過程軟件測試族一般要經(jīng)或過以下四者步測試:(1)單元測艇試主要針對膝模塊的五竟個基本特侍征進行測愚試:模塊接洗口,局新部數(shù)據(jù)霜結構,棚重要的個執(zhí)行路夸徑,錯榜誤處理萄,邊界副條件。(2)集成測試凝也稱組裝橫測試,是在借單元測論試的基碼礎上將蝕所有模睜塊按照猾設計要表求組裝成一美個完整的香系統(tǒng)進行的攀測試。(3)確認測沉試又稱設有效性柄測試,是檢責查軟件烈的功能蠟與性能巨是否與需求囑規(guī)格說鋼明書中徐確定的石指標相吃符合。(4)系統(tǒng)測屢試是將確認頭通過的軟輪件作為計梢算機系統(tǒng)略的一個元放素,與計灣算機硬件諸、外設、帆某些支持肺軟件、數(shù)港據(jù)和人員博等其他元撓素結合在按一起,在實際的使腰用環(huán)境下,對計得算機系統(tǒng)膀進行一系改列的組裝晴測試和確席認測試。1261277.測試用心例設計兩種常棍用的測凡試方法黑盒測蘭試白盒測芳試128黑盒測試把測試對象看做一個黑棋盒子,測試人砌員完全不考慮程序內(nèi)部的滴邏輯結傘構和內(nèi)檢部特性,只依據(jù)程序的需求規(guī)格醬說明書,檢查程腫序的功能明是否符合展它的功能材說明。黑盒測棋試又叫異做功能測試或數(shù)據(jù)驅戴動測試。129黑盒測鈔試方法餓是在程礎序接口期上進行卡測試,漢主要是似為了發(fā)墾現(xiàn)以下欲錯誤:是否有扇不正確避或遺漏庭了的功饞能?在接口惰上,輸入能油否正確振地接受?能否輸出絨正確的結眉果?是否有氧數(shù)據(jù)結絹構錯誤圍或外部掠信息(例如數(shù)極據(jù)文件)訪問錯駝誤?性能上是噸否能夠滿鵝足要求?是否有初連始化或終課止性錯誤?130用黑盒美測試發(fā)怒現(xiàn)程序鋒中的錯薯誤,必挎須在所有可偽能的輸極入條件聞和輸出仍條件中確定攏測試數(shù)植據(jù),來快檢查程堤序是否足都能產(chǎn)濤生正確丹的輸出壺。但這是不可能的。131假設一亭個程序P有輸入量X和Y及輸出量Z。在字長罪為32位的計算乘機上運行陷。若X、Y取整數(shù),穿按黑盒方起法進行窮唯舉測試:可能采遺用的測試數(shù)基據(jù)組:232×232=264如果測稀試一組右數(shù)據(jù)需孫要1毫秒,跑一年工殿作365×24小時,完雨成所有測棄試需5億年。132等價類劃處分等價類劃丹分是一種床典型的黑適盒測試方祥法,使用眠這一方法慌時,完全不考繭慮程序的獨內(nèi)部結構,只依據(jù)詢程序的討規(guī)格說抽明來設踏計測試延用例。等價類劃熔分方法把所有可能乓的輸入數(shù)姜據(jù),即程店序的輸留入域劃分成若恥干部分,然后該從每一盾部分中選取少數(shù)威有代表性織的數(shù)據(jù)做為測饞試用例忘。133等價類劃燈分使用這一凈方法設計址測試用例渾要經(jīng)歷劃分等價租類(列出酒等價類挪表)和選取測跌試用例兩步。劃分等價世類等價類處是指某臉個輸入暗域的子撞集合。梨在該子細集合中餅,各個輸象入數(shù)據(jù)另對于揭梨露程序墊中的錯填誤都是通等效的。測試某乓等價類的叛代表值就改等價于對松這一類其睡它值的測犬試。134等價類立劃分等價類唇的劃分煤有兩種超不同的畢情況:①有效等價花類:是指卸對于程鑼序的規(guī)衰格說明獸來說,渣是合理疤的,有奧意義的川輸入數(shù)婆據(jù)構成偷的集合莫。②無效等悠價類:是指在對于程跨序的規(guī)絲式格說明悠來說,象是不合蝦理的,堡無意義鴨的輸入慣數(shù)據(jù)構樂成的集鞭合。在設計測源試用例時暈,要同時紫考慮有效全等價類和午無效等價殊類的設計大。135劃分等價聰類原則(1)如果輸入染條件規(guī)定駕了取值范圍濟,或值的瓜個數(shù),則可孤以確立章一個有驅效等價釀類和兩杏個無效渡等價類凈。(2)如果輸揭入條件豪規(guī)定了輸入值怠的集合,或者破是規(guī)定調(diào)了“必忠須如何逆”的條綠件,這謹時可確夾立一個訂有效等噸價類和亭一個無頁效等價趟類。(3)如果輸畢入條件平是一個布爾量,則可紋以確定提一個有貞效等價梢類和一支個無效臭等價類配。(4)如果規(guī)重定了輸歪入數(shù)據(jù)袍的一組值,而且疼程序要委對每個豪輸入值地分別進化行處理核。這時脅可為張每一個帶輸入值殃確立一后個有效吹等價類互,此外皮針對這扎組值確幻玉立一個宇無效等將價類,袖它是所醒有不允房誠許的輸據(jù)入值的小集合。(5)如果規(guī)定閉了輸入數(shù)衫據(jù)必須遵獨守的規(guī)蝴則,則可也以確立柱一個有錫效等價什類(符痛合規(guī)則卷)和若焰干個無蹲效等價養(yǎng)類(從印不同角怪度違反估規(guī)則)斗。136白盒測餐試把測試對僻象看做一待個透明的疑盒子,它允許司測試人員掀利用程序投內(nèi)部的邏根輯結構及嗓有關信息歪,設計或駱選擇測試藏用例,對報程序所有邏輯路擁徑進行測試很。通過在不同點借檢查程白序的狀叼態(tài),確定飯實際的裙狀態(tài)是忙否與預賠期的狀匪態(tài)一致青。因此爸白盒測蛋試又稱鐘為結構鉗測試或溜邏輯驅達動測試距。137軟件人植員使用胡白盒測嚷試方法眠,主要擺想對程斗序模塊踩進行如礙下的檢勿查:對程序模淡塊的所有獨立鞠的執(zhí)行路恢徑至少測試奪一次;對所有的較邏輯判偶定,取“真”與取“假”的兩樣種情況閉都至少惹測試一待次;在循環(huán)番的邊界和運行界限內(nèi)執(zhí)行宰循環(huán)體諷;測試內(nèi)部數(shù)箱據(jù)結構被的有效敢性,等。138139對一個叮具有多重選擇搭和循環(huán)嵌伏套的程序春,不同的路密徑數(shù)目可升能是天文細數(shù)字。給出一烏個小程序定的流程圖宮,它包括蕩了一個執(zhí)攻行20次的循荒環(huán)。包含的不好同執(zhí)行路縫徑數(shù)達520條,對每誓一條路徑背進行測試礦需要1毫秒,假桂定一年工北作365×24小時,要頸想把所有床路徑測試載完,需3170年。140邏輯覆蓋語句覆蓋判定覆蓋條件覆蓋判定-條亭件覆蓋條件組合伐覆蓋路徑覆訪蓋。邏輯覆壺蓋是以習程序內(nèi)扶部的邏嶼輯結構屢為基礎批的設計魔測試用方例的技腦術。它典屬白盒輔測試。141例(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdce142L1(ac勤挽e)={(A>1堡)and(B=灰0)}a帝nd{(A=2依)or(X>閣1)}=(A>丈1)and(B=職0)and(A=2烏)or(A>禍1)and(B=0農(nóng))and(X>1大)=(A=2衡)and(B=0屑)or(A>1抓)and(B=裁0)and(X>1駱)(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdce143L2(農(nóng)ab功虧d)=not獻{(A>弓1)and(B=0夜)}andnot{(A=筒2)or(X>堪1)}={n留ot(A>濟1)or法not(B=0草)}an沾d{n蜓ot(A=嘗2)and座no禁t(X>1餅)}=not(A>況1)and延not(A=可2)and糧no燥t(X>1蠶)ornot(B=麗0)andnot(A=2換)and賽not(X>1飄)(A>1)

and

(B=0)(A=2)

or

(X>1)X=X/AX=X+1TTFFabdce144L3(儉ab斤e)=not漿{(A>1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論