Ce que vous devez savoir avant
Vous commencez

Débute 4 June 2026 04:54

Se termine 4 June 2026

00 Jours
00 Heures
00 Minutes
00 Secondes
course image

Pratiques de développement logiciel

Explorez les pratiques de développement logiciel, y compris la collecte des exigences, la conception UML, le code propre, Git, Docker, les pipelines CI/CD et l'intégration de l'IA pour construire des systèmes logiciels robustes et concrets.
Birla Institute Of Technology And Science–Pilani (BITS–Pilani) via Coursera

Birla Institute Of Technology And Science–Pilani (BITS–Pilani)

2865 Cours


45 hours

Amélioration optionnelle disponible

Intermédiaire

Progressez à votre rythme

Paid Course

Amélioration optionnelle disponible

Aperçu

Welcome to the Software Development Practices course! In this course, you will explore techniques for eliciting and documenting software requirements, including the creation of use cases and user stories.

You will learn to design software systems using visual modeling methods such as UML diagrams and Data Flow Diagrams (DFDs). Throughout this learning journey, you will acquire the skills to produce high-quality code, leverage libraries and APIs, and efficiently manage code with version control tools like Git and GitHub.

You will also delve into contemporary deployment and DevOps strategies, encompassing debugging, testing, Docker implementation, and CI/CD pipelines, to ensure robust and reliable software development. With a blend of practical hands-on experience and theoretical insights, this course equips you with the expertise needed to thrive in software development.

Get ready to embark on an exciting learning journey that will enhance your proficiency in Software Development Practices.

