Génie Logiciel ESIEA

Dimension: px
Commencer à balayer dès la page:

Download "Génie Logiciel ESIEA 2012-2013"

Transcription

1 Génie Logiciel ESIEA Mise-à-jour : 04/01/2013

2 Thierry ESIEA

3 Planning ( INF3038 ) Cours UFA+3A (matin) : Jeudi 31 janvier Jeudi 7 février Jeudi 14 février Jeudi 21 février Evaluation??? (aucun document) et à chaque cours TD UFA (après-midi) : Jeudi 31 janvier x2 Jeudi 14 février x2 TD 3A (après-midi) : Vendredi 1 er février Vendredi 8 février Vendredi 15 février Vendredi 22 février Logiciels : Java JDK 1.6 Maven 3 Eclipse 3.6

4 Projet ( LAB3416 ) Dates clés : 7 février : constitution des binômes Pas de mélange entre classe, svp. 21 février : Présentation du sujet 17 mai : Remise du projet par en binôme

5

6 Génie Logiciel

7 Arrêté ministériel du 30 décembre 1983 (Journal officiel du 19 février 1984) Le génie logiciel est «l'ensemble des activités de conception et de mise en œuvre des produits et des procédures tendant à rationaliser la production du logiciel et son suivi»

8 De quoi on parle dans ce cours?

9 UML

10 Java avancé

11 Eclipse IDE

12 Design patterns

13 Tests : JUnit, TDD, 3T

14 Les méthodes agiles : Scrum, Xp, Kanban,

15 Gestion de source

16 Acteurs des projets Analyste Architecte Graphiste Junior Chef de projet Développeurs

17 Utilisateurs Hommes Personnes avec un handicap (malvoyants, daltoniens, malentendants, ) Femmes Enfants (bébés, jeunes, ado, )

18 Mais on parle aussi de vaches, de chiens, de téléphones, de voitures,

19

20 UML + Java (en support)

21 Un peu d histoire pourquoi UML?

22

23

24 9 diagrammes : de classes ; de cas d utilisation (use case) ; d objets ; de collaboration ; de séquence ; d états-transitions ; d activités ; de composants ; de déploiement

25 Diagramme de classe

26 Des exemples simples

27 public interface Telephone { String getnumber(); } public class SimpleTelephone implements Telephone { private String number; } public String getnumber() { return number; } public void setnumber(string number) { this.number = number; } Accesseurs ( getter / setter )

28 La classe SimpleTelephone implémente l interface Telephone Fleche avec trait en pointillé Attributs Méthodes Graphes UML avec Omondo

29 public class PaysTelephone extends SimpleTelephone { private String indicatif; } public String getindicatif() { return indicatif; } public void setindicatif(string indicatif) { this.indicatif = indicatif; }

30 La classe PaysTelephone étend la classe SimpleTelephone Fleche avec trait plein

31 Un exemple vachement plus complexe ( mais qui reste courant )

32 spécialisation généralisation

33 Trouver le sigle utilisé pour représenter le «protected» Pour «private» on utilise «-» Pour «public» on utilise «+» Et pour «protected»??? Pour la prochaine fois

34 public enum TypeTelephone { PORTABLE("Portable"), FIXE("Fixe"), FAX("Fax"); private final String label; TypeTelephone(String label) { this.label = label; } } public String getlabel() { return label; }

35 public interface Telephone { String getnumber(); TypeTelephone gettype(); } public class PaysTelephone extends SimpleTelephone { private String indicatif; private TypeTelephone type; public TypeTelephone gettype() { return type; } public void settype(typetelephone type) { this.type = type; } }...

36 La classe SimpleTelephone possède un attribut du type TypeTelephone. Association *-1 On parle d une association.

37 public interface Personne { String getprenom(); String getnom(); List<Telephone> gettelephones(); } public class DefaultPersonne implements Personne { private String prenom; private String nom; private List<Telephone> telephones; }...

38 La classe DefaultPersonne possède un attribut du type List de Telephone. Association n On considère que chaque personne possède au moins un numéro de téléphone ( est ce vraiment la réalité? ) On parle aussi d une association.

39 Graphes sympas avec yuml : Associations Télécommande et piles

40 Une télécommande sans couvercle est-elle toujours une télécommande? Agrégation Télécommande et son couvercle Diamant vide

41 Une télécommande sans touche est-elle toujours une télécommande? Composition Télécommande et ses touches Diamant plein

42 Composition 1-1..* (biilatérale) Association *-* (unilatérale) Association, Agrégation, Composition Agrégation 1-1 (unilatérale)

43 Démo UML avec YUML

44

45 [Telecommande -piles; +getpiles();+setpiles();]*-*[pile]

46 [Telecommande -couvercle; +getcouvercle(); +setcouvercle();]<>1-1>[couvercle]

47 [Telecommande -touches +gettouches();+settouches();] *>[touche -telecommande +gettelecommande(); settelecommande();]

48 Diagramme de séquence

49 Au volant de sa voiture

50 Démo UML avec Web Sequence Diagrams

51

52

53 A->B: text A->A: text A->B: text activate B B-->A: text deactivate B

