La conception de logiciel met en œuvre un ensemble d'activités qui à partir d'une demande d'informatisation d'un processus (demande qui peut aller de la simple question orale jusqu'au cahier des charges complet) permettent la conception, l'écriture et la mise au point d'un logiciel (et donc de programmes informatiques) jusqu'à sa livraison au demandeur.
En règle générale, la fabrication d'un logiciel va suivre trois grandes phases : Phase d'analyse (fonctionnelle) ou de conceptionDurant cette phase, on effectue simultanément l'étude des données et l'étude des traitements à effectuer. C'est en général dans cette phase que s'appliquent les techniques de modélisation. Il en découle la description des bases de données éventuelles à créer et les programmes à écrire et la manière dont tout cela va être intégré. Spécification Conception Définition de l'architecture Phase de réalisation ou de programmation (écriture et tests des programmes) Algorithmique Programmation Gestion des versions Factorisation Tests unitaires Optimisation du code Phase de livraison Intégration Validation Documentation du logiciel Packaging.
Modélisation Méthodes de modélisation Une méthode d'analyse et de conception a pour objectif de permettre de formaliser les étapes préliminaires du développement d'un système afin de rendre ce développement plus fidèle aux besoins du client. Parmi les méthodes les plus connues, on peut notamment citer Merise, RAD et SADT.
Article détaillé : méthodes d'analyse et de conception.
Méthodes de développement (Gestion de projet) Méthode agile Extreme programming (XP) Dynamic systems development method (DSDM) Adaptive software development (ASD) Scrum Feature driven development Crystal clear Scaled agile framework (SAFe) Merise Cycle de développement
Langages de modélisation UML SysML (Systems Modeling Language) BON
Approche objet Orienté objet Interface de classe
Les écueils classiques la balle en argent prototypage le plaqué or la loi de Brooks
Voir aussi Liens externes Article Le processus unifié un processus de développement logiciel itératif
Catégorie:Gestion de projet Catégorie:Développement logiciel