JavaRush /Blog Java /Random-FR /Pause café #52. 10 sites les plus utiles pour les dévelop...

Pause café #52. 10 sites les plus utiles pour les développeurs Java, 7 modèles de développement logiciel à connaître

Publié dans le groupe Random-FR

10 sites les plus utiles pour les développeurs Java

Source : Tarun Telang Vous trouverez ci-dessous une liste des ressources Web les plus efficaces et les plus fiables sur la technologie Java. Ils peuvent être utiles aussi bien aux programmeurs Java expérimentés qu’aux débutants. J'utilise ces ressources depuis des années pour trouver les dernières informations sur les technologies Java.Pause café #52.  10 sites les plus utiles pour les développeurs Java, 7 modèles de développement logiciel à connaître - 1

1. Section sur la technologie Java sur le site Oracle

La ressource contient des informations sur presque tout ce que vous devez savoir sur Java, notamment des actualités, des articles, des blogs, des documents de référence, des options de carrière et des informations relatives aux projets Java. Je recommande de visiter ce site régulièrement pour rester au courant des dernières nouvelles concernant la plateforme Java.

2. Page de téléchargement Java

Vous ne pouvez pas vous passer de cette ressource si vous souhaitez télécharger et installer la dernière version du kit de développement Java. Il contient également des instructions détaillées sur la façon d'exécuter les fichiers d'installation Java sur diverses plates-formes.

3. Référence de l'API Java

Cette section du site Oracle contient des informations de référence sur l'API Java SE. La documentation HTML est générée à partir du code source Java à l'aide de l'outil JavaDoc.

4. Tutoriel Java

Il existe une vaste collection de didacticiels et de documents de référence sur le langage de programmation Java. Les leçons sont également disponibles sous forme de livre, The Java Tutorial, Sixth Edition (en anglais). Vous pouvez suivre ce lien pour l'acheter sur Amazon.

5. Javaranch

Le site contient des tests pratiques et des ressources utiles sur des sujets d'apprentissage allant de Java, des bases de données, d'Android à la préparation à la certification. C'est un très bon endroit pour apprendre Java à travers des exercices pratiques.

6. Projets liés à Java EE sur GitHub

Vous trouverez ici des projets liés à Java EE, ainsi que des projets précédemment hébergés sur Java.net. Ce site contient de nombreux liens différents vers des projets avec des informations supplémentaires à leur sujet et des coordonnées liées à ces projets.

7. Javapédia

Visitez ce site pour suivre les discussions, questions et réponses sur les technologies et frameworks Java. Javapedia.net est utile à la fois aux développeurs Java et Java EE expérimentés, ainsi qu'aux débutants et aux étudiants se préparant à des entretiens.

8.TheServerSide.com _

Le site contient des informations sur les dernières technologies de Java Enterprise Edition. Il s'agit d'un endroit où les développeurs Java discutent de divers sujets liés à Java, Java EE, à la programmation, aux logiciels et aux tendances du développement côté serveur. Il s'agit d'une très grande communauté en ligne pour les architectes d'entreprise et les développeurs Java, où vous pouvez trouver des actualités quotidiennes, des discussions techniques, des webinaires et d'autres informations utiles.

9.Java.com _

C'est ici que vous pouvez trouver les derniers logiciels Java (jeux, applications mobiles et de bureau). Il s'agit d'une ressource légale et sûre pour installer des plugins Java. Contrairement à de nombreux autres sites, il n'y a pas de publicités pop-up ni de fichiers d'installation douteux qui ne soient pas réellement liés à Java.

10. Allez.Java

Vous trouverez ici des informations à jour sur la manière dont Java soutient l'innovation qui alimente notre monde numérique. Le site contient une collection de ressources sur la plateforme Java destinée aux étudiants, aux amateurs, aux développeurs et aux dirigeants d'entreprises informatiques. Bien que vous puissiez trouver de nombreux sites similaires sur Internet avec des liens Java, la plupart d'entre eux sont obsolètes et affichent des informations pertinentes uniquement avant Java 5. Depuis Java 8, le langage a subi des changements majeurs, ce qui oblige les développeurs à adopter une nouvelle approche pour programmation en Java. Le langage évolue également très rapidement, avec de nouvelles versions de Java publiées tous les six mois.