54 participant Conducteur participant Cle participant Pedale participant Voiture participant Demarreur participant Moteur participant Arbre Conducteur->Cle: tourner activate Cle Cle->Voiture: demarrer activate Voiture Voiture->Demarreur: activer activate Demarreur Demarreur->Arbre: entrainer activate Arbre Arbre-->Demarreur: ok deactivate Arbre Demarreur-->Voiture: ok deactivate Demarreur deactivate Voiture deactivate Cle Conducteur->Pedale: appuyer activate Pedale Pedale->Voiture: accelerer activate Voiture Voiture->Moteur: accelerer activate Moteur Moteur->Arbre: entrainer activate Arbre Arbre-->Moteur: deactivate Arbre Moteur-->Voiture: vitesse_rotation

55 Diagramme d états-transitions

56 Feux tricolores Etat (adjectif) Transition

57 Lave vaisselle

58 Laver la vaisselle en machine Graphes avec Visual Paradigm (community edition) pour Eclipse

59 Laver la vaisselle en machine Fin (Ronds imbriqués) Début (Ronds plein)

60 Laver la vaisselle en machine

61 Laver la vaisselle en machine

62 Laver la vaisselle en machine Historique

63 Diagramme d état-transitions d un colis livré par la poste. Penser aux centres de tri. Pour la prochaine fois

64 Bifurcation

65 Bifurcation final

66 Bifurcation

67

68

69 Diagramme d activité

70 Laver la vaisselle en machine (encore) Transition Action (verbe)

71 Laver la vaisselle en machine (encore) Diagramme très proche de l état-transitions Action (verbe) Etat (adjectif)

72 Représentation des conditions

73 Représentation D une décision Décision

74 Synchronisation

75 Signaux

76 Diagramme Use case

77 Interactions

78 Use case d un homme en interaction avec la télé via la télécommande. Penser aux interactions entre la télé et la télécommande. Pour la prochaine fois

79

80 Tests avec JUnit

81 Tests avec JUnit Prouver que ça fonctionne

82 public interface Calculette { int additionner(int a, int b); int multiplier(int a, int b); } public class SimpleCalculette implements Calculette public int additionner(int a, int b) { return a + b; } public int multiplier(int a, int b) { return a * b; }

