Delphi超市管理系統(tǒng)_第1頁
Delphi超市管理系統(tǒng)_第2頁
Delphi超市管理系統(tǒng)_第3頁
Delphi超市管理系統(tǒng)_第4頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、精選文庫第1章概述1.1課題研究的背景與意義系統(tǒng)的應用背景自從我國成功加入 WTO 以后,隨著信息化浪潮的日益臨近, 超市的經(jīng)營管理機制也正在發(fā)生著巨大的變化,超市要想在激烈的市場競爭環(huán)境下生存下來,就必須有效地利用人才和時間以及信息,使它們相結合而產(chǎn)生優(yōu)勢,并進行有效的超市內(nèi)部的改革以及倉庫的管理。因此,借助現(xiàn)代化的信息技術和管理的理論,建立超市的信息管理系統(tǒng)已經(jīng)迫在眉睫。本系統(tǒng)根據(jù)商品管理的業(yè)務的范圍和工作的特點,給系統(tǒng)設計了包括商品經(jīng)營管理、人員管理、商情信息管理等,能夠及時、準確地反映超市經(jīng)濟活動狀態(tài),成為超市內(nèi)各級管理人員的有力工具。這樣可以大大的減輕超市工作人員的工作量,并且全面的

2、提高超市倉庫管理的管理效率和服務質量,它操作很方便,并且功能齊全,給用戶節(jié)省了不少的寶貴時間,將使超市的管理水平和業(yè)務水平躍上新的臺階。系統(tǒng)的開發(fā)意義前些年,企業(yè)的進貨管理主要都是采用手工管理,而這幾年,隨著我國社會主義市場經(jīng)濟體制的鞏固和發(fā)展,在商業(yè)的流通領域產(chǎn)生了一個空前的發(fā)展階段,而面對商界的激烈的競爭,很多企業(yè)規(guī)模的不斷擴大,并且經(jīng)營項目的不斷增加,使得手工的管理已經(jīng)不能夠滿足企業(yè)發(fā)展的需要了。而由于每天的銷售量的增加,導致進貨的次數(shù)變得頻繁。而進貨次數(shù)的增加,就不免在業(yè)務上、財務上會出現(xiàn)大量的問題,進而會造成庫存數(shù)目的混亂,并最終導致管理混亂,形成一個惡性的循環(huán)。所以為了規(guī)范企業(yè)的內(nèi)

3、部管理,并提高企業(yè)的業(yè)務管理水平,而讓企業(yè)更好地服務于顧客,人們開始想用計算機來代替手工操作管理業(yè)務1 。這次系統(tǒng)的開發(fā),主要包括基礎信息管理、采購信息管理和系統(tǒng)輔助管理三大模塊?;A信息管理主要是對系統(tǒng)中要用到一些基礎信息進行維護和管理;采購信息管理主要是對采購業(yè)務進行管理;系統(tǒng)輔助管理主要有系統(tǒng)數(shù)據(jù)備份和用戶賬號管理兩大功能。本信息管理系統(tǒng)的使用,使得企業(yè)的組織結構更加的簡化,使得傳統(tǒng)的企業(yè)中的物價、核算等部門的工作完全被計算機相關功能代替,這樣,就節(jié)省了這些部門的設備和人工費用的支出。從而使企業(yè)獲得更大的經(jīng)濟效益。-2 。精選文庫1.2系統(tǒng)開發(fā)的實驗基礎與理論基礎系統(tǒng)開發(fā)的實驗基礎對于技

4、術的可行性:開發(fā)連鎖超市信息管理系統(tǒng)(基于 Delphi),要求開發(fā)人員都能夠熟練的運用 Delphi 等編程語言。目前的技術人員已經(jīng)掌握了這些編程語言。所以,本次系統(tǒng)的開發(fā)在技術上是可行的。對于時間的可行性:開發(fā)的時間大概需要四個月左右。前三個月,主要用于系統(tǒng)的分析、設計、實現(xiàn),而后面的時間則主要用于調(diào)試工作。對于資金的可行性:因為目前已有電腦設備,為開發(fā)工作提供了所需的硬件基礎,所以在開發(fā)資金方面也是可行的。系統(tǒng)開發(fā)的理論基礎信息管理系統(tǒng)是一個信息化、智能化以及具有先進管理理念的集合體。但是由于管理它是一個動態(tài)的過程,所以在它的運行過程中還需要采取多種措施在管理中獲得的經(jīng)濟效益是一種綜合的

5、效益,而要對它來進行直接的定量的分析是非常困難的,對于一般的新系統(tǒng),它們帶來的經(jīng)濟效益是明顯的,而信息管理系統(tǒng)最主要的表現(xiàn)就是減少了企業(yè)的管理費用和人力資源的開支。對于其它的一些繁瑣事物將都通過系統(tǒng)來加以分析和解決,這樣就不僅節(jié)省了大量的時間,而且還為企業(yè)的各項決策提供了可信的數(shù)據(jù)材料,必將為企業(yè)帶來巨大的經(jīng)濟效益3 。1.3本文主要內(nèi)容及組織結構主要內(nèi)容由于連鎖超市信息管理系統(tǒng)的工程量很大,本文只對其子系統(tǒng)基礎信息管理系統(tǒng)進行詳細的研究和開發(fā)?;A信息管理系統(tǒng)的主要組成模塊包括:登錄模塊、基礎信息設置模塊、采購信息設置模塊和系統(tǒng)輔助管理模塊。對這些模塊進行了詳細的分析設計與實現(xiàn),并進行了測試

