久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

畢業設計-小型超市銷售管理系統(VB)DOC

時間:2019-05-13 23:56:57下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《畢業設計-小型超市銷售管理系統(VB)DOC》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《畢業設計-小型超市銷售管理系統(VB)DOC》。

第一篇:畢業設計-小型超市銷售管理系統(VB)DOC

姓名

班號

專業

計算機科學與技術

同組姓名

獨自一組

指導教師

小 型 超 市 銷 售 管 理 系 統

摘 要

本文介紹了小型超市銷售管理系統開發全過程。系統的開發采用Visual Basic 6.0 和SQL Server 2000,并以Windows 2000Server 作為開發平臺。

本系統是市場上最流行的超市上常用的系統之一,它主要包含以下幾個模塊:系統權限的設定、原始數據錄入、數據的匯總及查詢等。從而,實現對進貨、庫存、銷售及員工信息等實現全面、動態、及時的管理。

本文系統的分析了軟件開發的背景及過程;首先介紹了軟件的開發環境,其次介紹了本軟件的詳細設計過程:數據庫的設計、各個模塊的設計和實現,以及具體界面的設計和功能。最后對在本軟件開發過程中的問題進行了總結。

通過閱讀該論文,讀者可以了解到“小型超市銷售管理系統”的規劃、設計過程,掌握系統的功能。同時對當前比較具有代表性的微軟公司開發工具VisualBasic 6.0 和功能強大的數據庫開發工具SQL Server 2000 以及數據庫連接技術有一定了解。

關鍵詞:進銷存管理系統,VB6.0,SQL Server 2000

Abstract

The paper narrates the total process about the Business Invoicing and Inventory System of ShenYang GuanTian Technology Incorporated Company.This system based on Windows 2000 and it is developed with Visual Basic 6.0 and SQL Server 2000.The system was customized for ShenYang GuanTian Technology Incorporated Company which includes system operators' setting, the original data's input and modification, the gathering and searching for the information.Thus, it makes Invoicing and Inventory information's Management System in a total, dynamic and timely way.The paper systematically analyses the system development background and development process.Firstly, the paper introduce the software development circumstance, secondly, it discussed the system development detailed design process which includes database designing, function blocks designing and implement and interface designing as well.Finally, I summarize some problems that met during the course of development.The reader can know IIS's planning, designing process and grasp the system function through the reading.At the same time, he can learn the most representative development tool at present –Visual Basic 6.0, the powerful database development tool--SQL Server 2000 and the technology in connecting databases with Visual Basic--ActiveX Data Objects(ADO).Key words: IIS, VB 6.0, SQL Server 2000

目錄

摘 要.................................................................2 Abstract..............................................................3 目錄..................................................................4 前言..................................................................5 第一章 系統開發概述...................................................8 1.1 計算機技術發展................................................8 1.2 數據庫技術....................................................9 1.3 系統目標.....................................................10 1.4 系統設計原則.................................................11 第二章 課題開發的理論依據...........................................12 2.1 SQL Server 2000 簡介.........................................12 相對于7.0的憂越性............................................13 2.2 Visual Basic 6.0 簡介........................................14 2.3 面對對象的程序設計介紹.......................................15 2.4 系統開發理論介紹.............................................16

一、系統規劃階段..............................................17

二、系統分析階段..............................................17

三、系統設計階段..............................................17

四、系統實施階段..............................................17

五、系統運行和維護階段........................................18 第三章 系統總體設計.................................錯誤!未定義書簽。

3.1 系統功能分析及功能的實現.....................錯誤!未定義書簽。3.2 數據庫設計...................................錯誤!未定義書簽。3.3 系統運行環境.................................錯誤!未定義書簽。第四章 系統詳細設計.................................................19 4.1、系統功能總括................................錯誤!未定義書簽。4.2、程序各功能詳細設計..........................錯誤!未定義書簽。

1用戶管理模塊的設計..........................錯誤!未定義書簽。2其他方面設計................................錯誤!未定義書簽。

第五章 系統的問題與調試.............................................19 第六章 致謝.........................................................20 參考文獻.............................................................21

前言

該小型超市銷售管理系統,主要含超市的進、銷、存以及人事管理系統。開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者,要求建立起數據一致性和完整性強.數據安全性好的庫。而對于后者,則要求應用程序功能完備,界面親切并且易使用等特點。

經過分析情況,我使用了微軟公司的Visual Basic 6.0。它是Windows應用程序開發工具,是目前最為廣泛的、易學易用的面向對象的開發工具。Visual Basic 6.0提供了大量的控件,這些控件可用于設計界面和實現各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應用程序的運行效率和可靠性。故而,實現本系統Visual Basic 6.0 是一個相對較好的選擇。

小型超市銷售管理系統是一個大從型超市進貨、銷售、庫存及人事管理工作的核心,它的內容對于各類型超市的決策者和管理者來說都至關重要,所以小型超市銷售管理系統應該能夠為超市工作者提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少的困難。

作為計算機應用的一部分,使用計算機對進銷存及人事信息進行管理,具有手工管理所無法比擬的優點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高公司進貨、銷售及庫存和人事管理的效率,也是企業的科學化、正規化管理,與世界接軌的重要條件。

現在可以見到的小型超市銷售管理系統林林總總,為什么從新開發一個新的超市系統還具有必要性呢?因為,雖然市場上可以見到的小型超市銷售管理系統往往是為了廣泛面的用戶而開發的或是為了某個特定的公司開發的。往往存在著功能“大、全”所造成的嚴重資源浪費,或是功能對于另外的即將使用該系統的公司具體狀況的情況不適用等情況。以某個特定的環境為背景而重新開發的小型超市銷售管理系統首先的優點就是:程序員能對市場上超市的情況有更加深入的理解、對各類型的超市管理需求有著更加深入的調查研究;大小適用,功能適當則是針對普遍超市商家編寫軟件的另一個優點。多數商業小型超市銷售管理系統存在著功能大而全卻沒有重點的情況,往往是許多用戶浪費了其中的許多功能,又導致了界面的凌亂,給層次稍低的用戶帶來使用上的不方便。而且在培訓員工時又大大浪費了培訓所帶來的經濟負擔。

本著上面幾點,我在對大部分普遍使用的小型超市銷售管理系統的需求進行調查研究的基礎上,重新開發了具有針對性的小型超市銷售管理系統,著重考慮了普遍商家的現實情況和使用的方便易用程度而設計了本軟件,能讓市場上大多數超市的企業家、超市老板等節約開發程序、培訓員工等帶來的經濟負擔,也讓他們在管理上感到得心應手,如水得魚。

第一章 系統開發概述

近年來,計算機技術飛速發展幾乎超出了人們的想象,硬件的更新換代速度更是以級數進行。計算機在處理對象、處理方法上都發生了很大的變化。作為計算機科學的重要分支——數據庫技術,也被越來越多的應用領域采用來存儲和處理他們的信息資源。計算機已經不再僅僅是科學研究的工具,它越來越多的影響到了我們的生活的諸多方面,更多的應用軟件出現在了我們的身邊,給人們生活的方方面面都帶來了極大的便利。

1.1 計算機技術發展

在計算機硬件和軟件技術不斷創新和進步的背景下,計算機技術在20 世紀有許多重大突破,它涉及到人們生活的方方面面,主要可以歸結為以下四個方面:

第一、處理對象的變化。在計算機應用初期,計算機的處理主要是數值和簡單的符號。隨著計算機速度和存儲容量的增大,今天的計算機已經能夠處理聲、圖、文和語言等多種信息,除二維、靜止圖像外,還可以處理三維運動的圖像等等。也就是說,人類使用的任何信息形式現在計算機都可以處理了。這不僅使計算機的用途大大地擴展,而且使今天的用戶能夠從計算機的屏幕上看到圖文并茂,有聲有色的畫面。從而使計算機從專業人員圈子中走出來,走向普通用戶,走向平民百姓。

第二、處理方法或建模方法的進步,傳統計算機的應用只限制在數學模型為基礎的數值計算上。不管是科學計算,數據處理還是計算機自動化,這些都離不開數值計算,因此讓計算機做任何事情之前,首先需要建立數學模型:算數的、代數的、微積分的、等等,沒有數學模型計算機無從進行計算,這些使所有傳統算法的基礎,到了20 世紀中葉,由于人工智能的出現以及它所取得的成就,計算機應用開始突破這一限制——計算機能夠進行符號計算,記憶邏輯和知識為基礎的符號推理。這些突破極大地擴展了計算機的應用范圍,使那些無法用數學表達的問題,只要人們有足夠的經驗知識,計算機就可能根據這些知識進行模擬,達到問題求解的目的,實現所謂人工智能,人們希望那些目前大家了解還不深,或者還就不清楚的問題,計算機也能幫助解決,軟計算就是這個背景下提出的。二十世紀的七八十年代,提出的模糊計算,神經網絡計算以及進化計算等,都是希望計算機能夠進一步處理模糊概念、模糊推理等類問題,是計算機在先前經驗只是較弱的情況下,也能幫助人們處理疑難問題、軟計算或計算智能給人們帶來希望,因此成為近來研究的熱點。

第三、處理方式的變化。在處理方式上人們也經歷了三個階段。在早期的主機 8 時代,人們采用的是集中交互處理的模式。這兩種方式都是以各人單獨工作的中心的,現在我們進入了計算機網絡時代,人們的工作方式發生了很大轉變,走向分布協同工作的時代。總之,以上這些變化會影響到21 世紀計算機應用技術的發展和變化。

第四、硬件技術的提高。伴隨著時代的發展,由最初的電子管計算機發展到即將到來的量子計算機,計算速度也發展到了最初計算機的數萬倍以上。在外型上,從桌上型、筆記型(Notebook)到掌上型計算機,不管是功能上的提升或可攜帶性的特色,都顯示出未來計算機將以輕薄短小,容易攜帶為主。隨著計算機進一步的小型化,人工智能將越來越強地集成到我們的環境中。便攜設備將像裝飾品一樣穿在衣服里。個人計算機也不斷向著普及的方向發展,各種計算機外設的品質不斷提高、豐富,極大的方便了人們的工作和生活。

1.2 數據庫技術

數據庫技術的發展已經經歷了很長的一段時間,從層次型數據庫,網狀數據庫直到今天的關系型數據庫以及面向對象的數據庫。目前流行的數據庫管理系統(DBMS)有多種,其中大型數據庫管理系統有Oracle, SQL Server 等,小型數據庫管理系統有Foxpro, Access 等,它們已能滿足人們對數據庫應用的基本要求。今天,網絡技術的發展對數據庫技術提出了新的要求。人們希望能訪問存儲在不同網格,不同節點上的數據而不需要了解數據存儲的細節,并且能夠在系統局部故障的情況下保證數據無損。這就形成了人們對分布式數據庫管理系統的部分要求——數據的位置透明性和安全性。本系統采用的開發平臺是Windows2000 Server。與其它操作系統相比,Windows2000 Server 更穩定,有較好的網絡功能。數據庫開發采用的是SQL Server2000,軟件的數據庫訪問及軟件開發工具采用的是Visual Basic 6.0,它面向對象的編程方式使程序設計過程大大簡化,對數據庫的訪問更靈活。相對于其他開發環境,Visual Basic6.0使開發人員的工作更快、成本更低、周期更短、質量更高、功能更強。Visual Basic6.0 為應用開發環境提供了全面綜合性的支持:事件驅動的應用程序;功能強大的編程語言和函數;面向對象的編程;開放的數據庫連接系統。1.系統的安全性

