JavaRush /Java Blog /Random-IT /Pausa caffè #52. 10 siti più utili per gli sviluppatori J...

Pausa caffè #52. 10 siti più utili per gli sviluppatori Java, 7 modelli di sviluppo software che dovresti conoscere

Pubblicato nel gruppo Random-IT

10 siti più utili per gli sviluppatori Java

Fonte: Tarun Telang Di seguito è riportato un elenco delle risorse web più efficaci e affidabili sulla tecnologia Java. Possono essere utili sia per i programmatori Java esperti che per i principianti. Utilizzo queste risorse da anni per trovare le informazioni più recenti sulle tecnologie Java.Pausa caffè #52.  I 10 siti più utili per gli sviluppatori Java, 7 modelli di sviluppo software che dovresti conoscere - 1

1. Sezione sulla tecnologia Java sul sito Oracle

La risorsa contiene informazioni su quasi tutto ciò che devi sapere su Java, comprese notizie, articoli, blog, materiali di riferimento, opzioni di carriera e informazioni relative ai progetti Java. Consiglio di visitare regolarmente questo sito per rimanere aggiornato sulle ultime novità sulla piattaforma Java.

2. Pagina di download di Java

Non puoi fare a meno di questa risorsa se desideri scaricare e installare l'ultima versione del Java Development Kit. Contiene inoltre istruzioni dettagliate su come eseguire i file di installazione Java su varie piattaforme.

3. Riferimento API Java

Questa sezione del sito Oracle contiene informazioni di riferimento sull'API Java SE. La documentazione HTML viene generata dal codice sorgente Java utilizzando lo strumento JavaDoc.

4. Esercitazione su Java

È disponibile un'ampia raccolta di tutorial e materiali di riferimento sul linguaggio di programmazione Java. Le lezioni sono disponibili anche come libro, The Java Tutorial, Sixth Edition (in inglese). Puoi seguire questo link per acquistarlo da Amazon.

5. Javaranch

Il sito contiene test pratici e risorse utili per l'apprendimento di argomenti che vanno da Java, database, Android, alla preparazione alla certificazione. Questo è un ottimo posto per imparare Java attraverso esercizi pratici.

6. Progetti relativi a Java EE su GitHub

Qui puoi trovare progetti relativi a Java EE, nonché progetti precedentemente ospitati su Java.net. Questo sito contiene molti collegamenti diversi a progetti con informazioni aggiuntive su di essi e informazioni di contatto relative a questi progetti.

7. Javapedia

Visita questo sito per seguire discussioni, domande e risposte sulle tecnologie e sui framework Java. Javapedia.net è utile sia per gli sviluppatori Java e Java EE esperti, sia per i principianti e gli studenti che si preparano per i colloqui.

8.TheServerSide.com _

Il sito contiene informazioni sulle ultime tecnologie di Java Enterprise Edition. Questo è un luogo in cui gli sviluppatori Java discutono vari argomenti relativi a Java, Java EE, programmazione, software e tendenze nello sviluppo lato server. Si tratta di una community online molto ampia per architetti aziendali e sviluppatori Java, dove è possibile trovare notizie quotidiane, discussioni tecniche, webinar e altre informazioni utili.

9.Java.com _

Questo è il luogo in cui puoi trovare gli ultimi software Java (giochi, applicazioni mobili e desktop). Questa è una risorsa legale e sicura per l'installazione dei plugin Java. A differenza di molti altri siti, non sono presenti annunci pop-up o file di installazione dubbi che non siano effettivamente correlati a Java.

10. Vai.Java

Qui troverai informazioni aggiornate su come Java supporta l'innovazione che alimenta il nostro mondo digitale. Il sito contiene una raccolta di risorse sulla piattaforma Java per studenti, hobbisti, sviluppatori e dirigenti di aziende IT. Sebbene sia possibile trovare molti siti simili su Internet con collegamenti Java, la maggior parte di essi sono obsoleti e mostrano informazioni rilevanti solo prima di Java 5. A partire da Java 8, il linguaggio ha subito importanti modifiche, che richiedono agli sviluppatori di adottare un nuovo approccio a programmazione in Java. Anche il linguaggio si sta evolvendo molto rapidamente, con il rilascio di nuove versioni di Java ogni sei mesi.