6、工作,最后結果顯示是可行的。因為傳統(tǒng)的基礎信息管理是使用的各類表單來記錄的數(shù)據(jù),到最后還需要盤點或者統(tǒng)計,這樣是十分耗費時間和人力的。而采用基礎信息管理系統(tǒng)對貨物的進出的情況進行管理,則可以非常方便地做好各類統(tǒng)計,并且給生產(chǎn)和銷售人員及時提供相關貨物信息4。這個系統(tǒng)主要實現(xiàn)了基礎信息管理的自動化,其中主要包括商品的添加、刪除、查詢和修改的操作,以及廠商和職員的相關信息的管理,例如:對于廠商的信息管理、職員所-精選文庫屬部門的管理。這個系統(tǒng)使用了 SQL Server2000作為后臺的數(shù)據(jù)庫來管理系統(tǒng),并且在前端使用了 ADO 組件來訪問實際的數(shù)據(jù)庫內(nèi)容。組織結構第一章 概述,介紹本系統(tǒng)的研究背

7、景,超市信息管理系統(tǒng)的發(fā)展趨勢,本系統(tǒng)開發(fā)的意義以及系統(tǒng)開發(fā)的基礎。第二章 開發(fā)技術分析與研究, 包括系統(tǒng)開發(fā)模式分析, 開發(fā)工具 Delphi 概述, Delphi 中常用組件的屬性及事件,數(shù)據(jù)庫組件的用法, ADO 組件的用法等。第三章 系統(tǒng)的概要設計及分析,包括系統(tǒng)功能模塊設計,系統(tǒng)流程分析。第四章 系統(tǒng)的詳細設計與實現(xiàn),包括數(shù)據(jù)庫的設計,系統(tǒng)工程框架的創(chuàng)建,基礎數(shù)據(jù)模塊設計,采購信息管理模塊設計,系統(tǒng)輔助管理模塊設計。第五章 系統(tǒng)的測試,包括系統(tǒng)的運行流程,系統(tǒng)各個窗體的詳細測試。-精選文庫第 2章開發(fā)技術分析與研究2.1開發(fā)模式的分析目前,用于信息管理系統(tǒng)的開發(fā)工具有很多,如開發(fā)本系

8、統(tǒng)所用到的Delphi ,此外,還有諸如 VB 、VC 、ASP.net等等,而使用 Delphi 開發(fā)信息管理系統(tǒng)的優(yōu)點就是,它的界面很容易實現(xiàn),語法結構也較簡單,而它的缺點就是不能很好的實現(xiàn) B/S 或者 C/S 的模式,而相比之下, ASP.net的優(yōu)點就是比較容易實現(xiàn)B/S 模式,這些都是由語言自身的特點來決定的。如今,在國內(nèi)外比較流行的兩種開發(fā)模式分別是:B/S 模式和 C/S 模式。 B/S是 Brower/Server 的縮寫,客戶機上只要安裝一個瀏覽器( Browser),如 Netscape Navigator 或 Internet Explorer,服務器安裝 Oracle

9、、Sybase、Informix 或 SQL Server 等數(shù)據(jù)庫。瀏覽器通過 Web Server 同數(shù)據(jù)庫進行數(shù)據(jù)交互; C/S 是 Client/Server 的縮寫,服務器通常采用高性能的 PC、工作站或小型機, 并采用大型數(shù)據(jù)庫系統(tǒng),如 Oracle、 Sybase、 Informix 或 SQL Server??蛻舳诵枰惭b專用的客戶端軟件。C/S 架構的優(yōu)點主要是:第一、其應用服務器運行數(shù)據(jù)的負荷比較輕。第二、它的數(shù)據(jù)的儲存管理功能是比較透明的。但是C/S 架構軟件的缺點是:其維護的成本比較大且投資也比較大,其次,對于傳統(tǒng)的 C/S 結構的軟件,需要對不同的操作系統(tǒng)開發(fā)不同版本

10、的軟件,而由于產(chǎn)品的更新?lián)Q代速度非???,帶來很大的更新工作要做。所以,它的代價是很高的,相對很低的效率使得其已經(jīng)不適應工作的需要了。特別是在像 JAVA 這樣的跨平臺語言出現(xiàn)了以后, B/S 架構模式更是強烈的沖擊了 C/S 架構,并且對它形成了巨大的挑戰(zhàn)。 B/S 架構軟件的優(yōu)點主要是:第一、其維護和升級方式比較簡單,第二、它的成本降低了,使得選擇變得更多一些 5 。本系統(tǒng)是一個 C/S 模式的系統(tǒng),本系統(tǒng)使用了 Delphi7.0 的許多面向對象的組件,比如: ADODataSet 組件、 ADOtable 組件等,系統(tǒng)中還有 SQL 命令語句的應用、跨表的查詢、分組的統(tǒng)計以及分組篩選等關

