Design und Implementierung eines Restaurant-Bestellsystems auf Basis von C#


Basierend auf einer eingehenden Untersuchung der Arbeitsabläufe kleiner und mittlerer Gastronomiebetriebe ergab die Analyse verschiedener Faktoren, die die Arbeitseffizienz von Gastronomiebetrieben einschränken, dass der Hauptfaktor, der die Effizienz beeinträchtigt, das Phänomen der häufigen manuellen Registrierung von Rezepten ist Dieses System verwendet Computersysteme, um den Arbeitsablauf von Catering- Unternehmen Verwirklichte die vier Hauptfunktionen Kundenbestellung, Chef-Catering, Kassenverwaltung und Systemeinstellungen und löste die Probleme langsamer Kundenbestellung, unklarer Kellnerregistrierung, fehlender Chef-Catering, unzeitgemäßer und unintuitiver Rezeptaktualisierungen und chaotischer Mitgliederverwaltung in Catering-Unternehmen Phänomen.

Schlüsselwörter: Restaurantbestellung; objektorientierte Entwicklungsmethode; C#

Inhalt
Zusammenfassung I
Kapitel 1 Einleitung 1
1.1 Praktischer Hintergrund und theoretischer Hintergrund 1
1.2 Forschungszweck und Bedeutung 2
1.2.1 Zweck 2
1.2.2 Bedeutung 3
Kapitel 2 Systemanforderungsanalyse 4
1. Einleitung 4
1.1 Zweck des Schreibens 4
1.2 Projekthintergrund 4
2 . Definition der Begriffe 5
3. Referenzmaterialien 5
4. Aktueller Arbeitsablauf des Catering-Unternehmens 5
5. Arbeitsablauf des vorgeschlagenen Systems 6
6. Produktfunktionen 7
7. Beschreibung der Softwareanforderungen 7
8. Systemanwendungsfalldiagramm 8
9. Softwareschnittstelle 9
Kapitel 3 Systemdesign 10
1. Systembereitstellungsdiagrammdesign 10 2. Datenbankdesign
11
2.1 Namenskonvention 11
2.2 Sicherheitsdesign 11
2.3 Konzeptionelles Design 11
2.4 Physisches Design 13
2.5 Funktionales Design 15
3. System Moduldesign 16
4. Systemarchitekturdesign 17
5. Client-Systemverzeichnisstruktur 17
6. Systemklassendiagrammdesign 18
7. Hauptmoduldesign 22
7.1 Anmeldemoduldesign 22
7.2 Bestellmoduldesign 24
Kapitel 4 Systemimplementierung 27
1: Systemcodierungsspezifikationen 27
1.1: Typbenennung 27
1.2, Methoden- und Attributbenennung 28
1.3, Variablen und Konstanten 28
1.4, Beschriftungen 29
1.5, Namespace 29
1.6, Notizen 30
2: Modulfunktionsrealisierung 30
2.1 Login-Modulrealisierung 30
2.2 Das Wichtigste Code des Bestellmoduls 31
2.3 Implementierung des Kassenmodulcodes 33
2.4 Implementierung des Cateringmodulcodes 35
2.5 Implementierung des Systemverwaltungsmoduls 35
Kapitel 5 Systemtests 37
1 Einführung 37
1.1 Zweck des Schreibens 37
1.2 Projekthintergrund 37
1.3 Systemeinführung 37
1.4 Begriffe und Abkürzungen 38
1.5 Referenzen 38
2 Testübersicht 38
2.1 Testfalldesign 38
2.2 Testumgebung und -konfiguration 38
2.3 Testmethoden (und -tools) 39
3 Testergebnisse und Fehleranalyse 39
3.1 Testausführung und -aufzeichnungen 39
Fazit 45
Literatur 46
Danke 49

Kapitel 1 Einleitung
1.1 Praktischer Hintergrund und theoretischer Hintergrund
1.1.1 Praktischer Hintergrund
Nach mehr als 30 Jahren der Reform, Öffnung und Entwicklung des chinesischen Gastronomiemarktes kann man sagen, dass unser Land eine Phase großer Entwicklung der Gastronomiebranche einläutet . Das Marktpotenzial ist riesig und die Aussichten vielversprechend. breit. Laut dem von der China Cuisine Association veröffentlichten Catering Industry Development Report 2009 erreichten die Einzelhandelsumsätze der Catering-Branche in der gesamten Gesellschaft selbst im Jahr 2009, als die Wirtschaft hart getroffen wurde, 1.799,8 Milliarden Yuan, eine Steigerung gegenüber dem Vorjahr 16,8 %. Unter ihnen überstiegen die monatlichen Einzelhandelsumsätze 130 Milliarden Yuan, und die Wachstumsrate blieb stabil bei 14,4 % bis 21,6 %. Unter allen Arten von Konsumausgaben ist die Wachstumsrate nach den Transport- und Kommunikationsausgaben am zweitgrößten. Und es wird erwartet, dass der Gastronomiemarkt im Jahr 2012 weiter wächst und der Umsatz 2 Billionen Yuan erreichen wird.
Gleichzeitig haben sich auch Qualität und Konnotation der Entwicklung der Gastronomie meines Landes stark verändert. Das Geschäftsfeld und der Marktraum der Branche wachsen weiter, die Geschäftsebene und die Unternehmensführungsebene verbessern sich weiter, die Geschäftsformen werden immer vielfältiger, die Merkmale der Diversifizierung von Investmentgesellschaften und die Verbrauchernachfrage treten stärker in den Vordergrund, die Zahl Die Zahl der Filialen und Personalteams wächst weiter, der Gastronomiemarkt ist wohlhabender und der Konsum Der Trend zur Personalisierung und Spezialisierung ist offensichtlich, und das Streben nach gesunder Ernährung und die Entwicklung von Kettenmaßstäben sind zu den Themen geworden. Das Entwicklungstempo der Kollektivierung, des Brandings, der Industrialisierung und der Internationalisierung beschleunigt sich und der Prozess der Modernisierung der Gastronomie schreitet ständig voran.
In den letzten Jahren hat die Entwicklung der chinesischen Gastronomiebranche ein starkes und schnelles Wachstum verzeichnet. Gleichzeitig haben wir auch die allgemeinen Probleme in der Gastronomiebranche gesehen. Die Entwicklung von Gastronomiebetrieben verlief schon immer im Zustand der Selbsterforschung, des Selbstbetriebs, der Selbstakkumulation und Selbstverbesserung, wobei die Merkmale geringer Gewinn, hohe Belastung, geringe Unterstützung und schwierige Entwicklung im Vordergrund stehen. Catering-Unternehmen verfügen über sehr unzureichende Bedingungen bei der Entwicklung von Produktstandardisierungstechnologie und -ausrüstung, der Einrichtung eines Kettenmanagementsystems, der Förderung beruflicher Talente, der Absorption von Kapitalinvestitionen, der theoretischen Anleitung und dem Informationsaustausch usw. Es gibt Schwierigkeiten bei der Technologieentwicklung und Ausrüstungsanpassung, Management und Talente. Aufgrund tiefgreifender Faktoren wie Schwierigkeiten bei Vertriebskanälen und Entwicklungsfonds, Schwierigkeiten bei Kommunikation und Zusammenarbeit sowie schwachen Branchenplattformen und grundlegender Unterstützung hat dies einen größeren Einfluss auf die Entwicklung von Unternehmen.