7 modèles de développement logiciel à connaître

Source : DZone Le cycle de vie du développement logiciel est le processus de planification, de conception, de développement, de test et de déploiement de logiciels au coût le plus bas possible, de préférence dans les plus brefs délais. Pour atteindre cet objectif, les équipes de développement doivent choisir le bon modèle de développement logiciel qui répond aux exigences du projet et aux attentes de toutes les parties prenantes. Pause café #52.  10 sites les plus utiles pour les développeurs Java, 7 modèles de développement logiciel à connaître - 2Il existe 7 modèles que vous devez connaître, de Waterfall au V-Model en passant par Scrum. Regardons chacun d'eux.

1. Modèle Cascade (Cascade)

Pause café #52.  10 sites les plus utiles pour les développeurs Java, 7 modèles de développement logiciel à connaître - 3Le modèle en cascade est considéré comme l’une des premières méthodes de développement logiciel. D'après le nom, il est clair que ce processus de développement comprend une progression linéaire dans l'ordre : analyse, conception, développement, tests, déploiement et support. Chaque étape est clairement définie par des résultats précis. Le modèle en cascade est séquentiel, ce qui signifie que l’étape suivante ne peut pas commencer tant que l’étape actuelle n’est pas terminée. Une étape est considérée comme terminée lorsque l'objectif a été atteint et que quelqu'un accepte de continuer à travailler sur le projet. Il n'y a aucune flexibilité dans ce modèle : vous ne pouvez pas sauter, revenir en arrière ou modifier des étapes. En conséquence, le processus de développement peut s’avérer inutilement complexe et coûteux. Le manque de flexibilité rend ce modèle plus coûteux et plus laborieux que les autres modèles. Si les exigences ne sont pas claires ou mal comprises, l’utilisation de ce modèle est alors très risquée. De plus, ce modèle n’est pas idéal pour les projets à long terme, complexes ou en cours où une plus grande flexibilité est requise. Bien que les défauts du modèle soient visibles et importants, il peut être utile pour des petits projets ponctuels avec des exigences limitées et des délais courts car il est simple et rapide à mettre en place. Cependant, l'équipe doit s'assurer que toutes les exigences sont clairement définies, sans ambiguïté et ne peuvent pas changer à l'avenir. Le modèle Waterfall est tombé en disgrâce à mesure que les équipes informatiques adoptent un développement logiciel plus agile qui permet des améliorations continues.

2. Modèle en V

Pause café #52.  10 sites les plus utiles pour les développeurs Java, 7 modèles de développement logiciel à connaître - 4Le modèle en V, ou modèle d'approbation et de vérification, étend le modèle en cascade en ajoutant un plan de test. Au lieu de descendre linéairement à travers les étapes de développement logiciel, le modèle en V descend jusqu'à l'étape de codage, puis se retourne et commence à progresser à travers les étapes de test, formant une forme en V. Chaque étape de développement correspond à une activité de test spécifique. Cela permet à l'équipe de détecter les bogues dans les spécifications, le code et l'architecture dès le début du projet. L'ajout d'un plan de test donne au modèle en V de meilleures chances de succès qu'au modèle en cascade. Cependant, le modèle en V reste linéaire, ce qui le rend peu flexible. Comme dans le modèle en cascade, l’équipe ne peut commencer l’étape suivante qu’une fois l’étape précédente terminée. Cela rend les changements difficiles, coûteux et longs. Ainsi, ce modèle convient mieux aux projets courts avec des exigences fixes, bien définies et documentées, mais n'est pas idéal pour les projets à long terme, complexes ou en cours.

3. Modèle itératif (incrémental)

