Wie gestalte ich einen Website-Workflow?


18

Ich habe lange darüber nachgedacht, ohne eine optimale Antwort gefunden zu haben.

Zuallererst bin ich eine Ärztin, die das Programmieren liebt, es aber nie wirklich gelernt hat, abgesehen vom Lernen zu Hause und vielen Jahren des Herumspielens mit Code in meiner Freizeit.

Derzeit versuche ich, ein kleines Projekt zur Verwaltung meiner Klinik zu erstellen. Dazu habe ich zunächst eine Liste mit Optionen erstellt, die ich ausführen möchte.

Beispiel:

  1. Aktive Patientenakte.
  2. Authentifizierung mit verschiedenen Rollen (zB Patient, Krankenschwester, Dr.)
  3. Terminplan (inkl. Kalender zu geplanten Urlauben / Operationen etc. mit einer Erinnerung)
  4. Erlaube dem Arzt, seine eigenen Plugins zu erstellen.
  5. Dashboard für den Arzt, um seine Statistiken anzuzeigen

Dann habe ich mit codeigniter / mysql / php / jquery angefangen und mit dem Codieren begonnen.

Meine Schritte während der Entwicklung: -

  1. 1. Datenbank.

Bildbeschreibung hier eingeben

Ich habe zunächst alle meine Tabellen erstellt, die ich benötigen werde.

  1. Erstellt alle meine Modelle für diese Tabellen (1 Master-Modell, das grundlegende Lese- / Schreib- / Aktualisierungs- / Überprüfungsvorgänge ausführt und dabei auch meine Tabellenbeziehungen berücksichtigt)

Danach beginne ich meine Views und Controller zu codieren. Zuerst habe ich HTML-Ansicht erstellt, dann einen Controller erstellt, der diese Ansicht verarbeitet, und mit der Codierung von Funktionen begonnen, damit die Ansichtsinteraktionen funktionieren.

Beispiel beim Codieren der Terminansicht (controller booking.php):

Bildbeschreibung hier eingeben

hat dieses layout erstellt und die tabelle td anklickbar gemacht, wenn der benutzer auf: jquery get (booking / add_patient_form) klickt und sie aufklappt

Beim Speichern des Benutzers: In Buchung posten / speichern - Termin speichern und Index () -Funktion neu laden

usw .. und ich habe die gleichen Schritte zur Erstellung der Ansicht fortgesetzt, und dann den Controller, der die gesamte Logik enthält, die diese Ansicht benötigt, um das gesamte Projekt fertigzustellen.

Am Ende funktionierten alle meine Zielfunktionen einwandfrei, aber da es von Anfang an keinen PLAN gab und das gesamte Projekt nur aus Brainstorming und Debugging bestand, fand ich meine Selbst mit Wartbarkeit und Flexibilität stecken! und nicht in der Lage, sie miteinander zu verknüpfen.

Ich habe das Gefühl, dass jede Seite auf der Website völlig isoliert von anderen ist und ich kann mich nicht einmal erinnern, wie jede Seite geladen wurde und welche Funktionen darin enthalten sind, ohne einen Blick darauf zu werfen!

Kann ich das irgendwie wiederherstellen und ein Design rausholen?


5
Normalerweise hole ich ein großes Stück Papier (A3 oder größer) und einen Stift heraus und beginne mit dem Zeichnen von Flussdiagrammen, bis ich den vollständigen Workflow der Funktionen auf der Website sowie die Datenbankstrukturen herausgefunden habe. Danach hole ich mir noch ein Blatt Papier und arbeite ein paar wirklich grundlegende Drahtmodelle aus. Von da an ist es "nur" Codierung und ein bisschen Grafikdesign. Ich werde den letzten Schliff und die Details hinzufügen, nachdem das alles erledigt ist. Mit den Flussdiagrammen können Sie ganz einfach herausfinden, wo Sie welche Funktion platzieren und welche Variablen sie von welchem ​​Ort erhalten.

3
Noch besser mit großer breiter weißer Tafel;) +1 @LuudJacobs. Sie wissen besser als jeder andere, wie Ihr Klickprozess ablaufen soll, von welchen Entitäten und Funktionen jedes Mal aus und welche Daten Sie am häufigsten durchsuchen möchten, welche Daten Sie nicht so oft (selten) benötigen. Wenn Sie möchten, behalten Sie die Geschichte oder nicht und wo von was. Wenn Sie ein paar Entity-Diagramme gezeichnet haben, gelangen Sie an einen Ort, an dem Sie sich rundum wohl fühlen, und stellen sicher, dass die von Ihnen ausgewählten Tools (db. Frontend) Ihre Anforderungen heute und morgen ohne große Änderungsanforderungen
erfüllen können

