數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告5826_第1頁
數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告5826_第2頁
數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告5826_第3頁
數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告5826_第4頁
數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告5826_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告姓名:余宏搌學(xué)號:200724132126起始時間:2010年4月27日起止時間:2010年5月1日數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告第一章概述11.1項(xiàng)目背景1.2編寫目的1.3開發(fā)環(huán)境222第二章需求分析22.1信息要求2.2安全與完整性要求2.3處理要求222第三章概念結(jié)構(gòu)設(shè)計(jì)33.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)3.1.1本系統(tǒng)的E-R圖(不包括登錄用戶實(shí)體)如圖1-1所示。3.1.2數(shù)據(jù)表如圖3.1.3數(shù)據(jù)庫表設(shè)計(jì)和操作331-2343.2解決方案如圖3.25第四章邏輯結(jié)構(gòu)設(shè)計(jì)6.4.1數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)4.1.1數(shù)據(jù)庫關(guān)系模式4.1.2數(shù)據(jù)庫及表結(jié)構(gòu)的創(chuàng)建4.1.3數(shù)據(jù)庫表關(guān)系圖:6677第五章主要模塊設(shè)計(jì)75.1三層架構(gòu)5.2三層結(jié)構(gòu)原理5.2.1表示層5.2.2業(yè)務(wù)邏輯層5.2.3數(shù)據(jù)層(3-tierapplication)778885.3B/S95.3.1B/S結(jié)構(gòu)的優(yōu)點(diǎn)5.2.4B/S、C/S結(jié)構(gòu)軟件技術(shù)上的比較105.2.5B/S、C/S結(jié)構(gòu)上的比較119軟件商業(yè)運(yùn)用第六章總結(jié)121數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告第一章概述1.1項(xiàng)目背景為了方便同學(xué)查詢成績和和教師登記分?jǐn)?shù),所以研發(fā)本系統(tǒng)。這是一項(xiàng)本人的數(shù)據(jù)庫設(shè)計(jì)作業(yè),本系統(tǒng)功能不強(qiáng)大,為了提高本人的技術(shù),所以就開發(fā)了這個系統(tǒng)。1.2編寫目的為了提高本人的動手能力,同時這也是一道作業(yè),我認(rèn)為只有不斷的實(shí)踐,才能提高自己的技術(shù)。多練習(xí),多動手,才是提高技術(shù)的硬道理,看過書不動手等于白看。軟件定義程序設(shè)計(jì)的最終結(jié)果是軟件。軟件是用戶與硬件之間的接口界面。用戶主要是通過軟件與計(jì)算機(jī)進(jìn)行交流。軟件是計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的重要依據(jù)。為了方便用戶,為了使計(jì)算機(jī)系統(tǒng)具有較高的總體效用,在設(shè)計(jì)計(jì)算機(jī)系統(tǒng)時,必須全局考慮軟件與硬件的結(jié)合,以及用戶的要求和軟件的要求。1.運(yùn)行時,能提夠供2.程序能夠滿意地處理信息的數(shù)據(jù)結(jié)構(gòu)。3.描述程序功能需求以及程序如何操作和使用所要求的文檔。所要求功能和性能的指令或計(jì)算機(jī)程序集合。1.3開發(fā)環(huán)境開發(fā)語言:C#。編譯工具:.NETFramework包括五種正式的語言編譯器(C#,VisualBasic,托管C++,J#和Jscript腳本語言等)。子語言:SQL。數(shù)據(jù)庫管理系統(tǒng):SQLServer2005。源程序編輯環(huán)境:MicrosoftVisualStudio2008、文本編輯。運(yùn)行環(huán)境:Windows系統(tǒng)中的IE6.0兼容Firefox自主研制核心。第二章需求分析2.1信息要求能查詢學(xué)生基本情況、能查詢學(xué)生選課情況及各課考試成績情況能查詢課程基本情況,修改課程信息等;能查詢課程成績情況。2.2安全與完整性要求建立數(shù)據(jù)庫用戶,對其權(quán)限進(jìn)行設(shè)置。確定各表主鍵、索引、參照完整性SQL語句不用拼接字符串(例+sno+)的方法來傳遞參數(shù),用(例@sno)來傳遞參數(shù),這樣可以在一定程度上避免SQL注入,已達(dá)到一定程度上的安全。、用戶定義完整性。2.3處理要求在SQLServer中,建立各關(guān)系模式對應(yīng)的庫表并初始化各表,確定各表主鍵、索引、參照。數(shù)據(jù)能夠?qū)С?,?shù)據(jù)庫能備份,我用的是完整備份,打印等功能。2數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告第三章概念結(jié)構(gòu)設(shè)計(jì)3.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)3.1.1本系統(tǒng)的E-R圖(不包括登錄用戶實(shí)體)如圖1-1所示。圖1-13.1.2數(shù)據(jù)表如圖1-23數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告圖1-23.1.3數(shù)據(jù)庫表設(shè)計(jì)和操作兩個觸發(fā)器TrigDeleteStu,TrigDeleteCourse分別是表Student和Course,功能是實(shí)現(xiàn)級聯(lián)刪除主要的語句分別是:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:余宏搌--Createdate:2010.3.6--Description:刪除學(xué)生信息--=============================================CREATETRIGGERTrigDeleteStuONStudentinsteadofdeleteASBEGINdeclare@snonvarchar(10)select@sno=SnofromdeleteddeleteSCwhereSno=@snodeleteStudentwhereSno=@snoENDGOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:余宏搌--Createdate:2010.3.6--Description:數(shù)據(jù)庫備份--=============================================CREATEPROCEDUREprocStudentBackup4數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告@pathnvarchar(180)ASBEGINbackupdatabaseStudenttodisk=@pathWITHFORMAT,NAME='FullBackupofAdventureWorks'ENDGOexecprocStudentBackup總共有十六個存儲過程如圖1-3圖1.3其中有一個級聯(lián)查詢selectsc.Sno,c.Cno,Cname,Credit,GradefromCoursec,SCscwheresc.Sno=@snoAndsc.Cno=c.Cno3.2解決方案如圖3.21)業(yè)務(wù)邏輯層(BLL):類3.根據(jù)學(xué)院選出學(xué)生信息;7.刪除學(xué)生信息;8.選出課程信息;9.判斷課程是否存在;11.修改課程;12.刪除課程信息;14.根據(jù)課程名選出課程信息;15.根據(jù)課程號選出16.判斷課程是夠已給分;17.添加課程分?jǐn)?shù);18.修改課程分?jǐn)?shù);19.根據(jù)學(xué)號20.數(shù)據(jù)備份;21.打印數(shù)據(jù)表;22.預(yù)覽打印的數(shù)據(jù)表;StuManager.cs總共有有21種方法:4.判斷學(xué)生是否存在;10.添加課1.選出所有學(xué)生信息;2.根據(jù)學(xué)號選出學(xué)生信息;5.添加學(xué)生;6.修改學(xué)生信息;程;課程信息;選出學(xué)生分?jǐn)?shù);2)數(shù)據(jù)層(DAL):總共三個類數(shù)據(jù)庫操作類(StuDAO.cs)、打印數(shù)據(jù)類(PrintFunction.cs)和數(shù)據(jù)庫助手類(SQLHelper.cs)。3)界面層(Web):總共有六個web頁面和一個公共頁(Master)還有CSS樣式文件等。4)模型層(Model):總共有有三個類分別是學(xué)生實(shí)體類,成績表實(shí)體類和課程實(shí)體類。5數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告(圖3.2)第四章邏輯結(jié)構(gòu)設(shè)計(jì).4.1數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)4.1.1數(shù)據(jù)庫關(guān)系模式按照實(shí)體-聯(lián)系圖化為關(guān)系模式的規(guī)則,本系統(tǒng)的E-R圖可轉(zhuǎn)化為如下3個關(guān)系模式:學(xué)生(學(xué)號、姓名、性別、年齡、所在系);課程(課程號、選修課號、學(xué)分);選修(學(xué)號、課程號、成績)。另需輔助表:用戶表(用戶編號、用戶名、口令、等級)。表名與屬性對應(yīng)由英文表示,則關(guān)系模式為:6數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告4.1.2數(shù)據(jù)庫及表結(jié)構(gòu)的創(chuàng)建設(shè)本系統(tǒng)使用的數(shù)據(jù)庫名為Student,根據(jù)已設(shè)計(jì)出的關(guān)系模式及各模式的完整性的要求,現(xiàn)在就可以在SQLServer數(shù)據(jù)庫系統(tǒng)中實(shí)現(xiàn)這些邏輯結(jié)構(gòu)。下面是創(chuàng)建數(shù)據(jù)庫及其表結(jié)構(gòu)的T-SQL命令(SQLServer中的SQL命令)4.1.3數(shù)據(jù)庫表關(guān)系圖:圖3.2第五章主要模塊設(shè)計(jì)5.1三層架構(gòu)(3-tierapplication)通常意義上的三層架構(gòu)就是將整個業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層(Web)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)還有個實(shí)體類(Model)模型層。區(qū)分層次的目的即為了“高內(nèi)聚,低耦合”的思想。1)表現(xiàn)層(Web):通俗講就是展現(xiàn)給用戶的界面,即用戶在使用一個系統(tǒng)的時候他的所見所得。2)業(yè)務(wù)邏輯層(BLL):針對具體問題的操作,也可以說是對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務(wù)邏輯處理。3)數(shù)據(jù)訪問層(DAL):該層所做事務(wù)直接操作數(shù)據(jù)庫,針對數(shù)據(jù)的增添、刪除、修改、更新、查找等。在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是一般分為三層,從下至上分別為:數(shù)據(jù)最常見,也是最重要的一種結(jié)構(gòu)。微軟推薦的分層式結(jié)構(gòu)訪問層、業(yè)務(wù)邏輯層(又或成為領(lǐng)域?qū)樱?、表示層?.2三層結(jié)構(gòu)原理7數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告3個層次中,系統(tǒng)主要功能和業(yè)務(wù)邏輯都在業(yè)務(wù)邏輯層進(jìn)行處理。所謂三層體系結(jié)構(gòu),是在客戶端與數(shù)據(jù)庫之間加入了一個“中間層”,也叫組件層。說的三層體系,不是指物理上的三層,不是簡單地放置三臺機(jī)器就是三層體系結(jié)構(gòu),也放置到一臺機(jī)這里所不僅僅有B/S應(yīng)用才是三層體系結(jié)構(gòu),三層是指邏輯上的三層,即使這三個層器上。三層體系的應(yīng)用程序?qū)I(yè)務(wù)規(guī)則、數(shù)據(jù)訪問、合法性校驗(yàn)等工作放到了中間層進(jìn)行處理。而是通過COM/DCOM通訊與中間層建立連通常情況下,客戶端不直接與數(shù)據(jù)庫進(jìn)行交互,接,再經(jīng)由中間層與數(shù)據(jù)庫進(jìn)行交互。5.2.1表示層位于最外層(最上層),離用戶最近。用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面。5.2.2業(yè)務(wù)邏輯層業(yè)務(wù)邏輯層(BusinessLogicLayer)無疑是系統(tǒng)注點(diǎn)主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實(shí)現(xiàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計(jì),也即是說它是與系統(tǒng)所應(yīng)對的領(lǐng)域(Domain)邏輯有關(guān),很多時候,也將業(yè)務(wù)邏輯層稱為領(lǐng)域?qū)?。例如MartinFowler在《PatternsofEnterpriseApplicationArchitecture》一書中,將整個架構(gòu)分的層:表示層、領(lǐng)域?qū)雍蛿?shù)據(jù)源層。作為領(lǐng)域驅(qū)動設(shè)計(jì)的先驅(qū)EricEvans,對業(yè)作了更細(xì)致地劃分,細(xì)分為應(yīng)用層與領(lǐng)域?qū)?,通過分層進(jìn)一步將領(lǐng)域邏輯與領(lǐng)域邏輯的解決方案分離。架構(gòu)中的位置很關(guān)鍵,它處于數(shù)據(jù)交換中承上啟下的作用。由于層是一種弱耦合結(jié)構(gòu),層與層之間的依賴是向下的,架構(gòu)中體現(xiàn)核心價值的部分。它的關(guān)為三個主要務(wù)邏輯層業(yè)務(wù)邏輯層在體系訪問層與表示層中間,起到了數(shù)據(jù)底層對于上層而言是“無知”的,改變上層的設(shè)計(jì)對于其調(diào)用的底層而言沒有任何影響。如果在分層設(shè)計(jì)時,遵循了面向接口設(shè)計(jì)的思想,那么這種向下的依賴也應(yīng)該是一種弱依賴關(guān)系。因而在不改變接口定義的前提下,理想的分層式架構(gòu),應(yīng)該是一個支持可抽取、可替換的“抽屜”式架構(gòu)。正因?yàn)槿绱?,業(yè)務(wù)邏輯層的設(shè)計(jì)對于一個支持可擴(kuò)展的架構(gòu)尤為關(guān)鍵,因?yàn)樗缪萘藘蓚€不同的角色。對于數(shù)據(jù)訪問層而言,它是調(diào)用者;對于表示層而言,它卻是被調(diào)用者。依賴與被依賴的關(guān)系都糾結(jié)在業(yè)務(wù)邏輯層上,如何實(shí)現(xiàn)依賴關(guān)系的解耦,則是除了實(shí)現(xiàn)業(yè)務(wù)邏輯之外留給設(shè)計(jì)師的任務(wù)。5.2.3數(shù)據(jù)層數(shù)據(jù)訪問層:有時候也稱為是持久層,其功能主要是負(fù)責(zé)數(shù)據(jù)庫的訪問,可以訪問數(shù)據(jù)庫系統(tǒng)、二進(jìn)制文件、文本文檔或是XML文檔。簡單的說法就是實(shí)現(xiàn)對數(shù)據(jù)表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就會包括對象和數(shù)據(jù)表之間的mapping,以及對象實(shí)體的持久化。我在這里的設(shè)計(jì)把全部的SQL語句全部換成了存儲過程,個人認(rèn)為這樣比SQL語句執(zhí)行得更快,在一定程度上加快響應(yīng)時間。用形參來傳遞參數(shù),這樣在一定程度上加強(qiáng)數(shù)據(jù)庫的安全行,在一定程度上避免SQL注入。如果用拼接字符串的方法(例:+sno+)。8數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告別人在界面輸入“20072426?)deleteStudent—“這樣就把數(shù)據(jù)庫里面表Student的數(shù)據(jù)全部刪掉了!一般我們寫的SQL插入語句是這樣的InsertintoStudent(sno)values(?20072417?)。如果我們用拼接字符串的方法這個Insert語句就會變成這樣InsertintoStudent(sno)values(?20072426?)deleteStudent--?)這樣就是SQL注入了。還可以做其他惡意操作,其實(shí)有很多方法可以知道數(shù)據(jù)庫中有什么表的,所以盡量不用拼接字符串的方法來傳遞參數(shù)。由于還有軟件體系結(jié)構(gòu)還有作業(yè)所以順便看了下C/S結(jié)構(gòu),和B/S5.3B/SB/S結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主事要務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。5.3.1B/S結(jié)構(gòu)的優(yōu)點(diǎn)B/S結(jié)構(gòu)最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。甚至可以在線申請,通過公司內(nèi)部的安全認(rèn)證(如CA證書)后,不需要人的參與,系統(tǒng)可以自動分配給用戶一個賬號進(jìn)入系統(tǒng)。二、B/S架構(gòu)軟件的優(yōu)勢與劣勢(1)、維護(hù)和升級方式簡單。目前,軟件系統(tǒng)的改進(jìn)和升級越來越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對一個稍微大一點(diǎn)單位來說,系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會增加任何維護(hù)升級的工作量,所有的操作只需要針對服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級和共享。所以客戶機(jī)越來越“瘦”,而服務(wù)器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級和維護(hù)會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費(fèi)用的節(jié)省是顯而易見的,驚人的。因此,維護(hù)和升級革命的方式是“瘦”客戶機(jī),“胖”服務(wù)器。(2)、成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處于絕對的統(tǒng)治地位?,F(xiàn)在的趨勢是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,而且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用那種操作系統(tǒng)都可以讓大部分人使用windows作為桌面操作系統(tǒng)電腦不受影響,這就使的最流行免費(fèi)的Linux操作系統(tǒng)快速發(fā)展起來,Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫也是免費(fèi)的,這種選擇非常盛行。比如說很多人每天上“新浪”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“新浪”9數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告的服務(wù)器用的是什么操作系統(tǒng),而事實(shí)上大部分網(wǎng)站確實(shí)沒有使用windows操作系統(tǒng),但用戶的電腦本身安裝的大部分是windows操作系統(tǒng)。(3)、應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(Server)上,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器(Server)端完全通過WWW瀏覽器實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。但是,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重,一旦發(fā)生服務(wù)器“崩潰”等問題,后果不堪設(shè)想。因此,許多單位都備有數(shù)據(jù)庫存儲服務(wù)器,以防萬一。5.2.4B/S、C/S結(jié)構(gòu)軟件技術(shù)上的比較C/S結(jié)構(gòu)軟件(即客戶機(jī)/服務(wù)器模式)分為客戶機(jī)和服務(wù)器兩層,客戶機(jī)不是毫無運(yùn)能力的輸入、輸出設(shè)備,而是具有了一定的數(shù)據(jù)處理和數(shù)據(jù)存儲能力,通過把應(yīng)用軟件的和算數(shù)據(jù)合理地分配在客戶機(jī)和服務(wù)器兩端,可以有效地降低網(wǎng)絡(luò)通信量和服務(wù)器運(yùn)算量。目不多的局域網(wǎng)內(nèi)算計(jì)由于服務(wù)器連接個數(shù)和數(shù)據(jù)通信量的限制,這種結(jié)構(gòu)的軟件適于在用戶數(shù)使用。國內(nèi)目前的大部分ERP(財(cái)務(wù))軟件產(chǎn)品即屬于此類結(jié)構(gòu)。B/S(瀏覽器構(gòu)下,軟件應(yīng)用的業(yè)務(wù)邏輯完全在應(yīng)用服務(wù)器端實(shí)現(xiàn),用戶客戶端只需要瀏覽器即可進(jìn)行業(yè)務(wù)處理,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。e通管理系列產(chǎn)品即屬于此類結(jié)構(gòu)。/服務(wù)器模式)是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種改進(jìn)。在這種結(jié)表現(xiàn)完全在Web服務(wù)器實(shí)現(xiàn),1,數(shù)據(jù)安全性比較。由于C/S結(jié)構(gòu)軟件的數(shù)據(jù)分布特性,客戶端所發(fā)生的火災(zāi)、盜搶、地震、病毒、黑客等都成了可怕的數(shù)據(jù)殺手。另外,對于集團(tuán)級的異地軟件應(yīng)用,C/S結(jié)構(gòu)的軟件必須在各地安裝多個服務(wù)器,據(jù)點(diǎn)上的數(shù)據(jù)安全都影響了整個應(yīng)用的數(shù)據(jù)安全。所以,性是令人無法接受的。對于B/S結(jié)構(gòu)的軟件來講,由于部的數(shù)據(jù)庫服務(wù)器,客戶端不保存任何業(yè)務(wù)數(shù)據(jù)和數(shù)據(jù)庫連接信息,也無需進(jìn)行什么數(shù)據(jù)步,所以這些安全問題也就自然不存在了。2,數(shù)據(jù)一致性比較。在C/S結(jié)構(gòu)軟件的解決方案里,對于異地經(jīng)營的大型集團(tuán)都采用各地安裝區(qū)域級服務(wù)器,然后再進(jìn)行數(shù)據(jù)同步的模式。這些服務(wù)器每天必須同步完畢之后,總部才可得到最終的數(shù)據(jù)。由于局部網(wǎng)絡(luò)故障造成個別數(shù)據(jù)庫不能同步不說,即使同步上來,各服務(wù)器也不是一個時點(diǎn)上的數(shù)據(jù),數(shù)據(jù)永遠(yuǎn)無法一致,不能用于決策。對于B/S結(jié)構(gòu)的軟并在多個服務(wù)器之間進(jìn)行數(shù)據(jù)同步。如此一對于集團(tuán)級的大型應(yīng)用來講,C/S其數(shù)據(jù)集中存放于總來,每個數(shù)結(jié)構(gòu)軟件的安全同件來講,其數(shù)據(jù)是集中存放的,客戶端發(fā)生的每一筆業(yè)務(wù)單據(jù)都直接進(jìn)入到中央數(shù)據(jù)庫,不存在數(shù)據(jù)一致性的問題。3,數(shù)據(jù)實(shí)時性比較。在集團(tuán)級應(yīng)用情況,看到的都是事后數(shù)據(jù);而B/S結(jié)構(gòu)則不同,它可以實(shí)時看到當(dāng)前發(fā)生的所有便了快速決策,有效地避免了企業(yè)損失。4,數(shù)據(jù)溯源性比較。由于B/S結(jié)構(gòu)的數(shù)據(jù)是集中存放的,所以總公司可以直接追溯到各級分支機(jī)構(gòu)(分公司、門店)的原始業(yè)務(wù)單據(jù),也就是說看到的結(jié)果可溯源。大部分C/S則不同,為了減少數(shù)據(jù)通信量,僅僅上傳中間報(bào)表數(shù)據(jù),在總部不可能查到各分里,C/S結(jié)構(gòu)不可能隨時隨地看到當(dāng)前業(yè)務(wù)的發(fā)生業(yè)務(wù),方結(jié)構(gòu)的軟件支機(jī)構(gòu)(分公司、門店)的原始單據(jù)。5,服務(wù)響應(yīng)及時性比較。企業(yè)的業(yè)務(wù)流程、業(yè)務(wù)模式不是一成不變的,隨著企業(yè)不斷美無缺的,所以,對已經(jīng)部署的軟件產(chǎn)品進(jìn)行維護(hù)、升級是正常的。C/S結(jié)構(gòu)軟件,由于其應(yīng)用是分布的,需要對每一個使用發(fā)展,必然會不斷調(diào)整。軟件供應(yīng)商提供的軟件也不是完10數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告節(jié)點(diǎn)進(jìn)行程序安裝,所以,即使非常小的程序缺陷都需要很長的重新部署時間,重新部署時,為了保證各程序版本的一致性,必須暫停一切業(yè)務(wù)進(jìn)行更新(即“休克更新”),其服務(wù)響應(yīng)時間基本不可忍受。而B/S結(jié)構(gòu)的軟件不同,其應(yīng)用都集中于總部服務(wù)器上,各應(yīng)用結(jié)點(diǎn)并沒有任何程序,一個地方更新則全部應(yīng)用程序更新,可以做到快速服務(wù)響應(yīng)。6,網(wǎng)絡(luò)應(yīng)用限制比較。C/S結(jié)構(gòu)軟件僅適用于局域網(wǎng)內(nèi)部用戶或?qū)拵в脩簦?兆以上);而我們的B/S結(jié)構(gòu)軟件可以適用于任何網(wǎng)絡(luò)結(jié)構(gòu)(包括33.6K撥號入網(wǎng)方式),特別適于寬帶不能到達(dá)的地方(例如迪信通集團(tuán)的某些分公司,僅靠電話上網(wǎng)即可正常使用軟件系統(tǒng))。5.2.5B/S、C/S結(jié)構(gòu)軟件商業(yè)運(yùn)用上的比較管理軟件是為企業(yè)服務(wù)的,企業(yè)選用管理軟件不僅要從技術(shù)上考慮,還要從商業(yè)運(yùn)用方面來考慮,下文將從商業(yè)運(yùn)用的角度對兩種結(jié)構(gòu)的軟件進(jìn)行比較。1,投入成本比較。B/S結(jié)構(gòu)軟件一般只有初期一次性投入成本。對于集團(tuán)來講,有利于軟件項(xiàng)目控制和避免IT黑洞,而C/S結(jié)構(gòu)的軟件則不同,隨著應(yīng)用范圍的擴(kuò)大,投資會連綿不絕。2,硬件投資保護(hù)比較。在對已有硬件投資的保應(yīng)用范圍擴(kuò)大,系統(tǒng)負(fù)載上升時,C/S結(jié)構(gòu)軟件的一般解決方案是購買更高級的中央服務(wù)器,原服務(wù)器放棄不用,這是由于C/S軟件的兩層結(jié)構(gòu)造成的,這類軟件的服務(wù)器程序必須部署在一臺計(jì)算機(jī)上;而B/S結(jié)構(gòu)(如e通管理系列)則不同,隨著服務(wù)器負(fù)載的增加,可以護(hù)方面,兩種結(jié)構(gòu)也是完全不同的。當(dāng)平滑地增加服務(wù)器的個數(shù)并建立集群服務(wù)器系統(tǒng),然后在各個服務(wù)器之間做負(fù)載均衡。有效地保護(hù)了原有硬件投資。3,企業(yè)快速擴(kuò)張支持上的比較。對于成長中的迪信通公司,每年都有新的配送中心成立,每月都有新的門店開張。應(yīng)用軟件的快速部署,是企業(yè)快速擴(kuò)張的必要保障。對于C/S結(jié)構(gòu)的軟件來講,由于必須同時安裝服務(wù)器和客戶端、建設(shè)機(jī)房、招聘專業(yè)管理人員等,所以無法適應(yīng)企業(yè)快速擴(kuò)張的特點(diǎn)。而B/S結(jié)構(gòu)軟件,次安裝,以后只需設(shè)立賬號、培訓(xùn)即可。其次,隨著軟件應(yīng)用的擴(kuò)張,對系統(tǒng)維護(hù)人才的需頸。如果企業(yè)開店上百家,對計(jì)算機(jī)專業(yè)人才的需求就將是企業(yè)面臨的巨大挑戰(zhàn)之一。拋開人力成本不說,一個企業(yè)要招到這么多的專業(yè)人才并且留住他們也是不可能的。所采用C/S結(jié)構(gòu)軟件必然會制約企業(yè)未來的發(fā)展。另外,大多數(shù)C/S結(jié)構(gòu)的軟件都是通過ODBC直接連到數(shù)據(jù)庫的,安全性差不說,其用戶數(shù)也是受限的。每個連到數(shù)據(jù)庫的用戶都會保持一個ODBC連接,都會一直占用中央服務(wù)器的資源,對中央服務(wù)器的要求非常高,使得用戶擴(kuò)充受到極大的限制。而B/S結(jié)構(gòu)軟件則不同,所有的用戶都是通過一個JDBC連接緩沖池連接到數(shù)據(jù)庫的,用戶并不保持對數(shù)據(jù)庫的連接,用戶數(shù)基本上是無限的。從以上的分析可以看出,B/S結(jié)構(gòu)的管理軟件有著C/S結(jié)構(gòu)軟件無法比擬的優(yōu)勢。而從國外的發(fā)展趨勢來看,也驗(yàn)證了這一點(diǎn)。目前,國外大型企業(yè)管理軟件要么已經(jīng)是B/S結(jié)構(gòu)企業(yè),快速擴(kuò)張是它的顯著特點(diǎn)。例如只需一求有可能成為企業(yè)快速擴(kuò)張的制約瓶以,的,要么正在經(jīng)歷從C/S到B/S結(jié)構(gòu)的轉(zhuǎn)變。從國內(nèi)諸多軟件廠商積極投入開發(fā)B/S結(jié)構(gòu)軟件的趨勢來看,B/S結(jié)構(gòu)的大型管理軟件勢必在將來的幾年內(nèi)占據(jù)管理軟件領(lǐng)域的主導(dǎo)地位。(Client/Server或客戶/服務(wù)器模式):Client和Server常常別分處在相距很遠(yuǎn)的兩臺計(jì)算機(jī)上,Client程序的任務(wù)是將用戶的要求提交給Server程序,再將Server程序返回的結(jié)果以特定的形式顯示給用戶;Server程序的任務(wù)是接收客戶程序提出的服務(wù)請求,進(jìn)行相應(yīng)的處理,再將結(jié)果返回給客戶程序。11數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告C/S(Client/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應(yīng)用中無論是Client端還是Server端都還需要特定的軟件支持。由于沒能提供用戶正真期望的開放環(huán)境,C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺電腦以上局域網(wǎng)用戶同時使用。而且代價高,效率低。一、C/S結(jié)構(gòu)的優(yōu)點(diǎn)C/S結(jié)構(gòu)的優(yōu)點(diǎn)是能充分發(fā)揮客戶端PC的處理能力,很多工作

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論