Comment concevoir le workflow d'un site Web?


18

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:

  1. dossier patient actif.
  2. authentification avec différents rôles (par exemple, patient, infirmière, dr)
  3. calendrier des rendez-vous (inclure le calendrier des vacances / chirurgies programmées, etc. avec un rappel)
  4. permettre au docteur de créer ses propres plugins.
  5. 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. 1ère base de données.

entrez la description de l'image ici

J'ai commencé par créer toutes mes tables dont j'aurai besoin.

  1. 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):

entrez la description de l'image ici

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?


5
Je sors généralement un grand morceau de papier (A3 ou plus) et un stylo et commence à dessiner des organigrammes jusqu'à ce que je comprenne le `` workflow '' complet de la fonctionnalité sur le site Web, ainsi que les structures de base de données. Après cela, j'obtiendrai un autre morceau de papier et je travaillerai sur des structures filaires vraiment basiques. À partir de là, c'est «juste» du codage et un peu de design graphique. J'ajouterai la touche finale et les détails une fois que tout sera terminé. Les organigrammes permettent de déterminer très facilement où vous placez quelle fonction et c'est-à-dire quelles variables elle obtient à partir de quel emplacement.

3
Encore mieux avec un grand tableau blanc large;) +1 @LuudJacobs. Vous savez mieux que quiconque comment votre processus de clic doit s'exécuter, à partir de quelles entités et fonctions doivent venir à chaque fois et quelles données vous souhaitez rechercher le plus fréquemment, quelles données dont vous n'avez pas besoin autant (rarement). Si vous voulez garder l'histoire ou non et où de quoi. Après avoir dessiné quelques diagrammes d'entité, vous vous rendrez dans un endroit où vous vous sentirez bien et vous assurer que les outils (db. Front end) que vous choisissez peuvent répondre à vos besoins aujourd'hui ainsi que pour demain sans trop de demandes de changement :)
bonCodigo

@LuudJacobs bien merci :), mais j'ai essayé de le faire, j'ai pris un tableau blanc et imprimé mon schéma db et ... je n'ai rien dessiné! je suppose que je ne sais pas à quoi devrait ressembler un organigramme. je vais essayer de google pour des exemples. si vous avez des organigrammes d'un projet réel, j'aimerais voir cela
Zalaboza

+1 @bonCodigo: Un tableau blanc est une meilleure option, car vous a) avez plus d'espace pour travailler et b) il est facile d'effacer des éléments. Voici une recherche Google avec quelques exemples d'organigramme. Un bon logiciel pour créer des organigrammes comprend MS Visio et pour Mac OmniGraffle

Pour un médecin, vous avez fait un travail admirable avec cela, d'autant plus que vous avez choisi le Nickleback des langages de programmation pour travailler avec.
Robert Harvey

Réponses:


6

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!


Pour illustrer le point de Neville K sur les différentes réponses, il a laissé une bonne ressource pour concevoir les interactions de l'utilisateur final, c'est là que j'aime commencer. ;-)
Eric G

1

0

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:

PHP Generator for MySQL est une interface graphique MySQL qui vous permet de générer des scripts PHP de haute qualité pour les tables, vues et requêtes sélectionnées pour continuer à travailler avec ces objets via le Web. Les fonctionnalités clés incluent:

  • Gestion des données: ajouter, modifier, supprimer et copier des enregistrements
  • Personnalisation de l'apparence HTML
  • Capacités de filtrage et de tri
  • Protection des données avec de nombreux paramètres de sécurité
  • Présentations maître-détail
  • Gestion de contenu événementielle
  • Exportation de données au format PDF, XML, CVS, Excel et Word

PHP Generator pour MySQL produit un code clair et facile à comprendre qui peut être utilisé tel quel ou modifié de la manière dont vous avez besoin.

Économisez les coûts énormes de l'embauche d'un programmeur, de l'apprentissage de n'importe quel langage de programmation ou de l'achat d'un logiciel coûteux - tout le code est généré automatiquement pour vous!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.