計(jì)算機(jī)導(dǎo)論(第5版) 課件 第7章-軟件開(kāi)發(fā)知識(shí)_第1頁(yè)
計(jì)算機(jī)導(dǎo)論(第5版) 課件 第7章-軟件開(kāi)發(fā)知識(shí)_第2頁(yè)
計(jì)算機(jī)導(dǎo)論(第5版) 課件 第7章-軟件開(kāi)發(fā)知識(shí)_第3頁(yè)
計(jì)算機(jī)導(dǎo)論(第5版) 課件 第7章-軟件開(kāi)發(fā)知識(shí)_第4頁(yè)
計(jì)算機(jī)導(dǎo)論(第5版) 課件 第7章-軟件開(kāi)發(fā)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)導(dǎo)論第7章軟件開(kāi)發(fā)知識(shí)目錄CONTENTS03數(shù)據(jù)庫(kù)的發(fā)展01計(jì)算機(jī)軟件概述02數(shù)據(jù)庫(kù)原理及應(yīng)用0405軟件工程軟件開(kāi)發(fā)過(guò)程計(jì)算機(jī)軟件概述系統(tǒng)軟件;應(yīng)用軟件/01計(jì)算機(jī)軟件的作用只有硬件的計(jì)算機(jī)是不能完成任何工作的,在硬件的基礎(chǔ)上,配置合適的軟件,才能充分發(fā)揮計(jì)算機(jī)的整體功能。

硬件是計(jì)算機(jī)的軀體,軟件是計(jì)算機(jī)的靈魂。

