版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 本科畢業(yè)論文(科研訓(xùn)練、畢業(yè)設(shè)計(jì))題 目:唯信機(jī)械行業(yè)MIS系統(tǒng)分析和設(shè)計(jì)單位資料設(shè)置模塊與進(jìn)貨管理模塊姓 名:王建森學(xué) 院:軟件學(xué)院系:專(zhuān) 業(yè):軟件工程年 級(jí):03級(jí)學(xué) 號(hào):03368035指導(dǎo)教師(校):王備戰(zhàn) 職稱(chēng):副教授指導(dǎo)教師(校外): 職稱(chēng):2005年 6月 3日- 37 - / 44唯信機(jī)械MIS系統(tǒng)的分析和設(shè)計(jì)單位資料管理模塊與進(jìn)貨管理模塊摘要本文以唯信機(jī)械行業(yè)MIS系統(tǒng)(英文:WININFO MIS)設(shè)計(jì)與開(kāi)發(fā)為背景,介紹該系統(tǒng)的總體設(shè)計(jì),單位資料管理與進(jìn)貨管理模塊的詳細(xì)設(shè)計(jì)。該系統(tǒng)是在分析目前機(jī)械行業(yè)日常流程與分析相關(guān)數(shù)據(jù)的基礎(chǔ)上,結(jié)合管理信息系統(tǒng)開(kāi)發(fā)的概念與系統(tǒng)開(kāi)發(fā)的基
2、本原理和方法,采用Client/Server架構(gòu),并利用中間服務(wù)器對(duì)數(shù)據(jù)進(jìn)行合理有效的處理,使用Delphi7.0進(jìn)行設(shè)計(jì),以MS SQL Server 2000網(wǎng)絡(luò)數(shù)據(jù)庫(kù)技術(shù)作為其程序開(kāi)發(fā)的底層數(shù)據(jù)庫(kù),開(kāi)發(fā)的一套管理信息系統(tǒng)。用戶(hù)可以使用客戶(hù)端程序在客戶(hù)機(jī)上訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),通過(guò)執(zhí)行應(yīng)用服務(wù)器端的應(yīng)用程序,以滿(mǎn)足不同權(quán)限的用戶(hù)通過(guò)客戶(hù)端進(jìn)行數(shù)據(jù)查詢(xún)和業(yè)務(wù)錄入,從而實(shí)現(xiàn)同網(wǎng)實(shí)時(shí)管理,數(shù)據(jù)實(shí)時(shí)傳輸。關(guān)鍵字應(yīng)用服務(wù)器 客戶(hù)端 多層 管理信息系統(tǒng) 控件Planning and designing of WININFO mechanical systemCompany datum management an
3、d stock management moduleAbstractThis thesis introduces the general frame of the system, and specifies at company datum management moduleand stocking module, based on the design and programming of WININFO MIS. This system aims at analyzing general business flow and related data in machine industry,
4、integrating with MIS concept and methods of software system development. With Delphi7.0 as development platform and Microsoft SQL server as database, the system is designed in three-tier client/server architecture, including user interface, application server and database management system. Users ac
5、cess database with user system interface through a middle tier-application server. Users input and queue data by sending message to middle tier, and then, owing to the role of the user, the middle tier retrieves data. This provides a real-time management and transaction.KeywordsMulti-tier applicatio
6、n server client MIS widget目錄第一章引言- 1 -第二章開(kāi)發(fā)平臺(tái)、技術(shù)介紹- 2 -2.1 Delphi7.0- 2 -2.1.1 Delphi7.0簡(jiǎn)介- 2 -2.1.2 Delphi7.0一些特性- 2 -2.2 Microsoft SQL Server 2000- 3 -2.2.1簡(jiǎn)介- 3 -2.2.2特性- 3 -2.3 分布式多層結(jié)構(gòu)體系- 4 -第三章系統(tǒng)總體設(shè)計(jì)與分析- 6 -3.1 需求分析- 6 -3.2 運(yùn)行環(huán)境- 6 -3.2.1硬件設(shè)備- 6 -3.2.2支持軟件- 6 -3.3 安全與可靠性設(shè)計(jì)- 7 -3.4 功能性需求分析- 7 -3
7、.5 模塊處理流程設(shè)計(jì)- 8 -3.6 數(shù)據(jù)庫(kù)設(shè)計(jì)- 9 -3.6.1 表設(shè)計(jì)- 9 -3.6.2 存儲(chǔ)過(guò)程- 9 -3.7 接口說(shuō)明- 10 -第四章本單位資料管理和進(jìn)貨管理的設(shè)計(jì)與實(shí)現(xiàn)- 11 -4.1系統(tǒng)整體模塊設(shè)計(jì)- 11 -4.2模塊詳細(xì)設(shè)計(jì)與分析- 11 -4.2.1服務(wù)器端- 11 -4.2.1.1 應(yīng)用服務(wù)器模式流程與配置- 11 -4.2.1.2遠(yuǎn)程模塊的創(chuàng)建- 13 -4.2.2 客戶(hù)端架構(gòu)概述- 14 -4.2.3 本單位資料管理模塊- 17 -4.2.3.1 子模塊劃分與數(shù)據(jù)流圖- 17 -4.2.3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)- 18 -4.2.3.3 本單位資料模塊詳細(xì)設(shè)計(jì)-
8、20 -4.2.4 進(jìn)貨管理模塊- 23 -4.2.4.1 子模塊劃分與數(shù)據(jù)流圖- 23 -4.2.4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)- 23 -4.2.4.3 子模塊詳細(xì)設(shè)計(jì)- 26 -第五章技術(shù)難點(diǎn)、解決方案- 32 -5.1 關(guān)于scktsrvr.exe- 32 -5.2 關(guān)于存儲(chǔ)過(guò)程中臨時(shí)表- 32 -5.3 單據(jù)自動(dòng)編號(hào)- 33 -第六章結(jié)論- 34 -致語(yǔ)- 35 -參考文獻(xiàn)- 36 -第一章 引言面臨21世紀(jì)的機(jī)遇和挑戰(zhàn),如何高效運(yùn)作獲取新的經(jīng)濟(jì)增長(zhǎng)點(diǎn)已成為企業(yè)關(guān)注的焦點(diǎn)。實(shí)現(xiàn)信息化是企業(yè)由“傳統(tǒng)企業(yè)”轉(zhuǎn)變?yōu)椤艾F(xiàn)代化企業(yè)”的根本途徑。而要實(shí)現(xiàn)上述變革,就需要依靠高效率的、強(qiáng)有力的信息系統(tǒng)。企業(yè)只
9、有實(shí)現(xiàn)了經(jīng)營(yíng)決策層、管理調(diào)度層、命令執(zhí)行層的信息有機(jī)集成,才能與時(shí)調(diào)整管理策略,最大限度地滿(mǎn)足市場(chǎng)需求,達(dá)到企業(yè)現(xiàn)代化集成管理的目的。而所謂MIS(管理信息系統(tǒng)-Management Information System)系統(tǒng) ,是一個(gè)由人、計(jì)算機(jī)與其他外圍設(shè)備等組成的能進(jìn)行信息的收集、傳遞、存貯、加工、維護(hù)和使用的系統(tǒng)。目前,企業(yè)的計(jì)算機(jī)網(wǎng)絡(luò)已成為企業(yè)進(jìn)行技術(shù)改造與提高企業(yè)管理水平的重要手段。隨著我國(guó)與世界信息高速公路的接軌,企業(yè)通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)獲得信息必將為企業(yè)帶來(lái)巨大的經(jīng)濟(jì)效益和社會(huì)效益,企業(yè)的辦公與管理都將朝著高效、快速、無(wú)紙化的方向發(fā)展。唯信機(jī)械行業(yè)MIS系統(tǒng)將機(jī)械企業(yè)供應(yīng)鏈(進(jìn)、銷(xiāo)、
10、存)與財(cái)務(wù)管理溶為一體,以提升企業(yè)管理水平、減少運(yùn)營(yíng)成本、簡(jiǎn)化業(yè)務(wù)流程并實(shí)現(xiàn)企業(yè)效益最大化為目的,將物流、資金流與信息流以與人力資源結(jié)合在一起,從而對(duì)企業(yè)進(jìn)行統(tǒng)一系統(tǒng)的管理,實(shí)現(xiàn)資源的優(yōu)化配置。系統(tǒng)將管理與軟件有機(jī)的結(jié)合起來(lái),以簡(jiǎn)捷的操作、規(guī)的流程、實(shí)用的功能、穩(wěn)定的性能、鮮明的行業(yè)特點(diǎn),幫助企業(yè)實(shí)現(xiàn)管理信息化。該系統(tǒng)通過(guò)業(yè)務(wù)單據(jù)、業(yè)務(wù)查詢(xún)、財(cái)務(wù)處理、決策分析等功能模塊為企業(yè)建立完善的經(jīng)營(yíng)管理平臺(tái),與嚴(yán)格的流程控制。通過(guò)商品多單位價(jià)格管理、進(jìn)價(jià)與售價(jià)跟蹤、銷(xiāo)售價(jià)低于進(jìn)價(jià)報(bào)警、庫(kù)存上下限報(bào)警、客戶(hù)信用額度控制、多倉(cāng)庫(kù)管理、貨位管理與決策分析等功能,為企業(yè)提供良好的信息管理渠道,最大程度的保障企業(yè)
11、業(yè)務(wù)處理的流暢和安全,促進(jìn)企業(yè)的高效運(yùn)作。第二章 開(kāi)發(fā)平臺(tái)、技術(shù)介紹2.1 Delphi7.02.1.1Delphi7.0簡(jiǎn)介Delphi 7是Borland公司推出基于Object Pascal語(yǔ)言的一種可視化集成開(kāi)發(fā)工具,它提供了一個(gè)高度可視化的集成開(kāi)發(fā)環(huán)境,也被稱(chēng)為IDE(Integrated Development Environment)。利用Delphi 7提供的集成開(kāi)發(fā)環(huán)境可以快速、高效地開(kāi)發(fā)出基于Windows環(huán)境的各類(lèi)程序,與其他可視化的編程語(yǔ)言相比,Delphi提供的集成開(kāi)發(fā)環(huán)境更具效率和人性化,可以大大縮短程序的開(kāi)發(fā)時(shí)間。Delphi是windows平臺(tái)上最好的RAD(R
12、apid Application Development,快速應(yīng)用開(kāi)發(fā))工具之一。它提供了一個(gè)完全可視化的開(kāi)發(fā)環(huán)境,以直觀(guān)的界面、簡(jiǎn)潔的語(yǔ)言、強(qiáng)大的功能和開(kāi)放的系統(tǒng)為特色。它的出現(xiàn),使得開(kāi)發(fā)軟件成為了一種樂(lè)趣。2.1.2Delphi7.0一些特性1. 全面的開(kāi)發(fā)平臺(tái)在RAD開(kāi)發(fā)工具當(dāng)中,Delphi的能力恐怕是最為全面的。用Borland的話(huà)來(lái)說(shuō),它具有開(kāi)發(fā)任何Windows程序的能力。由于其開(kāi)放而優(yōu)秀的控件體系,Delphi任何能力方面的不足都可以由其控件來(lái)增強(qiáng)。第三方廠(chǎng)商為Delphi提供了為數(shù)眾多的優(yōu)秀控件,Delphi的能力得到了相當(dāng)大的擴(kuò)充。2. Delphi數(shù)據(jù)庫(kù)應(yīng)用程序的體系結(jié)構(gòu)
13、一個(gè)完整的數(shù)據(jù)庫(kù)應(yīng)用程序通常有以下幾個(gè)部分組成:用戶(hù)界面元素(數(shù)據(jù)控制控件)、數(shù)據(jù)源、數(shù)據(jù)集控件和數(shù)據(jù)庫(kù)連接控件。大體上的遵循的結(jié)構(gòu)都如圖2-1所示。數(shù)據(jù)集控件數(shù)據(jù)源控件連接控件用戶(hù)界面(數(shù)據(jù)控制控件)數(shù)據(jù)庫(kù)數(shù)據(jù)模塊應(yīng)用程序圖2-1 Delphi 數(shù)據(jù)庫(kù)程序基本結(jié)構(gòu)Delphi 7 有關(guān)數(shù)據(jù)庫(kù)操作的可視化控件的功能相當(dāng)強(qiáng)大,訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的方有很多種:直接訪(fǎng)問(wèn),如訪(fǎng)問(wèn)Paradox和DBASE數(shù)據(jù)庫(kù);通過(guò)ODBC訪(fǎng)問(wèn),如訪(fǎng)問(wèn)Access、Foxpro等數(shù)據(jù)庫(kù);通過(guò)嵌(Native)方式訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),如訪(fǎng)問(wèn)SQL Server、Oracle、DB2;通過(guò)Express方式直接訪(fǎng)問(wèn)數(shù)據(jù)庫(kù);通過(guò)ADO方式
14、訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)等。而唯信機(jī)械MIS系統(tǒng)正是通過(guò)ADO方式訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的。ADO(Active Data Object)是采用直接訪(fǎng)問(wèn)技術(shù),是微軟公司所推出的一套數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)規(guī)。采用ADO的優(yōu)點(diǎn)主要有3點(diǎn):第一,速度快占用存小,主要因?yàn)樗苯邮褂貌僮飨到y(tǒng)的API函數(shù);第二,它支持目前最為熱門(mén)的Web應(yīng)用開(kāi)發(fā);第三,它支持RDS(Remote Data Service),即通過(guò)客戶(hù)端程序直接從遠(yuǎn)程服務(wù)器中把數(shù)據(jù)讀取到客戶(hù)端待客戶(hù)端處理完這些數(shù)據(jù)后,再將修改后的數(shù)據(jù)返回遠(yuǎn)程服務(wù)器。2.2 Microsoft SQL Server 20002.2.1簡(jiǎn)介Microsoft SQL Server 2000是基于
15、客戶(hù)端/服務(wù)器模式的新一代大型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS,),它在電子商務(wù)、數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)庫(kù)解決方案等應(yīng)用中起著重要的核心作用,可為企業(yè)的數(shù)據(jù)管理提供強(qiáng)大的支持,對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)提供有效的管理,并采用有效的措施實(shí)現(xiàn)數(shù)據(jù)的完整性與數(shù)據(jù)的安全性。2.2.2特性1. SQL Server 2000的體系結(jié)構(gòu)SQL Server 2000是一個(gè)基于C/S模式的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),如圖2-2所示??蛻?hù)端應(yīng)用程序提交SQL語(yǔ)句查詢(xún)結(jié)果返回前臺(tái)SQL Server 2000客戶(hù)端服務(wù)器端圖2-2 SQL Server 2000 C/S模式結(jié)構(gòu)示意圖SQL Server采用C/S體系結(jié)構(gòu)把所有的工作負(fù)荷分
16、解為服務(wù)器上的任務(wù)和客戶(hù)端任務(wù)??蛻?hù)端應(yīng)用程序負(fù)責(zé)商業(yè)邏輯和向用戶(hù)提供數(shù)據(jù),服務(wù)器負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行操作和管理??蛻?hù)端(又稱(chēng)前臺(tái))應(yīng)用程序包含顯示與用戶(hù)交互的界面,而對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行處理描述成Transact-SQL語(yǔ)句(簡(jiǎn)稱(chēng)T-SQL語(yǔ)句),并將T-SQL語(yǔ)句送至服務(wù)器端(又稱(chēng)后臺(tái)),后臺(tái)的SQL Server執(zhí)行該T-SQL語(yǔ)句后,產(chǎn)生查詢(xún)結(jié)果,并將結(jié)果返回給客戶(hù)端的應(yīng)用程序。T-SQL是SQL Serve使用的一種數(shù)據(jù)庫(kù)查詢(xún)和編程語(yǔ)言,它除包含標(biāo)準(zhǔn)的SQL語(yǔ)句外,還增加了一些非標(biāo)準(zhǔn)的SQL語(yǔ)句,使其功能更強(qiáng)大。使用T-SQL語(yǔ)言可建立、修改、查詢(xún)和管理關(guān)系數(shù)據(jù)庫(kù)。2. 存儲(chǔ)過(guò)程在
17、SQL Server中,可以定義子程序存放在數(shù)據(jù)庫(kù)中,這樣的子程序稱(chēng)為存儲(chǔ)過(guò)程,存儲(chǔ)過(guò)程是數(shù)據(jù)庫(kù)對(duì)象之一。使用存儲(chǔ)過(guò)程的優(yōu)點(diǎn)如下:l 存儲(chǔ)過(guò)程在服務(wù)器端運(yùn)行,執(zhí)行速度快。l 存儲(chǔ)過(guò)程執(zhí)行一次后,其執(zhí)行規(guī)劃就駐留在高速緩沖存儲(chǔ)器,在以后的操作中,只需從高速緩沖存儲(chǔ)器中調(diào)用已編譯好的二進(jìn)制代碼執(zhí)行,提高了系統(tǒng)性能。l 確保數(shù)據(jù)庫(kù)的安全。使用存儲(chǔ)過(guò)程可以完成所有的數(shù)據(jù)庫(kù)操作,并可通過(guò)編程方式控制上述操作對(duì)數(shù)據(jù)庫(kù)信息訪(fǎng)問(wèn)的權(quán)限。l 自動(dòng)完成需要預(yù)先執(zhí)行的任務(wù)。存儲(chǔ)過(guò)程可以在系統(tǒng)啟動(dòng)時(shí)候自動(dòng)執(zhí)行,而不必在系統(tǒng)啟動(dòng)后再進(jìn)行手工操作,大大方便了用戶(hù)的使用,可以自動(dòng)完成一些需要預(yù)先執(zhí)行的任務(wù)。用戶(hù)存儲(chǔ)過(guò)程只能
18、定義在當(dāng)前數(shù)據(jù)庫(kù)中,可以使用SQL命令語(yǔ)句或SQL Server的企業(yè)管理器創(chuàng)建存儲(chǔ)過(guò)程2.3 分布式多層結(jié)構(gòu)體系隨著計(jì)算機(jī)的軟、硬件與網(wǎng)絡(luò)技術(shù)的發(fā)展,企業(yè)的需求也在不斷地增長(zhǎng)與變化?;诙鄬蛹軜?gòu)的分布式應(yīng)用正在作為一種解決方案逐漸流行,MIDAS正是作為一種構(gòu)造這種多層架構(gòu)分布式應(yīng)用系統(tǒng)而被推出的快速開(kāi)發(fā)工具。MIDAS是多層分布式應(yīng)用服務(wù)包(Multi-tier Distributed Application Services Suite)的縮寫(xiě),是由Inprise公司開(kāi)發(fā)的Windows平臺(tái)的中間件產(chǎn)品,它能夠有效地利用DCOM、TCPIP、OLE Enterprise和CORBA技術(shù)。
19、MIDAS提供了一套高級(jí)組件、服務(wù)和核心技術(shù),可以簡(jiǎn)化跨平臺(tái)(Windows、UNIX、Linux)、跨產(chǎn)品(Delphi、CBuilder、VC、VB等開(kāi)發(fā)系統(tǒng)可以協(xié)調(diào)工作)的多級(jí)分布式應(yīng)用系統(tǒng)的開(kāi)發(fā)。使用MIDAS可以建立“瘦客戶(hù)端應(yīng)用程序服務(wù)器數(shù)據(jù)庫(kù)系統(tǒng)”的多層分布應(yīng)用程序。多層體系結(jié)構(gòu)最大的優(yōu)勢(shì)可以概括為兩點(diǎn),一是集中化的商業(yè)邏輯,另一個(gè)是客戶(hù)程序可以做的很“瘦”。目前較常見(jiàn)的是三層的體系結(jié)構(gòu),其中最關(guān)鍵的是應(yīng)用服務(wù)器,它是三層體系結(jié)構(gòu)中起承上啟下的作用。如圖2-3所示是三層數(shù)據(jù)庫(kù)應(yīng)用程序的體系結(jié)構(gòu)。操縱數(shù)據(jù)庫(kù)信息的邏輯是處在中間層上,中間層集中管理支配數(shù)據(jù)庫(kù)交互的邏輯,從而使不同的客
20、戶(hù)端應(yīng)用程序能夠使用同一數(shù)據(jù),而且可以使客戶(hù)應(yīng)用程序很“瘦”,因?yàn)樵S多處理放在了中間層上面了。圖2-3 三層數(shù)據(jù)庫(kù)應(yīng)用程序的體系結(jié)構(gòu)三層是最簡(jiǎn)單的多層應(yīng)用,它把應(yīng)用程序分為:瘦客戶(hù)端應(yīng)用程序、應(yīng)用程序服務(wù)器和遠(yuǎn)端數(shù)據(jù)庫(kù)服務(wù)器。其中,客戶(hù)端主要負(fù)責(zé)用戶(hù)界面的處理;服務(wù)器端主要負(fù)責(zé)商業(yè)邏輯的處理,為客戶(hù)端提供公共的數(shù)據(jù)服務(wù),處理客戶(hù)端與數(shù)據(jù)庫(kù)間的數(shù)據(jù)流;遠(yuǎn)端數(shù)據(jù)庫(kù)服務(wù)器提供關(guān)系數(shù)據(jù)的存取和維護(hù)。一般的三層體系結(jié)構(gòu)如圖2-4所示,包括三部分:l 客戶(hù)應(yīng)用程序(Client Application),它存放在用戶(hù)的計(jì)算機(jī)上,用于實(shí)現(xiàn)用戶(hù)的接口;l 應(yīng)用程序服務(wù)器(Application Server)
21、,提供公共的數(shù)據(jù)服務(wù)等,它存放在所有客戶(hù)端可訪(fǎng)問(wèn)到的計(jì)算機(jī)上;l 遠(yuǎn)程數(shù)據(jù)庫(kù)服務(wù)器(Remote DataBase Server),用來(lái)存儲(chǔ)應(yīng)用程序數(shù)據(jù)資料的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)??蛻?hù)應(yīng)用程序客戶(hù)應(yīng)用程序客戶(hù)應(yīng)用程序應(yīng)用程序服務(wù)器遠(yuǎn)程數(shù)據(jù)庫(kù)服務(wù)器圖2-4 三層體系結(jié)構(gòu)第三章 系統(tǒng)總體設(shè)計(jì)與分析3.1 需求分析本單位資料管理子模塊包括職工資料設(shè)置,倉(cāng)庫(kù)信息設(shè)置,部門(mén)信息設(shè)置,職稱(chēng)信息設(shè)置四個(gè)部分。在設(shè)置職工資料的時(shí)候,應(yīng)該先設(shè)置部門(mén)信息和職稱(chēng)信息。1. 職工資料設(shè)置的主要功能是:負(fù)責(zé)錄入公司員工的一些基本信息,如員工編號(hào),生日,學(xué)歷,所屬部門(mén),職稱(chēng)等信息。 2. 倉(cāng)庫(kù)信息設(shè)置的主要功
22、能是:設(shè)置公司所擁有的倉(cāng)庫(kù)信息,名字代表倉(cāng)庫(kù)的所在地。用戶(hù)可以查詢(xún)倉(cāng)庫(kù)的具體信息。3. 部門(mén)信息設(shè)置的主要功能是:設(shè)置公司部門(mén)信息,管理可添加、刪除公司的部門(mén)設(shè)置。用戶(hù)可查看所有部門(mén)信息。4. 職稱(chēng)信息設(shè)置的主要功能是:設(shè)置公司職工的職稱(chēng)。進(jìn)貨管理子模塊包括進(jìn)貨詢(xún)價(jià)、進(jìn)貨報(bào)價(jià)、進(jìn)貨單、進(jìn)貨退貨單。用戶(hù)先通過(guò)進(jìn)貨詢(xún)價(jià),生成進(jìn)貨報(bào)價(jià)單,通過(guò)進(jìn)貨報(bào)價(jià)單向往來(lái)公司進(jìn)貨。1. 進(jìn)貨詢(xún)價(jià)的主要功能是:向往來(lái)公司查詢(xún)要進(jìn)貨商品的價(jià)格,運(yùn)費(fèi)等信息。2. 進(jìn)貨報(bào)價(jià)的主要功能是:根據(jù)進(jìn)貨詢(xún)價(jià)單,對(duì)進(jìn)貨的商品逐個(gè)進(jìn)行報(bào)價(jià)。3. 進(jìn)貨單的主要功能是:對(duì)已經(jīng)報(bào)價(jià)的商品生成一進(jìn)貨單據(jù)。4. 進(jìn)貨退貨的主要功能是:對(duì)不滿(mǎn)意
23、的商品進(jìn)行退貨。3.2 運(yùn)行環(huán)境3.2.1硬件設(shè)備運(yùn)行該軟件所需要的設(shè)備與其規(guī)格,包括:1. 客戶(hù)端要求:CPU為奔騰處理器3與以上,存為64M與以上。2. 服務(wù)器要求:CPU為賽揚(yáng)2G與以上,存為256M與以上。3.2.2支持軟件1. 客戶(hù)端要求:系統(tǒng)為Windows98與以上2. 服務(wù)器要求:l 服務(wù)器操作系統(tǒng):Windows98與以上。l 數(shù)據(jù)庫(kù):SQL Server 20003.3 安全與可靠性設(shè)計(jì)1. 安全設(shè)計(jì)我們?cè)谟脩?hù)登錄時(shí)進(jìn)行判斷,設(shè)計(jì)了一個(gè)安全機(jī)制,用以檢驗(yàn)當(dāng)前用戶(hù)是否登陸,未登陸則不可以使用該系統(tǒng),以實(shí)現(xiàn)檢驗(yàn)當(dāng)前用戶(hù)是否為合法用戶(hù)。2. 權(quán)限設(shè)計(jì)為了進(jìn)一步保證系統(tǒng)的安全和可靠
24、性,我們?cè)O(shè)置了二種不同的用戶(hù)權(quán)限,分別是管理員、一般用戶(hù)。l 管理員用戶(hù)可以操作該系統(tǒng)的所有功能。l 一般用戶(hù)只可以對(duì)已經(jīng)分配權(quán)限的模塊進(jìn)行操作。3.4 功能性需求分析表1 功能性需求分類(lèi)描述表功能類(lèi)別功能名稱(chēng)、標(biāo)識(shí)符描述系統(tǒng)風(fēng)格風(fēng)格選擇用戶(hù)可選定所需風(fēng)格資料管理本單位資料設(shè)置模塊管理員可設(shè)置職工資料、部門(mén)信息、職稱(chēng)信息、單位倉(cāng)庫(kù)信息往來(lái)公司資料設(shè)置模塊用戶(hù)可設(shè)置行業(yè)類(lèi)型、地區(qū)資料、客戶(hù)信用度、客戶(hù)公司資料信息商品資料設(shè)置模塊用戶(hù)可設(shè)置商品類(lèi)別、計(jì)量單位、庫(kù)存單位換算、商品庫(kù)存信息等業(yè)務(wù)管理進(jìn)貨管理模塊用戶(hù)可通過(guò)進(jìn)貨詢(xún)價(jià)單進(jìn)行進(jìn)貨報(bào)價(jià),再通過(guò)進(jìn)貨報(bào)價(jià)單生成進(jìn)貨單,可進(jìn)行進(jìn)貨退貨管理銷(xiāo)售管理模塊
25、用戶(hù)可通過(guò)銷(xiāo)售報(bào)價(jià)單生成銷(xiāo)售單,可進(jìn)行銷(xiāo)售退貨管理庫(kù)存管理模塊用戶(hù)可通過(guò)進(jìn)貨單進(jìn)行進(jìn)貨入庫(kù),通過(guò)進(jìn)貨退貨單進(jìn)行退貨出庫(kù),可通過(guò)銷(xiāo)售單進(jìn)行銷(xiāo)售出庫(kù),通過(guò)銷(xiāo)售退貨單進(jìn)行退貨入庫(kù),用戶(hù)可查詢(xún)現(xiàn)有庫(kù)存系統(tǒng)管理管理管理員可設(shè)置員工為系統(tǒng)用戶(hù),為用戶(hù)分配權(quán)限,管理實(shí)時(shí)在線(xiàn)用戶(hù);用戶(hù)可修改密碼,查詢(xún)?cè)诰€(xiàn)歷史記錄消息管理用戶(hù)可查看公告消息和個(gè)人信息系統(tǒng)維護(hù)3.5模塊處理流程設(shè)計(jì)圖3-1系統(tǒng)程序邏輯流程3.6 數(shù)據(jù)庫(kù)設(shè)計(jì)3.6.1 表設(shè)計(jì)表2 本單位資料子模塊的數(shù)據(jù)庫(kù)表表名 說(shuō)明屬性說(shuō)明clerk_table定義職工編號(hào)、職工、姓別、學(xué)歷、職稱(chēng)、所屬部門(mén)、生日、入職時(shí)間、聯(lián)系等depot_table定義倉(cāng)庫(kù)編號(hào)
26、、倉(cāng)庫(kù)名稱(chēng)、備注dep_table定義部門(mén)編號(hào)、部門(mén)名稱(chēng)、備注title_table定義職稱(chēng)編號(hào)、職稱(chēng)名稱(chēng)、備注表3 進(jìn)貨管理子模塊的數(shù)據(jù)庫(kù)表表名 說(shuō)明屬性說(shuō)明stock_inquiry_table定義編號(hào)、詢(xún)價(jià)時(shí)間、操作員、供應(yīng)商、報(bào)價(jià)與否stock_inquiry_product_table定義詢(xún)價(jià)單中商品的類(lèi)別、單價(jià)、運(yùn)費(fèi)、數(shù)量等stock_quote_table定義報(bào)價(jià)單編號(hào)、對(duì)應(yīng)的詢(xún)價(jià)單編號(hào)、報(bào)價(jià)人、時(shí)間等stock_table定義進(jìn)貨單編號(hào)、對(duì)應(yīng)的報(bào)價(jià)單編號(hào)、進(jìn)貨人、審核人、是否審核、進(jìn)貨總價(jià)等stock_product_table定義詢(xún)價(jià)單中商品的類(lèi)別、單價(jià)、運(yùn)費(fèi)、數(shù)量等stoc
27、k_return_table定義退貨單編號(hào)、對(duì)應(yīng)的進(jìn)貨單編號(hào)、退貨人、審核人、 是還審核、退貨總價(jià)等stock_return_product_table定義詢(xún)價(jià)單中商品的類(lèi)別、單價(jià)、運(yùn)費(fèi)、數(shù)量等3.6.2 存儲(chǔ)過(guò)程由于本系統(tǒng)采用三層結(jié)構(gòu),對(duì)數(shù)據(jù)的查詢(xún)、增加、修改等均采用存儲(chǔ)過(guò)程來(lái)操作。對(duì)于數(shù)據(jù)庫(kù)運(yùn)算處理頻繁或數(shù)據(jù)運(yùn)算量較大的任務(wù),用存儲(chǔ)過(guò)程實(shí)現(xiàn),可以提高系統(tǒng)整體的運(yùn)行效率;此外,存儲(chǔ)過(guò)程在數(shù)據(jù)庫(kù)服務(wù)器端執(zhí)行,只將執(zhí)行結(jié)果返回到客戶(hù)端。對(duì)于多層Client/Server結(jié)構(gòu)的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),一般采用將程序參數(shù)存放在后臺(tái)數(shù)據(jù)庫(kù)表中,可以更好的保持?jǐn)?shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)一致性。3.7 接口說(shuō)明我們定子功
28、能間的接口模式為數(shù)據(jù)庫(kù)模式。如一般用戶(hù)向系統(tǒng)提交的進(jìn)貨單時(shí)是向stock_table表中插入;而進(jìn)貨單審核員通過(guò)查看該記錄選擇同意進(jìn)貨與否。第四章 本單位資料管理和進(jìn)貨管理的設(shè)計(jì)與實(shí)現(xiàn)4.1系統(tǒng)整體模塊設(shè)計(jì)唯信機(jī)械行業(yè)MIS系統(tǒng)資料管理業(yè)務(wù)管理賬務(wù)管理員工管理系統(tǒng)維護(hù)系統(tǒng)管理本單位資料設(shè)置往來(lái)公司資料設(shè)置商品資料設(shè)置進(jìn)貨管理銷(xiāo)售管理庫(kù)存管理賬戶(hù)管理消息管理圖4-1 系統(tǒng)模塊劃分4.2模塊詳細(xì)設(shè)計(jì)與分析4.2.1服務(wù)器端4.2.1.1 應(yīng)用服務(wù)器模式流程與配置應(yīng)用程序服務(wù)器的數(shù)據(jù)庫(kù)連接模式流程如圖4-2所示。 圖4-2 應(yīng)用程序服務(wù)器數(shù)據(jù)連接模塊流程圖三層分布式體系結(jié)構(gòu)的應(yīng)用服務(wù)器,其基礎(chǔ)是一個(gè)
29、遠(yuǎn)程數(shù)據(jù)模塊(Remote Data Module),它能夠支持IAppServer接口。 客戶(hù)端正是使用IAppServer接口與應(yīng)用服務(wù)器上的供應(yīng)器通信,從而進(jìn)行各種數(shù)據(jù)操作。作為應(yīng)用服務(wù)器,起到的功能是客戶(hù)端與數(shù)據(jù)庫(kù)服務(wù)器之間的銜接作用。用戶(hù)可以通過(guò)輸入IP動(dòng)態(tài)連接數(shù)據(jù)庫(kù)服務(wù)器,連接成功之后,可以實(shí)時(shí)查看客戶(hù)端的連接情況。服務(wù)器端程序?qū)嶋H上是個(gè)COM 工程,它本身連接數(shù)據(jù)源,再通過(guò)接口與客戶(hù)端聯(lián)系,這個(gè)COM 工程必須注冊(cè)在服務(wù)器上。建立一個(gè)應(yīng)用服務(wù)器的關(guān)鍵是動(dòng)態(tài)連接數(shù)據(jù)庫(kù)服務(wù)器以與使用一個(gè)遠(yuǎn)程數(shù)據(jù)模塊,此外的工作和通常的數(shù)據(jù)庫(kù)應(yīng)用很類(lèi)似。動(dòng)態(tài)連接數(shù)據(jù)庫(kù)服務(wù)器的實(shí)現(xiàn)。首先用Delphi新
30、建一個(gè)應(yīng)用程序(Application),系統(tǒng)會(huì)自動(dòng)生成一個(gè)頁(yè)面form,在窗體中添置一個(gè)ADO組件欄的ADOConnection控件(如圖4-3),并進(jìn)行一些必要的窗體設(shè)置后,窗體如圖4-4所示:圖4-3 ADOConnection控件圖4-4 服務(wù)器窗體在這個(gè)應(yīng)用服務(wù)器配置窗體中,需要輸入數(shù)據(jù)庫(kù)服務(wù)器主機(jī)名(或者IP地址)、數(shù)據(jù)庫(kù)名、數(shù)據(jù)庫(kù)用戶(hù)名以與密碼,這些配置信息將用來(lái)連接數(shù)據(jù)庫(kù)服務(wù)器。如果連接成功,輸入的配置信息將被寫(xiě)入到當(dāng)前目錄的DB.ini文件中,下次程序啟動(dòng)時(shí),可以通過(guò)連接按鈕讀取該文件的配置信息,就可以方便連接數(shù)據(jù)庫(kù)了。4.2.1.2遠(yuǎn)程模塊的創(chuàng)建Delphi共有四種遠(yuǎn)程數(shù)據(jù)
31、模塊,分別是遠(yuǎn)程數(shù)據(jù)模塊(TRemoteDataModule)、事務(wù)數(shù)據(jù)模塊(TMTSDataModule)、Corba數(shù)據(jù)模塊(TCorbaDataModule)以與SOAP數(shù)據(jù)模塊,TMTSDataModule用于建立MTS/COM+的應(yīng)用服務(wù)器,Corba主要面向Corba客戶(hù)端,SOAP主要支持于Web Service,由于本系統(tǒng)基于C/S架構(gòu),因此我們選用了最為普遍的TRemoteDataModule遠(yuǎn)程數(shù)據(jù)模塊從Delphi的菜單中選擇FileNewOther,出現(xiàn)New Items的對(duì)話(huà)框,單擊Multitier頁(yè)面,選擇Remote Data Module選項(xiàng),選擇了一個(gè)TRe
32、moteDataModule遠(yuǎn)程數(shù)據(jù)模塊(如圖4-5)圖4-5 遠(yuǎn)程數(shù)據(jù)模塊接下來(lái)是它的向?qū)渲媒缑?,需要指定Coclass名字、實(shí)例類(lèi)型、線(xiàn)程模型,如圖4-6所示:圖4-6 向?qū)渲迷贑oclass Name指定類(lèi)名,程序?qū)⒔⒁粋€(gè)新的單元,它是TRemoteDataModule的派生,在此我們輸入Engine。Instancing是指定實(shí)例的類(lèi)型,我們選擇默認(rèn)的Multiple Instance,這樣每個(gè)遠(yuǎn)程數(shù)據(jù)模塊是單個(gè)客戶(hù)端連接專(zhuān)有的,但他們都共享同一進(jìn)程空間。在Threading Model中,選擇Apartment能夠確保遠(yuǎn)程數(shù)據(jù)模塊的任何實(shí)例在同一時(shí)間只服務(wù)于一個(gè)請(qǐng)求,這樣能夠避
33、免線(xiàn)程沖突。到此,應(yīng)用服務(wù)器大體搭建完畢,運(yùn)行程序,應(yīng)用服務(wù)器將完成注冊(cè),此時(shí)系統(tǒng)將提供一個(gè)唯一的GUID值(如圖4-7),供客戶(hù)端連接驗(yàn)證。圖4-7 GUID值4.2.2 客戶(hù)端架構(gòu)概述1. 連接服務(wù)器方式的選擇在Two-Tier模式中,客戶(hù)端程序是直接和數(shù)據(jù)庫(kù)服務(wù)器的數(shù)據(jù)源相連的,而Multi-Tier模式,多個(gè)客戶(hù)端連接的是應(yīng)用程序服務(wù)器,它們之間是通過(guò)IAppServer接口進(jìn)行通信的,而客戶(hù)端則是通過(guò)一個(gè)連接組件得到這個(gè)接口。在Delphi中,存在著多種連接組件,它們對(duì)應(yīng)著不同的通信協(xié)議,對(duì)應(yīng)于應(yīng)用服務(wù)器上的不同種類(lèi)的遠(yuǎn)程數(shù)據(jù)模塊,客戶(hù)端也需要不同的種類(lèi)的連接組件,如表4所示:表4
34、連接組件比較組件協(xié)議連接到的遠(yuǎn)程數(shù)據(jù)模塊TDCOMConnectionDCOMRemoteDataModule或者M(jìn)TSDataModuleTSocketConnectionWindows Socket (TCP/IP)RemoteDataModule或者M(jìn)TSDataModuleTWebConnectionRemoteDataModule或者M(jìn)TSDataModuleTSoapConnectionSOAP ( 和XML)SoapDataModuleTCorbaConnectionCORBA(IIOP)CorbaDataModule由于應(yīng)用服務(wù)器所選用的遠(yuǎn)程數(shù)據(jù)模塊是RemoteDataMod
35、ule,并且系統(tǒng)基于C/S架構(gòu),因此所選用的連接組件將是TDCOMConnection或TSocketConnection。TDCOMConnection 提供了核心的NTLM的安全性和驗(yàn)證機(jī)制。在COM/DCOM里面我們可以很輕松地使用早聯(lián)編(early-binding)、 回調(diào)機(jī)制(callback)和連結(jié)點(diǎn)機(jī)制(ConnectionPoints)。 但是它的不利因素就是配置客戶(hù)端的DCOM和讓DCOM透過(guò)防火墻(FireWall)相當(dāng)麻煩而相對(duì)于TDCOMConnection,TSocketConnection雖然不支持早聯(lián)編(early-binding),但它無(wú)疑是最容易配置的連接方式
36、,而且TSocketConnection只使用一個(gè)端口(默認(rèn)211)來(lái)進(jìn)行通訊,這樣如果在擁有防火墻的系統(tǒng)中,管理員會(huì)更樂(lè)意接受。在安裝中間層的機(jī)器上,只要運(yùn)行SCKTSRVR.EXE(如圖4-8)就可以和客戶(hù)端建立Socket的連接了。(scktsrvr.exe存放于Delphi安裝路徑的Bin目錄下)如圖4-8 scktsrvr.exe2. 客戶(hù)端架構(gòu)的搭建使用File菜單下的New Application建立一個(gè)新應(yīng)用程序。將新建的form命名為e_main.pas,并在其中放置一個(gè)連接組件SocketConnection1 (TsocketConnection組件)如圖4-9所示,其I
37、P屬性中本應(yīng)指定應(yīng)用程序服務(wù)器的IP地址,但由于要實(shí)現(xiàn)動(dòng)態(tài)連接應(yīng)用服務(wù)器,而且我們開(kāi)發(fā)客戶(hù)端程序的時(shí)候必須注冊(cè)應(yīng)用服務(wù)器,所以為了開(kāi)發(fā)方便,使用的是同一臺(tái),因此這里的IP地址選擇本機(jī)127.0.0.1。這樣在ServerName屬性中設(shè)置應(yīng)用程序服務(wù)器(在這里,應(yīng)用程序服務(wù)器就是上面創(chuàng)建的名為server.Engine的遠(yuǎn)程數(shù)據(jù)模塊),就可以定位應(yīng)用服務(wù)器和IAppServer接口。同時(shí)在Port屬性中取默認(rèn)值211與scktsrvr.exe對(duì)應(yīng)。圖4-9 TsocketConnection組件圖4-10 SocketConnection1屬性配置3. 動(dòng)態(tài)連接應(yīng)用服務(wù)器、用戶(hù)登陸界面客戶(hù)端程
38、序在運(yùn)行時(shí),需要連接應(yīng)用服務(wù)器程序以取得服務(wù)。但是,在系統(tǒng)實(shí)際應(yīng)用的時(shí)候,運(yùn)行應(yīng)用服務(wù)器程序的計(jì)算機(jī)是經(jīng)常改變的,因此在客戶(hù)端程序啟動(dòng)時(shí),應(yīng)該先找到運(yùn)行應(yīng)用服務(wù)器程序的計(jì)算機(jī)的設(shè)置。我們將這個(gè)配置信息存儲(chǔ)在windows系統(tǒng)的注冊(cè)表中,(分支:HKEY_LOCAL_MACHINESOFTWARE唯信機(jī)械MIS系統(tǒng)),客戶(hù)端啟動(dòng)時(shí)如果能夠找到配置信息,便進(jìn)行嘗試連接,連接成功則進(jìn)入用戶(hù)賬號(hào)登陸界面,如果連接失敗,則彈出應(yīng)用服務(wù)器配置界面重新配置。為了適應(yīng)這些界面的邏輯調(diào)度,我們決定把e_main.pas作為工程主頁(yè)面(客戶(hù)端一運(yùn)行即在后臺(tái)啟動(dòng),但不顯示),然后調(diào)用函數(shù)(ConnectAppSer
39、v)讀取注冊(cè)表進(jìn)行連接,連接成功則顯示賬戶(hù)的頁(yè)面,連接失敗則出現(xiàn)客戶(hù)端配置界面如圖4-11。 圖4-11 客戶(hù)端配置界面4.2.3 本單位資料管理模塊4.2.3.1 子模塊劃分與數(shù)據(jù)流圖根據(jù)系統(tǒng)功能,本單位將資料管理劃分為幾個(gè)模塊,如圖4-12所示。圖4-12 本單位資料模塊構(gòu)架圖本單位資料設(shè)置的數(shù)據(jù)流圖(DFD圖)如圖4-13所示。圖4-13 本單位資料數(shù)據(jù)流圖4.2.3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)1. 基本表設(shè)計(jì)根據(jù)上述數(shù)據(jù)流圖,本單位資料管理中共包含4個(gè)數(shù)據(jù)庫(kù)表,依次為職工資料信息表clerk_table保存公司職工的基本信息,倉(cāng)庫(kù)信息表depot_table用于設(shè)置公司倉(cāng)庫(kù),部門(mén)信息表dep_ta
40、ble設(shè)置公司的部門(mén)種類(lèi),職稱(chēng)信息表title_table設(shè)置公司的職稱(chēng)類(lèi)型。這里只列出表clerk_table的具體設(shè)計(jì),如表5所示。表5 職工資料信息表clerk_table序號(hào)字段名類(lèi)型長(zhǎng)度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說(shuō)明0clerk_idvarchar50職工編號(hào)1clerk_namevarchar50職工2clerk_sexvarchar4職工姓別3clerk_diplomavarchar50職工學(xué)歷4clerk_dep_idvarchar50職工所在部門(mén)ID5clerk_title_idvarchar50職工職稱(chēng)ID6clerk_birthdaysmalldatetime4職工生日
41、7clerk_workdaysmalldatetime4職工入職日期8clerk_phonevarchar50職工9clerk_emailvarchar50職工電子信箱10clerk_addressvarchar50職工居住地址11clerk_markvarchar300備注2. 存儲(chǔ)過(guò)程創(chuàng)建由于本系統(tǒng)采用三層結(jié)構(gòu),對(duì)數(shù)據(jù)的查詢(xún)、增加、修改等均采用存儲(chǔ)過(guò)程來(lái)操作。對(duì)于數(shù)據(jù)庫(kù)運(yùn)算處理頻繁或數(shù)據(jù)運(yùn)算量較大的任務(wù),用存儲(chǔ)過(guò)程實(shí)現(xiàn),可以提高系統(tǒng)整體的運(yùn)行效率;此外,存儲(chǔ)過(guò)程在數(shù)據(jù)庫(kù)服務(wù)器端執(zhí)行,只將執(zhí)行結(jié)果返回到客戶(hù)端。而本單位資料管理中,涉與到的存儲(chǔ)過(guò)程有職工資料信息的增加或修改update_cle
42、rk_info,倉(cāng)庫(kù)信息的增加或修改update_depot_info,部門(mén)信息的增加或修改update_dep_info,職稱(chēng)信息的增加或修改update_title_info。這里只給出update_clerk_info的具體程序,如下所示: / update_clerk_infoCREATE PROCEDURE update_clerk_info( t int, -判斷插入還是修改 update_id int, -插入的要修改的id數(shù)值 id varchar(50), name varchar(50), sex char(2), diploma char(10), vdep_id var
43、char(50), vdep_name varchar(50), vtitle_id varchar(50), vtitle_name varchar(50), birthday smalldatetime, workday smalldatetime, phone varchar(50), email varchar(50), address varchar(50), mark varchar(300) asif (t=1)begin select vdep_id=dep_id from dep_table where dep_name=vdep_name; select vtitle_id
44、=title_id from title_table where title_name=vtitle_name;update clerk_table set clerk_name=name,clerk_sex=sex,clerk_diploma=diploma,clerk_dep_id=vdep_id,clerk_title_id=vtitle_id,clerk_birthday=birthday,clerk_workday=workday,clerk_phone=phone,clerk_email=email,clerk_address=address,clerk_mark=markwher
45、e clerk_id=id ;endif (t=2)begin select vdep_id=dep_id from dep_table where dep_name=vdep_name; select vtitle_id=title_id from title_table where title_name=vtitle_name;insert clerk_table values(id,name,sex,diploma,vdep_id,vtitle_id,birthday,workday,phone,email,address,mark); update auto_add_table set
46、 clerk_id= update_id where auto_id=1; endGO4.2.3.3 本單位資料模塊詳細(xì)設(shè)計(jì)本單位資料設(shè)置主要是讓管理員管理職工資料、部門(mén)信息、倉(cāng)庫(kù)信息、職稱(chēng)信息。采用用戶(hù)點(diǎn)擊完,彈出具體頁(yè)面讓用戶(hù)設(shè)置。1. “職工資料詳細(xì)信息”子窗體設(shè)計(jì)完成后的“職工資料詳細(xì)信息”子窗體如圖4-14所示。圖4-14 “職工資料詳細(xì)信息” 子窗體該窗體用于查看所有職工的基本信息,在窗體里添加一個(gè)clientdataset1,其RemoteServer屬性值為main.SocketConnection1(主窗體用于連接應(yīng)用程序服務(wù)器server),ProviderName屬性值為
47、get_clerk_dsp(應(yīng)用程序服務(wù)器server中用于連接數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程的TDataSetProvider),通過(guò)設(shè)置數(shù)據(jù)庫(kù)控件的以上屬性,將Client端數(shù)據(jù)庫(kù)控件與Server端遠(yuǎn)程數(shù)據(jù)模塊中的數(shù)據(jù)庫(kù)控件連接起來(lái),這是多層數(shù)據(jù)庫(kù)應(yīng)用程序設(shè)計(jì)中最為關(guān)鍵的屬性設(shè)置。當(dāng)單擊“增加”或“編輯”按鈕后,彈出“職工資料錄入”子窗體,如圖4-15所示。當(dāng)單擊“刪除”按鈕后,彈出對(duì)話(huà)框確認(rèn)是否刪除,其中“刪除”事件調(diào)用server中的Appserver函數(shù)del_clerk(clerk_id,vdeled)。當(dāng)單擊“查找”按鈕時(shí),彈出如圖4-16所示的窗體,可以選擇要按哪個(gè)字段查找。圖4-15 “
48、職工資料錄入”子窗體當(dāng)單擊“職工資料錄入”子窗體中的“保存”按鈕后,程序?qū)⑹紫热〕鼍庉嫏谥械臄?shù)據(jù)做為參數(shù),通過(guò)Server端提供的接口函數(shù)update_clerk(vt,vupdate_id,vid,vname,vsex,vdiploma,vdep_name,vtitle_name,vbirthday,vworkday,vphone,vemail,vaddress,vmark,vsaved),傳遞到數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程update_clerk_info中,執(zhí)行并更新數(shù)據(jù)庫(kù)Engine中的表clerk_table。圖4-16 “職工資料查找”子窗體當(dāng)單擊“職工資料查找”子窗體中的“確定”按鈕后,程
49、序取出要查字段做為參數(shù),通過(guò)Server端提供的接口函數(shù)find_clerk(itemnumber,contentstr,vfound),把參數(shù)傳遞到數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程find_clerk_info中,執(zhí)行存儲(chǔ)過(guò)程,并把找到的數(shù)據(jù)存放在一個(gè)臨時(shí)表中。2. “倉(cāng)庫(kù)資料詳細(xì)信息”子窗體由于該模塊的具體設(shè)置跟“職工資料詳細(xì)信息”子窗體很相似,故這里只簡(jiǎn)單重復(fù)介紹一下參數(shù)設(shè)置和容。容:編號(hào)自動(dòng)生成,設(shè)置倉(cāng)庫(kù)名稱(chēng)與倉(cāng)庫(kù)區(qū)簡(jiǎn)介作用:商品入庫(kù)時(shí),供用戶(hù)選擇。操作:可增加、編輯、刪除、查找倉(cāng)庫(kù)資料。該模塊通過(guò)TClientDataSet控件與后臺(tái)數(shù)據(jù)庫(kù)相連,RemoteServer屬性設(shè)置為main.Sock
50、etConnection1,ProviderName屬性值為get_depot_dsp。增加、修改通過(guò)調(diào)用server的接口函數(shù)update_depot,執(zhí)行數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程update_depot_info。刪除通過(guò)調(diào)用server的接口函數(shù)delet_depot。查找通過(guò)調(diào)用server的接口函數(shù)find_depot,執(zhí)行數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程find_depot_info。3. “部門(mén)資料詳細(xì)信息”子窗體由于該模塊的具體設(shè)置跟“職工資料詳細(xì)信息”子窗體很相似,故這里只簡(jiǎn)單重復(fù)介紹一下參數(shù)設(shè)置和容。容:編號(hào)自動(dòng)生成,設(shè)置部門(mén)名稱(chēng)與備注。作用:當(dāng)公司增加職工時(shí),可選擇該職工所在的部門(mén)。操作:可
51、增加、編輯、刪除、查找部門(mén)資料。該模塊通過(guò)TClientDataSet控件與后臺(tái)數(shù)據(jù)庫(kù)相連,RemoteServer屬性設(shè)置為main.SocketConnection1,ProviderName屬性值為get_dep_dsp。增加、修改通過(guò)調(diào)用server的接口函數(shù)update_dep,執(zhí)行數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程update_dep_info。刪除通過(guò)調(diào)用server的接口函數(shù)delet_dep。查找通過(guò)調(diào)用server的接口函數(shù)find_dep,執(zhí)行數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程find_dep_info。4. “職稱(chēng)資料詳細(xì)信息”子窗體由于該模塊的具體設(shè)置跟“職工資料詳細(xì)信息”子窗體很相似,故這里只簡(jiǎn)單
52、重復(fù)介紹一下參數(shù)設(shè)置,容與操作。容:編號(hào)自動(dòng)生成,職稱(chēng)名稱(chēng)與備注。作用:當(dāng)公司增加職工時(shí),可選擇該職工的職稱(chēng)。操作:可增加、編輯、刪除、查找職稱(chēng)資料。該模塊通過(guò)TClientDataSet控件與后臺(tái)數(shù)據(jù)庫(kù)相連,RemoteServer屬性設(shè)置為main.SocketConnection1,ProviderName屬性值為get_title_dsp。增加、修改通過(guò)調(diào)用server的接口函數(shù)update_title,執(zhí)行數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程update_title_info。刪除通過(guò)調(diào)用server的接口函數(shù)delet_title。查找通過(guò)調(diào)用server的接口函數(shù)find_title,執(zhí)行數(shù)據(jù)庫(kù)中
53、的存儲(chǔ)過(guò)程find_title_info。4.2.4 進(jìn)貨管理模塊4.2.4.1 子模塊劃分與數(shù)據(jù)流圖根據(jù)系統(tǒng)功能,本單位將資料管理劃分為幾個(gè)模塊,如圖4-17所示。圖4-17 本單位資料模塊構(gòu)架圖 本單位資料設(shè)置的數(shù)據(jù)流圖(DFD圖)如圖4-18所示。圖4-18 本單位資料數(shù)據(jù)流圖4.2.4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)1. 基本表設(shè)計(jì)根據(jù)上述數(shù)據(jù)流圖,進(jìn)貨管理模塊中共包含7個(gè)數(shù)據(jù)庫(kù)表,依次為進(jìn)貨詢(xún)價(jià)表stock_inquiry_table保存詢(xún)價(jià)的基本信息,進(jìn)貨詢(xún)價(jià)商品表stock_inquiry_product_table用于添加商品信息,進(jìn)貨報(bào)價(jià)表stock_quote_table保存報(bào)價(jià)的基本信息,進(jìn)貨單表stock_table對(duì)應(yīng)該于進(jìn)貨報(bào)價(jià)單的基本信息,進(jìn)貨商品表stock_product_table對(duì)應(yīng)于進(jìn)貨報(bào)價(jià)商品,進(jìn)貨退貨表stock_return_table對(duì)應(yīng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版實(shí)習(xí)指導(dǎo)教師專(zhuān)業(yè)素養(yǎng)提升項(xiàng)目勞動(dòng)合同規(guī)范3篇
- 2025版公益宣傳活動(dòng)宣傳品制作及推廣合同2篇
- 2025版住宅小區(qū)地下車(chē)庫(kù)車(chē)位租賃及維護(hù)服務(wù)合同范本2篇
- 2025版木工班組智能化設(shè)備引進(jìn)與應(yīng)用合同4篇
- 企業(yè)對(duì)人才需求談職業(yè)
- 2025年度個(gè)人房產(chǎn)維修勞務(wù)合同范本4篇
- 二零二五年度股權(quán)并購(gòu)與國(guó)際化布局合同3篇
- 2025版國(guó)際貿(mào)易采購(gòu)合同(原材料)3篇
- 民政局2025年度自愿離婚協(xié)議書(shū)財(cái)產(chǎn)分割與子女撫養(yǎng)協(xié)議范本4篇
- 基于2025年度需求的冷卻塔設(shè)計(jì)、安裝與調(diào)試服務(wù)合同2篇
- 四川省成都市武侯區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末考試化學(xué)試題
- 教育部《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》知識(shí)培訓(xùn)
- 初一到初三英語(yǔ)單詞表2182個(gè)帶音標(biāo)打印版
- 2024年秋季人教版七年級(jí)上冊(cè)生物全冊(cè)教學(xué)課件(2024年秋季新版教材)
- 2024年共青團(tuán)入團(tuán)積極分子考試題庫(kù)(含答案)
- 碎屑巖油藏注水水質(zhì)指標(biāo)及分析方法
- 【S洲際酒店婚禮策劃方案設(shè)計(jì)6800字(論文)】
- 鐵路項(xiàng)目征地拆遷工作體會(huì)課件
- 醫(yī)院死亡報(bào)告年終分析報(bào)告
- 中國(guó)教育史(第四版)全套教學(xué)課件
- 2023年11月英語(yǔ)二級(jí)筆譯真題及答案(筆譯實(shí)務(wù))
評(píng)論
0/150
提交評(píng)論