Outils pour utilisateurs

Outils du site


enseignement:masters:resume_gla

Ce cours présente les aspects sociaux-techniques, les principes et les méthodes du développement logiciel.

Programmer à petite échelle (par exemple programmer une fonction qui effectue un tri) et programmer à grande échelle (par exemple développer un logiciel de la complexité de Firefox) sont deux activités d’ingénierie très différentes pour plusieurs raisons :

Programmer à petite échelle ne requiert en général que le travail d’un ou deux individus. Au contraire, “programmer à grande échelle” nécessite une organisation humaine formée de plusieurs dizaines, plusieurs centaines ou même plusieurs milliers de personnes. Faute de ne pouvoir communiquer de façon instantanée et sans biais avec le reste de l’équipe, l’individu doit avoir un rôle bien clair pour structurer sa contribution au projet. Il doit suivre un processus d’ingénierie.

La construction d’un logiciel de grande taille ne se fait pas en une unique itération : sa spécification et son implémentation doivent être raffinées continuellement pour que le résultat du développement soit à la fois le bon logiciel et un logiciel de bonne qualité. On s’intéresse donc au cycle de vie du logiciel et aux méthodes qui facilitent sa maintenance, qui minimisent les risques d’erreur et garantissent son évolutivité.

Les logiciels modernes sont généralement des objets complexes formés de milliers de composants. Il n’est pas humainement possible d’avoir une vision absolument précise et complète d’un tel objet : chacune des entités qui interagit avec le logiciel prend un certain point de vue sur ce logiciel : un utilisateur pense aux cas d’usage correspondants à ses besoins, le développeur d’un certain module raisonne sous un certain nombre d’hypothèses, le responsable des données les structurent pour optimiser les requêtes les plus courantes, etc… Il faut s’assurer que ces points de vue sont cohérents entre eux et, pour cela, il faut construire des modèles, c’est-à-dire des simplifications du logiciel qui le représentent d’une façon adéquate à certain niveau d’abstraction.

Avec ce cours, vous allez acquérir des savoirs, savoirs-faire et savoirs-être liés à ces trois thèmes que sont “les processus d’ingénierie du logiciel”, “le cycle de vie du logiciel” et “la modélisation du logiciel”. En termes de savoirs, nous ferons un panorama des processus de développement logiciel, des différentes approches pour construire du logiciel pertinent et de qualité, et des langages et méthodes de modélisation. Les savoirs-faire porteront sur les techniques de conduite de projet, de développement collaboratif et de développement logiciel. Vous serez aussi mis en situation pour apprendre à “être un bon développeur”, à bien vous comporter et bien communiquer avec le reste de votre équipe.

enseignement/masters/resume_gla.txt · Dernière modification: 22/04/20 14:37 par Zielonka