計(jì)算機(jī)專業(yè)人員的一項(xiàng)重要工作是開(kāi)發(fā)軟件,開(kāi)發(fā)軟件(特別是中大規(guī)模軟件)以程序設(shè)計(jì)能力為基礎(chǔ),以軟件工程知識(shí)作指導(dǎo),以數(shù)據(jù)庫(kù)知識(shí)為支撐。程序是完成一定功能的指令或語(yǔ)句的序列。軟件=程序+文檔。系統(tǒng)軟件系統(tǒng)軟件靠近硬件層,其功能主要是管理計(jì)算機(jī)軟硬件資源,與具體應(yīng)用領(lǐng)域無(wú)關(guān),為應(yīng)用軟件提供一些基本的、共同的功能支持。系統(tǒng)軟件并不能解決具體應(yīng)用問(wèn)題,但解決具體問(wèn)題的應(yīng)用軟件要在系統(tǒng)軟件的支持下才能開(kāi)發(fā)和運(yùn)行。系統(tǒng)軟件主要包括操作系統(tǒng)、語(yǔ)言翻譯程序和數(shù)據(jù)庫(kù)管理系統(tǒng)等。系統(tǒng)軟件操作系統(tǒng)能否充分發(fā)揮計(jì)算機(jī)硬件的性能,操作系統(tǒng)起著非常重要的作用;使用者能否方便地操作使用計(jì)算機(jī),操作系統(tǒng)同樣發(fā)揮著重要作用。從微型機(jī)到超級(jí)計(jì)算機(jī)都必須在其硬件平臺(tái)上加載相應(yīng)的操作系統(tǒng)之后,才能構(gòu)成一個(gè)完整的、功能強(qiáng)大的計(jì)算機(jī)系統(tǒng)。也只有在操作系統(tǒng)的支持下,其他系統(tǒng)軟件和各種應(yīng)用軟件才能開(kāi)發(fā)和運(yùn)行。操作系統(tǒng)(OS)可定義為:有效地組織和管理計(jì)算機(jī)系統(tǒng)中的硬件和軟件資源,合理地組織計(jì)算機(jī)工作流程,控制程序的執(zhí)行,并向用戶提供多種服務(wù)功能及友好界面,方便用戶使用計(jì)算機(jī)的系統(tǒng)軟件。目前,常用的操作系統(tǒng)是Windows、macOS、UNIX和Linux等。系統(tǒng)軟件語(yǔ)言翻譯程序程序設(shè)計(jì)語(yǔ)言大體經(jīng)歷了機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言三個(gè)階段。機(jī)器語(yǔ)言的優(yōu)點(diǎn):機(jī)器語(yǔ)言程序能夠直接在計(jì)算機(jī)上執(zhí)行。匯編語(yǔ)言和高級(jí)語(yǔ)言的出現(xiàn),給程序設(shè)計(jì)帶來(lái)了很大的方便。但是,用匯編語(yǔ)言或高級(jí)語(yǔ)言編寫(xiě)出的源程序,計(jì)算機(jī)并不能直接執(zhí)行,需要翻譯機(jī)器語(yǔ)言程序才能執(zhí)行。人們開(kāi)發(fā)了相應(yīng)的翻譯程序,用于匯編語(yǔ)言源程序的翻譯程序叫匯編程序,用于高級(jí)語(yǔ)言源程序的翻譯程序叫解釋程序或編譯程序。各種匯編程序和編譯程序/解釋程序都屬于系統(tǒng)軟件。目前常用的高級(jí)語(yǔ)言有Python、C、C++、C#和Java等。系統(tǒng)軟件數(shù)據(jù)庫(kù)管理系統(tǒng)計(jì)算機(jī)應(yīng)用面最廣的一個(gè)領(lǐng)域是信息管理,信息管理的關(guān)鍵技術(shù)是數(shù)據(jù)庫(kù)技術(shù),把信息存入數(shù)據(jù)庫(kù)中并編寫(xiě)相應(yīng)的數(shù)據(jù)庫(kù)應(yīng)用程序是開(kāi)發(fā)信息管理系統(tǒng)的主要工作。如果沒(méi)有數(shù)據(jù)庫(kù)管理系統(tǒng)提供支持環(huán)境,數(shù)據(jù)庫(kù)的建立及數(shù)據(jù)庫(kù)應(yīng)用程序的開(kāi)發(fā)是很困難的,甚至無(wú)法實(shí)現(xiàn)。數(shù)據(jù)庫(kù)管理系統(tǒng)是一個(gè)幫助人們建立數(shù)據(jù)庫(kù)和開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序的系統(tǒng)軟件,有了這個(gè)系統(tǒng)軟件的支持,建立數(shù)據(jù)庫(kù)和開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序就容易了。目前常用的數(shù)據(jù)庫(kù)管理系統(tǒng)有Oracle公司的Oracle、MySQL,微軟公司的SQLServer、Access,IBM公司的DB2等。應(yīng)用軟件應(yīng)用軟件用于解決實(shí)際問(wèn)題,包括通用應(yīng)用軟件和專用應(yīng)用軟件通用應(yīng)用軟件:可以為多個(gè)行業(yè)和領(lǐng)域的人們使用,完成各自的任務(wù),如辦公軟件中的Excel就是一個(gè)通用的應(yīng)用軟件。專用應(yīng)用軟件:只供某個(gè)行業(yè)或某些人使用,如火車票售票軟件只能用于火車站、售票點(diǎn)或線上售賣火車票。應(yīng)用軟件包括軟件開(kāi)發(fā)環(huán)境、辦公軟件、輔助設(shè)計(jì)軟件、多媒體制作軟件、網(wǎng)頁(yè)制作軟件、網(wǎng)絡(luò)通信軟件、工具軟件和實(shí)際應(yīng)用軟件等。數(shù)據(jù)庫(kù)原理及應(yīng)用關(guān)系數(shù)據(jù)庫(kù);關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言;常用關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng);數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)工具;數(shù)據(jù)庫(kù)設(shè)計(jì)/02關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)相關(guān)概念數(shù)據(jù)庫(kù)(DB)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲(chǔ),具有較低的數(shù)據(jù)冗余度、較高的數(shù)據(jù)獨(dú)立性,并且可以為多個(gè)用戶共享。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,主要完成數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫(kù)的運(yùn)行管理和數(shù)據(jù)庫(kù)的維護(hù)等功能。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)是以數(shù)據(jù)庫(kù)為核心的,在數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下完成一定的數(shù)據(jù)存儲(chǔ)和管理功能的應(yīng)用軟件系統(tǒng),數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)也稱為數(shù)據(jù)庫(kù)系統(tǒng)(DBS)。關(guān)系數(shù)據(jù)庫(kù)應(yīng)用示例:針對(duì)大學(xué)生選課信息的存儲(chǔ)和管理,設(shè)計(jì)數(shù)據(jù)庫(kù)中的表。按傳統(tǒng)方式,我們可以把學(xué)生的選課信息放入下表所示的表格中。關(guān)系數(shù)據(jù)庫(kù)應(yīng)用示例:針對(duì)大學(xué)生選課信息的存儲(chǔ)和管理,設(shè)計(jì)數(shù)據(jù)庫(kù)中的表。傳統(tǒng)方式的不足如果按此表格結(jié)構(gòu)直接對(duì)應(yīng)成數(shù)據(jù)庫(kù)中的表,數(shù)據(jù)的冗余(數(shù)據(jù)重復(fù))比較大。每個(gè)學(xué)生的姓名、年齡、專業(yè),每門課程的課程名、學(xué)分都會(huì)在表中多次重復(fù)存放。數(shù)據(jù)冗余不僅浪費(fèi)存儲(chǔ)空間,更大的問(wèn)題是容易造成數(shù)據(jù)的不一致。例如,某個(gè)同學(xué)如果轉(zhuǎn)專業(yè)了,那么對(duì)應(yīng)的表中數(shù)據(jù)應(yīng)該修改,如果多次存儲(chǔ),就可能只修改部分值,導(dǎo)致該同學(xué)在表中的專業(yè)有兩個(gè)不同的值,這會(huì)給以后信息查詢等留下隱患。關(guān)系數(shù)據(jù)庫(kù)應(yīng)用示例:針對(duì)大學(xué)生選課信息的存儲(chǔ)和管理,設(shè)計(jì)數(shù)據(jù)庫(kù)中的表。遵循數(shù)據(jù)庫(kù)理論,可以把上面的一個(gè)表設(shè)計(jì)成表7.2~7.4的形式。關(guān)系數(shù)據(jù)庫(kù)應(yīng)用示例:針對(duì)大學(xué)生選課信息的存儲(chǔ)和管理,設(shè)計(jì)數(shù)據(jù)庫(kù)中的表。遵循數(shù)據(jù)庫(kù)理論,可以把上面的一個(gè)表設(shè)計(jì)成表7.2~7.4的形式。關(guān)系數(shù)據(jù)庫(kù)應(yīng)用示例:針對(duì)大學(xué)生選課信息的存儲(chǔ)和管理,設(shè)計(jì)數(shù)據(jù)庫(kù)中的表。這3個(gè)表格可以對(duì)應(yīng)成數(shù)據(jù)庫(kù)中的如下3個(gè)關(guān)系表,帶下畫(huà)線的屬性為主碼,主碼能唯一確定某個(gè)實(shí)體,如學(xué)號(hào)能唯一確定某個(gè)學(xué)生。

