【大學(xué)課件】軟件開發(fā)工具與環(huán)境概述-_第1頁
【大學(xué)課件】軟件開發(fā)工具與環(huán)境概述-_第2頁
【大學(xué)課件】軟件開發(fā)工具與環(huán)境概述-_第3頁
【大學(xué)課件】軟件開發(fā)工具與環(huán)境概述-_第4頁
【大學(xué)課件】軟件開發(fā)工具與環(huán)境概述-_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章軟件開發(fā)工具與環(huán)境概述1.1軟件工具概述軟件(開發(fā))工具是輔助和支持其它(應(yīng)用)軟件研制和維護的工具。其目的是為提高軟件生產(chǎn)率、改進軟件使其質(zhì)量進一步提高。1.軟件工具的范圍

其包括成熟的傳統(tǒng)軟件工具:例如操作系統(tǒng)(Windows98,WindowsNT&Linux,Unix)

以及編譯程序、解釋程序、匯編程序等。此外,凡支持需求分析、設(shè)計、編碼、測試、維護等對軟件生存周期各階段的開發(fā)工具和管理工具均是。

docin/sundae_meng第一章軟件開發(fā)工具與環(huán)境概述1.1軟件工具概述docin/1軟件工具概述2.軟件工具提高了工作效率好的軟件工具;軟件人員樂意使用,功能齊全,開發(fā)人員勞動量減少,效率和質(zhì)量均有提高,方便用戶,工作可靠。采用軟件工具開發(fā)的(應(yīng)用)軟件可移植性,有利于標準化程度的提高。便于相互借鑒、推廣。再之,開發(fā)方便的圖形用戶界面使用戶喜歡、愛用、難度低便于推廣使用計算機。例如PowerBuilder即是。故軟件工具是推廣應(yīng)用、開發(fā)應(yīng)用的重要手段。docin/sundae_meng軟件工具概述2.軟件工具提高了工作效率docin/sund2軟件工具概述3.軟件工具的特點易于操作、功能強大、覆蓋面大、可靠性高,且其本身可修改、可擴充。4.軟件工具的評價采用比較的方法:將采用軟件工具研制開發(fā)的軟件項目與不采用軟件工具研制開發(fā)的軟件項目加以比較,得出兩者效率的差異,從而對該軟件工具的作用作出評價。軟件工具的廣泛使用推動軟件理論的發(fā)展。docin/sundae_meng軟件工具概述3.軟件工具的特點docin/sundae_me31.2軟件開發(fā)工具的功能1.認識與描述客觀系統(tǒng)需求分析階段:不采用軟件工具只能結(jié)合經(jīng)驗人自己分析歸納出(抽象出)信息需求、信息流程。而采用軟件工具則可自動分析歸納出信息需求和信息流程。因為對一復(fù)雜系統(tǒng)的認識和理解的工作(這是在軟件開發(fā)工作的第一階段)。這也正是人們希望軟件開發(fā)工具提供幫助的一個重要原因。docin/sundae_meng1.2軟件開發(fā)工具的功能1.認識與描述客觀系統(tǒng)docin/s4軟件開發(fā)工具的功能2.存儲與管理開發(fā)過程中的信息在軟件開發(fā)的各個階段都要產(chǎn)生與使用許多信息。當(dāng)項目規(guī)模比較大時,這些信息量就會大大增加。此外,當(dāng)項目持續(xù)時間比較長時,信息的一致性顯得十分重要。故有關(guān)的信息保護與管理問題就顯得更為突出了。docin/sundae_meng軟件開發(fā)工具的功能2.存儲與管理開發(fā)過程中的信息docin/5軟件開發(fā)工具的功能3.代碼的編寫與生成在整個軟件開發(fā)工作過程中程序編寫工作占了較多的人力、物力和時間,提高代碼的編制速度與效率。目前以第三代語言編程為主,改進主要是從代碼自動生成和軟件摸塊重用兩個方面去考慮。代碼的自動生成對于某些比較固定類型的軟件模塊,可利用某些參數(shù)控制等方法加以實現(xiàn)。至于軟件重用,即軟件開發(fā)標準化,形成軟件構(gòu)件庫(通用的、行業(yè)專用的、企業(yè)專用的等)這是一個遠大而困難的目標。docin/sundae_meng軟件開發(fā)工具的功能3.代碼的編寫與生成docin/sunda6軟件開發(fā)工具的功能4.文擋的編制或生成文擋編寫是軟件開發(fā)中十分重要的一項工作,在這方面,計算機輔助的作用可以得到充分的發(fā)揮。在各種文字處理軟件的基礎(chǔ)上,有不少軟件開發(fā)工具提供這方面的支持與幫助,例如文檔自動生成系統(tǒng)等。其困難在于保持文檔的一致性。此點屬信息管理方面的問題。docin/sundae_meng軟件開發(fā)工具的功能4.文擋的編制或生成docin/sunda7軟件開發(fā)工具的功能5.軟件項目的管理項目管理包括:進度管理、資源管理與費用管理、質(zhì)量管理三個基本內(nèi)容。至今,在項目管理方面已有不少成功的經(jīng)驗、方法與軟件工具。此外,還有兩個特殊問題:為了質(zhì)量管理需有測試方案;另一是版本管理問題,版本的更新,要保持模塊之間使用的一致性。上述五點功能就是人們對軟件開發(fā)工具的希望與要求。docin/sundae_meng軟件開發(fā)工具的功能5.軟件項目的管理docin/sunda81.3軟件開發(fā)工具的特性軟件功能是指軟件能做什么事,即定性地說明能不能的問題,告訴我們該軟件工具能在軟件開發(fā)工程中提供哪些幫助;而性能則是指事情做到什么樣的程度即盡可能定量地說明該軟件開發(fā)工具能做到什么樣的程度,說明這些支持或幫助的程度如何。此外,作為一般的軟件來說,效率、響應(yīng)速度等也需考慮。對于軟件開發(fā)工具來說,以下五點應(yīng)是特別重要的。docin/sundae_meng1.3軟件開發(fā)工具的特性軟件功能是指軟件能做什么事,即定性9軟件開發(fā)工具的特性1.表達能力或描述能力因為(欲開發(fā)的)軟件項目千變?nèi)f化,將某個軟件開發(fā)工具用于某些軟件項目的開發(fā),就要能適應(yīng)那個軟件項目的種種情況。常是根據(jù)使用者的若干參數(shù)來生成特定的代碼段。如果參數(shù)選擇合理、參數(shù)詳盡,充分規(guī)定所需代碼段的各種特征,從而生成自己真正需要的代碼段,則謂之描述能力/表達能力強;反之,如果該軟件工具只能提供很少幾個參數(shù),用戶無選擇余地,從而生成的代碼段就會十分死板,很難符合欲開發(fā)的具體的應(yīng)用軟件的要求,則謂之其描述能力/表達能力差。docin/sundae_meng軟件開發(fā)工具的特性1.表達能力或描述能力docin/sun10軟件開發(fā)工具的特性2.保持信息一致性的能力實際工作要求軟件開發(fā)工具不但能存儲大量的有關(guān)信息,而且要有條不紊地管理信息,管理的主要內(nèi)容就是保持信息的一致性。即:各部分之間的一致;代碼與文檔的一致;功能與結(jié)構(gòu)的一致;這些均需軟件開發(fā)工具提供有效的支持與幫助。docin/sundae_meng軟件開發(fā)工具的特性2.保持信息一致性的能力docin/su11軟件開發(fā)工具的特性3.使用的方便程度人機界面應(yīng)盡量通俗易懂,以吸引使用者參與開發(fā)過程,是否易用是一項重要的性能指標。4.工具的可靠性軟件開發(fā)工具應(yīng)當(dāng)具有足夠的可靠性。因為它涉及的都是軟件開發(fā)過程中的重要信息,絕對不能丟失或弄錯,故可靠性特別重要。docin/sundae_meng軟件開發(fā)工具的特性3.使用的方便程度docin/sund12軟件開發(fā)工具的特性5.對硬件和軟件環(huán)境的要求如果某一軟件開發(fā)工具對硬件、軟件環(huán)境要求太高,會影響它的使用范圍,若一軟件工具對環(huán)境要求太高,則顯得其很“嬌氣”,使用范圍很小。對于綜合的、集成化的軟件開發(fā)工具來說,環(huán)境的要求總會比單項工具要求高??傊?,軟件開發(fā)工具的環(huán)境要求應(yīng)盡量低,這有利于廣泛使用。docin/sundae_meng軟件開發(fā)工具的特性5.對硬件和軟件環(huán)境的要求docin/s131.4軟件開發(fā)工具的分類主要有以下四種分類方法:一、基于工作階段劃分的工具:1.設(shè)計工具它是指在實現(xiàn)階段對人們提供幫助的工具,是最具體的。例如,代碼生成器、測試工具等。2.分析工具

