版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)論文(設(shè)計(jì))用紙佳木斯大學(xué)繼續(xù)教育學(xué)院第27頁畢業(yè)論文(設(shè)計(jì))用紙佳木斯大學(xué)繼續(xù)教育學(xué)院第1頁畢業(yè)論文(設(shè)計(jì))課題名稱藥品管理系統(tǒng)藥品管理系統(tǒng)摘要:隨著現(xiàn)代工業(yè)的發(fā)展,計(jì)算機(jī)信息管理系統(tǒng)越來越收到企業(yè)重視。文章主要分析了庫存系統(tǒng)的一些基本功能和組成情況,包括系統(tǒng)的需求分析、系統(tǒng)結(jié)構(gòu)、功能模塊劃分以及數(shù)據(jù)庫模式分析等,重點(diǎn)對(duì)應(yīng)用程序的實(shí)際開發(fā)實(shí)現(xiàn)了介紹。達(dá)到了數(shù)據(jù)的一致性和安全性,且應(yīng)用程序功能完備符合了庫存系統(tǒng)作為典型的信息管理系統(tǒng)的要求。醫(yī)院?jiǎn)挝坏乃幤沸畔⒑蛿?shù)據(jù)紛亂復(fù)雜,整理統(tǒng)計(jì)費(fèi)力費(fèi)時(shí)。要做好對(duì)企業(yè)的管理,企業(yè)就必須快速準(zhǔn)確地獲取自己企業(yè)單位的信息,這就要求及時(shí)統(tǒng)計(jì)數(shù)據(jù)并方便查看,以及對(duì)企業(yè)的數(shù)據(jù)信息進(jìn)行維護(hù)。醫(yī)院管理藥品管理系統(tǒng)是利用NetBeans5.5設(shè)計(jì)開發(fā)的醫(yī)院藥品信息管理系統(tǒng),是醫(yī)院信息系統(tǒng)的一個(gè)重要組成部分,可實(shí)現(xiàn)對(duì)醫(yī)院藥品信息的分類管理和數(shù)據(jù)分析,從而使信息整理快速、準(zhǔn)確、簡(jiǎn)單,以便于相關(guān)部門給予統(tǒng)籌安排,從而提高改進(jìn)傳統(tǒng)的管理方法,提高企業(yè)管理水平。特點(diǎn):多目標(biāo)性:對(duì)一個(gè)項(xiàng)目而言,項(xiàng)目目標(biāo)往往不是單一的,而是一個(gè)多目標(biāo)系統(tǒng),希望通過一個(gè)項(xiàng)目的實(shí)施,實(shí)現(xiàn)一系列的目標(biāo),滿足多方面的需求。我們本次的項(xiàng)目是為了實(shí)現(xiàn)醫(yī)院藥品管理員可以簡(jiǎn)單的管理藥品。在簡(jiǎn)單的層次上又有效科學(xué)的管理藥品入庫、出庫等。優(yōu)先性:項(xiàng)目是一個(gè)多目標(biāo)的系統(tǒng),不同目標(biāo)在項(xiàng)目的不同階段,根據(jù)不同需要,其重要性也不一樣。本項(xiàng)目主要目標(biāo)是可以對(duì)庫存的藥品入庫日期、出庫日期、有效期、庫存量等方面信息進(jìn)行增刪該查。對(duì)有藥品庫存不足時(shí)會(huì)對(duì)醫(yī)院藥品管理員提示。層次性:本項(xiàng)目的最高層次的目標(biāo)是醫(yī)院藥品管理員可以簡(jiǎn)單科學(xué)的管理藥品。本項(xiàng)目的最低層次的目標(biāo)是醫(yī)院藥品管理員可以對(duì)所有的藥品信息增加、刪除、修改、查詢。主要承擔(dān)了controller.Udate_yaopin.java中controller中修改映射類代碼的編輯,并且完成了view.Udate_yaopin.java中view中刪除表單驗(yàn)證代碼。通過檢測(cè)、修改并運(yùn)行通過。關(guān)鍵字:數(shù)據(jù)庫,管理方法,B/S數(shù)據(jù)結(jié)構(gòu),UML建模,JavaAbstractWiththedevelopmentofmodernindustry,computerinformationmanagementsystemforenterprisesreceivedmoreandmoreimportance.Inthispaper,ananalysisofsomeoftheinventorysystemandthecompositionofthebasicfunctions,includingsystemrequirementsanalysis,systemarchitecture,functionmodules,aswellastheanalysisofdatabaseschema,withafocusontheactualdevelopmentofapplicationshasintroduced.Toachievedataconsistencyandsecurity,andfull-featuredapplicationsinlinewiththeinventorysystemasatypicalmanagementinformationsystemrequirements.
Hospitalmedicineunitschaoticcomplexityofinformationanddatatocollatestatisticsandtime-consumingeffort.Todoagoodjobinthemanagementofenterprises,businessesmustbefastandaccurateaccesstotheirenterpriseinformation,whichrequirestimelystatisticaldataanduser-friendly,aswellasdata-to-businessinformationformaintenance.
HospitalmanagementdrugmanagementsystemisdesignedanddevelopedusingNetBeans5.5drugshospitalinformationmanagementsystem,hospitalinformationsystemisanimportantpartofthehospitaltoachievetheclassificationofdruginformationmanagementanddataanalysissothatinformationcollatedrapid,accurate,andsimple,inordertoco-ordinatearrangementsforrelevantdepartments,therebyenhancingthetraditionalmanagementmethodstoimproveandenhancethelevelofenterprisemanagement.
Characteristics:
Multi-objectiveof:Ofaproject,theprojectobjectivesisoftennotasingle,butmorethanonetargetsystem,andhopesthattheimplementationofaproject,aseriesofgoalstoachievetomeetthevariousneeds.Wepresenttheprojectistoachieveasimplehospitalmedicinesmanagementadministratordrugs.Levelinasimpleandeffectivemanagementofscienceandmedicinestorage,suchasalibrary.
Priority:Projectisamulti-targetsystem,differentgoalsatdifferentstagesoftheproject,accordingtothedifferentneedsofitsimportancetobefound.Themainobjectiveofthisprojectiswarehousingofinventoryofmedicinesdates,thedateoftheTreasury,thevalidityofinformation,suchasinventoryadditionsanddeletionstothesearch.Stockonthelackofdrugsatthehospitalhaveprompteddrugadministrator.
Levels:Theprojectgoalisthehighestlevelhospitaladministratordrugsscientificmanagementcanbesimplemedicines.Theprojectgoalistheminimumlevelofhospitaladministratorstodrugsforalldruginformationtoadd,delete,modify,query.
Controller.Udate_yaopin.javaassumedinthemaincontrollertomodifythecodeeditorcategorymapping,andcompletedtheview.Udate_yaopin.javainviewtoremovetheformverificationcode.Bydetectingchangesandrunthrough.Keywords:database,management,B/Sdatastructures,UMLmodeling,Java
目錄TOC\o"1-2"\h\z\u摘要 1Abstract 2引言 41.課題的背景和意義 42.國內(nèi)外發(fā)展的現(xiàn)狀 43.畢業(yè)設(shè)計(jì)的工作 5一、方案論證 61.1現(xiàn)有體系開發(fā)模式及優(yōu)缺點(diǎn) 61.2系統(tǒng)體系結(jié)構(gòu) 101.3系統(tǒng)開發(fā)環(huán)境 13二、系統(tǒng)需求分析 132.1業(yè)務(wù)流程 132.2需求分析 142.3數(shù)據(jù)庫的設(shè)計(jì) 16三、系統(tǒng)分析與實(shí)現(xiàn) 183.1系統(tǒng)概要設(shè)計(jì) 183.2系統(tǒng)頁面設(shè)計(jì)(更新頁面) 193.3測(cè)試 19四、工作總結(jié)和展望 214.1工作總結(jié) 214.2展望與不足 21結(jié)束語 22致謝 23參考文獻(xiàn) 24引言1課題的背景和意義我國,隨著醫(yī)藥衛(wèi)生體制改革的深入,醫(yī)藥連鎖經(jīng)營的推行以及日趨激烈的商業(yè)角逐,越來越多的醫(yī)藥經(jīng)營企業(yè)意識(shí)到提高企業(yè)管理水平的重要性,也迫切要求加快管理信息化的進(jìn)程。在醫(yī)藥行業(yè)中,醫(yī)藥經(jīng)營企業(yè)的物流管理以及相應(yīng)的財(cái)務(wù)處理、信息處理,長(zhǎng)期以來一直采用手工操作,但隨著產(chǎn)業(yè)結(jié)構(gòu)調(diào)整、全新的市場(chǎng)競(jìng)爭(zhēng)環(huán)境,企業(yè)管理和運(yùn)營效率已經(jīng)成為企業(yè)成敗的關(guān)鍵所在,手工方式的弊端畢現(xiàn)無遺。這就要求藥品管理擺脫過去人手操作的煩瑣過程,對(duì)所有的藥品管理數(shù)據(jù)實(shí)行智能管理,促使藥品管理朝著科學(xué)化和規(guī)范化的方向前進(jìn)。隨著計(jì)算機(jī)技術(shù)的普及,在醫(yī)藥行業(yè)中,醫(yī)藥經(jīng)營企業(yè)逐漸借助計(jì)算機(jī)技術(shù)去完善醫(yī)藥的管理和提高自身的工作效率,以贏得市場(chǎng)競(jìng)爭(zhēng)的勝利。因而藥品管理信息系統(tǒng)已經(jīng)成為各醫(yī)藥經(jīng)營企業(yè)實(shí)現(xiàn)藥品管理網(wǎng)絡(luò)化和信息化的必備工具,是醫(yī)藥經(jīng)營企業(yè)規(guī)模經(jīng)營管理不可缺少的部件之一。同時(shí),軟件開發(fā)環(huán)境的高度集成和數(shù)據(jù)庫技術(shù)的日益成熟成為開發(fā)藥品管理信息系統(tǒng)的技術(shù)基礎(chǔ),大大降低了系統(tǒng)的開發(fā)成本。系統(tǒng)開發(fā)工具的智能化、人性化,使得所開發(fā)的系統(tǒng)充分滿足了醫(yī)藥經(jīng)營企業(yè)的各種需求,從醫(yī)藥經(jīng)營企業(yè)的各個(gè)環(huán)節(jié)對(duì)人流、物流、資金流、信息流進(jìn)行統(tǒng)一系統(tǒng)的管理。市場(chǎng)的需求和技術(shù)的支持,最終會(huì)導(dǎo)致越來越多的優(yōu)秀藥品管理軟件的出現(xiàn),并在競(jìng)爭(zhēng)中得到不斷的完善和優(yōu)化。2國內(nèi)外發(fā)展的現(xiàn)狀發(fā)達(dá)國家醫(yī)院藥品管理系統(tǒng)的開發(fā)實(shí)現(xiàn)已有三十多年的歷史,至今有了長(zhǎng)足的進(jìn)步,有許多舉世公認(rèn)的成功的系統(tǒng)在醫(yī)院藥品有效地運(yùn)轉(zhuǎn)著。像鹽湖城LDS醫(yī)院藥品的HELP系統(tǒng),麻省總醫(yī)院藥品的COSTAR系統(tǒng),退伍軍人管理局的DHCP系統(tǒng)。縱觀美國的醫(yī)藥庫房發(fā)展歷史,大約可分為三個(gè)階段:第一個(gè)十年,集中在開發(fā)醫(yī)院藥品行政管理的功能上,象財(cái)務(wù)收費(fèi)管理管理等。但到1972年Collen仍報(bào)告美國迄今為止連一個(gè)成功的已完成的全面醫(yī)院藥品(管理)計(jì)算機(jī)系統(tǒng)都沒有。第二個(gè)十年,在繼續(xù)完成和實(shí)現(xiàn)醫(yī)院藥品管理信息的計(jì)算機(jī)化的同時(shí),開發(fā)者的努力已進(jìn)入醫(yī)療信息的處理領(lǐng)域,像病人醫(yī)療處理系統(tǒng),實(shí)驗(yàn)室系統(tǒng)等。到1985年,美國全國醫(yī)院藥品數(shù)據(jù)處理工作調(diào)查表明,100張床位以上的醫(yī)院藥品80%實(shí)現(xiàn)了計(jì)算機(jī)財(cái)務(wù)收費(fèi)管理,70%的醫(yī)院藥品可支持病人掛號(hào)登記和行政事務(wù)管理,25%的醫(yī)院藥品有了較完整的MIS。醫(yī)院藥品管理系統(tǒng)正在經(jīng)歷著小型化(DownSizing)、智能化(Intellegence)和集成化(Integration)的改造過程。醫(yī)院藥品管理信息系統(tǒng)(的主要目標(biāo)是支持醫(yī)院藥品的行政管理與事務(wù)處理業(yè)務(wù),減輕事務(wù)處理人員的勞動(dòng)強(qiáng)度,輔助醫(yī)院藥品管理,輔助高層領(lǐng)導(dǎo)決策,提高醫(yī)院藥品的工作效率,從而使醫(yī)院藥品能夠以少的投入獲得更好的社會(huì)效益與經(jīng)濟(jì)效益,象財(cái)務(wù)系統(tǒng)、人事系統(tǒng)、藥品庫存管理系統(tǒng)等就屬于管理系統(tǒng)的范圍。但是,無論外國還是中國,當(dāng)一個(gè)醫(yī)院藥品的醫(yī)院藥品管理系統(tǒng)剛剛起步時(shí),往往是首先建立醫(yī)院藥品管理信息系統(tǒng),這是因?yàn)椋横t(yī)院藥品管理信息系統(tǒng)所需要的資源較少,比較起來所需要的磁盤容量、工作站數(shù)量、網(wǎng)絡(luò)傳輸能力、顯示器質(zhì)量均遠(yuǎn)遠(yuǎn)低于CIS的需求。支持醫(yī)院藥品管理信息系統(tǒng)的計(jì)算機(jī)技術(shù)較為單純和簡(jiǎn)單。由于醫(yī)院藥品管理信息系統(tǒng)以處理文字和數(shù)字類數(shù)據(jù)為主,較少涉及聲音、圖象、多媒體數(shù)據(jù)的動(dòng)態(tài)傳遞等復(fù)雜需求,因此實(shí)現(xiàn)起來容易得多。臨床信息系統(tǒng)在數(shù)據(jù)處理的實(shí)時(shí)性要求、相應(yīng)速度、安全保密等方面一般要比管理信息系統(tǒng)有更苛刻的要求。最后,從投入與產(chǎn)出考慮,多數(shù)醫(yī)院藥品的決策者們均認(rèn)為使醫(yī)院藥品更直接、更明顯、更迅速地獲得系統(tǒng)的回報(bào)。就是說,以較少的投入,獲得較大的收益。3畢業(yè)設(shè)計(jì)的工作對(duì)醫(yī)院的基本工作情況作了一番了解,并且從中收集到一些數(shù)據(jù),了解藥品銷售過程中的所有工作情況;了解藥品管理的重要環(huán)節(jié);了解了藥品管理系統(tǒng)今后的市場(chǎng)和發(fā)展?jié)摿?。藥品管理系統(tǒng)是為了加強(qiáng)藥品管理,以便更好地對(duì)藥品進(jìn)行監(jiān)督和管理,對(duì)售藥機(jī)構(gòu)人員的工作,起到了高效性、準(zhǔn)確性管理而開發(fā)。本系統(tǒng)主要包含系統(tǒng)管理模塊、藥品管理模塊、銷售管理模塊、庫存管理模塊、供貨商管理。藥品管理系統(tǒng)是以合理、全面、準(zhǔn)確的藥品編碼體系為基礎(chǔ),提供了對(duì)藥品數(shù)量、金額、有效期的全面管理,統(tǒng)一的藥價(jià)管理機(jī)制規(guī)范了藥品的價(jià)格。系統(tǒng)能隨時(shí)提供藥庫的庫存、藥品流向和消耗,還能根據(jù)現(xiàn)有庫存,藥品有效期提供采購計(jì)劃或應(yīng)暫停采購的藥品清單,以提高資金的利用率,避免不必要的損失,方便快捷的途徑對(duì)藥品基本信息進(jìn)行定期的更新和刪除等管理。一、方案論證1.1現(xiàn)有體系開發(fā)模式及優(yōu)缺點(diǎn)隨著計(jì)算機(jī)的普及,人們對(duì)計(jì)算機(jī)的認(rèn)識(shí)及需求有了明顯的增加。計(jì)算機(jī)對(duì)于大量信息的管理的優(yōu)勢(shì)更是顯而易見。對(duì)于一個(gè)只要企業(yè)來說,這方面的需要尤其重要。有了這個(gè)藥品庫存管理系統(tǒng),管理員的工作任務(wù)就可能會(huì)事半功倍。藥品管理是醫(yī)院藥品管理的核心,是節(jié)流增收最有潛力的環(huán)節(jié)。本藥庫管理系統(tǒng)是按照衛(wèi)生部新的財(cái)務(wù)制度的要求設(shè)計(jì)的,采用藥品分類國家標(biāo)準(zhǔn)編碼體系,實(shí)現(xiàn)了發(fā)藥與庫存管理一體化。支持藥品多種規(guī)格的變換,加權(quán)平均等多種倉庫管理模式。支持藥品有效期管理,防止藥物的過期浪費(fèi),可以根據(jù)現(xiàn)有的庫存、藥品有效期以及往年同期的藥品消耗情況制定采購計(jì)劃、失效預(yù)報(bào)或應(yīng)暫停采購的藥品清單,方便領(lǐng)導(dǎo)決策。本系統(tǒng)主要有以下幾個(gè)功能模塊:(1)系統(tǒng)登錄模塊,登錄系統(tǒng)。(2)系統(tǒng)設(shè)置模塊,管理系統(tǒng)用戶及密碼。(3)基本信息管理模塊,錄入藥品基本信息,供貨商及客戶的相關(guān)信息。(4)藥品管理模塊,庫存藥品信息,藥品的報(bào)損。(5)其他信息管理模塊,流通資金,業(yè)務(wù)員管理,數(shù)據(jù)備份,數(shù)據(jù)庫初值。有了這個(gè)藥品庫存管理系統(tǒng),管理員的工作任務(wù)就可能會(huì)事半功倍。在本系統(tǒng)的可行性分析過程中,通過調(diào)查分析醫(yī)院藥品庫存管理所具備的能力及實(shí)現(xiàn)的方法。確定總體結(jié)構(gòu),利用SQLServer數(shù)據(jù)庫所具有的能力,以最簡(jiǎn)潔最容易的方法,對(duì)藥品名稱、編碼、種類等屬性進(jìn)行增加、修改、刪除、查詢。使用Java/JSP應(yīng)用程序編程,還可以清晰的看到入庫出庫信息,這有利于醫(yī)院藥品管理員有效的對(duì)藥品倉庫的管理。藥品管理系統(tǒng)的規(guī)模、設(shè)備狀況、維護(hù)和修改系統(tǒng)程序,都需要相關(guān)的操作人員。1.1.1技術(shù)可行性藥品管理系統(tǒng)采用MVC模式,MVC英文即Model-View-Controller,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層。系統(tǒng)是由網(wǎng)絡(luò)和網(wǎng)頁實(shí)現(xiàn)的。所以本系統(tǒng)使用Java技術(shù)編程,應(yīng)用界面友好且功能強(qiáng)大的DREAMWEAVER作為開發(fā)工具,服務(wù)器端腳本用JSP/JAVA腳本來編寫,客戶端腳本也用Java來編寫,數(shù)據(jù)庫使用SQLServer20005數(shù)據(jù)庫,服務(wù)器是TOMCAT5.0。使用Struts,會(huì)話管理,過濾器以及數(shù)據(jù)庫集成技術(shù),構(gòu)建健壯的Web應(yīng)用程序。使用JavaServerPages技術(shù)(JSP頁面)編寫網(wǎng)頁。使用Model2設(shè)計(jì)良好的Web應(yīng)用程序能夠容易的移植到復(fù)雜的J2EE架構(gòu)。通過MVC模式編寫的,具有極其良好的可擴(kuò)展性。它可以輕松實(shí)現(xiàn)以下功能:①實(shí)現(xiàn)一個(gè)模型的多個(gè)視圖;②采用多個(gè)控制器;③當(dāng)模型改變時(shí),所有視圖將自動(dòng)刷新;④所有的控制器將相互獨(dú)立工作。本團(tuán)隊(duì)在大學(xué)的學(xué)習(xí)中,已經(jīng)學(xué)過這幾門語言。熱愛計(jì)算機(jī)科學(xué),有一種奮發(fā)向上刻苦鉆研的精神,經(jīng)過大學(xué)兩年的學(xué)習(xí),這些課程已熟練掌握,本系統(tǒng)是在學(xué)校開發(fā),遇到問題可以與同學(xué)一起研究,再加上導(dǎo)師的指導(dǎo)。因此在技術(shù)上能夠適應(yīng)本系統(tǒng)的開發(fā)。1.1.2使用可行性本系統(tǒng)主要是對(duì)制藥公司的藥品庫存的管理,能夠及時(shí)的登錄存入的藥品和減少銷售藥品的數(shù)量;能夠?qū)γ恳环N藥品的各種信息進(jìn)行匯總,比如藥品編號(hào)、藥品名、生產(chǎn)日期、過期日期、主要訂購商等等;并且能提供對(duì)藥品各種信息的查詢;對(duì)生產(chǎn)和銷售的藥品每月月底做一個(gè)匯總,同時(shí)對(duì)每月的盈利情況進(jìn)行匯總;當(dāng)藥品的存儲(chǔ)數(shù)量低于某一數(shù)量的時(shí)候,系統(tǒng)要能自動(dòng)提示管理員該藥品該再進(jìn)貨(生產(chǎn))了;同時(shí)當(dāng)某一種藥品的數(shù)量超過了某一數(shù)值的時(shí)候管理系統(tǒng)又能自動(dòng)提示管理員該暫時(shí)減少或者停止該藥的進(jìn)貨(生產(chǎn))量;對(duì)已經(jīng)過期的藥品應(yīng)該注銷,同時(shí)提醒管理員銷毀或者處理該藥品。本項(xiàng)目開發(fā)在技術(shù)方面采用Java/JSP應(yīng)用程序編程與數(shù)據(jù)庫相結(jié)合方法來實(shí)現(xiàn)。要求所有數(shù)據(jù)信息的儲(chǔ)存都由數(shù)據(jù)庫來完成。使用到局域網(wǎng)連接技術(shù)、JSP/NetBean5.5開發(fā)技術(shù)、SQLServer2005服務(wù)器端的T-SQL語言數(shù)據(jù)庫開發(fā)技術(shù),這些都是非常成熟的技術(shù)。本系統(tǒng)采用先進(jìn)的開發(fā)技術(shù),開發(fā)的程序具有WINDOWS圖形用戶界面,和WINDOWS特性風(fēng)格,界面直觀易懂,操作簡(jiǎn)潔,使用非常方便。近年來,隨著網(wǎng)絡(luò)技術(shù)不斷發(fā)展,尤其是基于Web的信息發(fā)布和檢索技術(shù)、Java計(jì)算技術(shù)以及網(wǎng)絡(luò)分布式對(duì)象技術(shù)的飛速發(fā)展,導(dǎo)致了很多應(yīng)用系統(tǒng)的體系結(jié)構(gòu)向靈活、多級(jí)分布結(jié)構(gòu)演變。Client/Server(簡(jiǎn)稱C/S)結(jié)構(gòu),由于客戶服務(wù)器兩層結(jié)構(gòu)存在靈活性差、升級(jí)困難、維護(hù)工作量大等缺陷,已較難適應(yīng)當(dāng)前信息技術(shù)與網(wǎng)絡(luò)技術(shù)發(fā)展的需要。隨著WEB技術(shù)的日益成熟,Browse/Server(簡(jiǎn)稱B/S)結(jié)構(gòu)浮出水面并呈現(xiàn)逐漸取代前者的形勢(shì),使得軟件系統(tǒng)的網(wǎng)絡(luò)體系結(jié)構(gòu)跨入一個(gè)新階段。但對(duì)結(jié)構(gòu)的單一選擇又并不能有效地適應(yīng)當(dāng)前用戶對(duì)治理信息系統(tǒng)的新需求。所以熟悉這些結(jié)構(gòu)的特征,并根據(jù)實(shí)際情況進(jìn)行系統(tǒng)的選型和結(jié)構(gòu)優(yōu)點(diǎn)的整合,成為開發(fā)一個(gè)成功的MIS系統(tǒng)的關(guān)鍵點(diǎn)。1.1.3C/S模式與B/S模式的比較分析C/S是Client/Server的縮寫。服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫系統(tǒng),如Oracle、Sybase、Informix或SQLServer??蛻舳诵枰惭b專用的客戶端軟件。B/S是Brower/Server的縮寫,客戶機(jī)上只要安裝一個(gè)瀏覽器,如NetscapeNavigator或InternetEXPlorer,服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)。瀏覽器通過WebServer同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。B/S模式的優(yōu)勢(shì)首先它簡(jiǎn)化了客戶端。它無需象C/S模式那樣在不同的客戶機(jī)上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機(jī)的硬盤空間與內(nèi)存,而且使安裝過程更加簡(jiǎn)便、網(wǎng)絡(luò)結(jié)構(gòu)更加靈活。假設(shè)一個(gè)企業(yè)的決策層要開一個(gè)討論庫存問題的會(huì)議,他們只需從會(huì)議室的計(jì)算機(jī)上直接通過瀏覽器查詢數(shù)據(jù),然后顯示給大家看就可以了。甚至與會(huì)者還可以把筆記本電腦聯(lián)上會(huì)議室的網(wǎng)絡(luò)插口,自己來查詢相關(guān)的數(shù)據(jù)。其次,它簡(jiǎn)化了系統(tǒng)的開發(fā)和維護(hù)。系統(tǒng)的開發(fā)者無須再為不同級(jí)別的用戶設(shè)計(jì)開發(fā)不同的客戶應(yīng)用程序了,只需把所有的功能都實(shí)現(xiàn)在Web服務(wù)器上,并就不同的功能為各個(gè)組別的用戶設(shè)置權(quán)限就可以了。各個(gè)用戶通過HTTP請(qǐng)求在權(quán)限范圍內(nèi)調(diào)用Web服務(wù)器上不同處理程序,從而完成對(duì)數(shù)據(jù)的查詢或修改?,F(xiàn)代企業(yè)面臨著日新月異的競(jìng)爭(zhēng)環(huán)境,對(duì)企業(yè)內(nèi)部運(yùn)作機(jī)制的更新與調(diào)整也變得逐漸頻繁。相對(duì)于C/S,B/S的維護(hù)具有更大的靈活性。當(dāng)形勢(shì)變化時(shí),它無須再為每一個(gè)現(xiàn)有的客戶應(yīng)用程序升級(jí),而只需對(duì)Web服務(wù)器上的服務(wù)處理程序進(jìn)行修訂。這樣不但可以提高公司的運(yùn)作效率,還省去了維護(hù)時(shí)協(xié)調(diào)工作的不少麻煩。假如一個(gè)公司有上千臺(tái)客戶機(jī),并且分布在不同的地點(diǎn),那么便于維護(hù)將會(huì)顯得更加重要。再次,它使用戶的操作變得更簡(jiǎn)單。對(duì)于C/S模式,客戶應(yīng)用程序有自己特定的規(guī)格,使用者需要接受專門培訓(xùn)。而采用B/S模式時(shí),客戶端只是一個(gè)簡(jiǎn)單易用的瀏覽器軟件。無論是決策層還是操作層的人員都無需培訓(xùn),就可以直接使用。B/S模式的這種特性,還使MIS系統(tǒng)維護(hù)的限制因素更少。最后,B/S非凡適用于網(wǎng)上信息發(fā)布,使得傳統(tǒng)的MIS的功能有所擴(kuò)展。這是C/S所無法實(shí)現(xiàn)的。而這種新增的網(wǎng)上信息發(fā)布功能恰是現(xiàn)代企業(yè)所需的。這使得企業(yè)的大部分書面文件可以被電子文件取代,從而提高了企業(yè)的工作效率,使企業(yè)行政手續(xù)簡(jiǎn)化,節(jié)省人力物力。鑒于B/S相對(duì)于C/S的先進(jìn)性,B/S逐漸成為一種流行的MIS系統(tǒng)平臺(tái)。各軟件公司紛紛推出自己的Internet方案,基于Web的財(cái)務(wù)系統(tǒng)、基于Web的ERP。一些企業(yè)已經(jīng)領(lǐng)先一步開始使用它,并且收到了一定的成效。B/S三層體系結(jié)構(gòu)的不足由于瀏覽器只是為了進(jìn)行WEB瀏覽而設(shè)計(jì)的,當(dāng)其應(yīng)用于WEB應(yīng)用系統(tǒng)時(shí),許多功能不能實(shí)現(xiàn)或?qū)崿F(xiàn)起來比較困難。比如通過瀏覽器進(jìn)行大量的數(shù)據(jù)輸入,或進(jìn)行報(bào)表的應(yīng)答都是比較困難和不便的。復(fù)雜的應(yīng)用構(gòu)造困難。雖然可以用ActiveX、Java等技術(shù)開發(fā)較為復(fù)雜的應(yīng)用,但是相對(duì)于發(fā)展已非常成熟C/S的一系列應(yīng)用工具來說,這些技術(shù)的開發(fā)復(fù)雜,并沒有完全成熟的技術(shù)供使用。HTTP可靠性低有可能造成應(yīng)用故障,非凡是對(duì)于治理者來說,采用瀏覽器方式進(jìn)行系統(tǒng)的維護(hù)是非常不安全與不方便的。WEB服務(wù)器成為對(duì)數(shù)據(jù)庫的唯一的客戶端,所有對(duì)數(shù)據(jù)庫的連接都通過該服務(wù)器實(shí)現(xiàn)。WEB服務(wù)器同時(shí)要處理與客戶請(qǐng)求以及與數(shù)據(jù)庫的連接,當(dāng)訪問量大時(shí),服務(wù)器端負(fù)載過重。由于業(yè)務(wù)邏輯和數(shù)據(jù)訪問程序一般由JavaScript、VBScript等嵌入式小程序?qū)崿F(xiàn),分散在各個(gè)頁面里,難以實(shí)現(xiàn)共享,給升級(jí)和維護(hù)也帶來了不便。同時(shí)由于源代碼的開放性,使得商業(yè)規(guī)則很輕易暴露,而商業(yè)規(guī)則對(duì)應(yīng)用程序來說則是非常重要的。B/S模式的新奇與流行,和在某些方面相對(duì)于C/S的巨大改進(jìn),使B/S成了MIS系統(tǒng)平臺(tái)的首選,也使人忽略了B/S不成熟的一面,以及C/S所固有的一些優(yōu)點(diǎn)。下面讓我們來看C/S相對(duì)于B/S的一些優(yōu)勢(shì)。C/S模式相對(duì)B/S模式的優(yōu)勢(shì)首先,交互性強(qiáng)是C/S固有的一個(gè)優(yōu)點(diǎn)。在C/S中,客戶端有一套完整的應(yīng)用程序,在出錯(cuò)提示、幫助等方面都有強(qiáng)大的功能,并且可以在子程序間自由切換。B/S雖然由JavaScript、VBScript提供了一定的交互能力,但與C/S的一整套客戶應(yīng)用相比是太有限了。其次,C/S模式提供了更安全的存取模式。由于C/S是配對(duì)的點(diǎn)對(duì)點(diǎn)的結(jié)構(gòu)模式,采用適用于局域網(wǎng)、安全性比較好的網(wǎng)絡(luò)協(xié)議(例如:NT的NetBEUI協(xié)議),安全性可以得到較好的保證。而B/S采用點(diǎn)對(duì)多點(diǎn)、多點(diǎn)對(duì)多點(diǎn)這種開放的結(jié)構(gòu)模式,并采用TCP/IP這一類運(yùn)用于Internet的開放性協(xié)議,其安全性只能靠數(shù)據(jù)服務(wù)器上治理密碼的數(shù)據(jù)庫來保證。再次,采用C/S模式將降低網(wǎng)絡(luò)通信量。B/S采用了邏輯上的三層結(jié)構(gòu),而在物理上的網(wǎng)絡(luò)結(jié)構(gòu)仍然是原來的以太網(wǎng)或環(huán)形網(wǎng)。這樣,第一層與第二層結(jié)構(gòu)之間的通信、第二層與第三層結(jié)構(gòu)之間的通信都需占用同一條網(wǎng)絡(luò)線路。而C/S只有兩層結(jié)構(gòu),網(wǎng)絡(luò)通信量只包括Client與Server之間的通信量。所以,C/S處理大量信息的能力是B/S所無法比擬的。最后,由于C/S在邏輯結(jié)構(gòu)上比B/S少一層,對(duì)于相同的任務(wù),C/S完成的速度總比B/S快。使得C/S更利于處理大量數(shù)據(jù)。B/S模式的先進(jìn)性和C/S模式的成熟性使人在現(xiàn)代企業(yè)MIS系統(tǒng)平臺(tái)的選擇上難定取舍。究竟應(yīng)該選擇哪種模式呢,有沒有兩種平臺(tái)相結(jié)合的模式呢?基于B/S結(jié)構(gòu)與C/S結(jié)構(gòu)結(jié)合的體系結(jié)構(gòu)客觀地分析C/S、B/S的優(yōu)劣,建立C/S、B/S結(jié)構(gòu)相結(jié)合的網(wǎng)絡(luò)構(gòu)架已成為必然趨勢(shì)。筆者設(shè)想,把B/S與C/S相結(jié)合,將組件技術(shù)和ActiveX技術(shù)分別應(yīng)用在服務(wù)器端和客戶端,從而開發(fā)出高效、安全的應(yīng)用系統(tǒng)。COM是一種技術(shù)標(biāo)準(zhǔn)。它是由微軟公司創(chuàng)建,提供了使多個(gè)應(yīng)用程序或組件對(duì)象協(xié)同工作并相互通信的能力。COM組件是遵循COM規(guī)范編寫、以WIN32動(dòng)態(tài)鏈接庫或可執(zhí)行文件的形式發(fā)布的可執(zhí)行的二進(jìn)制代碼。遵循COM的規(guī)范標(biāo)準(zhǔn),使組件與應(yīng)用、組件與組件之間可以相互操作,極其方便地建立可伸縮的應(yīng)用系統(tǒng)。ActiveX是遵循COM/DCOM規(guī)程而開發(fā)的用于INTERNET的一種對(duì)象鏈接與嵌入技術(shù)。COM是應(yīng)OLE設(shè)計(jì)者的需求而誕生的。其基本的出發(fā)點(diǎn)是想讓某個(gè)軟件通過一個(gè)通用的機(jī)構(gòu)為另一個(gè)軟件提供服務(wù)。對(duì)于基于WEB的應(yīng)用而言,它提供了使組件嵌入到WEB頁面以擴(kuò)展交互功能的應(yīng)用機(jī)制??蛻舳丝丶敲嫦蛴脩舻模钥梢暬膱D形視頻或文字界面、或者音頻形式在瀏覽器上出現(xiàn)。但它可能并不是瀏覽器的組成部分。這些控件原先是放在服務(wù)器上的。當(dāng)瀏覽器發(fā)出請(qǐng)求時(shí),WEB服務(wù)器回傳頁面,由瀏覽器負(fù)責(zé)解釋。在解釋過程中,若發(fā)現(xiàn)頁面中要求調(diào)用ActiveX控件時(shí),則用該控件的在頁面中注明的ID值先在本地的注冊(cè)表內(nèi)進(jìn)行查詢。若已經(jīng)存在,則說明該控件已經(jīng)在本地安裝,然后通過注冊(cè)表中的相關(guān)信息直接使用該控件;否則就要根據(jù)頁面中所提示的該控件所在的服務(wù)器上的路徑到服務(wù)器上去下載并且自動(dòng)完成在本地的安裝注冊(cè),使該控件成為本地資源,供今后使用,這就是所謂“一次下載,永久使用“??蛻舳丝丶坏┰诒镜匕惭b完畢,就等價(jià)于一個(gè)可執(zhí)行的應(yīng)用程序,它能訪問使用本地的資源,甚至進(jìn)行遠(yuǎn)程訪問。采用這種結(jié)構(gòu)優(yōu)點(diǎn)在于:(1)充分發(fā)揮了B/S與C/S體系結(jié)構(gòu)的優(yōu)勢(shì),彌補(bǔ)了二者不足。充分考慮用戶利益,保證瀏覽查詢者方便操作的同時(shí)也使得系統(tǒng)更新簡(jiǎn)單,維護(hù)簡(jiǎn)單靈活,易于操作。(2)信息發(fā)布采用B/S結(jié)構(gòu),保持了瘦客戶端的優(yōu)點(diǎn)。裝入客戶機(jī)的軟件可以采用統(tǒng)一的WWW瀏覽器。而且由于WWW瀏覽器和網(wǎng)絡(luò)綜合服務(wù)器都是基于工業(yè)標(biāo)準(zhǔn),可以在所有的平臺(tái)上工作。(3)數(shù)據(jù)庫端采用C/S結(jié)構(gòu),通過ODBC/JDBC連接。這一部分只涉及到系統(tǒng)維護(hù)、數(shù)據(jù)更新等,不存在完全采用C/S結(jié)構(gòu)帶來的客戶端維護(hù)工作量大等缺點(diǎn)。并且在客戶端可以構(gòu)造非常復(fù)雜的應(yīng)用,界面友好靈活,易于操作,能解決許多B/S存在的固有缺點(diǎn)。(4)對(duì)于原有基于C/S體系結(jié)構(gòu)的應(yīng)用,可以非常輕易地升級(jí)到這種體系結(jié)構(gòu),只需開發(fā)用于發(fā)布的WWW界面,可以保留原有的C/S結(jié)構(gòu)的某些子系統(tǒng),充分地利用現(xiàn)有系統(tǒng)的資源。使得現(xiàn)有系統(tǒng)或資源無需大的改造即可以連接使用,保護(hù)了用戶以往的投資。(5)通過在瀏覽器中嵌入ActiveX控件可以實(shí)現(xiàn)在瀏覽器中不能實(shí)現(xiàn)或?qū)崿F(xiàn)起來比較困難的功能。比如通過瀏覽器進(jìn)行報(bào)表的應(yīng)答。另外,在客戶端ActiveX控件的加盟,可以豐富HTML頁面,產(chǎn)生另人驚異的效果。(6)將服務(wù)器端劃分為WEB服務(wù)器和WEB應(yīng)用程序兩部分。WEB應(yīng)用程序采用組件技術(shù)實(shí)現(xiàn)三層體系結(jié)中的商業(yè)邏輯部分,達(dá)到封裝源代碼,保護(hù)知識(shí)產(chǎn)權(quán)的目的。Internet應(yīng)用程序大部分屬于分布式應(yīng)用程序,采用組件技術(shù)一個(gè)重要特點(diǎn)就是它的處理能力能夠隨著用戶數(shù)量、數(shù)據(jù)量所需性能的提高而增加。COM的無縫擴(kuò)展集COM+,有著如內(nèi)存數(shù)據(jù)庫、負(fù)載平衡等強(qiáng)大的功能。1.2系統(tǒng)體系結(jié)構(gòu)1.2.1web服務(wù)器(IIS、數(shù)據(jù)庫服務(wù)器)的作用通俗的講,Web服務(wù)器傳送(serves)頁面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)的方法(methods)。確切一點(diǎn),你可以說:Web服務(wù)器專門處理HTTP請(qǐng)求(request),但是應(yīng)用程序服務(wù)器是通過很多協(xié)議來為應(yīng)用程序提供(serves)商業(yè)邏輯(businesslogic)。Web服務(wù)器可以解析(handles)HTTP協(xié)議。當(dāng)Web服務(wù)器接收到一個(gè)HTTP請(qǐng)求(request),會(huì)返回一個(gè)HTTP響應(yīng)(response),例如送回一個(gè)HTML頁面。為了處理一個(gè)請(qǐng)求(request),Web服務(wù)器可以響應(yīng)(response)一個(gè)靜態(tài)頁面或圖片,進(jìn)行頁面跳轉(zhuǎn)(redirect),或者把動(dòng)態(tài)響應(yīng)(dynamicresponse)的產(chǎn)生委托(delegate)給一些其它的程序例如CGI腳本,JSP(JavaServerPages)腳本,servlets,ASP(ActiveServerPages)腳本,服務(wù)器端(server-side)JavaScript,或者一些其它的服務(wù)器端(server-side)技術(shù)。無論它們(譯者注:腳本)的目的如何,這些服務(wù)器端(server-side)的程序通常產(chǎn)生一個(gè)HTML的響應(yīng)(response)來讓瀏覽器可以瀏覽。要知道,Web服務(wù)器的代理模型(delegationmodel)非常簡(jiǎn)單。當(dāng)一個(gè)請(qǐng)求(request)被送到Web服務(wù)器里來時(shí),它只單純的把請(qǐng)求(request)傳遞給可以很好的處理請(qǐng)求(request)的程序(譯者注:服務(wù)器端腳本)。Web服務(wù)器僅僅提供一個(gè)可以執(zhí)行服務(wù)器端(server-side)程序和返回(程序所產(chǎn)生的)響應(yīng)(response)的環(huán)境,而不會(huì)超出職能范圍。服務(wù)器端(server-side)程序通常具有事務(wù)處理(transactionprocessing),數(shù)據(jù)庫連接(databaseconnectivity)和消息(messaging)等功能。雖然Web服務(wù)器不支持事務(wù)處理或數(shù)據(jù)庫連接池,但它可以配置(employ)各種策略(strategies)來實(shí)現(xiàn)容錯(cuò)性(faulttolerance)和可擴(kuò)展性(scalability),例如負(fù)載平衡(loadbalancing),緩沖(caching)。集群特征(clustering—features)經(jīng)常被誤認(rèn)為僅僅是應(yīng)用程序服務(wù)器專有的特征。應(yīng)用程序服務(wù)器(TheApplicationServer)根據(jù)我們的定義,作為應(yīng)用程序服務(wù)器,它通過各種協(xié)議,可以包括HTTP,把商業(yè)邏輯暴露給(expose)客戶端應(yīng)用程序。Web服務(wù)器主要是處理向?yàn)g覽器發(fā)送HTML以供瀏覽,而應(yīng)用程序服務(wù)器提供訪問商業(yè)邏輯的途徑以供客戶端應(yīng)用程序使用。應(yīng)用程序使用此商業(yè)邏輯就象你調(diào)用對(duì)象的一個(gè)方法(或過程語言中的一個(gè)函數(shù))一樣。應(yīng)用程序服務(wù)器的客戶端(包含有圖形用戶界面(GUI)的)可能會(huì)運(yùn)行在一臺(tái)PC、一個(gè)Web服務(wù)器或者甚至是其它的應(yīng)用程序服務(wù)器上。在應(yīng)用程序服務(wù)器與其客戶端之間來回穿梭(traveling)的信息不僅僅局限于簡(jiǎn)單的顯示標(biāo)記。相反,這種信息就是程序邏輯(programlogic)。正是由于這種邏輯取得了(takes)數(shù)據(jù)和方法調(diào)用(calls)的形式而不是靜態(tài)HTML,所以客戶端才可以隨心所欲的使用這種被暴露的商業(yè)邏輯。在大多數(shù)情形下,應(yīng)用程序服務(wù)器是通過組件(component)的應(yīng)用程序接口(API)把商業(yè)邏輯暴露(expose)(給客戶端應(yīng)用程序)的,例如基于J2EE(Java2Platform,EnterpriseEdition)應(yīng)用程序服務(wù)器的EJB(EnterpriseJavaBean)組件模型。此外,應(yīng)用程序服務(wù)器可以管理自己的資源,例如看大門的工作(gate-keepingduties)包括安全(security),事務(wù)處理(transactionprocessing),資源池(resourcepooling),和消息(messaging)。就象Web服務(wù)器一樣,應(yīng)用程序服務(wù)器配置了多種可擴(kuò)展(scalability)和容錯(cuò)(faulttolerance)技術(shù)。IIS是InternetInformationServer的縮寫,它是微軟公司主推的服務(wù)器,最新的版本是Windows2000里面包含的IIS5,IIS與WindowNTServer完全集成在一起,因而用戶能夠利用WindowsNTServer和NTFS(NTFileSystem,NT的文件系統(tǒng))內(nèi)置的安全特性,建立強(qiáng)大,靈活而安全的Internet和Intranet站點(diǎn)。IIS支持HTTP(HypertextTransferProtocol,超文本傳輸協(xié)議),F(xiàn)TP(FileTransferProtocol,文件傳輸協(xié)議)以及SMTP協(xié)議,通過使用CGI和ISAPI,IIS可以得到高度的擴(kuò)展。IIS支持與語言無關(guān)的腳本編寫和組件,通過IIS,開發(fā)人員就可以開發(fā)新一代動(dòng)態(tài)的,富有魅力的Web站點(diǎn)。IIS不需要開發(fā)人員學(xué)習(xí)新的腳本語言或者編譯應(yīng)用程序,IIS完全支持VBScript,JScript開發(fā)軟件以及Java,它也支持CGI和WinCGI,以及ISAPI擴(kuò)展和過濾器。IIS支持服務(wù)器應(yīng)用的MicrosoftBackOffice系列,MicrosoftBackOffice系列包括以下內(nèi)容:1、MicrosoftExchangeServer客戶/服務(wù)器通訊和群組軟件;2、MirrosoftProxyServer代理服務(wù)器;3、用于連接IBM企業(yè)網(wǎng)絡(luò)的MicrosoftSNAServer;4、用于集中管理分布式系統(tǒng)的MicrosoftSystemsManagementServer;5、MicrosoftCommercialInternetSystem(MCIS)。IIS的設(shè)計(jì)目的是建立一套集成的服務(wù)器服務(wù),用以支持HTTP,F(xiàn)TP和SMTP,它能夠提供快速且集成了現(xiàn)有產(chǎn)品,同時(shí)可擴(kuò)展的Internet服務(wù)器。IIS相應(yīng)性極高,同時(shí)系統(tǒng)資源的消耗也是最少,IIS的安裝,管理和配置都相當(dāng)簡(jiǎn)單,這是因?yàn)镮IS與WindowsNTServer網(wǎng)絡(luò)操作系統(tǒng)緊密的集成在一起,另外,IIS還使用與WindowsNTServer相同的SAM(SecurityAccountsManager,安全性賬號(hào)管理器),對(duì)于管理員來說,IIS使用諸如PerformanceMonitor和SNMP(SimpleNerworkManagementProtocol,簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)之類的NT已有管理工具。IIS支持ISAPI,使用ISAPI可以擴(kuò)展服務(wù)器功能,而使用ISAPI過濾器可以預(yù)先處理和事后處理儲(chǔ)存在IIS上的數(shù)據(jù)。用于32位Windows應(yīng)用程序的Internet擴(kuò)展可以把FTP,SMTP和HTTP協(xié)議置于容易使用且任務(wù)集中的界面中,這些界面將Internet應(yīng)用程序的使用大大簡(jiǎn)化,IIS也支持MIME(MultipurposeInternetMailExtensions,多用于Internet郵件擴(kuò)展),它可以為Internet應(yīng)用程序的訪問提供一個(gè)簡(jiǎn)單的注冊(cè)項(xiàng)。IIS的一個(gè)重要特性是支持ASP。IIS3.0版本以后引入了ASP,可以很容易的張貼動(dòng)態(tài)內(nèi)容和開發(fā)基于Web的應(yīng)用程序。對(duì)于諸如VBScript,JScript開發(fā)軟件,或者由VisualBasic,Java,VisualC++開發(fā)系統(tǒng),以及現(xiàn)有的CGI和WinCGI腳本開發(fā)的應(yīng)用程序,IIS都提供強(qiáng)大的本地支持。數(shù)據(jù)庫服務(wù)器的優(yōu)點(diǎn):(1)減少編程量數(shù)據(jù)庫服務(wù)器提供了用于數(shù)據(jù)操縱的標(biāo)準(zhǔn)接口API。(2)數(shù)據(jù)庫安全保證好數(shù)據(jù)庫服務(wù)器提供監(jiān)控性能、并發(fā)控制等工具。由DBA統(tǒng)一負(fù)責(zé)授權(quán)訪問數(shù)據(jù)庫及網(wǎng)絡(luò)管理。(3)數(shù)據(jù)可靠性管理及恢復(fù)好數(shù)據(jù)庫服務(wù)器提供統(tǒng)一的數(shù)據(jù)庫備份和恢復(fù)、啟動(dòng)和停止數(shù)據(jù)庫的管理工具。(4)充分利用計(jì)算機(jī)資源數(shù)據(jù)庫服務(wù)器把數(shù)據(jù)管理及處理工作從客戶機(jī)上分出來,使網(wǎng)絡(luò)上各計(jì)算機(jī)的資源能各盡其用。(5)提高了系統(tǒng)性能●能大大降低網(wǎng)絡(luò)開銷。●協(xié)調(diào)操作,減少資源競(jìng)爭(zhēng),避免死鎖?!裉峁┞?lián)機(jī)查詢優(yōu)化機(jī)制。(6)便于平臺(tái)擴(kuò)展●多處理器(相同類型)的水平擴(kuò)展。●多個(gè)服務(wù)器計(jì)算機(jī)的水平擴(kuò)展?!翊怪睌U(kuò)展:服務(wù)器可以移植到功能更強(qiáng)的計(jì)算機(jī)上,不涉及處理數(shù)據(jù)的重新分布問題。1.2.2介紹Java和開發(fā)工具Java是一種簡(jiǎn)單的,面向?qū)ο蟮?,分布式的,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動(dòng)態(tài)語言。Java語言其實(shí)最早誕生于1991年,起初被稱為OAK語言,是SUN公司為一些消費(fèi)性電子產(chǎn)品而設(shè)計(jì)的一個(gè)通用環(huán)境。他們最初的目的只是為了開發(fā)一種獨(dú)立于平臺(tái)的軟件技術(shù),而且在網(wǎng)絡(luò)出現(xiàn)之前,OAK可以說是默默無聞,甚至差點(diǎn)夭折。但是,網(wǎng)絡(luò)的出現(xiàn)改變了OAK的命運(yùn)。在Java出現(xiàn)以前,Internet上的信息內(nèi)容都是一些乏味死板的HTML文檔。這對(duì)于那些迷戀于WEB瀏覽的人們來說簡(jiǎn)直不可容忍。他們迫切希望能在WEB中看到一些交互式的內(nèi)容,開發(fā)人員也極希望能夠在WEB上創(chuàng)建一類無需考慮軟硬件平臺(tái)就可以執(zhí)行的應(yīng)用程序,當(dāng)然這些程序還要有極大的安全保障。對(duì)于用戶的這種要求,傳統(tǒng)的編程語言顯得無能為力。SUN的工程師敏銳地察覺到了這一點(diǎn),從1994年起,他們開始將OAK技術(shù)應(yīng)用于WEB上,并且開發(fā)出了HotJava的第一個(gè)版本。當(dāng)SUN公司1995年正式以Java這個(gè)名字推出的時(shí)候,幾乎所有的WEB開發(fā)人員都心生感嘆:噢,這正是我想要的!于是Java成了一顆耀眼的明星,丑小鴨一下了變成了白天鵝。NetBeans由Sun公司在2000年創(chuàng)立,它是開放源運(yùn)動(dòng)以及開發(fā)人員和客戶社區(qū)的家園,旨在構(gòu)建世界級(jí)的JavaIDE。NetBeans當(dāng)前可以在Solaris、Windows、Linux和MacintoshOSX平臺(tái)上進(jìn)行開發(fā),并在SPL(Sun公用許可)范圍內(nèi)使用。已經(jīng)獲得業(yè)界廣泛認(rèn)可,并支持NetBeans擴(kuò)展IDE模塊目錄中大約100多個(gè)模塊。NetBeans是一個(gè)全功能的開放源碼JavaIDE,可以幫助開發(fā)人員編寫、編譯、調(diào)試和部署Java應(yīng)用,并將版本控制和XML編輯融入其眾多功能之中。NetBeans可支持Java2平臺(tái)標(biāo)準(zhǔn)版(J2SE)應(yīng)用的創(chuàng)建、采用JSP和Servlet的2層Web應(yīng)用的創(chuàng)建,以及用于2層Web應(yīng)用的API及軟件的核心組的創(chuàng)建。此外,NetBeans最新牒還預(yù)裝了兩個(gè)Web服務(wù)器,即Tomcat和GlassFish,從而免除了繁瑣的配置和安裝過程。所有這些都為Java開發(fā)人員創(chuàng)造了一個(gè)可擴(kuò)展的開放源多平臺(tái)的JavaIDE,以支持他們?cè)诟髯运x擇的環(huán)境中從事開發(fā)工作,如Solaris、Linux、Windows或Macintosh。NetBeans是一個(gè)為軟件開發(fā)者而設(shè)計(jì)的自由、開放的IDE(集成開發(fā)環(huán)境),你可以在這里獲得許多需要的工具,包括建立桌面應(yīng)用、企業(yè)級(jí)應(yīng)用、WEB開發(fā)和JAVA移動(dòng)應(yīng)用程序開發(fā)、C/C++,甚至Ruby。NetBeans可以非常方便的安裝于多種操作系統(tǒng)平臺(tái),包括Windows,Linux,MacOS和Solaris等操作系統(tǒng)1.3系統(tǒng)開發(fā)環(huán)境 藥品管理系統(tǒng)采用MVC模式,MVC英文即Model-View-Controller,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層。系統(tǒng)是由網(wǎng)絡(luò)和網(wǎng)頁實(shí)現(xiàn)的。所以本系統(tǒng)使用Java技術(shù)編程,應(yīng)用界面友好且功能強(qiáng)大的DREAMWEAVER作為開發(fā)工具,服務(wù)器端腳本用JSP/JAVA腳本來編寫,客戶端腳本也用Java來編寫,數(shù)據(jù)庫使用SQLServer20005數(shù)據(jù)庫,服務(wù)器是TOMCAT5.0。使用Struts,會(huì)話管理,過濾器以及數(shù)據(jù)庫集成技術(shù),構(gòu)建健壯的Web應(yīng)用程序。使用JavaServerPages技術(shù)(JSP頁面)編寫網(wǎng)頁。使用Model2設(shè)計(jì)良好的Web應(yīng)用程序能夠容易的移植到復(fù)雜的J2EE架構(gòu)。通過MVC模式編寫的,具有極其良好的可擴(kuò)展性。它可以輕松實(shí)現(xiàn)以下功能:①實(shí)現(xiàn)一個(gè)模型的多個(gè)視圖;②采用多個(gè)控制器;③當(dāng)模型改變時(shí),所有視圖將自動(dòng)刷新;④所有的控制器將相互獨(dú)立工作。本團(tuán)隊(duì)在大學(xué)的學(xué)習(xí)中,已經(jīng)學(xué)過這幾門語言。熱愛計(jì)算機(jī)科學(xué),有一種奮發(fā)向上刻苦鉆研的精神,經(jīng)過大學(xué)兩年的學(xué)習(xí),這些課程已熟練掌握,本系統(tǒng)是在學(xué)校開發(fā),遇到問題可以與同學(xué)一起研究,再加上導(dǎo)師的指導(dǎo)。因此在技術(shù)上能夠適應(yīng)本系統(tǒng)的開發(fā)。二、系統(tǒng)需求分析2.1業(yè)務(wù)流程醫(yī)院藥品平時(shí)儲(chǔ)存在庫房,由庫房為醫(yī)院進(jìn)藥。醫(yī)院銷售藥品由藥房管理,藥房藥品不足是可以向庫房申請(qǐng)補(bǔ)足。(如圖:3.1)庫房:1、藥品入庫:根據(jù)供貨單輸入入庫藥品屬性及數(shù)量等,入庫同時(shí)修改相應(yīng)藥品的庫存數(shù)量,打印入庫單。2、藥品出庫:主要是往各藥房發(fā)藥,包括退還給藥品供應(yīng)商,同時(shí)打印藥品出庫單。3、藥品調(diào)價(jià):調(diào)整藥品的現(xiàn)行售價(jià),包括批發(fā)價(jià)、零售價(jià)。藥庫進(jìn)行價(jià)格調(diào)整后,各藥房立即執(zhí)行調(diào)整后的價(jià)格,同時(shí)打印調(diào)價(jià)單。4、藥品盤點(diǎn):對(duì)庫存藥品進(jìn)行盤點(diǎn),打印盤點(diǎn)標(biāo)表,盤點(diǎn)后打印盈虧單。5、藥品報(bào)損:對(duì)藥品損失進(jìn)行報(bào)損,記錄報(bào)損原因,報(bào)損批準(zhǔn)人,打印報(bào)損單。6、藥品調(diào)撥:庫房間藥品相互調(diào)撥。7、與藥品供應(yīng)商結(jié)帳:根據(jù)入庫藥品的入庫價(jià)與數(shù)量同藥品供應(yīng)商進(jìn)行結(jié)帳。8、統(tǒng)計(jì)查詢:對(duì)現(xiàn)存藥品、短缺、積壓藥品、藥品出庫情況等進(jìn)行查詢,打印查詢結(jié)果;生成采購計(jì)劃。9、信息維護(hù):藥品特征維護(hù)、藥房信息維護(hù)、供貨單位維護(hù)、藥品目錄維護(hù)。藥房:1、藥品需求申請(qǐng):統(tǒng)計(jì)出低于限定庫存數(shù)量的藥品,發(fā)出需求藥品申請(qǐng),打印藥品需求申請(qǐng)單。2、醫(yī)囑處方發(fā)藥:每天根據(jù)住院病房醫(yī)生開的處方,打印發(fā)藥單,進(jìn)行發(fā)藥,減少藥房相應(yīng)藥品的庫存數(shù)量。3、其它情況發(fā)藥:臨時(shí)取藥、急診取藥、打印發(fā)藥單,進(jìn)行發(fā)藥,減少藥房相應(yīng)藥品的庫存數(shù)量。4、藥品盤存:對(duì)藥房藥品進(jìn)行盤點(diǎn),打印盤點(diǎn)標(biāo)表,盤點(diǎn)后打印盈虧單。5、藥品報(bào)損:對(duì)藥品損失進(jìn)行報(bào)損,記錄報(bào)損原因,報(bào)損批準(zhǔn)人,打印報(bào)損單。6、藥品調(diào)撥:醫(yī)院各藥房間藥品的相互調(diào)撥。7、門診發(fā)藥:輸入病人就診號(hào)或處方號(hào)可調(diào)出處方、打印處方。8、統(tǒng)計(jì)查詢:查詢藥品情況、短缺藥品、醫(yī)生用藥情況,打印查詢結(jié)果。圖2.1流程圖2.2需求分析醫(yī)院?jiǎn)挝坏乃幤沸畔⒑蛿?shù)據(jù)紛亂復(fù)雜,整理統(tǒng)計(jì)費(fèi)力費(fèi)時(shí)。要做好對(duì)醫(yī)院藥品的管理,醫(yī)院就必須快速準(zhǔn)確地獲取藥品的信息,這就要求及時(shí)統(tǒng)計(jì)數(shù)據(jù)并方便查看,以及對(duì)藥品的數(shù)據(jù)信息進(jìn)行維護(hù)。本軟件是利用NetBeans5.5設(shè)計(jì)開發(fā)的醫(yī)院藥品信息管理系統(tǒng),是醫(yī)院信息系統(tǒng)的一個(gè)重要組成部分,可實(shí)現(xiàn)對(duì)醫(yī)院藥品信息的分類管理和數(shù)據(jù)分析,從而使信息整理快速、準(zhǔn)確、簡(jiǎn)單,以便于相關(guān)部門給予統(tǒng)籌安排,從而提高改進(jìn)傳統(tǒng)的管理方法,提高醫(yī)院藥品管理水平。特點(diǎn):多目標(biāo)性:對(duì)一個(gè)項(xiàng)目而言,項(xiàng)目目標(biāo)往往不是單一的,而是一個(gè)多目標(biāo)系統(tǒng),希望通過一個(gè)項(xiàng)目的實(shí)施,實(shí)現(xiàn)一系列的目標(biāo),滿足多方面的需求。我們本次的項(xiàng)目是為了實(shí)現(xiàn)醫(yī)院藥品管理員可以簡(jiǎn)單的管理藥品。在簡(jiǎn)單的層次上又有效科學(xué)的管理藥品入庫、出庫等。優(yōu)先性:項(xiàng)目是一個(gè)多目標(biāo)的系統(tǒng),不同目標(biāo)在項(xiàng)目的不同階段,根據(jù)不同需要,其重要性也不一樣。本項(xiàng)目主要目標(biāo)是可以對(duì)庫存的藥品入庫日期、出庫日期、有效期、庫存量等方面信息進(jìn)行增刪該查。對(duì)有藥品庫存不足時(shí)會(huì)對(duì)醫(yī)院藥品管理員提示。層次性:本項(xiàng)目的最高層次的目標(biāo)是醫(yī)院藥品管理員可以簡(jiǎn)單科學(xué)的管理藥品。本項(xiàng)目的最低層次的目標(biāo)是醫(yī)院藥品管理員可以對(duì)所有的藥品信息增加、刪除、修改、查詢。2.2.1標(biāo)準(zhǔn)建模語言UML的主要特點(diǎn)可以歸結(jié)為三點(diǎn):(1)UML統(tǒng)一了Booch、OMT和OOSE等方法中的基本概念。(2)UML還吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其他流派的長(zhǎng)處,其中也包括非OO方法的影響。UML符號(hào)表示考慮了各種方法的圖形表示,刪掉了大量易引起混亂的、多余的和極少使用的符號(hào),也添加了一些新符號(hào)。因此,在UML中匯入了面向?qū)ο箢I(lǐng)域中很多人的思想。這些思想并不是UML的開發(fā)者們發(fā)明的,而是開發(fā)者們依據(jù)最優(yōu)秀的OO方法和豐富的計(jì)算機(jī)科學(xué)實(shí)踐經(jīng)驗(yàn)綜合提煉而成的。(3)UML在演變過程中還提出了一些新的概念。在UML標(biāo)準(zhǔn)中新加了模板(Stereotypes)、職責(zé)(Responsibilities)、擴(kuò)展機(jī)制(Extensibilitymechanisms)、線程(Threads)、過程(Processes)、分布式(Distribution)、并發(fā)(Concurrency)、模式(Patterns)、合作(Collaborations)、活動(dòng)圖(Activitydiagram)等新概念,并清晰地區(qū)分類型(Type)、類(Class)和實(shí)例(Instance)、細(xì)化(Refinement)、接口(Interfaces)和組件(Components)等概念。因此可以認(rèn)為,UML是一種先進(jìn)實(shí)用的標(biāo)準(zhǔn)建模語言,但其中某些概念尚待實(shí)踐來驗(yàn)證,UML也必然存在一個(gè)進(jìn)化過程。UML的目標(biāo)是以面向?qū)ο髨D的方式來描述任何類型的系統(tǒng),具有很寬的應(yīng)用領(lǐng)域。其中最常用的是建立軟件系統(tǒng)的模型,但它同樣可以用于描述非軟件領(lǐng)域的系統(tǒng),如機(jī)械系統(tǒng)、企業(yè)機(jī)構(gòu)或業(yè)務(wù)過程,以及處理復(fù)雜數(shù)據(jù)的信息系統(tǒng)、具有實(shí)時(shí)要求的工業(yè)系統(tǒng)或工業(yè)過程等??傊琔ML是一個(gè)通用的標(biāo)準(zhǔn)建模語言,可以對(duì)任何具有靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為的系統(tǒng)進(jìn)行建模。此外,UML適用于系統(tǒng)開發(fā)過程中從需求規(guī)格描述到系統(tǒng)完成后測(cè)試的不同階段。在需求分析階段,可以用用例來捕獲用戶需求。通過用例建模,描述對(duì)系統(tǒng)感興趣的外部角色及其對(duì)系統(tǒng)(用例)的功能要求。分析階段主要關(guān)心問題域中的主要概念(如抽象、類和對(duì)象等)和機(jī)制,需要識(shí)別這些類以及它們相互間的關(guān)系,并用UML類圖來描述。為實(shí)現(xiàn)用例,類之間需要協(xié)作,這可以用UML動(dòng)態(tài)模型來描述。在分析階段,只對(duì)問題域的對(duì)象(現(xiàn)實(shí)世界的概念)建模,而不考慮定義軟件系統(tǒng)中技術(shù)細(xì)節(jié)的類(如處理用戶接口、數(shù)據(jù)庫、通訊和并行性等問題的類)。這些技術(shù)細(xì)節(jié)將在設(shè)計(jì)階段引入,因此設(shè)計(jì)階段為構(gòu)造階段提供更詳細(xì)的規(guī)格說明。編程(構(gòu)造)是一個(gè)獨(dú)立的階段,其任務(wù)是用面向?qū)ο缶幊陶Z言將來自設(shè)計(jì)階段的類轉(zhuǎn)換成實(shí)際的代碼。在用UML建立分析和設(shè)計(jì)模型時(shí),應(yīng)盡量避免考慮把模型轉(zhuǎn)換成某種特定的編程語言。因?yàn)樵谠缙陔A段,模型僅僅是理解和分析系統(tǒng)結(jié)構(gòu)的工具,過早考慮編碼問題十分不利于建立簡(jiǎn)單正確的模型。UML模型還可作為測(cè)試階段的依據(jù)。系統(tǒng)通常需要經(jīng)過單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。不同的測(cè)試小組使用不同的UML圖作為測(cè)試依據(jù):?jiǎn)卧獪y(cè)試使用類圖和類規(guī)格說明;集成測(cè)試使用部件圖和合作圖;系統(tǒng)測(cè)試使用用例圖來驗(yàn)證系統(tǒng)的行為;驗(yàn)收測(cè)試由用戶進(jìn)行,以驗(yàn)證系統(tǒng)測(cè)試的結(jié)果是否滿足在分析階段確定的需求??傊?,標(biāo)準(zhǔn)建模語言UML適用于以面向?qū)ο蠹夹g(shù)來描述任何類型的系統(tǒng),而且適用于系統(tǒng)開發(fā)的不同階段,從需求規(guī)格描述直至系統(tǒng)完成后的測(cè)試和維護(hù)。2.3數(shù)據(jù)庫的設(shè)計(jì)2.3.1數(shù)據(jù)庫的邏輯設(shè)計(jì)圖數(shù)據(jù)實(shí)體層用于封裝實(shí)體類數(shù)據(jù)結(jié)構(gòu),一般用于映射數(shù)據(jù)庫的數(shù)據(jù)表或視圖,用以描述業(yè)務(wù)中客觀存在的對(duì)象。一般來說設(shè)計(jì)數(shù)據(jù)實(shí)體層時(shí),大家一般有以下選擇。
1、DataSet
2、XML
3、使用XML作為數(shù)據(jù)結(jié)構(gòu)來源,來生成的統(tǒng)一業(yè)務(wù)實(shí)體類。
4、可序列化的業(yè)務(wù)實(shí)體類。
5、可序列化的,帶一般CRUD操作的業(yè)務(wù)實(shí)體類。
前二種太簡(jiǎn)單,這里不一一敘述了。
第三種就是寫一個(gè)復(fù)雜的統(tǒng)一的業(yè)務(wù)實(shí)體類,這個(gè)類主要是讀取指定的XML文件,生成相應(yīng)的業(yè)務(wù)實(shí)體類。利用常用的數(shù)據(jù)庫工具,將現(xiàn)有的數(shù)據(jù)庫結(jié)構(gòu)導(dǎo)出為XML文件,并放入指定的位置。程序則讀取XML,并生成相應(yīng)的DataSet用于操作。優(yōu)勢(shì)在于,程序與數(shù)據(jù)庫完全分離,只與相應(yīng)的XML文件相關(guān),因此獨(dú)立性強(qiáng)。不利的一面則是此類要考慮的事情實(shí)在是太多,要想完全實(shí)現(xiàn)可復(fù)用的組件則需花費(fèi)大量的時(shí)間。而且,對(duì)配置管理要求很嚴(yán)格,主要是XML和數(shù)據(jù)庫的一致性上。如果更新了數(shù)據(jù)庫而忘了更新XML,
第四種實(shí)現(xiàn)比較容易,但是對(duì)于一般項(xiàng)目而言工作量大,不過使用Spdevelop可以輕松的幫您在1秒內(nèi)完成本項(xiàng)工作,減少工作量圖2.2E/R圖2.3.2數(shù)據(jù)庫的物理設(shè)計(jì)數(shù)據(jù)庫完整性(DatabaseIntegrity)是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫完整性由各種各樣的完整性約束來保證,因此可以說數(shù)據(jù)庫完整性設(shè)計(jì)就是數(shù)據(jù)庫完整性約束的設(shè)計(jì)。數(shù)據(jù)庫完整性約束可以通過DBMS或應(yīng)用程序來實(shí)現(xiàn),基于DBMS的完整性約束作為模式的一部分存入數(shù)據(jù)庫中。通過DBMS實(shí)現(xiàn)的數(shù)據(jù)庫完整性按照數(shù)據(jù)庫設(shè)計(jì)步驟進(jìn)行設(shè)計(jì),而由應(yīng)用軟件實(shí)現(xiàn)的數(shù)據(jù)庫完整性則納入應(yīng)用軟件設(shè)計(jì)(本文主要討論前者)。數(shù)據(jù)庫完整性對(duì)于數(shù)據(jù)庫應(yīng)用系統(tǒng)非常關(guān)鍵,其作用主要體現(xiàn)在以下幾個(gè)方面:1.?dāng)?shù)據(jù)庫完整性約束能夠防止合法用戶使用數(shù)據(jù)庫時(shí)向數(shù)據(jù)庫中添加不合語義的數(shù)據(jù)。2.利用基于DBMS的完整性控制機(jī)制來實(shí)現(xiàn)業(yè)務(wù)規(guī)則,易于定義,容易理解,而且可以降低應(yīng)用程序的復(fù)雜性,提高應(yīng)用程序的運(yùn)行效率。同時(shí),基于DBMS的完整性控制機(jī)制是集中管理的,因此比應(yīng)用程序更容易實(shí)現(xiàn)數(shù)據(jù)庫的完整性。3.合理的數(shù)據(jù)庫完整性設(shè)計(jì),能夠同時(shí)兼顧數(shù)據(jù)庫的完整性和系統(tǒng)的效能。比如裝載大量數(shù)據(jù)時(shí),只要在裝載之前臨時(shí)使基于DBMS的數(shù)據(jù)庫完整性約束失效,此后再使其生效,就能保證既不影響數(shù)據(jù)裝載的效率又能保證數(shù)據(jù)庫的完整性。4.在應(yīng)用軟件的功能測(cè)試中,完善的數(shù)據(jù)庫完整性有助于盡早發(fā)現(xiàn)應(yīng)用軟件的錯(cuò)誤。數(shù)據(jù)庫完整性約束可分為6類:列級(jí)靜態(tài)約束、元組級(jí)靜態(tài)約束、關(guān)系級(jí)靜態(tài)約束、列級(jí)動(dòng)態(tài)約束、元組級(jí)動(dòng)態(tài)約束、關(guān)系級(jí)動(dòng)態(tài)約束。動(dòng)態(tài)約束通常由應(yīng)用軟件來實(shí)現(xiàn)。不同DBMS支持的數(shù)據(jù)庫完整性基本相同,Oracle支持的基于DBMS的完整性約束。在實(shí)施數(shù)據(jù)庫完整性設(shè)計(jì)的時(shí)候,有一些基本的原則需要把握[7]:1.根據(jù)數(shù)據(jù)庫完整性約束的類型確定其實(shí)現(xiàn)的系統(tǒng)層次和方式,并提前考慮對(duì)系統(tǒng)性能的影響。一般情況下,靜態(tài)約束應(yīng)盡量包含在數(shù)據(jù)庫模式中,而動(dòng)態(tài)約束由應(yīng)用程序?qū)崿F(xiàn)。2.實(shí)體完整性約束、參照完整性約束是關(guān)系數(shù)據(jù)庫最重要的完整性約束,在不影響系統(tǒng)關(guān)鍵性能的前提下需盡量應(yīng)用。用一定的時(shí)間和空間來換取系統(tǒng)的易用性是值得3.要慎用目前主流DBMS都支持的觸發(fā)器功能,一方面由于觸發(fā)器的性能開銷較大,另一方面,觸發(fā)器的多級(jí)觸發(fā)不好控制,容易發(fā)生錯(cuò)誤,非用不可時(shí),最好使用Before型語句級(jí)觸發(fā)器。4.在需求分析階段就必須制定完整性約束的命名規(guī)范,盡量使用有意義的英文單詞、縮寫詞、表名、列名及下劃線等組合,使其易于識(shí)別和記憶5.要根據(jù)業(yè)務(wù)規(guī)則對(duì)數(shù)據(jù)庫完整性進(jìn)行細(xì)致的測(cè)試,以盡早排除隱含的完整性約束間的沖突和對(duì)性能的影響。6.要有專職的數(shù)據(jù)庫設(shè)計(jì)小組,自始至終負(fù)責(zé)數(shù)據(jù)庫的分析、設(shè)計(jì)、測(cè)試、實(shí)施及早期維護(hù)。數(shù)據(jù)庫設(shè)計(jì)人員不僅負(fù)責(zé)基于DBMS的數(shù)據(jù)庫完整性約束的設(shè)計(jì)實(shí)現(xiàn),還要負(fù)責(zé)對(duì)應(yīng)用軟件實(shí)現(xiàn)的數(shù)據(jù)庫完整性約束進(jìn)行審核。7.應(yīng)采用合適的CASE工具來降低數(shù)據(jù)庫設(shè)計(jì)各階段的工作量。好的CASE工具能夠支持整個(gè)數(shù)據(jù)庫的生命周期,這將使數(shù)據(jù)庫設(shè)計(jì)人員的工作效率得到很大提高,同時(shí)也容易與用戶溝通1.Medicine(藥品)表字段類型約束說明CodeCHAR(30)PRIMARYKEY,編碼NnameVARCHAR(30)Notnull名字AddressVARCHAR(20)Notnull地址Manufacturing_DateVARCHAR(10)Notnull截至日期DatelineVARCHAR(10)Notnull出廠日期PriceINTNotnull價(jià)格NumberINTNotnull數(shù)量2.Input(入庫)表字段類型約束說明aCodeCHAR(30)PRIMARYKEY編碼PriceINTNotnull價(jià)格AmountINTNotnull數(shù)量DatalineVARCHAR(10)Notnull出廠日期3.Output(出庫)表字段類型約束說明CodingCHAR(30)PRIMARYKEY編碼OriginalpirceINTNotnull進(jìn)價(jià)dDatelineVARCHAR(10)Notnull出廠日期PriceINTNotnull價(jià)格AmountINTNotnull數(shù)量4.UserBase(用戶)表字段類型約束說明UsernameVARCHAR(10)Notnull用戶名PasswordVARCHAR(10)Notnull密碼DivisionVARCHAR(30)Notnull角色三、系統(tǒng)分析與實(shí)現(xiàn)3.1系統(tǒng)概要設(shè)計(jì)1、藥品入庫:根據(jù)供貨單輸入入庫藥品屬性及數(shù)量等,入庫同時(shí)修改相應(yīng)藥品的庫存數(shù)量,打印入庫單。2、藥品出庫:主要是往各藥房發(fā)藥,包括退還給藥品供應(yīng)商,同時(shí)打印藥品出庫單。3、藥品調(diào)價(jià):調(diào)整藥品的現(xiàn)行售價(jià),包括批發(fā)價(jià)、零售價(jià)。藥庫進(jìn)行價(jià)格調(diào)整后,各藥房立即執(zhí)行調(diào)整后的價(jià)格,同時(shí)打印調(diào)價(jià)單。4、藥品盤點(diǎn):對(duì)庫存藥品進(jìn)行盤點(diǎn),打印盤點(diǎn)標(biāo)表,盤點(diǎn)后打印盈虧單。5、藥品報(bào)損:對(duì)藥品損失進(jìn)行報(bào)損,記錄報(bào)損原因,報(bào)損批準(zhǔn)人,打印報(bào)損單。6、藥品調(diào)撥:庫房間藥品相互調(diào)撥。7、與藥品供應(yīng)商結(jié)帳:根據(jù)入庫藥品的入庫價(jià)與數(shù)量同藥品供應(yīng)商進(jìn)行結(jié)帳。8、統(tǒng)計(jì)查詢:對(duì)現(xiàn)存藥品、短缺、積壓藥品、藥品出庫情況等進(jìn)行查詢,打印查詢結(jié)果;生成采購計(jì)劃。9、信息維護(hù):藥品特征維護(hù)、藥房信息維護(hù)、供貨單位維護(hù)、藥品目錄維護(hù)。藥房:1、藥品需求申請(qǐng):統(tǒng)計(jì)出低于限定庫存數(shù)量的藥品,發(fā)出需求藥品申請(qǐng),打印藥品需求申請(qǐng)單。2、醫(yī)囑處方發(fā)藥:每天根據(jù)住院病房醫(yī)生開的處方,打印發(fā)藥單,進(jìn)行發(fā)藥,減少藥房相應(yīng)藥品的庫存數(shù)量。3、其它情況發(fā)藥:臨時(shí)取藥、急診取藥、打印發(fā)藥單,進(jìn)行發(fā)藥,減少藥房相應(yīng)藥品的庫存數(shù)量。4、藥品盤存:對(duì)藥房藥品進(jìn)行盤點(diǎn),打印盤點(diǎn)標(biāo)表,盤點(diǎn)后打印盈虧單。5、藥品報(bào)損:對(duì)藥品損失進(jìn)行報(bào)損,記錄報(bào)損原因,報(bào)損批準(zhǔn)人,打印報(bào)損單。6、藥品調(diào)撥:醫(yī)院各藥房間藥品的相互調(diào)撥。7、門診發(fā)藥:輸入病人就診號(hào)或處方號(hào)可調(diào)出處方、打印處方。8、統(tǒng)計(jì)查詢:查詢藥品情況、短缺藥品、醫(yī)生用藥情況,打印查詢結(jié)果。3.2系統(tǒng)頁面設(shè)計(jì)(更新頁面)我做的是更新頁面根據(jù)藥品的id來顯示藥品例如:在圖4.1中輸入id例如id為1點(diǎn)擊顯示就可以出現(xiàn)圖4.2的頁面,這時(shí)就可以在上面修改信息圖3.1圖3.23.3測(cè)試3.3.1測(cè)試項(xiàng)目的意義人們經(jīng)常苦惱于軟件產(chǎn)品中存在的質(zhì)量問題,但又不得不花費(fèi)精力和時(shí)間去一個(gè)一個(gè)地解決,接著是永無止境的貼打補(bǔ)丁或者干脆升級(jí),甚至有時(shí)則停止使用這種軟件而采用另外的軟件,重新學(xué)習(xí)新軟件的使用方法,給用戶帶來了許多麻煩。實(shí)際上諸多問題的原因,在很大程度上由于開發(fā)軟件的過程中,缺乏高強(qiáng)度的內(nèi)部測(cè)試,僅僅自己稍加測(cè)試,覺得差不多就立即形成一個(gè)版本,或者有些測(cè)試根本就沒有進(jìn)行,就立即交付使用,結(jié)果用戶一使用就出錯(cuò),所以推出的軟件質(zhì)量難以保證。重開發(fā),輕測(cè)試是目前我國軟件行業(yè)內(nèi)的存在的問題之一。軟件質(zhì)量保證(QualityAssure)貫穿于整個(gè)軟件的開發(fā)過程,監(jiān)督并改善軟件的開發(fā),以確保遵循統(tǒng)一標(biāo)準(zhǔn)和程序,保證問題被發(fā)現(xiàn)并被解決,它主要側(cè)重于“預(yù)防”。軟件質(zhì)量的管理為何難以保證?軟件質(zhì)量側(cè)重于應(yīng)用產(chǎn)品是否滿足用戶需求,其質(zhì)量的提高依賴于精心設(shè)計(jì)、良好的軟件開發(fā)過程和高強(qiáng)度的測(cè)試。解決軟件中存在的問題是一個(gè)能見度高的進(jìn)程,而防止軟件中存在的問題能見度卻很低。這可以用我國古代的一個(gè)寓言來形容:古時(shí)候,有一從醫(yī)世家,其中有一個(gè)很著名的醫(yī)生,在一個(gè)大地主的家中作隨身醫(yī)師,有人問他們的家中誰的醫(yī)技最高。他回答到:我用那些烈性藥去治療那些垂死掙扎的病人,偶爾有人治愈了,所以地主們都知道了我;我的二哥治病一般都是疾病有發(fā)作的跡象時(shí)就開始了,它的醫(yī)技在當(dāng)?shù)氐霓r(nóng)夫和鄰居中很出名;我的大哥能夠感覺到疾病的存在,往往在它發(fā)作之前就根除了,他的名字除了我們家的人誰也不知道。所以,確立起軟件質(zhì)量保證的觀念,將質(zhì)量保證切實(shí)貫穿于軟件開發(fā)的整個(gè)過程中,對(duì)排除隱患,提高軟件的質(zhì)量有著重要的意義。保證軟件質(zhì)量的一條重要途徑就是高強(qiáng)度的軟件測(cè)試,通過測(cè)試,發(fā)現(xiàn)錯(cuò)誤,并將錯(cuò)誤反饋給調(diào)試員,使軟件錯(cuò)誤得到糾正。Windows3.1的β測(cè)試員有15000人,而WindowsNT3.0的測(cè)試人員有75000人,到了1994年6月的Windows95的β-1版本的β測(cè)試員的人數(shù)達(dá)到150000人。3.3.2測(cè)試的方法和工具軟件BUG的存在迫使人們進(jìn)行軟件測(cè)試。軟件測(cè)試實(shí)質(zhì)上是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程。軟件的內(nèi)部測(cè)試狹義的概念是由軟件開發(fā)部門自我組織的,在部門內(nèi)部進(jìn)行的軟件測(cè)試;而廣義上的軟件的內(nèi)部測(cè)試是指在向用戶發(fā)布正式版本之前進(jìn)行的軟件測(cè)試。這個(gè)過程通常由單元測(cè)試,集成測(cè)試(系統(tǒng)測(cè)試)、驗(yàn)收測(cè)試、平行運(yùn)行測(cè)試構(gòu)成,通常需要設(shè)計(jì)完整的測(cè)試方案。在設(shè)計(jì)完整的測(cè)試方案之后,每一步的測(cè)試都需要對(duì)結(jié)果進(jìn)行分析,及早發(fā)現(xiàn)問題并糾正差錯(cuò),如有可能,應(yīng)盡量使測(cè)試題目小型化,盡可能地覆蓋所有的測(cè)試情況。測(cè)試案例可以通過選擇輸入組合來進(jìn)行。選擇輸入組合的一個(gè)有效途徑是把計(jì)算機(jī)測(cè)試和人工檢查代碼結(jié)合起來。例如,通過代碼檢查發(fā)現(xiàn)程序中兩個(gè)模塊使用并修改某些共享的變量,如果一個(gè)模塊對(duì)這些變量的修改不正確,則會(huì)引起另一個(gè)模塊出錯(cuò),因此,這是程序發(fā)生錯(cuò)誤的一個(gè)可能原因。對(duì)于一個(gè)模塊,局部數(shù)據(jù)結(jié)構(gòu)是常見的錯(cuò)誤來源。軟件測(cè)試的工作量很大,據(jù)統(tǒng)計(jì),測(cè)試時(shí)間會(huì)占到總開發(fā)時(shí)間的40%,一些可靠性要求非常高的軟件,測(cè)試時(shí)間甚至占到總開發(fā)時(shí)間的60%。但測(cè)試卻是在整個(gè)軟件過程中極有可能應(yīng)用計(jì)算機(jī)進(jìn)行自動(dòng)化的工作,原因是測(cè)試的許多操作是重復(fù)性的、非智力創(chuàng)造性的、需要細(xì)致注意力的工作,而計(jì)算機(jī)就最適合于代替人類去完成這些任務(wù)。測(cè)試自動(dòng)化是通過開發(fā)和使用一些工具自動(dòng)測(cè)試軟件系統(tǒng),特別適合于測(cè)試中重復(fù)而繁瑣的活動(dòng),其好處是顯而易見的:(1)可以使某些測(cè)試任務(wù)比手工測(cè)試執(zhí)行的效率高,并可以運(yùn)行更多更頻繁的測(cè)試。(2)對(duì)程序的新版本可以自動(dòng)運(yùn)行已有的測(cè)試,特別是在頻繁的修改許多程序的環(huán)境中,一系列回歸測(cè)試的開銷應(yīng)是最小的。(3)可以執(zhí)行一些手工測(cè)試?yán)щy或不可能做的測(cè)試,例如對(duì)于200個(gè)用戶的聯(lián)機(jī)系統(tǒng),用手工進(jìn)行并發(fā)操作的測(cè)試幾乎是不可能的,但自動(dòng)測(cè)試工具可以模擬來自200個(gè)用戶的輸入。客戶端用戶通過定義可以自動(dòng)回放的測(cè)試,隨時(shí)都可以運(yùn)行用戶腳本,即使是不了解整個(gè)商業(yè)應(yīng)用復(fù)雜內(nèi)容的技術(shù)人員也可以勝任。(4)更好地利用資源。將繁瑣的任務(wù)自動(dòng)化,如重復(fù)輸入相同的測(cè)試輸入,可以提高準(zhǔn)確性和測(cè)試人員的積極性,將測(cè)試技術(shù)人員解脫出來投入更多精力設(shè)計(jì)更好的測(cè)試用例。另外,可以利用整夜或周末空閑的機(jī)器執(zhí)行自動(dòng)測(cè)試。(5)測(cè)試具有一致性和可重復(fù)性。對(duì)于自動(dòng)重復(fù)的測(cè)試可以重復(fù)多次相同的測(cè)試,如不同的硬件配置、使用不同的操作系統(tǒng)或數(shù)據(jù)庫等,從而獲得測(cè)試的一致性,這在手工測(cè)試中是很難保證的。(6)測(cè)試可以重用,而且軟件經(jīng)過自動(dòng)測(cè)試后,人們對(duì)其信任度會(huì)增加。(7)一旦一系列測(cè)試已經(jīng)被自動(dòng)化,則可以更快地重復(fù)執(zhí)行,從而縮短了測(cè)試時(shí)間,使軟件更快地推向市場(chǎng)。3.3.3個(gè)人項(xiàng)目部分測(cè)試測(cè)試內(nèi)容:更新頁面測(cè)試方法:輸入相同的ID號(hào)測(cè)試結(jié)果:更新不成功原因:id不能重復(fù)四、工作總結(jié)和展望4.1工作總結(jié)通過此次畢業(yè)設(shè)計(jì),在指導(dǎo)老師和全體組員的共同努力下,我們?nèi)缙谕瓿闪舜舜萎厴I(yè)設(shè)計(jì)的任務(wù)??梢哉f圓滿結(jié)束了代表我們兩年大學(xué)所學(xué)知識(shí)水平、所會(huì)實(shí)踐技能的畢業(yè)設(shè)計(jì),我的收獲和體會(huì)都不少。畢業(yè)設(shè)計(jì)是大學(xué)教育中的一個(gè)重要環(huán)節(jié),是全面檢驗(yàn)學(xué)生基礎(chǔ)理論知識(shí),實(shí)際動(dòng)手能力和培養(yǎng)我們的創(chuàng)新意識(shí)的重要階段。經(jīng)過這段時(shí)間的畢業(yè)設(shè)計(jì),使我增長(zhǎng)了不少的知識(shí)。如果說前面的學(xué)習(xí)儲(chǔ)蓄知識(shí)的階段,那么通過畢業(yè)設(shè)計(jì),對(duì)我們的學(xué)習(xí)的知識(shí)起了一個(gè)貫穿的作用。為我們不久走上社會(huì),做好我們的本職工作,打下了一個(gè)良好的基礎(chǔ)。通過這次畢業(yè)設(shè)計(jì),我對(duì)JAVA有了一個(gè)清楚的認(rèn)識(shí)。在畢業(yè)設(shè)計(jì)初期,對(duì)JAVA語言有一個(gè)粗略的認(rèn)識(shí)。在具體操作的過程中,遇到了很多問題,這些問題使我逐漸對(duì)藥品管理的總體設(shè)計(jì)思路有了頭緒,通過對(duì)其模塊劃分,結(jié)構(gòu)圖分析,最后得出解決方案。然后根據(jù)這些方案,進(jìn)一步解決這些實(shí)際問題。本次畢業(yè)設(shè)計(jì)就是通過對(duì)“藥品管理系統(tǒng)”的設(shè)計(jì),進(jìn)一步深化了藥品管理信息化為人們?nèi)粘I钏鶐淼木薮蟊憷恼J(rèn)識(shí)!具體的處理是通過MicrosoftSQLServer2005建立后臺(tái)的數(shù)據(jù)庫,并利用JSP/NetBean5.5加以實(shí)現(xiàn)。根據(jù)方案,大部分問題均已解決,也已基本實(shí)現(xiàn)了預(yù)期的目標(biāo)和功能,但由于方案不成熟,時(shí)間緊迫,人力,物力方面的原因,此系統(tǒng)還是有許多地方需要進(jìn)一步的完善和提高,因而,我們的系統(tǒng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年黑龍江省龍東地區(qū)高一(上)段考數(shù)學(xué)試卷(二)(含答案)
- 2024年度上海市高校教師資格證之高等教育法規(guī)題庫與答案
- 阜陽師范大學(xué)《自然科學(xué)專題》2021-2022學(xué)年第一學(xué)期期末試卷
- 阜陽師范大學(xué)《勞動(dòng)與社會(huì)保障法》2022-2023學(xué)年第一學(xué)期期末試卷
- 蘇州市2024-2025學(xué)年五年級(jí)上學(xué)期11月期中調(diào)研數(shù)學(xué)試卷一(有答案)
- 福建師范大學(xué)協(xié)和學(xué)院《信號(hào)與系統(tǒng)》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《中外紀(jì)錄片賞析》2023-2024學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《數(shù)學(xué)文化》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《色彩(2)》2022-2023學(xué)年第一學(xué)期期末試卷
- 第二章 中樞神經(jīng)系課件
- 六三制新青島版五年級(jí)科學(xué)上冊(cè)第三單元第10課《熱對(duì)流》課件
- 銅的生產(chǎn)成本的計(jì)算
- 高級(jí)母嬰護(hù)理師測(cè)評(píng)考試題及答案
- 房建工程竣工資料監(jiān)理審查報(bào)告
- 膽囊癌最新課件
- 一年級(jí)趣味數(shù)學(xué)小故事
- 《創(chuàng)新方法TRIZ理論入門》課件04因果分析
- 《形式邏輯》
- 塑料袋的警告語(歐洲)
- 建筑施工現(xiàn)場(chǎng)安全警示牌標(biāo)示(標(biāo)志圖片)
- 電加熱器選型計(jì)算
評(píng)論
0/150
提交評(píng)論