學(xué)生(學(xué)號(hào),姓名,年齡,系別)課程(課程號(hào),課程名,學(xué)分)選課(學(xué)號(hào),課程號(hào),成績(jī))這樣存儲(chǔ)學(xué)生、課程和學(xué)生選課信息,基本去除了數(shù)據(jù)冗余。如果某個(gè)學(xué)生轉(zhuǎn)專業(yè)了,只在學(xué)生表中修改一個(gè)記錄即可。關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言(SQL)SQL語(yǔ)言的特點(diǎn)非過(guò)程化的語(yǔ)言:只要提出“做什么”,而不必說(shuō)明“如何做”,既減輕了用戶的負(fù)擔(dān),又提高了數(shù)據(jù)的獨(dú)立性與安全性。功能一體化的語(yǔ)言:基于同樣的語(yǔ)言風(fēng)格/語(yǔ)法格式可以完成數(shù)據(jù)定義、數(shù)據(jù)操作等功能。一種語(yǔ)法兩種使用方式:既可以被用戶以一種人機(jī)交互的方式,在終端鍵盤(pán)上直接輸入SQL命令來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作;又可以作為一種嵌入式語(yǔ)言,被程序設(shè)計(jì)人員在開(kāi)發(fā)應(yīng)用程序時(shí)直接嵌入到某種高級(jí)語(yǔ)言(如Python語(yǔ)言)中使用。關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言(SQL)SQL語(yǔ)言的特點(diǎn)面向集合操作的語(yǔ)言:非關(guān)系數(shù)據(jù)模型采用面向記錄的操作方式,操作對(duì)象是單一的某條記錄,而SQL允許用戶在較高層的數(shù)據(jù)結(jié)構(gòu)上工作,操作對(duì)象可以是若干記錄的集合,簡(jiǎn)稱記錄集。所有SQL語(yǔ)句都接受記錄集作為輸入,返回記錄集作為輸出,其面向集合的特性還允許一條SQL語(yǔ)句的結(jié)果作為另一條SQL語(yǔ)句的輸入。語(yǔ)法簡(jiǎn)潔、易學(xué)易用的標(biāo)準(zhǔn)語(yǔ)言:SQL不僅功能強(qiáng)大,而且語(yǔ)法接近英語(yǔ)口語(yǔ),符合人類的思維習(xí)慣,因此較為容易學(xué)習(xí)和掌握。同時(shí)又由于它是一種通用的標(biāo)準(zhǔn)語(yǔ)言,使用SQL編寫(xiě)的程序也具有良好的移植性。關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言(SQL)SQL語(yǔ)言應(yīng)用示例:基于學(xué)生、課程、選課3個(gè)表,查詢選修了“計(jì)算機(jī)導(dǎo)論”課程的學(xué)生的姓名,可以寫(xiě)出如下查詢語(yǔ)句:SELECT學(xué)生.姓名FROM學(xué)生,選課,課程WHERE學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào)AND選課.課程號(hào)=課程.課程號(hào)AND課程.課程名="計(jì)算機(jī)導(dǎo)論";該語(yǔ)句值說(shuō)明了查找什么,在哪幾個(gè)表中去查,并沒(méi)有說(shuō)明如何去查。常用關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)的類型數(shù)據(jù)庫(kù)領(lǐng)域有4種主要的數(shù)據(jù)模型,即層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P?。?shù)據(jù)模型是組織數(shù)據(jù)的方式。層次數(shù)據(jù)庫(kù)、網(wǎng)狀數(shù)據(jù)庫(kù)已過(guò)時(shí),面向?qū)ο髷?shù)據(jù)庫(kù)沒(méi)有研發(fā)成功,現(xiàn)在用的是關(guān)系數(shù)據(jù)庫(kù)。近年來(lái),計(jì)算機(jī)科學(xué)技術(shù)不斷發(fā)展,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)也不斷發(fā)展進(jìn)化,AB公司(2009年被Oracle公司收購(gòu))的MySQL、Microsoft公司的Access等是小型關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的代表,Oracle公司的Oracle、Microsoft公司的SQLServer、IBM公司的DB2等是功能強(qiáng)大的大型關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的代表。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)工具早期的數(shù)據(jù)庫(kù)應(yīng)用由于是比較簡(jiǎn)單的單機(jī)系統(tǒng),數(shù)據(jù)庫(kù)管理系統(tǒng)選用dBASE、FoxBASE、FoxPro、VisualFoxPro等,這些系統(tǒng)自身帶有開(kāi)發(fā)環(huán)境,所以這時(shí)的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)可以不用選擇開(kāi)發(fā)工具。隨著計(jì)算機(jī)技術(shù)(特別是網(wǎng)絡(luò)技術(shù))和應(yīng)用需求的發(fā)展,數(shù)據(jù)庫(kù)應(yīng)用模式已逐步發(fā)展到C/S模式和B/S模式,數(shù)據(jù)庫(kù)管理系統(tǒng)需要選用功能強(qiáng)大的Oracle、SQLServer、DB2等,這時(shí)選用合適的開(kāi)發(fā)工具成為提高數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)效率和質(zhì)量的一個(gè)重要因素。目前,可以選用Python作為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)工具,在標(biāo)準(zhǔn)庫(kù)或第三方庫(kù)的支持下,使用Python語(yǔ)言開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)簡(jiǎn)單、快捷。數(shù)據(jù)庫(kù)設(shè)計(jì)需求分析總體工作:對(duì)組織的工作現(xiàn)狀和用戶需求進(jìn)行調(diào)查、分析,明確用戶的信息需求和系統(tǒng)功能,提出擬建系統(tǒng)的邏輯方案。這里的重點(diǎn)是對(duì)建立數(shù)據(jù)庫(kù)的必要性及可行性進(jìn)行分析和研究,確定數(shù)據(jù)庫(kù)在整個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中的地位,確定出各個(gè)數(shù)據(jù)庫(kù)之間的關(guān)系。具體工作:選用哪種數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)軟件及相應(yīng)的軟硬件、網(wǎng)絡(luò)環(huán)境配置;確定數(shù)據(jù)庫(kù)系統(tǒng)的功能;確定建立一個(gè)還是幾個(gè)數(shù)據(jù)庫(kù);確定數(shù)據(jù)庫(kù)中表的個(gè)數(shù)及結(jié)構(gòu)。數(shù)據(jù)庫(kù)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)將需求分析階段得到的用戶需求抽象為反映現(xiàn)實(shí)世界信息需求的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)(概念模式)就是概念結(jié)構(gòu)設(shè)計(jì)。概念結(jié)構(gòu)從現(xiàn)實(shí)世界抽象而來(lái),又是各種數(shù)據(jù)模型的共同基礎(chǔ),實(shí)際上是現(xiàn)實(shí)世界與邏輯結(jié)構(gòu)(機(jī)器世界)之間的一個(gè)過(guò)渡。描述概念模型的有效工具是實(shí)體-聯(lián)系圖(E-R圖)。概念結(jié)構(gòu)設(shè)計(jì)包括三個(gè)步驟:設(shè)計(jì)局部E-R圖、集成局部E-R圖為全局E-R圖、優(yōu)化全局E-R圖。數(shù)據(jù)庫(kù)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)是把概念結(jié)構(gòu)設(shè)計(jì)階段的E-R圖轉(zhuǎn)換成與具體的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相一致的邏輯結(jié)構(gòu)。邏輯結(jié)構(gòu)設(shè)計(jì)包括兩個(gè)步驟:將E-R圖轉(zhuǎn)換為關(guān)系模型、對(duì)關(guān)系模型進(jìn)行優(yōu)化。優(yōu)化工作要用到函數(shù)依賴、關(guān)系范式等知識(shí);得到優(yōu)化后的關(guān)系數(shù)據(jù)模型,就可以向特定的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)轉(zhuǎn)換,實(shí)際上是將一般的關(guān)系模型轉(zhuǎn)換成符合某一具體的能被計(jì)算機(jī)接受的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)模型,如Oracle、SQLServer、DB2等。數(shù)據(jù)庫(kù)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)在實(shí)際的物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法稱為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。為設(shè)計(jì)好的邏輯模型選擇一個(gè)最符合應(yīng)用要求的物理結(jié)構(gòu)就是數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì)。物理結(jié)構(gòu)設(shè)計(jì)的主要內(nèi)容包括三項(xiàng):確定數(shù)據(jù)的存儲(chǔ)安排、存取路徑的選擇與調(diào)整和確定系統(tǒng)配置。RDBMS產(chǎn)品一般都提供有一些系統(tǒng)配置變量、存儲(chǔ)分配參數(shù)(同時(shí)使用數(shù)據(jù)庫(kù)的用戶數(shù)、同時(shí)打開(kāi)的數(shù)據(jù)庫(kù)對(duì)象數(shù)、緩沖區(qū)的長(zhǎng)度等),系統(tǒng)為這些變量賦予了合適的默認(rèn)值,在進(jìn)行數(shù)據(jù)庫(kù)的物理設(shè)計(jì)時(shí)可以直接使用這些值,也可以根據(jù)實(shí)際應(yīng)用環(huán)境重新設(shè)置這些值。數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)實(shí)施數(shù)據(jù)庫(kù)實(shí)施階段的工作就是根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果,在選用的RDBMS上建立起數(shù)據(jù)庫(kù)。具體講有如下3項(xiàng)工作:建立數(shù)據(jù)庫(kù)的結(jié)構(gòu):以邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果為依據(jù),用RDBMS的數(shù)據(jù)定義語(yǔ)言書(shū)寫(xiě)數(shù)據(jù)庫(kù)結(jié)構(gòu)定義源程序并執(zhí)行程序。載入實(shí)驗(yàn)數(shù)據(jù)并測(cè)試應(yīng)用程序:實(shí)驗(yàn)數(shù)據(jù)可以是部分實(shí)際數(shù)據(jù),也可以是模擬數(shù)據(jù),應(yīng)使實(shí)驗(yàn)數(shù)據(jù)盡可能覆蓋各種可能的實(shí)際情況,通過(guò)運(yùn)行應(yīng)用程序,測(cè)試系統(tǒng)的性能指標(biāo)。如不符合,是程序的問(wèn)題修改程序,是數(shù)據(jù)庫(kù)的問(wèn)題,則修改數(shù)據(jù)庫(kù)設(shè)計(jì)。載入全部實(shí)際數(shù)據(jù)并試運(yùn)行應(yīng)用程序,發(fā)現(xiàn)問(wèn)題做類似處理。數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)數(shù)據(jù)庫(kù)經(jīng)過(guò)試運(yùn)行后就可以投入實(shí)際運(yùn)行了。但是,由于應(yīng)用環(huán)境在不斷變化,對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)進(jìn)行評(píng)價(jià)、調(diào)整、修改等維護(hù)工作是一個(gè)長(zhǎng)期的任務(wù),也是設(shè)計(jì)工作的繼續(xù)和提高。在數(shù)據(jù)庫(kù)運(yùn)行階段,對(duì)數(shù)據(jù)庫(kù)經(jīng)常性的維護(hù)工作主要由數(shù)據(jù)庫(kù)管理員完成,主要工作包括數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)和恢復(fù)、數(shù)據(jù)庫(kù)的安全性和完整性控制、數(shù)據(jù)庫(kù)性能的監(jiān)督分析和優(yōu)化、數(shù)據(jù)庫(kù)的重組織與重構(gòu)造等。數(shù)據(jù)庫(kù)設(shè)計(jì)總結(jié)