它是指用于支持需求分析的工具,例如數(shù)據(jù)字典管理系統(tǒng)、繪圖專用工具等。3.計劃工具它是從更宏觀的角度去看待軟件開發(fā),把有關(guān)進度、資源、質(zhì)量、驗收情況統(tǒng)一考慮,從而有計劃地組織事實開發(fā)項目。docin/sundae_meng1.4軟件開發(fā)工具的分類主要有以下四種分類方法:doc14軟件開發(fā)工具的分類二、基于集成程度劃分的工具目前,還應(yīng)充分利用各種專用的軟件開發(fā)工具。至于開發(fā)與應(yīng)用集成化的軟件開發(fā)工具是應(yīng)當(dāng)努力研究與探索的課題,而要集成化地、統(tǒng)一地支持軟件開發(fā)全過程的工具,還是相當(dāng)困難的。集成化的軟件開發(fā)工具也常稱為---軟件工作環(huán)境。docin/sundae_meng軟件開發(fā)工具的分類二、基于集成程度劃分的工具docin/su15軟件開發(fā)工具的分類三、基于硬件、軟件的關(guān)系劃分的工具按與硬件和軟件的關(guān)系,軟件開發(fā)工具可分兩類:1.依賴于特定計算機或特定軟件(如某種數(shù)據(jù)庫管理系統(tǒng));2.獨立于硬件與其它軟件的軟件開發(fā)工具;一般來說,設(shè)計工具多是依賴于特定軟件的。例如集成化的軟件開發(fā)工具常常是依賴于機器與軟件的,因此,在研究與使用軟件開發(fā)工具時必須注意。docin/sundae_meng軟件開發(fā)工具的分類三、基于硬件、軟件的關(guān)系劃分的工具doci16軟件開發(fā)工具的分類四、基于應(yīng)用領(lǐng)域劃分的工具按應(yīng)用領(lǐng)域的不同,應(yīng)用軟件可分為:事務(wù)處理、實時應(yīng)用、嵌入式應(yīng)用軟件等。其中事務(wù)處理范圍最廣,從工資、倉庫、會計等單項管理到具有決策能力的管理信息系統(tǒng)(MIS),還有收銀處的各種計費軟件、儲蓄所使用的存款軟件等,均屬此類。docin/sundae_meng軟件開發(fā)工具的分類四、基于應(yīng)用領(lǐng)域劃分的工具docin/su171.5軟件開發(fā)環(huán)境一、軟件開發(fā)環(huán)境的特性1.可用性

