![小型倉庫管理系統(tǒng)的設(shè)計與實現(xiàn)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/d494d953-c155-4643-a76f-fd71c77ef9a2/d494d953-c155-4643-a76f-fd71c77ef9a21.gif)
![小型倉庫管理系統(tǒng)的設(shè)計與實現(xiàn)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/d494d953-c155-4643-a76f-fd71c77ef9a2/d494d953-c155-4643-a76f-fd71c77ef9a22.gif)
![小型倉庫管理系統(tǒng)的設(shè)計與實現(xiàn)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/d494d953-c155-4643-a76f-fd71c77ef9a2/d494d953-c155-4643-a76f-fd71c77ef9a23.gif)
![小型倉庫管理系統(tǒng)的設(shè)計與實現(xiàn)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/d494d953-c155-4643-a76f-fd71c77ef9a2/d494d953-c155-4643-a76f-fd71c77ef9a24.gif)
![小型倉庫管理系統(tǒng)的設(shè)計與實現(xiàn)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/d494d953-c155-4643-a76f-fd71c77ef9a2/d494d953-c155-4643-a76f-fd71c77ef9a25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院 畢業(yè)論文(設(shè)計)題 目 小型倉庫管理系統(tǒng)的設(shè)計與實現(xiàn)院 系 信息系 專 業(yè) 計算機網(wǎng)絡(luò)技術(shù)(3g技術(shù))姓 名 王帆 學(xué) 號 1007073140 學(xué)習(xí)年限 2010年9月至2013年6月 指導(dǎo)教師 沈曉娟 2013年 1月 5 日摘 要倉庫管理系統(tǒng)是典型的信息管理系統(tǒng)(mis management information system),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的數(shù)據(jù)庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。經(jīng)過分析,本人決定采用 sqlite 建
2、立數(shù)據(jù)庫后臺,使用eclipse開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具進行開發(fā)。本系統(tǒng)通過基本信息管理對供應(yīng)商、顧客和商品進行基本信息的管理。通過庫存管理進行商品的入庫出庫操作來完成商品信息的管理。經(jīng)過本人近兩個月的刻苦學(xué)習(xí)與實踐,如期完成了系統(tǒng)的開發(fā)工作,實現(xiàn)了倉庫管理系統(tǒng)一些基本功能。關(guān)鍵詞:信息管理系統(tǒng),數(shù)據(jù)庫,出庫,入庫abstractthe ware house management system is a typical application of managing information system (called mis),which mainly incl
3、udes building up data-base of back-end and developing the application interface of front-end. the former required consistency and integrality and security of data. the later should make the application powerful and easily used. by looking up lots of datum, i selected sqlite as database system and se
4、lected eclipse as programming tool to develop the system. the system managed suppliers、customers and commodities through basic information management. it managed commoditys warehouse entry and delivery of cargo from storage through inventory control to accomplish the management of the commoditys inf
5、ormation. for about two months hard work, i completed the system on time. i carried out the basic function of the ware house management system.keywords: management information system, database, warehouse entry, delivery of cargo from storage蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院目錄引言1第一章: 系統(tǒng)設(shè)計方案的研究21.1 系統(tǒng)的目標(biāo)21.2 可行性分析21.3 系統(tǒng)性能特
6、點及控制要求31.4 運行環(huán)境要求3第二章: 數(shù)據(jù)庫設(shè)計42.1 需求分析42.2功能模塊設(shè)計62.3 數(shù)據(jù)字典72.4 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計82.5 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計10第三章: 詳細(xì)設(shè)計153.1 數(shù)據(jù)庫連接153.2 主界面、菜單界面設(shè)計153.3 各模塊的功能及設(shè)計介紹16結(jié)束語33參考文獻(xiàn)34致謝36i引言倉庫管理wms(ware house management system)是本世紀(jì)中期發(fā)展起來的一門新興學(xué)科。它最早產(chǎn)生于二戰(zhàn)時期的美國,五十年代中期,倉庫概念傳入日本,并得到快速發(fā)展。時至今日,倉庫管理已成為西方企業(yè)管理中不可或缺的一部分,在許多國家得到了廣泛的研究與應(yīng)
7、用??偟恼f來,倉庫管理就是通過采購、倉儲、綜合、出庫、配送等活動,解決物資供需之間存在的時間、空間、數(shù)量、品種價格等方面的矛盾,以此銜接社會生產(chǎn)的各環(huán)節(jié),從而確保生產(chǎn)的順利進行。隨著社會經(jīng)濟的發(fā)展和工業(yè)生產(chǎn)的加速,倉庫的進出更為頻繁,倉庫信息更為重要。傳統(tǒng)倉庫管理完全由人來完成,以手工記錄為主,當(dāng)企業(yè)的物流業(yè)務(wù)成長到一定規(guī)模之后,隨著訂單數(shù)量的增加,客戶需求不斷個性化,執(zhí)行效率就成為物流發(fā)展的瓶頸,單純依靠人力資源的增加已不能提升出入庫執(zhí)行的速度,反而帶來成本的大幅度上升與差錯頻頻。計算機信息管理技術(shù)的迅速發(fā)展恰恰解決了這個問題,它使計算機技術(shù)與現(xiàn)代的管理技術(shù)相互配合,來更加準(zhǔn)確、高速地完成工
8、業(yè)企業(yè)日常的倉庫管理工作。使企業(yè)能夠以最少的人員來完成更多的工作。隨著我國市場經(jīng)濟的進一步開展,強大的信息保障,有力的電子化管理,使各大企業(yè)在國內(nèi)經(jīng)濟市場的大潮中把現(xiàn)代高科技的信息技術(shù)發(fā)揮的淋漓盡致。越來越多有遠(yuǎn)見的企業(yè)家,不惜重金從國外購買高新技術(shù),高的投資、合理的管理往往換來巨大的利潤。經(jīng)營的物質(zhì)技術(shù)手段由簡單落后轉(zhuǎn)變成高科技與人工手段并存,進而更多地將高科技應(yīng)用到零售商業(yè)。國內(nèi)實施wms的條件日益成熟。主要是物流業(yè)在過去的兩年里隨著國家經(jīng)濟的發(fā)展,而日新月異,現(xiàn)代一體化物流的管理思想日益為企業(yè)所接受,對倉庫有了新定位和認(rèn)識,從而對管理系統(tǒng)也提出了新的要求。而國外在此方面的技術(shù)已經(jīng)相當(dāng)成熟
9、。2第一章: 系統(tǒng)設(shè)計方案的研究1.1 系統(tǒng)的目標(biāo)倉庫管理系統(tǒng)的總目標(biāo)是:在數(shù)據(jù)庫和先進的開發(fā)平臺上,利用現(xiàn)有資源,開發(fā)一個體系結(jié)構(gòu)完善的、易擴充的、易維護的、具有良好人機交互界面的倉庫管理系統(tǒng),實現(xiàn)倉庫的計算機管理,提供完善的功能,為倉庫管理人員提供便利的工作方式。1.2 可行性分析1.2.1目的可行性分析的目的是對問題進行分析,以及根據(jù)對所選擇的開發(fā)工具的了解,分析是否可以開發(fā)出一個比較完善的倉庫管理系統(tǒng),較好地完成任務(wù)。1.2.2 可行性研究的前提(1)要求主要功能:實現(xiàn)倉庫的移動設(shè)備管理。性能要求:功能齊全,運行穩(wěn)定。輸出要求:數(shù)據(jù)完整,詳實。安全與保密要求:實行權(quán)限管理,防止數(shù)據(jù)遭到
10、破壞。(2)目標(biāo)系統(tǒng)實現(xiàn)后,提高倉庫管理人員的工作效率,降低其工作量、減少手工操作的差錯率、提高庫存的準(zhǔn)確率1.2.3 具體分析(1)eclipse是一個開放源代碼的,基于java的可擴展開發(fā)平臺。雖然大多數(shù)用戶很樂于將 eclipse 當(dāng)作 java 集成開發(fā)環(huán)境(ide)來使用,但 eclipse 的目標(biāo)卻不僅限于此。eclipse 還包括插件開發(fā)環(huán)境(plug-in development environment,pde),這個組件主要針對希望擴展 eclipse 的軟件開發(fā)人員,因為它允許他們構(gòu)建與 eclipse 環(huán)境無縫集成的工具。由于 eclipse 中的每樣?xùn)|西都是插件,對于給
11、 eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。只要將android的sdk以及adt導(dǎo)入至eclipse即可在此平臺上進行android軟件的開發(fā)編程。此次設(shè)計的倉庫管理系統(tǒng)是一個信息管理系統(tǒng),用eclipse進行開發(fā)是可行的。(2)android系統(tǒng)集成了一個輕量級的數(shù)據(jù)庫:sqlite,sqlite只是一個嵌入式的數(shù)據(jù)庫引擎,專門適用于資源有限的設(shè)備上(手機、pda等)適量數(shù)據(jù)存取。但是它支持絕大部分sql語法,也允許開發(fā)者使用sql語句操作數(shù)據(jù)庫中的數(shù)據(jù)。它可用于所有用戶的數(shù)據(jù)庫活動模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、應(yīng)用程
12、序員、決策支持系統(tǒng)人員及許多其他類型的終端用戶。基本的sql命令只需要很少時間就能學(xué)會,最高級的命令在幾天內(nèi)便可掌握。而此次設(shè)計的倉庫管理系統(tǒng)的是一個小型的信息管理系統(tǒng),對數(shù)據(jù)庫的要求并不是太高。所有用sqlite對倉庫管理系統(tǒng)的開發(fā)是可行的。1.3 系統(tǒng)性能特點及控制要求1.3.1 系統(tǒng)簡要描述本系統(tǒng)通過商品信息、客戶信息、供應(yīng)商信息管理商品、客戶、供應(yīng)商之間的關(guān)系;通過庫存管理功能實行商品的入庫,出庫操作,以及入庫商品和出庫商品的相關(guān)查詢。1.3.2 處理流程使用人員通過基本信息管理管理供應(yīng)商、顧客、商品的基本信息?;静僮靼ㄌ砑?、刪除、修改和查詢。系統(tǒng)訪問數(shù)據(jù)庫,并且完成用戶的這些操作
13、需求。以表單的形式顯示出來,方便用戶查看。用戶通過庫存管理來完成入庫和出庫操作,同樣,入庫操作和出庫操作也包括添加、刪除、修改和查詢。入庫商品信息和出庫商品信息也放在數(shù)據(jù)庫中,當(dāng)用戶有入庫和出庫操作時,系統(tǒng)訪問數(shù)據(jù)庫,生成入庫單和出庫單,以表單的形式顯示出來,方便用戶查看。處理流程如圖1-1所示:使用人員基本信息管理生成基本信息庫存管理數(shù)據(jù)庫生成入庫單生成出庫單圖 1-1處理流程 1.4 運行環(huán)境要求(1)硬件要求:cpu : 主頻 500mhz 或更高 內(nèi)存(ram): 最少64m,建議 128m 或更多 sdk: 250mb 或更多(2)軟件要求:android2.2操作系統(tǒng) 或更高版本第
14、二章: 數(shù)據(jù)庫設(shè)計所謂數(shù)據(jù)庫設(shè)計是指從對現(xiàn)行非計算機管理的數(shù)據(jù)庫系統(tǒng)的分析到最終實現(xiàn)由計算機管理的數(shù)據(jù)庫系統(tǒng)的全過程。它包括表、查詢、報表等的設(shè)計??偟脑瓌t應(yīng)從提高數(shù)據(jù)處理效率及便于數(shù)據(jù)處理兩方面考慮。數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ)。它把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來,提供存儲、維護、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時、準(zhǔn)確地從數(shù)據(jù)庫中獲得所需的信息。數(shù)據(jù)庫設(shè)計的步驟有需求分析,概念結(jié)構(gòu)設(shè)計,邏輯結(jié)構(gòu)設(shè)計。2.1 需求分析進行數(shù)據(jù)庫設(shè)計首先必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)。需求分析是整個設(shè)計過程的基礎(chǔ),是最困難、最耗費時間的一步。作為地基的需求分析是否做得充分與準(zhǔn)確,
15、決定了在其上構(gòu)建數(shù)據(jù)庫大廈的速度與質(zhì)量。需求分析做得不好,甚至?xí)?dǎo)致整個數(shù)據(jù)庫設(shè)計返工重做。2.1.1 入庫操作入庫功能實現(xiàn)可分為以下幾個部分:(1)定制入庫單由操作人員輸入最基本的信息,從商品信息表中獲取商品相關(guān)信息,從供應(yīng)商信息表中獲取供應(yīng)商的相關(guān)信息。(2)輸入入庫單對應(yīng)的商品信息入庫商品與入庫單自動關(guān)聯(lián),從商品信息表中獲取商品的相關(guān)信息。入庫操作的數(shù)據(jù)流圖如圖2-1所示。供應(yīng)商信息表商品信息表入庫商品信息表供應(yīng)商名稱制單人員名稱人員信息表入庫單基本信息定制入庫單入庫單表入庫單信息制定入庫單商品信息商品信息入庫單商品信息入庫單編號圖2-1 入庫數(shù)據(jù)流圖2.1.2 出庫操作出庫功能實現(xiàn)可分
16、為以下幾個部分:(1)定制出庫單由操作人員輸入最基本的信息,從商品信息表中獲取商品相關(guān)信息,從客戶信息表中獲取客戶相關(guān)信息。(2)輸入出庫單對應(yīng)的商品信息出庫商品與出庫單自動關(guān)聯(lián),從商品信息表中獲取商品的相關(guān)信息。處理流程如圖2-2所示??蛻粜畔⒈砩唐沸畔⒈沓鰩焐唐沸畔⒈砜蛻裘Q制單人員名稱人員信息表出庫單基本信息定制出庫單出庫單表出庫單信息制定出庫單商品信息商品信息出庫單商品信息出庫單編號圖2-2 出庫數(shù)據(jù)流圖2.2功能模塊設(shè)計系統(tǒng)功能模塊結(jié)構(gòu)圖,如圖2-3所示:修 改 密 碼 管 理 用 戶退 出入 庫 管 理出 庫 管 理供應(yīng)商信息管理顧 客 信 息 管 理商 品 信 息 管 理基本信息
17、管理庫存管理系統(tǒng)設(shè)置倉庫管理系統(tǒng)圖2-3系統(tǒng)功能模塊圖該系統(tǒng)功能模塊圖列出了系統(tǒng)的主要功能模塊。包括基本信息管理,庫存信息管理以及系統(tǒng)設(shè)置。其中基本信息管理又包括供應(yīng)商信息管理,顧客信息管理以及商品信息管理。庫存信息管理包括入庫管理和出庫管理。系統(tǒng)設(shè)置包括管理用戶,修改密碼和退出三個功能。其中供應(yīng)商信息管理包括添加供應(yīng)商信息、修改供應(yīng)商信息、刪除供應(yīng)商信息、查詢供應(yīng)商信息四個子功能。顧客信息管理包括添加顧客信息、修改顧客信息、刪除顧客信息、查詢顧客信息四個子功能。商品信息管理包括添加商品信息、修改商品信息、刪除商品信息三個子功能。入庫管理包括添加入庫商品信息、修改入庫商品信息、刪除入庫商品信息
18、、查詢?nèi)霂焐唐沸畔⑺膫€子功能。出庫管理包括添加出庫商品信息、修改出庫商品信息、刪除出庫商品信息、查詢出庫商品信息四個子功能。各個功能的操作步驟見第3章詳細(xì)設(shè)計。2.3 數(shù)據(jù)字典用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢。這就要求數(shù)據(jù)加結(jié)構(gòu)能夠充分地滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)處理流程,組成一份詳細(xì)的數(shù)據(jù)字典,為下一步的具體設(shè)計做好充分的準(zhǔn)備。名字:客戶信息描述:倉庫貨物客戶的基本信息定義:客戶信息=公司名稱+聯(lián)系人姓名+聯(lián)系人地址+城市名稱+地區(qū)名稱+郵政編碼+聯(lián)系電話+傳真號碼+公司主頁名字:供應(yīng)商信息描述:倉庫貨物供應(yīng)商的基本信息定義:供應(yīng)商信息=公司名
19、稱+聯(lián)系人姓名+聯(lián)系人地址+城市名稱+地區(qū)名稱+郵政編碼+聯(lián)系電話+傳真號碼+公司主頁名字:商品屬性信息描述:商品各項屬性的相關(guān)信息定義:商品屬性信息=單位+類別名字:商品信息描述:商品的各項信息定義:商品信息=名稱+規(guī)格 名字:入庫單信息描述:入庫單的各項信息定義:入庫單信息=入庫單號+供應(yīng)商+制單人+入庫時間+庫管員+經(jīng)辦人+是否入庫+數(shù)量+倉庫名字:入庫單商品信息描述:與入庫單對應(yīng)的商品信息定義:入庫單信息=供貨商公司名稱+聯(lián)系人姓名+聯(lián)系電話+商品名稱+商品規(guī)格+ 計量單位+單價+數(shù)量+進貨日期名字:出庫單信息描述:出庫單的各項信息定義:出庫單信息=顧客公司名稱+聯(lián)系人姓名+聯(lián)系電話+
20、商品名稱+商品規(guī)格+ 計量單位+單價+數(shù)量+進貨日期2.4 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體dbms的概念模型 。(1)供應(yīng)商實體屬性圖,如圖2-4:地址供應(yīng)商公司名稱傳真郵編電話聯(lián)系人城市地區(qū)公司主頁 圖2-4供應(yīng)商實體屬性圖供應(yīng)商信息=公司名稱+聯(lián)系人姓名+聯(lián)系人地址+城市名稱+地區(qū)名稱+郵政編碼+聯(lián)系電話+傳真號碼+公司主頁地址顧客公司名稱傳真郵編電話聯(lián)系人城市地區(qū)公司主頁圖2-5顧客實體屬性圖(2)顧客實體屬性圖,如圖2-5:顧客信息=公司名稱+聯(lián)系人姓名+聯(lián)系人地址+城市名稱+地區(qū)名稱+郵政編碼+聯(lián)系電話+
21、傳真號碼+公司主頁(3)商品實體屬性圖,如圖2-6:商品名稱規(guī)格計量單位 圖2-6商品實體屬性圖商品信息=商品名稱+規(guī)格+計量單位(4)實體關(guān)系圖(e-r圖),如圖2-7供應(yīng)商顧客商品倉庫管理系統(tǒng)圖2-7實體關(guān)系圖供應(yīng)商、顧客和商品通過倉庫管理系統(tǒng)聯(lián)系起來。完整的實體聯(lián)系圖見圖2-8。(5)完整的實體聯(lián)系圖圖2-8包括三個實體,即供應(yīng)商實體、顧客實體和商品實體。其中供應(yīng)商和商品通過入庫操作聯(lián)系起來。他們之間的關(guān)系是多對多的關(guān)系。即一件商品可以由多個供應(yīng)商供應(yīng),一個供應(yīng)商也可以由多種商品。入庫操作有一個屬性即入庫單,它記錄著入庫操作的一些基本信息如供應(yīng)商名稱、入庫商品的名稱等等。商品和顧客通過出
22、庫操作聯(lián)系起來。同樣他們之間也是多對多的關(guān)系。即一個顧客可以購買多種商品,一種商品也可以提供給多個顧客。出庫操作的屬性是出庫單,它記錄著顧客名稱、出庫商品的名稱等等一些出庫操作的基本信息。供應(yīng)商顧客商品電話主頁城市傳真郵編公司名聯(lián)系人傳真主頁電話郵編地區(qū)城市聯(lián)系人公司名地區(qū)名稱規(guī)格計量單位出庫入庫入庫單出庫單 圖2-8 完整的實體聯(lián)系圖2.5 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)是獨立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)。邏輯結(jié)構(gòu)設(shè)計的任務(wù)就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本e-r圖轉(zhuǎn)換為與選用的dbms產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)?,F(xiàn)在需要將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為sqlite數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)
23、據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。倉庫管理系統(tǒng)數(shù)據(jù)庫中的各個表格的設(shè)計結(jié)果如下面的表格所示。每個表格表示數(shù)據(jù)庫中的一個表。表2-1為供應(yīng)商信息表:表2-1供應(yīng)商信息表列名數(shù)據(jù)類型可否為空說明companynamevarcharnot null公司名稱contactnamevarcharnull聯(lián)系人姓名addressvarcharnull聯(lián)系地址cityvarcharnull所在城市regionvarcharnull所在地區(qū)postalcodevarcharnull郵政編碼phonevarcharnull電話號碼faxvarcharnull傳真號碼homepagevarcharnull公司主頁s
24、uppliermemotextnull備注信息表2-1供應(yīng)商信息表共包括10個列名,即為供應(yīng)商實體的基本屬性。其中供應(yīng)商編號companyname為候選碼(candidate key),根據(jù)實體完整性規(guī)則,它不能為空且唯一標(biāo)識一個供應(yīng)商元組。由于只有一個候選碼,故companyname為主碼(primary key)。由于選擇了公司名稱companyname為主碼,則不允許公司重名。其它九個屬性為非碼屬性,是可以為空的。建表程序代碼如下:create table dbo.suppliers (companyname varchar (40) collate chinese_prc_ci_as
25、not null ,contactname varchar (30) collate chinese_prc_ci_as null ,address varchar (60) collate chinese_prc_ci_as null ,city varchar (15) collate chinese_prc_ci_as null ,region varchar (15) collate chinese_prc_ci_as null ,postalcode varchar (6) collate chinese_prc_ci_as null ,phone varchar (24) coll
26、ate chinese_prc_ci_as null ,fax varchar (24) collate chinese_prc_ci_as null ,homepage varchar (50) collate chinese_prc_ci_as null ,suppliermemo text collate chinese_prc_ci_as null )表2-2為顧客信息表: 表2-2顧客信息表列名數(shù)據(jù)類型可否為空說明companynamevarcharnot null公司名稱contactnamevarcharnull聯(lián)系人姓名addressvarcharnull聯(lián)系地址cityvar
27、charnull所在城市regionvarcharnull所在地區(qū)postalcodevarcharnull郵政編碼phonevarcharnull電話號碼faxvarcharnull傳真號碼homepagevarcharnull公司主頁suppliermemotextnull備注信息表中共包含10個列名,即為顧客實體的基本屬性。其中companyname(顧客公司名)為候選碼, 它不能為空且它們唯一標(biāo)識一個顧客信息元組。由于只有一個候選碼, companyname即為主碼。由于選擇了公司名稱companyname為候選碼,則不允許公司重名。其它九個屬性為非碼屬性,是可以為空的。建表程序與建供
28、應(yīng)商表類似,在這里不再列出。表2-3為商品信息表: 商品信息共包括4個列名,分為對應(yīng)商品名稱、商品規(guī)格、商品單位和備注信息。其中productname(商品名稱)為候選碼,它唯一標(biāo)識一個商品信息元組,不能夠為空。由于只有一個候選碼productname即為主碼。由于productname為候選碼,商品不能夠重名。其它三個屬性為非碼屬性,可以為空表2-3商品信息表列名數(shù)據(jù)類型可否為空說明productnamevarcharnot null商品名稱specvarcharnull商品規(guī)格unitvarcharnull商品單位productmemotextnull備注信息表2-4為入庫信息表:表中共包
29、括8個表項,分別表示供應(yīng)商名稱,商品名稱,商品規(guī)格,商品單位,備注信息,商品單價,進貨日期,商品數(shù)量。其中productname(商品名稱)為主碼。不能夠為空。其它7項為非碼屬性,可以為空。建表程序如下:create table dbo.sstock (providername varchar (40) collate chinese_prc_ci_as null ,productname varchar (40) collate chinese_prc_ci_as null ,spec varchar (20) collate chinese_prc_ci_as null ,unit var
30、char (20) collate chinese_prc_ci_as null ,quantity varchar (20) collate chinese_prc_ci_as null ,unitprice float null ,orderdate datetime null ,ordermemo text collate chinese_prc_ci_as null )表2-5為出庫信息表: 表中共包括8個表項,分別表示顧客名稱,商品名稱,商品規(guī)格,商品單位,備注信息,商品單價,進貨日期,商品數(shù)量。其中productname(商品名稱)為主碼。不能夠為空。其它7項為非碼屬性,可以為空。
31、表2-4進貨信息表列名數(shù)據(jù)類型可否為空說明providernamevarcharnull供應(yīng)商姓名productnamevarcharnot null商品名稱specvarcharnull商品規(guī)格unitvarcharnull商品單位quantityfloatnull商品數(shù)量unitpricemoneynull商品單價orderdatedatatimenull進貨日期ordermemotextnull備注信息表2-5出庫信息表列名數(shù)據(jù)類型可否為空說明customernamevarcharnull顧客姓名productnamevarcharnot null商品名稱specvarcharnull商
32、品規(guī)格unitvarcharnull商品單位quantityfloatnull商品數(shù)量unitpricemoneynull商品單價orderdatedatatimenull進貨日期ordermemotextnull備注信息經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計以后,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)。現(xiàn)在在sqllite數(shù)據(jù)庫系統(tǒng)中實現(xiàn)該邏輯結(jié)構(gòu)。這是利用sqlite數(shù)據(jù)庫系統(tǒng)中的sql查詢分析器實現(xiàn)的。根據(jù)上面所舉的建表語句分別建立下面幾個表:(1) 創(chuàng)建供應(yīng)商基本信息表(2) 創(chuàng)建顧客基本信息表(3) 創(chuàng)建商品基本信息表(4) 創(chuàng)建入庫商品基本信息表(5) 創(chuàng)建出庫基本信息表(6) 創(chuàng)建用戶信息表上面的表格的
33、sql語句在sqlite中查詢分析器的執(zhí)行,將自動產(chǎn)生需要的所有表格。有關(guān)數(shù)據(jù)庫結(jié)構(gòu)的所有后臺工作已經(jīng)完成。接下來就是系統(tǒng)的詳細(xì)設(shè)計。第三章: 詳細(xì)設(shè)計經(jīng)過以上章節(jié)的分析、建模過程已經(jīng)完成了數(shù)據(jù)庫的后臺工作,建立起了能夠使系統(tǒng)順利運行的后臺,完成了初期的工作,接下來就要進入系統(tǒng)的實現(xiàn)工作階段,包括:界面設(shè)計和代碼編寫。系統(tǒng)主體功能由三部分組成,下面主要對程序總體框架的搭建以及數(shù)據(jù)庫的連接、基本信息的管理(包括供應(yīng)商基本信息、顧客基本信息、商品基本信息)、庫存管理(包括入庫操作、出庫操作)、信息查詢(包括庫存信息查詢)、系統(tǒng)設(shè)置(包括添加用戶、修改密碼、退出)的詳細(xì)設(shè)計過程。3.1 數(shù)據(jù)庫連接數(shù)
34、據(jù)庫程序設(shè)計是建立在數(shù)據(jù)庫的基礎(chǔ)之上的,因此,在開始程序設(shè)計時首要的任務(wù)是建立程序與數(shù)據(jù)庫后臺的聯(lián)系。由于android系統(tǒng)自己集成了自己的輕量級數(shù)據(jù)庫,所以在連接時只需要創(chuàng)建一個代表指定數(shù)據(jù)庫的sqlitedatabase的對象,然后就可以通過sqlitedatabase對象來管理、操作數(shù)據(jù)庫了。3.2 主界面、菜單界面設(shè)計主界面、菜單界面具體樣式如圖3-1示:圖3-1 主界面、菜單界面android對布局、組件的設(shè)置與修改是非常方便的。所以設(shè)計出這樣的界面是很簡單的。各個菜單項設(shè)置如表3-1所示。3.3 各模塊的功能及設(shè)計介紹3.3.1 用戶登錄模塊用戶登錄模塊是系統(tǒng)模塊中一個重要的子系統(tǒng)
35、模塊,它是系統(tǒng)安全的一個保障。它的主要功能是安全帳號管理,需要正確帳號和密碼才能進入系統(tǒng)。對于錯誤帳號和密碼給出提示。處理流程:輸入:用戶名和密碼。處理:(1)用戶登錄窗體啟動。(2)用戶填寫用戶名并輸入密碼。(3)從操作人員表中檢查是否有相應(yīng)的用戶名和密碼。(4)如果用戶名或密碼錯誤,進行提示。(5)如果輸入的用戶名和相應(yīng)密碼正確,則根據(jù)該用戶的權(quán)限類別進行權(quán)限設(shè)置。(6)進入主控制平臺。設(shè)計流程圖,如圖3-1:輸入用戶名和密碼登錄密碼正確?進入主控制平臺開始結(jié)束yn 圖3-1登入流程圖用戶登錄部分代碼如下: / 登錄按鈕監(jiān)聽public void onload(view v)/ 定義取數(shù)據(jù)
36、的字符串string username = ""string userpw = ""string i = use.gettext().tostring();/編寫數(shù)據(jù)庫語句string select_sql = "select username,password from user_info where username = '"+ i + "'"/執(zhí)行語句cursor cursor = sdatabase.rawquery(select_sql, null);cursor.movetofirst(
37、);/ 將從數(shù)據(jù)中取出的用戶名和密碼賦值給兩個字符串變量tryusername = cursor.getstring(0);userpw = cursor.getstring(1); catch (exception e)/ todo: handle exceptionusername = ""userpw = ""/判斷用戶名是否為空if (use.gettext().tostring().equals("")dialogdemo.builder(storemanagementactivity.this, "錯誤信息&qu
38、ot;,"用戶名不能為空!");/判斷密碼是否為空else if (password.gettext().tostring().equals("")dialogdemo.builder(storemanagementactivity.this, "錯誤信息","密碼不能為空!"); /判斷用戶名和密碼是否正確else if (!(use.gettext().tostring().equals(username) && password.gettext().tostring().equals(user
39、pw)dialogdemo.builder(storemanagementactivity.this, "錯誤信息","用戶名或密碼錯誤,請重新輸入");3.3.2 基本信息管理從表3-2中可以看出,基本信息管理包括供應(yīng)商信息管理,顧客信息管理和商品信息管理。表3-2 菜單設(shè)置表基本信息管理供應(yīng)商信息管理添加供應(yīng)商信息修改供應(yīng)商信息刪除供應(yīng)商信息查詢供應(yīng)商信息顧客信息管理添加顧客信息修改顧客信息刪除顧客信息查詢顧客信息商品信息管理添加商品信息修改商品信息刪除商品信息庫存管理入庫管理添加入庫商品信息修改入庫商品信息刪除入庫商品信息查詢?nèi)霂焐唐沸畔⒊鰩旃芾硖?/p>
40、加出庫商品信息修改出庫商品信息刪除出庫商品信息查詢出庫商品信息信息查詢庫存信息查詢系統(tǒng)設(shè)置修改密碼管理用戶退出關(guān)于關(guān)于該軟件(供應(yīng)商是商品在入庫時提供商品的人,在進行入庫操作時必須先添加該商品的供應(yīng)商的信息。供應(yīng)商的信息包括供應(yīng)商的公司名稱,聯(lián)系人姓名,聯(lián)系人地址,城市名稱,地區(qū)名稱,郵政編碼,聯(lián)系電話,傳真號碼,公司主頁等基本信息。這些都是必須要求輸入的。本程序提供了增加,刪除,修改和查詢供應(yīng)商信息的功能。增加:當(dāng)有新的供應(yīng)商提供商品的時候需要使用此功能。刪除:當(dāng)與某供應(yīng)商取消貿(mào)易關(guān)系時,需要把供應(yīng)商信息從系統(tǒng)中刪除。修改:當(dāng)某供應(yīng)商基本信息發(fā)生改變時,可以修改供應(yīng)商信息。查詢:可以查詢庫中
41、任何供應(yīng)商的信息。因此倉庫管理員可以方便的進行供應(yīng)商信息的管理。添加 供應(yīng)商信息的對話框如圖3-3所示:圖3-3添加供應(yīng)商信息添加供應(yīng)商信息操作步驟及處理流程:(1) 選擇基本信息管理->供應(yīng)商信息管理->添加供應(yīng)商信息(2) 出現(xiàn)圖3-3所示對話框(3) 用戶輸入公司名稱,聯(lián)系人姓名,聯(lián)系人地址,城市名稱,地區(qū)名稱,郵政編碼,聯(lián)系電話,傳真號碼,公司主頁(4) 點擊保存.如果其中有空項,會提示該項不能為空.要求用戶重新輸入(5) 彈出提示框顯示供應(yīng)商信息已經(jīng)加入。(6) 用戶可以繼續(xù)加入供應(yīng)商信息或者點返回進行其它操作。添加供應(yīng)商信息的代碼如下:protected void on
42、create(bundle savedinstancestate) / todo auto-generated method stubsuper.oncreate(savedinstancestate);setcontentview(r.layout.tianjiag);settitle("添加供應(yīng)商信息");intent inte = getintent();bundle name = inte.getextras(); names = inte.getstringextra("username");db = new sqlhelpdemo(getap
43、plicationcontext(), "store.db", null, 1);sdatabase = db.getwritabledatabase();gsmc=(edittext) findviewbyid(r.id.gsmce);lxr=(edittext) findviewbyid(r.id.lxre);csmc=(edittext) findviewbyid(r.id.csmce);lxdz=(edittext) findviewbyid(r.id.lxdze);dqmc=(edittext) findviewbyid(r.id.dqmce);yzbm=(edi
44、ttext) findviewbyid(r.id.yzbme);lxdh=(edittext) findviewbyid(r.id.lxdhe);czhm=(edittext) findviewbyid(r.id.czhme);gszy=(edittext) findviewbyid(r.id.gszye);public void save1(view v)if(gsmc.gettext().tostring().equals("")dialogdemo.builder(tianjiag.this, "提示", "請輸入公司名稱");
45、else/ 查詢語句string egsmc=gsmc.gettext().tostring();string elxr=lxr.gettext().tostring();string elxdz=lxdz.gettext().tostring();string ecsmc=csmc.gettext().tostring();string edqmc=dqmc.gettext().tostring();string eyzbm=yzbm.gettext().tostring();string elxdh=lxdh.gettext().tostring();string eczhm=czhm.g
46、ettext().tostring();string egszy=gszy.gettext().tostring();string selectstr = "select comname from gongys"system.out.println("11111111111111");cursor cursor = sdatabase.rawquery(selectstr, null);system.out.println("22222222222222");cursor.movetofirst();string nameg = nu
47、ll;do try nameg = cursor.getstring(0);system.out.println("3333333333333333333333"); catch (exception e) / todo: handle exceptionnameg = ""if (nameg.equals(egsmc) dialogdemo.builder(tianjiag.this, "錯誤信息","該公司信息已存在");cursor.close();break; while (cursor.movetonex
48、t();if (!nameg.equals(egsmc) / 定義idint id = 0;string select = "select max(_id) from gongys"cursor secursor = sdatabase.rawquery(select, null);try secursor.movetofirst();id = integer.parseint(secursor.getstring(0);id += 1; catch (exception e) / todo: handle exceptionid = 0;sdatabase.execsql
49、("insert into gongys values('" + id + "','"+ egsmc + "','" + elxr + "','" +elxdz+ "','"+ecsmc+ "','"+ edqmc+ "','"+eyzbm+ "','"+ elxdh+ "','"+
50、eczhm+ "','"+egszy+ "')");toast.maketext(tianjiag.this, "添加成功", toast.length_long).show();secursor.close();public void back1(view v)intent intent=new intent();bundle bundle = new bundle();bundle.putstring("username",names);intent.putextras(bundle);
51、intent.setclass(tianjiag.this, menudemo.class);startactivity(intent);設(shè)計流程圖,如圖3-4:開始初始化對話框輸入基本信息是否為空供應(yīng)商唯一刪除舊記錄插入新記錄報錯報錯ynyn更新數(shù)據(jù)庫結(jié)束圖3-4 添加供應(yīng)商流程圖部分?jǐn)?shù)據(jù)庫代碼如下:判斷供應(yīng)商唯一:strquery = "select * from suppliers where companyname='"+m_scompany+"'"theapp.adoexecute(theapp.m_padoset, strqu
52、ery);int icount = theapp.m_padoset->getrecordcount();if ( 0!=icount )afxmessagebox(_t("已經(jīng)存在此公司記錄!"), mb_iconexclamation);return; 刪除舊記錄:strquery = "delete from suppliers where companyname='"+m_soldcompany+"'"theapp.adoexecute(theapp.m_padoset, strquery);插入新記錄:
53、insert suppliers (companyname, contactname, address, city, region, postalcode, phone,fax, homepage, suppliermemo) values ('"+m_scompany+"', '"+m_sperson+"', '"+m_saddress+"', '"+m_scity+"', '"+m_sarea+"', '"+m_spostcode+&quo
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 業(yè)主投資工程合同范例
- 上海楊浦綠植租賃合同范例
- 加工工廠合同范本
- 中介簽訂傭金合同范例
- 企業(yè)正規(guī)借款合同范本
- 修理廠合同范本模板
- 中國石油合同范例
- 公寓衣柜采購合同范例
- 停車場地合同范例
- 中石化 合同范本
- 水生野生動物保護與管理
- 115個低風(fēng)險組病種目錄
- 系統(tǒng)解剖學(xué)考試重點筆記
- 暖通空調(diào)基礎(chǔ)知識及識圖課件
- 重力壩水庫安全度汛方案
- 防滲墻工程施工用表及填寫要求講義
- 交通信號控制系統(tǒng)檢驗批質(zhì)量驗收記錄表
- Bankart損傷的診療進展培訓(xùn)課件
- 校園信息化設(shè)備管理檢查表
- 新版抗拔樁裂縫及強度驗算計算表格(自動版)
- API SPEC 5DP-2020鉆桿規(guī)范
評論
0/150
提交評論