系統的安全性和健壯性,即保證系統在局部故障條件下能持續運行并且系統中的數據無丟失現象,是設計分布式數據庫管理系統所必須考慮的問題之一。分布數據庫管理系統采用域模式,實行統一管理。在系統運行的任一時刻,整個系統中都存在著唯一的一臺主服務器,完成整個系統的維護,包括系統數據字典的維護、用 戶視圖的生成和分發、安全權限管理等。同時,系統中還應存在多臺備份服務器,在主服務器出現故障時,系統中的任何一臺備份服務器都有可能被提升為主服務器。由于這個原因,系統中處于正常工作狀態的任何備份服務器必須隨時與主服務器保持一致。任何對于主服務器中的系統數據字典、用戶配置以及安全規則的修改必須同時反映到各個備份服務器上去。當把系統之外的一臺機器加入到系統中作為備份服務器時,必須把主服務器中當前保存的全部有關系統資源的庫信息復制到該機器上。1.數據透明性

分布式數據庫管理系統不僅僅是反數據存儲在不同的物理節點上,實現遠程查詢,更重要的是實現透明的數據管理,例如:查詢、修改、復制等。在實現數據透明性方面,采用的方法是使用系統數據字典。系統數據字典是整個數據庫管理系統的核心。字典中主要存放了以下內容:

??整個數據庫管理系統中數據庫與數據對象的定義,以及它們之間的相互關系。??有關用戶存取權限和安全規則的定義。??數據庫中所定義的一系列的完整性的約束條件。

??全局概念模式、分片模式、分布模式的定義以及各模式之間映象的定義,全局用戶信息等等。

以上所有信息使得系統中的數據可以更好地組織在一起,從而方便了數據的瀏覽、查詢以及復制等操作;使系統的安全性和完整性得到了有力的保障;使用戶可以從全局的角度來操縱系統中的數據。

盡管用戶需要訪問的數據庫可能位于不同的物理節點,但用戶看到的是一個完整的統一的數據庫——即邏輯數據庫。用戶在安全規則許可的情況下,可以很方便地訪問邏輯數據庫中的任何數據,而不需關心他所需要的數據是存儲在哪一個網絡中,哪一個計算機上,使用的是什么系統,應通過哪種方式去訪問等等。這就實現了分布式數據庫系統所要求的透明性。根據用戶的安全級別,系統生成數據字典的相應的用戶視圖分發給用戶。用戶視圖屏蔽了系統數據字典中用戶不應見到的部分,只給出了對應于用戶權限的部分數據,從而進一步保證了數據的安全性。1.3 系統目標

??建立一套功能完整的、高效的進銷存人事管理系統。

??該系統應該是大眾型的,符合計算機及非計算機專業的人應用,能讓市場上大多數人在短時間內用熟用精,給商家減輕開發系統,培訓員工帶來的經濟負擔。??系統能夠準確反映使用客戶在進貨、庫存、銷售方面的各種信息,以幫助決策 10 者制定適宜的銷售進貨策略。

??在人事方面能簡單化地適應那些員工多或者少都易于管理的方向。給主權者在改變人事變動方面做到輕松及易于處理。

??實現對各種用戶類型數據、產品信息、交易情況、交易數量等信息電子化管理、查詢,了解進銷存各項相關信息。

??讓上級權限者對下級所做過的操作進行信息管理,比如該系統的經理查詢收銀員的收銀情況,項目經理的進貨情況等。

??能及時提醒進貨員工及時的查詢貨物進售情況,讓進貨員工對進貨提醒進行設置。

??為使用客戶進銷存管理信息化和電子化打下一個較為良好的軟件基礎。1.4 系統設計原則

本系統的設計本著簡明同適用的原則。應用了當前最適應的開發工具Visual Basic 6.0及最流行的數據庫工具SQL SEVER 2000。采用簡單明了并且親切的用戶界面,保證了用戶使用的方便程度。同時在調查研究的基礎上做到了應有、盡有,功能實用而又不拖沓。使本進銷存及人事管理系統達到先進、科學、高效的水準。

第二章 課題開發的理論依據

2.1 SQL Server 2000 簡介

目前市場上數據庫的主流廠商及產品有IBM DB2、Microsoft SQL SERVER 2000、ORACLE 9i、Sybase。

IBM是通過DB2與WebSphere、Tivoli和Lotus四大品牌共同提供電子商務基礎架構,而自己并不開發應用軟件,目前一些ERP廠商、CRM 廠商以及電子商務軟件廠商都與IBM建立了合作關系,將IBM公司的數據庫作為其應用軟件的開發平臺。Oracle則截然不同,它在自己的數據庫平臺上為用戶開發了電子商務套件,其中包括ERP、CRM和SCM等企業應用軟件。它認為這樣可以使用戶直接獲得一整套解決方案,而不必考慮集成問題,而且,通過一家廠商就可以獲得全部的服務和支持,避免在集成上的昂貴開銷。Sybase公司作為客戶機/服務器的倡導者,其開發工具PowerBuilder擁有眾多的開發者。還有一部分不可忽視的是免費的數據庫, 比如MYSQL等。

SQL Server作為微軟在Windows 系列平臺上開發的數據庫,一經推出就以其易用性得到了很多用戶的青睞,相信大多數將自己的業務建立在Windows平臺上的用戶都會對它有相當的親切感。今天,我們就來談談您所關注的數據庫解決方案之微軟篇。

區別于FoxPro、Access小型數據庫,SQL Server是一個功能完備的數據庫管理系統。它包括支持開發的引擎、標準的SQL語言、擴展的特性(如復制、OLAP、分析)等功能。而像存儲過程、觸發器等特性,也是大型數據庫才擁有的。

SQL SERVER 2000往往成為首選的理由

上手容易

話分兩頭,如果您的企業至今還未購置數據庫,其中一個主要的原因可能就是認為它不好上手,那么,從SQL Server開始吧。畢竟,大多數的中小企業日常的數據應用是建立在Windows平臺上的。由于SQL Server與Windows界面風格完全一致,且有許多“向導(Wizard)”幫助,因此易于安裝和學習,有關SQL Server的資料、培訓隨處可得,并且目前國內具有MCDBA認證的工程師不在少數。

從另一個角度來講,學習SQL Server是掌握其他平臺及大型數據,如Oracle,Sybase,DB/2的基礎。因為這些大型數據庫對于設備、平臺、人員知識的要求往往較高,而并不是每個人都具備這樣的條件,且有機會去接觸它們。但有了SQL Server的基礎,再去學習和使用它們就容易多了。IT行業的實踐經驗充分證明了這一點。

兼容性良好

由于今天Windows操作系統占領著主導地的位,選擇SQL Server一定會在兼容性方面取得一些優勢。另外,SQL Server 2000 除了具有擴展性,可靠性以外,還具有可以迅速開發新的因特網系統的功能。尤其是它可以直接存貯 XML 數據,可以將搜索結果以 XML格式輸出等特點,有利于構建了異構系統的互操作性,奠定了面向互聯網的企業應用和服務的基石。這些特點在.NET 戰略中發揮著重要的作用。

相對于7.0的憂越性

Microsoft SQL Server 2000是在SQL Server 7.0的基礎上對性能、可靠性、質量以及易用性進行了擴展。SQL Server 2000中包含許多新特性,這些特性使其成為針對電子商務、數據倉庫和在線商務解決方案的卓越的數據庫平臺。其增強的特性包括對豐富的擴展標記語言(XML)的支持、綜合分析服務以及便捷的數據庫管理。

電子商務

在使用由Microsoft SQL Server 2000關系數據庫引擎的情況下,XML數據可在關系表中進行存儲,而查詢則能以XML格式將有關結果返回。此外,XML支持還簡化了后端系統集成,并實現了跨防火墻的無縫數據傳輸。你還可以使用Hypertext Transfer Protocol(超文本傳輸協議,HTTP)來訪問SQL Server 2000,以實現面向SQL Server 2000數據庫的安全Web連接和無須額外編程的聯機分析處理(OLAP)多維數據集。

數據倉庫

Microsoft SQL Server 2000非常明顯的改進就是增加了OLAP(聯機分析處理)功能,這可以讓很多中小企業用戶也可以使用數據倉庫的一些特性進行分析。OLAP 13 可以通過多維存儲技術對大型、復雜數據集執行快速、高級的分析工作。數據挖掘功能能夠揭示出隱藏在大量數據中的傾向及趨勢,它允許組織或機構最大 限度的從數據中獲取價值。通過對現有數據進行有效分析,這一功能可以對未來的趨勢進行預測。

增強的在線商務

Microsoft SQL Server 2000簡化了管理、優化工作,并且增強了迅速、成功的部署在線商務應用程序所需的可靠性和伸縮性。其中,用以提高可靠性的特性包括日志傳送、在線備份和故障切換群集。在伸縮性方面的改進包括對多達32顆CPU和64 GB RAM的支持。通過自動優化和改進后的管理特性--諸如數據文件尺寸的自動管理、基于向導的數據庫拷貝、自動內存管理和簡化的故障切換群集安裝與管理,在線商務應用程序能夠被迅速部署并有效管理。

利于構筑“敏捷性商務”

所謂“敏捷性商務” 就是能夠打破內部和外部的商業界限,對迅速改變的環境做出快速反應。微軟已經與關鍵的合作伙伴建立起了戰略關系,創造出了能夠與許多供應商的產品實現整合的解決方案,因而企業用戶并不需要做出“要么完全接受,要么全部不要”的承諾。在部署解決方案的過程中,企業用戶不一定要拆除原有的設備從頭。敏捷商務讓企業用戶能夠充分利用現有的系統,自主決定所需的硬件和軟件解決方案以及由誰來提供,伸縮自如、游刃有余

2.2 Visual Basic 6.0 簡介

Visual Basic是一種可視化的編程語言,利用可視化技術進行編程,可使應用程序的開發簡單、快捷;程序員不需要了解更多的關于面向對象的程序設計的細節,即可編寫出界面友好、功能強大的應用程序。因此,Visual Basic在國內外各個領域中應用非常廣泛。由于其容易學習、功能強、編程效率高,無論是專業人員還是非專業人員,都可以非常容易地掌握好Visual Basic的使用。它還提供了眾多的Active X控件,提高了軟件開發人員的編程效率,Visual Basic 6.0主要特點如下:

1、可視化設計

Visual Basic具有“所見即所得”的功能。在程序設計時,頭腦中所想象的應用程序界面,完全可以鍵盤與鼠標完成,而不用編制大量的代碼。如改,也可 14 利用鍵盤或鼠標完成,而底層的一些程序代碼可由Visual Basic自動生成或修改。Visual Basic為用戶提供了大量的控件,這些控件對于熟悉Windows應用程序的用戶而言是一點也不陌生,如“標簽”、“組合框”、“命令按鈕”、“文本框”等等,用戶只需用鼠標或鍵盤把這些控件拖到所需的位置,并設置它們的大小、形狀屬性等,即可得到所需的應用程序界面。

