版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、8.1 概述數(shù)據(jù)庫應(yīng)用系統(tǒng)是一個(gè)帶有數(shù)據(jù)庫的計(jì)算機(jī)軟件系統(tǒng),它是包括應(yīng)用程序、數(shù)據(jù)、數(shù)據(jù)庫以及與該系統(tǒng)的開發(fā)、維護(hù)和使用有關(guān)的文檔的完整集合。系統(tǒng)開發(fā)人員不但要掌握數(shù)據(jù)庫知識,還要掌握一門計(jì)算機(jī)語言(主語言),以便開發(fā)合乎需求的數(shù)據(jù)庫應(yīng)用系統(tǒng)。8.1 概述數(shù)據(jù)庫應(yīng)用系統(tǒng)的基本結(jié)構(gòu) 由應(yīng)用程序端、中間件和數(shù)據(jù)庫端三部分組成 8.1 概述中間件相當(dāng)于一組數(shù)據(jù)庫應(yīng)用程序開發(fā)接口,程序員通過它調(diào)用DBMS的功能,中間件是應(yīng)用程序和數(shù)據(jù)庫之間進(jìn)行信息交流的主要通道。數(shù)據(jù)庫服務(wù)器數(shù)據(jù)庫服務(wù)器是由專門的DBMS提供商所提供的一種數(shù)據(jù)庫軟件系統(tǒng),它可以作為系統(tǒng)服務(wù)運(yùn)行于操作系統(tǒng)之上,主要在網(wǎng)絡(luò)上提供數(shù)據(jù)庫服務(wù)
2、。 8.1 概述不同的數(shù)據(jù)庫應(yīng)用系統(tǒng)由于其業(yè)務(wù)要求和運(yùn)行環(huán)境不同,用于存取和管理數(shù)據(jù)庫中存儲信息的應(yīng)用程序也不同,這是終端用戶使用數(shù)據(jù)庫應(yīng)用系統(tǒng)必不可少的操作界面,企業(yè)核心的業(yè)務(wù)邏輯集中在數(shù)據(jù)庫上層的應(yīng)用程序上,當(dāng)然也有極少部分是以存儲過程的形式存在于DBMS中,這種分布是由于客戶端應(yīng)用程序使用高級語言開發(fā),具有更強(qiáng)的邏輯控制能力和界面集成能力而引起的8.1 概述 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的要求掌握數(shù)據(jù)庫設(shè)計(jì)的基本理論知識 掌握一種桌面數(shù)據(jù)庫和服務(wù)器DBMS應(yīng)用技術(shù) 熟悉一種能夠支持?jǐn)?shù)據(jù)庫應(yīng)用程序開發(fā)的開發(fā)環(huán)境 了解開發(fā)環(huán)境提供的數(shù)據(jù)庫存取技術(shù)和所提供的數(shù)據(jù)庫引擎 了解軟件設(shè)計(jì)和開發(fā)過程的一些基本知
3、識 了解應(yīng)用程序的發(fā)布技術(shù)和發(fā)布工具 8.1 概述開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)需要考慮的問題確定數(shù)據(jù)庫應(yīng)用系統(tǒng)的運(yùn)行環(huán)境,選擇合適的數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu) 在單機(jī)上工作,且需要管理的數(shù)據(jù)量很小,則應(yīng)選擇單用戶結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用系統(tǒng)。在局域網(wǎng)環(huán)境中同時(shí)由不同工作人員完成,則應(yīng)選擇C/S結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用系統(tǒng)。如果業(yè)務(wù)需要在遠(yuǎn)程機(jī)器上完成,則可能需要選擇B/S結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用系統(tǒng)。8.1 概述基于數(shù)據(jù)庫應(yīng)用系統(tǒng)的運(yùn)行環(huán)境和體系結(jié)構(gòu)確定數(shù)據(jù)庫不同數(shù)據(jù)庫提供的數(shù)據(jù)安全保證機(jī)制不同 有的數(shù)據(jù)庫基于文件鎖定機(jī)制保證多用戶并發(fā)操作,有的數(shù)據(jù)庫則采用事務(wù)并發(fā)控制機(jī)制,后者比前者效率高很多,占用的資源也相對較大不同的數(shù)據(jù)庫描述數(shù)
4、據(jù)字典(或元數(shù)據(jù))的技術(shù)不同 不同數(shù)據(jù)庫對數(shù)據(jù)完整性的保證措施和程度不同 8.1 概述根據(jù)不同數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)中應(yīng)用程序存取數(shù)據(jù)庫的方式,數(shù)據(jù)庫可分為本地?cái)?shù)據(jù)庫和遠(yuǎn)程數(shù)據(jù)庫兩種類型。集中式數(shù)據(jù)庫應(yīng)用系統(tǒng)使用本地?cái)?shù)據(jù)庫,而C/S結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用系統(tǒng)則需要使用遠(yuǎn)程數(shù)據(jù)庫服務(wù)器。本地?cái)?shù)據(jù)庫的典型代表是Paradox、dBASE、Visual FoxPro和Access等。遠(yuǎn)程數(shù)據(jù)庫服務(wù)器的典型代表是Oracle、DB2、Sybase、MS SQL Server等。8.1 概述選擇數(shù)據(jù)庫時(shí)需要考慮數(shù)據(jù)庫將要存儲的數(shù)據(jù)量、存取數(shù)據(jù)庫的最大用戶數(shù)和數(shù)據(jù)庫的效率要求這些問題。就存儲量而言,本地?cái)?shù)據(jù)庫的存儲
5、量比遠(yuǎn)程數(shù)據(jù)庫服務(wù)器小很多。就多用戶問題而言,本地?cái)?shù)據(jù)庫也能夠支持多用戶同時(shí)存取數(shù)據(jù)庫,但采用基于文件的鎖定技術(shù)來控制并發(fā)操作。遠(yuǎn)程數(shù)據(jù)庫服務(wù)器是專為多用戶并發(fā)存取數(shù)據(jù)庫而設(shè)計(jì)的,采用基于事務(wù)的技術(shù)控制并發(fā)操作,因而提供了更為復(fù)雜的多用戶支持。就數(shù)據(jù)處理能力而言,遠(yuǎn)程數(shù)據(jù)庫服務(wù)器的能力比本地?cái)?shù)據(jù)庫強(qiáng)大得多。8.1 概述同時(shí),選擇數(shù)據(jù)庫時(shí)還應(yīng)考慮用戶是否有移植數(shù)據(jù)庫的需求。如果需要移植數(shù)據(jù)庫,則開發(fā)時(shí)需要犧牲部分高效的SQL功能以獲得最佳的移植方式,例如,遵循不同數(shù)據(jù)庫公用的SQL集進(jìn)行SQL程序開發(fā)等。8.1 概述常見程序設(shè)計(jì)語言JavaJava最初是由Sun Microsystems公司推出
6、,是Java面向?qū)ο蟪绦蛟O(shè)計(jì)語言(以下簡稱Java語言)和Java平臺的統(tǒng)稱。Java語言由James Gosling和同事們共同研發(fā),在1995年正式推出。Java最初被稱為Oak,是1991年為消費(fèi)類電子產(chǎn)品的嵌入式芯片而設(shè)計(jì)的編程語言。1995年更名為Java,并重新設(shè)計(jì)用于開發(fā)Internet應(yīng)用程序。用Java實(shí)現(xiàn)的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動(dòng)態(tài)Web、Internet計(jì)算。從此,Java被廣泛接受并推動(dòng)了Web的迅速發(fā)展,常用的瀏覽器均支持Java小程序(Applet)。另一方面,Java技術(shù)也不斷更新。Java自面世后就非常流
7、行,發(fā)展迅速,對C+語言形成有力沖擊。在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。2010年Oracle公司收購Sun Microsystems。8.1 概述常見程序設(shè)計(jì)語言JavaJava分為三個(gè)體系,分別為Java SE(J2SE,Java2 Platform Standard Edition,Java2平臺標(biāo)準(zhǔn)版),Java EE(J2EE,Java 2 Platform, Enterprise Edition,企業(yè)版),Java ME(J2ME,Java 2 Platform Micro Edition,微型版)與傳統(tǒng)程序不同,Sun 公司在推出 Java
8、 之際就將其作為一種開放的技術(shù)。全球數(shù)以萬計(jì)的 Java 開發(fā)公司被要求所設(shè)計(jì)的 Java軟件必須相互兼容?!癑ava 語言靠群體的力量而非公司的力量”是Sun公司的口號之一,并獲得了廣大軟件開發(fā)商的認(rèn)同。8.1 概述常見程序設(shè)計(jì)語言C+C+是在C語言的基礎(chǔ)上開發(fā)的一種通用編程語言,應(yīng)用廣泛。C+支持多種編程范式 面向?qū)ο缶幊?、泛型編程和過程化編程。最新正式標(biāo)準(zhǔn)C+14于2014年8月18日公布。其編程領(lǐng)域廣泛,常用于系統(tǒng)開發(fā),引擎開發(fā)等應(yīng)用領(lǐng)域,是至今為止最受廣大程序員喜愛的最強(qiáng)大編程語言之一。C+支持類、封裝、繼承、重載、虛函數(shù)、動(dòng)態(tài)綁定等特性。C語言是1972年由美國貝爾實(shí)驗(yàn)室的D.M.
9、Ritchie所開發(fā),采用結(jié)構(gòu)化編程方法,遵從自頂向下的設(shè)計(jì)原則。在操作系統(tǒng)和系統(tǒng)軟件以及需要對硬件進(jìn)行直接訪問操作的場合,用C語言明顯優(yōu)于其它高級語言,但在編寫大型程序時(shí),由于C語言的抽象層次比較低,需要編寫大量的代碼,使得開發(fā)效率比較低下。1983年,貝爾實(shí)驗(yàn)室的Bjarne Stroustrup在C語言基礎(chǔ)上推出了C+。C+進(jìn)一步擴(kuò)充和完善了C語言,是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。8.1 概述常見程序設(shè)計(jì)語言C+C+語言的主要特點(diǎn)表現(xiàn)在以下兩個(gè)方面,一是盡量兼容C,二是支持面向?qū)ο髾C(jī)制。它保持了C的簡潔、高效的接近匯編語言等特點(diǎn),對C的類型系統(tǒng)進(jìn)行了改革和擴(kuò)充,因此C+比C更安全,C+的編
10、譯系統(tǒng)能在編譯期間檢查出更多類型錯(cuò)誤。另外,C語言的廣泛使用極大地促進(jìn)了C+的普及和推廣。8.1 概述常見程序設(shè)計(jì)語言O(shè)bject PascalObject Pascal是一種起源于Pascal的、面向?qū)ο蟮母呒壋绦蛟O(shè)計(jì)語言,具有數(shù)據(jù)類型檢查嚴(yán)格、支持結(jié)構(gòu)化和面向?qū)ο缶幊痰忍匦?,廣泛應(yīng)用于數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)中C# C#是微軟公司發(fā)布的一種面向?qū)ο蟆⑦\(yùn)行于.Net Framework之上的高級程序設(shè)計(jì)語言。C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)重要特點(diǎn),與COM(組件對象模型)直接集成,它是微軟公司 .Net Windows網(wǎng)絡(luò)框架的主角8.1 概述常見程序設(shè)計(jì)語言C#C#是微
11、軟公司發(fā)布的一種面向?qū)ο?、運(yùn)行于.Net Framework之上的高級程序設(shè)計(jì)語言。從語法上來看,C#與Java有著非常多的相似之處;如不支持多繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運(yùn)行過程。但C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)重要特點(diǎn),與COM(組件對象模型)直接集成,它是微軟公司 .Net Windows網(wǎng)絡(luò)框架的主角。C#旨在設(shè)計(jì)成為一種“簡單、現(xiàn)代、通用”,以及面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,具體要求該語言應(yīng)提供對于以下軟件工程要素的支持:強(qiáng)類型檢查、數(shù)組維度檢查、未初始化的變量引用檢測、自動(dòng)內(nèi)存垃圾收集。軟件必須功能強(qiáng)大、具有持久可用性,并有較高的開發(fā)效
12、率。8.1 概述常見程序設(shè)計(jì)語言C#C#是一種安全、穩(wěn)定、簡單、優(yōu)雅,由C和C+衍生出來的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。它在繼承C和C+主要功能的同時(shí)去掉了它們的一些復(fù)雜特性(例如不支持宏、不允許多重繼承)。C#結(jié)合了Visual Basic簡單的可視化操作和C+的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程支持成為.Net 平臺上開發(fā)的首選語言。C#所開發(fā)的程序源代碼并不被編譯成能夠直接在操作系統(tǒng)上運(yùn)行的二進(jìn)制本地代碼。而是與Java類似,被編譯成為中間代碼,然后通過.Net Framework的虛擬機(jī)被稱之為通用語言運(yùn)行時(shí)(CLR)執(zhí)行。所有的.Net編程語言
13、都被編譯成這種被稱為MSIL(Microsoft Intermediate Language)的中間代碼。8.1 概述常見程序設(shè)計(jì)語言PHPPHP(Hypertext Preprocessor,超文本預(yù)處理器)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點(diǎn),利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。PHP 獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁。用PHP做的動(dòng)態(tài)頁面與其它的編程語言相比,PHP是將程序嵌入到HTML(Hyper Text Markup Language)文檔中去執(zhí)行,執(zhí)行效率比完全生成H
14、TML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后的代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。8.1 概述常見程序設(shè)計(jì)語言PHPPHP原始為Personal Home Page的縮寫,已經(jīng)正式更名為 PHP: Hypertext Preprocessor。注意不是“Hypertext Preprocessor”的縮寫,這種將名稱放到定義中的寫法被稱作遞歸縮寫。PHP于1994年由Rasmus Lerdorf創(chuàng)建,剛剛開始是Rasmus Lerdorf為了要維護(hù)個(gè)人網(wǎng)頁而制作的一個(gè)簡單的用Perl語言編寫的程序。這些工具程序用來顯示作者的個(gè)人履歷,以及統(tǒng)計(jì)網(wǎng)頁流量。后來又用C語言重新
15、編寫,包括可以訪問數(shù)據(jù)庫。他將這些程序和一些表單直譯器整合起來,稱為 PHP/FI。PHP/FI 可以和數(shù)據(jù)庫連接,產(chǎn)生簡單的動(dòng)態(tài)網(wǎng)頁程序。8.1 概述常見程序設(shè)計(jì)語言PHP在2000年5月22日,以Zend Engine 1.0為基礎(chǔ)的PHP 4正式發(fā)布,2004年7月13日則發(fā)布了PHP 5,PHP 5則使用了第二代的Zend Engine。PHP包含了許多新特色,像是強(qiáng)化的面向?qū)ο蠊δ?、引入PDO(PHP Data Objects,一個(gè)存取數(shù)據(jù)庫的延伸函數(shù)庫)、以及許多效能上的增強(qiáng)。2008年P(guān)HP 5成為了PHP唯一的有在開發(fā)的PHP版本。將來的PHP 5.3將會加入Late stat
16、ic binding和一些其他的功能強(qiáng)化。PHP 6 的開發(fā)也正在進(jìn)行中,主要的改進(jìn)有移除register_globals、magic quotes 和 Safe mode的功能。8.1 概述主要開發(fā)工具EclipseEclipse 是一個(gè)基于Java、開放源代碼、可擴(kuò)展的開發(fā)平臺。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。但在一般情況下,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(Java Development Kit,JDK)Eclipse最初是由IBM公司開發(fā)的用于替代商業(yè)軟件Visual Age for Java的下一代IDE開發(fā)環(huán)境,2
17、001年11月貢獻(xiàn)給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟Eclipse基金會(Eclipse Foundation)管理。2003年,Eclipse 3.0選擇OSGi服務(wù)平臺規(guī)范為運(yùn)行時(shí)架構(gòu)。2007年6月,穩(wěn)定版3.3發(fā)布;2008年6月發(fā)布代號為Ganymede的3.4版;2009年6月發(fā)布代號為Galileo的3.5版;2010年6月發(fā)布代號為Helios的3.6版;2011年6月發(fā)布代號為Indigo的3.7版;2012年6月發(fā)布代號為Juno的4.2版;2013年6月發(fā)布代號為Kepler的4.3版;2014年6月發(fā)布代號為Luna的4.4版;2015年6月項(xiàng)目發(fā)布代號為Mars
18、的4.5版。8.1 概述主要開發(fā)工具EclipseEclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),通過安裝不同的插件Eclipse可以支持不同的計(jì)算機(jī)語言,比如C+和Python等開發(fā)工具。Eclipse的本身只是一個(gè)框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。8.1 概述主要開發(fā)工具EclipseEclipse 最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎(chǔ),包括Platform、
19、JDT 和PDE。Eclipse項(xiàng)目IBM發(fā)起,圍繞著Eclipse項(xiàng)目已經(jīng)發(fā)展成為了一個(gè)龐大的Eclipse聯(lián)盟,有150多家軟件公司參與到Eclipse項(xiàng)目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一個(gè)開放源碼項(xiàng)目,它其實(shí)是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其開放源碼,任何人都可以免費(fèi)得到,并可以在此基礎(chǔ)上開發(fā)各自的插件,因此越來越受人們關(guān)注。隨后還有包括Oracle在內(nèi)的許多大公司也紛紛加入了該項(xiàng)目,Eclipse的目標(biāo)是成為可進(jìn)行任何語言
20、開發(fā)的IDE集成者,使用者只需下載各種語言的插件即可。8.1 概述主要開發(fā)工具Eclipse8.1 概述主要開發(fā)工具Visual StudioMicrosoft Visual Studio(簡稱VS)是美國Microsoft公司的開發(fā)工具包系列產(chǎn)品。VS是一個(gè)基本完整的開發(fā)工具集,它包括了整個(gè)軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發(fā)環(huán)境(IDE)等等。所編寫的目標(biāo)代碼適用于微軟支持的所有平臺,包括Microsoft Windows、Windows Mobile、Windows CE、.Net Framework、.Net Compact Framework和Mic
21、rosoft Silverlight 及Windows Phone。Visual Studio是目前最流行的Windows平臺應(yīng)用程序的集成開發(fā)環(huán)境。最新版本為 Visual Studio 2015 版本,基于.Net Framework 4.6。8.1 概述主要開發(fā)工具Visual Studio1998 年,微軟發(fā)布了 Visual Studio 6.0。所有開發(fā)語言的開發(fā)環(huán)境版本均升至 6.0。這也是 Visual Basic 最后一次發(fā)布,從下一個(gè)版本 (7.0) 開始,Microsoft Basic 進(jìn)化成了一種新的面向?qū)ο蟮恼Z言:Microsoft Basic .Net 2002。由
22、于微軟公司對于 Sun 公司 Java 語言擴(kuò)充導(dǎo)致與 Java虛擬機(jī)不兼容被 Sun 告上法庭,微軟在后續(xù)的 Visual Studio 中不再包括面向 Java 虛擬機(jī)的開發(fā)環(huán)境。8.1 概述主要開發(fā)工具Visual Studio2002 年,隨著 .Net 口號的提出與 Windows XP/Office XP 的發(fā)布,微軟發(fā)布了 Visual Studio .Net (內(nèi)部版本號為 7.0)。在這個(gè)版本的 Visual Studio 中,微軟剝離了 Visual FoxPro 作為一個(gè)單獨(dú)的開發(fā)環(huán)境以 Visual FoxPro 7.0 單獨(dú)銷售,同時(shí)取消了 Visual InterD
23、ev。與此同時(shí),微軟引入了建立在 .Net 框架上(版本1.0)的托管代碼機(jī)制以及一門新的語言C#(讀作 C Sharp)。C# 是一門建立在C+和 Java 基礎(chǔ)上的現(xiàn)代語言,是編寫 .Net 框架的語言。圖8-3展示了Visual Studio 2015的主界面。8.1 概述主要開發(fā)工具Visual Studio8.1 概述主要開發(fā)工具QtQt是一個(gè)1991年由奇趣科技開發(fā)的跨平臺C+圖形用戶界面應(yīng)用程序開發(fā)框架。它既可以開發(fā)GUI程序,也可用于開發(fā)非GUI程序,比如控制臺工具和服務(wù)器。Qt是面向?qū)ο蟮目蚣?,使用特殊的代碼生成擴(kuò)展(稱為元對象編譯器,Meta Object Compiler
24、,MOC)以及一些宏,易于擴(kuò)展,允許組件編程。2008年,奇趣科技被諾基亞公司收購,QT也因此成為諾基亞旗下的編程語言工具。2012年,Qt被Digia收購。2014年4月,跨平臺集成開發(fā)環(huán)境Qt Creator 3.1.0正式發(fā)布,實(shí)現(xiàn)了對于iOS的完全支持,新增WinRT、Beautifier等插件,廢棄了無Python接口的GDB調(diào)試支持,集成了基于Clang的C/C+代碼模塊,并對Android支持做出了調(diào)整,至此實(shí)現(xiàn)了全面支持iOS、Android、WP。8.1 概述主要開發(fā)工具QtQt是1991年奇趣科技開發(fā)的一個(gè)跨平臺的C+圖形用戶界面應(yīng)用程序框架。Qt很容易擴(kuò)展,并且允許真正地
25、組件編程?;旧希琎t 同 X Window 上的 Motif、Openwin、GTK 等圖形界面庫和Windows 平臺上的 MFC、OWL、VCL、ATL 是同類型的編程元素。Qt 的良好封裝機(jī)制使得 Qt 的模塊化程度非常高,可重用性較好,對于用戶開發(fā)來說非常方便。Qt 提供了一種稱為 signals/slots 的安全類型來替代callback,這使得各個(gè)元件之間的協(xié)同工作變得十分簡單。Qt包括多達(dá)250 個(gè)以上的C+ 類,還提供基于模板的collections、serialization、file、I/O device、directory management、date/time、正
26、則表達(dá)式處理類等。8.1 概述主要開發(fā)工具QtQt Creator是一個(gè)用于Qt開發(fā)的輕量級跨平臺集成開發(fā)環(huán)境。Qt Creator可帶來兩大關(guān)鍵益處:提供首個(gè)專為支持跨平臺開發(fā)而設(shè)計(jì)的集成開發(fā)環(huán)境,并確保首次接觸Qt框架的開發(fā)人員能迅速上手和操作。即使不開發(fā)Qt應(yīng)用程序,Qt Creator也是一個(gè)簡單易用且功能強(qiáng)大的IDE。Qt Creator包含了一套用于創(chuàng)建和測試基于Qt應(yīng)用程序的高效工具,包括一個(gè)高級的C+代碼編輯器、上下文感知幫助系統(tǒng)、可視化調(diào)試器、源代碼管理器、項(xiàng)目和構(gòu)建管理工具。8.1 概述主要開發(fā)工具DelphiDelphi是Windows平臺下著名的快速應(yīng)用程序開發(fā)工具。它
27、的前身,是DOS時(shí)代盛行一時(shí)的“Borland Turbo Pascal”,最早的版本由美國Borland(寶蘭)公司于1995年開發(fā)。主創(chuàng)者為Anders Hejlsberg。經(jīng)過數(shù)年的發(fā)展,此產(chǎn)品也轉(zhuǎn)移至Embarcadero公司旗下。Delphi是一個(gè)集成開發(fā)環(huán)境(IDE),使用的核心是由傳統(tǒng)Pascal語言發(fā)展而來的Object Pascal,以圖形用戶界面為開發(fā)環(huán)境,透過IDE、VCL工具與編譯器,配合連結(jié)數(shù)據(jù)庫的功能,構(gòu)成一個(gè)以面向?qū)ο蟪绦蛟O(shè)計(jì)為中心的應(yīng)用程序開發(fā)工具。由Borland公司推出的Delphi是全新的可視化編程環(huán)境,提供了一種方便、快捷的Windows應(yīng)用程序開發(fā)工具
28、。它使用了Microsoft Windows圖形用戶界面的許多先進(jìn)特性和設(shè)計(jì)思想,采用了彈性可重復(fù)利用的完整的面向?qū)ο蟪绦蛘Z言、當(dāng)今世界上最快的編譯器以及高效的數(shù)據(jù)庫訪問技術(shù)。8.1 概述主要開發(fā)工具DelphiDelphi提供了各種開發(fā)工具,包括集成環(huán)境、圖像編輯器(Image Editor),以及各種開發(fā)數(shù)據(jù)庫的應(yīng)用程序,如Desktop Database Expert等。除此之外,還允許用戶掛接其它的應(yīng)用程序開發(fā)工具,如Borland公司的資源編輯器(Resource Workshop)8.1 概述主要開發(fā)工具Android Studio 2013年Google I/O 大會首次發(fā)布了A
29、ndroid Studio IDE(Android平臺集成開發(fā)環(huán)境)?;贗ntellij IDEA 開發(fā)環(huán)境,旨在取代Eclipse和ADT(Android開發(fā)者工具)為開發(fā)者提供更好的開發(fā)工具,提供了集成的 Android 開發(fā)工具用于開發(fā)和調(diào)試Xcode是運(yùn)行在操作系統(tǒng)Mac OS X上的集成開發(fā)工具(IDE),由蘋果公司開發(fā)。Xcode是開發(fā)Mac OS X和iOS應(yīng)用程序的最快捷的方式。Xcode 具有統(tǒng)一的用戶界面設(shè)計(jì),編碼、測試、調(diào)試都在一個(gè)簡單的窗口內(nèi)完成8.2 數(shù)據(jù)庫接口技術(shù)ODBCODBC(Open Database Connectivity,開放數(shù)據(jù)庫互連)是Micros
30、oft公司推出的為異質(zhì)數(shù)據(jù)庫訪問提供統(tǒng)一接口的技術(shù),它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)。這些API利用SQL來完成其大部分任務(wù)。ODBC基于SQL,并把它作為訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)。這個(gè)接口提供了最大限度的相互可操作性:一個(gè)應(yīng)用程序可以通過一組通用的代碼訪問不同的DBMS。一個(gè)軟件開發(fā)者開發(fā)的C/S應(yīng)用程序不會被束定于某個(gè)特定的數(shù)據(jù)庫之上。ODBC可以為不同的數(shù)據(jù)庫提供相應(yīng)的驅(qū)動(dòng)程序。8.2 數(shù)據(jù)庫接口技術(shù)ODBC的特點(diǎn)使用戶程序有很高的互操作性,相同的目標(biāo)代碼適用于不同的DBMS 由于ODBC的開放性,它為程序集成提供了便利,為C/S結(jié)構(gòu)提供了技術(shù)支持 由于
31、應(yīng)用與底層網(wǎng)絡(luò)環(huán)境和DBMS分開,故簡化了開發(fā)維護(hù)上的困難 8.2 數(shù)據(jù)庫接口技術(shù)ODBCMicrosoft公司將ODBC作為一項(xiàng)很重要的技術(shù),已承諾進(jìn)一步改進(jìn)ODBC技術(shù),為驅(qū)動(dòng)程序開發(fā)者提供更先進(jìn)的開發(fā)和測試工具,還將交付系統(tǒng)管理和監(jiān)控工具,它還將與DBMS廠商和第三方廠商建立更密切的合作,以期使驅(qū)動(dòng)程序支持更高級別的一致性,并在規(guī)范化方面有所完善。目前,ODBC已為數(shù)據(jù)庫供應(yīng)商組織內(nèi)部所認(rèn)可,同時(shí)為眾多應(yīng)用軟件廠商和第三方開發(fā)商所使用,相信隨著SQL的推廣和規(guī)范,用戶和開發(fā)商會更加依賴于這一技術(shù)。8.2 數(shù)據(jù)庫接口技術(shù) ADOADO(Active Data Object,活動(dòng)數(shù)據(jù)對象)是
32、一組由Microsoft提供的COM組件。 ADO建立在Microsoft的COM體系結(jié)構(gòu)之上,它的所有接口都是自動(dòng)化接口,因此在C+、VisualBasic、Delphi等支持COM的開發(fā)語言中通過接口都可以訪問到ADO。ADO通過使用OLE DB這一新技術(shù)實(shí)現(xiàn)了以相同方式可以訪問關(guān)系數(shù)據(jù)庫、文本文件、非關(guān)系數(shù)據(jù)庫、索引服務(wù)和活躍目錄服務(wù)等的數(shù)據(jù),擴(kuò)大了應(yīng)用程序中可使用的數(shù)據(jù)源范圍,從而成為Microsoft整個(gè)COM戰(zhàn)略體系中訪問數(shù)據(jù)源組件的首選,與ODBC相比,其訪問數(shù)據(jù)庫更加方便,效率更加高,是ODBC的替代產(chǎn)品。8.2 數(shù)據(jù)庫接口技術(shù) ADO與Microsoft的其他數(shù)據(jù)訪問模型DA
33、O和RDO相比,ADO對象模型非常精煉,僅由三個(gè)主要對象Connection、Command、Recordset和幾個(gè)輔助對象組成。Connection對象提供OLE DB數(shù)據(jù)源和對話對象之間的關(guān)聯(lián),它通過用戶名稱和口令來處理用戶身份的鑒別,并提供事務(wù)處理的支持。它還提供執(zhí)行方法,從而簡化數(shù)據(jù)源的連接和數(shù)據(jù)檢索的進(jìn)程。Command對象封裝了數(shù)據(jù)源可以解釋的命令,該命令可以是SQL命令、存儲過程或底層數(shù)據(jù)源可以理解的任何內(nèi)容。Recordset用于表示從數(shù)據(jù)源中返回的表格數(shù)據(jù),它封裝了記錄集導(dǎo)航、記錄更新、記錄刪除和新記錄的添加等方法,還提供了批量更新記錄的能力。其他輔助對象則分別提供封裝了對
34、ADO錯(cuò)誤、命令參數(shù)和記錄集合列的封裝。8.2 數(shù)據(jù)庫接口技術(shù) JDBCJava編程語言訪問數(shù)據(jù)庫是通過JDBC(Java Database Connectivity),即Java數(shù)據(jù)庫連接機(jī)制實(shí)現(xiàn)的。JDBC是一種Java數(shù)據(jù)庫連接API,它作為Java Enterprise API的一部分由JavaSoft于1996年5月推出。JDBC為Java程序員提供了一種在Java代碼中訪問關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC是一種Java數(shù)據(jù)庫連接API,它作為Java Enterprise API的一部分由JavaSoft于1996年5月推出。JDBC為Java程序員提供了一種在Java代碼中訪問關(guān)系
35、數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。8.2 數(shù)據(jù)庫接口技術(shù)JDBC定義了一組對象和方法用于與基本數(shù)據(jù)庫進(jìn)行交互。一個(gè)Java程序要訪問數(shù)據(jù)庫,需通過以下幾步來完成:建立語句對象 通過該語句對象將SQL語句傳送給數(shù)據(jù)庫,進(jìn)行數(shù)據(jù)庫操作 獲取結(jié)果及有關(guān)結(jié)果集的信息 8.2 數(shù)據(jù)庫接口技術(shù)通過JDBC接口向各種關(guān)系數(shù)據(jù)庫發(fā)送 SQL 語句是一件很輕松的事情。換言之,有了JDBC API,就不必為訪問Informix數(shù)據(jù)庫專門寫一個(gè)程序,為訪問Sybase數(shù)據(jù)庫又專門寫一個(gè)程序,為訪問SQL Server數(shù)據(jù)庫又寫另一個(gè)程序,只需用 JDBC API 寫一個(gè)程序就可以了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送 SQL 語句。而且,使用
36、Java 編程語言編寫的應(yīng)用程序,就不需要再考慮為不同的平臺編寫不同的應(yīng)用程序。將 Java 和 JDBC 結(jié)合起來將使程序員只須寫一遍程序就可讓它在任何平臺和數(shù)據(jù)庫基礎(chǔ)上運(yùn)行。8.2 數(shù)據(jù)庫接口技術(shù)Java 具有堅(jiān)固、安全、易于使用、易于理解、支持自動(dòng)更新、平臺無關(guān)等特性,是編寫數(shù)據(jù)庫應(yīng)用程序出色的語言。所需要的只是 Java 應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而 JDBC數(shù)據(jù)庫訪問層正為Java開發(fā)數(shù)據(jù)庫應(yīng)用程序提供了這樣的對話方法。Java與 JDBC結(jié)合,使信息傳播變得容易和經(jīng)濟(jì)。企業(yè)可以繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同DBMS上。新程
37、序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對于商務(wù)上的銷售信息服務(wù), Java 和 JDBC 可為外部客戶提供獲取信息更新的更好方法。8.2 數(shù)據(jù)庫接口技術(shù)通過JDBC進(jìn)行數(shù)據(jù)庫連接的Java程序8.2 數(shù)據(jù)庫接口技術(shù)JDBC 是一種“低級”接口,也就是說,它用于直接調(diào)用 SQL 命令。在這方面它的功能極佳,并比其他的數(shù)據(jù)庫連接 API 易于使用,但它同時(shí)也被設(shè)計(jì)為一種基礎(chǔ)接口,在它之上可以建立高級接口和工具。與之相對的是高級接口,它是一種“對用戶友好”的接口,它使用的是一種更易理解和更為方便
38、的 API,這種 API 在幕后被轉(zhuǎn)換為諸如 JDBC 這樣的低級接口。8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā) Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例網(wǎng)上銷售系統(tǒng)例子用戶部分用戶登錄產(chǎn)品信息查看購物車管理用戶信息管理管理部分網(wǎng)上銷售系統(tǒng)的后臺,主要管理用戶可見的產(chǎn)品分類、產(chǎn)品信息、新聞發(fā)布以及用戶賬號等信息 8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā) Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例需求分析網(wǎng)上銷售管理系統(tǒng)的主要功能是發(fā)布產(chǎn)品信息,用戶可以在系統(tǒng)中選擇自己喜歡的產(chǎn)品,再通過系統(tǒng)的支付接口和發(fā)貨渠道,用戶就可以在足不出戶的情況下買到自己喜歡的產(chǎn)品。網(wǎng)上銷售系統(tǒng)在目前是一個(gè)十分常見的數(shù)據(jù)庫應(yīng)用系統(tǒng),通過對一個(gè)功能完整的
39、網(wǎng)上銷售的功能分析,對理解一個(gè)典型的基于Java的數(shù)據(jù)庫應(yīng)用是很有幫助的。8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā) Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例需求分析網(wǎng)上銷售系統(tǒng)分為兩個(gè)部分:用戶部分和管理部分。用戶部分包括用戶的登錄、產(chǎn)品信息的查看、購物車的管理以及用戶信息的管理等。管理部分是網(wǎng)上銷售系統(tǒng)的后臺,主要管理用戶可見的產(chǎn)品分類、產(chǎn)品信息、新聞發(fā)布以及用戶賬號等信息。兩部分有各自獨(dú)立的入口,在網(wǎng)站路徑下屬于兩個(gè)獨(dú)立的模塊,模塊的分離使功能點(diǎn)更集中,管理與業(yè)務(wù)邏輯劃分更清晰,也使系統(tǒng)的安全性更有保障。8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)網(wǎng)上銷售系統(tǒng)的模塊層次結(jié)構(gòu)8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)網(wǎng)上銷售
40、系統(tǒng)的模塊層次結(jié)構(gòu)8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)網(wǎng)上銷售系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)管理員信息表 (admin)8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)購物車信息表 (basket)8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)購物車信息表 (basket)8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)用戶信息表 (member)8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)用戶信息表 (member)8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)系統(tǒng)實(shí)現(xiàn)系統(tǒng)的數(shù)據(jù)庫連接是通過前述的JDBC-ODBC橋接實(shí)現(xiàn)的,實(shí)現(xiàn)代碼封裝在Java Bean中,封裝了對數(shù)據(jù)的連接細(xì)節(jié),向外提供了executeInsert、executeQuery、executeDel
41、ete、executeUpdate、Close這幾個(gè)數(shù)據(jù)庫操作接口。 8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)主要界面8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)主要界面8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)主要界面8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)主要界面8.3 Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)主要界面8.4 C+數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā) 使用C+開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng),能夠在開發(fā)中體現(xiàn)C+語言的靈活性,許多優(yōu)秀的數(shù)據(jù)庫應(yīng)用系統(tǒng)都會采用C+作為開發(fā)語言。C+數(shù)據(jù)庫應(yīng)用系統(tǒng)廣泛應(yīng)用于物聯(lián)網(wǎng)數(shù)據(jù)采集系統(tǒng)、工業(yè)現(xiàn)場控制系統(tǒng)、數(shù)控加工中心、停車場等的開發(fā)。本小節(jié)通過一個(gè)C+語言編寫的圖書管理系統(tǒng)來介紹使用C+語言開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的細(xì)
42、節(jié)情況。8.4 C+數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā) C+數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例 圖書管理系統(tǒng)實(shí)例需求分析圖書管理系統(tǒng)的主要功能是實(shí)現(xiàn)圖書館的用戶管理和圖書管理,包括圖書館用戶的信息管理、登錄管理和借書管理。其核心是一個(gè)圖書信息庫和一個(gè)用戶借書還書的記錄庫,通過對這兩個(gè)庫的操作,可以跟蹤每一本書的狀態(tài)和每一個(gè)用戶的借書情況。圖書管理系統(tǒng)是一個(gè)使用率很高并且很典型的數(shù)據(jù)庫應(yīng)用系統(tǒng)。8.4 C+數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)模塊層次結(jié)構(gòu)8.4 C+數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)數(shù)據(jù)庫設(shè)計(jì):數(shù)據(jù)庫采用Microsoft Access 2013,由于本系統(tǒng)規(guī)模較小,采用桌面型數(shù)據(jù)庫產(chǎn)品比較方便,通過設(shè)置系統(tǒng)數(shù)據(jù)源的方法可以完全屏蔽底層數(shù)據(jù)
43、源的差別,而且數(shù)據(jù)庫可以隨著系統(tǒng)的遷移而遷移,就系統(tǒng)規(guī)模而言,這樣的靈活性是很有必要的。圖書信息 (BOOK)8.4 C+數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)借出情況 (BORROW)8.4 C+數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)圖書管理員 (CLERK)8.4 C+數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)繳納罰金情況 (FINE)8.4 C+數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)罰金歷史記錄 (FINE_HISTORY)8.4 C+數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)歷史記錄 (HISTORY)8.4 C+數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)讀者信息表 (READER)8.4 C+數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)系統(tǒng)實(shí)現(xiàn) (三層)數(shù)據(jù)庫驅(qū)動(dòng)層這一層由DAO對象以及ODBC驅(qū)動(dòng)程序構(gòu)成,通過設(shè)置系統(tǒng)數(shù)據(jù)源和在DAO對象中以數(shù)據(jù)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深孔注漿方案(改)
- DB37 1228-2009建筑物防雷裝置施工與驗(yàn)收規(guī)范
- 軟件銷售服務(wù)合同書
- 項(xiàng)目勞務(wù)分包協(xié)議
- 軟件維護(hù)流程優(yōu)化合同
- 質(zhì)押合同解除協(xié)議示例
- 學(xué)生全面發(fā)展承諾保證書
- 重慶市標(biāo)準(zhǔn)二手房買賣合同
- 房屋買賣合同規(guī)范化的必要性
- 房屋買賣合同與租賃合同的關(guān)系
- 人教版九年級道法全冊易混易錯(cuò)知識點(diǎn)(二)
- 山西省建筑消防設(shè)施維護(hù)保養(yǎng)規(guī)程 DB14T2489-2022知識培訓(xùn)
- 2024年環(huán)保知識生態(tài)建設(shè)知識競賽-人工環(huán)境工程學(xué)科獎(jiǎng)學(xué)金(人環(huán)獎(jiǎng))知識競賽考試近5年真題附答案
- 基礎(chǔ)會計(jì)學(xué)試題庫及其參考答案 (一)
- 01SS105給排水常用儀表及特種閥門安裝圖集
- 人教部編統(tǒng)編版初中八年級語文下學(xué)期全冊單元測試卷(1-6單元全含期中期末及答案解析)
- 2024秋期國家開放大學(xué)《城市管理學(xué)》一平臺在線形考(任務(wù)1至4)試題及答案
- GB/T 44592-2024紅樹林生態(tài)保護(hù)修復(fù)技術(shù)規(guī)程
- 2024年山東青島局屬高中自主招生化學(xué)試題(含答案)
- 朝陽區(qū)六年級上學(xué)期語文期末試卷
- 人教A版(2019)高中數(shù)學(xué)選擇性必修第二冊 《數(shù)列的相關(guān)概念》教學(xué)設(shè)計(jì)
評論
0/150
提交評論