Bonjour. visiteurs jour : 236
Au président
Beauté santé
Infos loisirs
Ensemble
Jean
Informatique
Relativité
Relativity
Les joies de l'informatique et de l'internet !
Accueil - Disques - Excel - Informatique - Infos - Internet - Javascript - logiciels - Programation - Sites RJ - Vidéo - Plan du site -
Le génie logiciel (software engineering) étudie les méthodes de travail et les bonnes pratiques de développement des logiciels. Le génie logiciel s'intéresse en particulier aux procédures systématiques qui permettent d'arriver à ce que des logiciels soient malgré leur complexité faciles à exploiter et à maintenir. Les délais et les coûts de construction font également parti de ses préoccupations
Selon le SWEBOK les activités clés du cycle de vie d'un logiciel sont : l'analyse fonctionnelle, l'architecture, la programmation, les tests, la validation, la maintenance et la gestion de projet.
Cahier des charges Récolter des informations concernant les fonctions du logiciel le résultat attendu.
Spécifications détaillés
Déterminer les grandes lignes des mécanismes à programmer. Identifier les outils et solutions existantes et ce qu'il y aura de spécifique à développer.
Réalisation
Ecriture du code source, suivant la méthodologie choisie (ex: itératif).
Tests
Vérification du fonctionnement si possible dans tous les cas de figure envisageables de façon à déceler un maximum de bugs. La validation est à réaliser par le client.
Livraison des logiciels à l'équipe d'exploitation et mise en service de ceux-ci dans l'environnement de production.
Les opérations d'analyse, de programmation et de test réalisés après coup, la complexité des logiciels est telle qu'il est rarissime de tout réaliser correctement du premier coup y compris au niveau de la définition des besoins qui sont souvent revus après une première expérience. Le logiciel subit des transformations, des corrections ou des améliorations. La facilité de cette maintenance dépend de la documentation et de l'architecture logicielle mis en place et maintenue. Le problème de tenue des délia en est lennemi mortel.
Organiser les équipes d'ingénieurs, analyste, programmeurs, répartir les tâches, établir le planning de réalisation, suivre l'avancement des travaux. C'est une activité de management cruciale pour les projets importants.
La complexité des logiciel a conduit a développer de nombreux outils et méthodes.
La qualité repose sur des méthodes et un management de niveau correcte
Contrôler les évolutions du code produit et les différentes versions du produit.
C'est la méthode classique initiale qui consiste à effectuer successivement les travaux d'analyse fonctionnelle, de conception, de programmation et de test.
On développe un premier jeu restreint de fonctions du logiciel, puis une nouvelle itération servira à améliorer et compléter une version plus élaborée, et ainsi de suite de façon itérative.
Agile est en rupture avec les procédés d'ingénierie classiques. Agile veut prendre en compte les changements constants de cahier des charges et des correctifs du code des logiciels. Agile demande une collaboration étroite et une forte implication de l'utilisateur final, (chose souvent très difficile à obtenir et source de beaucoup de problèmes) il privilégie un cycle de développement en spirale avec de nombreuses et courtes itérations.
exemples:
Génie logiciel - software engineering
activités clés du cycle de vie d'un logiciel
Analyse des besoins
Conception
Construction
Tests
Validation et mise en production
Maintenance
Gestion de projets
Les outils et méthodes
les bibliothèques de composants
les outils de planification
des outils pour vérifier la conformité du code produit
etc.
Gestion de la Qualité
La gestion de la configuration
méthodes et pratiques de développement
Cascade
Itératif
Agile
Les méthodes "Agile" présentent un grand progrès et de la souplesse pour mieux approcher de la perfection mais elle présentent aussi un danger celui de favoriser trop de changement et de ne jamais terminer ce qui est commencé. Cela s'apel "le mieux est l'ennemi du bien". Il faut savoir raison garder.
Croyances erronées
Un logiciel peut être construit uniquement par assemblage de fonctions et de standards
Faux! Les standard et fonctions existantes sur le marché sont une aide importante, fondamebntale, mais ne sont pas suffisamment complets et adaptables pour permettre la construction complète du logiciel.
Ajouter des personnes à une équipe d'ingénieurs permet de rattraper le retard
Faux! C'est le contraire, les personnes qui arrivent doivent être formées et informées sur le logiciel en cours de construction par les autres ingénieurs, ce qui entraîne des retards supplémentaires. (loi de Brooks)
le travail est terminé une fois que le logiciel fonctionne
Faux! L'expérience montre que le gros du travail commence après la livraison du logiciel au client et cette phase s'appelle La maintenance
Source : Wikipedia - génie logiciel