1.2 Zweck und Bedeutung der Forschung
1.2.1 Zweck
In unserem Land mit einer hoch entwickelten „Esskultur“ ist die Gastronomie zweifellos zum größten traditionellen Wirtschaftszweig geworden. Allerdings ist es diese Branche mit langer Geschichte und großem Umfang, die auch zu den Branchen mit dem langsamsten und niedrigsten Informatisierungsgrad gehört. Bisher besteht die Arbeitsweise der meisten Gastronomiebetriebe immer noch in der Situation „Ein Stück Papier, ein Stift, der Chef schreit laut und die Mitarbeiter rennen weg“; und die Buchhaltung basiert immer noch auf einem Stift oder einem Abakus . . , oder im besten Fall ein Rechner für Addition, Subtraktion, Multiplikation und Division, basiert immer noch auf Berechnungen des menschlichen Gehirns, was nicht nur eine enorme Arbeitsbelastung, sondern auch äußerst fehleranfällig ist. Der Autor sah einmal einen Imbissstand mit einem sehr guten Geschäft. Der Kellner hetzte zwischen dem Tisch im Freien, der Lobbybar und der Küche hin und her, während der Manager schwitzend mit einem Taschenrechner beschäftigt war. Es war eine spektakuläre Szene. Ganz zu schweigen von der Bedeutung dieser Art sich wiederholender und eintöniger Arbeit Tag für Tag, sind die Konflikte und Streitigkeiten mit Kunden, die allein durch Fehler bei der Verbrauchsberechnung verursacht werden, unzählig.
Tatsächlich ist die menschliche Zivilisation in das Zeitalter der elektronischen Information eingetreten, und die meisten sich wiederholenden, monotonen und programmierbaren Aufgaben können bereits von Computern erledigt werden. Angesichts komplexer und umfangreicher Rechenaufgaben liegen die Effizienz und Genauigkeit von Computern außerhalb der Reichweite des menschlichen Gehirns. Als traditionelle Branche kann auch die Gastronomie, wie viele andere traditionelle Branchen auch, eine Informationstransformation einleiten.
Der Inhalt der Informatisierungstransformation der Gastronomiebranche umfasst hauptsächlich: den Wechsel von der traditionellen Bestellung per Stift und Papier zur elektronischen Bestellung; die Ersetzung traditioneller manueller Berechnungen, Statistiken und Verwaltung durch Computer für Berechnung, Statistik und Verwaltung; die Ersetzung moderner elektronischer Technologie und drahtloser Technologie , Computertechnologie und Netzwerktechnologie werden in der Gastronomiebranche eingeführt, um einige manuelle Vorgänge zu ersetzen, die Betriebseffizienz von Gastronomiebetrieben zu beschleunigen, das Managementniveau von Gastronomiebetrieben zu verbessern und den Betrieb von Gastronomiebetrieben standardisierter, wissenschaftlicher und effizienter zu gestalten.
Bei der Informatisierungstransformation von Gastronomiebetrieben ist das drahtlose Bestell-(Bestell-)System zum Kerninhalt geworden, und es ist auch die einzige Möglichkeit für Gastronomiebetriebe, die Informatisierungstransformation durchzuführen.
Der Zweck dieses Artikels besteht daher darin, das traditionelle Papier und den Stift für die elektronische Bestellung (Bestellung) durch die Informatisierungstransformation von Gastronomiebetrieben und den Einsatz drahtloser Technologie zu ersetzen, um die sofortige Übertragung von Informationen über große Entfernungen zu realisieren. Natürlich kann das drahtlose Bestell-(Bestell-)System nicht nur Lebensmittel bestellen, sondern durch die unterstützende Catering-Management-Software auch leistungsstarke Statistik- und Verwaltungsfunktionen realisieren, sodass Catering-Unternehmen die Information wirklich realisieren können.
1.2.2 Bedeutung
Informatisierung ist die einzige Möglichkeit, die Qualität und das Managementniveau von Gastronomieunternehmen effektiv zu verbessern, wissenschaftliches Management, wissenschaftliche Entscheidungsfindung, effizienten Betrieb und Kostensenkung zu erreichen. Der Einsatz eines drahtlosen Bestell-(Bestell-)Systems als Ersatz für die traditionelle manuelle Bestellung und der Einsatz von Catering-Management-Software als Ersatz für die traditionelle manuelle Statistik und umfassende Verwaltung sind die Kerninhalte der Informatisierung.
Catering-Unternehmen führen eine Reihe drahtloser Bestellsysteme ein. Die Kosten betragen etwa 10.000 Yuan (abhängig von der Konfiguration), was dem Gehalt eines Kellners für ein Jahr entspricht, aber der damit verbundene Komfort und die Verbesserung der Managementebene sind beispiellos. Die stark verbesserte Betriebseffizienz und die Einsparungen bei den Arbeitskosten, die das drahtlose Bestellsystem mit sich bringt, übersteigen die Investitionskosten bei weitem. Man kann sagen, dass es die beste Wahl für die Informatisierung von Gastronomiebetrieben ist.

Kapitel 2 Analyse der Systemanforderungen
2.1 Einführung
2.1.1 Zweck des Schreibens
Dieses Dokument stellt die Projektanforderungsspezifikation des Restaurant-Bestellsystems dar. Es gibt einen kurzen Überblick über das Restaurant-Bestellsystem, analysiert den aktuellen Geschäftsprozess und fasst die grundlegenden Merkmale dieser Art von Management zusammen System. Gesamtfunktion, alle Anforderungen möglichst vollständig zusammenfassen und extrahieren. Dieses Dokument hat eine sehr wichtige Orientierungsbedeutung für Projektentwickler, Designer und Systemimplementierer.
2.1.2 Projekthintergrund
China ist ein weltbekanntes Gourmet-Land mit einer fünftausendjährigen Esskultur und einem riesigen Gastronomiemarkt. Mit der Veränderung des Lebensstandards und Lebensstils der Menschen verfügt die Gastronomiebranche über einen riesigen Investitionsmarkt, der als Chinas Markt bekannt ist Dabei ist auch zu beachten, dass die Gastronomiebranche nicht nur vor großen Entwicklungsmöglichkeiten, sondern auch vor noch nie dagewesenen Herausforderungen und Prüfungen steht.
Mit der kontinuierlichen Entwicklung der Gastronomiebranche bewegen sich auch Betrieb und Management schrittweise in Richtung Elektronik. Die internen Angelegenheiten der Gastronomiebranche werden über das Computerinformationssystem verwaltet, was den Betrieb einfacher und effizienter macht. Konzentrieren Sie sich auf die Finanzen, reduzieren Sie die Arbeitsintensität der Bediener an vorderster Front, sparen Sie die Schichtzeit des Geschäftspersonals und stärken Sie das Finanzprüfungsmanagement. Stellen Sie eine Vielzahl von Bestell-, Abrechnungs- und Statistikfunktionen bereit und stellen Sie separate Küchen bereit, um die Bestelldaten direkt an der Rezeption auszudrucken. In Gastronomiebetrieben kann der traditionelle Papierherstellungsprozess den Anforderungen moderner Kunden an Informationsunterhaltung und Servicesicherheit nicht gerecht werden. Der Einsatz dieses Systems ermöglicht Restaurantmanagern eine bequeme Verwaltung von Geschäften und Unterhaltung und erhöht die Kostenkontrolle und den Umsatz jedes Geschäfts erheblich. 2.2
Definitionen
Eine hohe Fluktuationsrate bedeutet, dass mehr Gäste gegessen und wieder gegangen sind, während eine niedrige Fluktuationsrate bedeutet, dass dieselben Gäste den Tisch über einen längeren Zeitraum nutzen oder dass die Tischplätze leer sind.
2.3 Der aktuelle Arbeitsablauf von Gastronomiebetrieben
Derzeit verwenden kleine und mittlere Gastronomiebetriebe die Methode der manuellen Buchhaltung, deren Geschäftsprozess in Abbildung 2.1 dargestellt ist

Abbildung 2.1 Einführung in das Flussdiagramm der manuellen Geschäftsprozessanalyse
: Nachdem der Kunde im Restaurant angekommen ist und vom Platzanweiser zum Sitzplatz geführt wird, nimmt der Kunde das Rezept entgegen und registriert das vom Kunden bestellte Essen. Nach Abschluss wird das Rezept angezeigt vom Kunden gesungen und bestätigt werden. Das Catering-Personal, das Catering-Personal, bereitet alle Getränke, Drinks, Desserts und sonstigen Speisen für die Gäste nach den von den Kellnern in der Lobby vorgelegten Rezepten zu. Der Koch bereitet die köstlichen Speisen schnell zu Die Reihenfolge: Zuerst abkühlen und dann heiß nach den Rezepten der Kellner in der Lobby. Machen Sie sich rechtzeitig mit dem Lieferpersonal anfreunden. An den angegebenen Tisch liefern. Nachdem die Gäste mit dem Essen fertig sind, geht der Kellner oder der Kunde zur Kasse, um die Abrechnung durchzuführen. Wenn der Kunde eine Mitgliedskarte hat, sollte die Kassiererin entsprechende Rabatte gewähren. Manchmal kommt es zwangsläufig zu Konkurrenz um Rezepte und falschem Servieren Geschirr, fehlendes Geschirr, vergessenes Servieren von Geschirr und Berechnungsfehler, die zumindest zur Unzufriedenheit der Kunden und schlimmstenfalls zu Streitigkeiten führen. Daher ist es notwendig, eine neue Arbeitsweise einzuführen, um das oben genannte Auftreten der Situation zu vermeiden.
Der Arbeitsablauf des in 2.5 vorgeschlagenen Systems basiert
auf den verschiedenen Nachteilen, die der manuelle Betrieb traditioneller Gastronomiebetriebe mit sich bringt. Es entstand ein neues System, das Computer zur Verwaltung von Informationen verwendet – das Restaurant-Bestellsystem. Der Arbeitsablauf des Systems ist in dargestellt Abbildung 2.2 wie gezeigt

Abbildung 2.2 Automatisiertes Bestellsystem
2.6 Systemfunktionsmodule
Gemäß dem Geschäftsflussdiagramm des vorgeschlagenen Systems wird das Funktionsmoduldiagramm des neuen Systems wie in 2.3 dargestellt analysiert

Abbildung 2.3 Funktionsmoduldiagramm
In Kombination mit dem obigen Funktionsmoduldiagramm werden die Systemanforderungen wie folgt beschrieben:
2.7 Analyse der Softwareanforderungen
1. Benutzeranmeldung
Das System muss Benutzernamen und Kennwort sowie eine Rollenüberprüfungsfunktion bereitstellen und je nach Rolle verschiedene Subsysteme öffnen.
2. Kunden bestellen Lebensmittel.
Kunden wählen je nach Servicekategorie (Sonderangebot, kaltes Gericht, warmes Gericht, Suppe, Wein, Getränk) unterschiedliche Lebensmittel und Mengen aus. Das System berechnet den Gesamtpreis entsprechend den verschiedenen Lebensmitteln, was für die Kunden bequem zu kontrollieren ist den Gesamtpreis. Bei Eingabefehlern stellt das System eine Löschfunktion zur Verfügung. .
3 . Catering Management
Chef konfiguriert die Speisen in chronologischer Reihenfolge gemäß den neuesten Catering-Informationen und übermittelt sie nach Fertigstellung an das Abrechnungsmanagement-Subsystem.
4. Abrechnungsverwaltung
Das System berechnet automatisch den Gesamtpreis anhand der Tischnummer. Wenn das Mitgliedskartensystem die Kartennummer und die Mitgliedsidentität automatisch überprüft, berechnet es den entsprechenden Rabatt und den tatsächlichen Zahlungsbetrag.
5. Systemverwaltung Das System bietet Funktionen
zum Hochladen von Rezeptbildern, Ändern von Rezeptpreisen, Registrieren von Benutzern, Löschen von Benutzern, Mitgliederregistrierung, Mitgliederverwaltung, Durchsuchen von Kundennachrichten und Kundenzufriedenheitsstatistiken. Die Funktionen sind klar gestaltet und die

Abbildung 2.4 Login-Anwendungsfall

Abbildung 2.5 Anwendungsfall „Bestellung“.

Abbildung 2.6 Anwendungsfall Catering

Abbildung 2.7 Anwendungsfall Abrechnung

Abbildung 2.8 Anwendungsfall Systemeinstellungen

2.9 Softwareschnittstelle
Verschiedene vom Windows-Betriebssystem bereitgestellte APIs [10];
Kapitel 3 Systemdesign
3.1 Systembereitstellungsdiagrammdesign
Das Systembereitstellungsdiagramm bezieht sich auf die räumliche Bereitstellung der physischen Struktur und Softwarestruktur des Systems. /S [11] Struktur Diese Struktur basiert auf der Struktur von Client und Server. Der Grund dafür ist, dass die Anwendungsszenarien dieses Systems kleine und mittlere Restaurants und Restaurants sind und die erste Phase des Projekts derzeit keine Webdienste bereitstellt Wird nur im internen Büro des Unternehmens verwendet. Daher ist es wissenschaftlich und vernünftig, die C/S-Struktur zu übernehmen. Die spezifische Struktur ist in Abbildung 3.1 dargestellt.
Abbildung 3.1 Systembereitstellungsdiagramm
Der Server in der obigen Abbildung ist die Grundlage für den Betrieb des gesamten Systems und ist für die Datenübertragung und -speicherung aller Clients verantwortlich. Er verwendet den SqlServer2005-Server und die Netzwerkübertragung verwendet WLAN ( 802.11)-Technologie, der Client verwendet IPAD wird Systemmuss ein virtuelles
Win7-
Terminalals installiert
werden . Datenbank-Anmeldekonto dining 2: Erstellen Sie den Eigentümerbenutzer der Datenbank db_dining Dining 3: Konfigurieren Sie die Kontozuordnung: dining-dining 3.2. 3 Konzeptentwurf Nach der Analyse der Anforderungen des Systems wurde festgestellt, dass das System über die folgenden Einheiten verfügt: wie in Abbildung 3.2-3.8 dargestellt und Die Beziehung zwischen ihnen ist in Abbildung 3.9 dargestellt







Abbildung 3.2 Benutzerentität – Attribute

Abbildung 3.3 Meinungsentität – Attribute

Abbildung 3.4 Mitgliedschaftsentität – Attribute

Abbildung 3.5 Entitätsattribut „Essensliste“.

Abbildung 3.6 Entitätsattribut „Mahlzeitenlistendetails“.

Abbildung 3.7 Rezeptentität – Attribute

Abbildung 3.8 Entitätsbeziehungsdiagramm
3.2.4 Physischer Entwurf
Unter physischem Entwurf versteht man die physische Umsetzung von Datenbankentitäten, und die folgenden Diagramme entsprechen jeder Entität im konzeptionellen Entwurf.
1: T_CAIPU-Tabelle, wie in Abbildung 3.9 dargestellt

Abbildung 3.9 Rezepttabelle
2: T_CanMingXi, wie in Abbildung 3.10 dargestellt

Abbildung 3.10 Essensliste
3: T_CanDan, wie in Abbildung 3.11 dargestellt

Abbildung 3.11 Mahlzeit Tabelle
4: T_Member, wie in Abbildung 3.12 dargestellt

Abbildung 3.12 Mitgliedstabelle
5: T_User, wie in Abbildung 3.13 dargestellt

Abbildung 3.13 Benutzertabelle
6: T_YiJian, wie in Abbildung 3.14 dargestellt

Abbildung 3.14 Meinungstabelle
3.2.5 Funktionsdesign
1: F_CaiJinEById, wie in Abbildung 3.15 dargestellt

Abbildung 3.15: Preisberechnungsfunktion
2: F_CaiMingById, wie in Abbildung 3.16 dargestellt

Abbildung 3.16 Funktion 3 zum Suchen des Gerichtsnamens
: F_MemberLeavlByID, wie in Abbildung 3.17 dargestellt

Abbildung 3.17 Funktion 4 auf Mitgliedsebene
: F_MemberNameByID, wie in Abbildung 3.18 dargestellt