2、事件驅動編程

在Visual Basic中把窗體及控件稱為對象。這些對象組成了與用戶交互的圖形界面(也稱為用戶接口或用戶界面)。在設計應用程序時,必須考慮到用戶如何與程序進行交互。用戶通過鼠標和鍵盤與應用程序進行交互是最直接、最方便的,這時那些對象必須對鼠標、鍵盤操作所引起的事件作出響應。因此,Visual Basic編程重點是編寫事件驅動過程的代碼。

3、面向對象程序設計

Visual Basic是面向對象的程序設計語言,它將代碼和數據結合在一個個對象中,用戶只需了解每個對象能完成何種任務,而不需知道對象是如何工作的。軟件開發人員主要編寫操作驅動過程的代碼,使對象對用戶的操作作出響應。但因Visual Basic沒有多態等面向對象的特性,所以也有人稱Visual Basic是一種準面向對象的程序設計語言。

4、Visual Basic是一種32位的開發工具

Visual Basic5.0以前的開發工具很多是在DOS和Windows3X下使用,因而它們基本上是16位的開發工具,Visual Basic6.0是運行在Windows9X或WindowsNT操作系統下的,因此它是典型的32位開發工具。

5、易學易用、開發周期短

Visual Basic簡單易學,界面友好,容易使用。Visual Basic提供的大量功能強大的控件,能幫助開發人員在較短時間內用少量語句編寫出應用程序,縮短了開發周期。

2.3 面對對象的程序設計介紹

傳統的結構化程序設計(Structured Programming)是一種強調功能抽象化和模塊化的編程方法,它把解決問題的過程看作是一個處理單位。這就是說結構化程序設計中,模塊是對功能的抽象,而每一個模塊都是一個處理單位,并有輸入和輸出。

而面向對象的程序設計(Object Oriented Programming, OOP)是一種以對象為基礎,以事件來驅動對象執行的程序設計技術。OOP 把計算過程看作為對象的分類過程加上其狀態變化的過程,也就是將一個應用程序逐步劃分成相互關聯的多個對 象,并且建立起與這些對象相互關聯的事件過程,通過對象對所發生的事件產生響應,并執行相應的事件過程以引發對象狀態的改變,從而最終達到完成計算的目的。

與結構化程序設計不同,面向對象的程序設計綜合了功能的抽象和數據的抽象,它把解決問題的過程看作是一個對象分類演繹的過程。在OOP 中,對象(Object)是一個包括數據和方法(操作)的并被封裝起來的整體,它是對數據和功能的抽象和統一,而對象就包含了模塊的概念。

面向對象設計是一種全新的程序設計方法,它從根本上改變了傳統的程序設計模式。其基本思想是:通過建立與具體實際應用相對應的對象,并通過這些對象的組合來創建具體的應用程序。這種設計方法給程序設計帶來了許多良好特性,一般說來有以下幾點:

(1)模塊性:對象是一個功能和數據獨立的單元,它們之間只能通過對象認可的方式來進行通信,并可以較為自由地為其他對象所調用。

(2)封裝性:這一特性為信息的隱藏提供了具體的實現手段,用戶不必清楚對象內部的細節,只需了解其功能即可。

(3)繼承性:這一特性為代碼的共享提供了一種非常有效的方法,從而可以避免重復的代碼設計,實現對象的可重用性。這一特性也是面向對象程序設計技術最本質的特征。

(4)可靠性:對象實現了抽象和封裝,從而使得其中出現的錯誤限制在對象的內部,因而不會向外部傳播,同時也易于檢查和維護。

(5)可擴充性:面向對象系統可以通過繼承機制不斷擴充其對象的功能,而不會影響原系統的運行。

(6)連續性:雖然面向對象的程序設計語言在編程模式上相差很大,但它并沒有摒棄傳統的做法,它不僅采用了傳統程序設計語言的語言元素,而且利用它們來模擬建立對象,從而使得一個熟悉傳統程序設計語言的編程者能夠很快掌握面向對象設計的規律。

2.4 系統開發理論介紹

軟件的生命周期指從提出軟件產品開始,直到該軟件產品被淘汰的全過程。信息系統在使用過程中隨著其生存環境的變化,要不斷維護、修改,當它不再適應的時候就要被淘汰,就要有新系統代替老系統,這種周期循環稱為信息系統的生命周期。

信息系統的生命周期可以分為系統規劃、系統分析、系統設計、系統實施、系統運行和維護等五個階段。

一、系統規劃階段

系統規劃階段的任務是對各大小型超市的環境、目標及現行系統的狀況進行初步調查,根據企業目標和發展戰略,確定信息系統的發展戰略,對建設新系統的需求做出分析和預測,同時考慮建設新系統所受的各種約束,研究建設新系統的必要性和可能性。根據需要與可能,給出擬建系統的備選方案。對這些方案進行可行性分析,寫出可行性分析報告。可行性分析報告審議通過后,將新系統建設方案及實施計劃編寫成系統設計任務書。

二、系統分析階段

系統分析階段的任務是根據系統設計任務書所確定的范圍,對現行系統進行詳細調查,描述現行系統的業務流程,指出現行系統的局限性和不足之處,確定新系統的基本目標和邏輯功能要求,即提出新系統的邏輯模型。這個階段又稱為邏輯設計階段,他是整個系統建設的關鍵階段,也是信息系統建設與一般工程項目的重要區別所在。該階段的工作成果體現在系統說明書中,這是系統建設的必備文件。它既是給用戶看的,也是下一階段的工作依據。因此,系統說明書既要通俗,又要準確。用戶通過說明書可以了解未來系統的功能,判斷是不是其所要求的系統。系統說明書一旦討論通過,就是系統設計的依據,也是將來驗收系統的依據。

三、系統設計階段

簡單地講,系統分析階段的任務是回答系統“做什么”的問題,而系統設計階段要回答的問題是“怎么做”。該階段的任務是根據系統說明書中規定的功能要求,考慮實際條件,具體設計實現邏輯模型的技術方案,也即設計新系統的物理模型。這個階段又稱為物理設計階段,可分為總體設計和詳細設計兩個階段。這個階段的技術文檔是“系統設計說明書”。

四、系統實施階段

系統實施階段是將設計的系統付諸實施的階段。這一階段的任務包括計算機等設備的購置、安裝和調試,程序的編寫和調試,人員培訓,數據文件轉換,系統調試與轉換等。這個階段的特點是幾個互相聯系、互相制約的任務同時展開,必須精心安排、合理組織。系統實施是按實施計劃分階段完成的,每個階段應寫出實施進度報告。系統測試之后寫出系統測試分析報告。

五、系統運行和維護階段

系統投入運行后,需要經常進行維護和評價,記錄系統運行的情況,根據一定的規格對系統進行必要的修改,評價系統的工作質量和經濟效益。

需要完整版 訪問www.tmdps.cn QQ:232999858

第五章 系統的問題與調試

在系統的編寫過程中,通常會出現大量的這樣或是那樣的錯誤,處理錯誤能力的大小也是評價一個程序員優秀與否的標準。程序中的錯誤大致分三種:語法錯誤、邏輯錯誤、意外錯誤。這里面語法錯誤是最常見的,占了錯誤中的大部分,但也是最容易解決的,通常在程序的編譯時,多半可以發現這些錯誤并將其解決,邏輯錯誤的解決也不難,只要真正了解程序的流程及內部的邏輯關系,也會迎刃而解。最難處理的是意外錯誤,通常發生此類錯誤時,還要查找很多與之相關的程序部分,真正了解錯誤的本質,還需要有較全面和扎實的專業知識。在這次的畢業設計過程中,我也遇到了很多問題。例如,當在進行查詢時,如果兩條查詢使用的是同一個Recordset 對象。

對于一個VB 的初學者來說,記錄集Recordset 往往使用后不能養成隨手關閉的習慣。這樣就會造成上述的情況。在程序設計的初期,這樣類似的錯誤一直困擾者我。當兩個過程使用的是同一個變量的時候,在新打開過程的時候應該先關閉掉原先的內容的Recordset。避免這種錯誤的方法就是用Close 屬性關閉掉先前使用的Recordset 對象,然后再對第二個對象進行操作。.從這次畢業設計的過程中我學到了很多有用的東西,上面這些只是在查錯方面的一些技巧。嚴謹、負責、求實、進取的精神則是此次畢業設計給我的最大啟示。任何一個微小的Bug 都可能導致程序的崩潰。畢業設計將對我以后學習和工作產生更深遠的影響。

第六章 致謝

緊張忙碌的畢業設計即將結束了,在這幾個月的課程設計中,我從項目的規劃、調研開始,到編碼、測試,充分體會了一個軟件產品的生產過程,也讓我看到了我自身水平的不足。與此同時,同樣讓我感到了繼續學習、更新自身知識、加強自身能力的必要性。大學四年的學習即將結束,我也即將走向新的起點。這段畢業設計的經歷給了我克服困難的決心和解決問題的經驗,它將對我今后的生活、學習起到很大的幫助。

經過兩個多月的學習,我初步掌握了Visual Basic 6.0 的基本應用,基本達到了畢業設計的要求。最重要的是,畢業設計的經歷增強了我自我學習的能力,做到了在不用老師手把手教授的情況下,完成了一個較為復雜的管理系統。同時,在課程設計的過程中,查閱了大量的資料,也增強了我進行資料收集、查找和對資料進行篩選的能力。

在整個畢業設計的實習過程中,我要衷心的感謝我的指導老師徐老師。他一直都在為我的畢業設計提供耐心的指導,并且幫助我解決了很多疑難問題,這樣才有了我的這份畢業設計。我還要感謝我的同學們,他們也給了我許多支持。最后,也是最重要的,感謝所有這四年中傳授我知識,給予我關懷和幫助的老師們!

參考文獻