用戶友好性、易學(xué)、對項目工作人員的實際支持等。2.自動化程度3.公共性公共性是指覆蓋各種類型用戶、各種軟件開發(fā)活動。4.集成化程度5.適應(yīng)性適應(yīng)性是指符合用戶要求的程度。6.價值得益和成本的比率。

docin/sundae_meng1.5軟件開發(fā)環(huán)境一、軟件開發(fā)環(huán)境的特性docin/sun18軟件開發(fā)環(huán)境二、軟件開發(fā)環(huán)境的結(jié)構(gòu)軟件開發(fā)環(huán)境具有層次式的結(jié)構(gòu),分四層:1.宿主層:基本宿主硬件和軟件。2.核心層:一般包括工具組、環(huán)境數(shù)據(jù)庫和會話系統(tǒng)。3.基本層:一般包括一組工具,如編譯工具、編輯程序、調(diào)試程序、連接程序和裝配程序等。4.應(yīng)用層:以特定的基本層為基礎(chǔ),包括一些補充工具以更好地支援應(yīng)用軟件的研制。docin/sundae_meng軟件開發(fā)環(huán)境二、軟件開發(fā)環(huán)境的結(jié)構(gòu)docin/sundae_19軟件開發(fā)環(huán)境三、軟件開發(fā)工具與環(huán)境的關(guān)系軟件開發(fā)環(huán)境的主要組成成分是軟件工具。不僅需要有眾多的工具來輔助軟件的開發(fā),還需有一個統(tǒng)一的界面。軟件開發(fā)環(huán)境基本組成有三:交互系統(tǒng)、工具集和環(huán)境數(shù)據(jù)庫。軟件開發(fā)工具在軟件開發(fā)環(huán)境中以綜合、一致和整體連貫的形態(tài)來支持軟件的開發(fā)。docin/sundae_meng軟件開發(fā)環(huán)境三、軟件開發(fā)工具與環(huán)境的關(guān)系docin/sund20軟件開發(fā)環(huán)境四、軟件開發(fā)環(huán)境的分類根據(jù)各種軟件環(huán)境的特點,軟件開發(fā)環(huán)境的類型包括:1.按研制目標分類應(yīng)用領(lǐng)域不同,如開發(fā)環(huán)境、項目管理環(huán)境、質(zhì)量保證環(huán)境和維護環(huán)境等。2.按環(huán)境結(jié)構(gòu)分類基于語言的環(huán)境、基于操作系統(tǒng)的環(huán)境和基于方法論的環(huán)境。3.按工作模式分類交互式、批處理式和個人分布式環(huán)境等。。docin/sundae_meng軟件開發(fā)環(huán)境四、軟件開發(fā)環(huán)境的分類docin/sundae_211.6軟件開發(fā)過程任一軟件均有一個生存過程,從定義到開發(fā)、使用和維護,直到最終被廢棄,這段時期稱為生存周期。軟件生存周期分為以下步驟:S1:問題定義S2:可行性研究S3:需求分析S4:概要設(shè)計S5:詳細設(shè)計S6:編碼S7:測試S8:運行與維護軟件生存期分為三個階段:計劃階段、開發(fā)階段和維護階段。docin/sundae_meng1.6軟件開發(fā)過程任一軟件均有一個生存過程,從定義到開發(fā)、221.7常用開發(fā)環(huán)境目前,較流行的操作系統(tǒng)平臺環(huán)境有:Windows,Unix,Linixetc.1.7.1Windows98開發(fā)環(huán)境一、Windows操作系統(tǒng)1.Windows操作系統(tǒng)的特點:面向?qū)ο蟮膱D形用戶界面、一致的用戶接口、圖形輸出和多任務(wù)等。2.Windows編程的四個特點:事件驅(qū)動、消息循環(huán)、圖形輸出、資源共享。docin/sundae_meng1.7常用開發(fā)環(huán)境目前,較流行的操作系統(tǒng)平臺環(huán)境有:doc23常用開發(fā)環(huán)境3.Windows的基本用戶界面對象:包括窗口、標題欄、圖標、光標、插入符號、對話框、控件等。4.Windows應(yīng)用程序的基本組成和生成過程:要經(jīng)過編譯、連接兩個階段。5.Windows應(yīng)用程序的開發(fā)工具:Visual-C++,VisualBasic,Delphi等。6.Windows程序開發(fā):在Windows中,程序的基本單位是窗口,從面向?qū)ο蟮挠^點看,窗口本身就是一個對象。因此,用面向?qū)ο蟮姆椒ㄟM行Windows程序設(shè)計與開發(fā)是很方便的。docin/sundae_meng常用開發(fā)環(huán)境3.Windows的基本用戶界面對象:doc24關(guān)于Windows程序開發(fā)的補充在Windows中,程序的基本單位不是過程和函數(shù),而是窗口。一個窗口是一組數(shù)據(jù)的集合(窗口函數(shù))。從面向?qū)ο蟮慕嵌葋砜?,窗口本身就是一個對象,事件是發(fā)生在窗口上的事情。PowerBuilder中的事件,如命令按鈕有一叫“Clicked”事件,當(dāng)鼠標單擊,操作系統(tǒng)檢測并把這消息傳至該命令按鈕。故PowerBuilder與Windows中的事件存在著映射關(guān)系。docin/sundae_meng關(guān)于Windows程序開發(fā)的補充在Windows中,程序的25二、關(guān)于Windows98操作系統(tǒng)1.Windows98的用戶界面:是以高級GUI為特色的操作系統(tǒng),有許多主要元素:窗口、對話框、消息框、控件等。2.用戶界面元素:有工具欄、狀態(tài)欄、圖象視圖等。3.資源文件:如對話框、菜單欄、光標等。4.事件驅(qū)動系統(tǒng):5.多任務(wù)操作:6.MFC庫:MFC的本質(zhì)就是一個包含微軟公司已定義好的對象類庫,便于對文件的操作、多媒體的使用、數(shù)據(jù)庫的訪問。docin/sundae_meng二、關(guān)于Windows98操作系統(tǒng)1.Windows9826三、Windows98開發(fā)環(huán)境1.用戶接口(1)圖形設(shè)備接口------GDI(2)窗口和對話框------如應(yīng)用窗口、對話框窗口。(3)文本------程序與用戶對話的主要途徑。(4)標準控件------Windows應(yīng)用程序傳送消息。(5)常見控件------如工具欄、狀態(tài)欄等。(6)位圖------包括設(shè)備相關(guān)位圖(DDB)、設(shè)備無關(guān)位圖(DIB)。應(yīng)用程序用DDB在內(nèi)存與屏幕之間傳遞消息,顯示信息圖象。 docin/sundae_meng三、Windows98開發(fā)環(huán)境1.用戶接口docin/27Windows98開發(fā)環(huán)境2.操作系統(tǒng)核心(1)內(nèi)存模式:32位地址模式,內(nèi)存4GB(2)輸入設(shè)備:鼠標、鍵盤。(3)處理文件的方法:利用MFC的文檔/視圖結(jié)構(gòu);3.ActiveX:主要類型有:(1)容器程序(2)服務(wù)器程序(3)自動化程序(4)ActiveX控件docin/sundae_mengWindows98開發(fā)環(huán)境2.操作系統(tǒng)核心docin/28Windows開發(fā)環(huán)境4.多媒體技術(shù)允許程序開發(fā)者創(chuàng)建不同的Windows多媒體程序。5.VC工具(即VisualC++開發(fā)工具)它是可視化應(yīng)用程序開發(fā)工具,實現(xiàn)了軟件的自動生成和可視化編程。6.Win32API(為編程接口)7.Internet(InternetExplorer).docin/sundae_mengWindows開發(fā)環(huán)境4.多媒體技術(shù)docin/sund291.7.2WindowsNT開發(fā)環(huán)境一、WindowsNT操作系統(tǒng)1.WindowsNT是Microsoft公司的網(wǎng)絡(luò)操作系統(tǒng),是一個完整的32位操作系統(tǒng),兼容性好可自動建立適合的運行環(huán)境。2.WindowsNT的工作模式:能支持DOS,OS/2,Windows程序。3.WindowsNT是一個多任務(wù)操作系統(tǒng)。可同時運行兩個以上的程序。4.WindowsNT是使用基于調(diào)用的接口來訪問操作系統(tǒng)的,應(yīng)用程序編程接口----API.docin/sundae_meng1.7.2WindowsNT開發(fā)環(huán)境一、Window30WindowsNT操作系統(tǒng)5.WindowsNT的動態(tài)鏈接庫DLL在編譯過程中,調(diào)用API函數(shù)只要加入這些函數(shù)的裝入指令,在DLL中的位置和函數(shù)名就可以了。節(jié)約空間。6.WindowsNT與Windows有兩點不同:第一,WindowsNT支持全32位地址使用虛擬內(nèi)存;第二,多任務(wù)的實現(xiàn)方法不同,Windows采用非搶占式任務(wù)轉(zhuǎn)換方式,而WindowsNT采用搶占式,屬時間片的任務(wù)機制。docin/sundae_mengWindowsNT操作系統(tǒng)5.WindowsNT的31二、WindowsNT程序開發(fā)環(huán)境1.WindowsNT操作系統(tǒng)核心(1)WindowsNT的運行模式有兩種:用戶模式內(nèi)核模式其中用戶模式下,應(yīng)用程序不能直接訪問硬件,而只限于所分配的地址空間。而內(nèi)核模式,在此模式下,允許對所有內(nèi)存進行訪問。docin/sundae_meng二、WindowsNT程序開發(fā)環(huán)境1.WindowsN32WindowsNT操作系統(tǒng)核心(2)WindowsNT的內(nèi)存模式:這是一種請求式頁面調(diào)度的虛擬內(nèi)存系統(tǒng)。它基于平面式32位線性地址空間,允訪多達4GB內(nèi)存。它以4KB大小的頁面來進行物理內(nèi)存與虛擬內(nèi)存的映射。這樣的線性地址調(diào)度使WindowsNT易于移植,內(nèi)存使用更有效??梢栽试S用戶寫更大的應(yīng)用程序,同時也允許用戶在同一時間運行超出系統(tǒng)物理內(nèi)存允許的應(yīng)用程序。docin/sundae_mengWindowsNT操作系統(tǒng)核心(2)Windows33WindowsNT操作系統(tǒng)核心(3)WindowsNT提供了一些實現(xiàn)面向用戶的程序設(shè)計工具。該組件避免了技術(shù)的復(fù)雜性,使軟件更加易于開發(fā)。WindowsNT操作系統(tǒng)中包括了Internet信息服務(wù)器、通用網(wǎng)關(guān)接口、Internet服務(wù)器應(yīng)用程序設(shè)計接口、活動服務(wù)器頁面、使用ATL的事務(wù)服務(wù)器和消息隊列。docin/sundae_mengWindowsNT操作系統(tǒng)核心(3)WindowsNT34WindowsNT操作系統(tǒng)核心(4)Internet信息服務(wù)器:提供了能完全集成到MicroSoftWindowsNT操作系統(tǒng)中的WWW,FTPetc使成快捷、安全、易于管理的系統(tǒng)。(5)通用網(wǎng)關(guān)接口-----CGI:CGI的主要任務(wù)是將環(huán)境變量傳遞給程序。(6)Internet服務(wù)器應(yīng)用程序設(shè)計接口-----ISAPI:ISAPI應(yīng)用程序也是一種運行時間動態(tài)鏈接庫(DLL)對于所有訪問它的客戶,通常被加載到Web服務(wù)器相同的內(nèi)存地址空間。docin/sundae_mengWindowsNT操作系統(tǒng)核心(4)Internet35WindowsNT操作系統(tǒng)核心(7)活動服務(wù)頁面-----ASP:ASP是一個服務(wù)器端口的腳本環(huán)境,它允許使用在HTML文件中編寫的腳本命令來創(chuàng)建動態(tài)的內(nèi)容。(8)MicroSoft事務(wù)服務(wù)器-----MTS這是分布式應(yīng)用程序的事務(wù)處理系統(tǒng)。(9)消息隊列:用于異步通信。docin/sundae_mengWindowsNT操作系統(tǒng)核心(7)活動服務(wù)頁面---36WindowsNT程序開發(fā)環(huán)境2.WindowsNT是面向圖形的,即提供用戶接口GUI.它是WindowsNT為程序開發(fā)者提供的交互工具。其有三種基本窗口:a.消息框:向用戶顯示信息并等待響應(yīng)。