11、鍵技術。還有諸如建立主副明細表等等相關技術。要讓系統(tǒng)的管理具有良好的可操作性,系統(tǒng)的功能具有可擴充性,并且盡量使系統(tǒng)的功能完善,這就是設計軟件系統(tǒng)的核心思想6 。用戶在進入系統(tǒng)之前都要進行權限的檢測,而在執(zhí)行各大模塊的相關功能時侯,也需要對操作的權限進行判定和限制,系統(tǒng)的幾個模塊之間的關系也是密切的聯(lián)系的 7 。-精選文庫2.2開發(fā)工具 Delphi 7.0概述世界著名的 Borland 公司開發(fā)的 Delphi 7.0 是一種可視化的軟件開發(fā)工具為我們提供了一種方便、快捷的Windows 應用程序開發(fā)工具,它使用了MicrosoftWindows 圖形用戶界面的許多先進特性和設計思想。Del

12、phi 被稱為是第四代的編程語言,因為它具有簡單、高效、功能強大等特點。我們把Delphi 和 VC 相比,Delphi 更簡單、更易于掌握,而在功能上面卻是絲毫不遜色的; 和 VB 相比,Delphi功能更強大、更實用。可以說 Delphi 同時兼?zhèn)淞?VC 功能強大的特點和 VB 簡單易學的特點。 Delphi 一直都是程序員最喜歡的編程工具。對于 Delphi 它具有以下的特點,它是基于窗體的和采用了面向對象的方法,其擁有高速的編譯器,并且還有強大的數(shù)據(jù)庫支持,它與 Windows 平臺編程緊密的結合,還有成熟的組件技術。然而最重要的還得是 Object Pascal語言,它才是一切的根

13、本。 Object Pascal語言是在 Pascal語言的基礎之上發(fā)展起來的,它簡單易學8 。在 Delphi 語言中,提供了多種開發(fā)工具,其中包括集成環(huán)境、圖像編輯,還有各種開發(fā)數(shù)據(jù)庫的應用程序, 比如:DeskTopDatabase Expert等。并且除此之外,Delphi 還允許用戶掛接其它的應用程序開發(fā)工具, 比如:掛接 Borland 公司的資源編輯器 Resourse Workshop等。 Delphi 有很多的優(yōu)勢,特別是它在數(shù)據(jù)庫方面的特長顯得特別突出,因為它適應于多種數(shù)據(jù)庫的結構,它不僅適合客戶機 /服務器模式,它還支持多層數(shù)據(jù)結構模式,它擁有高效率的數(shù)據(jù)庫管理系統(tǒng)以及新

14、一代的先進的數(shù)據(jù)庫引擎,它還具有最新的數(shù)據(jù)分析手段,并且其還提供了大量的企業(yè)組件供開發(fā)者使用。2.3 Delphi中常用組件通用屬性及事件Delphi 中每個組件都有自己的屬性、事件和方法,而可視組件存在著一些共性的屬性和事件??梢暯M件的通用屬性如表 2-1 所示。表 2-1 通用屬性屬性設置說明適用于大部分組件。當組件的父窗口的大小發(fā)生變化時,該屬性值描述了組件的各邊與父窗口邊框的位置。參數(shù)有akLeft , akTop,AnchorsakBottom 和 akRight,把這些參數(shù)值設為True 后,分別說明組件的左邊、上邊、底邊和右邊相對父窗口的左、上、底、右邊框的距離不變BorderW

15、idth適用于窗口組件,定義窗口組件的寬度BoundsRect適用于所有組件,定義組件的邊框矩形,只用于運行時-精選文庫Caption適用于大部分組件,說明組件的標題Constraints適用于所有組件,確定組件改變大小時的最大尺寸和最小尺寸Color適用于大部分組件,確定組建的表面或者背景顏色Enable適用于所有組件,確定組件的功能是否被禁用Font適用于所有組件,確定組件內(nèi)字體Name適用于所有組件,組建的名稱,要區(qū)別于 CaptionPopupMenu適用于所有組件,定義當用戶在組件上單擊鼠標右鍵時的彈出菜單Visible適用于所有組件,確定組件是否可見可視組件的通用事件如表 2-2

16、所示。表 2-2 通用事件屬性設置說明OnChange適用于多數(shù)組件,在對象或其內(nèi)數(shù)據(jù)發(fā)生變化時,如編輯框中的文本發(fā)生改變時OnClick適用于多數(shù)組件,此事件發(fā)生在用戶鼠標左鍵單擊組件時OnDblClick適用于多數(shù)組件,此事件發(fā)生在用戶鼠標雙擊組件時OnEnter適用于所有組件,此事件發(fā)生在當此組件為激活狀態(tài)時OnExit適用于所有組件,此事件發(fā)生在當此組件失去焦點時2.4數(shù)據(jù)庫控件的用法Delphi 使用可視化的控件創(chuàng)建數(shù)據(jù)庫應用程序,數(shù)據(jù)庫控件都具備一定的屬性,程序設計人員在設計過程中設置控件的多種屬性,也可以在程序運行過程中通過程序來設置部件的各種屬性??丶氖褂肁DO 控件又稱 A

