J'y pense depuis très longtemps sans parvenir à une réponse optimale.
Tout d'abord, je suis un médecin qui aime la programmation mais ne l'a jamais vraiment étudiée, sauf pour l'apprentissage à domicile et de nombreuses années à jouer avec le code pendant mon temps libre.
Actuellement, j'essaie de construire un petit projet pour gérer ma clinique, pour ce faire, j'ai commencé par créer une liste d'options que je veux pouvoir faire.
Exemple:
- dossier patient actif.
- authentification avec différents rôles (par exemple, patient, infirmière, dr)
- calendrier des rendez-vous (inclure le calendrier des vacances / chirurgies programmées, etc. avec un rappel)
- permettre au docteur de créer ses propres plugins.
- tableau de bord permettant au médecin de consulter ses statistiques
Ensuite, j'ai commencé avec codeigniter / mysql / php / jquery et commencé à coder.
Mes étapes pendant le développement: -
- 1ère base de données.
J'ai commencé par créer toutes mes tables dont j'aurai besoin.
- Créé tous mes modèles pour gérer ces tables (1 modèle maître qui gère la lecture / écriture / mise à jour / vérification de base tout en tenant compte de mes relations avec les tables
Après cela, je commence à coder mes vues et mes contrôleurs. J'ai d'abord créé la vue HTML, puis créé un contrôleur qui gérera cette vue et j'ai commencé à coder les fonctions pour faire fonctionner les interactions de la vue.
Exemple lors du codage de la vue de rendez-vous (controller booking.php):
créé cette disposition et rendu cliquable la table td, lorsque l'utilisateur clique sur: jquery get (booking / add_patient_form) et pop-up
lorsque l'utilisateur enregistre: publier dans la réservation / enregistrer - il enregistre le rendez-vous puis rechargez la fonction index ()
etc. et j'ai continué les mêmes étapes de création de la vue que son contrôleur - qui contient toute la logique dont cette vue avait besoin - pour accomplir tout le projet.
À la fin, toutes mes fonctions cibles fonctionnaient bien, mais comme il n'y avait pas de PLAN depuis le début et que tout le projet était un coup de cerveau et de débogage sans aucun plan, après avoir été si loin dans ce projet, je trouve mon auto coincé avec maintenabilité et flexibilité! et incapable de les relier entre eux.
J'ai l'impression que chaque page du site Web est complètement isolée des autres et je ne me souviens même pas comment chaque page est chargée et quelles fonctions sont à l'intérieur sans jeter un œil!
Existe-t-il de toute façon que je peux récupérer cela et sortir un design?
la source
Réponses:
Votre question - quel est le processus de développement d'un logiciel - est un sujet très débattu; il suffit de google "méthodologie logicielle" pour voir à quelle profondeur cette boîte de vers va ...
Il n'y a pas de réponse communément acceptée. En fait, si vous demandez à 5 programmeurs, vous obtiendrez 7 réponses, selon mon expérience.
Je recommanderais d'acheter le "Code complet" de Steve McConnell pour voir les pratiques de codage de niveau inférieur - des choses comme comment mettre en page votre code, comment le commenter, comment le tester. Je recommanderais «Domain Driven Design» d'Eric Evans pour un aperçu de la façon de structurer les applications au niveau architectural. Je recommanderais «Agile Software Development: Principles, Patterns and Practices» de Robert Martin comme un aperçu de la façon de «faire évoluer» les logiciels au fil du temps tout en maintenant la qualité.
Un autre développeur est susceptible de rejeter tous ces livres et de vous orienter vers UML, le processus unifié Rational et la génération de code. Il n'y a pas de bonne réponse!
la source
Étapes / étapes de la conception du flux de travail du site Web
Ressources détaillées
la source
Je vous conseille de conserver la structure de la base de données et de générer du nouveau code PHP avec PHP Generator pour MySQL créé par la société SQL Maestro . Cela a vraiment fonctionné pour moi. Je l'utilise beaucoup et j'en suis vraiment satisfait, en particulier la possibilité de modifier le code PHP à mes propres besoins. En outre, ils intègrent les nouvelles fonctionnalités demandées dans leurs mises à jour et proposent de jolis didacticiels pour modifier le code. Pour mieux comprendre jetez un œil à ce projet de démonstration .
Sur leur site Web, la description du produit suivante est donnée:
la source