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:
- Aktive Patientenakte.
- Authentifizierung mit verschiedenen Rollen (zB Patient, Krankenschwester, Dr.)
- Terminplan (inkl. Kalender zu geplanten Urlauben / Operationen etc. mit einer Erinnerung)
- Erlaube dem Arzt, seine eigenen Plugins zu erstellen.
- 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. Datenbank.
Ich habe zunächst alle meine Tabellen erstellt, die ich benötigen werde.
- 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):
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?
quelle
Antworten:
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!
quelle
Schritte / Stufen zur Gestaltung des Website-Workflows
Detaillierte Ressourcen
quelle
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:
quelle