Pause café #52.  10 sites les plus utiles pour les développeurs Java, 7 modèles de développement logiciel à connaître - 5Comme d’autres modèles de développement logiciel, le modèle itératif (incrémental) est conçu pour surmonter certains des inconvénients du modèle en cascade. Cela commence également par la planification et se termine par le déploiement. Mais contrairement au modèle en cascade, ce modèle implique la répétition de cycles tout au long du processus. Ces boucles peuvent être itératives (répétées) ou incrémentielles (pas à pas). Le processus de développement commence par un petit ensemble d'exigences, et chaque cycle qu'il contient est accompagné d'un nouvel ensemble d'exigences. La nature itérative de ce modèle permet au logiciel d'évoluer et de se développer à mesure que de petits changements peuvent être apportés tout au long du processus. Cela se produit parce que la nouvelle itération s’appuie sur la précédente. Les développeurs peuvent apporter des modifications en fonction de l'expérience des cycles précédents. Étant donné que toutes les exigences ne sont pas définies au début du projet et que de nombreux changements sont apportés en cours de route, le travail peut commencer rapidement. Cependant, les ressources peuvent être rapidement épuisées car le processus est souvent répété, sans compter que la gestion devient plus complexe. Même si le modèle autorise certains changements, il reste constitué de processus clairement définis, qui conduisent parfois à un manque de flexibilité. Le coût des modifications est inférieur à celui des modèles en cascade et en V, mais ce modèle n'est pas idéal pour les projets où les exigences peuvent changer au cours de l'itération. Le modèle itératif crée davantage de risques en raison de changements fréquents, de coûts et de besoins en ressources inconnus et de délais incertains.

4. Modèle de prototypage

Pause café #52.  10 sites les plus utiles pour les développeurs Java, 7 modèles de développement logiciel à connaître - 6Le modèle de prototypage vise à améliorer la compréhension par l'équipe de développement des désirs et des besoins du client en créant des prototypes. En créant une petite copie de travail du programme souhaité, les malentendus peuvent être éliminés avant le début du développement complet. Le prototype est développé, testé et finalisé en tenant compte des souhaits et commentaires du client. Une fois le prototype accepté, l’équipe commence à développer le produit final. Un modèle de prototypage peut réduire considérablement le nombre d’itérations. Cela fait gagner du temps et augmente les chances de satisfaction du client. Cependant, vous devez prendre en compte le temps qu'un développeur passe à développer des prototypes. Si le client demande beaucoup de changements, change fréquemment d’avis ou fait des demandes irréalistes, alors développer un prototype peut vite devenir compliqué. Pour cette raison, il est préférable de limiter le nombre d’itérations autorisées avant que le prototype ne soit accepté. Une fois le prototype final en cours de développement, aucune autre exigence ou modification ne peut être apportée au plan. Il s’agit d’un inconvénient majeur du modèle de prototypage.

5. Modèle en spirale

Pause café #52.  10 sites les plus utiles pour les développeurs Java, 7 modèles de développement logiciel à connaître - 7Le modèle en spirale se concentre sur l’évaluation des risques. De ce fait, toute équipe souhaitant utiliser ce modèle doit disposer de spécialistes possédant des connaissances et des compétences dans un domaine précis. Le modèle comprend quatre étapes : planification, analyse des risques, développement et évaluation. Le nombre de tours dans la spirale dépend du projet spécifique et des exigences du responsable. En moyenne, le développement de logiciels utilisant ce modèle prend 6 mois. Le modèle Spiral combine les fonctionnalités du modèle Waterfall et du prototypage en mettant l'accent sur la conception, y compris le prototypage (pendant la phase de conception), et en suivant des étapes similaires à celles du modèle Waterfall. Le développement continu et itératif permet aux développeurs d'apporter des modifications et d'ajouter de nouvelles fonctionnalités. De plus, le développement est systématique, ce qui simplifie le processus. Le client est impliqué dans la révision de chaque étape du cycle, ce qui peut s'avérer fastidieux pour le processus de développement s'il n'y a pas de communication constante avec le client. Le nombre de cycles ou d’itérations n’étant pas défini, il existe un risque de dépassement de budget et de non-respect des délais. Par conséquent, la création d’un produit fini nécessite souvent beaucoup de temps et d’argent.

