Please enable JavaScript.
Coggle requires JavaScript to display documents.
GL - Coggle Diagram
GL
2. CONCEPTS CLES
-
- Programme: brique isolée (instructions / une tâche précise)
- Logiciel : produit complet/ utilisable / maintenu et distribué.
Types : système (OS/ pilotes ) , applicatif( word, whatsAPP), embarqué (GPS), produits(générique ou sur mesure)
Comparaison :
- informatique : science théorique (algorithmes / concepts) -> RES : modèles / théories
- génie logiciel : ingénierie pratique pour construire des logiciels fiables -> RES : logiciel opérationnel
- ingénierie système : vision globale (matériel / logiciel / organisation). Le génie logiciel en est un sous domaine
Bon logiciel :
- Maintenable => principe de modularité
- fiable => test / inclut disponibilité, sécurité, sûreté
- efficace => test de performance
- utilisable => test utilisateurs
- principes : modularité / abstraction / réutilisabilité / gestion des versions
- Bonne pratique : processus défini (agile/waterfall), code propre et documenté, tests automatisés, revue de code, gestion de versions.
- Méthodologies :
- traditionnelle : waterfall (linéaire , rigide), cycle en V (insiste sur les tests), spirale(gestion des risques)
- Agiles : Scrum (sprints), kanban(tableaux), XP(qualité du code, TDD)-> itératives, flexibles, basées sur le feedback
- DevOps : dev + opérations, CI (intégration fréquente et test automatiques) et CD (code toujours prêt à deployer)
OUTILS :
- versions : Git ,GitLab, Subversion
- IDE : IntelliJ , eclipse, vscode, pycharm
- gestion de projet : Jira , trello , asana , notion
- CI/CD : Jenkins, GitHub Actions, GitLab CI/CD
1. Introduction
-
- Qualité déficiente
- coût de développement excessif
- maintenance difficile
- invisibilité du logiciel
- performances médiocres
- réutilisation
-
déf : application de principe d'ingénierie à la création de logiciels
Logiciel : ingénierie + logiciel, appuyé sur des méthodes, outils et processus.
Obj : respecter les attentes clients/ fiabilité / coût d'entretien réduit / qualité et performances / respect des délais et des coûts
-
Etude préalable :
4 questions : pourquoi ce logiciel ? y a-t-il de meilleures alternatives ? y a-t-il un marché ? quels moyens ?
3 actions : état de l’existant, besoins utilisateurs, solutions potentielles et faisabilité.
-
Activités transversales
- Documentation : fait partie du produit, trace l'avancement, support de communication
3 types
- gestion de projet (calendrier, plan test, plan qualité)
- techniques (cahier des charges, spécifications, modèle objet, cas d'utilisation,code source, rapports de test et de défauts)
- manuels (utilisateur, installation)
- V&V :
- Vérification : construit-on bien le produit (cohérence)
- Validation : construit-on le bon produit (utilité/besoins)
- Gestion de configuration : contrôle des versions, modifications et traçabilité (identifier, archiver, contrôler les changements, gérer le travail concurrent). Outils : Git, etc.
Test (3 nv ) : unitaires
- Unitaire : un composant seul
- Intégration : interaction entre modules(back / modules / ...)
- système : test complet en conditions réelles
Maintenance : * V&V :
- Corrective : corrige les défauts
- Adaptative : s'adapter à un environnement qui change
- perfective : améliorer l'efficacité ou la maintenabilité
- préventive : anticiper les défaillances
ex des tâches : dépannage/ nouveau cycle pour les grosses modif/ mises à jour/ assistance et support/ journal des demandes