餐廳點餐系統(tǒng)設(shè)計與實現(xiàn).doc_第1頁
餐廳點餐系統(tǒng)設(shè)計與實現(xiàn).doc_第2頁
餐廳點餐系統(tǒng)設(shè)計與實現(xiàn).doc_第3頁
餐廳點餐系統(tǒng)設(shè)計與實現(xiàn).doc_第4頁
餐廳點餐系統(tǒng)設(shè)計與實現(xiàn).doc_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、z 目錄1緒論41.1 研究的背景及意義41.2 研究的目的42 相關(guān)技術(shù)介紹52 .1Java技術(shù)簡介52.2 Oracle數(shù)據(jù)庫簡介72.2.1 Oracle數(shù)據(jù)庫的特點82.2.2 Oracle數(shù)據(jù)庫的存儲結(jié)構(gòu)82.2.3 Oracle數(shù)據(jù)庫的優(yōu)點與優(yōu)勢93系統(tǒng)需求分析103.1引言103.1.1編寫目的103.1.2項目背景102.2目前餐飲業(yè)的工作流程102.3軟件需求描述114可行性分析134.1 可行性研究134.1.1技術(shù)科性分析134.1.2 經(jīng)濟可行性分析134.1.3 運行可行性分析134.1.4社會可行性分析135總體設(shè)計145.1 系統(tǒng)功能模塊圖145.1 系統(tǒng)功能模

2、塊圖145.2統(tǒng)數(shù)據(jù)庫模型設(shè)計145.3模塊流程圖176 系統(tǒng)測試196.1系統(tǒng)測試原則196.2測試結(jié)果及發(fā)現(xiàn)206.3 對于軟件功能的結(jié)論20結(jié)論21個人總結(jié)22參考文獻23 摘要 隨著社會的發(fā)展,快餐文化的盛行,傳統(tǒng)點餐的方式已經(jīng)不適合當(dāng)代社會的發(fā)展,傳統(tǒng)點餐方式有諸不足之處,當(dāng)餐廳在用餐高峰時期,傳統(tǒng)的點餐方式的弊端就顯現(xiàn)出來。一是點餐太過麻煩,過程太過繁瑣,照成工作人員人手不夠的問題,客戶的體驗也不好,這樣造成餐館遭受巨大經(jīng)濟損失??腿吮г裹c的菜普錯上、漏上時有發(fā)生,皆因服務(wù)員忘記下單,下錯單,或廚房失了單,造成了部分客戶有時會有不滿的情緒??腿硕嗟臅r候,等候時間太長,結(jié)帳時,客人排

3、隊付錢,既浪費了時間,又造成了不必要的浪費。從以上看來,開發(fā)出一個點餐軟件系統(tǒng)的必要性,這樣既節(jié)約人力、物力、財力。隨著計算機技術(shù)的發(fā)展,特別是計算機網(wǎng)絡(luò)技術(shù)與數(shù)據(jù)庫技術(shù)的發(fā)展,使用人們的生活與工作方式發(fā)生了很大的改觀。網(wǎng)絡(luò)技術(shù)的應(yīng)用使得計算機之間通信、信息共享成為可能,而數(shù)據(jù)庫技術(shù)的應(yīng)用則為人們提供了數(shù)據(jù)存儲、信息檢索、信息分析等功能,從而使得工作更高效地進行。使得點餐系統(tǒng)的實現(xiàn)具有了實際性與可行性。 餐系統(tǒng)主要運用Java語言編寫,Oracle數(shù)據(jù)庫存儲數(shù)據(jù),實現(xiàn)了點餐,顯示所點菜品,自動生成賬單等功能,極大地提高了餐廳的運營效率,有效地降低了成本,提高了與同行業(yè)的競爭力。 關(guān)鍵詞:點餐方