數(shù)據(jù)庫(kù)設(shè)計(jì)以數(shù)據(jù)庫(kù)為主線說(shuō)明數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)過(guò)程,分析、設(shè)計(jì)、實(shí)施、運(yùn)行維護(hù)分布在了這個(gè)主線上。后面的軟件工程著眼于一般軟件系統(tǒng)的設(shè)計(jì)開(kāi)發(fā),數(shù)據(jù)庫(kù)設(shè)計(jì)是其中的一個(gè)環(huán)節(jié)。

當(dāng)開(kāi)發(fā)實(shí)際項(xiàng)目時(shí),以數(shù)據(jù)庫(kù)為主的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)可以遵循數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程,不以數(shù)據(jù)庫(kù)為主的一般軟件系統(tǒng)的開(kāi)發(fā)可以遵循軟件工程的思想。數(shù)據(jù)庫(kù)的發(fā)展分布式數(shù)據(jù)庫(kù);大數(shù)據(jù);區(qū)塊鏈;數(shù)據(jù)倉(cāng)庫(kù);數(shù)據(jù)挖掘/03分布式數(shù)據(jù)庫(kù)分布式數(shù)據(jù)庫(kù)概念分布式數(shù)據(jù)庫(kù)(DBS)是指分布在一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)上的多個(gè)邏輯相關(guān)的數(shù)據(jù)庫(kù)的集合。即分布式數(shù)據(jù)庫(kù)是一組結(jié)構(gòu)化的數(shù)據(jù)集合,邏輯上屬于同一個(gè)系統(tǒng),物理上分布在計(jì)算機(jī)網(wǎng)絡(luò)中各個(gè)不同的場(chǎng)地上。從物理位置上看,數(shù)據(jù)分別存放在地理位置不同的數(shù)據(jù)庫(kù)中,但從用戶使用的角度看,數(shù)據(jù)如同存放在一個(gè)統(tǒng)一的數(shù)據(jù)庫(kù)中一樣。分布式數(shù)據(jù)庫(kù)系統(tǒng)(D-DBS)由分布式數(shù)據(jù)庫(kù)和分布式數(shù)據(jù)庫(kù)管理系統(tǒng)組成。分布式數(shù)據(jù)庫(kù)管理系統(tǒng)(D-DBMS)是分布式數(shù)據(jù)庫(kù)系統(tǒng)的一組軟件,負(fù)責(zé)對(duì)分布式數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行管理和操作。分布式數(shù)據(jù)庫(kù)分布式數(shù)據(jù)庫(kù)管理系統(tǒng)的組成本地?cái)?shù)據(jù)庫(kù)管理系統(tǒng):每個(gè)結(jié)點(diǎn)上都有一個(gè)局部數(shù)據(jù)庫(kù)管理系統(tǒng)。全局?jǐn)?shù)據(jù)庫(kù)管理系統(tǒng):把物理上分散的局部數(shù)據(jù)庫(kù)整合成邏輯上統(tǒng)一的全局?jǐn)?shù)據(jù)庫(kù)。全局?jǐn)?shù)據(jù)字典:支持全局?jǐn)?shù)據(jù)庫(kù)管理系統(tǒng)對(duì)各局部數(shù)據(jù)庫(kù)的操作。通信管理:在分布式數(shù)據(jù)庫(kù)各結(jié)點(diǎn)之間傳送消息和數(shù)據(jù),完成通信功能。大數(shù)據(jù)大數(shù)據(jù)的定義大數(shù)據(jù)(bigdata)是指規(guī)模大到目前的軟件工具難以有效收集、存儲(chǔ)、管理和分析的數(shù)據(jù)。也指來(lái)自于多維多源的數(shù)據(jù)。大數(shù)據(jù)的特點(diǎn)數(shù)據(jù)量巨大:一般都在太字節(jié)(TB)以上;類型多樣:包括數(shù)值、文本、圖像、視頻、音頻等各種類型的結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù);處理速度快:對(duì)大數(shù)據(jù)的分析處理速度要快,分析結(jié)果要能及時(shí)用于支持決策,也有人解釋為數(shù)據(jù)的增長(zhǎng)速度快;價(jià)值大:原始數(shù)據(jù)價(jià)值密度低,但經(jīng)分析處理后價(jià)值巨大。大數(shù)據(jù)大數(shù)據(jù)應(yīng)用示例一美國(guó)華盛頓大學(xué)計(jì)算機(jī)專家?jiàn)W倫·埃齊奧尼開(kāi)發(fā)了一個(gè)機(jī)票價(jià)格預(yù)測(cè)系統(tǒng)Farecast,幫助人們?cè)诤线m的時(shí)間以最低的價(jià)格購(gòu)買機(jī)票到2012年為止,F(xiàn)arecast系統(tǒng)用了將近10萬(wàn)億條價(jià)格記錄來(lái)幫助預(yù)測(cè)美國(guó)國(guó)內(nèi)航班的票價(jià)。Farecast票價(jià)預(yù)測(cè)的準(zhǔn)確度高達(dá)75%,使用Farecast