[1]田金蘭.Visual Basic 6使用指南,電子工業出版社,2002 [2]Jeffrey.Visual Basic 6數據庫訪問技.機械工業出版社,2003 [3]潘錦平.軟件開發技術,西安電子科技大學出版社,1999 [4]王珊,薩師宣,數據庫系統概論,高等教育出版社,2001 [5]陸麗娜,軟件工程,經濟科學出版社,2000 [6]周之英,現代軟件工程,科學出版社.2000.1 [7]唐任仲,工程應用軟件開發技術,化學工業出版社.1999.5 [8]李懷明,Visual Basic 6.0 中文版參考詳解,清華大學出版社.1999.11 [9]李善茂,Visual Basic 6.0 高級編程技巧,電子工業出版社.1999.5 [10] 譚浩強,Visual Basic 6.0 中文版 提高與應用,電子工業出版社.1999.11 [11] 伍俊良,Visual Basic 課程設計與系統開發案例,清華大學出版社,2002.8 [12] 同志工作室,Visual Basic 6.0 數據庫開發實例,人民郵電出版社,2001.1 [13]J Ivar Jacobson, Grady Booch, James Rumbaugh,《統一軟件開發過程》北京 : 清華大學出版社, 2005.[14]張樹兵戴紅陳哲,《Visual Basic 6.0 中文版入門與提高》,清華大學出版社,2002.5 [15]陳麗芳,《Visual Basic程序設計學習指導》北京 : 機械工業出版社, 2005 [16]侯清富, 郭崗編著《軟件工程師實戰基本功》北京 : 人民郵電出版社, 2005 [17]鐘軍,Visual Basic數據庫高級實例導航.北京:科學出版社,2004.3 [18]求是科技,Visual Basic 6.0數據庫開發技術與工程實踐,北京:人民郵電出版社.2004.1 [19]劉炳文,精通Visual Basic 6.0中文版,北京:電子工業出版社,1997.7 [20]劉圣才、李春葆,Visual Basic程序設計題典,北京:清華大學出版社,2002 [21]啟明工作室,Visual Basic + Access數據庫應用系統開發與實例,北京:人民郵電出版社,2004.11 [22]肖衛東,計算機信息管理基礎.北京:國防科技大學出版社, 2002.5 21 [23]微軟公司希望圖書創作室,Visual Basic 6.0編程寶典,2003 [24]劉韜、駱娟、何旭洪,Visual Basic 6.0數據庫系統開發實例導航.北京:人民郵電出版社,2002.4 [25]李存斌、郭曉鵬,Visual Basic高級編程及其項目應用開發.北京:中

國水利水電出版社,2003.2 [26]林陳雷、郭安源、葛曉東.Visual Basic 6.0教育信息化系統開發

實例導航.北京:人民郵電出版社,2003.6 [27]李曉黎、張巍,Visual Basic + SQL Server數據庫應用系統開發與實例.北京:人民郵電出版社,2003.8 [28]鄭阿奇、曹戈,Visual Basic 6.0實用教程.[第二版].南京:電子工業出版社,2004.1 [29]張海藩,軟件工程.北京:人民郵電出版社,2002.7

第二篇:小型超市管理系統

小型超市管理系統一:需求分析

1.超市信息管理系統是一個面向超市用來進行超市日常信息處理的管理信息系統(MIS)。該信息系統能夠方便的為超市的售貨員提供各種日常售貨功能,也能夠為超市的管理者提供各種管理功能,如進貨、統計商品等。

(1)超市信息管理系統能夠支持售貨員日常售貨功能。每一個售貨員通過自己的用戶名稱和密碼登錄到售貨系統中,為顧客提供服務。在售貨員為顧客提供售貨服務時,售貨員接收顧客購買商品,根據系統的定價計算出商品的總價,顧客付款并接受售貨員打印的貨物清單,系統自動保存顧客購買商品記錄。

(2)超市信息管理系統能夠為超市的管理者提供管理功能。超市的管理包括庫存管理、訂貨管理、報表管理和售貨人員管理和系統維護等。庫存管理員負責超市的庫存管理;訂貨員負責超市的訂貨管理;統計分析員負責超市的統計分析管理;系統管理員負責超市的售貨人員管理和系統維護。每種管理者都通過自己的用戶名稱和密碼登錄到各自的管理系統中。

(3)庫存管理包括商品入庫管理、處理盤點信息、處理報銷商品信息和一些信息的管理設置信息。這些設置信息包括供應商信息、商品信息和特殊商品信息。庫存管理員每天對商品進行一次盤點,當發現庫存商品有損壞時,及時處理報損信息。當商品到貨時,庫存管理員檢查商品是否合格后并將合格的商品進行入庫。當商品進入賣場時,商品進行出庫處理。

(4)訂貨管理是對超市所缺貨物進行的訂貨處理,包括統計訂貨商品和制作訂單等步驟。當訂貨員發現庫存商品低于庫存下限時,根據系統供應商信息,制作訂單進行商品訂貨處理。

(5)統計分析管理包括查詢商品信息、查詢銷售信息、查詢供應商信息、查詢缺貨信息、查詢報表信息和查詢特殊商品信息,并制作報表。統計分析員使用系統的統計分析功能,了解商品信息、銷售信息、供應商信息、庫存信息和特殊商品信息,以便能夠制定出合理的銷售計劃。

(6)系統管理包括維護員工信息、維護會員信息和系統維護。系統管理員通過系統管理功能,能夠了解公司員工信息、會員信息,還能夠對系統進行維護工作。二:創建系統用例模型 1.員工用例圖

? 員工是超市售貨員和超市管理者的抽象,它所包含的行為是超市售貨員和超市管理者共同的行為。員工在本系統中通過合法的身份驗證;能夠修改自身信息和密碼。

2.售貨員用例圖

? 售貨員能夠通過該系統進行銷售商品活動。當售貨員銷售商品時,首先獲取商品信息,然后將銷售信息更新,如果顧客需要打印購物清單,則需要打印購物清單,在購物清單中需要對商品信息進行計價處理。

3.庫存管理員用例圖

? 庫存管理員能夠通過該系統進行如下活動:

(1)處理盤點。超市庫存管理員每天需要對超市商品信息進行盤點。(2)處理報銷。超市庫存管理員對超市損壞商品進行報銷處理。(3)商品入庫。當商品到貨時,庫存管理員檢查商品是否合格后并將合格的商品進行入庫。

(4)商品出庫。當商品進入賣場時,商品進行出庫處理。(5)管理設置。庫存管理員負責供應商信息、商品基本信息和特殊商品信息的管理設置。

4.訂貨員用例圖

? 訂貨員能夠通過該系統進行訂貨管理活動。訂貨員首先根據商品缺貨信息統計訂貨商品,根據需要訂貨商品信息制定出訂單。

5.統計分析員用例圖

? 統計分析員負責超市的統計分析管理,它能夠通過該系統進行如下活動:

(1)查詢基本信息。統計分析員能夠查詢商品的基本信息,根據商品的基本信息,制定出相應的方案。

(2)查詢銷售信息。統計分析員根據銷售情況,制定合理的銷售方案。

(3)查詢供應商信息。統計分析員能夠查詢供應商信息。

(4)查詢缺貨信息。統計分析員能夠查詢缺貨信息。

(5)查詢報損信息。統計分析員能夠查詢報損信息。

(6)查詢特殊商品信息。統計分析員能夠查詢特殊商品信息

6.系統管理員用例圖

? 系統管理員能夠通過該系統進行如下活動:

(1)維護會員信息。系統管理員能夠維護超市會員的信息,如添加會員、刪除會員和修改會員信息等。

(2)維護員工信息。系統管理員能夠維護超市員工的信息,如添加員工、刪除員工和修改員工信息等。

(3)系統設置。系統管理員能夠根據一些需要進行必要的系統設置。

三:創建系統靜態模型

? 在獲得系統的基本需求用例模型以后,我們通過考察系統對象的各種屬性,創建系統靜態模型。

(1)首先,我們先確定系統的參與者的屬性。每一個超市員工在登錄系統時,都需要提供員工的用戶名稱和密碼,因此每一個超市員工應該擁有用戶名稱和密碼屬性。超市員工還擁有在超市中的唯一標識——員工編號。此外,員工屬性中還包含員工的年齡、頭銜和照片等信息。超市的售貨員和管理者都繼承自員工,擁有員工的屬性。在系統中記錄的顧客包括顧客的名稱、顧客的編號、顧客地址、顧客級別和顧客的總消費金額等記錄。

(2)其次,我們確定在系統中的主要業務實體類,這些類通常需要在數據庫中進行存儲。例如,我們需要存儲商品的信息,因此需要一個商品類,同樣,根據供應商信息我們可以確定供應商類。(2)其次,我們確定在系統中的主要業務實體類,這些類通常需要在數據庫中進行存儲。例如,我們需要存儲商品的信息,因此需要一個商品類,同樣,根據供應商信息我們可以確定供應商類。

四:創建系統動態模型

1.售貨員銷售商品序列圖和交互圖 工作流程如下:

(1)顧客希望通過售貨員購買商品,售貨員希望通過售貨管理子系統處理商品銷售。

(2)顧客將購買商品提交給售貨員。

(3)售貨員通過銷售管理子系統中的管理商品界面獲取商品信息。

(4)管理商品界面根據商品的編號將商品類實例化并請求該商品信息。

(5)商品類實例化對象根據商品的編號加載商品信息并提供給管理商品界面。(6)管理商品界面對商品進行計價處理。

(7)管理商品界面更新銷售商品信息。

(8)管理商品界面顯示處理商品。

(9)售貨員將貨物提交給顧客。

2.統計分析員查詢商品信息序列圖和交互圖 工作流程如下:

(1)統計分析員希望通過統計分析子系統查詢商品信息。

(2)統計分析員通過統計分析子系統中的查詢商品信息界面獲取商品信息。

(3)查詢商品信息界面根據商品的屬性或特征將商品類實例化并請求該類商品信息。

(4)商品類實例化對象加載商品信息,并提供給管理商品界面。

(5)查詢商品信息界面顯示該類商品信息。

(6)統計分析員請求查詢商品信息界面制定出該類商品報表。

(7)查詢商品信息界面制定該類商品報表。

(8)查詢商品信息界面將該類商品報表顯示給統計分析員。

3.庫存管理員處理商品入庫

工作流程如下:

(1)庫存管理員希望通過庫存管理子系統將購買的貨物處理入庫(2)庫存管理員通過庫存管理子系統中的商品入庫界面獲取商品信息。

(3)商品入庫界面根據商品的編號將商品類實例化并請求該類商品信息。

(4)商品類實例化對象根據商品的編號加載商品信息并提供給商品入庫界面。

(5)庫存管理員通過商品入庫界面增加商品數目。(6)商品入庫界面通過商品類實例化對象修改商品信息。(7)商品類實例化對象向商品入庫界面返回修改信息。(8)商品入庫界面向庫存管理員顯示添加成功信息。

4.訂貨員進行訂貨管理 工作流程如下:

(1)訂貨員希望通過訂貨管理子系統處理商品訂貨管理。(2)訂貨員通過訂貨管理子系統中的訂貨管理界面獲取待訂貨商品信息。

(3)訂貨管理界面將商品類實例化并根據商品的數量應當滿足的條件請求有關商品信息。

(4)商品類實例化對象根據商品的數量應當滿足的條件加載商品信息并提供給訂貨管理界面。

(5)訂貨員通過訂貨管理子系統中的訂貨管理界面獲取待訂貨廠商信息。

(6)訂貨管理界面將供應商類實例化并根據商品的類型請求有關供應商信息。

(7)供應商類實例化對象加載供應商信息并提供給訂貨管理界面。(8)訂貨員通過訂貨管理子系統中的訂貨管理界面制作相關訂單。(9)訂貨管理界面制作相關訂單并顯示給訂貨員。

5.商品狀態圖

? 在超市信息管理系統中,我們將有明確狀態轉換的類進行描述,以下我們以商品的狀態圖為例,簡單進行說明。? 商品包含以下的狀態:剛被購買還未入庫后的商品、被添加能夠出售的商品、商品被出售、商品被回收。它們之間的轉化規則是:

(1)剛被購買后的商品可以通過庫存管理員添加成為入庫的商品。(2)當入庫商品被出售,商品處于被銷售狀態。(3)當商品由于過期、損壞等因素造成的不合格時,商品被剔除。