17、DO 組件,最常用的ADO 對象是連接( Connection)、命令( Command)和數(shù)據(jù)集( RecordSet)對象,這些對象被相應的封裝成為對應的控件放置在 ADO 控件面板上, ADO 控件板如圖 2-1 所示。圖 2-1 ADO 數(shù)據(jù)集訪問控件板在 Delphi 的 ADO 面板中一共有 7 個主要組件,它們分別是:(1)ADOConnection 組件: ADOConnection 組件封裝了 ADO 連接對象,利用 ADOConnection 組件來連接 ADO 數(shù)據(jù)存儲。通過設置組件的屬性,使得單個ADOConnection 組件所提供的連接可以被多個ADO命令或數(shù)據(jù)集所

18、共享。-精選文庫ADOConnection 組件允許客戶端控制數(shù)據(jù)存儲的屬性和條件。 使用 ADOConnection 組件可以控制記錄枷鎖、記錄指針類型、隔離級別和連接超時等。該組件在它所連接的數(shù)據(jù)庫中提供事務管理和恢復原數(shù)據(jù)等操作。( 2) ADOdataSet 組件: ADOdataSet 組件時最常用的ADO 數(shù)據(jù)集組件。ADOdataSet 組件具有從一個或多個 ADO 數(shù)據(jù)源中找到結果集的功能。結果集可以直接從數(shù)據(jù)表中讀取,也可以通過 SQL 語句從一個或多個數(shù)據(jù)表得到。在使用之 前 , 必 須 連 接 ADOdataSet 組 件 至 某 個 數(shù) 據(jù) 源 。 可 以 通 過 該

19、組 件 的 ConnectionString 屬 性寫 入相 關連 接 字符 ,也 可以在連 接屬 性中 指定 通過 ADOConnection 組件已經(jīng)建立的連接。使用 ADOdataSet 組件的 CommandText 屬性找到所需的數(shù)據(jù)集,可以指定一個數(shù)據(jù)表名,也可以寫入 SQL 語句(只限于 Select 查詢語句)。ADOdataSet 組件沒有處理 SQL 語句的數(shù)據(jù)操縱語言的功能,因為它不能返回結果集。(3)ADOtable 組件:ADOtable 組件主要是用于操作和提取單個基表的數(shù)據(jù), ADOtable 組件也可以直接連接到數(shù)據(jù)庫, 還可以通過 ADOConnection

20、連接到數(shù)據(jù)庫。(4)ADOquery 組件: ADOquery 組件用來在底層的 ADO 數(shù)據(jù)源中應用 SQL 語言。使用該控件可以訪問多個表。使用 Select 語句從 ADO 數(shù)據(jù)源的數(shù)據(jù)表中讀取數(shù)據(jù)。在 ADO 數(shù)據(jù)源的數(shù)據(jù)表或其他源數(shù)據(jù)對象中執(zhí)行 Insert、Delete、Update、 Alter Table 以及 Create Table等操作。(5)ADOStoredProc 組件:當客戶機端應用程序要使用數(shù)據(jù)庫中的存儲過程時,要使用 ADOStoredProc 組件。一個存儲過程是一組 SQL 命令語句的集合,作為源數(shù)據(jù)的一部分存儲在數(shù)據(jù)庫中,根據(jù)服務器上與數(shù)據(jù)庫相關的任務指

21、示執(zhí)行,并把執(zhí)行結果返回給客戶端。(6)ADOCommand 組件: ADOCommand 組件描述了 ADO 命令對象。利用 ADOCommand 空間可以通過 ADO 提供者來實現(xiàn)數(shù)據(jù)存儲。 ADOCommand 組件執(zhí)行的是 CommandText屬性中的指定的命令,命令可能在執(zhí)行過程中需要某些參數(shù),如果命令包括有關參數(shù),則必須在 Parameters屬性中指定,命令通過調(diào)用 Execute 方法執(zhí)行有關命令。 ADOCommand 組件使用組件對象去連接一個數(shù)據(jù)源(通過它的連接屬性)或者直接連接到數(shù)據(jù)源,前提是連接信息在 ConnectionString 屬性中被指定。 ADOComm

22、and 組件常常被用于執(zhí)行 SQL 命令或者執(zhí)行一個不返回結果集的存儲過程。通過執(zhí)行 ADOCommand 組件的 Execute 方法可能返回一個結果集。為了使用這些結果集,需要一個獨立的 ADO 數(shù)據(jù)集組件。(7)RDSConnection 組件: RDSConnection 組件是連接一個進程或一臺計算機傳遞到另一個進程或計算機的數(shù)據(jù)集合。-精選文庫控件與 TDBGrid 控件TdataSource控件與 TDBGrid 控件在數(shù)據(jù)庫開發(fā)中經(jīng)常是成對出現(xiàn)的。 作為數(shù)據(jù)感應控件, TDBGrid 控件的主要作用是通過 TdataSource 控件連接數(shù)據(jù)集(如TADOQuery ),以各種