票價(jià)預(yù)測(cè)工具購(gòu)買機(jī)票的旅客,平均每張機(jī)票可節(jié)省50美元。這是一個(gè)比較有代表性的大數(shù)據(jù)應(yīng)用實(shí)例,少量的價(jià)格記錄(如1萬(wàn)條)可能沒(méi)有多大利用價(jià)值,但是通過(guò)對(duì)大數(shù)據(jù)(近10萬(wàn)億條價(jià)格記錄)的分析,就能產(chǎn)生可觀的經(jīng)濟(jì)價(jià)值。大數(shù)據(jù)大數(shù)據(jù)應(yīng)用示例二支付寶到2020年時(shí)用戶量已經(jīng)突破10億。隨著網(wǎng)上購(gòu)物、網(wǎng)上支付的快速發(fā)展,特別是在“雙11”“618”等促銷活動(dòng)時(shí)段,遇到大量的用戶在短時(shí)間內(nèi)集中購(gòu)買、集中支付的“潮汐式”“爆發(fā)式”對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的沖擊,傳統(tǒng)的集中式數(shù)據(jù)庫(kù)很難應(yīng)對(duì)。螞蟻集團(tuán)完全自主研發(fā)了國(guó)產(chǎn)原生分布式數(shù)據(jù)庫(kù)OceanBase,支付寶從2014年開(kāi)始逐漸遷移到OceanBase分布式數(shù)據(jù)庫(kù)上,到2017年所有核心系統(tǒng)的全部流量都由OceanBase支撐。OceanBase分布式數(shù)據(jù)庫(kù)采用“三地五中心”城市級(jí)容災(zāi)新標(biāo)準(zhǔn),數(shù)據(jù)量達(dá)到PB級(jí),2020年5月,OceanBase

