




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
案例1基于WebService的無線餐飲管理系統1.1現行系統概述1.1.1開發背景春景海鮮酒樓位于煙臺市萊山區黃海路附近,面積500平方米,近20個雅間,一個零點大廳,可容乃300人就餐,菜品以本地海鮮、魯菜、家常菜為主,客源以政府、機關、事業單位團體等為主,春景酒樓以其海鮮、魯菜特色和決策層完善的經營理念,占領著煙臺市餐飲行業的很大部分市場。1.1.2組織結構分析目前,春景海鮮酒樓主要劃分為六個部門:經理部、人事部、餐廳部、后廚部、財務部、后勤部。春景海鮮酒樓組織結構圖如圖1-1所示。圖1-1春景海鮮酒樓組織結構圖各個部門的崗位劃分及職責如下:經理部設有總經理一個,副經理兩個。副經理分別管理人事部、餐廳部、后廚部和財務部、后勤部。經理部的主要職責:負責酒樓員工的任職、財務管理、酒樓經營及高層決策等工作。人事部設有人事主管一個。人事部的主要職責:負責制定和實施酒樓人才資源規劃;機構設置與編制管理;人事管理的規章制度建設;人員調配工作;員工人事任免、業績考核、勞資發放等工作。餐廳部設有餐廳主管一個。餐廳主管下設前廳領班、樓層領班、跑菜主管、酒水主管和吧臺各一個。主要工作人員有迎賓員、服務員、跑菜員、酒水員。餐廳部的主要職責:負責酒樓的迎賓接待、前臺點菜、傳菜、酒水提供等工作。后廚部設有行政總廚一個。行政總廚下設廚師長一個,廚師長下設爐頭主管、冷菜主管、配菜主管、點心主管各一個,主要工作人員有蒸煲廚師、冷菜廚師、配菜廚師、點心廚師。后廚部的主要職責:負責酒樓的菜例擬定、菜例制作分工及菜例制作等工作。財務部設有財務主管一個,主要工作人員有庫管員、收銀員和會計。負責酒樓的收銀結賬、財務管理等工作。后勤部設有后勤主管一個,主要工作人員有采購員、維護員、保潔員。負責酒樓的原料采購、設施維護和衛生管理等工作。1.1.3現行系統運行狀況分析煙臺市春景海鮮酒樓目前使用的系統,主要有人事管理、預定管理、點菜管理、財務管理四個功能模塊,分別負責了人事管理、預定接待、顧客點菜、財務上報等功能。雖然現行系統已經脫離了傳統的手動操作,在一定程度上減輕了工作人員的勞動強度,但現行系統各功能之間信息不能很好的交互處理,并未充分體現餐飲業務處理的智能化和人性化;其次,現行系統是基于C/S結構的客戶機/服務器模式,軟件使用時每臺計算機都要裝上客戶端,這樣既占用了終端計算機CPU資源,又給軟件升級帶來了不便;最后,會員管理功能在現有系統功能中并未體現,已經不適應現代餐飲行業經營管理中客戶關系管理理念的要求。所以需要重新開發一個系統來輔助管理者,提高管理效率和酒樓的經營效益。1.2系統需求分析1.2.1系統目標與需求分析新系統的設計宗旨是方便廚房與前臺和服務生之間的信息交流,酒店管理人員可以通過此系統了解廚房工作人員的工作情況,并能實時監控當前餐廳的預定情況、上座情況、就餐客人數量、每桌客人消費金額、消費明細,還包括整個餐廳當前收銀結算的情況和收入明細等。預定接待⑴遠期預訂:可提前任意天、周、月、年預訂,記錄客人的姓名、到達時間、預訂的時間、餐臺和訂金及預訂菜品、及客人特別交代的事項。可以查詢預訂、取消預訂和打印預訂表,可以避免餐臺的重復預訂和漏訂,支持同一餐臺不同時間多次預訂,可以方便地從已建立的客戶資料中選擇預訂客戶。⑵餐臺狀態查看:實時動態顯示餐臺狀態和歷史預訂信息,可以方便切換預訂時間,快速查看預訂情況,并可按所有餐臺、已預訂餐臺、未預訂餐臺過濾顯示。⑶預訂人抵達后可自動開臺,所預訂菜品和訂金自動轉入。前臺管理⑴開臺點菜:包括開臺、換臺、并臺、退臺,支持一臺多賬單,可實時動態顯示餐臺狀態,包括點菜、退菜、加菜、催菜、等叫等功能,可按菜品編碼、拼音字頭、菜品名稱、菜品類別等多種方式點菜,提高了點菜速度。⑵收銀結賬:支持現金、會員儲值卡的混合結賬。支持按菜品打折、整賬單會員打折(按預設的打折方式執行),支持預訂訂金轉結賬。⑶換班交接:可記錄當班情況,查詢已結賬單和未結賬單,打印班結表。后廚分單打印⑴分單:分單就是要解決哪道菜由哪個廚房制作的問題。前臺點完菜后,軟件會自動按照預先的設定自動進行分單,即不同的菜品按照設定由不同的廚房打印機進行打印。打單:廚房打印機配備網絡打印服務器,用以支持遠程打印,只有打過單子的菜才說明廚房已經開始制作了。出菜:菜品制作完畢,傳菜部通過掃描條碼確認出菜,掃過單子的菜品說明已經在送菜的途中了。特殊情況:服務員用手持點菜機或前臺管理軟件點菜時,將客人所點的菜品分為“即起”與“等叫”兩種狀態,“即起”就是立即制作,“等叫”是指等客人叫上菜時才開始制作,這些信息都會在廚房制作單上打印出來。同時客人如有催菜信息,通過終端操作,系統會自動打印提示信息以提示后廚加緊制作該菜。1.2.2系統開發方法的選擇在系統開發的早期,由于缺乏系統開發思想,沒能形成工程的概念,以至于60年代出現了所謂“軟件危機”,也促使了一門新科學——“軟件工程”的誕生。管理信息系統工作者對信息系統的開發提出了許多開發方法,其中常用的有結構化法(StructuredDevelopment)、原型法(PrototypingDevelopment)、面向對象法(Object-OrientedDevelopment)三種。結構化法結構化法是基于系統的思想,系統工程的方法,以用戶至上為原則,采用結構化、模塊化等手段對信息系統進行分析、設計和實施。在實際開發過程中,對應于系統開發的一般過程(見圖1),主要應用的結構化設計方法有結構化分析(StructuredAnalysis),結構化設計(StructuredDesign),結構化編程(StructuredProgram)。原型法原型法與傳統的生命周期法LC相比濱棄了一步步周密細致地調查、分析、整理文檔、再進行邏輯設計、物理設計等繁瑣過程而快速構造系統的物理原型。但是,并不能說開發人員用原型法就沒有一個分析、設計、實施的過程。實際上開發人員在運用原型法時有意識或無意識地對系統進行了一個分析、設計、比較的過程,才能快速構造一個原型系統,這個原型系統蘊含著開發人員分析、設計、比較的思路,只不過開發人員直接用物理模型表達了對系統的理解,而省卻了結構化法中的大量的文檔資料。面向對象法面向對象法(OO)是近年來發展起來的一種系統開發方法,它與原型方法的設計與實現有一定的共同之處。不同的是,面向對象法是一種從系統調查分析之后就開始面向對象進行分析的開發方法。它強調系統設計之前的系統分析,強調以系統中的數據或信息為主線,全面、系統、詳盡地描述系統的信息,建立系統的信息模型,指導系統的設計。面向對象法按系統開發的一般過程分為面向對象分析(OOA)、面向對象設計(OOD)、面向對象編程(OOP)。由于本系統是我院自行開發,以前也沒開發過類似系統,而結構化系統開發方法強調系統開發過程的整體性和全局性,強調在整體優化的前提下考慮具體設計的問題,即自頂向下的開發方法。嚴格的區分系統開發的各個階段,強調一步一步的進行嚴格的系統設計和分析,對每一步工作及時總結,發現問題及時反饋和糾正,避免了開發過程的混亂狀態,在目前被廣泛采用。所以本系統的開發方法采用了結構化開發方法。1.2.3系統開發的可行性研究在新的系統開發之前,要進行可行性研究,主要包括技術可行性、經濟可行性和社會可行性三方面。1技術可行性研究
先進的軟件技術、數據庫技術和網絡技術作為計算機技術的一部分在過去的幾十年中都得到了迅猛的發展,這為本系統的開發提供了技術后盾。本系統開發基于.Net框架的管理信息系統架構;設計模式采用MVC,開發環境采用微軟的MicrosoftVisualStudio2005,應用服務器選擇IISWeb服務器,數據庫選擇MicrosoftSQLServer2005;在技術上講有一定的挑戰性,但具有很高的研究價值。經濟可行性研究在現代的餐飲行業,餐飲經營管理仍是一項比較繁重的工作,把點菜、預定、財務等的工作交給計算機來處理,充分利用計算機運算速度快的優勢來減輕工作人員的負擔,成為一項亟待解決的問題。實現酒店經營的信息化,可以大大減輕酒店工作和管理人員的負擔,節省大量的人力、物力。而且本系統系本校自己研究開發,擁有版權。社會可行性研究本系統的使用者都是計算機能力很低的工作人員,本系統開發時充分考慮了用戶的操作習慣,系統運行時盡量減少數據的鍵盤錄入,界面通過瀏覽器輸出,其中的無線點菜系統,是運用比較常見的PDA作為客戶端運行環境,可以用筆觸方式進行操作,簡單易懂。本系統開發前的準備活動、開發以及系統的運行等活動不違反現行的法律法規,沒有對他人的專利、版權構成侵犯,與現行的管理制度沒有沖突。1.3結構化系統分析1.3.1系統業務流程分析本章主要列出各分系統的主要業務流程,以體現本酒樓管理信息系統的主要業務及部門之間的數據關系,為系統分析提供依據。業務流程參考圖例參見圖1-2。業務實體 業務處理決策與判斷 數據存儲單據 業務流業務實體 業務處理決策與判斷 數據存儲單據 業務流圖1-2業務流程圖參考圖例會員管理業務流程業務描述:顧客可持春景海鮮酒樓消費結賬單到柜臺辦理會員卡,會員卡可以當成儲值卡使用,可充值、兌現,系統會根據會員累計消費金額升級會員等級。業務流程圖如圖1-3所示。
成功顧客顧客消費驗證會員檔案顧客資料”領取廠\- 無效結賬單打印消費臺帳會員卡消費結賬單按消費累計金額升級會員登記會員資料失敗---添加記錄柜臺辦卡讀取會員信息圖1-3會員管理業務流程圖預定管理業務流程業務描述:接待顧客前臺預定,登記預定信息業務流程圖如圖1-4成功顧客顧客消費驗證會員檔案顧客資料”領取廠\- 無效結賬單打印消費臺帳會員卡消費結賬單按消費累計金額升級會員登記會員資料失敗---添加記錄柜臺辦卡讀取會員信息圖1-3會員管理業務流程圖預定管理業務流程業務描述:接待顧客前臺預定,登記預定信息業務流程圖如圖1-4所示。驗證非會員歷史預定記錄.預定臺帳 k檢索匹配餐臺推薦餐臺/菜例生成預定訂單圖1-4預定管理業務流程圖無線點菜業務流程業務描述:顧客進店,服務員安排入座,顧客點菜后,服務員通過手持終端提交點菜清5.收銀結賬業務流程業務描述:顧客消費結束后到柜臺結賬,顧客可憑會員卡享受相應折扣優惠。業務流程圖如圖1-6所示。卡號密,會員卡顧客4余額驗證”/現金消費結賬單消費臺帳失敗成功消費小票修改消費賬單狀態修改餐臺狀態餐臺臺帳 :柜臺結賬讀取賬號余額打印結賬單卡號密,會員卡顧客4余額驗證”/現金消費結賬單消費臺帳失敗成功消費小票修改消費賬單狀態修改餐臺狀態餐臺臺帳 :柜臺結賬讀取賬號余額打印結賬單提醒充值圖1-6收銀結賬業務流程圖1.3.2數據流程分析數據流程分析是對業務流程的抽象,數據流程圖從數據傳遞和加工的角度,以圖形的方式刻畫數據流輸入、輸出、存儲和處理的邏輯關系。數據流程圖是結構畫系統分析的主要工具,它表示了系統內部信息的流程,并表示系統的邏輯處理的功能,也稱邏輯數據流程圖用到的基本圖例參考,見圖1-7。本系統的分層數據流程圖參見圖1-8至圖1-14。外部實體數據存儲數據處理數據流圖1-7數據流程圖參考圖例圖1-8餐飲管理系統頂層數據流程圖D9DID2D3D5D6■P^經理D8餐臺預定占用信,息餐臺預定參考臺帳員工信息考勤信息預定臺帳預定信息餐臺臺帳會員資料工作人員會員管理子系統菜例信息菜例信息員工信息 ?一顧客消費記錄D10預定信息D10消費臺帳會員檔案人事檔案查詢統計子系統營業統計—信息一各部門考勤—信息—菜例臺帳考勤臺帳再、~ 信息D9DID2D3D5D6■P^經理D8餐臺預定占用信,息餐臺預定參考臺帳員工信息考勤信息預定臺帳預定信息餐臺臺帳會員資料工作人員會員管理子系統菜例信息菜例信息員工信息 ?一顧客消費記錄D10預定信息D10消費臺帳會員檔案人事檔案查詢統計子系統營業統計—信息一各部門考勤—信息—菜例臺帳考勤臺帳再、~ 信息收銀結賬子系統會員信息人事管理子系統餐臺信息無線點菜子系統各部門人事部P1預定管理子系統1圖1-9餐飲管理系統第一層數據流程圖圖1-10預訂管理數據流程圖D5P2進店消費P2顧客D2D1預定菜例信息D9會員檔案預定臺帳消費記錄D10消費臺帳會員餐臺臺帳餐臺信息■P24推薦餐臺\菜例檢索歷史消費信息餐臺預定占用信息餐臺預定參考臺帳檢索匹配餐臺T非會員■P2.3 P25修改餐臺狀態—P2b—手持終端點菜判斷是否會員圖1-11無線點菜數據流程圖顧客柜臺打印消費清單手持終端下單顧客催菜緩菜D3菜例臺帳D9預定臺帳D2?、一丿* P26.4 修改上菜
狀態顧客加菜后廚分單
打印上菜小票圖1-12無線點菜第二層數據流程圖圖1-13收銀結賬數據流程圖
圖1-14會員管理數據流程圖1.3.3數據字典本系統的數據字典的例子如表1-1至1-6所示。(條目盡可能多些)表1-1數據元素條目編號名稱別名說明數據值類型取值范圍長度有關數據結構1-001菜例編碼food_code酒店菜例編碼離散0001-99994菜例表1-002消費清單編碼sell_list_code消費單流水號離散xxxxxxxxOOOl—xxxxxxxx999912消費清單表、消費清單詳細表表1-2數據結構條目編號名稱說明結構有關數據流2-001菜例表菜例基本信息菜例編碼、菜例名稱、菜例簡拼、菜例類別、計價單位、成本單價、銷售單價、服務員提成比例、打折比例菜例類別信息,消費清單詳細信息2-002消費清單表顧客消費結賬單消費清單編碼、會員編碼、清單狀態、餐臺編碼、顧客人數會員信息,預定信息,餐臺信息
表1-3 數據流條目編號名稱說明來源去向組成數據流量最大流量3-001預定單前臺登記的預訂單前臺預定餐臺消費預定清單編碼、顧客姓名、預定狀態、聯系方式、預定餐臺、預定日期、預定時段、預定押金、操作員10份/天100份/天表1-4數據存儲條目編號名稱說明輸入輸出組成有關數據流4-001預訂單顧客預定信息前臺預定登記經理、后廚查詢預定清單編碼、顧客姓名、預定狀態、聯系方式、預定餐臺、預定日期、預定時段、預定押金、操作員P1—D9D9—P2D9—P64-002消費清單表顧客消費結賬單前臺點菜柜臺結賬消費清單編碼、會員編碼、清單狀態、餐臺編碼、顧客人數P2—D10D10—P3表1-5處理過程條目編號說明輸入處理邏輯輸出5-001顧客點菜下單餐臺信息,顧客信息,菜例信息根據餐臺占用信息,檢索數據文件,確定餐臺使用狀態,根據顧客人數確定餐臺,根據菜例信息,點菜下單顧客消費單詳細表1-6外部實體條目編號名稱別名說明輸入數據流輸出數據流5-001預定單t_order登記顧客預定信息餐臺信息預定清單1.4結構化系統設計1.4.1系統總體結構設計綜合考慮改進后的系統邏輯模型和設計系統原則、目標的要求,繪制新系統的系統總體設計功能結構圖參見圖1-15。
圖1-15系統總體設計功能結構圖1.4.2數據庫設計數據庫設計是系統設計的核心。數據庫系統應具有數據的共享性、數據的安全保密性數據的完整性。數據庫數據一般要經過概念結構設計、邏輯結構設計、物理結構設計。概念結構設計概念設計是在數據分析的基礎上,自底向上建立整個系統的數據庫概念結構。本系統用實體聯系模型(E-R圖)進行數據庫概念設計,E-R圖參見圖1-16,實體屬性圖參見圖1-17。圖1-16系統E-R圖1房間類型,2餐臺編碼,3所在區域,4餐臺名稱,5容納人數1員工編碼,2廚師編碼,3所在窗口1菜例編碼,2菜例名稱,3菜例簡拼,41房間類型,2餐臺編碼,3所在區域,4餐臺名稱,5容納人數1員工編碼,2廚師編碼,3所在窗口圖1-17實體屬性圖邏輯結構設計邏輯設計的任務是把E-R模型所表示的概念結構轉換為關系模型,即把概念結構轉換為相應的邏輯結構。根據圖1-16的系統E-R圖進行邏輯結構設計,設計結構如下:(1)房間區域(區域編碼、區域名稱)房間類型(房間類型編碼、房間類型、初始消費)餐臺(餐臺編碼、餐臺名稱、房間類型、所在區域、容納人數)菜例類別(菜例類別編碼、菜例類別)廚師(廚師編碼、員工編碼、所在窗口)菜例(菜例編碼、菜例名稱、菜例簡拼、菜例類別、計價單位、成本單價、銷售單價、服務員提成比例、打折比例)菜例制作(菜例編碼、廚師編碼)(8)點菜備注(備注編碼、菜例備注)(9)退菜說明(說明編碼、退菜說明)預定時段(時段編碼、時段名稱、起始時間、終止時間)用餐時段表(時段編碼、餐臺編碼、餐臺狀態)餐臺預定參考表(餐臺編碼、預定日期、時段編碼、預定狀態)(13)部門(部門編碼、部門名稱、備注)崗位(崗位編碼、崗位名稱、職責、備注)會員等級(等級編碼、等級名稱、享受折扣比例、積分下線)員工檔案(員工編碼、員工姓名、姓名簡拼、性別、出生日期、身份證號、籍貫所屬部門、所任崗位、入職日期、在職狀態、聯系方式)員工調動臺帳(員工編碼、原始部門、調入部門、所任崗位、調動日期)會員檔案(會員編碼、會員姓名、姓名簡拼、性別、出生日期、賬戶余額、會員等級、當前累計積分、辦理日期、會員狀態、聯系方式)消費清單表(消費清單編碼、會員編碼、清單狀態、餐臺編碼、消費數量、顧客人數、進店時間、離店時間、應收金額、實收金額、結賬單金額、收銀員)消費清單詳細表(消費項目編碼、消費清單編碼、菜例編碼、上菜狀態、菜例數量、金額、廚師編碼、點菜時間、上菜時間、點菜備注、退菜說明、服務員)預定清單(預定清單編碼、顧客姓名、性別、預定狀態、聯系方式、預定餐臺、預定日期、預定時段、預抵時間、取消時間、預定押金、顧客留言、顧客人數)物理結構設計物理設計的目的是確定數據庫的物理儲存結構。設計結構參照表1-7至表1-13。字段名稱字段描述數據類型…是否主鍵room_type_code房間類型編碼varchar(2)是room_type_name房間類型varchar(20)start_money初始消費decimal(8,1)
表1-8餐臺設置表(tdesk)字段名稱字段描述數據類型是否主鍵desk_code餐臺編碼varchar(4)是desk_name餐臺名稱varchar(20)room_type_name房間類型varchar(20)area_name所在區域varchar(20)person_count容納人數int表1-9會員表(member)字段名稱字段描述數據類型是否主鍵member_code會員編碼varchar(12)是member_name會員姓名varchar(20)member_name_jp姓名簡稱varchar(20)Sex性別varchar⑵birth出生日期datetimeaccounting賬戶余額decimal(8,1)level_name會員等級varchar(20)current_point當前累計積分intreg_date辦理日期datetimemember_state會員狀態varchar(4)phone聯系方式varchar(20)表1-10菜例表(tfood)字段名稱字段描述數據類型是否主鍵food_code菜例編碼varchar(4)是food_name菜例名稱varchar(20)food_name_jp菜例簡拼varchar(20)food_type_name菜例類別varchar(20)jjdw計價單位varchar(20)in_price成本單價decimal(8,1)out_price銷售單價decimal(8,1)staff_discount服務員提成比例decimal(3,2)food_discount打折比例decimal(3,2)表1T1預定表(torder)字段名稱字段描述數據類型是否主鍵order_code預定清單編碼varchar(12)是person_name顧客姓名varchar(20)sex性別varchar(2)orde_state預定狀態varchar(4)phone聯系方式varchar(20)desk_code預定餐臺varchar(4)order_date預定日期datetimeorder_time_code預定時段varchar(2)in_time預抵時間datetimecancel_time取消時間datetimeorder_money預定押金decimal(8,1)person_remark顧客留言varchar(20)person_count顧客人數int表1-12消費清單表(tselllist)字段名稱字段描述數據類型—是否主鍵sell_list_code消費清單編碼varchar(12)是member_code會員編碼varchar(12)list_type清單類別varchar(4)list_state清單狀態varchar(4)desk_code餐臺編碼varchar(4)person_count顧客人數intin_time進店時間date_timeout_time離店時間datetimetotle_money應收金額decimal(8,1)real_money實收金額decimal(8,1)write_money結賬單金額decimal(8,1)staff_code收銀員varchar(4)表1-1,消費清單詳細表(tselldetail)字段名稱字段描述數據類型是否主鍵sellitemcode消費項目編碼varchar(12)是selllistcode消費清單編碼varchar(12)foodcode菜例編碼varchar(12)foodstate上菜狀態varchar(4)foodcount數量inttotlemoney金額decimal(8,1)foodstaffcode分工編碼varchar(4)foodregtime點菜時間datetimefoodcometime上菜時間datetimeorderremarkname點菜備注varchar(20)exitintroname退菜說明varchar(20)staffcode服務員varchar(4)1.4.3代碼設計代碼設計是一種科學管理的問題,合理的代碼設計將便于管理人員的管理工作和用戶查詢。代碼就是以數字或者字符來代替各種客觀實體。本系統中的重要代碼有會員編碼、消費清單編碼等這些編碼的編碼方式都是層次碼。⑴本系統的會員編碼格式為:XXXXXXXXXXXX其中XX為“hy”,XXXXXXXX代表會員辦理日期,XX代表會員順序編號。例如:hy2009051701表示會員2009051701的辦理日期為2009年05月17日。⑵本系統的消費清單編碼格式為:XXXXXXXXXXXX其中XX為“xf”,XXXXXXXX代表消費日期,XX代表賬單順序編號。例如:xf2009051701表示消費單2009051701登記日期為2009年05月17日。1.4.4輸入輸出設計1.輸出設計輸出是由計算機對輸入的原始信息進行加工處理,形成高質量的有效信息,并使之具有一定的格式,提供管理者使用,這是輸出設計的主要職責和目標。計算機系統對輸入的數據進行加工處理的結果,只有通過輸出才能為用戶所使用。輸出形式的好壞也要影響到系統的功能。輸出的信息要精確、及時、直觀、易為用戶所接受。在報表設計中,本系統采用了水晶報表軟件,可以把報表輸出的和上報格式一模一樣從而減輕了管理人員的工作量。下面給出了營業報表匯總統計報表的輸出設計界面,參見圖1-17所示。
營業報表匯總銃計匯總時間段: 2009-05-31至2009-07-02清單編碼潔單狀態消費數量密臺名稱消費金額結賬日期跟單員200906070001已皓213號餐臺128.002009年06月0T日白收銀200906070002掛賬7也號餐臺58.002009年06月0T日白收銀200906070003已皓19玫瑰廳181.402009年06月0T日白收銀200906070004掛賬71號密臺42.402009年06月0T日白收銀200906080001已皓31號密臺27.502009年06月疋舊白收銀200906080002已皓21號密臺50.002009年06月疋舊白收銀200906080003已皓22號密臺50.002009年06月疋舊白收銀yd2009060801已皓10梅花廳185.002009年06月疋舊白收銀金額合計:T22.30匯總時間:2009-06-15圖1-17營業報表匯總統計2.輸入設計輸入設計擔負著將系統外的數據以一定的格式送入計算機的任務。輸入設計的一條重要原則是確保系統輸入的信息準確無誤,還應做到輸入方法簡單、迅速、經濟及方便用戶。圖1-18給出了手持終端無線點菜的輸入設計界面。圖1-18無線點菜終端-選擇菜例1.4.5模塊功能與處理過程設計以預定接待流程處理為例,其處理流程如圖1-19所示。
圖1-19預定接待處理流程圖1.4.6信息系統安全設計下面從系統架構設計、角色及用戶權限控制、數據庫訪問等方面分析本系統如何保障數據和系統的安全。系統架構設計安全性本系統采用三層系統架構,由顯示層、中間層、數據層組成。每層的功能清楚,層與層之間不能跨越,客戶端不直接與數據庫進行交互,而是通過COM/DCOM通訊與中間層建立連接,中間層經過ADO.NET實現對數據層的數據進行訪問,實現了顯示、數據、邏輯的分開,減少了耦合度°ASP.NET在網頁中使用基于事件的處理,顯示層的頁面代碼和后臺的代碼分離。.NET中可以方便地實現組件的裝配,后臺代碼通過命名控件可以方便地使用自己定義的組件。顯示層放在ASP頁面中,數據庫操作和業務邏輯用組件來實現,方便地實現了三層架構,減少入口點,防止客戶端被破壞而給數據庫帶來損失的風險,保證系統的安全。角色及用戶權限控制ASP.NET應用的安全性系統利用ASP.Net與MicrosoftInternet信息服務聯合起來協同工作提供了優秀的安全控制,包括身份驗證和權限控制兩部分。身份驗證是對發送請求信息的用戶進行身份識別,一旦驗證通過,權限控制程序就會決定用戶是否有權限訪問所調用的資源。ASP.NET支持三種類型的身份驗證,分別是Windows身份驗證、表單身份驗證、Passport身份驗證。基于表單的驗證,是三種驗證方式中最靈活的一種。基于表單的驗證服務使用Session來驗證用戶,Session是一小段文本信息,伴隨著用戶請求和頁面在Web服務器和瀏覽器之間傳遞,用戶每次訪問站點時,Web應用程序都可以讀取Session包含的信息。在登
錄頁面中,用戶輸入用戶名和密碼,提交該頁面送回服務器,應用程序根據存儲在數據庫中的數據來驗證請求,用戶通過驗證后,ASP.NET發出一個Session,里面包括了為此用戶產生的一個有效的身份票據,該身份票據是用戶進行系統訪問的“通行證”。在隨后發出的請求頁面的請求報頭里包含此Session,假如沒有通過驗證則用戶被重新定位到登錄頁面。3.數據庫訪問安全性數據庫訪問的安全性在基于網絡的系統中,用戶的信息安全是非常重要的,一旦用戶的密碼被盜取后,系統的數據和整個數據庫也就不安全了,通過對用戶的口令加密可以解決這個問題,用戶密碼不以明文的方式存儲在數據庫中,而是存儲它們加密后的版本。當需要對用戶進行驗證時,只是對用戶的口令再進行加密,然后把它與數據庫中的加密口令進行比較即可。1.4.7網絡系統方案設計系統網絡拓撲結構圖,參見圖1-20。顧客來電顯示設備手持錄頁面中,用戶輸入用戶名和密碼,提交該頁面送回服務器,應用程序根據存儲在數據庫中的數據來驗證請求,用戶通過驗證后,ASP.NET發出一個Session,里面包括了為此用戶產生的一個有效的身份票據,該身份票據是用戶進行系統訪問的“通行證”。在隨后發出的請求頁面的請求報頭里包含此Session,假如沒有通過驗證則用戶被重新定位到登錄頁面。3.數據庫訪問安全性數據庫訪問的安全性在基于網絡的系統中,用戶的信息安全是非常重要的,一旦用戶的密碼被盜取后,系統的數據和整個數據庫也就不安全了,通過對用戶的口令加密可以解決這個問題,用戶密碼不以明文的方式存儲在數據庫中,而是存儲它們加密后的版本。當需要對用戶進行驗證時,只是對用戶的口令再進行加密,然后把它與數據庫中的加密口令進行比較即可。1.4.7網絡系統方案設計系統網絡拓撲結構圖,參見圖1-20。顧客來電顯示設備手持PDA點菜1前臺預定系統大廳收銀臺數據庫服務器【域網交換機無線AP局域網集線器經理查詢端后廚打印機1手持PDA點菜2手持PDA點菜3局域網
打印服務器包廂收銀臺圖1-20網絡拓撲結構圖1.5系統主要界面與核心代碼1.5.1系統主界面本系統的主界面參見圖1-21。圖1-21系統主界面1.5.2基礎數據界面1.餐臺設置圖1-22餐臺設置界面(注:寬圖的寬度13厘米,高度合適)2.菜例管理請輸入菜例簡拼關犍字: 檢索添加菜例編碼菜例名稱菜倒簡拼菜倒類別計價單隹戰本單價銷售單價提威比例打折比倒選擇0001酸菜魚scy熱菜元/份15.02^.00.151.00選擇ULILI2水煮魚gzy熱菜元f份13.030.00.2U1riu選擇0003麻辣呈腐tnldf熱菜元/份5.010.00.001.00123圖1-23菜例管理界面圖1-22和圖1-23中的“插入”按鈕均使用中FormView控件集成的“插入”事件代碼。1.5.3主要業務界面1.顧客開臺當前餐臺時段:午餐請填寫顧客人數: 檢索餐臺開臺點菜注銷餐臺名稱所在區域餐臺狀態容納人數進店時間消費金額選擇3號餐臺大廳占用6212009-6-723:43:37128D選擇 4號餐臺大廳空閑 812當前餐臺的點菜清單萊例名稱上菜狀態菜例數量單價金額點菜時間上菜時間蜃務員酸菜魚即起425.050.02009-6-723:44:07白收銀麻棘豆腐 即起 3 10.0 30.0 2009-6-723:44:32 白收銀米飯等叫62.012.02009-6-723:45:05白收銀標準賽具 即起 6 1.0 6.0 2009-6-723:45:31 白收銀水煮魚即起230.030.02009-6-723:46:02白收銀圖1-24顧客開臺界面圖1-24中“開臺”按鈕的代碼如下:(注意字號五號,注意縮進,注釋盡可能多)if(GridView1.SelectedIndex!=-1)//當選擇項不為空時{ (注意字號小五號,行距10,注意縮進)LabelLabelt=(Label)GridView1.SelectedRow.FindControl("Label6");MsgAlert("當前餐臺已經占用或者被預定,不能開臺!");if(Labelt.Text!="空閑")//如果選中項的餐臺狀態不是空閑狀態{MsgAlert("當前餐臺已經占用或者被預定,不能開臺!");else//如果選中項的餐臺狀態是空閑狀態{ObjectDataSource5.Insert();//此處調用存儲過程“p_sell_list_add“GridView1.DataBind();}}else{MsgAlert("請先選擇餐臺!");}其中,存儲過程“p_sell_list_add”的創建代碼如下:createprocedure[dbo].[p_sell_list_add]@order_time_codevarchar(2),@desk_codevarchar(4),@person_countintasdeclare@sell_list_codevarchar(12)//聲明消費編碼變量declare@current_datevarchar(8)declare@index_codevarchar(4)declare@start_moneydecimal(8,1)beginset@current_date=(selectconvert(varchar(12),getdate(),112))//格式化當前日期字符串,如果當前日期是2009年7月6日,格式化后變成20090706select@sell_list_code=max(sell_list_code)fromt_sell_listwheresubstring(sell_list_code,1,8)=@current_dateif(@sell_list_codeisnull)//如果數據表中沒有記錄,定義初始消費編碼。beginset@sell_list_code=@current_date+'0001'endelse//數據表中已經有記錄的情況下beginif(substring(@sell_list_code,1,8)<>@current_date)//如果數據表中沒有當天的數據記錄,定義初始消費編碼。beginset@sell_list_code=@current_date+'0001'endelse//如果數據表中已經有當天的數據記錄,系統將進行自動編碼。beginset@index_code=substring(@sell_list_code,9,4)set@index_code=@index_code+1while(len(@index_code)<4)beginset@index_code='0'+@index_code//當序號編碼,即消費編碼的后四位,如果相加之后不滿足四位,進行補“0”處理。endset@sell_list_code=@current_date+@index_code//拼消費編碼,即當天日期格式化后字符串連接序號編碼。endendset@start_money=(selectstart_moneyfromv_deskwheredesk_code=@desk_code)//讀取餐臺初始消費價格。insertintot_sell_list//向消費清單表中添加記錄。(sell_list_code,desk_code,person_count,totle_money)values(@sell_list_code,@desk_code,@person_count,@start_money)updatet_desk_timesetdesk_state='占用'wheredesk_code=@desk_codeandorder_time_code=@order_time_code//增加記錄后,將當前餐臺的使用狀態改為“占用”狀態。end2.終端點菜圖1-25終端點菜界面圖1-25中“確定”按鈕的代碼如下:if(myMobileService.InsertSellDetail(frmFoodlist.sell_list_code,myMobileService.GetFoodById(frmFoodlist.food_code).Tables[0].Rows[0][3].ToString(),comboBox2.Text.ToString(),Convert.ToInt32(numericUpDown1.Value.ToString()),frmEnter.operator_code,comboBoxl.Text.ToString())〉T)//調用存儲過程:p_sell_detail_add//如果點菜成功,即向消費清單詳細表中添加記錄成功。{frmFoodlistfrmfoodlist=newfrmFoodlist();//實例化窗體“frmFoodlist"frmfoodlist.Show();this.Hide();}其中,存儲過程“p_sell_detail_add”的創建代碼如下:createPROCEDURE[dbo].[p_sell_detail_add]@sell_list_codevarchar(12),@food_codevarchar(4),@food_statevarchar(4),@food_countint,@staff_codevarchar(4),@order_remark_namevarchar(20)ASdeclare@sell_item_codevarchar(12)declare@out_pricedecimal(8,1)declare@food_discountdecimal(3,2)BEGINselect@sell_item_code=max(sell_item_code)//項目自動編號fromt_sell_detail//讀取數據表記錄中字段“sell_item_code"的最大編碼if(@sell_item_codeisnull)beginset@sell_item_code='000000000001'endelsebeginset@sell_item_code=@sell_item_code+l//對消費清單詳細表中項目編碼字段進行累加處理。while(len(@sell_item_code)<12)beginset@sell_item_code='0'+@sell_item_code//當項目編碼相加之后不滿足12位,進行補“0”處理。endendset@out_price=(selectout_pricefromt_foodwherefood_code=@food_code)//讀取菜例價格set@food_discount=(selectfood_discountfromt_foodwherefood_code=@food_code)//讀取菜例的折扣insertintot_sell_detail//向消費清單詳細表中添加記錄(sell_item_code,sell_list_code,food_code,food_state,food_count,staff_code,totle_money,order_remark_name)values(@sell_item_code,@sell_list_code,@food_code,@food_state,@food_count,@staff_code,@food_count*@out_price*@food_discount,@order_remark_name)updatet_sell_listsetfoods_count=(selectsum(food_count)fromt_sell_detailwheresell_list_code=@sell_list_code),totle_money=(selectsum(totle_money)fromt_sell_detailwheresell_list_code=@sell_list_code)wheresell_list_code=@sell_list_code//更新消費帳單表END1.5.4主要查詢界面1.菜例管理請輸人菜例簡拼關鍵字: 檢索1添加菜倒編碼菜例名稱菜例筒拼菜例類別計價單童成本單價銷售單價提成比倒打折比倒選擇0001酸菜魚scy熱菜元/份15.025.00.151.00選擇0002水煮魚Sj7,r熱菜元/份13.03U.0U.201.00選擇0003麻辣呈腐mldf熱菜元/份5.010.00.001.00123圖1-26菜例管理界面圖1-26中“檢索”按鈕的代碼如下:if(TextBox8.Text=="")//如果文本框為空,將檢索所有記錄。{GridView1.DataSourceID="ObjectDataSource4";GridView1.DataBind();}else//如果文本框不為空,將檢索出菜例簡拼匹配的記錄。{GridView1.DataSourceID="ObjectDataSource1";GridView1.DataBind();}2.掛賬處理請輸人顧客姓名: 顧客婁型:非會員□檢索 解除掛賬■雞單號掛雞人掛薙人編號雖單狀態清費數量人數應時金額掛雖日期0200906070002王顧客gsdOOOOOOOOOl掛賬7058.02009-06-07圖1-27掛賬處理界面圖1-27中“檢索”按鈕的代碼如下:if(TextBox9.Text==""&&DropDownListl.SelectedValue=="非會員")//如果文本框為空,且下拉框選擇項為“非會員”,將讀取所有掛賬類型為非會員的記錄。{GridView2.DataSourceID="ObjectDataSource4";GridView2.DataBind();}if(TextBox9.Text!=""&&DropDownList1.SelectedValue=="非會員")//如果文本框不為空,且下拉框選擇項為“非會員”,將讀取掛賬類型為非會員姓名與文本框匹配的記錄。{GridView2.DataSourceID="ObjectDataSource5";GridView2.DataBind();}if(TextBox9.Text==""&&DropDownList1.SelectedValue=="會員")//如果文本框為空,且下拉框選擇項為“會員”,將讀取所有掛賬類型為會員的記錄。{GridView2.DataSourceID="ObjectDataSource6";GridView2.DataBind();}if(TextBox9.Text!=""&&DropDownList1.SelectedValue=="會員")//如果文本框不為空,且下拉框選擇項為“會員”,將讀取掛賬類型為會員姓名與文本框匹配的記錄。{GridView2.DataSourceID="ObjectDataSource7";GridView2.DataBind();}1.5.5報表1.顧客消費打印賬單當前位置:功能目錄>收銀結賬>賬單打印請輸人已結賬的賬單編碼:200906070003打印預覽牌號固K? ?M1/1Q主報表H 36 HBu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空航天復合材料 課件知識點3 聚合物基復合材料制備工藝
- 社會穩定測試題及答案
- 儲備獸醫面試題及答案
- 折花技能培訓
- 四肢骨折護理常規
- 縱膈腫瘤切除術診療規范
- 2025年中國噴射式干手機行業市場全景分析及前景機遇研判報告
- 2025年中國尼龍釣魚線行業市場全景分析及前景機遇研判報告
- 美容店入職培訓
- 磚瓦行業安全培訓
- 2024年廣東惠州市交通投資集團招聘筆試參考題庫含答案解析
- 便利店食品管理制度
- 《核分析技術》課件
- 空壓機說明書(中文)
- 【基于Python的電商系統設計與實現14000字(論文)】
- 錄用體檢操作手冊(試行)
- 農民工工資表(模板)
- 各級無塵室塵埃粒子測量表
- 湖北省武漢市江漢區2022-2023學年三年級下學期期末數學試卷
- 南充市儀隴縣縣城學校考調教師考試真題2022
- 廣東省廣州市白云區2022-2023學年數學六年級第二學期期末質量檢測試題含解析
評論
0/150
提交評論