23、方式顯示數(shù)據(jù)庫中的數(shù)據(jù),并提供客戶端瀏覽的界面。TdataSource 控件時不可視的,是聯(lián)系數(shù)據(jù)感應控件(TDBGrid )和數(shù)據(jù)集( TADOQuery)的橋梁,它位于數(shù)據(jù)訪問控件板上,如圖2-2 所示。TdataSource控件對象圖 2-2 數(shù)據(jù)訪問控件板及 TdataSource 控件通過查看控件 TdataSource的 State 屬性值可以確定與一個數(shù)據(jù)源控件相連的數(shù)據(jù)集控件的當前狀態(tài)。數(shù)據(jù)集控件的當前狀態(tài)表明了對數(shù)據(jù)集的相應操作。利用數(shù)據(jù)源控件可以更好的協(xié)調(diào)各個數(shù)據(jù)感應控件,保持和數(shù)據(jù)集的一致,一般來說對 TdataSource編寫代碼很少。使用時設置好DataSet屬性之后

24、,即可以將 TdataSource控件指定為數(shù)據(jù)感應控件的 DataSource屬性值。TDBGrid 控件是顯示和編輯數(shù)據(jù)庫中表的重要控件,它是在數(shù)據(jù)庫應用程序中使用最多最為靈活的一個控件,利用該控件可以設計一個靈活的用戶界面。控件與 TDataSetProvider控件對數(shù)據(jù)庫的操作封裝成類后,使用 TClientDataSet 控件和 TDataSetProvider控件來顯示數(shù)據(jù)的查詢結果就很方便。通過 TClientDataSet 控件可以建立客戶端的應用程序,且數(shù)據(jù)執(zhí)行效率較高,但 TClientDataSet 控件不能和數(shù)據(jù)庫自動連接,程序中必須指定TClientDataSet

25、控件如何獲取數(shù)據(jù)。一般情況下, TClientDataSet 控件獲取數(shù)據(jù)的方式主要有三種:從本地文件中獲取、從本地的另外一個數(shù)據(jù)集對象中獲取以及通過IAppServer 接口來獲取。 在實際應用 TClientDataSet 控件時一般使用控件的屬性較多, 而該控件的事件很少應用。TDataSetProvider 控件基于數(shù)據(jù)集為應用程序中的其他控件提供數(shù)據(jù),并將對數(shù)據(jù)的更新傳回數(shù)據(jù)集或者數(shù)據(jù)集相關的數(shù)據(jù)庫服務器。TDataSetProvider控件通常用于為 TClientDataSet 控件提供數(shù)據(jù), 可以是應用程序的一部分, 也可以被放置在多層數(shù)據(jù)庫應用服務器上,以充做遠程數(shù)據(jù)庫服務器

26、和客戶端數(shù)據(jù)集的中介。-精選文庫2.5本章小結本章是對系統(tǒng)開發(fā)技術分析與研究,在開發(fā)模式上采用C/S 架構,并對開發(fā)工具 Delphi 進行了深入的研究。本系統(tǒng)使用 SQL Server2000作為后臺的數(shù)據(jù)庫來管理系統(tǒng), 在前端使用 ADO 組件來訪問實際的數(shù)據(jù)庫內(nèi)容。 所以對基本的 SQL 語句需要熟悉, 比如添加、查詢、修改和刪除記錄語句等等。而對 Delphi 中的數(shù)據(jù)庫組件的使用,也需要了解掌握。這些都是本系統(tǒng)中需要使用的相關知識,熟練運用這些知識,有利于系統(tǒng)的設計與開發(fā)。-精選文庫第 3章系統(tǒng)概要設計及分析3.1系統(tǒng)功能模塊設計基礎信息管理系統(tǒng)的主要組成模塊包括:登錄模塊、基礎信息

27、設置模塊、采購信息設置模塊和系統(tǒng)輔助管理模塊四大模塊。最終實現(xiàn)功能模塊如圖3-1 所示。超市管理信息系統(tǒng)基采系礎購統(tǒng)數(shù)信輔據(jù)息助設管管置理理商廠職進廠系用品商員貨單統(tǒng)戶基基基價錄數(shù)賬本本本格入據(jù)號信信信控備管息息息制份理圖 3-1系統(tǒng)功能模塊圖1.基礎信息管理基礎信息管理主要是對系統(tǒng)中要用到一些基礎信息進行維護和管理,包括商品基本信息、廠商基本信息和職員基本信息?;拘畔⒐芾硪獙崿F(xiàn)以下的功能:添加、刪除、查詢和修改商品基礎信息,包括商品編號、商品名稱、供應商編號和商品重量等。添加、刪除、查詢和修改廠商基礎信息,包括商品的供應商信息,包括廠商編號、廠商名稱,廠商地址、聯(lián)系方式等。添加、刪除、查詢