4、式,計算機,Oracle,Java 1緒論1.1 研究的背景及意義餐飲傳統(tǒng)的點菜方式是純?nèi)斯げ僮?,由服?wù)員記錄顧客點的菜,在具體工作中容易出現(xiàn)以下問題:手寫單據(jù)字跡潦草從而導(dǎo)致上錯菜、傳菜分單出錯現(xiàn)象嚴(yán)重、加菜和查賬程序較繁瑣。處理特殊口味有遺漏和偏差、客人催菜遺忘現(xiàn)象較頻繁、計算賬單易出錯、不方便人員管理等等。正因如此,無線點餐模式應(yīng)運而生。它不僅可以有效地提高餐飲業(yè)的工作效率,更可以規(guī)范服務(wù)體系,提高整體服務(wù)質(zhì)量和管理水平,并為規(guī)?;?jīng)營提供了堅實的技術(shù)基礎(chǔ)。我們生活在一個充斥著數(shù)字技術(shù)的世界里,數(shù)字技術(shù)幾乎侵入到我們生活的每個細(xì)節(jié)。點餐系統(tǒng)在使用上不及Wi-Fi點餐系統(tǒng)便利:服務(wù)員依然使

5、用手持終端為顧客點餐,當(dāng)消費者點完餐后,服務(wù)員將存儲在手持終端內(nèi)的點餐信息,對準(zhǔn)布置在餐廳各個位置的紅外接收端進行發(fā)射,接收端會將點餐信息通過網(wǎng)線傳送到前臺計算機。前臺計算機會對點餐信息進行分類處理,然后將點餐信息分別發(fā)送給收銀臺和廚房。1.2 研究的目的該課程設(shè)計介紹了點餐系統(tǒng)的開發(fā)過程。遵循軟件工程的方法,論文詳盡論述了從需求分析、系統(tǒng)分析、概要設(shè)計、詳細(xì)設(shè)計、以及測試與調(diào)試的整個開發(fā)過程。首先系統(tǒng)地研究了無線點餐系統(tǒng)的背景和意義,分析了當(dāng)今點餐系統(tǒng)的特點和共性,從而得出設(shè)計本系統(tǒng)的思路和方法。介紹了實現(xiàn)系統(tǒng)開發(fā)的環(huán)境,數(shù)據(jù)庫用Oracle來實現(xiàn),同時簡要介紹了以上工具的功能和方法。概要設(shè)

6、計分成后臺數(shù)據(jù)庫管理操作設(shè)計和客戶端操作設(shè)計,同時介紹了數(shù)據(jù)庫的建立和維護。詳細(xì)設(shè)計主要闡述了點菜管理、并臺管理等功能的實現(xiàn),并給出了系統(tǒng)部分代碼。最后,對每個功能模塊和整個系統(tǒng)進行了測試,測試結(jié)果表明:系統(tǒng)基本具備了的功能以及快速的響應(yīng)速度。2 相關(guān)技術(shù)介紹2 .1Java技術(shù)簡介Java是由SunMicrosystems公司于1995年5月推出的Java程序設(shè)計語言(以下簡稱Java語言)和Java平臺的總稱。用Java實現(xiàn)的HotJava瀏覽器(支持Javaapplet)顯示了Java的魅力:跨平臺、動感的Web、Internet計算。從此,Java被廣泛接受并推動了Web的迅速發(fā)展,常

7、用的瀏覽器現(xiàn)在均支持Javaapplet。另一方面,Java技術(shù)也不斷更新。Java平臺由Java虛擬機(Java Virtual Machine)和Java應(yīng)用編程接口(Application ProgrammingInterface、簡稱API)構(gòu)成。Java應(yīng)用編程接口為Java應(yīng)用提供了一個獨立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴展部分。在硬件或操作系統(tǒng)平臺上安裝一個Java平臺之后,Java應(yīng)用程序就可運行?,F(xiàn)在Java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運行。Java分為三個體系JavaSE,JavaEE,JavaME。Java語

8、言是一個支持網(wǎng)絡(luò)計算的面向?qū)ο蟪绦蛟O(shè)計語言。Java語言吸收了Smalltalk語言和C+語言的優(yōu)點,并增加了其它特性,如支持并發(fā)程序設(shè)計、網(wǎng)絡(luò)通信、和多媒體數(shù)據(jù)控制等。主要特性如下:1、Java語言是簡單的。Java語言的語法與C語言和C+語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C+中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。2、Java語言是一個面向?qū)ο蟮?。Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的

9、單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制(關(guān)鍵字為implements)。Java語言全面支持動態(tài)綁定,而C+語言只對虛函數(shù)使用動態(tài)綁定??傊?,Java語言是一個純的面向?qū)ο蟪绦蛟O(shè)計語言。3、Java語言是分布式的。Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口(),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠程方法激活)機制也是開發(fā)分布式應(yīng)用的重要手段。4、Java語言是健壯的。Java的強類型機制、異常處理、廢料的自動收集等是Jav