83 import static junit.framework.assert.assertequals; import org.junit.before; import org.junit.test; public class SimpleCalculetteTestCase { private Calculette calculette; Test Avant test public void dobefore() { calculette = new SimpleCalculette(); public void testadditionner() { final int a = 2; final int b = 3; Conventions de nommage } int result = calculette.additionner(a, b); assertequals(5, result);

84 C est vert donc c est ok Les tests de la classe Temps d exécution

85 import java.util.arraylist; import java.util.list; Ajoutons une nouvelle méthode public class AdvanceCalculette implements Calculette public List<Integer> calculcarres(int nombre) { if (nombre < 0) { throw new IllegalArgumentException( "Le nombre ne peut pas être negatif."); } List<Integer> carres = new ArrayList<Integer>(); for (int i = 0; i < nombre; i++) { Integer carre = i * i; carres.add(carre); } } return carres;

86 import static junit.framework.assert.assertequals; import static junit.framework.assert.assertfalse; import static public void testcalculcarre() { final int nombre = 3; List<Integer> carres = calculette.calculcarres(nombre); assertnotnull(carres); assertfalse(carres.isempty()); et son test unitaire } Integer carrede2 = carres.get(2); assertequals(new Integer(4), carrede2);

87 et son test unitaire qui = IllegalArgumentException.class) public void testcalculcarreerror() { final int nombre = -1; } List<Integer> carres = calculette.calculcarres(nombre);

88 Démo Suite de Fibonacci Tests avec JUnit

89 Tests A la découverte de Junit «Les Tests en Trois Temps» icauda.com/articles.html#3t

90

91 Les méthodes agiles ( Scrum, Xp, Kanban, Lean )

92 Cycle en V

93

94 Manifeste agile Les 4 valeurs : Les individus et leurs interactions plus que les processus et les outils. Des logiciels opérationnels plus qu une documentation exhaustive. La collaboration avec les clients plus que la négociation contractuelle. L adaptation au changement plus que le suivi d un plan. Wikipedia :

95 Manifeste agile Les 12 principes : Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée. Accueillez positivement les changements de besoins, même tard dans le projet. Les processus agiles exploitent le changement pour donner un avantage compétitif au client. Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts. Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet. Réalisez les projets avec des personnes motivées. Fournissez-leur l environnement et le soutien dont ils ont besoin et faites-leur confiance pour atteindre les objectifs fixés. La méthode la plus simple et la plus efficace pour transmettre de l information à l'équipe de développement et à l intérieur de celle-ci est le dialogue en face à face.

96 Manifeste agile Les 12 principes (suite) : Un logiciel opérationnel est la principale mesure d avancement. Les processus agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant. Une attention continue à l'excellence technique et à une bonne conception renforce l agilité. La simplicité c est-à-dire l art de minimiser la quantité de travail inutile est essentielle. Les meilleures architectures, spécifications et conceptions émergent d'équipes auto organisées. À intervalles réguliers, l'équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence.

97 «En route vers l'agilité, SCRUM et XP : retour d'expérience»

98

99 Scrum

100 Scrum Des rôles : Product Owner Scrum Master Team Des concepts : Story points Velocity User story Done Des rituels : Sprint Daily stand up Sprint review Planning poker Retrospective Des artefacts : Product backlog Sprint backlog Task board Burn down

101 User story

102 Cartes Scrum ( planning poker )

103 Planning poker

104 Stand up

105 Stand up

106 Dashboard

107 Taskboard

108 Dashboard (taskboard) pour de vrai

109 Dashboard (taskboard) pour de vrai

110 Burndown d un sprint

111 Burndown en vrai

112 Démo

113 Rétrospective de fin de sprint

114 «3T en pratique»

115 «Scrum et Agile avec des bonhommes»

116 «Présentation des méthodes agiles et Scrum»

117 «Scrum Xp depuis les tranchées»

118 «Mémento Scrum gratuit»

119

120 Story board et maquettes

121

122 Dessins sympas avec Iphone Mockup :

123 Dessins sympas avec Iphone Mockup :

124 Balsamiq mockups : Mockingbird : Pencil : Iphone mockup :

125

126 Gestion de version

127

128 pratique?

129 Pourquoi pas sur un disque réseau? disque réseau

130 Pourquoi pas par ?

131 Travail à distance? Echanges de fichiers (nombreux) dans tous les sens? Versions des fichiers? Sauvegardes? Conflits sur des modifications parallèles?

132 Gestion de sources et contrôle de versions : garder un historique des différentes versions des fichiers d'un projet ; permettre le retour à une version antérieure quelconque ; garder un historique des modifications avec leur nature, leur date, leur auteur... ; permettre un accès souple à ces fichiers, en local ou via un réseau ; permettre à des utilisateurs distincts et souvent distants de travailler ensemble sur les mêmes fichiers.

133 Dépôt (repository) Un dépôt Subversion est l'emplacement central où sont stockées toutes les données relatives aux projets gérés. Le dépôt contient l'historique des versions des fichiers stockés, les logs enregistrés lors des modifications, les dates et auteurs de ces modifications, etc. Un dépôt apparaît de l'extérieur comme un système de fichiers composé de répertoires au sein desquels on peut naviguer, lire et écrire selon les permissions accordées. Copie de travail (working copy) La copie de travail est un répertoire situé en local sur l ordi de l'utilisateur et qui contient une copie des fichiers. C'est cette copie qui sert de base de travail et qui est modifiée en local avant d'être envoyée vers le dépôt.

134 Update ( récupération de la dernière version des fichiers )

135 Import ( création de la copie locale )

136 Commit ( envoie des fichiers modifiés vers le repository )

137 Opérations Le checkout est l'opération qui consiste à récupérer pour la première fois les fichiers déjà existant au sein d'un projet du dépôt. Cette opération ne se fait en général qu'une fois par projet. Le résultat est une copie de travail. L'update consiste à synchroniser la copie de travail locale avec le dépôt en récupérant la dernière version des fichiers du dépôt. C'est à cette occasion que des conflits de version peuvent apparaître. Un commit est l'opération inverse d'un update. Elle consiste à mettre à jour le dépôt à partir de la copie de travail locale. Une nouvelle révision est alors créée. Un log (simple message texte contenant une description des modifications effectuées) doit être saisi à cette occasion. Remarque : pour qu'un commit soit possible, il faut que la copie de travail corresponde à la dernière version du dépôt (modifications locales exceptées). Si ce n'est pas le cas, il est nécessaire d'effectuer d'abord un update et de résoudre les conflits éventuels avant de réessayer le commit.

138 Commit ( bonne pratique : faire un update avant )

139 Branches ( versions ) Version 3 Version 2 Version 1

140 Branches - merge ( versions ) Branche debug Version 1

141 Tags ( révisions ) Version 2 Version 1

142

143

144 Design patterns

145 Les 23 Design patterns de GOF : Abstract factory, Builder, Factory, Prototype, Singleton, Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Chain of responsability, Command, Interpreter, Iterator, Mediator, Memento, State, Strategy, Template, Visitor, Observer

146 Les patterns JEE : MVC (Model-View-Controller), Business delegate, Composite entity, DAO (Data Access Object), Front controller, Intercepting filter, Service locator, Transfer object, IOC (Inversion Of Control) JEE : Java Enterprise Edition

147 3 grosses familles : Création : Factory, Builder, Singleton, etc. Structure : Facade, Decorator / Adaptor, Proxy, etc. Comportement : Iterator, Observer, etc.

148 Classer les design patterns GOF dans les 3 familles : création, structure ou comportement. Chez vous

149 A lire sur le Web :

150 Singleton

151 Le Singleton

152 Le Singleton public class NotesDesElevesService { public Map<String, Double> findnotesdernierexamen() { Map<String, Double> notes = new HashMap<String, Double>(); notes.put("jean Dupont", 14.5); notes.put("alice Marini", 16.0); notes.put("marc Tonnolu", 8.0);... } return notes; }

153 Le Singleton public class NotesDesElevesService { public Map<String, Double> findnotesdernierexamen() { Map<String, Double> notes = new HashMap<String, Double>(); // recherche longue en base de donnees } return notes; }

154 Le Singleton NotesDesElevesService service = new NotesDesElevesService(); Map<String, Double> notes = service.findnotesdernierexamen()

155 Le Singleton service1 = new NDES(); service1.findnde() NDES 1 service2 = new NDES(); service2.findnde() NDES 2 service3 = new NDES(); service3.findnde() NDES 3 NDES 4 service4 = new NDES(); service4.findnde()

156 Le Singleton public class NotesDesElevesService { } private static NotesDesElevesService instance = new NotesDesElevesService(); private NotesDesElevesService() {... } public static NotesDesElevesService getinstance() { return instance; } public Map<String, Double> findnotesdernierexamen() {... }

157 Le Singleton NotesDesElevesService service = NotesDesElevesService.getInstance(); Map<String, Double> notes = service.findnotesdernierexamen()

158 Le Singleton service1 = getinstance(); service1.findnde() service2 = getinstance(); service2.findnde() NDES service3 = getinstance(); service3.findnde() service4 = getinstance(); service4.findnde()

159 Le Singleton public class NotesDesElevesService { private static NotesDesElevesService instance; private NotesDesElevesService() {... } public static NotesDesElevesService getinstance() { if(instance == null) { instance = new NotesDesElevesService(); } } return instance; }...

160 Dessiner le diagramme de classe UML du Singleton (avec les bonnes associations) Chez vous

161 Le Singleton synchronized?

162 Factory

163 Factory

164 Factory public enum RaceChienEnum { LABRADOR("Labrador"), CANICHE("Faux chien"), DOBERMAN("Chien méchant"); private final String name; RaceChienEnum(String name) { this.name = name; } }...

165 Factory public class AnimalFactory { public Chien getchien(racechienenum race) { switch (race) { case CANICHE: return new Caniche(); case DOBERMAN: return new Doberman(); } } case LABRADOR: return new Labrador(); default: throw new IllegalArgumentException( "Race de chien non gérée"); } public Vache getvache(racevacheenum race) {... }

166 Façade

167 Facade

168 public class CommisDeCuisine { public Plat cuisiner(string recette) { Placard placard = Placard.getInstance(); Frigo frigo = Frigo.getInstance(); PlaqueDeCuisson plaque = PlaqueDeCuisson.getInstance(); Poele poele = placard.prendre("poele"); plaque.allumer(); List<Ingredient> ingredients = frigo.prendre( {"oeuf", "oeuf", "fromage", "beurre"} ); while( plaque.chauffer(poele, ingredients) ) { // attendre } Plat plat = poele.getcontenu(); } }... return plat; pseudo code d une façade

169 Facade participant Chef participant CommisDeCuisine participant Placard participant Frigo participant PlaqueDeCuisson Chef->CommisDeCuisine: cuisiner activate CommisDeCuisine CommisDeCuisine->Placard: prendre activate Placard Placard-->CommisDeCuisine: poêle deactivate Placard CommisDeCuisine->PlaqueDeCuisson: allumer activate PlaqueDeCuisson CommisDeCuisine->Frigo: prendre activate Frigo Frigo-->CommisDeCuisine: oeufs, fromage, beurre deactivate Frigo CommisDeCuisine->PlaqueDeCuisson: chauffer PlaqueDeCuisson-->CommisDeCuisine: cuit_ok deactivate PlaqueDeCuisson CommisDeCuisine-->Chef: omelette deactivate CommisDeCuisine

170 Iterator

171 Iterator John Marie Lucie Marc Paul List<String> prenoms = new ArrayList<String>(); Iterator<String> iter = prenoms.iterator(); while( iter.hasnext() ) { String prenom = iter.next(); System.out.println(prenom); }

172 Iterator public class EnfantQuiCompteIterator implements Iterator<Integer> { public final static int NOMBRE_MAX = 100; public final static int NOMBRE_DEPART = 1; private int nombre = NOMBRE_DEPART; public boolean hasnext() { return nombre < NOMBRE_MAX; } public Integer next() { return ++nombre; }

173 Observer

174 Observer public enum FeuState { VERT(60000), /* 60 secondes */ ORANGE(3000), /* 3 secondes */ ROUGE(60000); /* 60 secondes */ private final long duree; FeuState(long duree) { this.duree = duree; } public FeuState next() { switch (this) { case VERT: return ORANGE; case ORANGE: return ROUGE; case ROUGE: return VERT; default: throw new IllegalStateException("Etat non valide"); } }

175 Observer public class FeuTricolor extends Observable implements Runnable { private FeuState state; public FeuState getstate() { return state; public void run() { while (true) { try { Thread.sleep(state.getDuree()); state = state.next(); notifyobservers(state); } } } catch (InterruptedException e) { e.printstacktrace(); }

176 Observer public class Conducteur implements Observer { Voiture voiture public void update(observable obj, Object value) { } } if (obj instanceof FeuTricolor) { FeuState state = (FeuState) value; if (state == FeuState.VERT) { voiture.accelerer(); } }

177

178 JDBC

179 Table CHIEN id name race nb_de_mamelle poids 1 Tigrou labrador Titi caniche Uta labrador Medor doberman

180 @Override public List<Labrador> findlabradors() { } List<Labrador> labradors = new ArrayList<Labrador>();... return labradors;

181 // (1) Class.forName("oracle.jdbc.driver.OracleDriver"); // (2) Connection con = DriverManager.getConnection("monUrl", "monlogin", "monpassword"); // (3) String sql = "SELECT * FROM chien WHERE race = 'labrador' "; // (4) Statement statement = con.createstatement(); // (5) ResultSet rs = statement.executequery(sql);

182 Iterator? // (6) while ( rs.next() ) { // (7) String name = rs.getstring("name"); double poids = rs.getdouble("poids"); int nbmamelle = rs.getint("nb_de_mamelle"); // (8) Labrador labrador = new Labrador(); labrador.setname(name); labrador.setweight(poids); labrador.setnombremamelle(nbmamelle); } // (9) labradors.add(labrador);

183 «Charger des données depuis une base MySQL en 5 minutes»

184

185 SWING

186 JButton JCheckBox JRadioButton JMenu JComboBox JList JTextField JTextArea

187 JTable JFileChooser JLabel JDialog JFrame JProgressBar

188 «A Visual Guide to Swing Components»

189

190 Intégration continue

191

192 Projet ( Il faut être présent au dernier cours pour le découvrir )

193 Ce qu on a vu en cours et en TD : UML ; Java ; Tests (TDD, 3T) ; Design pattern ; DAO (JDBC / CSV / ) ; Swing (table model) ; Story board ; Maven ; Subversion ; Scrum ; etc.

194 Projet GL ESIEA groupe N Archive ZIP Projet_GL_ESIEA_ _groupe-N.zip Rapport PDF Rapport_Projet_GL_ESIEA_ _groupe-N.pdf Projet Java-Maven programme.zip

195 Thème du projet de GL ( plantez la petite graine )

196

197 Reproduction partielle ou complète strictement interdite sans l autorisation de l auteur. icauda.com Tous droits et bases réservés

198

Génie Logiciel ESIEA 2013-2014

Génie Logiciel ESIEA 2013-2014 Génie Logiciel ESIEA 2013-2014 Mise-à-jour : 21/03/2014 Thierry Leriche-Dessirier thierryler@gmail.com @thierryleriche ESIEA 2001 Planning ( INF3038 ) Cours UFA+3A (matin) : 17 mars 24 mars 31 mars 7 avril

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES Quelques constats Etude du Standish Group Seul 1/3 des projets informatiques sont qualifiés de succès 50 % sont livrés et opérationnels, mais sont sortis du

Plus en détail

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS Conduite de projets SI Les méthodes «Agiles» N QUAL/1995/3660e ORESYS Agilité : de quoi parle-t-on? Agilité de l entreprise Urbanisme Architectures SOA Agilité du SI ERP Plateformes applicatives agiles

Plus en détail

Scrum et l'agilité des équipes de développement

Scrum et l'agilité des équipes de développement NormandyJUG Scrum et l'agilité des équipes de développement Par Dimitri Baeli & Nicolas Giard 23 Février 2010 Présentation des intervenants Dimitri Baeli http://twitter.com/dbaeli VP Quality Enterprise

Plus en détail

Une introduction à la technologie EJB (2/3)

Une introduction à la technologie EJB (2/3) Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce

Plus en détail

Agile @ Germe Grenoble 4 22/06/2012. Intervenant: Bruno Sbille

Agile @ Germe Grenoble 4 22/06/2012. Intervenant: Bruno Sbille Agile @ Germe Grenoble 4 22/06/2012 Intervenant: Bruno Sbille 1 Agile @ Germe 2 Bruno Sbille Blog Agile: http://brunosbille.com Coach & Formateur Blog Coaching Personnel: http://brunosbille.com/coachdevie

Plus en détail

25/12/2012 www.toubkalit.ma

25/12/2012 www.toubkalit.ma 25/12/2012 www.toubkalit.ma 1 Définition Exemple des méthodes agiles Valeurs Principes Le cycle itératif et incrémental (Itération/Sprint) Schéma de travail Méthode Scrum. Méthode XP (Extreme programming).

Plus en détail

Gestion de projet Agile. STS IRIS Module 4.2 - «Gérer et organiser un projet informatique»

Gestion de projet Agile. STS IRIS Module 4.2 - «Gérer et organiser un projet informatique» Gestion de projet Agile Module 4.2 - «Gérer et organiser un projet informatique» Sommaire Introduction Principes et méthodes Agiles Scrum 2 Introduction Gestion de projet : démarche structurante assurant

Plus en détail

Design patterns. Design patterns - définition. Design patterns - avantages

Design patterns. Design patterns - définition. Design patterns - avantages Design patterns Conception UML Implantation Java Anne Lapujade 1 Design patterns - définition 2 v Objectif : proposer des solutions standardisées à des problèmes de conception classiques v Design pattern

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

Plus en détail

Formation Scrum. 2 jours

Formation Scrum. 2 jours 2 jours +33 6 08 34 63 55 laurent@morisseauconsulting.com SARL unipersonnelle au capital de 3500 - N SIRET : 508 068 590 00019 Code APE 6202A Sommaire 1 Contexte de la formation... 3 2 Le formateur...

Plus en détail

Scrum + Drupal = Julien Dubois

Scrum + Drupal = Julien Dubois Pourquoi j aime Scrum Pourquoi Scrum et Drupal sont faits pour s entendre Scrum + Drupal = Julien Dubois Happyculture.coop De quoi allons-nous parler? 1. Que sont les méthodes agiles? 2. Présentation de

Plus en détail

L'agilité appliquée à nous-mêmes. Philippe Krief, PhD Development Manager IBM France Lab

L'agilité appliquée à nous-mêmes. Philippe Krief, PhD Development Manager IBM France Lab L'agilité appliquée à nous-mêmes Philippe Krief, PhD Development Manager IBM France Lab Agenda Où en était l équipe RPP il y a 24 mois Réorganisation de l équipe et du projet autour de Scrum et de RTC

Plus en détail

Développement itératif, évolutif et agile

Développement itératif, évolutif et agile Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie

Plus en détail

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint? Plan nitiation au Génie Logiciel Cours 5 ntroduction au π développement agile T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 1/ 28 T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 2/ 28 Bibliographie Plan L informatique

Plus en détail

Formation pour Product Owner

Formation pour Product Owner 2 jours +33 6 08 34 63 55 laurent@morisseauconsulting.com SARL unipersonnelle au capital de 3500 - N SIRET : 508 068 590 00019 Code APE 6202A Sommaire 1 Contexte de la formation... 3 2 Le formateur...

Plus en détail

Scrum Une méthode agile pour vos projets

Scrum Une méthode agile pour vos projets Avant-propos 1. Objectif du livre 17 2. Notre démarche 17 3. Structure du livre 18 4. Remerciements 20 Scrum, une méthode agile avant tout 1. Le grand départ 21 2. La gestion de projet informatique 22

Plus en détail

Méthodes de développement

Méthodes de développement 1 / 9 Méthodes de développement Méthodes agiles 1 - Introduction... 2 2 -Le manifeste agile et les méthodes agiles... 2 2.1 Le manifeste agile... 2 2.2 Les méthodes agiles... 3 3 - Caractéristiques communes

Plus en détail

backlog du produit Product Owner

backlog du produit Product Owner Méthodes agiles : Définition: selon Scott Ambler «Une méthode agile est une approche itérative et incrémentale pour le développement de logiciel, réalisé de manière très collaborative par des équipes responsabilisées

Plus en détail

Certification Scrum Master

Certification Scrum Master avec Jeff Sutherland Les méthodes Agiles représentent indéniablement une approche nouvelle et différente dans la conduite de projets. Au lieu de suivre un plan à la lettre en assignant des tâches à une

Plus en détail

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche Règles d engagement Présentation Diapositives Bibliographie Questions Les vertus de la marche Plan Rappels sur l agilité Scrum : une implantation de l agilité Scrum ou XP? Conclusion Historique sélectif

Plus en détail

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château Rappel TP3 Intégration de pratiques agiles En direct-live du château 40 41 Scénario d intégration agile 1. User Stories (1) 1. Rédiger les User Stories (exigences) 2. Planifier les Itérations (quoi / quand)

Plus en détail

SCRUM chez BWIN : implémentation d une méthode agile dans Focalpoint Spasija Taseva et Corinne Bacle

SCRUM chez BWIN : implémentation d une méthode agile dans Focalpoint Spasija Taseva et Corinne Bacle SCRUM chez BWIN : implémentation d une méthode agile dans Focalpoint Spasija Taseva et Corinne Bacle 1 AGENDA Présentation de BWIN Description rapide du scrum Processus du scrum Démonstration de l implémentation

Plus en détail

Christophe Leroy Marc Lainez. L Agilité est-elle soluble dans la culture francophone?

Christophe Leroy Marc Lainez. L Agilité est-elle soluble dans la culture francophone? Christophe Leroy Marc Lainez L Agilité est-elle soluble dans la culture francophone? Le Manifeste Agile http://agilemanifesto.org/ 2 Les 4 valeurs Agiles Equipe Personnes et interactions plutôt que processus

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Programmation Par Objets

Programmation Par Objets Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets

Plus en détail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Les méthodes Agiles. Introduc)on aux méthodes Agiles Exemple : Scrum

Les méthodes Agiles. Introduc)on aux méthodes Agiles Exemple : Scrum Les méthodes Agiles Introduc)on aux méthodes Agiles Exemple : Scrum Défini)on de base Les méthodes Agiles sont des procédures de concep)on de logiciel qui se veulent plus pragma)ques que les méthodes tradi)onnelles

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com http://www.agilegardener.com/ 04/09/2008

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com http://www.agilegardener.com/ 04/09/2008 Les méthodes Agiles Introduction Intervenant : Tremeur Balbous tremeur@agilegardener.com http://www.agilegardener.com/ 04/09/2008 Les méthodes Agiles Le contexte Le Manifeste Agile Une tentative de définition

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

Plus en détail

Méthodes Agiles et gestion de projets

Méthodes Agiles et gestion de projets Méthodes Agiles et gestion de projets Eric LELEU Consultant Solutions Collaboratives Contact ericleleu@nordnet.fr Site Personnel http://home.nordnet.fr/~ericleleu Blog http://ericleleu.spaces.live.fr La

Plus en détail

INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS)

INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS) INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS) 1 Introduction à la gestion de projet Agile Sommaire AVERTISSEMENT... 2 APERÇU... 3 EXERCICE

