0% ont trouvé ce document utile (0 vote)
3 vues4 pages

Problématiques et enjeux du génie logiciel

Le document traite des problématiques du génie logiciel et présente différents concepts clés liés au développement logiciel tels que la classification des projets, la qualité logicielle et le génie logiciel.

Transféré par

Ele Akacha
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues4 pages

Problématiques et enjeux du génie logiciel

Le document traite des problématiques du génie logiciel et présente différents concepts clés liés au développement logiciel tels que la classification des projets, la qualité logicielle et le génie logiciel.

Transféré par

Ele Akacha
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

12-01-22

1 2 PROBLÉMATIQUES

CHAP1. INTRODUCTION • Pour répondre à un certaine nombre de problèmes dans le développement logiciel

AU GÉNIE LOGICIEL • Les courses :


❑ Machines puissantes à couts modérés
❑ Demande et complexité croissante
AMENI YOUSSFI NOUIRA

3 PROBLÉMATIQUES 4 LES CAUSES DE LA CRISE


SYMPTOMES
• Inadéquation : logiciels réalisés par rapport aux besoins des utilisateurs 1. Science et la révolution technologique sont trop jeunes
• Délais : logiciels souvent livrés en retard 2. Complexité inhérente
• Couts : dépassement du budget prévu ✓ Trop de liens de communications
• Fiabilité : logiciels souvent en panne ✓ Trop interrelations entre modules
• Maintenance : complexe, couteuse ✓ Trop importants pour être appréhendés par une seule personne
✓ Extrapolations difficiles

5 LE LOGICIEL 6 SPÉCIFICITÉ DU LOGICIEL

• C’est un produit : • La réalisation d’un objet complexe nécessite des schémas, des plans.
❑ Une forme exécutable : séquence d’instructions éxecutables par une machine • La réalisation d’un logiciel de grande tailles ne peut s’envisager sans une spécification de ses
❑ Une forme non exécutable : documentation sur le développement, la réalisation, la caractéristiques.
maintenance et l’utilisation) ❑Logiciel : objet impalpable, visibilité très tardive. Création intellectuelle
❑ Des données ❑Logiciel: ne s’use pas mais se détériorasse. Changement réguliers
• Des grandes catégories : ❑Logiciel : flexibilité . Relative à la facilité d’écrire et modifier de petites unités en comparaison
❑ Logiciel générique : systèmes autonomes vendus au grand public avec le matériel
❑ Logiciel sur mesure : systèmes autonomes développés pour les besoins d’un client Mais modifier un logiciel est une tache ni continu ni localisé donc un changement mineur
Programme, application, système, supply chain, plateforme…: SAP/ERP… peut avoir des implications énormes et complexe

1
12-01-22

7 CRITÈRES DE CLASSIFICATION 8 EXEMPLE DE CLASSIFICATION

• Le type d’informations traité: image, son, texte,… dans quel format? • Logiciels systèmes
• Logiciels temps réels
• La disponibilité des informations et leur traitement dans le temps
• Logiciels de gestion
❑ Quand les données arrivent-elles?
• Logiciels scientifiques et logiciels d’ingénierie
❑ Dans quel ordre?
• Logiciels embarqués(aéronautique, train, auto…)
❑ Quand doivent-elles être traités?
• Logiciels pour ordinateur personnel
❑ L’ordonnancement des opérations est il prévisible?
• Logiciels d’application Web
• Logiciels d’application Mobile
• Logiciels d’intelligence artificielle

9 CLASSIFICATION DES PROJETS LOGICIELS 10 DIFFÉRENCE ENTRE PETITS ET GRANDS LOGICIELS

• Projet trivial: 1 programmeurs, 1à 4 semaines, moins de 500 lignes • Logiciels complexes :


• Petit projet : 1programmeur,1 à 6 semaines, 1000 à 2000 lignes ❑ Plusieurs milliers de lignes de code
❑ Plusieurs unités
• Projet moyen: 2 à 5 programmeurs, 1 à 2 ans, 5000 à 50000 lignes
• Développement par plusieurs personnes( problèmes de communication et de
• Grand projet: 5 à 20 programmeurs, 2 à 3 ans, 50000 à 100000 lignes
coordination)
• Très grand projet : 100 à 10000 programmeurs, 4 à 5 ans, environ un million de ligne
• Aucune personne de peut comprendre l’intégralité de la structure de conception et par
• Extrêmement grand projet : projet impliquant 2000 à 5000 programmeurs, 5 à 10ans, 1 à conséquent la modification devient difficile et on doit recourir à la documentation
10 millions de lignes
• La possibilité de repartir à zéro est exclus

11 QUALITÉ DE LOGICIEL 12 QUALITÉ DE LOGICIEL

• Deux types :
❑ Externes : observables par l’utilisateur • L’importance de ces facteurs de qualité variera selon les nature du projet de
❑ Internes : concerne le développeur du logiciel développement
• Facteurs de qualité d’un bon logiciel: • Il est difficile d’optimiser tous ces facteurs car ils s’exécutent mutuellement
❑ Logiciel conforme : réponds aux besoins de l’utilisateur
❑ Logiciel fiable ; ne doit pas tomber en panne, plus qu’il n’est autorisé
❑ Logiciel efficace : pas de gaspillage de ressources les facteurs sont sujets à la loi de la diminution des gains (comprmis)
❑ Logiciel maintenable : doit pouvoir évoluer pour s’adapter aux besoins changeants des utilisateurs
❑ Logiciel utilisable : interface conviviale + une bonne documentation

2
12-01-22