10、a程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。5、Java語言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。6、Java語言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為clas

11、s的文件),然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。7、Java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSIC實現(xiàn)的。8、Java語言是解釋型的。如前所述,Java程序在Java平臺上被編譯為字節(jié)碼格式,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。在運行時,Java平臺中的Java解釋器對這些字節(jié)碼進行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運行環(huán)境中。9、Java是高性能的。與

12、那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C+。10、Java語言是多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable)的構(gòu)造子將一個實現(xiàn)了Runnable接口的對象包裝成一個線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對象即為線程。值得注意的是Thread類已經(jīng)實現(xiàn)了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線

13、程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機制(關(guān)鍵字為synchronized)。 11、Java語言是動態(tài)的。Java語言的設(shè)計目標(biāo)之一是適應(yīng)于動態(tài)變化的環(huán)境。Java程序需要的類能動態(tài)地被載入到運行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也有利于軟件的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。Java語言的優(yōu)良特性使得Java應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護費用。Java對對象技術(shù)的全面支持和Java平臺內(nèi)嵌的API能縮短應(yīng)用系統(tǒng)的開發(fā)時間并降低成本。Java的編譯一次,到

14、處可運行的特性使得它能夠提供一個隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口(JavaEnterpriseAPIs)為企業(yè)計算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫。2.2 Oracle數(shù)據(jù)庫簡介ORACLE數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。比如SilverStream就是基于數(shù)據(jù)庫的一種中間件。ORACLE數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個

15、關(guān)系數(shù)據(jù)庫,它是一個完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實現(xiàn)了分布式處理功能。但它的所有知識,只要在一種機型上學(xué)習(xí)了ORACLE知識,便能在各種類型的機器上使用它。Oracle數(shù)據(jù)庫最新版本為Oracle Database 12c。Oracle數(shù)據(jù)庫12c 引入了一個新的多承租方架構(gòu),使用該架構(gòu)可輕松部署和管理數(shù)據(jù)庫云。此外,一些創(chuàng)新特性可最大限度地提高資源使用率和靈活性,如Oracle Multitenant可快速整合多個數(shù)據(jù)庫,而Automatic Data Optimization和Heat Map能以更高的密度壓縮數(shù)據(jù)和對數(shù)據(jù)分層。這些獨一無二的技術(shù)進步再加上在可用性、安全性和

16、大數(shù)據(jù)支持方面的主要增強,使得Oracle數(shù)據(jù)庫12c 成為私有云和公有云部署的理想平臺。2.2.1 Oracle數(shù)據(jù)庫的特點1、完整的數(shù)據(jù)管理功能:1)數(shù)據(jù)的大量性2)數(shù)據(jù)的保存的持久性3)數(shù)據(jù)的共享性4)數(shù)據(jù)的可靠性2、完備關(guān)系的產(chǎn)品:1)信息準(zhǔn)則-關(guān)系型DBMS的所有信息都應(yīng)在邏輯上用一種方法,即表中的值顯式地表示;2)保證訪問的準(zhǔn)則3)視圖更新準(zhǔn)則-只要形成視圖的表中的數(shù)據(jù)變化了,相應(yīng)的視圖中的數(shù)據(jù)同時變化4)數(shù)據(jù)物理性和邏輯性獨立準(zhǔn)則3、分布式處理功能:ORACLE數(shù)據(jù)庫自第5版起就提供了分布式處理能力,到第7版就有比較完善的分布式數(shù)據(jù)庫功能了,一個ORACLE分布式數(shù)據(jù)庫

17、由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的關(guān)系型產(chǎn)品構(gòu)成。4、用ORACLE能輕松的實現(xiàn)數(shù)據(jù)倉庫的操作。這是一個技術(shù)發(fā)展的趨勢,不在這里討論。2.2.2 Oracle數(shù)據(jù)庫的存儲結(jié)構(gòu)它由至少一個表空間和數(shù)據(jù)庫模式對象組成。這里,模式是對象的集合,而模式對象是直接引用數(shù)據(jù)庫數(shù)據(jù)的邏輯結(jié)構(gòu)。模式對象包括這樣一些結(jié)構(gòu):表、視圖、序列、存儲過程、同義詞、索引、簇和數(shù)據(jù)庫鏈等。邏輯存儲結(jié)構(gòu)包括表空間、段和范圍,用于描述怎樣使用數(shù)據(jù)庫的物理空間。而其中的模式對象和關(guān)系形成了數(shù)據(jù)庫的關(guān)系設(shè)計。段(Segment):是表空間中一個指定類型的邏輯存儲結(jié)構(gòu),它由一個或多