7 modelli di sviluppo software che dovresti conoscere

Fonte: DZone Il ciclo di vita dello sviluppo del software è il processo di pianificazione, progettazione, sviluppo, test e distribuzione del software al minor costo possibile, preferibilmente nel più breve tempo possibile. Per raggiungere questo obiettivo, i team di sviluppo devono scegliere il giusto modello di sviluppo software che soddisfi i requisiti del progetto e le aspettative di tutte le parti interessate. Pausa caffè #52.  10 siti più utili per gli sviluppatori Java, 7 modelli di sviluppo software che dovresti conoscere - 2Ci sono 7 modelli che dovresti conoscere, da Waterfall a V-Model a Scrum. Diamo un'occhiata a ciascuno di essi.

1. Modello a cascata (cascata)

Pausa caffè #52.  10 siti più utili per gli sviluppatori Java, 7 modelli di sviluppo software che dovresti conoscere - 3Il modello a cascata è considerato uno dei primi metodi di sviluppo software. Già dal nome è chiaro che questo processo di sviluppo prevede una progressione lineare nell'ordine: analisi, progettazione, sviluppo, test, distribuzione e supporto. Ogni fase è chiaramente definita da risultati specifici. Il modello a cascata è sequenziale, il che significa che la fase successiva non può iniziare finché quella attuale non viene completata. Una fase è considerata completata quando l'obiettivo è stato raggiunto e qualcuno accetta di continuare a lavorare sul progetto. Non c'è flessibilità in questo modello: non puoi saltare, tornare indietro o modificare i passaggi. Di conseguenza, il processo di sviluppo può essere inutilmente complesso e costoso. La mancanza di flessibilità rende questo modello più costoso e ad alta intensità di manodopera rispetto ad altri modelli. Se i requisiti non sono chiari o vengono fraintesi, l’utilizzo di questo modello è molto rischioso. Inoltre, questo modello non è ideale per progetti a lungo termine, complessi o in corso in cui è richiesta una maggiore flessibilità. Sebbene i limiti del modello siano evidenti e significativi, può essere utile per piccoli progetti una tantum con requisiti limitati e scadenze brevi perché è semplice e veloce da configurare. Tuttavia, il team deve garantire che tutti i requisiti siano chiaramente definiti, inequivocabili e non possano cambiare in futuro. Il modello Waterfall è caduto in disgrazia poiché i team IT abbracciano uno sviluppo software più agile che consente miglioramenti continui.

2. Modello V

Pausa caffè #52.  10 siti più utili per gli sviluppatori Java, 7 modelli di sviluppo software che dovresti conoscere - 4Il modello V, o modello di approvazione e verifica, estende il modello a cascata aggiungendo un piano di test. Invece di spostarsi linearmente verso il basso attraverso le fasi di sviluppo del software, il modello a V si sposta verso la fase di codifica, quindi si gira e inizia a risalire attraverso le fasi di test, formando una forma a V. Ogni fase di sviluppo corrisponde ad una specifica attività di test. Ciò consente al team di individuare bug nelle specifiche, nel codice e nell'architettura nelle prime fasi del progetto. L'aggiunta di un piano di test offre al modello V maggiori possibilità di successo rispetto al modello a cascata. Tuttavia, il modello a V rimane lineare, il che lo rende inflessibile. Come nel modello a cascata, la squadra può iniziare la fase successiva solo dopo che la fase precedente è stata completata. Ciò rende le modifiche difficili, costose e dispendiose in termini di tempo. Pertanto, questo modello è più adatto per progetti brevi con requisiti fissi, ben definiti e documentati, ma non è l’ideale per progetti a lungo termine, complessi o in corso.

3. Modello iterativo (incrementale).