Abbildung 3.18 Funktion „Mitgliedsname“
3.3 Design von Systemmodulen
Basierend auf der Analyse der Systemanforderungen werden insgesamt acht Module entworfen, nämlich die folgenden acht Module [11]. 3.3.1 Systemanmeldemodul
In diesem Modul werden hauptsächlich die Überprüfung der Benutzeridentität und die Rollenprüfung durchgeführt und die Anmeldung bei verschiedenen Subsystemen entsprechend unterschiedlicher Benutzeridentitäten durchgeführt.
3.3.2 Systembestellmodul
Dieses Modul ist das Hauptmodul des Systems. In diesem Modul werden hauptsächlich die Funktionen zum Bestellen von Speisen und Getränken implementiert. Entsprechend der Lebensmittelklassifizierung ist die Schnittstelle in Spezialitäten, kalte Gerichte und warme Gerichte unterteilt , Suppen und Getränke. , ein anderer Bereich für Getränke und ein Bereich zum Bestellen von Speisen.
3.3.3 Catering-Modul des Systems
Dieses Modul richtet sich hauptsächlich an Köche und Getränke-Caterer. Seine Funktion besteht darin, die Bestellliste entsprechend der zeitlichen Reihenfolge der Mahlzeit anzuzeigen, und der Koch konfiguriert verschiedene Speisen und andere Artikel entsprechend der detaillierten Liste des Menüs. Nachdem jede Essensbestellung abgeschlossen ist, übermittelt das System sie an den Kassenbereich.
3.3.4 Kassierermodul des Systems
Dieses Modul richtet sich hauptsächlich an Kassierer. Seine Funktion besteht darin, die Menüs nach der Zubereitung der Mahlzeiten anzuzeigen. Kunden geben nach den Mahlzeiten Tischnummern und Mitgliedskarten ein. Das System berechnet automatisch den Rabattbetrag und den tatsächlichen Zahlungsbetrag. Die Das System aktualisiert die Datenbank automatisch nach Zahlungseingang.
3.3.5 Systemverwaltungsmodul
Dieses Modul richtet sich hauptsächlich an Manager und Manager. Die realisierten Funktionen sind Mitgliederverwaltung, Rezeptverwaltung und Benutzerverwaltungsfunktionen. 3.3.4
Systemarchitekturdesign
Dieses System übernimmt die beliebte C/S-Struktur, die /Server -seitige Struktur, der Client ist ein Anwendungsprogramm basierend auf der .Net FrameWork-Plattform, der Server ist ein Datenbankspeicheranwendungssystem basierend auf SQL Server 2005 und als Programmiersprache wird die objektorientierte Entwicklungssprache C# [13] verwendet. Verwendung von Visual Studio 2010 als Entwicklungstool und beliebtes Softwareentwicklungsmodell – das Wasserfallmodell [14]
3.5 Client-Systemverzeichnisstruktur
Die Client-Verzeichnisstruktur erstellt je nach Modul unterschiedliche Dateiverzeichnisse, um die Dateiverwaltung und zukünftige Sekundärentwicklung zu erleichtern. Der Screenshot ist in 3.19 dargestellt

Abbildung 3.19 Systemverzeichnis
Beschreibung der Verzeichnisstruktur: 1: DianCan: Kundenbestellungsmodul 2: PeiCan: Lebensmittel-Catering-Modul 3: JieZhang: Kassen- und Kassenmodul 4: Verwalten: Systemverwaltungsmodul 5: Bilder: Systembilder 3.6 Systemklassendiagramm-Design gemäß Für
die
Systementitäten in werden insgesamt 6 Klassen entworfen, wie in Abbildung 3.20 unten für Einzelheiten dargestellt

Abbildung 3.20 Strukturdiagramm der Systemklasse Die
detaillierte Beschreibung lautet wie folgt:
1. T_CaiPu-Rezeptklasse, die Attribut- und Methodenstruktur in dieser Klasse sind in 3.21 dargestellt

Abbildung 3.21 Die Rezeptklasse
T_CaiPu wird zur Beschreibung der Rezeptentität im System verwendet. Zu ihren Attributen gehören ID (Rezeptnummer), C_name (Rezeptname), C_Price (Gerichtspreis), C_Type (Kategorie), C_Image (Foto). is_Tejia( Handelt es sich um ein Sonderangebot), isEnable (ob aktiviert oder nicht)
2. Die Benutzerklasse, Attribute und Methoden von T_User sind in Abbildung 3.22 dargestellt

Abbildung 3.22 Benutzerklasse
Die T_user-Klasse wird zur Beschreibung der Systembenutzerentität verwendet. Zu ihren Attributen gehören ID (Datensatznummer), Benutzername (Benutzername), Benutzerkennwort (Benutzerkennwort), Benutzerrolle (Benutzerrolle) und isEnable (Aktivieren oder nicht).
3.T_YiJian (Meinungsklasse): Die Eigenschaften und Methoden dieser Klasse sind in Abbildung 3.23 dargestellt

Abbildung 3.23 Die Meinungsklasse
T_YiJian ist eine Entität zur Beschreibung von Kundenmeinungen. Zu ihren Attributen gehören ID (Meinungsnummer), HJ_YJ (Umweltmeinung), FW_YJ (Servicemeinung), FC_YJ (Essensmeinung), KH_LY (Kundennachricht) 4.
T_Member (Mitgliedsklasse): Die Eigenschaften und Methoden dieser Klasse sind in Abbildung 3.24 dargestellt

Abbildung 3.24 Mitgliedschaftsklasse
Die T_Member-Klasse wird verwendet, um die Entität auf Kundenebene zu beschreiben. Zu ihren Attributen gehören id (Mitgliedsnummer), member_Name (Mitgliedsname), type_id (Mitgliedschaftsebenennummer), isEnable (ob aktiviert werden soll) 5. T_CanDan (Menü
Klasse): Die Eigenschaften und Methoden dieser Klasse sind in Abbildung 3.25 dargestellt

Abbildung 3.25 Die Mahlzeitklasse
T_CanDan ist eine Entitätsklasse zur Beschreibung von Kundenmenüs. Zu ihren Attributen gehören ID (Menünummer), Desk_HM (Tischnummer), xf_je (Verzehrmenge), Member_id (Mitgliedsnummer) und isJieZhang (Kasse oder nicht). , xf_date (Verzehrdatum), state (Verpflegungsstatus)
6. Klasse T_Can_MingXi (Details zur Essensliste): Die Attribute und Methoden dieser Klasse sind in Abbildung 3.26 dargestellt

Abbildung 3.26 Die Menüdetailklasse
T_Can_MingXi ist eine Entität, die zur Beschreibung der Menüdetails verwendet wird. Zu ihren Attributen gehören id (Datensatznummer), can_id (Menünummer), cai_id (Rezeptnummer), cai_SL (Anzahl der Portionen) und cai_JE (jeder Typ). of Dish 3.7.1 Design des Anmeldemoduls
3.7 Hauptmoduldesign besteht darin, zu überprüfen, ob der Benutzername und das Kennwort gültig sind, und dann den Wert der Rollennummer zu beurteilen, falls gültig (1: Kellnerrolle 2: Kochrolle 3: Kassiererrolle 4: Administratorrolle), je nach Rolle werden unterschiedliche Fenster geöffnet. Voraussetzung für dieses Modul ist die Einstellung der korrekten Serveradresse und der Server befindet sich im Startup-Zustand. Die Ein- und Ausgabedaten sind in Tabelle 3.27 Datendaten dargestellt Ausgabetyp Datentypbeschränkung Benutzername Der Eingabezeichenfolgentyp besteht aus 4–10 Ziffern Buchstaben. Der Kennworteingabezeichenfolgentyp besteht aus 4–6 Ziffern Zahlen