@LuudJacobs gut, danke :), aber ich habe es versucht, ein Whiteboard gepackt und mein DB-Schema ausgedruckt und ... konnte nichts zeichnen! Ich glaube, ich weiß nicht, wie ein Flussdiagramm aussehen sollte. Ich werde versuchen, mich nach Beispielen umzusehen. Wenn Sie Flussdiagramme eines tatsächlichen Projekts haben, würde ich gerne sehen, dass
Zalaboza

+1 @bonCodigo: Ein Whiteboard ist eine bessere Option, da Sie a) mehr Platz zum Bearbeiten haben und b) Dinge leicht löschen können. Hier ist eine Google-Suche mit einigen Flowchart-Beispielen. Gute Software für die Erstellung von Flussdiagrammen sind MS Visio und Mac OmniGraffle

Für einen Arzt haben Sie damit eine bewundernswerte Arbeit geleistet, zumal Sie sich für den Nickelback der Programmiersprachen entschieden haben .
Robert Harvey

Antworten:


6

Ihre Frage - wie läuft die Entwicklung einer Software ab? - ist ein umstrittenes Thema. googeln Sie einfach "Software-Methodik", um zu sehen, wie tief diese Dose Würmer reicht ...

Es gibt keine allgemein akzeptierte Antwort. In der Tat, wenn Sie 5 Programmierer fragen, erhalten Sie nach meiner Erfahrung 7 Antworten.

Ich würde empfehlen, Steve McConnells "Code Complete" zu kaufen, um die Codierungspraktiken auf niedrigerer Ebene kennenzulernen - Dinge wie das Layout Ihres Codes, das Kommentieren und das Testen. Ich würde "Domain Driven Design" von Eric Evans empfehlen, um einen Überblick über die Strukturierung von Anwendungen auf Architekturebene zu erhalten. Ich empfehle "Agile Softwareentwicklung: Prinzipien, Muster und Vorgehensweisen" von Robert Martin, um einen Überblick darüber zu erhalten, wie man Software im Laufe der Zeit "wachsen" und gleichzeitig die Qualität erhalten kann.

Ein anderer Entwickler wird wahrscheinlich alle diese Bücher ablehnen und Sie auf UML, den Rational Unified Process und die Codegenerierung hinweisen. Es gibt keine richtige Antwort!


Um Neville Ks Standpunkt zu verschiedenen Antworten zu veranschaulichen, ließ er eine gute Ressource für die Gestaltung der Endbenutzerinteraktionen aus, mit der ich gerne beginne. ;-)
Eric G


0

Ich würde Ihnen raten, die Datenbankstruktur beizubehalten und neuen PHP-Code mit dem PHP-Generator für MySQL zu generieren, der von der Firma SQL Maestro erstellt wurde . Es hat wirklich für mich funktioniert. Ich benutze es sehr oft und bin sehr zufrieden damit, insbesondere mit der Möglichkeit, den PHP-Code an meine eigenen Bedürfnisse anzupassen. Darüber hinaus beziehen sie Ihre gewünschten neuen Funktionen in ihre Updates ein und haben nette Tutorials, wie Sie den Code optimieren können. Zum besseren Verständnis schauen Sie sich dieses Demo-Projekt an .

Auf ihrer Website ist die folgende Produktbeschreibung angegeben:

PHP Generator for MySQL ist ein MySQL-GUI-Frontend, mit dem Sie hochwertige PHP-Skripte für die ausgewählten Tabellen, Ansichten und Abfragen generieren können, um mit diesen Objekten im Web weiterzuarbeiten. Hauptmerkmale sind:

  • Datenverwaltung: Hinzufügen, Bearbeiten, Löschen und Kopieren von Datensätzen
  • Anpassung des HTML-Erscheinungsbildes
  • Filter- und Sortierfunktionen
  • Datenschutz mit vielen Sicherheitseinstellungen
  • Master-Detail-Präsentationen
  • Ereignisgesteuertes Content Management
  • Datenexport nach PDF, XML, CVS, Excel und Word

PHP Generator für MySQL erzeugt klaren und leicht verständlichen Code, der unverändert verwendet oder nach Bedarf geändert werden kann.

Sparen Sie die enormen Kosten für die Einstellung eines Programmierers, das Erlernen einer Programmiersprache oder den Kauf einer teuren Software - der gesamte Code wird automatisch für Sie generiert!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.