18、個范圍組成,段將占用并增長存儲空間。其中包括:數(shù)據(jù)段:用來存放表數(shù)據(jù);索引段:用來存放表索引;臨時段:用來存放中間結(jié)果;回滾段:用于出現(xiàn)異常時,恢復(fù)事務(wù)。范圍(Extent):是數(shù)據(jù)庫存儲空間分配的邏輯單位,一個范圍由許多連續(xù)的數(shù)據(jù)塊組成,范圍是由段依次分配的,分配的第一個范圍稱為初始范圍,以后分配的范圍稱為增量范圍。數(shù)據(jù)塊(Block):是數(shù)據(jù)庫進行IO操作的最小單位,它與操作系統(tǒng)的塊不是一個概念。oracle數(shù)據(jù)庫不是以操作系統(tǒng)的塊為單位來請求數(shù)據(jù),而是以多個Oracle數(shù)據(jù)庫塊為單位。2.2.3 Oracle數(shù)據(jù)庫的優(yōu)點與優(yōu)勢Oracle數(shù)據(jù)庫的優(yōu)點(1) 可用性強(2) 可擴展性強(3

19、) 數(shù)據(jù)安全性強(4) 穩(wěn)定性強Oracle數(shù)據(jù)庫與其他數(shù)據(jù)庫的優(yōu)勢在了解了ORACLE數(shù)據(jù)庫 后,我們有必要對ORACLE和Sybase SQL Server的比較, Oracle采用的是并行服務(wù)器模式,而Sybase SQL Server采用的是虛擬服務(wù)器模式,它沒有將一個查詢分解成多個子查詢,再在不同的CPU上同時執(zhí)行這些子查詢。我們可以說在對稱多處理方面Oracle的性能優(yōu)于Sybase的性能。業(yè)務(wù)量往往在系統(tǒng)運行后不斷提高,如果數(shù)據(jù)庫數(shù)量達到GB以上時,我們在提高系統(tǒng)的性能方面可以從兩方面入手,一種是提高單臺服務(wù)器的性能,還有就是增加服務(wù)器數(shù)目?;诖?,如果我們是

20、提高單臺服務(wù)器的性能,選擇Oracle 數(shù)據(jù)庫較好,因為它們能在對稱多CPU的系統(tǒng)上提供并行處理。相反,由于Sybase的導(dǎo)航服務(wù)器使網(wǎng)上的所有用戶都注冊到導(dǎo)航服務(wù)器并通過導(dǎo)航服務(wù)提出數(shù)據(jù)訪問請求,導(dǎo)航服務(wù)器則將用戶的請求分解,然后自動導(dǎo)向由它所控制的多臺SQL Server,從而在分散數(shù)據(jù)的基礎(chǔ)上提供并行處理能力,我們可以選擇它。這些都是在其他條件和環(huán)境相同的情況下比較的,這樣才有可比性。在數(shù)據(jù)的分布更新方面,Oracle采用的是基于服務(wù)器的自動的2PC(兩階段提交),而Sybase采用的則是基于客戶機DB-Library或CT-Library的可編程的2PC,因此我們在選擇數(shù)據(jù)庫方面,必須

21、根據(jù)需要進行選擇,比如,從事的社會保險軟件的開發(fā),考慮到數(shù)據(jù)量大,并發(fā)操作比較多,實時性要求高,我們后臺基本采取的是ORACLE數(shù)據(jù)庫。Oracle服務(wù)器由Oracle數(shù)據(jù)庫和Oracle實例組成。Oracle實例由系統(tǒng)全局區(qū)內(nèi)存結(jié)構(gòu)和用于管理數(shù)據(jù)庫的后臺進程組成。3系統(tǒng)需求分析3.1引言3.1.1編寫目的本文檔時餐廳管理系統(tǒng)的項目需求說明書,對餐廳點餐系統(tǒng)的發(fā)展進行簡要回顧,分析當(dāng)前業(yè)務(wù)流程,總結(jié)管理系統(tǒng)的基本特點,本文檔對項目開發(fā)人員、設(shè)計人員具有重要的指導(dǎo)意義。3.1.2項目背景 中國是一個美食大國,擁有五千年的飲食文化和巨大的餐飲市場,隨著人民的生活水平和生活方式的轉(zhuǎn)變,餐飲業(yè)具有投資

