Processo di sviluppo del software? [duplicare]

0

Mi stavo chiedendo quando avvii lo sviluppo di un software quale processo dovresti eseguire in generale per farlo?

Con questo intendo, dopo aver avuto un'idea, ti siedi e inizi a spingere direttamente il codice, o c'è qualche processo di pianificazione che dovresti in genere fare prima? (vale a dire diagrammi di flusso, diagrammi, ecc.)

Mi sto solo chiedendo perché ho appena avuto un'idea e sto per imbarcarmi nella mia prima "vera" applicazione ma non ho idea da dove cominciare. Che cosa suggeriresti sono i passi da compiere per avere un ciclo di sviluppo positivo?

    
posta Community 07.01.2012 - 04:01
fonte

5 risposte

1

Lo sviluppo del software è un'abilità appresa attraverso lo studio e la pratica. Ti suggerirei di fermarti e di pensare a cosa vuoi ottenere prima ancora di iniziare a fare qualcosa di più che tracciare la tua idea. Se pensi di poter passare da una conoscenza e un'esperienza zero a scrivere la tua prima app killer da un milione di dollari, allora ti troverai molto deluso.

La tua stessa domanda mi suggerisce che probabilmente non hai mai scritto alcun software prima d'ora. Quindi, la chiave per trasformare la tua idea in un software funzionante è iniziare imparando le basi e poi prendere quell'esperienza e applicarla alla tua idea di prodotto. Devi iniziare piccolo. Può darsi che la tua idea abbia degli elementi che possono essere sviluppati separatamente, e questo può essere un buon modo per aiutarti a progredire nel tuo progetto e darti la motivazione di lavorare sulla tua stessa idea. Il rovescio della medaglia, tuttavia, è che solo con l'esperienza un buon sviluppatore di software impara a riconoscere come suddividere elementi di progetto in moduli e sottoprogetti ecc.

Devi essere altamente organizzato e altamente motivato, e la soluzione migliore è trovare qualcuno disposto ad agire come tuo mentore. Qualcuno di cui ti fidi della tua idea in modo da poter porre domande che vanno direttamente al cuore dei problemi che incontrerai durante lo sviluppo del tuo software. Dovresti anche leggere molto. Non sono convinto che i migliori ingegneri del software escano dal sistema universitario e la maggior parte dei migliori programmatori con cui abbia mai lavorato sono stati autodidatti, ma leggono molto e sono sempre sperimentatori e molto critici su tutto ciò che fanno.

Suggerirei di considerare lo sviluppo guidato dal comportamento come un processo di guida, poiché ti insegnerà come scrivere software in un modo che sia coerente con i sistemi di sviluppo più agili usati al giorno d'oggi, e se ti attieni ai suoi principi, tu? Faranno molto meno errori orientati al processo e la tua efficienza riceverà anche un calcio dal primo giorno. Un libro che potresti trovare utile sarebbe Primo sviluppo del software , in particolare se ti ritrovi a dover lavorare con gli altri, ma anche perché copre bene le basi, senza tentare di bloccarti in una metodologia di sviluppo specifica.

Buona fortuna.

    
risposta data 07.01.2012 - 08:48
fonte
1

Un'applicazione non è altro che una raccolta di azioni realizzate nel software. L'applicazione più semplice avrebbe un'azione (ad esempio "elenca tutti gli individui nel club nel browser"); quelli più complessi ne hanno di più (ad esempio "aggiungi un nuovo membro al club", "rimuovi un membro esistente dal club", "promuovi un membro al grado di presidente").

Dovresti avere almeno un'idea chiara di cosa vuoi fare per poter elencare tutte le azioni che vuoi che la tua applicazione esegua. Se non riesci a scriverli chiaramente nella tua lingua madre, è improbabile che tu possa scrivere nel software.

Dovresti prendere alcune decisioni approssimative su come vuoi farlo. Chi lo userà? È un'app desktop? Mobile? Web? Shell di comando, guidata dal testo? Batch?

Come manterrai i dati? File system? Database relazionale? NoSQL? Qualcos'altro?

Disegna i componenti principali. Alcune persone come UML, ma scatole e frecce sono sufficienti. Un quadro mentale approssimativo facile da ricordare è utile.

Quando ne hai uno, inizia a scrivere codice. Fai piccoli morsi: scrivi del codice, provalo, mettilo da parte, lavora al pezzo successivo. Se puoi scrivere tutti i pezzi per compiere una delle tue azioni, provalo e passa a quello successivo.

    
risposta data 07.01.2012 - 04:08
fonte
0

Dipende veramente da quanto grande sarà l'applicazione. Tuttavia, se si tratta di un'applicazione "reale", non sarebbe male fare un po 'di pre-pianificazione. Innanzitutto, identifica i componenti principali dell'applicazione e cerca di stabilire un'interfaccia approssimativa tra loro. Successivamente, sviluppa indipendentemente ciascun componente principale, utilizzando gli stub per testarli. Stabilire che ognuno funzioni come previsto data l'interfaccia / API pubblica. Quindi aggancia tutto e verifica l'applicazione nel suo complesso.

    
risposta data 07.01.2012 - 04:05
fonte
0

Uno degli argomenti principali dello sviluppo basato sul comportamento è che ti costringe a pensare prima in termini di storie, scenari e funzionalità degli utenti. Scrivere prima i test è un ottimo modo per organizzare almeno il comportamento dell'applicazione prima di tuffarsi nella costruzione.

Paul Graham consiglia di immergersi direttamente piuttosto che fare un po 'di pianificazione per programmare progetti di qualsiasi complessità. Anche se ciò sembra poco intuitivo, la creazione di un prototipo che si intende eliminare è uno dei modi migliori per comprendere il dominio del problema prima di collegarsi a un modello specifico.

La mia metodologia generale per un progetto significativo o importante (almeno per me) è:

  • Sviluppa il prototipo per comprendere le interazioni e avere una sandbox in cui sperimentare
  • Sviluppa un elenco di funzionalità di base, con idee di implementazione basate sul mio prototipo
  • Scrivi test unitari, quindi codice ai test
  • Rosso, verde, Refactor.
risposta data 07.01.2012 - 05:21
fonte
0

Disegna la tua interfaccia utente ed elenca alcune delle cose che vuoi che l'applicazione faccia. Inizia a creare l'applicazione o rimarrai bloccato nella modalità di pianificazione. Quando incontri problemi, consulta e SO sito.

La tua prima app non sarà perfetta. Cerca di osservare un potenziale utente che lavora con l'applicazione prima anziché quando l'intera operazione è completata.

Prendi l'abitudine di usare il controllo del codice sorgente.

Probabilmente non andrà come volevi - di solito è una buona cosa.

    
risposta data 07.01.2012 - 07:24
fonte

Leggi altre domande sui tag