13 GÉNIE LOGICIEL 14
DÉFINITION
• Est une activité qui implique la solution des problèmes • C’est l’application pratique de connaissances scientifiques dans la conception et la
• Est une activité qi implique des connaissances construction de programmes ainsi que la documentation associée, requise pour le
développement, l’exploitation et la maintenance
• Est une activité pilotée par des motivations et des raisons
• Ensemble d’activités de conception et mise en œuvre des produits et des procédures
• Est une activité qui applique les principes de l’ingénierie tendant à rationaliser la production du logiciel et son suivi

15 RÔLE ET OBJECTIF DU GL 16 GL

• Est l’application des principes de l’ingénierie au développement des logiciels. C’est


l’établissement et l’application des approches méthodiques et quantifiables au
développement et à la maintenance des logiciels dans le but d’obtenir des systèmes
logiciels économiques, fiables et efficaces dans un contexte de fonctionnement pratique
Qualité

délai coût

17 LES PRINCIPES 18 LES ACTEURS DU GL

• Principe = loi générale régissant un ensemble de phénomènes et vérifiée par • Élément clef : la communication
l’exactitude de ses conséquences
• Une personne peut assumer plusieurs rôles.
• règle = prescription qui s’impose à qcq dans un cas donné
• technique = qui a trait à la pratique, au savoir-faire dans une activité • Plusieurs personnes peuvent assumer un même rôle
• méthode = ensemble ordonné de manière logique permettant de parvenir à un
résultat
• méthodologies = ensemble de méthode
• norme = règle fixant le type d’un objet fabriqué, les conditions techniques
defabrication
Relation entre principes, Technique,
méthodes, Méthodologies et outils

3
12-01-22

19 LES ELÉMENTS DE BASE DE GL 20 GESTION DE PROJETS COMPLEXES

• Information disséminée
Eléments de base de GL • Aucune possibilité de relier l’information, le travail effectué, les processus et les artefacts
• Les outils sont incompatibles ou peu intégrés
• L’intégration des outils avec l’infrastructure existante est difficile
• Communication manuelle
Plan de • Téléphone ou réunions
Cycle de vie développemnt • L’information n’est pas sauvegardée
• Le problème est aggravé par le développement multi-sites
• Les outils de gestion du cycle de vie sont trop chers et trop complexes
quantitative • Utilisation et apprentissage difficiles
qualitative • Les développeurs voient ces outils comme une charge supplémentaire
• Coûts d’administration élevé

Common questions

Alimenté par l’IA

La communication est clé pour assurer que tous les membres de l'équipe aient une compréhension commune des objectifs et des méthodes. Un manque de communication peut mener à des incompréhensions, des erreurs, et des retards, affectant gravement le succès des projets. La complexité de grands projets amplifie ces défis, nécessitant une documentation et des outils pour faciliter la coordination .

Les logiciels petits sont gérés par un ou quelques programmeurs, avec généralement moins de lignes de code, ce qui facilite leur compréhension et l'intégration. À l'inverse, les grands logiciels nécessitent de nombreuses lignes de code et des équipes plus larges, rendant la communication et la coordination complexes, et aucune personne ne peut avoir une compréhension complète de leur structure, rendant difficile les modifications sans documentation .

Les principaux symptômes identifiés sont l'inadéquation des logiciels par rapport aux besoins des utilisateurs, les délais fréquents dans la livraison des logiciels, le dépassement des coûts prévus, la fiabilité compromise avec des logiciels souvent en panne, et la maintenance complexe et coûteuse .

Dans une équipe de développement logiciel, une personne peut assumer plusieurs rôles ou plusieurs personnes peuvent partager un rôle donné. Une distribution inefficace des rôles peut conduire à un manque de clarté dans les responsabilités, nuire à la communication et à la coordination, et augmenter la complexité du projet .

Les outils de gestion influencent le processus par leur intégration parfois difficile avec l'infrastructure existante, leur complexité rendant leur utilisation et apprentissage difficiles. Ils sont perçus comme une charge supplémentaire par les développeurs, exacerbant les coûts d'administration et compliquant la communication notamment dans des contextes multi-sites .

Les facteurs de qualité prioritaires incluent la conformité aux besoins de l'utilisateur, la fiabilité, l'efficacité, la maintenabilité et l'utilisabilité. Optimiser tous ces facteurs est difficile car ils s'opposent souvent les uns aux autres, et améliorer un aspect peut détériorer un autre, en raison de la loi de la diminution des gains .

Appliquer les principes de l'ingénierie au développement de logiciels est crucial pour s'assurer que les produits soient conçus de manière méthodique et rigoureuse, en utilisant des approches quantifiables pour garantir l'efficacité, la fiabilité et la rentabilité des systèmes développés .

Le génie logiciel doit surmonter des défis tels que la dissémination de l'information, la difficulté d'intégrer les outils dans l'infrastructure existante, et les complications liées au développement multi-sites. Ces facteurs peuvent rendre la sauvegarde de l'information, le lien entre les processus et les artefacts, et l'administration des outils extrêmement complexes .

La complexité inhérente contribue à la crise du logiciel par la surcharge des communications et des interrelations entre modules, rendant difficile une compréhension centralisée. Des extrapolations sont souvent nécessaires, et la taille des projets dépasse souvent ce qu'une seule personne peut appréhender, compliquant la coordination et la maintenance .

Le génie logiciel consiste en des activités de conception et de mise en œuvre de logiciels selon des approches méthodiques et quantifiables, appliquant les principes de l'ingénierie pour obtenir des systèmes économiques, fiables et efficaces. Ses objectifs incluent la réduction des délais, l'optimisation des coûts, et la garantie de qualité .

Vous aimerez peut-être aussi