Problme
Programme
Question rsoudre par une solution informatique Instance d'un problme = entres ncessaires pour calculer une solution du problme
Ensemble de donnes Ensemble de rsultats = solution informatique au problme Description d' un ensemble d'actions Excution dans un certain ordre
Principes mthodologiques
Abstraire
Retarder le plus longtemps possible l'instant du codage
Dcomposer
"...diviser chacune des difficults que j'examinerais en autant de parties qu'il se pourrait et qu'il serait requis pour les mieux rsoudre." Descartes
Combiner
Rsoudre le problme par combinaison d'abstractions
Mais aussi :
Vrifier, modulaire, rutiliser...
Notion d'algorithme
Rsolution Codage
Enonc
Algorithme
Programme
Description d'un processus de rsolution d'un problme bien dfini Succession d'actions qui, agissant sur un ensemble de ressources (entre), fourniront la solution (sortie) au problme Comment faire pour l'obtenir ?
Problme
Enonc
Algorithme
Programme
Un processus itratif
Maintenance Vrification
Analyse + spcification
Dfinir clairement le problme Recenser les donnes Dgager les grandes fonctionnalits
Conception
Organiser les donnes Concevoir l'algorithme en pseudo-code
Codification
Traduire l'algorithme dans un langage de programmation
Un processus itratif
Maintenance Vrification
5. Maintenance
Adapter le programme existant pour de nouvelles fonctionnalits et/ou pour corriger les erreurs
Typer
Connatre prcisment les proprits pertinentes dune entit
Paramtrer
Traiter un problme plus gnral que le problme pos Amliorer la rsistance de la solution aux changements Rutiliser
Itrer
Introduire un sous problme intermdiaire paramtr
Rduire la complexit d'un problme
Langage compil
Compilateur Assembleur Editeur de liens Chargeur
Programme source
Programme cible
Code machine
Mthodologie Projet
Caractristiques :
Travail en groupes Interdpendance des travaux 1 Groupe de coordination
Consquences :
Ncessit de discussionS intra-groupe Ncessit de discussionS inter-groupe
Environnement
2 Sources de difficults :
Conception de lapplication (indpendant machine) Codage de lapplication
Spcifications
Informel Syntaxe Smantique Comprhension Ambigut Prcision intuitive intuitive facile ++ -Semi-formel formel intuitive bonne leve bonne Formel formel formel difficile faible forte
Outils
Syntaxe :
Langage formel (Z), Algbre, Catgorie, (BNF)
Smantique :
Algbre, Automate
Vrification :
logique des prdicats, temporelle, probabilit
Gestion temporelle
Enchanement des tches conceptuelles :
Mthodes sur les dates : PERT
Modlisation :
Discret / Stochastique Diagramme de temps (UML) Logique temporelle
Points cls
Analyse des besoins et Validation Dfinition de la spcification Validation par rapport aux besoins Gnration de code Compatibilit R-utilisation et Paramtrage Matrise de la complexit
Mise en oeuvre
Organisation des directories (lib, bin, doc, ) Variables denvironnement (export) Scripts dinstallation, suppression, sauvegarde Principes des liens sur la version de rfrence Usage doutils de dveloppement (makefile) . et partage de code entre groupes !!!