Tabelle 3.27 Eingabe- und Ausgabedaten des Anmeldemoduls
Der spezifische Implementierungscode lautet wie folgt:
//Benutzernamenszeichenfolge
un = this.txt_UserName.Text.Trim();
//Passwortzeichenfolge
pwd = this.txt_UserPwd.Text.Trim() ;

//Beurteilen Sie, ob Benutzername und Passwort leer sind
if (address == "" || un == "" || pwd == "")
MessageBox.Show("Benutzername, Passwort, Adresse dürfen nicht leer sein");
else
{ //Bestimmen Sie, ob der Benutzername ein Buchstabe ist und die Länge 4–10 Ziffern beträgt if (!Regex.IsMatch(un, "[a-zA-Z]{4,10}")) { MessageBox.Show("Not ein Buchstabe oder Die Länge reicht nicht aus"); return; } else if (!Regex.IsMatch(un, "[0-9]{4,6}")) { MessageBox.Show("Bitte geben Sie eine Zahl mit 4 ein -6 Ziffern"); return ; } dc = Program.GetDc(address); // gibt das letzte Update in der Datenbank zurück // dc = Program.ChangeDc(dc.T_user); IQueryable<T_user> t_user = dc.T_user. Where (u => u.userName == un && u.userPwd == pwd); if (t_user!=null&&t_user.Count()==1) { this.Hide();



















if (t_user.First().userRole == 1)
{//Öffne das Bestellfenster
MainMenu mm = new MainMenu();
mm.Show();
}
else if (t_user.First().userRole == 4)
{ //Manager öffnen Manage.FrmManage frmManage = new Manage.FrmManage(); frmManage.Show(); } else if (t_user.First().userRole == 2) { //Cheffenster öffnen PeiCan.FrmZuoCai frmZuoCai = new PeiCan .FrmZuoCai(); frmZuoCai.Show(); } else if (t_user.First().userRole ==3) { //Abrechnungsfenster öffnen Jiezhang.FrmJieZhang frm_JieZhang = new Jiezhang.FrmJieZhang(); frm_JieZhang.Show() ; } } else MessageBox.Show("Anmeldung fehlgeschlagen");



















3.7.2 Gestaltung des Bestellmoduls
Das Bestellmodul ist ein wichtiges Modul im System. Es realisiert hauptsächlich die Erstellung von Kundenmenüs und die Lagerung bestellter Gerichte. Die Realisierungsidee dieses Moduls besteht darin, zunächst die heutigen Spezialitäten und kalten Gerichte systematisch anzuzeigen , warme Gerichte und Suppen nach Klassifizierung Klassen, Getränke, Getränke, Gäste registrieren Tische nach ihren Bedürfnissen, wählen Gerichte und Punkte aus (Standard 1), das System berechnet automatisch den Gesamtbetrag, wenn es einen falschen Gast gibt, können Sie einen löschen Geben Sie eine bestimmte Art von Gericht ein und klicken Sie abschließend auf „Senden“, um es in der Datenbank zu speichern. Voraussetzung für die Implementierung dieses Moduls ist dann, dass sich der Benutzer als Kellner am System anmeldet und entsprechende Gerichtinformationen sowie eine bestimmte Anzahl von Tischen in der Datenbank vorhanden sind. Die Eingabe- und Ausgabedaten dieses Moduls sind in Tabelle 3.28 aufgeführt.
Daten Datenausgabetyp Datentypbeschränkungen Gericht
Name Ausgabezeichenfolge Typlänge kleiner als 50
Preis Ausgabezeichenfolge Typlänge weniger als 50
Bild Ausgabe binärer Typ
Tabellennummer Eingabezeichenfolgetyp Länge kleiner als 50
Gericht Name Nummer Eingabenummer
Anzahl der Portionen Eingabenummer
Tabelle 3.28 Eingabe- und Ausgabedaten des Bestellmoduls Konkreter
Implementierungscode:
///
/// Systemanzeigemenü
///
///
///
private void MainMenu_Load(object sender, EventArgs e)
{ dc = Program.dc; cur_z = new Cursor("images/icons/z.cur"); cur_y = new Cursor("images/icons/you1.cur"); tj_list = new List();




lc_list = new List();
rc_list = new List();
t_list = new List();
js_list = new List();
yl_list = new List();
LoadImage(-1, true);
//Sonderpreis standardmäßig anzeigen
if( tj_list.Count!=0)
this.panelEx4.Style.BackgroundImage = tj_list[tj_index];
//Tabellennummer laden
LoadDesk();
}
///
/// Rezept ändern
///
///
// /
private void dgv_CanMingXi_CellContentClick(object sender, DataGridViewCellEventArgs e)
{ if (dgv_CanMingXi.Columns[e.ColumnIndex].Name == „del“) { //Rezept-ID abrufen cai_id = this.dgv_CanMingXi.Rows[e.RowIndex].Cells [“caiid "].Value.ToString();




var mx = canDan.T_Can_MingXi.ElementAt(e.RowIndex);
canDan.xf_je -= mx.cai_JE;
canDan.T_Can_MingXi.RemoveAt(e.RowIndex);
// Steuerung erneut binden
this.lbl_HJ.Text = "total:" + canDan .xf_je + "Yuan";
BindingList<T_Can_MingXi> canList = new BindingList<T_Can_MingXi>(canDan.T_Can_MingXi.ToList());
this.dgv_CanMingXi.DataSource = canList;
}
}

Kapitel 4 Systemimplementierung
4.1 Systemcodierungsspezifikation
Die Systemcodierungsimplementierung übernimmt die derzeit beliebte objektorientierte Programmiersprache C# und folgt daher für zukünftige Systemerweiterungen und Testwartungen der von Microsoft einheitlich veröffentlichten C#-Codierungsspezifikation. Der spezifische Inhalt ist wie folgt : 4.1
. 1 Typbenennung
1. Klassennamen, mit Class deklarierte Klassen müssen mit Substantiven oder Nominalphrasen benannt werden, um die Rolle der Klasse widerzuspiegeln. Zum Beispiel: Klassenindikator Wenn die Klasse ein Attribut (Attribut) ist, enden Sie mit Attribut, wenn die Klasse eine Ausnahme (Ausnahme) ist, enden Sie mit Exception: Klasse ColorSetException Klasse CauseExceptionAttribute Wenn die Klasse nur eine Objektinstanz (globales Objekt) haben muss , wie z. B. Anwendung usw.), muss mit einer Klasse enden, wie z. B. der Klasse ScreenClass, der Klasse SystemClass. Wenn die Klasse nur als Basisklasse für andere Klassen verwendet wird, endet sie je nach Situation mit Base: MustInherit Class IndicatorBase. Wenn die definierte Klasse ein Formular ist, muss nach dem Namen das Suffix Form hinzugefügt werden Bei einem Webformular muss das Suffix hinzugefügt werden. Seite: Klasse PrintForm: Inherits Form '* Windows Forms-Klasse StartPage: Inherits Page '* Web Forms
2. Aufzählungen und Strukturen: müssen auch nach Substantiven oder Nominalphrasen benannt werden. Es ist am besten, die Merkmale einer Aufzählung oder Struktur widerzuspiegeln, wie zum Beispiel: „Enum ColorButtons“ endet mit einer Pluralzahl, was darauf hinweist, dass es sich um eine Aufzählung handelt. Struktur „CustomerInfoRecord“ endet mit „Record“, was darauf hinweist, dass es sich um eine Struktur handelt
3. Delegationstyp: Gängige Delegationstypen werden nach dem Substantiv benannt, das die Aktion beschreibt, um die Funktion der Delegationstypinstanz widerzuspiegeln: Delegate Sub DataSeeker (ByVal SeekString As String), der für die Ereignisverarbeitung verwendete Delegationstyp muss mit EventHandler enden, z : Delegate Sub DataChangedEventHandler (ByVal Sender As Object, ByVal e As DataChangedEventArgs)
4. Schnittstelle: Im Gegensatz zu anderen Typen müssen Schnittstellen mit dem Präfix „I“ und mit Adjektiven benannt werden, um hervorzuheben, welche Fähigkeiten die Klasse, die die Schnittstelle implementiert, haben wird: Schnittstelle ISortable 5.
Modul : Ein Modul ist kein Typ. Sein Name muss nach einem Substantiv benannt sein und das Suffix Module:Module SharedFunctionsModule muss hinzugefügt werden. Das gemeinsame Merkmal aller oben genannten Regeln ist, dass jedes Wort, aus dem der Name besteht, mit einem Großbuchstaben beginnen muss , und Namen, die vollständig in Groß- oder Kleinschreibung geschrieben sind, sind verboten.
4.1.2 Methoden und Attribute benennen
1. Methode: Unabhängig davon, ob es sich um eine Funktion oder ein Unterprogramm handelt, muss die Methode nach einem Verb oder einer Verbphrase benannt werden. Es besteht keine Notwendigkeit, zwischen Funktionen und Unterprogrammen zu unterscheiden und es ist nicht erforderlich, einen Rückgabetyp anzugeben. Sub Open(ByVal CommandString As String), Function SetCopyNumber(ByVal CopyNumber As Integer), der Parameter muss ByVal oder ByRef angeben, was das Programm länger macht, aber es ist sehr notwendig. Wenn keine besonderen Umstände vorliegen, wird ByVal verwendet. Informationen zur Benennungsmethode von Parametern finden Sie im folgenden „Variablenbenennungsmethode“. Für Methoden, die überladen werden müssen, wird Overloads im Allgemeinen nicht geschrieben, und überladene Methoden werden nach Bedarf geschrieben.
2. Attribute: Grundsätzlich können Felder (Field) nicht öffentlich gemacht werden. Um auf den Wert eines Feldes zuzugreifen, werden im Allgemeinen Attribute verwendet. Eigenschaften werden mit prägnanten und klaren Substantiven benannt: Property Concentration als Single, Property Customer als CustomerTypes
3. Ereignisse: Ereignisse sind spezielle Eigenschaften, die nur im Kontext der Ereignisverarbeitung verwendet werden können. Das Prinzip der Benennung ist im Allgemeinen ein Verb oder ein Partizip eines Verbs, und die Zeitform gibt den Zeitpunkt an, zu dem das Ereignis auftritt: Event Click As ClickEventHandler, Event ColorChanged As ColorChangedEventHangler 4.1.3 Variablen und Konstanten Konstanten werden nach Substantiven benannt, die die
Bedeutung
angeben der Konstanten und unterscheiden im Allgemeinen nicht den Typ der Konstanten: Const DefaultConcentration Da Single = 0,01 ist, beginnt die Konstante in Code mit strengen Anforderungen mit c_, z. B. c_DefaultConcentration. Es ist jedoch am besten, sie nicht zu verwenden, da dies zu Problemen führt Schwierigkeiten beim Tippen. Variablen gewöhnlicher Typen können mit aussagekräftigen Namen benannt werden, Abkürzungen und bedeutungslose Namen wie A, x1 usw. sind nicht zulässig. Gute Beispiele finden Sie unten: Dim Index
As Integer
Dim NextMonthExpenditure As Decimal
Dim CustomerName As String
Cannot If the name zu lang ist, sollte es so prägnant wie möglich sein, wie im folgenden Beispiel:
Dim VariableUsedToStoreSystemInformation As String '* falsch, zu kompliziert
Dim SystemInformation As String '* richtig, einfach und klar
Dim sysInfo As String '* falsch, zu einfach
In besonderen Fällen kann eine Variable mit einem Buchstaben in Betracht gezogen werden:
Dim g As Graphic
Bei Steuerelementen sollte die Art des Steuerelements durch direktes Hinzufügen des Klassennamens nach der Variablen angegeben werden:
Friend WithEvents NextPageButton As Button '* button
Friend WithEvents ColorChoicerPanel As Panel '* panel
Friend WithEvents CardFileOpenDialog As FileOpenDialog '* File Open Dialog
Warten Sie, es ist nicht nötig, das Präfix einer Variablen eines bestimmten Typs anzugeben, schreiben Sie einfach den Typ hinten. Versuchen Sie, den folgenden Code zu vergleichen: btnCancel.Text
= "&Abbrechen"
CancelButton.Text = " &Abbrechen"
Letzteres kann dem Leser offensichtlich klar machen, dass es sich bei der Variablen um eine Schaltfläche handelt.
4.1.4 Labels
Labels sind Code-Identifikationen, die für Goto-Sprünge verwendet werden. Da Goto nicht empfohlen wird, ist die Verwendung von Labels relativ streng. Beschriftungen müssen ausschließlich in Großbuchstaben geschrieben sein und die Leerzeichen in der Mitte sollten durch Unterstriche _ ersetzt werden und mit _ beginnen, zum Beispiel: _A_LABEL_EXAMPLE: Beschriftungen werden auf diese Weise definiert, um sie vollständig von anderen Codeelementen zu unterscheiden.
4.1.5 Namespace
Normalerweise verwendet ein Projekt einen Namespace, der normalerweise nicht die Namespace-Anweisung verwenden muss, sondern im „Root Namespace“ der Projektoption angegeben wird. Durch die Verwendung des Root-Namespace kann der Code übersichtlicher und einfacher zu gestalten sein ändern. Das ist VB voller Vorteile. Die Syntax des Namensraums lautet: Firmenname. Produktname [. Plural des Komponentennamens]
wie zum Beispiel: Namespace Ninputer.VirtualScreen
Namespace Ninputer.CardEditor.CustomeControls
Es ist definitiv keine gute Idee, einen Namespace willkürlich zu benennen, und die oben genannten Vorschriften müssen befolgt werden.
4.1.6 Kommentare Es
gibt viele Regeln für Kommentare, und hier ist nur eine davon: Normale Kommentare beginnen mit „, separate“ werden nur verwendet, um vorübergehend nicht verwendeten Code zu kommentieren.
Dies ist ein allgemeiner Kommentar.
„* Dieser Code wird nach dem Debuggen hinzugefügt richtig
'If UseHighSpeed(g) = True Then ...
Dies erleichtert die Verwendung von Code-Kommentartools zur Steuerung der Codeverwendung.
4.2 Modulfunktionsrealisierung
4.2.1 Das Anmeldemodul realisiert
die Anmeldefunktion. Entsprechend dem vom Benutzer eingegebenen Benutzernamen und Passwort wird es mit den Informationen in der Datenbank verglichen. Wenn die Überprüfung erfolgreich ist, werden je nach Benutzername und Kennwort verschiedene Subsysteme eingegeben Rolle. Die Systemrolle basiert auf der Position. Sie ist in vier feste Rollen unterteilt: Kellner, Koch, Kassierer und Manager. Jede Rolle verfügt über unterschiedliche Berechtigungen und Funktionen. Screenshots der Systemimplementierung werden in 4.1 und 4.2 gezeigt

Abbildung 4.1 Benutzername und Passwort ist ein leerer Verifizierungs-Screenshot

Abbildung 4.2 Screenshot der Ziffern des Verifizierungspassworts
4.2.2 Hauptcodes des Bestellmoduls
Die Idee des Bestellmodulcodes besteht darin, dass der Kunde zunächst das Menü durchsucht und verschiedene Lebensmittel auswählt und das System die Lebensmittel zunächst in den Warenkorb legt , und der Kunde kann es in den Warenkorb legen. Das Essen im Warenkorb wird gelöscht und die gleiche Art von Essen kann nicht wiederholt bestellt werden. Das System berechnet automatisch den Gesamtpreis der Lebensmittel im Warenkorb und übermittelt ihn an die Datenbank nach Bestätigung. Die Screenshots des Systems sind in 4.3-4.6 dargestellt

Abbildung 4.3 Freie Tabellen abfragen

Abbildung 4.4 Screenshot von warmen Gerichten

Abbildung 4.5 Drink-Screenshot

Abbildung 4.6 Menü-Screenshot
4.2.3 Code-Implementierung des Kassierermoduls
Die Idee der Implementierung des Kassierermoduls besteht darin, den Rabattbetrag und den tatsächlichen Zahlungsbetrag automatisch gemäß dem Mitgliedsnummernsystem zu berechnen. Der spezifische Code lautet wie folgt.
double yh=0;
//Mitgliedsnummer abrufen
mid = this.txt_Member_id.Text.Trim();
if (xf_je == null || xf_je == "")
{ MessageBox.Show("Bitte wählen Sie ein Menü aus"); } else if ( mid== "") { MessageBox.Show("Bitte geben Sie die Mitgliedsnummer ein"); } else { //Mitgliedsinformationen überprüfen if (dc.T_Member.Count(m => m.id.ToString() = = mid) == 0) { MessageBox.Show("No such member"); } else { //Mitgliedsinformationen anzeigen this.lbl_Member_Info.Text = "Mitgliedsinformationen:" + dc.F_MemberNameByID(Convert.ToInt32(mid)) + ":" + dc.F_MemberLeavlNameByID(Convert.ToInt32(mid)) +

















„–“ + dc.F_MemberLeavlByID(Convert.ToInt32(mid)) + „Level“;
//Rabatt berechnen
yh= Convert.ToInt32(xf_je) * (10 - dc.F_MemberLeavlByID(Convert.ToInt32(mid)).Value) * 0.1d;
this.txt_YH.Text = String.Format(“{0:C2}”,yh);
//Berechnen Sie den tatsächlichen Zahlungsbetrag
this.txt_SF.Text = String.Format(“{0:C2}”, Convert .ToDouble(xf_je) - yh);
isMember = true;//ist ein Mitglied
}
}
Der Screenshot der Systemimplementierung wird in 4.7 gezeigt

Abbildung 4.7 Kunden-Checkout-Screenshot
4.2.4 Coderealisierung des Catering-Moduls
Die Idee der Implementierung der Catering-Modulfunktion besteht hauptsächlich darin, das neueste Menü und den detaillierten Inhalt des Menüs anzuzeigen und das neueste Menü rechtzeitig zu aktualisieren.
4.2.5. Realisierung von Systemverwaltungsmodul
Das Systemverwaltungsmodul realisiert hauptsächlich die Funktionen zum Hinzufügen, Bearbeiten, Löschen und Abfragen von Rezepten, Benutzern, Tabellen, Nachrichten und Mitgliedern, wie in Abbildung 4.8-4.10 dargestellt

Abbildung 4.8 Screenshot der Systemverwaltung

Abbildung 4.9 Screenshot „Rezept bearbeiten“.

Abbildung 4.10 Screenshot der Tabellenverwaltung

Kapitel 5 Systemtest
5.1 Testzweck
Mit wissenschaftlichen Methoden möglichst viele Fehler im System finden, vor allem um zu testen, ob die Systemfunktion den in der Anforderungsspezifikation und den Lungenfunktionsanforderungen festgelegten Funktionsanforderungen entspricht und ob die Systemfunktion erfüllt ist erkannt wurde und ob das System abnormale Daten erfasst und korrekt ausgibt.
5.2 Testmethode
Dieser Testfallentwurf verwendet hauptsächlich die Methode des Black-Box-Tests [15], und die spezifischen Methoden, die im Funktionsmodul- und Integrationstest verwendet werden, umfassen Äquivalenzklassenteilung [16], Grenzwertteilung, orthogonale Zerlegung, Kausaldiagrammanalyse und Fehler Raten 【17】. Regressionstests [18] werden bei Systemtests entsprechend Geschäftsprozessen eingesetzt.
5.3 Testumgebung
1. Serveradresse: 172.16.1.4
2. Betriebssystem: Windows VISTA
3. CPU: Intel® Pentium®4 CPU 3.00HZ
4. Verfügbarer Festplattenspeicher: 160 GB
5. Datenbank: Microsoft SQL Server 2005
6. Testobjekt : FengShaDuMIS.exe

5.4 Testergebnisse
Nach zahlreichen Black-Box-Tests entspricht das System hinsichtlich Funktion und Leistung den Designanforderungen. Nachfolgend finden Sie einen Screenshot des Systems nach dem Test.
1. Die Testsituation des Login-Moduls ist in Abbildung 5.1 dargestellt

Abbildung 5.1 Screenshot des Anmeldetests
2. Die Situation des Bestellmoduls ist in den Abbildungen 5.2 und 5.3 dargestellt

Abbildung 5.2 Screenshot der Hauptoberfläche zum Bestellen von Mahlzeiten

Abbildung 5.3 Screenshot des Bestelltests
3. Die Testsituation des Catering-Moduls ist in Abbildung 5.4 dargestellt

Abbildung 5.4 Der Screenshot des Catering-Tests des Kochs
4. Der Test des Kassierermoduls ist in Abbildung 5.5 dargestellt

Abbildung 5.5 Screenshot des Kassenmodultests
5. Systemverwaltungsmodultest Abbildung 5.6-5.8

Abbildung 5.6 Testdiagramm für die Rezeptverwaltung

Abbildung 5.7 Testdiagramm zur Mitgliedschaftsverwaltung

Abbildung 5.8 Benutzerverwaltungstest Screenshot
6. Nachrichtenverwaltungstest Abbildung 5.9–5.10

Abbildung 5.9 Screenshot des Kundennachrichtentests

Abbildung 5.10 Screenshot der Nachrichtenstatistik

Fazit
Dieser Artikel geht vom Prinzip des Wasserfallmodell-Entwicklungsprozesses aus und diskutiert und etabliert auf der Grundlage der Analyse des Workflows des Catering-Systems das Workflow-Modell des Restaurant-Bestellsystems, das durch C#4.0+DotNet Bar7 realisiert wird. 0+Ling+Sql Server 2005 Das Restaurant-Bestellinformationsmanagementsystem wurde entwickelt, und der Unit-Test und der Integrationstest des Systems unter Verwendung des Black-Box-Testprinzips zeigen dies. Das System realisiert: (1) Kundenbestellung (2) Chef-Catering (3) Kassiererverwaltung (4) Systemeinstellungen. Das Problem dieses Systems zeigt sich hauptsächlich in der rechtzeitigen Aktualisierung von Rezepten. Wenn der Manager den Preis der Rezepte während des Geschäftszeitraums rechtzeitig anpasst, werden die Kunden mit der Situation konfrontiert, dass die Preise bei der Bestellung nicht rechtzeitig aktualisiert werden. Nicht humanisiert B. die fehlende Unterstützung der Bankkartenabrechnung, sind diese Probleme die Richtung für die zukünftige Verbesserung dieses Systems.