28、和修改職員基礎信息,包括職員的編號、名稱、所在部門、-精選文庫聯(lián)系方式等。2.采購信息管理采購信息管理主要是對采購業(yè)務進行管理,包括采購業(yè)務中所涉及到的價格控制、詢價以及廠單的錄入。采購信息管理要實現(xiàn)的功能有:進貨價格控制,通過錄入進貨價格和價格參數(shù)指定商品的銷售價格;廠單信息錄入,對采購的商品信息進行錄入操作。3.系統(tǒng)輔助管理系統(tǒng)輔助管理主要有系統(tǒng)數(shù)據(jù)備份和用戶賬號管理兩大主要功能。3.2系統(tǒng)流程分析第一、用戶啟動系統(tǒng),系統(tǒng)首先將進行初始化。第二、系統(tǒng)將激活登陸口令界面,供用戶進行登錄驗證。第三、驗證成功后,用戶便進入系統(tǒng),根據(jù)管理的需要,超市管理信息系統(tǒng)有系統(tǒng)管理員和普通用戶兩種登錄賬號,

29、不同的登錄賬號具有不同的操作權限,系統(tǒng)將通過事件驅動機制來激活相應的功能模塊,并且執(zhí)行其相應的功能。系統(tǒng)流程圖如圖 3-2 所示啟動程序重新登錄驗證失敗用戶登錄1.查詢基礎數(shù)據(jù),包括商品信息、廠商信息和職員信息普通用戶2.查詢商品價格信息用戶權限3.查詢單據(jù)信息4.進行銷售排行統(tǒng)計5.修改自己的賬號1.可以進行基礎數(shù)據(jù)、采購信息、銷售信息的添加、 修改、系統(tǒng)管理員刪除和查詢操作2.管理所有用戶賬號3.系統(tǒng)數(shù)據(jù)備份圖 3-2系統(tǒng)流程圖-精選文庫3.3本章小結本章是對超市信息管理系統(tǒng)的概要設計,畫出了系統(tǒng)功能模塊圖,對系統(tǒng)的處理流程做了一些分析。對于系統(tǒng)的功能模塊設計,依照需求分析,將系統(tǒng)分為四大

30、主要模塊:分別是登錄模塊、基礎信息設置模塊、采購信息設置模塊和系統(tǒng)輔助管理模塊四大模塊。并且對每個模塊的內(nèi)部做了具體的設計,每個模塊包含那些子模塊,都進行了分析。-精選文庫第 4章系統(tǒng)的詳細設計與實現(xiàn)4.1數(shù)據(jù)庫設計數(shù)據(jù)庫設計包括超市管理信息系統(tǒng)數(shù)據(jù)庫的創(chuàng)建、數(shù)據(jù)庫邏輯結構的設計。創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫可以在企業(yè)管理器中直接創(chuàng)建,也可以在查詢分析器中通過輸入代碼來創(chuàng)建,在查詢分析器中輸入以下代碼:CREATE DATABASE TradeMGON(NAME=TradeMG,/設置數(shù)據(jù)庫名稱/以下設置數(shù)據(jù)數(shù)據(jù)文件的路徑、大小FILENAME= C:ProgramFilesMicrosoft SQL S

31、erverMSSQLdataTradeMG.MDF ,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=10MB)/以下設置數(shù)據(jù)庫日志文件的路徑、大小LOG ON(NAME=TradeMG_LOG,FILENAME= C:ProgramFilesMicrosoft SQL ServerMSSQLdataTradeMG_LOG.LDF ,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=5MB)數(shù)據(jù)庫邏輯結構設計根據(jù)系統(tǒng)設計的要求對數(shù)據(jù)庫的邏輯結構進行設計。設計時既要考慮到前面的系統(tǒng)設計階段提出的要求,又要考慮到數(shù)據(jù)庫設計的一些規(guī)則,如關鍵字的設-精選文庫置和

32、外鍵的設置等。本系統(tǒng)包含9 張表:商品信息表(COMINFO )、商品銷售價格控制表( SALEPRICE )、商品進貨價格控制表 (PURPRICE)、廠商信息表(CORPINFO)、客單信息明細表( CUSTLISTINFO )、廠單信息主表( CORPLIST)、廠單信息明細表( CORPLISTINFO )、職員信息表(OPERINFO)和用戶賬號表 (USERTABLE)。(1)商品信息表 COMINFO ,記錄商品的主要信息,結構如表4-1 所示。表 4-1 表 COMINFO的結構編號字段名稱數(shù)據(jù)類型說明1COMIDVarchar(10)商品編號,關鍵字2COMNAMEVarch

33、ar(20)商品名稱3UNITVarchar(6)商品單位4WEIGHTFloat商品重量5CORPIDVarchar(3)廠商編號6REMARKVarchar(255)備注(2)商品銷售價格控制表 SALEPRICE ,對商品的銷售價格進行設置。結構如表 4-2 所示。表 4-2 表 SALEPRICE的結構編號字段名稱數(shù)據(jù)類型說明1COMIDVarchar( 10)商品編號,關鍵字2OUTPRICEMAXFloat最大銷售價格3OUTPRICEMINFloat最小銷售價格(3)商品進貨價格控制表 PURPRICE,是對商品的進貨價格及其允許的利潤率進行設置,結構如表 4-3 所示。表 4-

34、3 表 PURPRICE的結構編號字段名稱數(shù)據(jù)類型說明1COMIDVarchar( 10)商品編號,關鍵字2INPRICEFloat進貨價格3RATEMAXFloat最大利潤率4RATEMINFloat最小利潤率( 4)廠商信息表 CORPINFO,記錄商品所對應廠商的基本信息,結構如表 4-4 所示。表 4-4 表 CORPINFO的結構編號字段名稱數(shù)據(jù)類型說明1CORPIDVarchar(3)廠商編號,關鍵字2CORPNAMEVarchar(30)廠商名稱3LINKMANVarchar(10)聯(lián)系人4LINKPHONEVarchar(12)聯(lián)系電話5ADDRESSVarchar(50)地址

35、6FAXVarchar(12)傳真-精選文庫(5)銷售信息表 CUSTLISTINFO ,主要記錄商品的銷售情況,結構如表 4-5 所示。表 4-5 表 CUSTLISTINFO的結構編號字段名稱數(shù)據(jù)類型說明1RECORDNOInt記錄號,關鍵字2COMIDVarchar( 10)商品編號3COMNUMInt商品數(shù)量4MONEYFloat金額5OPERATORVarchar( 10)經(jīng)手人6DATEDatetime銷售日期(6)廠單信息主表 CORPLIST ,廠單是指進貨時與商品附在一起的單據(jù),其主要內(nèi)容有兩項:廠單主信息和廠單明細信息。廠單主信息是指廠單信息主表所記錄的信息,廠單信息主表的

36、結構如表 4-6 所示。表 4-6 表 CORPLIST的結構編號字段名稱數(shù)據(jù)類型說明1CORPLISTIDVarchar(12)廠單編號,關鍵字2CORPLISTDATEDatetime進貨日期3OPERATORVarchar(10)經(jīng)手人4CORPIDVarchar(3)廠商編號5GIVEDATEDatetime支付日期( 7)廠單信息明細表 CORPLISTINFO ,主要紀錄廠單明細信息,結構如表 4-7 所示。表 4-7 表 CORPLISTINFO的結構編號字段名稱數(shù)據(jù)類型說明1RECORDNOInt記錄號,關鍵字2CORPLISTIDVarchar( 12)廠單編號3COMIDV

37、archar( 10)商品編號4COMNUMInt商品數(shù)量5MONEYFloat金額6COMTIMESVarchar( 5)商品進貨批次號(8)職員信息表 OPERINFO,主要記錄公司職員的基本信息,結構如表 4-8 所示。表 4-8 表 OPERINFO的結構編號字段名稱數(shù)據(jù)類型說明1OPERIDVarchar( 5)職員編號,關鍵字2OPERNAMEVarchar( 10)職員姓名3DEPARTMENTVarchar( 20)所在部門4LINKPHONEVarchar( 12)聯(lián)系電話(9)用戶賬號表 USERTABLE ,主要是對不同級別賬號進行設置,結構如表 4-9 所示。-精選文庫

38、表 4-9 表 USERTABLE的結構編號字段名稱數(shù)據(jù)類型說明1USERNAMEVarchar( 20)用戶名2USERPWDVarchar( 20)用戶密碼3USERLEVELVarchar( 15)用戶級別4.2系統(tǒng)工程框架的創(chuàng)建系統(tǒng)框架包括創(chuàng)建工程項目、啟動畫面、登錄窗體、數(shù)據(jù)結構的實現(xiàn)、系統(tǒng)主界面和工程項目的屬性設置等。創(chuàng)建工程項目及數(shù)據(jù)庫連接類工程項目創(chuàng)建的工程名為TradeMG.dpr。數(shù)據(jù)庫連接類可以通過拖放控件直接實現(xiàn),選擇FileNewData Module9 ,將該 Data Module 取名為 Trade_DateMod,其界面布局如圖4-1 所示。圖 4-1 Tra

39、de_DataMod 的界面布局圖Trade_DataMod 中使用的控件及其屬性設置如表4-10 所示。表 4-10數(shù)據(jù)庫連接類使用的控件及其屬性設置對象屬性屬性值Adocon(ADOConnection 控件 )ConnectionString( 連接到服務器上的TradeMG 數(shù)據(jù)庫上 )Report_ado1(ADOQuery 控件 )ConnectionAdoconDsp1(DataSetProvider 控件 )DataSetAdoq1Adoq1(ADOQuery控件 )ConnectionAdoconAdoq2(ADOQuery控件 )Connectionadocon數(shù)據(jù)表操作類

40、的設計本系統(tǒng)中,對數(shù)據(jù)庫的連接和操作都被封裝成類,類名都以大寫的 “ T”開頭,-精選文庫后面加上對應數(shù)據(jù)表名,類的單元文件名為數(shù)據(jù)表名后加上后綴名“ _unit”,例如數(shù)據(jù)表名為 cominfo ,對應的類名為 Tcominfo,對應的單元文件為 cominfo_unit 。每張數(shù)據(jù)表的操作都可以封裝到對應類的方法和過程中,在使用類時要先實例化,使用完后要將實例釋放。創(chuàng)建啟動畫面新建窗體 Firstfrm 作為啟動畫面,啟動畫面中控件的設置如表4-11 所示。表 4-11 窗體 Firstfrm的控件使用及其設置對象屬性屬性取值FormNameFirstfrmBorderStylebsNon