22、市場,被稱為中國的黃金產(chǎn)業(yè),但同時我們也看到,餐飲業(yè)不僅面臨巨大的發(fā)展機遇,也面臨前所未有的挑戰(zhàn)和考驗。 餐飲業(yè)的不斷發(fā)展,在經(jīng)營管理也逐步向電子化邁進,通過電腦信息系統(tǒng)管理餐飲的內(nèi)部事務(wù),使得作業(yè)更加簡單化、高效。減輕了服務(wù)人員的勞動強度,節(jié)約了人力、物力、財力與管理成本。該系統(tǒng)提供點菜、結(jié)算、加點、退點等功能。極大地降低了餐廳的運營成本。 2.2目前餐飲業(yè)的工作流程目前的中小餐廳大多數(shù)采用手工記賬形式,業(yè)務(wù)流程如圖2.1所示: 圖2.1 手工記賬流程圖結(jié)構(gòu)分析 流程圖簡介:顧客到大餐廳有服務(wù)員引導(dǎo)到座位后,承上菜譜并登記所點菜品,點餐完畢后,由服務(wù)員記錄在記事本上,然后交給后臺廚師及配餐人

23、員,配餐人員根據(jù)大廳服務(wù)員提交的餐譜為客人配齊所有飲料、酒水等,廚師根據(jù)大廳服務(wù)員提交的菜譜按照先涼后熱的順序加工美味的食物,再由服務(wù)員送到客戶的餐桌上,客人用餐完畢后,有服務(wù)員或者客戶到收銀臺結(jié)賬,這樣的工作方式當(dāng)客流量高峰時,必然會出現(xiàn)上錯菜、漏上菜、甚至忘記上菜以及計算失誤等現(xiàn)象,輕則引起客戶的不滿情緒,重則引起糾紛,因此有必要采用新的工作方式,來避免上述情況的發(fā)生。 2.3軟件需求描述 1.客戶點餐子系統(tǒng):當(dāng)客人落座后,服務(wù)員手持IPAD登陸點餐子系統(tǒng),先輸入相應(yīng)的桌號,然后根據(jù)客人所點的不同食物,系統(tǒng)自動計算客人所點食物的總價。 2.加點與減點的功能:客戶可以根據(jù)自己的需要選擇加點已

24、選食物或減點以點食物,系統(tǒng)自動會記錄加點或減點的食物,防止出現(xiàn)錯誤。 3.系統(tǒng)管理子系統(tǒng):系統(tǒng)管理子系統(tǒng)可以上傳菜譜,管理菜譜等功能。2.4 數(shù)據(jù)流程圖的組成由四個部分組成:統(tǒng)部件包括系統(tǒng)的外部實體、處理過程、數(shù)據(jù)存儲和系統(tǒng)中的數(shù)據(jù)流四個組成部分。 1,外部實體 外部實體指系統(tǒng)以外又和系統(tǒng)有聯(lián)系的人或事物,它說明了數(shù)據(jù)的外部來源和去處,屬于系統(tǒng)的外部和系統(tǒng)的界面。外部實體支持系統(tǒng)數(shù)據(jù)輸入的實體稱為源點,支持系統(tǒng)數(shù)據(jù)輸出的實體稱為終點。 通常外部實體在數(shù)據(jù)流程圖中用正方形框表示,框中寫上外部實體名稱,為了區(qū)分不同的外部實體,可以在正方形的左上角用一個字符表示,同一外部實體可在一張數(shù)據(jù)流程圖中出現(xiàn)

25、多次,這時在該外部實體符號的右下角畫上小斜線表示重復(fù). 2,處理過程 處理指對數(shù)據(jù)邏輯處理,也就是數(shù)據(jù)變換,它用來改變數(shù)據(jù)值。而每一種處理又包括數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出等部分。在數(shù)據(jù)流程圖中處理過程用帶圓角的長方形表示處理,長方形分三個部分,標(biāo)識部分用來標(biāo)識一個功能,功能描述部門是必不可少的,功能執(zhí)行部門表示功能由誰來完成。 3,數(shù)據(jù)流 數(shù)據(jù)流是指處理功能的輸入或輸出。它用來表示一中間數(shù)據(jù)流值,但不能用來改變數(shù)據(jù)值。數(shù)據(jù)流是模擬系統(tǒng)數(shù)據(jù)在系統(tǒng)中傳遞過程的工具。 在數(shù)據(jù)流程圖中用一個水平箭頭或垂直箭頭表示,箭頭指出數(shù)據(jù)的流動方向,箭線旁注明數(shù)據(jù)流名。 4,數(shù)據(jù)存儲 數(shù)據(jù)存儲表示數(shù)據(jù)保存的地方

26、,它用來存儲數(shù)據(jù)。系統(tǒng)處理從數(shù)據(jù)存儲中提取數(shù)據(jù),也將處理的數(shù)據(jù)返回數(shù)據(jù)存儲。與數(shù)據(jù)流不同的是數(shù)據(jù)存儲本身不產(chǎn)生任何操作,它僅僅響應(yīng)存儲和訪問數(shù)據(jù)的要求。 在數(shù)據(jù)流程圖中數(shù)據(jù)存儲用右邊開口的長方條表示。在長方條內(nèi)寫上數(shù)據(jù)存儲名字。為了區(qū)別和引用方便,左端加一小格,再標(biāo)上一個標(biāo)識,用字母D和數(shù)字組成。餐廳點餐系統(tǒng)數(shù)據(jù)流程圖如圖3.2所示: 4可行性分析4.1 可行性研究 用很少的代價確定社交軟件是否值得開發(fā),研究在當(dāng)前的條件下,開發(fā)該系統(tǒng)是否已具備必要的資源與條件,故從經(jīng)濟可行性、技術(shù)可行性、運行可行性、社會可行性四個方面分析該系統(tǒng)的可行性報告。4.1.1技術(shù)科性分析技術(shù)可行性要考慮現(xiàn)有的條件是否

27、能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等,點餐系統(tǒng)基于Eclipse平臺開發(fā),點餐系統(tǒng)滿足社會發(fā)展的需求,符合人類的發(fā)展模式。隨著計算機技術(shù)的發(fā)展,特別是計算機網(wǎng)絡(luò)技術(shù)與數(shù)據(jù)庫技術(shù)的發(fā)展,故在技術(shù)上時可行的。4.1.2 經(jīng)濟可行性分析經(jīng)濟可行性分析主要從指出的費用與預(yù)期取得的收益,支出費用包括設(shè)備購置費用、管理和維護費用等,這個點餐系統(tǒng),投入的人力、物力、財力是相當(dāng)小的,所以說從經(jīng)濟可行性分析師可行的。4.1.3 運行可行性分析 隨著科學(xué)技術(shù)的進步社會經(jīng)濟的發(fā)展,各種硬件資源已滿足該系統(tǒng)的運行,各項技術(shù)已經(jīng)成熟,所以從運行可行性分析上是可行的。4.1.4社會可行性分析該點餐系統(tǒng)不違

28、背社會道德、現(xiàn)有的管理制度,不違反法律、經(jīng)濟政策,該系統(tǒng)應(yīng)合了社會發(fā)展趨勢的選擇,可以產(chǎn)生巨大的經(jīng)濟效益。所以說從社會可行性分析是可行的。5總體設(shè)計總體設(shè)計即對有關(guān)軟件全局問題的設(shè)計,也就是設(shè)計系統(tǒng)總的處理方案,是詳細(xì)描述系統(tǒng)的開發(fā)過程,又稱點餐系統(tǒng)概要設(shè)計。它包括:計算機配置設(shè)計、系統(tǒng)模塊結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫和文件設(shè)計、代碼設(shè)計以及系統(tǒng)可靠性與內(nèi)部控制設(shè)計等內(nèi)容。軟件功能分解屬于下列軟件開發(fā)中的總體設(shè)計階段。5.1 系統(tǒng)功能模塊圖 5.1 系統(tǒng)功能模塊圖5.2統(tǒng)數(shù)據(jù)庫模型設(shè)計 系統(tǒng)涉及3張數(shù)據(jù)表,分別為菜品表(food),菜單表(menu),賬單表(bill),下面分別對各表進行描述和展示。(1

29、) 菜單表及相關(guān)信息,包含三個字段:食物號(foodid)、食物名稱(food name)、價格(price),其中食物號為主鍵。menu表如圖5.2所示: 圖5.2菜單表(menu)(2) 食物表(food)及相關(guān)信息,包含四個字段,分別為食物號(foodid)、食物名稱(foodname)、食物價格(foodprice)、食物類型(foodtype),food表如圖5.3所示: 圖5.3食物表(food)(3) 賬單表(bill)及相關(guān)信息,包含兩個字段,分別為桌號(deskid)、賬單(bill),bill如圖5.4所示: 圖5.4 賬單(bill)圖當(dāng)查詢數(shù)據(jù)庫表時,會顯示各種菜名,以