Pausa caffè #52.  10 siti più utili per gli sviluppatori Java, 7 modelli di sviluppo software che dovresti conoscere - 5Come altri modelli di sviluppo software, il modello iterativo (incrementale) è progettato per superare alcuni degli svantaggi del modello a cascata. Anch'esso inizia con la pianificazione e termina con l'implementazione. Ma a differenza del modello a cascata, questo modello prevede la ripetizione di cicli durante tutto il processo. Questi cicli possono essere iterativi (ripetuti) o incrementali (passo dopo passo). Il processo di sviluppo inizia con un piccolo insieme di requisiti e ogni ciclo al suo interno è accompagnato da un nuovo insieme di requisiti. La natura iterativa di questo modello consente al software di evolversi e crescere man mano che è possibile apportare piccole modifiche durante il processo. Ciò accade perché la nuova iterazione si basa su quella precedente. Gli sviluppatori possono apportare modifiche in base all'esperienza dei cicli precedenti. Poiché non tutti i requisiti vengono stabiliti all'inizio del progetto e molte modifiche vengono apportate lungo il percorso, il lavoro può iniziare rapidamente. Tuttavia, le risorse possono essere esaurite rapidamente poiché il processo si ripete spesso, per non parlare della gestione che diventa più complessa. Sebbene il modello consenta alcuni cambiamenti, è comunque costituito da processi chiaramente definiti, che talvolta portano alla rigidità. Il costo per apportare modifiche è inferiore rispetto ai modelli a cascata e V, ma questo modello non è ideale per progetti in cui i requisiti possono cambiare durante l'iterazione. Il modello iterativo crea più rischi a causa di cambiamenti frequenti, costi e requisiti di risorse sconosciuti e tempistiche incerte.

4. Modello di prototipazione

Pausa caffè #52.  10 siti più utili per gli sviluppatori Java, 7 modelli di sviluppo software che dovresti conoscere - 6Il modello di prototipazione si concentra sul miglioramento della comprensione da parte del team di sviluppo dei desideri e delle esigenze del cliente attraverso la creazione di prototipi. Creando una piccola copia funzionante del programma desiderato, è possibile eliminare i malintesi prima che inizi lo sviluppo completo. Il prototipo viene sviluppato, testato e finalizzato tenendo conto dei desideri e dei commenti del cliente. Una volta accettato il prototipo, il team inizia a sviluppare il prodotto finale. Un modello di prototipazione può ridurre drasticamente il numero di iterazioni. Ciò fa risparmiare tempo e aumenta le possibilità di soddisfazione del cliente. Tuttavia, è necessario considerare il tempo che uno sviluppatore dedica allo sviluppo di prototipi. Se il cliente richiede molte modifiche, cambia spesso idea o fa richieste non realistiche, lo sviluppo di un prototipo può diventare rapidamente complicato. Per questo motivo è meglio limitare il numero di iterazioni consentite prima che il prototipo venga accettato. Una volta che il prototipo finale è in fase di sviluppo, non è possibile apportare ulteriori requisiti o modifiche al piano. Questo è uno svantaggio significativo del modello di prototipazione.

5. Modello a spirale

Pausa caffè #52.  I 10 siti più utili per gli sviluppatori Java, 7 modelli di sviluppo software che dovresti conoscere - 7Il modello a spirale si concentra sulla valutazione del rischio. Di conseguenza, qualsiasi team che desideri utilizzare questo modello deve disporre di specialisti con conoscenze e competenze in un'area specifica. Il modello si compone di quattro fasi: pianificazione, analisi dei rischi, sviluppo e valutazione. Il numero di giri della spirale dipende dal progetto specifico e dalle esigenze del manager. In media, lo sviluppo del software utilizzando questo modello richiede 6 mesi. Il modello a spirale combina le caratteristiche del modello a cascata e della prototipazione enfatizzando la progettazione, inclusa la prototipazione (durante la fase di progettazione) e seguendo passaggi simili a quelli del modello a cascata. Lo sviluppo continuo e iterativo consente agli sviluppatori di apportare modifiche e aggiungere nuove funzionalità. Inoltre, lo sviluppo è sistematico, il che semplifica il processo. Il cliente è coinvolto nella revisione di ogni fase del ciclo, che può risultare gravosa per il processo di sviluppo se non c'è una comunicazione costante con il cliente. Poiché il numero di cicli o iterazioni non è definito, esiste il rischio di superamento del budget e di mancato rispetto delle scadenze. Pertanto, la creazione di un prodotto finito spesso richiede molte spese e tempo.