b.菜單:提供內(nèi)置支持。

c.對話框:交互窗口。docin/sundae_mengWindowsNT程序開發(fā)環(huán)境2.WindowsNT37WindowsNT程序開發(fā)環(huán)境3.對話框是WindowsNT用戶界面的重要組成部分。它通過一個或多個控制來與用戶交互。4.傳通方式寫的程序總在調(diào)用操作西系統(tǒng),而WindowsNT下則不同,它采用交互方式與程序進行交互。5.WindowsNT的API函數(shù)給出了所有由WindowsNT完成的系統(tǒng)功能。docin/sundae_mengWindowsNT程序開發(fā)環(huán)境3.對話框是Wind38WindowsNT程序開發(fā)環(huán)境6.WindowsNT提供了許多正文交互功能。在WindowsNT下,用戶可無限制地在用戶區(qū)內(nèi)控制顯示和管理正文。7.通常Windows程序是按圖形、菜單、對話框來設(shè)計的。而Windows是提供了很多新的API函數(shù)(又稱控制臺函數(shù))8.WindowsNT程序中使用多任務(wù)機制。9.WindowsNT還采用特殊功能---同步。docin/sundae_mengWindowsNT程序開發(fā)環(huán)境6.WindowsNT39第一章軟件開發(fā)工具與環(huán)境概述1.1軟件工具概述軟件(開發(fā))工具是輔助和支持其它(應(yīng)用)軟件研制和維護的工具。其目的是為提高軟件生產(chǎn)率、改進軟件使其質(zhì)量進一步提高。1.軟件工具的范圍

其包括成熟的傳統(tǒng)軟件工具:例如操作系統(tǒng)(Windows98,WindowsNT&Linux,Unix)

以及編譯程序、解釋程序、匯編程序等。此外,凡支持需求分析、設(shè)計、編碼、測試、維護等對軟件生存周期各階段的開發(fā)工具和管理工具均是。

docin/sundae_meng第一章軟件開發(fā)工具與環(huán)境概述1.1軟件工具概述docin/40軟件工具概述2.軟件工具提高了工作效率好的軟件工具;軟件人員樂意使用,功能齊全,開發(fā)人員勞動量減少,效率和質(zhì)量均有提高,方便用戶,工作可靠。采用軟件工具開發(fā)的(應(yīng)用)軟件可移植性,有利于標準化程度的提高。便于相互借鑒、推廣。再之,開發(fā)方便的圖形用戶界面使用戶喜歡、愛用、難度低便于推廣使用計算機。例如PowerBuilder即是。故軟件工具是推廣應(yīng)用、開發(fā)應(yīng)用的重要手段。docin/sundae_meng軟件工具概述2.軟件工具提高了工作效率docin/sund41軟件工具概述3.軟件工具的特點易于操作、功能強大、覆蓋面大、可靠性高,且其本身可修改、可擴充。4.軟件工具的評價采用比較的方法:將采用軟件工具研制開發(fā)的軟件項目與不采用軟件工具研制開發(fā)的軟件項目加以比較,得出兩者效率的差異,從而對該軟件工具的作用作出評價。軟件工具的廣泛使用推動軟件理論的發(fā)展。docin/sundae_meng軟件工具概述3.軟件工具的特點docin/sundae_me421.2軟件開發(fā)工具的功能1.認識與描述客觀系統(tǒng)需求分析階段:不采用軟件工具只能結(jié)合經(jīng)驗人自己分析歸納出(抽象出)信息需求、信息流程。而采用軟件工具則可自動分析歸納出信息需求和信息流程。因為對一復(fù)雜系統(tǒng)的認識和理解的工作(這是在軟件開發(fā)工作的第一階段)。這也正是人們希望軟件開發(fā)工具提供幫助的一個重要原因。docin/sundae_meng1.2軟件開發(fā)工具的功能1.認識與描述客觀系統(tǒng)docin/s43軟件開發(fā)工具的功能2.存儲與管理開發(fā)過程中的信息在軟件開發(fā)的各個階段都要產(chǎn)生與使用許多信息。當(dāng)項目規(guī)模比較大時,這些信息量就會大大增加。此外,當(dāng)項目持續(xù)時間比較長時,信息的一致性顯得十分重要。故有關(guān)的信息保護與管理問題就顯得更為突出了。docin/sundae_meng軟件開發(fā)工具的功能2.存儲與管理開發(fā)過程中的信息docin/44軟件開發(fā)工具的功能3.代碼的編寫與生成在整個軟件開發(fā)工作過程中程序編寫工作占了較多的人力、物力和時間,提高代碼的編制速度與效率。目前以第三代語言編程為主,改進主要是從代碼自動生成和軟件摸塊重用兩個方面去考慮。代碼的自動生成對于某些比較固定類型的軟件模塊,可利用某些參數(shù)控制等方法加以實現(xiàn)。至于軟件重用,即軟件開發(fā)標準化,形成軟件構(gòu)件庫(通用的、行業(yè)專用的、企業(yè)專用的等)這是一個遠大而困難的目標。docin/sundae_meng軟件開發(fā)工具的功能3.代碼的編寫與生成docin/sunda45軟件開發(fā)工具的功能4.文擋的編制或生成文擋編寫是軟件開發(fā)中十分重要的一項工作,在這方面,計算機輔助的作用可以得到充分的發(fā)揮。在各種文字處理軟件的基礎(chǔ)上,有不少軟件開發(fā)工具提供這方面的支持與幫助,例如文檔自動生成系統(tǒng)等。其困難在于保持文檔的一致性。此點屬信息管理方面的問題。docin/sundae_meng軟件開發(fā)工具的功能4.文擋的編制或生成docin/sunda46軟件開發(fā)工具的功能5.軟件項目的管理項目管理包括:進度管理、資源管理與費用管理、質(zhì)量管理三個基本內(nèi)容。至今,在項目管理方面已有不少成功的經(jīng)驗、方法與軟件工具。此外,還有兩個特殊問題:為了質(zhì)量管理需有測試方案;另一是版本管理問題,版本的更新,要保持模塊之間使用的一致性。上述五點功能就是人們對軟件開發(fā)工具的希望與要求。docin/sundae_meng軟件開發(fā)工具的功能5.軟件項目的管理docin/sunda471.3軟件開發(fā)工具的特性軟件功能是指軟件能做什么事,即定性地說明能不能的問題,告訴我們該軟件工具能在軟件開發(fā)工程中提供哪些幫助;而性能則是指事情做到什么樣的程度即盡可能定量地說明該軟件開發(fā)工具能做到什么樣的程度,說明這些支持或幫助的程度如何。此外,作為一般的軟件來說,效率、響應(yīng)速度等也需考慮。對于軟件開發(fā)工具來說,以下五點應(yīng)是特別重要的。docin/sundae_meng1.3軟件開發(fā)工具的特性軟件功能是指軟件能做什么事,即定性48軟件開發(fā)工具的特性1.表達能力或描述能力因為(欲開發(fā)的)軟件項目千變?nèi)f化,將某個軟件開發(fā)工具用于某些軟件項目的開發(fā),就要能適應(yīng)那個軟件項目的種種情況。常是根據(jù)使用者的若干參數(shù)來生成特定的代碼段。如果參數(shù)選擇合理、參數(shù)詳盡,充分規(guī)定所需代碼段的各種特征,從而生成自己真正需要的代碼段,則謂之描述能力/表達能力強;反之,如果該軟件工具只能提供很少幾個參數(shù),用戶無選擇余地,從而生成的代碼段就會十分死板,很難符合欲開發(fā)的具體的應(yīng)用軟件的要求,則謂之其描述能力/表達能力差。docin/sundae_meng軟件開發(fā)工具的特性1.表達能力或描述能力docin/sun49軟件開發(fā)工具的特性2.保持信息一致性的能力實際工作要求軟件開發(fā)工具不但能存儲大量的有關(guān)信息,而且要有條不紊地管理信息,管理的主要內(nèi)容就是保持信息的一致性。即:各部分之間的一致;代碼與文檔的一致;功能與結(jié)構(gòu)的一致;這些均需軟件開發(fā)工具提供有效的支持與幫助。docin/sundae_meng軟件開發(fā)工具的特性2.保持信息一致性的能力docin/su50軟件開發(fā)工具的特性3.使用的方便程度人機界面應(yīng)盡量通俗易懂,以吸引使用者參與開發(fā)過程,是否易用是一項重要的性能指標。4.工具的可靠性軟件開發(fā)工具應(yīng)當(dāng)具有足夠的可靠性。因為它涉及的都是軟件開發(fā)過程中的重要信息,絕對不能丟失或弄錯,故可靠性特別重要。docin/sundae_meng軟件開發(fā)工具的特性3.使用的方便程度docin/sund51軟件開發(fā)工具的特性5.對硬件和軟件環(huán)境的要求如果某一軟件開發(fā)工具對硬件、軟件環(huán)境要求太高,會影響它的使用范圍,若一軟件工具對環(huán)境要求太高,則顯得其很“嬌氣”,使用范圍很小。對于綜合的、集成化的軟件開發(fā)工具來說,環(huán)境的要求總會比單項工具要求高??傊?,軟件開發(fā)工具的環(huán)境要求應(yīng)盡量低,這有利于廣泛使用。docin/sundae_meng軟件開發(fā)工具的特性5.對硬件和軟件環(huán)境的要求docin/s521.4軟件開發(fā)工具的分類主要有以下四種分類方法:一、基于工作階段劃分的工具:1.設(shè)計工具它是指在實現(xiàn)階段對人們提供幫助的工具,是最具體的。例如,代碼生成器、測試工具等。2.分析工具

它是指用于支持需求分析的工具,例如數(shù)據(jù)字典管理系統(tǒng)、繪圖專用工具等。3.計劃工具它是從更宏觀的角度去看待軟件開發(fā),把有關(guān)進度、資源、質(zhì)量、驗收情況統(tǒng)一考慮,從而有計劃地組織事實開發(fā)項目。docin/sundae_meng1.4軟件開發(fā)工具的分類主要有以下四種分類方法:doc53軟件開發(fā)工具的分類二、基于集成程度劃分的工具目前,還應(yīng)充分利用各種專用的軟件開發(fā)工具。至于開發(fā)與應(yīng)用集成化的軟件開發(fā)工具是應(yīng)當(dāng)努力研究與探索的課題,而要集成化地、統(tǒng)一地支持軟件開發(fā)全過程的工具,還是相當(dāng)困難的。集成化的軟件開發(fā)工具也常稱為---軟件工作環(huán)境。docin/sundae_meng軟件開發(fā)工具的分類二、基于集成程度劃分的工具docin/su54軟件開發(fā)工具的分類三、基于硬件、軟件的關(guān)系劃分的工具按與硬件和軟件的關(guān)系,軟件開發(fā)工具可分兩類:1.依賴于特定計算機或特定軟件(如某種數(shù)據(jù)庫管理系統(tǒng));2.獨立于硬件與其它軟件的軟件開發(fā)工具;一般來說,設(shè)計工具多是依賴于特定軟件的。例如集成化的軟件開發(fā)工具常常是依賴于機器與軟件的,因此,在研究與使用軟件開發(fā)工具時必須注意。docin/sundae_meng軟件開發(fā)工具的分類三、基于硬件、軟件的關(guān)系劃分的工具doci55軟件開發(fā)工具的分類四、基于應(yīng)用領(lǐng)域劃分的工具按應(yīng)用領(lǐng)域的不同,應(yīng)用軟件可分為:事務(wù)處理、實時應(yīng)用、嵌入式應(yīng)用軟件等。其中事務(wù)處理范圍最廣,從工資、倉庫、會計等單項管理到具有決策能力的管理信息系統(tǒng)(MIS),還有收銀處的各種計費軟件、儲蓄所使用的存款軟件等,均屬此類。docin/sundae_meng軟件開發(fā)工具的分類四、基于應(yīng)用領(lǐng)域劃分的工具docin/su561.5軟件開發(fā)環(huán)境一、軟件開發(fā)環(huán)境的特性1.可用性

用戶友好性、易學(xué)、對項目工作人員的實際支持等。2.自動化程度3.公共性公共性是指覆蓋各種類型用戶、各種軟件開發(fā)活動。4.集成化程度5.適應(yīng)性適應(yīng)性是指符合用戶要求的程度。6.價值得益和成本的比率。

docin/sundae_meng1.5軟件開發(fā)環(huán)境一、軟件開發(fā)環(huán)境的特性docin/sun57軟件開發(fā)環(huán)境二、軟件開發(fā)環(huán)境的結(jié)構(gòu)軟件開發(fā)環(huán)境具有層次式的結(jié)構(gòu),分四層:1.宿主層:基本宿主硬件和軟件。2.核心層:一般包括工具組、環(huán)境數(shù)據(jù)庫和會話系統(tǒng)。3.基本層:一般包括一組工具,如編譯工具、編輯程序、調(diào)試程序、連接程序和裝配程序等。4.應(yīng)用層:以特定的基本層為基礎(chǔ),包括一些補充工具以更好地支援應(yīng)用軟件的研制。docin/sundae_meng軟件開發(fā)環(huán)境二、軟件開發(fā)環(huán)境的結(jié)構(gòu)docin/sundae_58軟件開發(fā)環(huán)境三、軟件開發(fā)工具與環(huán)境的關(guān)系軟件開發(fā)環(huán)境的主要組成成分是軟件工具。不僅需要有眾多的工具來輔助軟件的開發(fā),還需有一個統(tǒng)一的界面。軟件開發(fā)環(huán)境基本組成有三:交互系統(tǒng)、工具集和環(huán)境數(shù)據(jù)庫。軟件開發(fā)工具在軟件開發(fā)環(huán)境中以綜合、一致和整體連貫的形態(tài)來支持軟件的開發(fā)。docin/sundae_meng軟件開發(fā)環(huán)境三、軟件開發(fā)工具與環(huán)境的關(guān)系docin/sund59軟件開發(fā)環(huán)境四、軟件開發(fā)環(huán)境的分類根據(jù)各種軟件環(huán)境的特點,軟件開發(fā)環(huán)境的類型包括:1.按研制目標分類應(yīng)用領(lǐng)域不同,如開發(fā)環(huán)境、項目管理環(huán)境、質(zhì)量保證環(huán)境和維護環(huán)境等。2.按環(huán)境結(jié)構(gòu)分類基于語言的環(huán)境、基于操作系統(tǒng)的環(huán)境和基于方法論的環(huán)境。3.按工作模式分類交互式、批處理式和個人分布式環(huán)境等。。docin/sundae_meng軟件開發(fā)環(huán)境四、軟件開發(fā)環(huán)境的分類docin/sundae_601.6軟件開發(fā)過程任一軟件均有一個生存過程,從定義到開發(fā)、使用和維護,直到最終被廢棄,這段時期稱為生存周期。軟件生存周期分為以下步驟:S1:問題定義S2:可行性研究S3:需求分析S4:概要設(shè)計S5:詳細設(shè)計S6:編碼S7:測試S8:運行與維護軟件生存期分為三個階段:計劃階段、開發(fā)階段和維護階段。docin/sundae_meng1.6軟件開發(fā)過程任一軟件均有一個生存過程,從定義到開發(fā)、611.7常用開發(fā)環(huán)境目前,較流行的操作系統(tǒng)平臺環(huán)境有:Windows,Unix,Linixetc.1.7.1Windows98開發(fā)環(huán)境一、Windows操作系統(tǒng)1.Windows操作系統(tǒng)的特點:面向?qū)ο蟮膱D形用戶界面、一致的用戶接口、圖形輸出和多任務(wù)等。2.Windows編程的四個特點:事件驅(qū)動、消息循環(huán)、圖形輸出、資源共享。docin/sundae_meng1.7常用開發(fā)環(huán)境目前,較流行的操作系統(tǒng)平臺環(huán)境有:doc62常用開發(fā)環(huán)境3.Windows的基本用戶界面對象:包括窗口、標題欄、圖標、光標、插入符號、對話框、控件等。4.Windows應(yīng)用程序的基本組成和生成過程:要經(jīng)過編譯、連接兩個階段。5.Windows應(yīng)用程序的開發(fā)工具:Visual-C++,VisualBasic,Delphi等。6.Windows程序開發(fā):在Windows中,程序的基本單位是窗口,從面向?qū)ο蟮挠^點看,窗口本身就是一個對象。因此,用面向?qū)ο蟮姆椒ㄟM行Windows程序設(shè)計與開發(fā)是很方便的。docin/sundae_meng常用開發(fā)環(huán)境3.Windows的基本用戶界面對象:doc63關(guān)于Windows程序開發(fā)的補充在Windows中,程序的基本單位不是過程和函數(shù),而是窗口。一個窗口是一組數(shù)據(jù)的集合(窗口函數(shù))。從面向?qū)ο蟮慕嵌葋砜?,窗口本身就是一個對象,事件是發(fā)生在窗口上的事情。PowerBuilder中的事件,如命令按鈕有一叫“Clicked”事件,當(dāng)鼠標單擊,操作系統(tǒng)檢測并把這消息傳至該命令按鈕。故PowerBuilder與Windows中的事件存在著映射關(guān)系。docin/sundae_meng關(guān)于Windows程序開發(fā)的補充在Windows中,程序的64二、關(guān)于Windows98操作系統(tǒng)1.Windows98的用戶界面:是以高級GUI為特色的操作系統(tǒng),有許多主要元素:窗口、對話框、消息框、控件等。2.用戶界面元素:有工具欄、狀態(tài)欄、圖象視圖等。3.資源文件:如對話框、菜單欄、光標等。4.事件驅(qū)動系統(tǒng):5.多任務(wù)操作:6.MFC庫:MFC的本質(zhì)就是一個包含微軟公司已定義好的對象類庫,便于對文件的操作、多媒體的使用、數(shù)據(jù)庫的訪問。docin/sundae_meng二、關(guān)于Windows98操作系統(tǒng)1.Windows9865三、Windows98開發(fā)環(huán)境1.用戶接口(1)圖形設(shè)備接口------GDI(2)窗口和對話框------如應(yīng)用窗口、對話框窗口。(3)文本------程序與用戶對話的主要途徑。(4)標準控件------Windows應(yīng)用程序傳送消息。(5)常見控件------如工具欄、狀態(tài)欄等。(6)位圖------包括設(shè)備相關(guān)位圖(DDB)、設(shè)備無關(guān)位圖(DIB)。應(yīng)用程序用DDB在內(nèi)存與屏幕之間傳遞消息,顯示信息圖象。 docin/sundae_meng三、Windows98開發(fā)環(huán)境1.用戶接口docin/66Windows98開發(fā)環(huán)境2.操作系統(tǒng)核心(1)內(nèi)存模式:32位地址模式,內(nèi)存4GB(2)輸入設(shè)備:鼠標、鍵盤。(3)處理文件的方法:利用MFC的文檔/視圖結(jié)構(gòu);3.ActiveX:主要類型有:(1)容器程序(2)服務(wù)器程序(3)自動化程序(4)ActiveX控件docin/sundae_mengWindows98開發(fā)環(huán)境2.操作系統(tǒng)核心docin/67Windows開發(fā)環(huán)境4.多媒體技術(shù)允許程序開發(fā)者創(chuàng)建不同的Windows多媒體程序。5.VC工具(即VisualC++開發(fā)工具)它是可視化應(yīng)用程序開發(fā)工具,實現(xiàn)了軟件的自動生成和可視化編程。6.Win32API(為編程接口)7.Internet(InternetExplorer).docin/sundae_mengWindows開發(fā)環(huán)境4.多媒體技術(shù)docin/sund681.7.2WindowsNT開發(fā)環(huán)境一、WindowsNT操作系統(tǒng)1.WindowsNT是Microsoft公司的網(wǎng)絡(luò)操作系統(tǒng),是一個完整的32位操作系統(tǒng),兼容性好可自動建立適合的運行環(huán)境。2.WindowsNT的工作模式:能支持DOS,OS/2,Windows程序。3.WindowsNT是一個多任務(wù)操作系統(tǒng)??赏瑫r運行兩個以上的程序。4.WindowsNT是使用基于調(diào)用的接口來訪問操作系統(tǒng)的,應(yīng)用程序編程接口----API.docin/sundae_meng1.7.2WindowsNT開發(fā)環(huán)境一、Window69WindowsNT操作系統(tǒng)5.WindowsNT的動態(tài)鏈接庫DLL在編譯過程中,調(diào)用API函數(shù)只要加入這些函數(shù)的裝入指令,在DLL中的位置和函數(shù)名就可以了。節(jié)約空間。6.WindowsNT與Windows有兩點不同:第一,WindowsNT支持全32位地址使用虛擬內(nèi)存;第二,多任務(wù)的實現(xiàn)方法不同,Windows采用非搶占式任務(wù)轉(zhuǎn)換方式,而WindowsNT采用搶占式,屬時間片的任務(wù)機制。docin/sundae_mengWindowsNT操作系統(tǒng)5.WindowsNT的70二、WindowsNT程序開發(fā)環(huán)境1.WindowsNT操作系統(tǒng)核心(1)WindowsNT的運行模式有兩種:用戶

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論