6.員工驗證登錄活動圖

? 在利用系統的活動圖來描述在超市信息管理系統中的參與者如何協同工作時,我們還可以建立相關參與者的活動圖進行說明。以下我們以員工驗證密碼為例進行說明。? 我們可以通過以下的方式描述員工驗證登錄的活動:(1)員工需要通過身份驗證后進入相關子系統才能夠進行相關操作。

(2)首先,系統運行后系統進入初始化登錄界面。(3)員工輸入自己的用戶名稱和密碼。

(4)登錄界面對用戶輸入的用戶名稱和密碼進行判斷。(5)如果是合法的用戶,則系統對用戶的權限進行判斷,員工進入相關的管理界面,登錄成功。

(6)如果是非法的用戶,系統提示用戶名稱或密碼錯誤,登錄失敗。

五:創建系統部署模型 1.系統構件圖

在超市信息管理系統中,我們通過構件映射到系統的實現類中,說明該構件物理實現的邏輯類。例如,在超市信息管理系統中,我們可以對商品類和供應商類分別創建對應的構件進行映射。

2.系統部署圖

在超市信息管理系統中,系統包括四種節點,分別是:前臺售貨節點,售貨員使用,負責貨物銷售;庫存管理節點,庫存管理員通過該節點進行庫存管理和維護;訂貨管理節點,訂貨管理員通過該節點進行訂貨管理;統計分析節點,統計分析員通過該節點進行統計分析;系統管理節點,系統管理員通過該節點進行系統維護和員工信息維護。

第三篇:基于java小型超市管理系統

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Arrays;import java.util.Scanner;

public class Mytest { static int sign=0;//goodname數組第一個空下標號

static int sign1=0;//cname數組第一個空下標號

static String[] cpass=new String[20];//存放售貨員名稱

static String[] cname=new String[20];//存放售貨員登入密碼

static String[] goodname=new String[20];//存放商品名稱

static double[] goodprice=new double[20];//存放商品價格

static int[] goodout=new int[20];//存放商品銷售量

static int[] goodnum=new int[20];//存放商品數量

public static void main(String[] args)throws Exception { cname[0]=“ZhouTian”;//初始的售貨員名稱

cpass[0]=“723”;//初始的售貨員密碼 createArrays();readArrays(“goodname”);//將文件中的內容讀入到相應的數組里

readArrays(“goodprice”);readArrays(“goodnum”);readArrays(“cname”);readArrays(“cpass”);readArrays(“goodout”);menu();//登入之后加載的主菜單

} /** * 加載登入菜單

*/ private static void menu(){

Scanner scan = new Scanner(System.in);

System.out.println(“ttt歡迎使用商超購物管理系統 n”);

System.out.println(“tttt1.登錄系統n”);

System.out.println(“tttt2.退出 ”);

System.out.println(“*************************************************”);

System.out.println(“請選擇,輸入數字: ”);

int a = scan.nextInt();

switch(a){

case 0:

System.out.println(“退出!”);//按0不登入

case 1:

System.out.println(“請輸入用戶名:”);// 查找售貨員姓名是否存在,與所對應的密碼是否匹配

String name = scan.next();

System.out.println(“請輸入密碼:”);

String pass = scan.next();

int flage = 0;

int ff = 0;

for(int i = 0;i < cname.length;i++){

if(name.equals(cname[i])){

flage = 1;//售貨員的名稱匹配flage=1;

ff = i;

break;

}

}

if(flage == 1){//名稱匹配之后再匹配密碼

if(pass.equals(cpass[ff])){

loadmenu1();//密碼也匹配之后再允許登入

} else {

System.out.println(“密碼錯誤!”);

}

} else {

System.out.println(“該用戶名不具有權限”);

}

break;

case 2:

System.out.println(“謝謝您的使用!”);

break;

default:

break;

} }

/** * ,創建文件,將數組信息存入到各文件中, */ static void createArrays(){

BufferedWriter bw = null;

try {

File file1 = new File(“d:gname.txt”);

if(!file1.exists()){

bw

=

new

BufferedWriter(new FileWriter(“d:gname.txt”));

String content1 = strToString(goodname);//數組內容轉換成字符串

bw.write(content1);//寫入

bw.close();

}

File file2 = new File(“d:gprice.txt”);

if(!file2.exists()){

bw

=

new

BufferedWriter(new FileWriter(“d:gprice.txt”));

String content2 = doubleToString(goodprice);//數組內容轉換成字符串

bw.write(content2);//寫入

bw.close();

}

File file3 = new File(“d:gnum.txt”);

if(!file3.exists()){

bw

=

new

BufferedWriter(new FileWriter(“d:gnum.txt”));

String content3 = intToString(goodnum);//數組內容轉換成字符串

bw.write(content3);//寫入

bw.close();

}

File file4 = new File(“d:cname.txt”);

if(!file4.exists()){

bw

=

new

BufferedWriter(new FileWriter(“d:cname.txt”));

String content4 = strToString(cname);//數組內容轉換成字符串

bw.write(content4);//寫入

bw.close();

}

File file5 = new File(“d:cpass.txt”);

if(!file5.exists()){

bw

=

new

BufferedWriter(new FileWriter(“d:cpass.txt”));

String content5 = strToString(cpass);//數組內容轉換成字符串

bw.write(content5);//寫入

bw.close();

}

File file6 = new File(“d:gout.txt”);

if(!file6.exists()){

bw

=

new

BufferedWriter(new FileWriter(“d:gout.txt”));

String content5 = intToString(goodout);//數組內容轉換成字符串

bw.write(content5);//寫入

bw.close();

}

} catch(IOException e){

e.printStackTrace();

}

}

/** * 登入之后加載商超購物管理系統

*/ static void loadmenu1(){

System.out.println(“歡迎進入商超購物管理系統!”);

System.out.println(“tttt商超購物管理系統”);

System.out

.println(“********************************************************************************”);

System.out.println(“tttt1.商品維護”);

System.out.println(“tttt2.前臺收銀”);

System.out.println(“tttt3.商品管理”);

System.out.println(“tttt4.退出”);

System.out.println(“********************************************************************************”);

System.out.println(“請選擇,輸入數字或按0退出:”);

Scanner scan = new Scanner(System.in);

int a = scan.nextInt();

switch(a){

case 0:

System.out.println(“謝謝您的使用!”);

break;

case 1:

System.out.println(“執行顯示商品維護菜單”);

loadmenu2();

break;

case 2:

System.out.println(“執行前臺收銀”);

loadmenu6();

break;

case 3:

System.out.println(“執行商品管理”);

loadmenu7();

break;

default:

break;

} } /* * 在商超購物管理系統中按1鍵時 */ static void loadmenu2(){

System.out.println(“tttt商超購物管理系統 商品維護”);

System.out

.println(“********************************************************************************”);

System.out.println(“tttt1.添加商品t”);

System.out.println(“tttt2.更改商品t”);

System.out.println(“tttt3.刪除商品t”);

System.out.println(“tttt4.顯示所有商品t”);

System.out.println(“tttt5.查詢商品t”);

System.out

.println(“********************************************************************************”);

System.out.println(“請選擇,輸入數字或按0返回上一級菜單:”);

Scanner scan = new Scanner(System.in);

int b = scan.nextInt();

switch(b){

case 0:

loadmenu1();

break;

case 1:

addgoods();

break;

case 2:

System.out.println(“執行更改商品操作”);

loadmenu3();// 修改商品

break;

case 3:

System.out.println(“執行商品刪除操作”);

loadmenu4();// 商品刪除

break;

case 4:

System.out.println(“顯示所有商品”);

System.out.println(“商品名稱ttt” + “商品價格ttt” + “商品數量ttt”

+ “備注”);

showgoods();

break;

case 5:

System.out.println(“執行查詢商品操作”);

loadmenu5();

break;

default:

break;

} } /* * 在商超購物管理系統中按2鍵時

*/ static void loadmenu6(){

System.out.println(“tttt商超購物管理系統 前臺收銀”);

System.out

.println(“********************************************************************************”);

System.out.println(“tttt1.購物結算”);

Scanner scan = new Scanner(System.in);

int ch = scan.nextInt();

switch(ch){

case 0:

loadmenu1();

break;

case 1:

pay();

break;

default:

break;

}

} /* * 在商超購物管理系統中按3鍵時

*/ static void loadmenu7(){

Scanner scan = new Scanner(System.in);

System.out.println(“ttt商超購物管理系統 商品管理”);

System.out

.println(“********************************************************************************”);

System.out.println(“tttt1.庫存查詢”);

System.out.println(“tttt2.已出售商品”);

System.out.println(“tttt3.售貨員管理”);

System.out.println(“請選擇,輸入數字或按0返回上一級菜單:”);

int ch = scan.nextInt();

switch(ch){

case 0: loadmenu1();

break;

case 1:

System.out.println(“執行庫存查詢操作:”);

kusear();

break;

case 2:

System.out.println(“執行已出售商品查詢操作”);

besold();

break;

case 3:

System.out.println(“執行售貨員管理操作”);

salesman();

break;

default:

break;

}

} /* * 對售貨員信息的增添,修改 */ static void salesman()

{

Scanner scan = new Scanner(System.in);

System.out.println(“

1、添加售貨員”);

System.out.println(“

2、修改售貨員信息”);

System.out.println(“請選擇,輸入數字或按0返回上一級菜單:”);

int b = scan.nextInt();

switch(b){

case 0:

loadmenu7();//返回上一級

break;

case 1:

addsale();//選擇1鍵,添加售貨員

break;

case 2:

modifysale();//更改售貨員的信息

break;

default:

break;

} } /* 添加售貨員 * */ static void addsale(){

Scanner scan = new Scanner(System.in);

String f;

// sign1 = sign1 + 1;

do {

System.out.println(“添加售貨員姓名:”);

String addname = scan.next();

add(cname, addname, sign1);//將新信息添加到相應數組中

System.out.println(“添加售貨員登陸密碼:”);

String addpass = scan.next();

add(cpass, addpass, sign1);//將新信息添加到相應數組中

// writeArray();

sign1++;//新信息添加后數組下標加1

writeArray();

System.out.println(“是否繼續(y/n)”);

f = scan.next();

// writeArray();

} while(f.equals(“y”));

salesman();} /* * 更改售貨員的信息 */ static void modifysale(){

String f;

Scanner scan = new Scanner(System.in);

System.out.println(“輸入更改員工名稱:”);

String newname = scan.next();

int k = searmember(newname);//查詢需要改的售貨員的信息,并返回其在數組中的下標

if(k >= 0){//判斷售貨員是否存在

System.out.println(“員工姓名” + “ttt密碼”);

System.out.println(cname[k] + “ttt” + cpass[k]);

System.out.println(“選擇您要更改的內容:”);

System.out.println(“

1、更改員工姓名:”);

System.out.println(“

2、更改登錄密碼:”);

int kk = scan.nextInt();

switch(kk){

case 1:

System.out.println(“請輸入已更改員工姓名:”);

String newnname = scan.next();

cname[k] = newnname;

writeArray();

System.out.println(“是否繼續(y/n)”);

f = scan.next();

if(f.equals(“y”)){

modifysale();

} else {

salesman();

}

break;

case 2:

System.out.println(“請輸入已更改密碼:”);

String newpass = scan.next();

cpass[k] = newpass;

writeArray();

System.out.println(“是否繼續(y/n)”);

// System.out.println(“是否繼續(y/n)”);

f = scan.next();

if(f.equals(“y”)){

modifysale();

}

salesman();

break;

default:

break;

}

} } /* * 查詢ename姓名的售貨員在數組中的下標 */ static int searmember(String ename){

for(int i = 0;i < cname.length;i++){

if(cname[i].equals(ename)){

return i;

}

}

return-1;// 不存在時

} /* * 查詢已出售的商品信息 */ static void besold()

{

System.out.println(“商品名稱ttt” + “商品價格ttt” + “商品數量ttt” + “備注”);

for(int i = 0;i < goodout.length;i++){

if(goodout[i]!= 0){

System.out.println(goodname[i] + “ttt” + goodprice[i]

+ “ttt” + goodout[i]);

}

}

loadmenu7();} /* * 查詢庫存中售的商品信息

*/ static void kusear(){

Scanner scan = new Scanner(System.in);

String f;

do {

System.out.println(“輸入要查詢的商品名稱:”);

String sname = scan.next();

int t = ndimsear(sname);//按確切的商品名稱進行查詢,即非模糊查詢,找出商品名稱信息的下標

if(t >= 0){

System.out.println(“商品名稱ttt” + “商品價格ttt” + “商品數量ttt”

+ “備注”);

System.out.println(goodname[t] + “ttt” + goodprice[t]

+ “ttt” + goodnum[t] + “ttt”);//按下標輸出商品相應的信息

} else {

System.out.println(“沒有此商品”);

}

System.out.println(“是否繼續(y/n)”);

f = scan.next();

} while(f.equals(“y”));

loadmenu7();

} /* * 按確切的商品名稱進行查詢,即非模糊查詢,找出商品名稱信息的下標

*/ static int ndimsear(String s){

for(int i = 0;i < goodname.length;i++){

if(goodname[i].equals(s)){

return i;

}

}

return-1;//沒查詢到時

}

/* * 商品結算

*/ static void pay(){

Scanner scan = new Scanner(System.in);

double sum = 0;

String f;

do {

dimsearch1();//按關鍵字進行模糊查詢,查找可能需要的商品

System.out.println(“請選擇商品:”);

String bnam = scan.next();//按查詢到的相關商品中選擇要購買的商品

System.out.println(“請輸入購買數量:”);

int bnum = scan.nextInt();

int fl = seargood(bnam);

System.out.println(bnam + “ttt” + goodprice[fl] + “ttt”

+ “購買數量” + bnum + “ttt” + bnum * goodprice[fl]);

goodnum[fl] = goodnum[fl]sum));

writeArray();//將對數組的更改寫入到文件中

loadmenu1();//結束購買返回

} /* * 查找商品返回下標 */ static int seargood(String bbnam){

for(int i = 0;i <= goodname.length;i++){

if(goodname[i].equals(bbnam)){

return i;

}

}

return-1;}

/* * 對商品進行各種查找

*/

static void loadmenu5(){

Scanner scan = new Scanner(System.in);

System.out.println(“

1、按商品數量升序查詢”);

System.out.println(“

2、按商品價格升序查詢”);

System.out.println(“

3、輸入關鍵字查詢商品”);

System.out.println(“請選擇,輸入數字或按0返回上一級菜單:”);

int choice = scan.nextInt();

switch(choice){

case 0:

loadmenu2();//返回上一級

break;

case 1:

numshenxu();//按商品數量升序進行查找

break;

case 2:

priceshenxu();//按商品價格升序進行查找

break;

case 3:

dimsearch();//按商品的關鍵字進行查找

break;

default:

break;

}

}

static void dimsearch1(){

int[] k;

Scanner scan = new Scanner(System.in);

System.out.println(“輸入商品關鍵字:”);

String sear = scan.next();

k = Arrays.copyOf(index(sear), index(sear).length);

System.out.println(“商品名稱ttt” + “商品價格ttt” + “商品數量ttt” + “備注”);

if(k!= null){

for(int i = 0;i < k.length;i++){

System.out.println(goodname[k[i]] + “ttt” goodprice[k[i]]

+ “ttt” + goodnum[k[i]] + “ttt”);

}

}

} /* * 按商品的關鍵字進行查找

*/ static void dimsearch()

+ {

String f;

do {

int[] k;

Scanner scan = new Scanner(System.in);

System.out.println(“輸入商品關鍵字:”);

String sear = scan.next();

k = Arrays.copyOf(index(sear), index(sear).length);

System.out.println(“商品名稱ttt” + “商品價格ttt” + “商品數量ttt”

+ “備注”);

if(k!= null){

for(int i = 0;i < k.length;i++){

System.out.println(goodname[k[i]] + “ttt”

+ goodnum[k[i]]

+ “ttt”);

}

goodprice[k[i]]

+

“ttt”

+

}

System.out.println(“是否繼續(y/n)”);

f = scan.next();} while(f.equals(“y”));loadmenu2();} static int[] index(String ss){ int countt = 0;int counttt = 0;for(int i = 0;i < goodname.length;i++){

if(goodname[i].indexOf(ss)>= 0){

countt++;

} } int[] location = new int[countt];for(int i = 0;i < goodname.length;i++){

if(goodname[i].indexOf(ss)>= 0){

location[counttt] = i;

counttt++;

}

}

return location;} /* * 按商品數量升序進行查找

*/ static void numshenxu(){

int[] newnum = Arrays.copyOf(goodnum, goodnum.length);

double[]

newprice

=

Arrays.copyOf(goodprice, goodprice.length);

String[] goodname.length);

for(int i = 0;i < newnum.lengthi1;i++){

for(int j = 0;j < newprice.length1;j++){

if(newprice[j] < newprice[j + 1]){

int temp = newnum[j];

newnum[j] = newnum[j + 1];

newnum[j + 1] = temp;

double temp1 = newprice[j];

newprice[j] = newprice[j + 1];

newprice[j + 1] = temp1;

String temp2 = newname[j];

newname[j] = newname[j + 1];

newname[j + 1] = temp2;//相應的下標在不同的數

newname

=

Arrays.copyOf(goodname, 組里進行挑換,商品的信息才能保持一致

}

}

}

System.out.println(“商品名稱ttt” + “商品價格ttt” + “商品數量ttt” + “備注”);

for(int k = 0;k < newnum.length;k++){

if(newprice[k]!= 0){

System.out.println(newname[k] + “ttt” + newprice[k]

+ “ttt” + newnum[k] + “ttt”);

}

}

loadmenu5();} /* *更改商品信息的操作

*/ static void loadmenu3(){

Scanner scan = new Scanner(System.in);

System.out.println(“輸入更改商品名稱:”);

String nam = scan.next();

int b = showflage(nam);

print(b);

System.out.println(“選擇您要更改的內容:”);

System.out.println(“

1、更改商品名稱::”);

System.out.println(“

2、更改商品價格:”);

System.out.println(“

3、更改商品數量:”);

int ch = scan.nextInt();

switch(ch){

case 0:

break;

case 1:

int counnt = 0;

String f = “y”;

while(f.equals(“y”)){

if(counnt!= 0){

// Scanner scan = new Scanner(System.in);

System.out.println(“輸入更改商品名稱:”);

nam = scan.next();

b = showflage(nam);//查找需要更改商品的下標

print(b);//輸出這個商品的各種信息

}

System.out.println(“請輸入已更改商品名稱”);

String cname = scan.next();

goodname[b] = cname;//更改名稱

System.out.println(“是否繼續(y/n)”);

f = scan.next();

counnt++;

writeArray();

}

loadmenu2();

break;

case 2:

counnt = 0;

f = “y”;

while(f.equals(“y”)){

if(counnt!= 0){

// Scanner scan = new Scanner(System.in);

System.out.println(“輸入更改商品名稱”);

nam = scan.next();

b = showflage(nam);

print(b);

}

System.out.println(“請輸入已更改商品價格”);

double cprice = scan.nextDouble();

goodprice[b] = cprice;//新價格寫入數組

System.out.println(“是否繼續(y/n)”);

f = scan.next();

counnt++;

writeArray();

}

loadmenu2();

break;

case 3:

counnt = 0;

f = “y”;

while(f.equals(“y”)){

if(counnt!= 0){

// Scanner scan = new Scanner(System.in);

System.out.println(“輸入更改商品名稱”);

nam = scan.next();

b = showflage(nam);

print(b);

}

System.out.println(“請輸入已更改商品數量”);

int cnum = scan.nextInt();

goodnum[b] = cnum;

counnt++;

writeArray();

System.out.println(“是否繼續(y/n)”);

f = scan.next();

}

loadmenu2();

break;

default:

break;

}

} /* * 查詢nama這個商品在goodname中的下標

*/ static int showflage(String nama){

int flag = 0;

for(int i = 0;i < goodname.length;i++){

if(goodname[i].equals(nama)){

flag = i;

break;

}

}

return flag;}

static void print(int b){

System.out.println(“商品名稱 tt” + “商品價格 tt” + “商品數量 tt” + “備注”);

System.out.println(goodname[b] + “tt” + goodprice[b] + “tt”

+ goodnum[b] + “ tt”);

} /* * 刪除商品菜單

*/ static void loadmenu4(){

String f;

int d;

do {

Scanner scan = new Scanner(System.in);

System.out.println(“請輸入要刪除的商品名稱:

String dname = scan.next();

d = showflage(dname);

delete(d);

System.out.println(”是否繼續(y/n)“);

f = scan.next();

writeArray();//刪除之后重新寫入文件

} while(f.equals(”y“));

loadmenu2();}

”);/* * 刪除商品 */ static void delete(int dd){

for(int i = dd;i < goodname.length1] = null;

goodprice[goodprice.length1] = 0;

} /* * 查詢所有商品

*/ static void showgoods(){

int i = 0;

while(goodprice[i]!= 0){

System.out.print(goodname[i] +

“ttt” goodprice[i] + “ttt”

+

+ goodnum[i] + “ttt”);

if(goodnum[i] < 10){

System.out.println(“ttt*該商品已不足10件!”);

}

System.out.println();

i++;

}

loadmenu2();

} /* * 商品添加操作 */ static void addgoods(){

System.out.println(“執行添加商品操作:t”);

String a;

do {

Scanner scan = new Scanner(System.in);

System.out.println(“輸入商品名稱:”);

String na = scan.next();

add(goodname, na, sign);

System.out.println(“輸入添加商品價格:”);

double pr = scan.nextDouble();

add(goodprice, pr, sign);

System.out.println(“輸入添加商品數量:”);

int c = scan.nextInt();

add(goodnum, c, sign);

sign++;

System.out.println(“是否繼續(y/n)”);

a = scan.next();

writeArray();

} while(a.equals(“y”));

loadmenu2();

} /* * 將數組信息寫入到相應的文件里,啟動程序時就要調用這個函數 */ static void writeArray(){

BufferedWriter bw = null;

try {

bw

=

new

BufferedWriter(new FileWriter(“d:gname.txt”));

String content1 = strToString(goodname);

bw.write(content1);

bw.close();

bw

=

new

BufferedWriter(new FileWriter(“d:gprice.txt”));

String content2 = doubleToString(goodprice);

bw.write(content2);

bw.close();

bw

=

new

BufferedWriter(new FileWriter(“d:gnum.txt”));

String content3 = intToString(goodnum);

bw.write(content3);

bw.close();

bw = new BufferedWriter(new FileWriter(“d:cname.txt”));

String content4 = strToString(cname);

bw.write(content4);

bw.close();

bw

=

new

BufferedWriter(new FileWriter(“d:cpass.txt”));

String content5 = strToString(cpass);

bw.write(content5);

bw.close();

bw

=

new

BufferedWriter(new FileWriter(“d:gout.txt”));

String content6 = intToString(goodout);

bw.write(content6);

bw.close();

} catch(IOException e){

e.printStackTrace();

} } /* * 添加商品名稱 */ static void add(String[] aa, String n, int b){

if(b == aa.length){

aa =(String[])Arrays.copyOf(aa, aa.length * 2);

}

aa[b] = n;} /* * 添加商品價格

*/ static void add(double[] aa, double pr, int b){

if(b == aa.length){

aa =(double[])Arrays.copyOf(aa, aa.length * 2);

}

aa[b] = pr;} /* * 添加商品數量

*/ static void add(int[] aa, int cc, int b){

if(b == aa.length){

aa =(int[])Arrays.copyOf(aa, aa.length * 2);

}

aa[b] = cc;

}

/** * 從文件中讀取信息到相應的數組里

*/ static void readArrays(String name)throws Exception {

BufferedReader br = null;

try {

if(“goodname”.equals(name)){

br

=

new

BufferedReader(new FileReader(“d:gname.txt”));

String content1 = br.readLine();

String[] arr = strToString(content1);

goodname arr.length);

for(int i = 0;i < goodname.length;i++){

if(!goodname[i].equals(“null”)){

sign++;

=

(String[])

Arrays.copyOf(arr,}

}

} else if(“goodprice”.equals(name)){

br

=

new

BufferedReader(new FileReader(“d:gprice.txt”));

String content2 = br.readLine();

double[] arr = doubleToString(content2);

goodprice arr.length);

} else if(“goodnum”.equals(name)){

br

=

new

BufferedReader(new

=

(double[])

Arrays.copyOf(arr, FileReader(“d:gnum.txt”));

String content3 = br.readLine();

int[] arr = intToString(content3);

goodnum =(int[])Arrays.copyOf(arr, arr.length);

} else if(“cname”.equals(name)){

br

=

new

BufferedReader(new FileReader(“d:cname.txt”));

String content4 = br.readLine();

String[] arr = strToString(content4);

cname arr.length);

=(String[])Arrays.copyOf(arr,for(int i = 0;i < cname.length;i++){

if(!cname[i].equals(“null”)){

sign1++;

}

}

} else if(“cpass”.equals(name)){

br

=

new

BufferedReader(new FileReader(“d:cpass.txt”));

String content5 = br.readLine();

String[] arr = strToString(content5);

cpass arr.length);

} else {

br

=

new

BufferedReader(new

=

(String[])

Arrays.copyOf(arr, FileReader(“d:gout.txt”));

String content6 = br.readLine();

int[] arr = intToString(content6);

goodout =(int[])Arrays.copyOf(arr, arr.length);

}

} catch(FileNotFoundException e){

e.printStackTrace();

} catch(IOException e){

e.printStackTrace();

}

} /* * 將字符串轉換成字符串數組 */ static String strToString(String[] arry){

// String arrys=“";

// for(int i=0;i

// {

// arrys=arry+arry[i]+”,“;

// }

// //arrys=arrys+arry[arry.length-1];

// System.out.println(arrys);

// return arrys;

StringBuilder sb = new StringBuilder();

for(int i = 0;i < arry.length;i++){

sb.append(arry[i]).append(”,“);

}

sb.deleteCharAt(sb.length()-1);

// System.out.println(sb.toString());

return sb.toString();} /* * 將字符串轉換成字符串數組 */ static String[] strToString(String ar){

String[] arry = ar.split(”,“);return arry;} /* * 將int型數組轉換成字符串 */ static String intToString(int[] arrr){

String ss = ”“;

ss = Arrays.toString(arrr);

String sss

=

ss.replace(”[“,”“).replace(”]“, ”“).replace(” “, ”");

第四篇:小型超市管理系統設計說明書

小型超市管理系統設計說明書

系統概述

小型超市管理系統的設計對一個超市的運轉是十分重要的。改革開放以來,我國逐步進入市場經濟,外國企業的進入,給我國的本土經濟帶來巨大的沖擊。因此,為了使我們自身的企業更好地應對外來競爭的壓力,我們的企業迫切地需要管理制度的完善。

小型超市管理系統是現存信息系統中較為復雜的一類,這是由超市自身的目標、任務和性質所決定的。它應用于用戶權限管理、進貨管理、銷售管理、顧客管理和用戶注冊管理等幾個方面,牽涉的信息種類較多。這也同時是一款信息查詢系統,體現出超市當前的庫存商品數量、價格以及銷售情況。方便了顧客購買商品,而且對超市的管理、銷售、進貨以及經理決策起著至關重要的作用。依靠現代化信息處理技術來管理超市,大大節省了人力、物力,改善了員工的工作條件,方便了廣大消費者,提高了企業的效率,增加其收益。

超市管理的信息化建設工作具有長期性、復雜性和多變性,所以超市管理系統也不是一個簡單的、封閉的、靜止的系統,它是會隨時間推移在應用廣度和深度上逐步變化和發展的系統。需求分析

需求分析分為三個部分:需求的文字表述、數據流圖、數據字典。

一、需求分析:

小型超市管理系統的設計的服務對象是廣大顧客及超市的管理人員。它涉及的面廣、數據量大,如果對整個系統不能很好的

設計,將會給超市的效益帶來巨大壓力,如何在激烈的競爭中擴大銷售額、降低經營成本、擴大經營規模,成為超市努力追求的目標。下面是我們隊該系統所做的詳細分析:

1、用戶工作流程

與超市運轉相關的群體主要有顧客、銷售員和超市工作人員。圍繞著三大群體,我們設計了以下流程。進貨或銷售商品時,用戶要對訂單或銷售單進行核對審查,這時不同的用戶需要填寫與各自身份相對應的信息,經系統默認,進入到相應的界面,通過指導查詢所需信息,如進貨信息、銷售信息和商品信息等。

2、用戶業務需求

(1)、該軟件將為不同的用戶提供不同的操作權限,當用戶不同時,根據對用戶權限的判斷,決定該用戶進入哪一界面;(2)、該管理軟件將對商品進行資料統計和管理,提供詳細的商品信息,方便顧客查詢;

(3)、該軟件將對商品的訂貨單和銷售單進行錄入管理和統計,使銷售員和超市管理人員及時了解超市的銷售情況;(4)、該軟件將為用戶提供賬號管理工具,以便對用戶賬號進行管理,包括用戶的添加、修改、編輯和刪除等操作。

3、系統的設計目標

實現超市數據的信息化管理,提高超市在運作中的效率,減少人力的消耗,提高管理質量,將超市信息管理環節簡單化。

4、用戶對系統的要求

1)、信息要求

由于系統的使用主體是顧客和銷售員,因此對系統的信息要求可分為以下幾個方面: a.用戶信息

用戶的基本信息,主要包括用戶的名稱,密碼,住址,權限,姓名及年齡信息; b.商品信息

商品的基本信息,主要包括商品的名稱,數量,產地,價格,大小等信息; c.訂貨信息

訂貨的基本信息,包括商品的名稱和數量,顧客姓名,銷售日期,商品的大小和價格等; d.進貨信息

進貨的基本信息,主要包括所訂購商品的名稱和數量,訂購生產廠家,訂購日期,訂購狀態和訂購人姓名等。

2)、處理要求

a.用戶注冊或登錄

用戶通過這個功能,可以注冊成為會員或員工,也可以進入到系統主界面進行操作,用戶可以是系統管理員,顧客,或銷售員;

b.商品查詢與購買

顧客通過這個功能,可以瀏覽所有的商品,或者通過商品的某種信息,分項查詢找到需要的商品后進行訂貨購買;

c.訂貨單查詢

通過這個功能,顧客可以根據自己的需求修改訂單或下訂單; d.銷售情況查詢

通過這個功能,銷售員可以查詢到商品的所有銷售信息,了解超市的銷售情況。安全性與完整性要求 1)、安全性要求

a.系統應設置訪問用戶的標識以鑒別用戶是否合法,并要求合法用戶設置密碼,保證用戶身份不被盜用;

b.系統應對不同的數據設置不同的訪問級別,限制訪問用戶可以查詢和處理的數據的類別和內容;

c.系統應對不同用戶設置不同的權限,區分不同的用戶,如顧客,超市管理人員和銷售員;

顧客:查詢某種或全部商品,下訂單購買商品; 超市管理人員:進行用戶管理,增加、刪除或修改用戶; 銷售員:查詢全部商品信息,或分享查詢銷售情況。2)、完整性要求

a.各種信息記錄的完整性,信息記錄內容不能為空; b.各種數據間相互的聯系的正確性; c.相同的數據在不同記錄中的一致性。

5、確定系統的邊界

經過前面的需求分析,確定有計算機完成的工作時對數據進行各種管

理和處理,具體的工作內容見第二部分,由手工完成的工作主要有對原始數據的錄入;不能由計算機生成的,各種數據的更新,包括數據變化后的修改,數據的增加,失效數據或無用數據的刪除等;系統的日常維護。

二、系統功能的設計和劃分

根據如上的需求分析,我們可將本系統按照所完成的功能劃分成以下幾個子系統: 用戶權限管理子系統 進貨管理子系統 銷售管理子系統 顧客管理子系統 用戶注冊管理子系統 后臺管理子系統 各子系統完成的功能如下:

1、用戶權限管理子系統

(1)系統管理員具有所有的數據和功能權限,能查看進貨管理表單、銷售管理表單,能管理普通用戶;

(2)普通用戶具有查詢商品、訂購商品和修改個人信息等功能;(3)銷售員除了具有一般用戶的權限外,還可以進行銷售報表的查詢等;

2、進貨管理子系統

(1)用戶查詢或分項查詢訂貨單;

(2)下訂單或更改訂單狀態;

3、銷售管理子系統

讓銷售員能夠進行銷售信息的查詢,及時了解超市的銷售情況;

4、顧客管理子系統

(1)顧客可以瀏覽所有的商品信息;(2)可以通過分項功能查詢,找到所需商品;(3)直接訂貨或購買商品;

5、用戶注冊管理子系統

(1)填寫個人信息,注冊成為會員;(2)根據不同的目的取得不同的商品權限。

第五篇:小型超市管理系統需求分析

《小型超市管理系統》需求分析報告

小型超市管理系統需求分析

1.引言

1.1 編寫目的

自改革開放以來,社會市場經濟不斷發展,人們生活水平不端提高,由小型小賣部、小型零售商等小而雜的商店逐漸演變成今天市區里我們無處不在東西品種繁多的價格便宜的大小中型流行超市。超市之流行是以顧客自選方式經營的大型綜合性零售商場。又稱為自選商場,大大方便了人們購物,為大量忙碌的工作人員節省了大量的時間。

本系統采用microsoft visual C# 2010程序設計及SQL Sever 2005數據庫管理知識進行功能的實現。能夠提高超市信息管理系統各項工作地效率和質量,改善經營管理,減輕各類事務性工作的工作量,使超市的職員能夠更輕松并且更好地服務于顧客,保證顧客的購物需求,同時也間接地為超市帶來更多的盈利。最終達到為超市服務的效果。

1.2 項目風險

具體說明本軟件開發項目的全部風險承擔者,以及各自在本階段所需要承擔的主要風險,首要風險承擔者包括: 任務提出者: 軟件開發者:

產品使用者:面向小型超市、小型零售店 本系統無風險,為學生作品。

1.3 預期讀者和閱讀建議

列舉本軟件產品需求分析報告所針對的各種不同的預期讀者,例如,可能包括: 用戶;

1.開發人員; 2.銷售經理; 3.庫存管理員;4.商品錄入人員。

5.系統使用者(經營中小型超市法律主體)6.收銀人員;

并且描述了文檔中,其余部分的內容及其組織結構,并且針對每一類讀者提出最適合的文檔閱讀建議。

《小型超市管理系統》需求分析報告

1.4 產品范圍

本軟件適合于中小型超市管理用于采購管理、銷售管理,庫存管理及財務管理及商品數據錄入,修改、查詢。我們不僅能夠快而準的知道我們的一天的進出貨及銷售情況,又能夠準確無誤的生成知道我們想要擁有的銷售報表、季銷售報表、年銷售報表。通過一些基本查詢功能,查詢自己想要的結果,知道自己的盈利情況。通過此系統,我們能夠及時查詢到我們的存貨情況,通過系統警報及時補缺商品。

1.5 參考文獻(具體開發過程中外加參考資料)

列舉編寫軟件產品需求分析報告時所用到的參考文獻及資料,可能包括:

1.百度文庫(小型超市管理系統)

本項目的合同書;

上級機關有關本項目的批文; 本項目已經批準的計劃任務書; 用戶界面風格指導;

開發本項目時所要用到的標淮; 系統規格需求說明; 使用實例文檔;

屬于本項目的其它己發表文件;

本軟件產品需求分析報告中所引用的文件、資料; 相關軟件產品需求分析報告;

為了方便讀者查閱,所有參考資料應該按一定順序排列。如果可能,每份資料都應該給出: 標題名稱;

作者或者合同簽約者; 文件編號或者版本號; 發表日期或者簽約日期; 出版單位或者資料來源。

2.綜合描述

這一部分概述了正在定義的軟件產品的作用范圍以及該軟件產品所運行的環境、使用該軟件產品的用戶、對該軟件產品己知的限制、有關該軟件產品的假設和依賴。

本系統采用microsoft visual C# 2010程序設計及SQL Sever 2005數據庫管理知識進行功能的實現。能夠提高超市信息管理系統各項工作地效率和質量,改善經營管理,減輕各類事務性工作的工作量,使超市的職員能夠更輕松并且更好地服務于顧客,保證顧客的購物需求,同時也間接地為超市帶來更多的盈利。最終達到為超市服務的效果。

《小型超市管理系統》需求分析報告

2.1 產品的狀況

超市管理系統,該系統是現有應用軟件的替代品(升級產品);是新一代新型的,自主型的產品。它是一個大系統的組成部分,它與POS機連接在一起收銀及會員及時消費。能夠達到快速提升的收銀效率和一系列的管理有機的結合起來。

2.2 產品的功能

該系統包括:前臺管理(普通收銀部分和會員收銀包括與后臺折扣情況結合起來,達到高效率結算)和后臺管理(銷售管理,存貨管理,財務管理,基本資料管理,每日提醒)。

一.前臺管理:

1.登陸人員管理:使用人員賬號密碼登陸

2.銷售信息管理:添加商品的單價價格以及銷售數量等 二.后臺管理:

1.存貨管理:主要是了解某一類商品的庫存情況,并對商品進行添加、修改、刪除;

2.供貨商管理:記錄供貨商的個人資料(姓名,地址,聯系方式等); 3.基本資料管理:里面包含產品的概況、人員管理、商品管理等。

2.3 運行環境

描述了本軟件的運行環境,一般包括:

硬件平臺;

操作系統和版本:Windows XP 支撐環境(例如:數據庫等)和版本:Microsoft VisualC#和Microsoft SQL Server2005 其它與該軟件有關的軟件組件; 與該軟件共存的應用程序。

2.4 設計和實現上的限制

確定影響開發人員自由選擇的問題,并且說明這些問題為什么成為一種限制。可能的限制包括下列內容:

必須使用的特定技術、工具、編程語言和數據庫; 避免使用的特定技術、工具、編程語言和數據庫; 要求遵循的開發規范和標準; 例如,如果由客戶的公司或者第三方公司負責軟件維護,就必須定義轉包者所使用的設計符號表示和編碼標準; 硬件的限制

例如,定時需求或存儲器限制;

《小型超市管理系統》需求分析報告

數據轉換格式標淮的限制。

2.5 假設和約束(依賴)列舉出對軟件產品需求分析報告中,影響需求陳述的假設因素(與己知因素相對立)。如果這些假設因素不正確、不一致或者被修改,就會使軟件產品開發項目受到影響。這些假設的因素可能包括: 計劃使用的商業組件,或者其它軟件中的某個部件; 假定產品中某個用戶界面將符合一個特殊的設計約定;

有關本軟件用戶的若干假定(例如:假定用戶會熟練使用SQL語言。);

有關本軟件開發工作的若干假定(例如:用戶承諾的優惠、方便、上級部門給予的特殊政策和支持等。); 有關本軟件運行環境的一些問題;

此外,確定本軟件開發項目對外部約束因素所存在的依賴。有關的約束可能包括: 1.工期約束; 2.人員約束; 3.設備約束; 4.地理位置約束; 其它有關項目約束;

3.外部接口需求

3.1 用戶界面

3.1.1 用戶登錄界面

用戶名

密碼

組件:文本框、標準按鈕 快捷鍵:Enter鍵

《小型超市管理系統》需求分析報告

3.1.2商品信息管理

商品的增、刪、查、改

存貨管理界面

庫存錄入

《小型超市管理系統》需求分析報告

存貨查詢

組件:文本框、標準按鈕、消息框、數據網格

基本資料管理界面

產品概況 人員管理 供應商管理 商品管理

組件:標準按鈕、文本框、數據網格、下拉列表框

《小型超市管理系統》需求分析報告

3.2 軟件接口

描述該軟件產品與其它外部組件的連接,這些外部組件必須明確它們的名稱和版本號以資識別,可能的外部組件包括:

操作系統:Windows XP;

數據庫:Microsoft SQL Server2005; 工具:Microsoft Visual C# 2010; 函數庫;

集成的商業組件:中間件;

4.系統功能需求

4.1 用戶登錄

用戶登錄界面主要提供用戶的登錄。

4.2 前臺管理

4.2.1 人員管理

提供用戶的注冊、注銷、修改以及刪除。

《小型超市管理系統》需求分析報告

4.2.1 銷售管理

提供商品銷售的信息,以便及時補貨。

4.3 后臺管理

4.3.1 存貨管理

存貨管理提供了庫存的錄入、查詢、修改登錄功能,還包括缺貨提醒的提醒功能。

1.庫存錄入,包括庫存的添加、刪除、修改等功能提供添加舊商品或添加新商品的選擇功能。

2.存貨查詢,主要提供庫存的查詢功能 4.3.2 銷售信息管理

下載畢業設計-小型超市銷售管理系統(VB)DOCword格式文檔
下載畢業設計-小型超市銷售管理系統(VB)DOC.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    小型超市管理系統可行性報告

    《小型超市管理系統》可行性報告 曹劍濤李成軍 目錄 一、 前言 ........................................................................................................

    VB 圖書管理系統 畢業設計 外文翻譯

    學院畢業設計(論文)譯文專用紙 第 1 頁 現在送(畢業設計論文、文獻綜述、外文翻譯、開題報告、答辯PPT) 都可以直接下載 源程序因為無法上傳百度,需要者去空間留言 學院畢業......

    小型超市管理系統可行性分析報告

    1引言11.1編寫目的11.2背景11.3定義21.4參考資料22可行性研究的前提22.1要求22.2目標32.3條件、假定和限制32.4進行可行性研究的方法32.5評價尺度33對現有系統的分析34所建......

    小型超市管理系統可行性分析報告

    1引言 ............................................................................................................................................... 1 1.1編寫......

    人事工資管理系統畢業設計論文VB

    哈爾濱工業大學高等教育畢業設計(論文) 摘要 由于計算機技術的飛速發展,數據庫技術作為數據管理的一個有效的手段,在各行各業中得到越來越廣泛的應用。因此,本文圍繞一個”人......

    小型超市商品信息管理系統

    計算機系統開發綜合訓練(3) 課程設計 小型超市商品信息管理系統 目錄 1. 引言 ..............................................................................................

    VB圖書管理系統

    圖書管理系統的設計與實現 目錄 一、序言····························································......

    探討提高小型超市運作效率的管理系統

    探討提高小型超市運作效率的管理系統 21世紀,超市的競爭也進入到了一個全新的領域,競爭已不再是規模的競爭,而是技術的競爭、管理的競爭、人才的競爭。技術的提升和管理的升級......

主站蜘蛛池模板: 欧美精品久久久久久久自慰| 日韩亚洲欧美久久久www综合| 无码福利写真片视频在线播放| 四虎国产精品成人影院| 色老头在线一区二区三区| 人人玩人人添人人澡免费| 日本乱子伦一区二区三区| 产精品无码久久_亚洲国产精| 中国老太婆bb无套内射| 国产亚洲精品欧洲在线观看| 亚洲熟妇无码av另类vr影视| 亚洲精品无码在线观看| 欧美无遮挡很黄裸交视频| 上司人妻互换中文字幕| 日产精品一区二区| 国产欧美久久久精品影院| 国产午夜不卡av免费| 免费观看潮喷到高潮| 亚洲欧美中文字幕无线码| 人人色在线视频播放| 失禁潮痉挛潮喷av在线无码| 国内精品视频一区二区三区八戒| 国产亚洲精品字幕在线观看| 伊人依成久久人综合网| 久久精品国亚洲a∨麻豆| 8x国产精品视频| 无码一区二区三区亚洲人妻| 国产午夜精品一区二区三区| 99蜜桃在线观看免费视频网站| 青草伊人久久综在合线亚洲观看| 性久久久久久| 国产ww久久久久久久久久| 久久不见久久见免费影院www日本| 亚洲av无码一区二区三区不卡| 久久中文字幕乱码久久午夜| 又嫩又硬又黄又爽的视频| yyyy11111少妇无码影院| 亚洲精品乱码久久久久久蜜桃欧美| 国产人妖乱国产精品人妖| av无码中文一区二区三区四区| 9 9久热re在线精品视频|