Méthodologie flexible (Agile)

Agile est une méthodologie basée sur 12 principes énoncés dans le Manifeste Agile . Il s’agit plus d’un état d’esprit que d’un ensemble de protocoles stricts. La méthode Agile est conçue pour développer des logiciels plus efficacement qu'en utilisant les modèles précédents, y compris le modèle en cascade. L'essence du modèle agile est l'accent mis sur la collaboration, la communication et le changement constant. Il existe plusieurs options pour le développement Agile. Ils se concentrent tous sur le travail d’équipe, la collaboration interfonctionnelle, le développement itératif et les premiers commentaires des clients. Les tests, les commentaires et les modifications permettent aux équipes de développer et de publier de meilleurs logiciels. Regardons les 2 modèles Agile.

6. Modèle Scrum

Pause café #52.  10 sites les plus utiles pour les développeurs Java, 7 modèles de développement logiciel à connaître - 8Le modèle Scrum est le modèle Agile le plus populaire. Ses itérations de développement sont appelées sprints. Au cours de ces sprints de 1 à 4 semaines, les équipes évaluent le sprint précédent, ajoutent de nouvelles fonctionnalités et planifient le prochain sprint. Les modifications ne sont pas autorisées une fois les activités de sprint définies. Après chaque sprint, de nouvelles fonctionnalités/éléments sont ajoutés qui seront codés et testés lors du prochain sprint. Cela continue jusqu'à ce que toutes les fonctionnalités aient été ajoutées et que le projet soit jugé prêt à être publié. Une collaboration accrue entre les équipes interfonctionnelles et entre l'organisation et le client réduit les malentendus et les erreurs qui découlent souvent d'une mauvaise communication. De plus, des étapes supplémentaires réduisent les délais de mise sur le marché. Une communication améliorée réduit le temps passé à résoudre les erreurs et augmente la probabilité que l'utilisateur final soit satisfait du produit. Cependant, une telle coopération nécessite une participation importante du client au processus de travail. Vous devez également tenir compte du fait que si le client souhaite ajouter trop de fonctions, la date limite du projet peut être retardée.

7. Modèle Kanban

Pause café #52.  10 sites les plus utiles pour les développeurs Java, 7 modèles de développement logiciel à connaître - 9Contrairement à d’autres modèles, Kanban n’a pas d’itérations distinctes. Lorsqu’une équipe planifie des itérations, il s’agit de sprints incroyablement courts, parfois aussi courts qu’une journée. Pour indiquer visuellement l'état du projet et d'autres détails, un tableau avec des notes sous forme d'autocollants (autocollants) est utilisé. Cette visualisation permet à l'équipe de se concentrer sur la fonctionnalité la plus importante en développement à l'heure actuelle. De plus, le tableau Kanban souligne qu’il est possible d’améliorer continuellement les fonctionnalités. Bien que la méthode des notes autocollantes puisse aider à motiver une équipe à se concentrer sur la tâche importante, elle constitue une mauvaise façon de définir et de respecter les délais. C’est pour cette raison qu’il est très difficile de planifier des projets à long terme. Puisqu’il n’y a pas d’étape de planification définie, des modifications peuvent être apportées à tout moment. L’un des inconvénients courants du Kanban est le manque de délais. Ce problème peut s’aggraver si des changements sont apportés constamment.

Transition vers Agile

Chacun de ces modèles a été créé pour améliorer le processus de développement et de livraison de logiciels. Tout modèle de développement peut bien fonctionner pour des types spécifiques de projets. Cependant, les anciens modèles manuels, comme le modèle en cascade, appartiennent rapidement au passé. Les équipes informatiques et les entreprises en général doivent agir plus rapidement et plus efficacement lorsqu'elles créent des logiciels, répondent aux besoins des clients et restent à la hauteur de leurs concurrents. Un processus de développement logiciel plus rapide, plus reproductible et plus sûr repose sur l’automatisation. Et comme le niveau d’automatisation et de rapidité est inaccessible pour de nombreux modèles, la méthodologie Agile finit par devenir plus populaire.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION