Come progettare il flusso di lavoro del sito Web?


18

Ci sto pensando da molto tempo senza raggiungere una risposta ottimale.

Prima di tutto, sono un medico che ama la programmazione ma non l'ha mai davvero studiato, tranne che per l'apprendimento a casa e molti anni di gioco con il codice nel mio tempo libero.

Attualmente sto cercando di costruire un piccolo progetto per gestire la mia clinica, per farlo ho iniziato creando un elenco di opzioni che voglio essere in grado di fare.

Esempio:

  1. cartella clinica attiva.
  2. autenticazione con ruoli diversi (es. paziente, infermiere, dott.)
  3. calendario degli appuntamenti (includere il calendario delle vacinazioni / interventi programmati, ecc. con un promemoria)
  4. consentire al medico di creare i propri plugin.
  5. dashboard per il medico per visualizzare le sue statistiche

Quindi ho iniziato con codeigniter / mysql / php / jquery e ho iniziato a scrivere codice.

I miei passi durante lo sviluppo: -

  1. 1 ° database.

inserisci qui la descrizione dell'immagine

Ho iniziato creando tutti i miei tavoli di cui avrò bisogno.

  1. Ho creato tutti i miei modelli per gestire queste tabelle (1 modello principale che gestisce la lettura / scrittura / aggiornamento / verifica di base, tenendo conto anche delle mie relazioni tra tabelle

Dopodiché inizio a codificare le mie visualizzazioni e i miei controller. Ho prima creato l'HTML della vista, quindi ho creato un controller che gestirà questa vista e ho iniziato le funzioni di codifica per far funzionare le interazioni con la vista.

Esempio durante la codifica della vista appuntamento (controller booking.php):

inserisci qui la descrizione dell'immagine

creato questo layout e reso la tabella td selezionabile, quando l'utente fa clic: jquery get (booking / add_patient_form) e lo pop-up

quando l'utente salva: invia alla prenotazione / salva -salva appuntamento quindi ricarica la funzione index ()

ecc. e ho continuato gli stessi passaggi per la creazione della vista, quindi il suo controller, che contiene tutta la logica necessaria a questa vista, per realizzare l'intero progetto.

Alla fine ho avuto tutte le mie funzioni target funzionanti, ma dato che non c'era alcun PIANO dall'inizio e dato che l'intero progetto era un pugno di brain storming e debugging con nessun piano che mai, dopo che sono andato così lontano in questo progetto trovo il mio auto bloccato con manutenibilità e flessibilità! e incapace di collegarli insieme.

Ho la sensazione che ogni pagina del sito Web sia completamente isolata dalle altre e non riesco nemmeno a ricordare come ogni pagina è caricata e quali funzioni sono all'interno senza sbirciare!

Esiste un modo per recuperarlo e realizzare un progetto?


5
Solitamente estraggo un grande pezzo di carta (A3 o più grande) e una penna e inizio a disegnare diagrammi di flusso fino a quando non ho capito il "flusso di lavoro" completo della funzionalità sul sito Web, nonché le strutture del database. Dopodiché prenderò un altro pezzo di carta e elaborerò alcuni wireframe davvero di base. Da lì in poi è la codifica "solo" e un po 'di design grafico. Aggiungerò tocchi finali e dettagli dopo che è tutto fatto. I diagrammi di flusso rendono davvero facile capire dove metti quale funzione e cioè quali variabili ottiene da quale posizione.

3
Ancora meglio con una grande lavagna bianca;) +1 @LuudJacobs. Sai meglio di chiunque altro come dovrebbe essere eseguito il tuo processo di clic, da quali entità e funzioni dovrebbero provenire ogni volta e quali dati vuoi cercare più frequentemente, quali dati non ti servono così tanto (raramente). Se vuoi mantenere la storia o no e dove di cosa. Avere disegnato un paio di diagrammi di Entità ti porterà in un posto in cui ti senti bene e assicurandoti che gli strumenti (db. Front-end) che scegli possano supportare le tue esigenze oggi e domani senza molte richieste di modifica :)
bonCodigo

@LuudJacobs bene grazie :), ma ho provato a farlo, ho preso una lavagna e stampato il mio schema db e ... non sono riuscito a disegnare nulla! Immagino di non sapere come dovrebbe apparire un diagramma di flusso. proverò a cercare su google per esempi. se avete diagrammi di flusso di un progetto reale, mi piacerebbe vederlo
Zalaboza,

+1 @bonCodigo: una lavagna è un'opzione migliore, poiché a) hai più spazio su cui lavorare eb) è facile cancellare le cose. Ecco una ricerca su Google con alcuni esempi di diagramma di flusso. Un buon software per creare diagrammi di flusso includono MS Visio e per Mac OmniGraffle

Per un dottore, hai fatto un lavoro ammirevole con questo, soprattutto dato che hai scelto il Nickleback dei linguaggi di programmazione con cui lavorare.
Robert Harvey,

Risposte:


6

La tua domanda - qual è il processo per lo sviluppo di un software - è un argomento molto dibattuto; basta google "metodologia software" per vedere fino a che punto arriva questa lattina di worm ...

Non esiste una risposta comunemente accettata. In effetti, se chiedi a 5 programmatori, otterrai 7 risposte, nella mia esperienza.

Consiglio di acquistare il "Codice completo" di Steve McConnell per vedere le pratiche di codifica di livello inferiore - cose come come strutturare il codice, come commentarlo, come testarlo. Consiglierei "Domain Driven Design" di Eric Evans per una panoramica di come strutturare le applicazioni a livello di architettura. Consiglierei "Agile Software Development: Principles, Patterns and Practices" di Robert Martin come panoramica di come "far crescere" il software nel tempo mantenendo la qualità.

È probabile che un altro sviluppatore rifiuti tutti questi libri e ti faccia riferimento a UML, a Rational Unified Process e alla generazione di codice. Non c'è una risposta giusta!


Per illustrare il punto di Neville K sulle diverse risposte, ha tralasciato una buona risorsa per la progettazione delle interazioni dell'utente finale, che è il punto in cui mi piace iniziare. ;-)
Eric G

1

0

Ti consiglierei di mantenere la struttura del database e generare un nuovo codice PHP con PHP Generator per MySQL creato dalla società SQL Maestro . Ha funzionato davvero per me. Lo uso molto e ne sono davvero contento, in particolare la possibilità di modificare il codice PHP in base alle mie esigenze. Inoltre, incorporano le nuove funzionalità richieste nei loro aggiornamenti e hanno tutorial utili su come modificare il codice. Per capire meglio dai un'occhiata a questo progetto demo .

Sul loro sito Web viene fornita la seguente descrizione del prodotto:

PHP Generator per MySQL è un frontend GUI di MySQL che ti consente di generare script PHP di alta qualità per le tabelle, le viste e le query selezionate per l'ulteriore lavoro con questi oggetti attraverso il web. Le caratteristiche principali includono:

  • Gestione dei dati: aggiungere, modificare, eliminare e copiare i record
  • Personalizzazione dell'aspetto HTML
  • Abilità di filtraggio e ordinamento
  • Protezione dei dati con molte impostazioni di sicurezza
  • Presentazioni di dettaglio principale
  • Gestione dei contenuti basata sugli eventi
  • Esportazione dei dati in PDF, XML, CVS, Excel e Word

PHP Generator per MySQL produce codice chiaro e di facile comprensione che può essere utilizzato così com'è o modificato in qualsiasi modo sia necessario.

Risparmia gli enormi costi dell'assunzione di un programmatore, dell'apprendimento di qualsiasi linguaggio di programmazione o dell'acquisto di un software costoso: tutto il codice viene generato automaticamente per te!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.