Plus en détail

Corrigé des exercices sur les références

Corrigé des exercices sur les références Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015 INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015 Question #1 Quelle technique de mise sous test devons-nous utiliser si nous voulons simuler le comportement d'une

Plus en détail

Programmation Agile Mise en oeuvre via Scrum et l'extreme Programming (XP)

Programmation Agile Mise en oeuvre via Scrum et l'extreme Programming (XP) Programmation Agile Mise en oeuvre via Scrum et l'extreme Programming (XP) B. Mermet 2010 Plan La programmation Agile et L'artisanat du logiciel Mise en œuvre avec Scrum Mise en œuvre avec l'extreme Programming

Plus en détail

Agile Maroc 24 Novembre 2010. Méthodes agiles. Thierry Cros. http://etre-agile.com. Agile Maroc 24 novembre 2010

Agile Maroc 24 Novembre 2010. Méthodes agiles. Thierry Cros. http://etre-agile.com. Agile Maroc 24 novembre 2010 Agile Maroc 24 Novembre 2010 Méthodes agiles Thierry Cros 1 Thierry Cros 10 ans déjà... 2010 Création Extreme Programming France 2009 SigmaT Les Agilistes Toulousains 2010 Membre de «Fédération Agile»

Plus en détail

Formation Certifiante Scrum Master