的在線事務(wù)處理性能達(dá)到7.07億tpmC(每分鐘系統(tǒng)處理的新訂單個(gè)數(shù))。區(qū)塊鏈區(qū)塊鏈的定義區(qū)塊鏈(blockchain)是分布式數(shù)據(jù)存儲(chǔ)、點(diǎn)對(duì)點(diǎn)傳輸、共識(shí)機(jī)制、加密算法等計(jì)算機(jī)技術(shù)的新型應(yīng)用模式。區(qū)塊鏈的技術(shù)創(chuàng)新1-分布式賬本:就是交易記賬由分布在不同地方的多個(gè)結(jié)點(diǎn)共同完成,而且每一個(gè)結(jié)點(diǎn)都記錄的是完整的賬目,因此它們都可以參與監(jiān)督交易合法性,同時(shí)也可以共同為其作證。沒(méi)有任何一個(gè)結(jié)點(diǎn)可以單獨(dú)記錄賬本數(shù)據(jù),從而避免了單一記賬人被控制或者被賄賂而記假賬的可能性。也由于記賬結(jié)點(diǎn)足夠多,理論上講除非所有的結(jié)點(diǎn)被破壞,否則賬目就不會(huì)丟失,從而保證了賬目數(shù)據(jù)的安全性。區(qū)塊鏈區(qū)塊鏈的技術(shù)創(chuàng)新2-非對(duì)稱加密和授權(quán)技術(shù):存儲(chǔ)在區(qū)塊鏈上的交易信息是公開(kāi)的,但是賬戶身份信息是高度加密的,只有在數(shù)據(jù)擁有者授權(quán)的情況下才能訪問(wèn)到,從而保證了數(shù)據(jù)的安全和個(gè)人的隱私。3-共識(shí)機(jī)制:就是所有記賬結(jié)點(diǎn)之間如何達(dá)成共識(shí),去認(rèn)定一個(gè)記錄的有效性,這既是認(rèn)定的手段,也是防止篡改的手段。人們提出了多種不同的共識(shí)機(jī)制,適用于不同的應(yīng)用場(chǎng)景,在效率和安全性之間取得平衡。4-智能合約:基于區(qū)塊鏈上可信的不可篡改的數(shù)據(jù),可以自動(dòng)執(zhí)行一些預(yù)先定義好的規(guī)則和條款。以保險(xiǎn)為例,如果說(shuō)每個(gè)人的信息(包括醫(yī)療信息和風(fēng)險(xiǎn)發(fā)生的信息)都是真實(shí)可信的,那就很容易在一些標(biāo)準(zhǔn)化的保險(xiǎn)產(chǎn)品中,進(jìn)行自動(dòng)理賠。數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)倉(cāng)庫(kù)的定義數(shù)據(jù)倉(cāng)庫(kù)(datawarehouse,DW)是一個(gè)面向主題的、集成的、時(shí)變的、不可更新的數(shù)據(jù)集合,支持管理部門的決策過(guò)程。數(shù)據(jù)倉(cāng)庫(kù)的特點(diǎn)1-面向主題的:數(shù)據(jù)倉(cāng)庫(kù)圍繞一些主題,如客戶、供應(yīng)商、產(chǎn)品或銷售來(lái)組織。數(shù)據(jù)倉(cāng)庫(kù)關(guān)注決策者的數(shù)據(jù)建模與分析,而不是組織機(jī)構(gòu)的日常操作。因此,數(shù)據(jù)倉(cāng)庫(kù)排除與決策無(wú)關(guān)的數(shù)據(jù),只提供與特定主題相關(guān)的數(shù)據(jù)。2-集成的:數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)往往來(lái)自于多個(gè)異構(gòu)的數(shù)據(jù)源,是對(duì)這些異構(gòu)數(shù)據(jù)的集成,在數(shù)據(jù)集成過(guò)程中要保證數(shù)據(jù)在命名約定、編碼結(jié)構(gòu)、屬性度量等方面的一致性。數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)倉(cāng)庫(kù)的特點(diǎn)3-時(shí)變的:在數(shù)據(jù)庫(kù)中一般只存放當(dāng)前數(shù)據(jù),而數(shù)據(jù)倉(cāng)庫(kù)中一般要存放一個(gè)歷史階段的數(shù)據(jù),如存放5年的數(shù)據(jù),數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)與時(shí)間因素有關(guān)。4-不可更新的:數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)一般來(lái)源于數(shù)據(jù)庫(kù)或其他數(shù)據(jù)源,但與這些數(shù)據(jù)源分開(kāi)存放數(shù)據(jù)。數(shù)據(jù)庫(kù)中的數(shù)據(jù)經(jīng)常需要進(jìn)行插入、修改和刪除等更新操作,而數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)只有查詢和統(tǒng)計(jì)操作,一般不進(jìn)行更新操作。數(shù)據(jù)倉(cāng)庫(kù)工具Oracle、DB2、SQLServer都支持?jǐn)?shù)據(jù)倉(cāng)庫(kù)解決方案。數(shù)據(jù)挖掘數(shù)據(jù)挖掘的定義數(shù)據(jù)挖掘(datamining,DM),又稱為數(shù)據(jù)中的知識(shí)發(fā)現(xiàn),是從存放在數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)或其他信息庫(kù)中的大量數(shù)據(jù)中發(fā)現(xiàn)有用知識(shí)的過(guò)程。數(shù)據(jù)挖掘的主要功能關(guān)聯(lián)分析:找出數(shù)據(jù)集中相互有關(guān)聯(lián)的因素,如針對(duì)超市的購(gòu)物籃分析。數(shù)據(jù)挖掘數(shù)據(jù)挖掘主要功能概念描述:歸納總結(jié)出某個(gè)數(shù)據(jù)集合的特征,或者對(duì)照說(shuō)明兩個(gè)或多個(gè)數(shù)據(jù)集的不同特征。分類:在分析已有類別標(biāo)記的數(shù)據(jù)的基礎(chǔ)上,總結(jié)出不同類別數(shù)據(jù)的特征,據(jù)此特征對(duì)待分類數(shù)據(jù)進(jìn)行類別標(biāo)注。聚類:對(duì)數(shù)據(jù)進(jìn)行分組,使得同一組內(nèi)的數(shù)據(jù)相似度比較高,而不同組中的數(shù)據(jù)相似度比較低。孤立點(diǎn)分析:孤立點(diǎn)就是數(shù)據(jù)集中明顯偏離正常值的數(shù)據(jù),找到這樣的數(shù)據(jù)就是孤立點(diǎn)分析。演變分析:發(fā)現(xiàn)行為隨時(shí)間變化的數(shù)據(jù)所遵循的規(guī)律或趨勢(shì)。數(shù)據(jù)挖掘數(shù)據(jù)挖掘應(yīng)用示例超市數(shù)據(jù)庫(kù)中存儲(chǔ)有大量的客戶購(gòu)買物品的信息以及客戶本身的信息。分類或聚類可以把客戶按購(gòu)買力的大小分成若干組;概念描述可以對(duì)比說(shuō)明每組客戶的特征;關(guān)聯(lián)分析可以發(fā)現(xiàn)人們購(gòu)買物品時(shí)的一些規(guī)律,如購(gòu)買牛奶的人一般同時(shí)購(gòu)買了面包等;孤立點(diǎn)分析可以發(fā)現(xiàn)反常的購(gòu)買行為,如消費(fèi)額特大;演變分析可以發(fā)現(xiàn)某種(些)商品在不同季節(jié)的銷售趨勢(shì)。這些數(shù)據(jù)挖掘的結(jié)果可以使超市的經(jīng)營(yíng)者制定出更為精準(zhǔn)的營(yíng)銷策略,在提高服務(wù)質(zhì)量的同時(shí),取得更好的經(jīng)濟(jì)效益。軟件工程軟件危機(jī);軟件工程的基本原則;軟件開(kāi)發(fā)方法/04軟件危機(jī)軟件危機(jī)的定義計(jì)算機(jī)領(lǐng)域把大型軟件開(kāi)發(fā)和維護(hù)過(guò)程中遇到的一系列嚴(yán)重問(wèn)題稱為“軟件危機(jī)”(softwarecrisis)。軟件危機(jī)的表現(xiàn)軟件開(kāi)發(fā)成本和開(kāi)發(fā)進(jìn)度的估計(jì)往往很不準(zhǔn)確。用戶對(duì)“已完成”的軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。軟件產(chǎn)品的質(zhì)量往往不可靠。軟件沒(méi)有適當(dāng)?shù)奈臋n資料。軟件通常是不可維護(hù)的。軟件危機(jī)軟件危機(jī)示例IBM公司于1963~1966年為IBM360系列機(jī)開(kāi)發(fā)了操作系統(tǒng)OS/360,這是一個(gè)功能較強(qiáng)的多道批處理操作系統(tǒng),參加軟件開(kāi)發(fā)的人員最多時(shí)超過(guò)了1000人,總計(jì)有大約5000人年的工作量(5000人工作一年),耗資數(shù)億美元,編寫(xiě)了近100萬(wàn)行的源程序。但結(jié)果并不理想,軟件中隱藏有大量的錯(cuò)誤,每次發(fā)行的新版本都是在前一個(gè)版本的基礎(chǔ)上發(fā)現(xiàn)并改正1000個(gè)錯(cuò)誤后形成的。要知道,在這么多人合作編寫(xiě)的這么大規(guī)模的一個(gè)軟件中,找到錯(cuò)誤的性質(zhì)和位置并改正錯(cuò)誤,又不引起新的錯(cuò)誤,是一件相當(dāng)困難的事情。軟件危機(jī)應(yīng)對(duì)軟件危機(jī)的方法軟件危機(jī)的出現(xiàn)表明,必須尋找新的技術(shù)和方法來(lái)指導(dǎo)大型軟件的開(kāi)發(fā)??紤]到機(jī)械、建筑等領(lǐng)域都經(jīng)歷過(guò)從手工方式演變成嚴(yán)密、規(guī)范、完整的工程科學(xué)的過(guò)程,人們認(rèn)為大型軟件的開(kāi)發(fā)也應(yīng)該向“工程化”方向發(fā)展,逐步發(fā)展成一門完整的工程學(xué)科。1968年在北大西洋公約組織的一次學(xué)術(shù)會(huì)議上首次提出“軟件工程”(softwareengineering)概念。軟件工程采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)和維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái)。軟件工程的基本原則軟件工程專家巴利·玻姆提出了7條基本準(zhǔn)則1-用分階段的生命周期計(jì)劃進(jìn)行嚴(yán)格的管理:把整個(gè)軟件開(kāi)發(fā)過(guò)程分成若干個(gè)相對(duì)獨(dú)立、任務(wù)比較單一的階段,針對(duì)每個(gè)階段制訂出切實(shí)可行的計(jì)劃,并嚴(yán)格執(zhí)行所制訂的計(jì)劃。2-堅(jiān)持進(jìn)行階段評(píng)審:軟件的生命周期分為分析、設(shè)計(jì)、實(shí)施和維護(hù)等階段,每個(gè)階段結(jié)束后,都要進(jìn)行嚴(yán)格的評(píng)審,盡早發(fā)現(xiàn)和改正錯(cuò)誤,把錯(cuò)誤盡量消滅在“萌芽”階段。3-實(shí)行嚴(yán)格的產(chǎn)品控制:針對(duì)需求改動(dòng),要實(shí)行嚴(yán)格的產(chǎn)品控制,一是需求的改動(dòng)要經(jīng)過(guò)嚴(yán)格的評(píng)審和審批,二是實(shí)際變動(dòng)需求時(shí),所有其他階段有關(guān)的文檔或程序代碼也要做相應(yīng)的修改,以保證一致性。軟件工程的基本原則軟件工程專家巴利·玻姆提出了7條基本準(zhǔn)則4-采用現(xiàn)代程序設(shè)計(jì)技術(shù):根據(jù)所開(kāi)發(fā)軟件的規(guī)模和功能,選擇先進(jìn)的軟件開(kāi)發(fā)方法和程序設(shè)計(jì)技術(shù)既能提高軟件開(kāi)發(fā)的質(zhì)量,又能保證開(kāi)發(fā)進(jìn)度,還有利于軟件的維護(hù)。5-結(jié)果應(yīng)能清楚地審查:應(yīng)盡量詳細(xì)、明確地規(guī)定每個(gè)階段的任務(wù)和審查標(biāo)準(zhǔn),使得包括最終軟件產(chǎn)品審查在內(nèi)的各階段的結(jié)果審查工作,有明確的目標(biāo)和審查標(biāo)準(zhǔn),能清楚地進(jìn)行審查。6-開(kāi)發(fā)小組的人員應(yīng)該少而精:強(qiáng)調(diào)開(kāi)發(fā)人員的能力和素質(zhì),而不是數(shù)量。7-承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性:總結(jié)軟件開(kāi)發(fā)實(shí)踐中好的方法和技術(shù),用于指導(dǎo)新的軟件的開(kāi)發(fā),這個(gè)過(guò)程是反復(fù)進(jìn)行的。軟件開(kāi)發(fā)方法生命周期法的基本思路生命周期法強(qiáng)調(diào)將整個(gè)軟件的開(kāi)發(fā)過(guò)程分解成若干個(gè)階段,并對(duì)每個(gè)階段的目標(biāo)、任務(wù)、方法做出規(guī)定,使整個(gè)軟件的開(kāi)發(fā)過(guò)程具有合理的組織和科學(xué)的秩序。每個(gè)階段進(jìn)行若干項(xiàng)活動(dòng),每項(xiàng)活動(dòng)應(yīng)用一系列標(biāo)準(zhǔn)、規(guī)范、方法和技術(shù),完成一個(gè)或多個(gè)任務(wù)。生命周期法的不足生命周期法強(qiáng)調(diào)自頂向下分階段開(kāi)發(fā),在進(jìn)入實(shí)際的開(kāi)發(fā)期之前必須預(yù)先對(duì)需求嚴(yán)格定義。但是,實(shí)踐也表明,有些系統(tǒng)在開(kāi)發(fā)出來(lái)之前很難僅僅依靠分析就能確定出一套完整、一致、有效的應(yīng)用需求,這種預(yù)先定義的方式更不能適應(yīng)用戶需求不斷變化的情況。軟件開(kāi)發(fā)方法生命周期法遵循的原則用戶參與的原則:要積極引導(dǎo)用戶參與,開(kāi)發(fā)人員要充分考慮、理解用戶的要求。沒(méi)有用戶的積極參與,往往是導(dǎo)致軟件開(kāi)發(fā)失敗的重要原因。先邏輯后物理的原則:要充分地進(jìn)行系統(tǒng)分析,解決“做什么”的問(wèn)題,然后再進(jìn)入系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施階段,解決“如何做”的問(wèn)題。自頂向下的原則:先把握系統(tǒng)的總體目標(biāo)和功能,然后逐級(jí)分解、逐步細(xì)化,將整個(gè)擬開(kāi)發(fā)系統(tǒng)分解成若干個(gè)項(xiàng)目,分期分批進(jìn)行系統(tǒng)開(kāi)發(fā)。工作成果描述標(biāo)準(zhǔn)化原則:每一工作階段的成果,必須用明確的文字和標(biāo)準(zhǔn)化的圖形、表格完整、準(zhǔn)確地進(jìn)行描述。軟件開(kāi)發(fā)方法快速原型法在初步了解用戶的基本要求后,開(kāi)發(fā)人員先建立一個(gè)他們認(rèn)為符合用戶要求的原型系統(tǒng)交付用戶檢驗(yàn),通過(guò)執(zhí)行原型系統(tǒng),用戶可以進(jìn)一步明確地說(shuō)明需求。人們通常建立兩種快速原型,一類是需求規(guī)格原型(RSP),另一類是漸進(jìn)原型(RCP)。RSP模型反映了系統(tǒng)的某些方面,它可以密切用戶和開(kāi)發(fā)人員的關(guān)系,促進(jìn)相互理解,待需求說(shuō)明書(shū)確定之后,這個(gè)模型就被舍棄,后面的開(kāi)發(fā)工作仍按生命周期法進(jìn)行。RCP采用循序漸進(jìn)的開(kāi)發(fā)方式,對(duì)初始模型作連續(xù)的精確化,直至實(shí)現(xiàn)系統(tǒng)的所有功能。軟件開(kāi)發(fā)方法面向?qū)ο蠓ǖ幕舅悸访嫦驅(qū)ο螅╫bjectoriented,OO)法把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作同等看待,是一種以數(shù)據(jù)為主線,把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密結(jié)合起來(lái)的方法。面向?qū)ο蠓ǖ奶攸c(diǎn)把對(duì)象作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一軟件構(gòu)件,用對(duì)象分解取代了結(jié)構(gòu)化方法的功能分解。把所有對(duì)象都劃分為類。每個(gè)類定義了一組數(shù)據(jù)和一組操作,類是對(duì)具有相同數(shù)據(jù)和相同操作的一組相似對(duì)象的定義。按照父類與子類的關(guān)系,把若干個(gè)相關(guān)類組成一個(gè)層次結(jié)構(gòu)的系統(tǒng)。下層子類自動(dòng)擁有上層父類中定義的數(shù)據(jù)和操作,這是繼承性的體現(xiàn)。軟件開(kāi)發(fā)方法面向?qū)ο蠓ǖ奶攸c(diǎn)對(duì)象彼此之間僅能通過(guò)發(fā)送消息互相聯(lián)系,對(duì)象的所有私有信息都被封裝在該對(duì)象內(nèi),不能從外界直接訪問(wèn),這就是封裝性。面向?qū)ο蠓☉?yīng)用于軟件開(kāi)發(fā)的分析、設(shè)計(jì)和實(shí)施階段,便有了面向?qū)ο蠓治觯∣OA)、面向?qū)ο笤O(shè)計(jì)(OOD)和面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)等面向?qū)ο蠹夹g(shù)。基于面向?qū)ο蠓ǖ能浖_(kāi)發(fā)中,使用一種通用的圖形化建模語(yǔ)言—統(tǒng)一建模語(yǔ)言(UML)。軟件開(kāi)發(fā)方法敏捷開(kāi)發(fā)方法敏捷開(kāi)發(fā)方法將整個(gè)軟件項(xiàng)目進(jìn)行任務(wù)分解,完成一個(gè)模塊交付一個(gè)模塊,一邊給用戶提供服務(wù),一邊不斷增加新功能,這樣保證了軟件可以很快交付使用,在用戶使用的同時(shí)逐漸增加新功能、完善已有功能。敏捷開(kāi)發(fā)的特點(diǎn)是持續(xù)迭代,在一個(gè)迭代周期內(nèi),根據(jù)產(chǎn)品需求,經(jīng)過(guò)項(xiàng)目組評(píng)審后形成軟件需求文檔。根據(jù)軟件需求文檔進(jìn)行系統(tǒng)設(shè)計(jì),形成系統(tǒng)設(shè)計(jì)文檔。根據(jù)設(shè)計(jì)文檔編寫(xiě)代碼,并對(duì)代碼進(jìn)行評(píng)審。對(duì)代碼進(jìn)行測(cè)試調(diào)試,形成測(cè)試文檔。通過(guò)測(cè)試的軟件(模塊)交付使用。軟件開(kāi)發(fā)方法微軟過(guò)程規(guī)劃

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論