Programme

  • Aperçu des pratiques de développement de logiciels
  • Ce module offre une vue d'ensemble complète du développement de logiciels, y compris les méthodologies et pratiques essentielles. Les étudiants exploreront le cycle de vie du développement logiciel (SDLC) et compareront les méthodologies clés telles que Waterfall, Agile et DevOps. L'importance de l'itération et du retour d'information dans le processus de développement sera soulignée pour mettre en avant l'amélioration continue et l'adaptation. Ce module introduit les étudiants aux applications pratiques des concepts de développement de logiciels à travers des études de cas. En examinant des applications web développées en Java et Python, les étudiants acquerront des perspectives sur des scénarios réels. De plus, un aperçu de la structure du cours montrera comment chaque module est interconnecté et lié aux études de cas, fournissant une feuille de route pour le parcours d'apprentissage.
  • Exigences logicielles et pratiques agiles
  • Le module "Exigences logicielles" offre une introduction complète aux techniques et pratiques essentielles pour recueillir, documenter et gérer les exigences logicielles. Les apprenants exploreront les meilleures pratiques pour la collecte des exigences, ainsi que la création de cas d'utilisation et de récits d'utilisateurs efficaces. De plus, le module offre un aperçu du cadre Scrum, couvrant les rôles, les artefacts et les événements pour améliorer les compétences en gestion de projet agile. À travers une étude de cas pratique sur un système de guichet automatique bancaire, les participants appliqueront leurs connaissances pour développer des exigences réelles et les organiser en sprints, assurant ainsi une gestion efficace des projets logiciels de l'initiation à la réalisation.
  • Conception de logiciels
  • Le module "Conception de logiciels" équipe les apprenants des compétences nécessaires pour concevoir efficacement des systèmes logiciels grâce à la gestion de projet pratique et à l'utilisation de techniques de modélisation visuelle. Ce module couvre la création de cas d'utilisation, de récits d'utilisateur et de plans de sprint pour lancer un projet. Il aborde également les diagrammes du langage de modélisation unifié (UML), enseignant aux apprenants comment construire et interpréter des diagrammes de cas d'utilisation, de classe, de composant, de séquence et d'activité. De plus, le module met l'accent sur la conception du flux de données avec des diagrammes de contexte et des diagrammes de flux de données (DFD). À la fin de ce module, les apprenants seront en mesure de concevoir des systèmes logiciels robustes et de représenter visuellement leur architecture et leurs processus de données avec précision.
  • Outils, pratiques et revues de développement de code efficaces
  • Ce module se concentre sur les aspects essentiels de l'écriture de code de haute qualité, de l'utilisation efficace des bibliothèques et des API, et de la réalisation de revues de code approfondies. Les apprenants exploreront l'importance du code propre, comprendront les normes de codage et les meilleures pratiques, et apprendront comment appliquer ces principes dans leur travail. De plus, le module couvre l'intégration et l'utilisation avancée des bibliothèques et des API, ainsi que des outils pour générer de la documentation. Enfin, les apprenants acquerront des perspectives sur la conduite de revues et de walkthroughs de code productifs, en utilisant des outils courants pour fournir des retours constructifs.
  • Projets de développement de logiciels
  • Ce module offre une introduction complète aux environnements de développement intégrés (IDE) et démontre leur application dans un projet pratique. Les apprenants exploreront les fonctionnalités fondamentales des IDE populaires, comprendront comment configurer et paramétrer un IDE pour leurs projets, et découvriront des plugins qui augmentent la productivité. Le module inclut également une démonstration de projet pratique, guidant les apprenants à travers le processus de compréhension des exigences du projet, de mise en œuvre et d'exécution sur une machine locale.
  • Construction et versionnage de code
  • Ce module fournit une compréhension approfondie des processus et des outils essentiels pour construire, gérer et contrôler le code source dans le développement de logiciels. Il couvre tout le cycle de vie du code, de la compilation au contrôle de version et à l'application pratique de Git et GitHub. À travers une série de leçons et de démonstrations pratiques, les apprenants développeront les compétences nécessaires pour gérer efficacement le code et collaborer sur des projets logiciels.
  • Débogage et tests
  • Le module "Débogage et tests" offre aux apprenants une compréhension exhaustive des concepts et pratiques essentiels dans l'assurance qualité des logiciels. À travers trois leçons ciblées, les participants exploreront des concepts introductifs au test, des techniques de débogage pratiques, et des approches de test conformes aux normes de l'industrie. En combinant la connaissance théorique avec des exercices pratiques, ce module équipe les apprenants des compétences nécessaires pour assurer la qualité et la fiabilité des produits logiciels dans les environnements de développement réel.
  • Pratiques de déploiement logiciel
  • Ce module offre un aperçu complet des pratiques modernes de déploiement logiciel, en se concentrant sur l'évolution des serveurs physiques aux machines virtuelles et conteneurs, avec un accent sur la technologie Docker. À travers une série de leçons, les apprenants acquerront des connaissances fondamentales sur Docker, apprendront à créer et utiliser des Dockerfiles, et développeront des compétences pratiques dans le déploiement d'images Docker et l'utilisation de DockerHub.
  • DevOps
  • Ce module offre une introduction complète à DevOps, couvrant ses besoins, sa définition et ses dimensions fondamentales. Il explore les pratiques essentielles de DevOps comme l'intégration continue et la livraison/déploiement continu, détaillant leur mise en œuvre au sein des pipelines CI/CD. De plus, il propose des démonstrations pratiques pour solidifier les concepts théoriques par une application concrète. À la fin, les apprenants seront équipés pour comprendre, expliquer et mettre en œuvre les pratiques DevOps efficacement.
  • Tendances actuelles dans les pratiques de développement de logiciels
  • Le module introduit les apprenants au rôle transformateur de l'intelligence artificielle dans le développement logiciel moderne. Ce module couvre d'abord la mise en œuvre de l'étude de cas discutée tout au long du cours, puis couvre l'intégration de l'IA dans diverses étapes du cycle de vie du développement logiciel, y compris le développement, les tests et le déploiement. Les participants exploreront les tendances actuelles, les outils et les techniques qui exploitent l'IA pour améliorer la productivité, la précision et l'efficacité. À travers les leçons sur les pratiques pilotées par l'IA, les cas d'utilisation réels et les tendances futures, les apprenants acquerront les connaissances et compétences nécessaires pour intégrer efficacement les technologies de l'IA dans leurs processus de développement logiciel.

Enseigné par

BITS Pilani Instructors Group


Matières

Programming