Formation Certifiante Scrum Master Formation Certifiante Scrum Master Cette formation pratique de deux jours, ponctuée par la certification Scrum Master délivrée par la Scrum Alliance, est destinée aux chefs et directeurs de projets, responsables

Plus en détail

Composants Logiciels. Le modèle de composant de CORBA. Plan

Composants Logiciels. Le modèle de composant de CORBA. Plan Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Tutoriel d installation de Hibernate avec Eclipse

Tutoriel d installation de Hibernate avec Eclipse Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création

Plus en détail

LOG4430 : Architecture logicielle et conception avancée

LOG4430 : Architecture logicielle et conception avancée LOG4430 : Architecture logicielle et conception avancée Yann-Gaël Guéhéneuc Cours 3 Bibliothèques et chargement Dynamique de composants Département de génie informatique et de génie logiciel École Polytechnique

Plus en détail

Analyse,, Conception Objet

Analyse,, Conception Objet Analyse,, Conception Objet Design Patterns Introduction Sommaire Conception Réutilisabilité Bibliothèque de classe vs. Framework Design Pattern Historique Catégories de Patterns Bibliographie O. Boissier,

Plus en détail

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture API04 Contribution Apache Hadoop: Présentation et application dans le domaine des Data Warehouses Introduction Cette publication a pour but de présenter le framework Java libre Apache Hadoop, permettant

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

REX Scrum Master du terrain

REX Scrum Master du terrain REX Scrum Master du terrain Ludovic Larché Agile Tour 2012 à Rennes le 4 octobre 2012 Qui suis je? Ludovic LARCHE Agile Scrum / Kanban Consultant Scrum Master depuis 2008 Accompagnement de Product Owner

Plus en détail

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7 Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application

Plus en détail

Topologie du web - Valentin Bourgoin - http://www.valentinbourgoin.net. Méthodes agiles & SCRUM

Topologie du web - Valentin Bourgoin - http://www.valentinbourgoin.net. Méthodes agiles & SCRUM Méthodes agiles & SCRUM 1/ Pourquoi les méthodes agiles? Définition d une méthode agile. Fondamentaux. Quand les utiliser? 2/ SCRUM En quoi est-ce une méthode agile? Sprints et releases. Le Product Owner.

Plus en détail

Scrum. ... pour des projets informatiques agiles. Pascal Lando Certified Scrum product owner

Scrum. ... pour des projets informatiques agiles. Pascal Lando Certified Scrum product owner Scrum... pour des projets informatiques agiles Pascal Lando Certified Scrum product owner e-merchant Laboratoire Mis IUP Miage d Amiens pascal.lando@u-picardie.fr 2 octobre 2013 Ceci n est pas un cours

Plus en détail

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

Plus en détail

Le Product Backlog, qu est ce c est?

Le Product Backlog, qu est ce c est? Le Product Backlog, qu est ce c est? Ludovic Larché Agile Tour 2012 à Rennes le 4 octobre 2012 Sommaire > Rappels théoriques : qu est ce qu un Product Backlog? > Le Product Backlog n est pas seul! > Techniques

Plus en détail

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et

Plus en détail

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les

Plus en détail

1. Installation d'un serveur d'application JBoss:

1. Installation d'un serveur d'application JBoss: EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Méthodes agiles. www.businessinteractif.com CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

Méthodes agiles. www.businessinteractif.com CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif. Méthodes agiles www.businessinteractif.com Jean-Louis Bénard jlb@businessinteractif.fr CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS 0 20 mai 2002 Sommaire Méthodes agiles : une réponse à un malaise?

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez... Au programme Conception Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Présentation L UE COO est le prolongement immédiat de l UE POO du S4 informatique. cf. http://portail.fil.univ-lille1.fr/portail/ls4/poo

Plus en détail

Logiciel de gestion de caisse et d ardoises

Logiciel de gestion de caisse et d ardoises 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Logiciel de gestion de caisse et d ardoises BOIRLEAUD Pierre-Jean MOLINS Nicolas REHFELD Vincent Table des matières

Plus en détail

Formation agile. Formation agile Created on 24 janv. 2012 Edited on 29 févr. 2012. Page 1 sur 16

Formation agile. Formation agile Created on 24 janv. 2012 Edited on 29 févr. 2012. Page 1 sur 16 Formation agile Page 1 sur 16 1. Qui sommes-nous?... 3 1.1. Pierre-Emmanuel Dautreppe... 3 1.2. Norman Deschauwer... 3 1.3. L association DotNetHub... 3 2. Introduction... 5 3. Agile Manifesto... 6 4.

Plus en détail

CHAPITRE 3 : LES METHODES AGILES?

CHAPITRE 3 : LES METHODES AGILES? CHAPITRE 3 : LES METHODES AGILES? UE Gestion de Projet Master 1 STIC 2014/2015 Céline Joiron 2 Introduction Après avoir présenté les cycles de vie «classiques» de la gestion de projet L objectif de ce

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30 Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Un ordonnanceur stupide

Un ordonnanceur stupide Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire

Plus en détail

Programmation d application Bases de données avec Java

Programmation d application Bases de données avec Java Plan du document Programmation d application Bases de données avec Java INT Problématique slide 3 Correspondance diagramme de classe slide 4 UML vers schéma relationnel Programmation BD avec JDBC slide

Plus en détail

Desktop Intégration. Rémi Forax

Desktop Intégration. Rémi Forax Desktop Intégration Rémi Forax 1 Intégration au bureau L intégration de l application au bureau de l utilisateur se fait en combinant plusieurs techniques L écran d annonce de l application (SplashScreen)

Plus en détail

Le Product Owner Clé de voute d un projet agile réussi

Le Product Owner Clé de voute d un projet agile réussi Le Product Owner Clé de voute d un projet agile réussi Cédric Pourbaix - EFIDEV Qui est le product owner? SM PO Scrum Team Qui est le product owner? SM PO Scrum Team Qui est le product owner? marketing

Plus en détail

Les mécanismes d'assurance et de contrôle de la qualité dans un

Les mécanismes d'assurance et de contrôle de la qualité dans un Les mécanismes d'assurance et de contrôle de la qualité dans un projet Agile SPIN de Montréal - ETS 5 mars 2012 Qui sommes nous? mathieu boisvert Coach Agile Chargé de cours Co auteur d un livre avec Sylvie

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003.

Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003. JAVA et Design Pattern Page 1/26 JAVA et Design Pattern Etude des Pattern Design Modélisation UML, Etude et critique des implémentations Java Par Laurent DESECHALLIERS Mastère Spécialisé en Management

Plus en détail

Threads. Threads. USTL http://www.lifl.fr/ routier 1

Threads. Threads. USTL http://www.lifl.fr/ routier 1 Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un

Plus en détail

Package Java.util Classe générique

Package Java.util Classe générique Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

[APPLICATON REPARTIE DE VENTE AUX ENCHERES] 2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...

Plus en détail

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

Liste des Formations

Liste des Formations Janvier 2014 2 Liste des Formations INGENIERIE DES EXIGENCES... 3 Préparation à la Certification IREB en Ingénierie des Exigences (Réf : FIREB)...4 Ingénierie des Exigences (Réf : FIE)...6 Améliorer l

Plus en détail

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend

Plus en détail

L enseignement de méthodes agiles dans un contexte d apprentissage actif

L enseignement de méthodes agiles dans un contexte d apprentissage actif L enseignement de méthodes agiles dans un contexte d apprentissage actif Ruben González-Rubio Eugène Morin Balkrishna Sharma Gukhool Groupe ɛ X it C1-3019 Département de génie électrique et de génie informatique

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Programmation Orientée Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 21 octobre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet 21 octobre 2014

Plus en détail

Guide de Préparation. EXIN Agile Scrum. Foundation

Guide de Préparation. EXIN Agile Scrum. Foundation Guide de Préparation EXIN Agile Scrum Foundation Édition Décembre 2014 Droits d auteur 2014 EXIN Tous droits réservés. Aucune partie de cette publication ne saurait être publiée, reproduite, copiée, entreposée

Plus en détail

Interfaces graphiques avec l API Swing

Interfaces graphiques avec l API Swing Interfaces graphiques avec l API Swing Les Swing Les classes graphiques Swing dérivent de la classe JComponent, qui hérite ellemême de la classe AWT (Abstract Window Toolkit). Tous les composants Swing

Plus en détail

Les méthodes itératives. Hugues MEUNIER

Les méthodes itératives. Hugues MEUNIER Les méthodes itératives Hugues MEUNIER INTRODUCTION. Toute les méthodes ont le même but : la maîtrise du budget, du planning et de la qualité des projets de développement informatique Plusieurs approches

Plus en détail

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM) Architecture pragmatique pour la gestion du cycle de vie des applications (ALM) Concepts Agile appliqués à l architecture et à la conception Jean-Louis Maréchaux jl.marechaux@ca.ibm.com Jean-Louis Maréchaux

Plus en détail

Synchro et Threads Java TM

Synchro et Threads Java TM Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire

Plus en détail

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T> Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances

Plus en détail

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros XP : plus qu'agile Extreme Programming v2 et Développement Responsable Thierry Cros Retrouvez cette présentation sur le site http://thierrycros.net Licence CC-BY-NC-SA XP : plus qu'agile Pourquoi XP Installer

Plus en détail