41、eLabel1Caption超市信息管理系統(tǒng)Label2Caption正在啟動系統(tǒng),請稍候 Label3CaptionImage1Picture(選取準備好的圖片)AlignalClient在窗體的 OnCreate事件中輸入以下代碼, 以在啟動畫面上顯示啟動時的日期:Label3.Caption:='今天是 '+datetostr(now);打開“ Project”菜單,選擇“ View Source”項,在“ Application.Initialize; ”后添加以下內(nèi)容:Firstfrm:=tFirstfrm.Create(application); / 動態(tài)創(chuàng)建啟動畫

42、面Firstfrm.Show; / 顯示啟動畫面Firstfrm.Update ; /更新啟動畫面顯示sleep(2000); /調(diào)用 windows 函數(shù)所以要在 uses里加 windows接著在“ Application.Run; ”語句之前添加以下內(nèi)容。Firstfrm.Hide; / 隱藏啟動畫面Firstfrm.Free; /釋放啟動畫面創(chuàng)建登錄窗體新建窗體 Loginfrm 作為登錄窗體的界面,用戶通過在登錄窗體中輸入正確的用戶名和密碼后即可進入系統(tǒng)。登錄窗體的布局效果如圖4-2 所示。-精選文庫圖 4-2登錄窗體布局效果圖登錄窗體調(diào)用了 Tusertable類,因此要在窗體代碼

43、的 uses語句中添加 Tusertable 類的單元文件 usertable_unit。同時要在窗體代碼 private 下聲明該窗體所調(diào)用類的實例名:PrivateUsertable:Tusertable;登錄窗體中主要實現(xiàn)對登錄用戶賬號的驗證,該操作可以通過“確定”按鈕的 OnClick 事件來實現(xiàn),代碼如下:procedure TLoginfrm.Button1Click(Sender: TObject);varb1:bool;beginuser1:=Tusertable.create ;try / 判斷用戶名是否存在b1:=user1.UserRec(edit1.Text);exce

44、ptLoginfrm.Hide;databaselink.Show;exit;end;ifb1=falsethenbeginapplication.MessageBox('對不起,沒有這個用戶名!','提示: ',mb_ok);exit;endelsebegin-精選文庫if user1.GetUserPwd(edit1.Text)=edit2.Text then beginuserlevel:= user1.GetUserLevel(edit1.Text);if user1.GetUserLevel(edit1.Text)='系統(tǒng)管理員 ' t

45、hen beginLoginfrm.Hide ;mainfrm.Show;endelsebeginLoginfrm.Hide ;mainfrm.Show;end;endelsebeginapplication.MessageBox('對不起,你的密碼不對!','提示: ',mb_ok);edit2.SetFocus ;end;end;end;登錄系統(tǒng)時既要檢查用戶名是否存在,還要驗證密碼是否正確,并獲取用戶的權限供后面窗體調(diào)用。連接數(shù)據(jù)庫并創(chuàng)建用戶表新建窗體 databaselink作為連接數(shù)據(jù)庫并初始化數(shù)據(jù)表的用戶操作界面。初次運行系統(tǒng)時可以通過該用戶界面連接

46、到相應的數(shù)據(jù)庫,并對用戶數(shù)據(jù)表進行創(chuàng)建和初始化。窗體的布局效果如圖 4-3 所示。-精選文庫圖 4-3數(shù)據(jù)庫連接窗體數(shù)據(jù)庫連接窗體主要是連接數(shù)據(jù)庫并在指定數(shù)據(jù)庫里創(chuàng)建表。這里設計了用戶數(shù)據(jù)表生成文件 TradeTable.txt(創(chuàng)建數(shù)據(jù)表的腳本文件) ,連接數(shù)據(jù)庫時通過執(zhí)行該文件的代碼即可創(chuàng)建并初始化用戶數(shù)據(jù)表。創(chuàng)建用戶數(shù)據(jù)表的腳本語句存放在文本文件中,所以執(zhí)行這些腳本語句時需要讀取文本文件的內(nèi)容,函數(shù)代碼如下:function GetTextFromFile(AFile : String; var ReturnString : string) : boolean; varFileStrea

47、m : TFileStream;beginif not fileexists(AFile) then exit;FileStream := TFileStream.Create(AFile,fmOpenRead); tryif FileStream.Size > 0 thenbeginSetLength(ReturnString,FileStream.Size);FileStream.Read(ReturnString1,FileStream.Size);result := true;end;finallyFileStream.Free;end;end;讀出腳本語句后,程序需要連接數(shù)據(jù)庫

48、,并在指定的數(shù)據(jù)庫中執(zhí)行腳本以創(chuàng)建表,從而完成數(shù)據(jù)庫的初始化。該過程在連接數(shù)據(jù)庫窗體的“連接”按鈕中實現(xiàn),實現(xiàn)代碼如下:-精選文庫procedure Tdatabaselink.Button1Click(Sender: TObject); varstrCreateDB:string;beginuser1:=Tusertable.create ;trysetupfile:=tinifile.create(extractfiledir(application.ExeName)+'setup.ini'); setupfile.Writestring('system','USERNAME',edit1.Text); setupfile.Writestring('system','USERPWD'

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論