Literatur
[1] Gan Huarong, Catering Management and Practice, Peking, University of International Business and Economics Press, 2009, S. 109-120 [2] Miao Fengjun,
LAN Technology and Networking Engineering, Peking, Tsinghua University Press, 2010, 150 -151 Seiten
[3] Li Dajun, POS-Systemanwendung, Peking, Tsinghua University Press, 2004, 10–13 Seiten [
4] Wu Renjie, Webprogrammierung, Peking, China Railway Press, 2009, 5–6 Seiten
[5] Xu Shiliang, Ge Bing, Basics of Computer Software Technology, Beijing, Tsinghua University Press, 2010, S. 25–31 [6]
Peng Aihua, Liu Hui, Wang Shenglin, Windows 7 Detaillierte Erklärung, Beijing, herausgegeben von People’s Posts und Telecommunications Press , 2010, S. 2-3
[7] Qian Shao, Li Huijian, Li Jizhe, C# WinForm Practical Development Course, Peking, Water Conservancy and Hydropower Press, 2010, S. 15-18 [8] Jiang Hanyang, Li Yuejun
, Pang Ya Juan, SQL Server 2005 Database Management and Development Tutorial, Beijing, People's Posts and Telecommunications Press, S. 1–8 [9]
Grady Booch, Ivar Jacobson, James, Rumbaugh, The Unified Modeling Language User Guide [M]. Addison -Wesley, 1998 156
[10] Petzold, Windows Programming, Beijing, Tsinghua University Press, 2010, 245-256
[11] Bertand Meyer, Object Oriented Software Construction [M]. Prentice Hall, 1998, 5 Seiten
[12] Jim Arlow, Ila Neustadt, UML und der einheitliche Prozess: Praktische objektorientierte Analyse und Design [M]. Addison Wesley, 2002, Seite 95 [13] Wang Xiaoke, Lu Shuang, C# vom Einstieg bis zur Meisterschaft, Peking
, Tsinghua University Press, 2008, S. 3-4
[14] Lu Huien, Software Engineering, Peking, People's Posts and Telecommunications Press, 2007, S. 9-10 [15
] Sun Yong, Modern Software Engineering, Peking, Beijing Hope Electronic Publishing Society, 2002, S. 111
[16] Deng Liangsong, Liu Haiyan, Lu Lina, Software Engineering, Xi'an, Xidian University Press, 2004, S. 56-57 [17] Zhou Su, Wang Wen, Software Engineering
Course , Beijing, Science Press, 2002, Seiten 74–75
[18] Wang Shaofeng, Object-Oriented Technology UML Course, Beijing, Tsinghua University Press, 2004, Seiten 23–50

Danksagungen
Die Zeit vergeht wie im Flug und im Handumdrehen ist der Profi-Kurs zu Ende. Im Allgemeinen hat das Projekt von der Themenauswahl bis zur endgültigen Fertigstellung viel erlebt. Ich habe sehr davon profitiert, einige Erfolge erzielt und auch meine eigenen Defizite entdeckt.
1. Es ist wichtiger, eine vertraute Entwicklungssprache und -technologie zu wählen, als blind nach neuen Ideen zu suchen. Wenn man ein Projektthema erhält, fällt einem sofort die objektorientierte C#-Sprache von Microsoft ein, obwohl Java ebenfalls eine neue Generation ist Objektorientierte Entwicklungssprache, aber es gibt gewisse Mängel im UI-Design und in der Effizienz. Daher ist der Anwendungsbereich des Restaurant-Bestellsystems von Lenovo auf das LAN der Einheit beschränkt, sodass ich mich schließlich für die Entwicklungssprache C# entschieden habe. Das Projekt wurde erfolgreich abgeschlossen, danke Die Effizienz der .NET-Entwicklungsplattform.
2. Die Erstellung eines Systemmodells ist ein wirksames Mittel, um Teamarbeit und Kommunikation zu stärken und die Effizienz der Systementwicklung zu verbessern. Als ich die Systementwicklungsaufgabe zum ersten Mal erhielt, wusste ich nicht, wo ich anfangen sollte, und ich wusste nicht, was ich tun sollte. Selbst wenn ich Software aus dem Internet heruntergeladen hatte, wusste ich nicht, wie ich das machen sollte. Später Nach der Lektüre von „Objektorientierte Technologie und UML“, nach der Analyse und Recherche, kombiniert mit den jeweiligen Merkmalen des Wasserfallmodells, des iterativen Inkrements und des Spiralmodells, denke ich, dass die Erstellung eines Softwaremodells am direktesten, am einfachsten zu verstehen und am einfachsten zu erstellen ist Betreiben Sie eine Softwareentwicklungsmethode, da diese Methode auf unterschiedlichen Anforderungen basiert. Ich verstehe, dass dies der einfachste und effektivste Weg ist, mit Entwicklern und Kunden zu kommunizieren, wenn Sie mit Geschäftsregeln nicht vertraut sind. Auch Fakten haben die Richtigkeit dieser Methode bewiesen . Das Restaurant-Bestellsystem hat weniger als zwei Wochen gedauert. Version 1.0 ist fertig.
3. Die tägliche Zusammenfassung ist ein wichtiges Mittel, um Probleme zu finden und den Fortschritt zu kontrollieren. Obwohl ein detaillierter Entwicklungsplan formuliert wurde, werden während des Umsetzungsprozesses auch unerwartete Dinge wie Urlaub, technische Hindernisse usw. durch die tägliche Zusammenfassung auftreten Zusammenfassend können wir den Kern des Problems finden. Wenn es sich um ein Verständnisproblem handelt, sollten wir unser Verständnis verbessern. Wenn es sich um ein technisches Problem handelt, sollten wir rechtzeitig den Lehrer konsultieren oder Informationen im Internet überprüfen. Der Abschluss ist untrennbar mit sorgfältiger Planung und rechtzeitiger Anpassung des Fortschritts verbunden.
4. Neue Technologie ist nicht unbedingt die beste, ausgereifte und stabile Technologie ist die erste Wahl. Bevor ich mich für das Framework entschieden habe, habe ich auch im Internet nach vielen verwandten Technologien gesucht. Die meisten ORM-Frameworks erfordern Konfigurationsdateien und die Installation neuer Komponenten. Diese neuen Technologien haben sicherlich ihre Vorteile, sind aber letztendlich eine neue Herausforderung für mich. Am Anfang Ich habe auch versucht, neue Technologien zu erlernen und neue Technologien im Projekt anzuwenden. Später stellte ich fest, dass die Lernzeit länger war und es schwierig war, das Leistungsniveau zu verdauen, zu absorbieren und zu erreichen. Nachdem ich die Wahl abgewogen hatte, Ich habe mich für Microsoft-Entwicklungstools entschieden. Das damit verbundene ORM-Tool Ling to Sql hat die Codierungseffizienz nach dem Testen erheblich verbessert.
Obwohl durch dieses Projekt meine Erfahrung bereichert wurde und sich meine persönlichen Programmierfähigkeiten und Kommunikationsfähigkeiten bis zu einem gewissen Grad verbessert haben, spüre ich auch viele Mängel in mir. Die Hauptgründe sind (1) Mangel an Projektentwicklungserfahrung in der entsprechenden Branche, sodass die Nachfrageextraktion unvollständig und die Geschäftslogik ungenau ist und in Zukunft mehr Projektentwicklungserfahrung gesammelt wird. (2) Mangel an notwendiger Managementerfahrung und effektiven Kommunikationsmitteln. In der frühen Phase der Projektentwicklung wurde das Projekt aufgrund mangelnden Verständnisses aufgeschoben. Später stärkte ich meine Selbstdisziplin und kommunizierte und kontaktierte die Studierenden zeitnah. Der Fortschritt wurde schrittweise verbessert und das Projekt schließlich abgeschlossen. (3) Interface-Kunst ist die wichtigste Arbeit im Projektentwicklungsprozess. Da mir aufgrund meines wissenschaftlichen und technischen Hintergrunds die notwendigen künstlerischen Fähigkeiten und die Ästhetik fehlen, können die Farbabstimmung und das Layout des Interfaces nicht das professionelle Niveau erreichen Insgesamt bin ich der Meinung, dass das Interface-Design nicht zufriedenstellend ist. Daher ist es im zukünftigen Projektentwicklungsprozess am besten, einige professionelle Künstler zum Entwerfen einzuladen, was die beste Wahl sein sollte.
Abschließend möchte ich Herrn Sun Feixian aufrichtig für seine großartige Hilfe danken, insbesondere bei technischen Problemen. Herr Sun wird mir geduldig helfen, egal wann, da ich weiß, dass ich das Projekt und den Entwurf der Abschlussarbeit abgeschlossen habe, was ich gerne tun würde Ich möchte Herrn Sun meinen herzlichen Dank aussprechen. Der Lehrer sagte: „Lehrer, Sie haben hart gearbeitet.“

Acho que você gosta

Origin blog.csdn.net/ambiguous__/article/details/130798205
Recomendado
Clasificación