30、及各個菜品所對應(yīng)的單價,查詢food表,如圖5.5所示: 圖5.5 查詢食物表5.3模塊流程圖如圖5.6 圖5.6 模塊流程圖數(shù)據(jù)庫鏈接代碼,用于獲取數(shù)據(jù)庫的連接,供其他類的調(diào)用。在java resources的src目錄下建立一個dbconn包,在包下建一個名為DBConnection的類,用于獲取數(shù)據(jù)庫的連接盒關(guān)閉數(shù)據(jù)庫,項目運行調(diào)用數(shù)據(jù)庫來顯示信息,關(guān)鍵代碼如下:數(shù)據(jù)庫的連接代碼如下:public class DBconnection private String url = "jdbc:oracle:/180.84.33.254:1152/food"private

31、String username = "a_wanghuan"private String password = "123"private Connection conn = null;private ResultSet rs = null;Statement sql = null;float bill=0;public Connection ConnDB() try Class.forName("com.oracle.jdbc.Driver");conn = DriverManager.getConnection(url, usern

32、ame, password);/ System.out.println("success connetion!");return conn; catch (Exception e) e.printStackTrace();return null;/ TODO: handle exceptionpublic void CloseDB() try conn.close(); catch (Exception e) e.printStackTrace();/ TODO: handle exception /關(guān)閉數(shù)據(jù)庫查詢數(shù)據(jù)庫中信息所調(diào)用的代碼,public void Query

33、All() try sql = conn.createStatement();rs = sql.executeQuery("select * from food");while (rs.next() System.out.println("編號:"+rs.getInt(1); System.out.println("菜名:"+rs.getString(2); System.out.println("價格:"+rs.getString("price"); System.out.println(&q

34、uot;描述:"+rs.getString("desc"); System.out.println("編號:" + rs.getInt("ID") + "t" + "菜名:"+ rs.getString("name") + "tt" + "價格:"+ rs.getFloat("price") + "t"+"類型:" + rs.getString("type&

35、quot;);查詢按編號(ID)查詢表中的列(顯示顧客所點的菜),并且把點的菜插入菜單表中,關(guān)鍵代碼如下:public void QueryByID(int id) try PreparedStatement ps=conn.prepareStatement("select * from food where ID=?");ps.setInt(1, id); ResultSet rs=ps.executeQuery(); System.out.println("編號:"+rs.getInt(1); System.out.println("菜名:

36、"+rs.getString(2); System.out.println("價格:"+rs.getString("price"); System.out.println("描述:"+rs.getString("desc");6 系統(tǒng)測試6.1系統(tǒng)測試原則(1)測試應(yīng)該盡早進行,最好在需求階段就開始介入,因為一個軟件應(yīng)用的形成過程中,出現(xiàn)嚴(yán)重的錯誤往往是系統(tǒng)功能是不能滿足用戶的需求,和最初設(shè)定的設(shè)計背道而馳,所以早測試能為后來開發(fā)減少很多不必要的麻煩。(2)程序員應(yīng)該避免檢查自己的程序,顧名思義,自己是很難找到自己的錯誤缺點的,軟件測試應(yīng)該由第三方來負(fù)責(zé),周圍同學(xué)和朋友就是最好的選擇。(3)對錯誤結(jié)果要進行一個確認(rèn)過程,一般由A測試出來的錯誤,一定要由B來確認(rèn)。嚴(yán)重的錯誤可以召開評

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論