Metodologia flessibile (Agile)

Agile è una metodologia basata su 12 principi delineati nel Manifesto Agile . È più una mentalità che una serie di protocolli rigorosi. Il metodo Agile è progettato per sviluppare software in modo più efficiente rispetto all'utilizzo dei modelli precedenti, incluso il modello a cascata. L’essenza del modello agile è l’attenzione alla collaborazione, alla comunicazione e al cambiamento costante. Esistono diverse opzioni per lo sviluppo Agile. Si concentrano tutti sul lavoro di squadra, sulla collaborazione interfunzionale, sullo sviluppo iterativo e sul feedback tempestivo dei clienti. Test, feedback e modifiche consentono ai team di sviluppare e rilasciare software migliore. Diamo un'occhiata ai 2 modelli Agile.

6. Modello di mischia

Pausa caffè #52.  I 10 siti più utili per gli sviluppatori Java, 7 modelli di sviluppo software che dovresti conoscere - 8Il modello Scrum è il modello Agile più popolare. Le sue iterazioni di sviluppo sono conosciute come sprint. Durante questi sprint di 1-4 settimane, i team valutano lo sprint precedente, aggiungono nuove funzionalità e pianificano lo sprint successivo. Non sono consentite modifiche dopo la definizione delle attività dello sprint. Dopo ogni sprint vengono aggiunti nuove funzionalità/elementi che verranno codificati e testati nello sprint successivo. Ciò continua finché tutte le funzionalità non vengono aggiunte e il progetto viene ritenuto pronto per il rilascio. Una maggiore collaborazione tra team interfunzionali e tra l’organizzazione e il cliente riduce le incomprensioni e gli errori che spesso derivano da una scarsa comunicazione. Inoltre, ulteriori passaggi riducono il time-to-market. Una migliore comunicazione riduce il tempo impiegato per la risoluzione degli errori e aumenta la probabilità che l'utente finale sia soddisfatto del prodotto. Tuttavia, tale cooperazione richiede una partecipazione significativa da parte del cliente al processo di lavoro. È inoltre necessario tenere presente che se il cliente richiede l'aggiunta di troppe funzioni, la scadenza del progetto potrebbe essere ritardata.

7. Modello Kanban

Pausa caffè #52.  I 10 siti più utili per gli sviluppatori Java, 7 modelli di sviluppo software che dovresti conoscere - 9A differenza di altri modelli, Kanban non ha iterazioni distinte. Quando un team pianifica le iterazioni, si tratta di sprint incredibilmente brevi, a volte brevi quanto un giorno. Per indicare visivamente lo stato del progetto e altri dettagli, viene utilizzata una lavagna con note sotto forma di adesivi (adesivi). Questa visualizzazione consente al team di concentrarsi sulla funzionalità più importante in fase di sviluppo al momento. Inoltre, il tabellone Kanban sottolinea che esiste spazio per il miglioramento continuo delle funzionalità. Sebbene il metodo delle note adesive possa aiutare a motivare un team a concentrarsi su un compito importante, è un modo inadeguato per definire e mantenere le tempistiche. Per questo motivo è molto difficile pianificare progetti a lungo termine. Poiché non esiste una fase di pianificazione fissa, è possibile apportare modifiche in qualsiasi momento. Uno degli svantaggi comuni del Kanban è la mancanza di tempistiche. Questo problema può peggiorare se le modifiche vengono apportate costantemente.

Transizione all'Agile

Ciascuno di questi modelli è stato creato per migliorare il processo di sviluppo e distribuzione del software. Qualsiasi modello di sviluppo può funzionare bene per tipi specifici di progetti. Tuttavia, i vecchi modelli manuali, come il modello a cascata, stanno rapidamente diventando un ricordo del passato. I team IT e le aziende in generale devono agire in modo più rapido ed efficiente quando creano software, soddisfano le esigenze dei clienti e stanno al passo con la concorrenza. Un processo di sviluppo software più veloce, ripetibile e sicuro si basa sull’automazione. E poiché il livello di automazione e velocità è irraggiungibile per molti modelli, la metodologia Agile finisce per diventare più popolare.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION