Génie Logiciel ESIEA

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

Download "Génie Logiciel ESIEA 2013-2014"

Transcription

1 Génie Logiciel ESIEA Mise-à-jour : 21/03/2014

2 Thierry ESIEA 2001

3 Planning ( INF3038 ) Cours UFA+3A (matin) : 17 mars 24 mars 31 mars 7 avril Evaluation??? (aucun document) pas durant les cours TD UFA (matin) : 25 mars x2 8 avril x2 TD 3A : plein de dates Logiciels : Java JDK 1.6 Maven 3 Eclipse 3.6

4 Projet ( LAB3416 ) Dates clés : 31 mars : constitution des équipes 7 avril : Présentation du sujet 23 mai : Remise du projet par par équipe de 6-8

5 Pédagogie ( futurs jeunes ingénieurs )

6

7 Génie Logiciel

8 L ESIEA l Ecole qui forme l Ingénieur et l Homme

9 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»

10 De quoi on parle dans ce cours?

11 UML

12 Java avancé

13 Eclipse IDE

14 Design patterns

15 Tests : JUnit, TDD, 3T

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

17 Gestion de source

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

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

20

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

22

23 UML + Java (en support)

24 Un peu d histoire pourquoi UML?

25

26

27 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

28 Diagramme de classe

29 Des exemples simples

30 public interface Mammifere { } int getnombremamelle(); public class Loup implements Mammifere { private int public int getnombremamelle() { return nbmamelle; } Accesseurs ( getter / setter ) } public void setnombremamelle(int nbmamelle) { this.nbmamelle = nbmamelle; }

31 La classe Loup implémente l interface Mammifere Fleche avec trait en pointillé Attributs Méthodes Graphes UML avec ObjectAid

32 public class Chien extends Loup { private boolean lof; private String tatouage; public boolean islof() { return lof; } public void setlof(boolean lof) { this.lof = lof; } public String gettatouage() { return tatouage; } } public void settatouage(string tatouage) { this.tatouage = tatouage; }

33 La classe Chien étend la classe Loup Fleche avec trait plein

34 La classe Chien étend la classe Loup qui implémente l interface Mammifere Fleche avec trait en pointillé Fleche avec trait plein

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

36 spécialisation généralisation Graphes UML avec Omondo

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

38 public enum Genre { HOMME(1, "Garcon"), FEMME(2, "Fille"), TEMPORAIRE(8, "Temp"); final int codesecu; final String label; Genre(final int codesecu, final String label) { this.codesecu = codesecu; this.label = label; } public int getcodesecu() { return codesecu; } } public String getlabel() { return label; }

39 public interface Mammifere { int getnombremamelle(); Genre getsexe(); } public class Loup implements Mammifere { private int nbmamelle; private Genre public Genre getsexe() { return sexe; } public void setsexe(genre sexe) { this.sexe = sexe; } }...

40 La classe Louppossède un attribut du type Genre (sexe). Association *-1 On parle d une association.

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

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

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

44 Graphes UML avec Omondo Composition 1-1..* (biilatérale) Association *-* (unilatérale) Association, Agrégation, Composition Agrégation 1-1 (unilatérale)

45 Démo UML avec YUML

46

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

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

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

50 Diagramme de séquence

51 Au volant de sa voiture

52 Démo UML avec Web Sequence Diagrams

53

54

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

56 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

57 Diagramme d états-transitions

58 Feux tricolores Etat (adjectif) Transition

59 Lave vaisselle

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

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

62 Laver la vaisselle en machine

63 Laver la vaisselle en machine

64 Laver la vaisselle en machine Historique

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

66 Bifurcation

67 Bifurcation final

68 Bifurcation

69

70

71 Diagramme d activité

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

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

74 Représentation des conditions

75 Représentation D une décision Décision

76 Synchronisation

77 Signaux

78 Diagramme Use case

79 Interactions

80 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

81

82 Actu de la semaine

83 Prochaines conférences Scrum Day avril Devoxx France avril Mix-it avril Breizth Camp mai Agile France mai 2014

84

85 Tests avec JUnit

86 Tests avec JUnit Prouver que ça fonctionne

87 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; }

88 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);

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

90 Démo dans Eclipse ( calcul de φ : 1, Fibonacci )

91 Faire passer au vert le dernier test, sur la durée Utiliser une HashMap Pour la prochaine fois Copie individuelle à rendre

92 Dossier La suite de Fibonacci et le nombre d or :

93 One more thing

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

95

96

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

98 Cycle en V

99

100 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 :

101 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.

102 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.

103 «Mémento Manifeste Agile»

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

105

106 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

107 User story

108 Cartes Scrum ( planning poker )

109 Planning poker

110 Stand up

111 Stand up

112 Dashboard

113 Taskboard

114 Dashboard (taskboard) pour de vrai

115 Dashboard (taskboard) pour de vrai

116 Burndown d un sprint

117 Burndown en vrai

118 Démo

119 Rétrospective de fin de sprint

120 «3T en pratique» «Scrum et Agile avec des bonhommes» «Présentation des méthodes agiles et Scrum» «Scrum Xp depuis les tranchées» «Mémento Scrum gratuit»

121

122

123

124 Actu de la semaine 7B$

125 User groups Paris JUG (Java User Group) Duchess France Angular JS Paris Paris AUG (Android User Group)

126

127 Story board et maquettes

128

129 Dessins sympas avec Iphone Mockup :

130 Dessins sympas avec Iphone Mockup :

131

132

133

134 Balsamiq mockups : Axure : Mockingbird : https://gomockingbird.com/mockingbird/# Pencil : Iphone mockup :

135

136 Gestion de version

137

138 pratique?

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

140 Pourquoi pas par ?

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

142 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.

143 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.

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

145 Import ( création de la copie locale )

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

147 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.

148 Commit ( bonne pratique : faire un update avant )

149 Branches ( versions ) Version 3 Version 2 Version 1

150 Branches - merge ( versions ) Branche debug Version 1

151 Tags ( révisions ) Version 2 Version 1

152

153

154

155 Design patterns

156 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

157 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

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

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

160 A lire sur le Web :

161 Singleton

162 Le Singleton

163 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; }

164 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; }

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

166 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()

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

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

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

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

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

172 Le Singleton synchronized?

173 «Mémento Singleton»

174 Factory

175 Factory

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

177 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) {... }

178 Façade

179 Facade

180 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

181 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

182 Actu de la semaine

183 Podcasts Les Cast Codeurs Le rendez-vous Tech niptech / nipdev Podcast science

184 Iterator

185 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); }

186 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; }

187 Observer

188 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 ISE("..."); } }

189 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(); }

190 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(); }

191

192 JDBC

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

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

195 select // (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(); JDBC // (5) ResultSet rs = statement.executequery(sql);

196 Iterator? select // (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); JDBC } // (9) labradors.add(labrador);

197 insert String sql = "INSERT INTO chien " + " (name, race, nb_de_mamelle, poids) " + " VALUES ( " + + "'" + labrador.getname() + "', " + "'labrador', " + labrador.getnombremamelle() + ", " + labrador.getweight() + " )"; Statement stmt = con.createstatement(); stmt.executeupdate(sql); JDBC

198 Insert (PreparedStatement) String sql = "INSERT INTO chien " + " (name, race, nb_de_mamelle, poids) " + " VALUES (?, 'labrador',?,?) "; PreparedStatement stmt = con.preparestatement(sql); stmt.setstring( 1, labrador.getname() ); stmt.setint( 2, labrador.getnombremamelle() ); stmt.setdouble( 3, labrador.getweight() ); stmt.executeupdate(sql); JDBC

199 «Charger des données depuis une base MySQL en 5 minutes» «JDBI» «Named Parameters for PreparedStatement» «Introduction à JPA, application au chargement de données depuis une base MySQL»

200

201 SWING

202 JButton JCheckBox JRadioButton JMenu JComboBox JList JTextField JTextArea

203 JTable JFileChooser JLabel JDialog JFrame JProgressBar

204 «A Visual Guide to Swing Components»

205

206 Intégration continue

207

208 mvn clean install mvn sonar:sonar

209

210 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.

211 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

212 Thème du projet de GL ( mangez des carottes ) Projet ( )

213

214 Règle 1 : La vie n'est pas juste; il faudra vous y faire. Règle 2 : Le monde se fiche de votre estime personnelle. Le monde s'attendra à ce que vous réalisiez quelque chose AVANT que vous ne vous sentiez bien dans votre peau. Règle 3 : Vous ne toucherez pas dollars par année immédiatement en sortant de l'école secondaire. Vous ne serez pas vice-président d'entreprise avec un téléphone dans votre voiture avant d'avoir gagné et mérité les deux. Règle 4 : Si vous pensez que votre professeur est sévère, attendez d'avoir un patron. Règle 5 : Être plongeur dans un restaurant n'a rien d'humiliant. Vos grands-parents utilisaient un terme différent pour décrire ce genre de boulot, ils appelaient cela "s'ouvrir des portes". Règle 6 : Si vous vous retrouvez dans le pétrin, ce n'est pas la faute de vos parents, alors ne vous plaignez pas de votre sort et tirez-en plutôt les leçons nécessaires. Bill Gates : 11 règles de vie

215 Règle 7 : Avant votre naissance, vos parents n'étaient pas aussi ennuyeux qu'ils le sont aujourd'hui. Ils sont devenus comme cela à force de payer vos factures, de laver vos sous-vêtements et de vous écouter raconter à quel point vous êtes cool. Alors, avant de penser sauver la forêt équatoriale des parasites de la génération de vos parents, essayez de mettre un peu d'ordre dans votre propre chambre. Règle 8 : Votre école a peut-être cessé de distinguer les gagnants des perdants, mais pas la vie. Dans certaines écoles, ils ont éliminé la note de passage et ils vous donneront autant de chances que vous voulez avant de trouver la bonne réponse. Cela n'a absolument RIEN À VOIR avec la vraie vie. Règle 9 : La vie n'est pas divisée en semestres. Vous n'êtes pas en vacances tout l'été et très peu d'employeurs sont intéressés à vous aider à vous retrouver. Faites cela durant vos temps libres. Règle 10 : La télévision N'EST PAS représentative de la vraie vie. Dans la vie, en réalité, les gens doivent quitter le restaurant et retourner travailler. Règle 11 : Soyez gentils avec les «nerds». Il y a de bonnes chances que vous finissiez par travailler pour l'un d'entre eux. Bill Gates : 11 règles de vie

216

217 Cours Forums FAQ News Interviews Critiques Articles / tutoriels Agendas Magazine

218 13 OOO OOO pages vues par mois visites par mois visites uniques par mois messages forum par jour

219

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

221

Génie Logiciel ESIEA 2012-2013

Génie Logiciel ESIEA 2012-2013 Génie Logiciel ESIEA 2012-2013 Mise-à-jour : 04/01/2013 Thierry Leriche-Dessirier thierryler@gmail.com @thierryleriche ESIEA 2001 www.icauda.com/cours.html Planning ( INF3038 ) Cours UFA+3A (matin) : Jeudi

Plus en détail

L agile est mort vive l agile! L évolution du développement logiciel

L agile est mort vive l agile! L évolution du développement logiciel L agile est mort vive l agile! L évolution du développement logiciel L agile est mort vive l Agile. 2 3 4 L évolution 5 Une question de maturité Tiré de The Standish Group: Chaos Report 2011 Tiré de Version

Plus en détail

Agilité: Le manager devient facilitateur. @hgregoir

Agilité: Le manager devient facilitateur. @hgregoir Agilité: Le manager devient facilitateur @hgregoir Merci à nos partenaires et sponsors! Qui suis- je?! Forma>on technique en Dev et Sysadmin! Développeur, Architecte dev/sécu depuis 1996! Mais aussi formateur,

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

Développement agile. Agile Manifesto. Développement agile Hafedh Mili 2012

Développement agile. Agile Manifesto. Développement agile Hafedh Mili 2012 Développement agile Hafedh Mili 2012 1 Développement agile Un ensemble de pratiques de développement logiciel qui mettent l'emphase sur: Le pragmatisme (vs dogmatise) La réactivité aux changements L'implication

Plus en détail

PROGRAMMATION WEB. Introduction à SVN. 20 septembre 2015 Denis Monnerat. IUT de Fontainebleau. monnerat@u-pec.fr. Introduction à SVN 1

PROGRAMMATION WEB. Introduction à SVN. 20 septembre 2015 Denis Monnerat. IUT de Fontainebleau. monnerat@u-pec.fr. Introduction à SVN 1 PROGRAMMATION WEB Introduction à SVN 20 septembre 2015 Denis Monnerat monnerat@u-pec.fr IUT de Fontainebleau Introduction à SVN 1 Sommaire 1. Introduction 2. Notions de bases 3. Cycle d utilisation 4.

Plus en détail

Sujet du projet de Génie Logiciel

Sujet du projet de Génie Logiciel Sujet du projet de Génie Logiciel LAB3416 ESIEA 2013-2014 Le jeu des lapins Sommaire Objectifs... 3 Règles du jeu... 4 Jardin... 4 Lapins... 6 Travail à faire... 8 Consignes... 9 Lectures conseillées...

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX

Plus en détail

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation Clues from other disciplines (from E. Gamma) Patrons de conception («Design Patterns») ESIR2, GL (LSI) Benoit Combemale Université de Rennes 1, ESIR & IRISA (Triskell team) Benoit.Combemale@irisa.fr Inspiré

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

Conduite de projets agiles Management alternatif dans une équipe de développement agile

Conduite de projets agiles Management alternatif dans une équipe de développement agile Contexte 1. Introduction 11 2. Enjeu de Talentsoft 13 3. Objectifs de Talentsoft 17 4. L agilité comme remède miracle 18 4.1 Mise en place de l agile 18 4.2 Les problématiques actuelles 19 5. La solution

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

ULCO-L3Info-Projets-CM2

ULCO-L3Info-Projets-CM2 ULCO-L3Info-Projets-CM2 Arnaud Lewandowski, Eric Ramat, Julien Dehos Université du Littoral Côte d Opale 18 juin 2015 A Lewandowski, E Ramat, J Dehos ULCO-L3Info-Projets-CM2 1/44 Sommaire 1 Conception

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

Design Patterns. Pourquoi utiliser des patterns? Pourquoi utiliser des patterns? Les patterns vue de loin. D où viennent les design patterns?

Design Patterns. Pourquoi utiliser des patterns? Pourquoi utiliser des patterns? Les patterns vue de loin. D où viennent les design patterns? Noël NOVELLI ; Université de la Méditerranée ; LIF et Département d Informatique Case 901 ; 163 avenue de Luminy 13 288 MARSEILLE cedex 9 Design Patterns D où viennent les design patterns? D où viennent

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe

Plus en détail

Patrons de conceptions problème solution Design Patterns GoF

Patrons de conceptions problème solution Design Patterns GoF - Patrons de conceptions pour la programmation orientée objet - Chaque problème de programmation = déjà rencontré par d autres informaticiens - Une solution existe généralement parmi les Design Patterns

Plus en détail

Design Pattern (1/3) Design Pattern (2/3)

Design Pattern (1/3) Design Pattern (2/3) Design Pattern (1/3) Un pattern (ou design pattern) décrit : une situation constituant un problème souvent rencontré dans le développement d'applications une (ou plusieurs) solution(s) type(s) à ce problème,

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

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

TP SPRING. https ://lipn.univ-paris13.fr/ fortier/enseignement/spring/tp/

TP SPRING. https ://lipn.univ-paris13.fr/ fortier/enseignement/spring/tp/ Institut Galilée Année 2015-2016 TP SPRING Programmation et Logiciels sûrs Master 2 PLS Résumé L objectif de ce TP est d être capable de réaliser une application Java de gestion de location de véhicules,voiture

Plus en détail

Comment de marrer un projet Intellij Idea utilisant une interface graphique?

Comment de marrer un projet Intellij Idea utilisant une interface graphique? Comment de marrer un projet Intellij Idea utilisant une interface graphique? Intellij Idea est un éditeur Java qui permet de réaliser des interfaces graphiques en utilisant les librairies de swing. Voici

Plus en détail

Les Design Patterns en Java

Les Design Patterns en Java Les Design Patterns en Java Les 23 modèles de conception fondamentaux Steven John Metsker et William C. Wake Pearson Education France a apporté le plus grand soin à la réalisation de ce livre afin de vous

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

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

Cours Java : deuxième saison

Cours Java : deuxième saison Programmation Objet en Java Cours 9 Design Patterns 1 (C) 2005, Frédéric Peschanski 1 Cours Java : deuxième saison Cours 7 : Exceptions, tests unitaires et assertions Cours 8 : Design Patterns 1 Cours

Plus en détail

SCRUM en Bref. Système comprend trois sous-systèmes:a,b,c. S-Système A S-Système B S-Système C A1, B1, C2 A2, C1, A3 B2 B3 C3

SCRUM en Bref. Système comprend trois sous-systèmes:a,b,c. S-Système A S-Système B S-Système C A1, B1, C2 A2, C1, A3 B2 B3 C3 Rappels : étapes de développement de systèmes: 1. Étude des besoins 2. Analyse 3. conception 4. Implémentation 5. Test 6. Déploiement Planification Post-Mortem Système comprend trois sous-systèmes:a,b,c

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

Lean, Kanban & Management Visuel

Lean, Kanban & Management Visuel Lean, Kanban & Management Visuel Eric Colin, Christine Chevrier, Frédéric Duffau mercredi 19 octobre 2011 1 Sommaire Contexte projet 5 Valeurs de l agilité 5 La pensée Lean 15 Mise en œuvre, adaptations

Plus en détail

Tp2 Emacs Développement Web

Tp2 Emacs Développement Web Tp2 Emacs Développement Web Les indications ci-dessous donnent les grandes lignes du développement. 1/ Evenement Ajax Jquery: Le code javascript jquery suivant permet d afficher un message dans un span

Plus en détail

Chapitre n 3 : Présentation des méthodes agiles et Scrum

Chapitre n 3 : Présentation des méthodes agiles et Scrum Chapitre n 3 : Présentation des méthodes agiles et Scrum I. Généralités sur les méthodes agiles I-1. Définition Les méthodes agiles sont des méthodologies essentiellement dédiées à la gestion de projets

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

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 101. Communauté Agile de Sherbrooke M O H A M E D A R E Z K I ( M O A R E Z K I @ G M A I L. C O M ) J A N V I E R 2016

Scrum 101. Communauté Agile de Sherbrooke M O H A M E D A R E Z K I ( M O A R E Z K I @ G M A I L. C O M ) J A N V I E R 2016 Communauté Agile de Sherbrooke Scrum 101 M O H A M E D A R E Z K I ( M O A R E Z K I @ G M A I L. C O M ) J A N V I E R 2016 B L O G S U R A G I L E S H E R B R O O K E : H T T P : / / A G I L E S H E

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

Stéphane GOBRON HES SO HE Arc ISIC

Stéphane GOBRON HES SO HE Arc ISIC Stéphane GOBRON HES SO HE Arc ISIC 2015 Où en sommes nous? Plan de cours Ch.1 : OO Rappels Ch.2 : Etude de cas => le bridge DP Ch.3 : Conceptualisation, Singleton et Composite DPs Ch.4 : Decorator, State,

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 6 : JDBC : ou comment lier ORACLE avec Java 1ère partie Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Introduction 2 les étapes de la connexion

Plus en détail

Java Persistence Api. 1. Introduction. 2. Un premier exemple. 3. L application. benoit.charroux@efrei.fr

Java Persistence Api. 1. Introduction. 2. Un premier exemple. 3. L application. benoit.charroux@efrei.fr Java Persistence Api Cet article décrit une application qui illustre comment la sauvegarde d un graphe d objets peut être réalisé en Java Standard Edition via Java Persistence Api. 1. Introduction Java

Plus en détail

Java et les bases de données

Java et les bases de données Java et les bases de données Introduction Application Java? Base de données Besoin d'un framework permettant l'accès aux bases de données (SQL) dans un programme Java : - Indépendamment du type de la base

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

CSC4002 : Contrôle continu «Bureau d Étude noté» Date : lundi 3 décembre 2012 Durée : 2H. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle continu «Bureau d Étude noté» Date : lundi 3 décembre 2012 Durée : 2H. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2012/2013 des étudiants de 2 è année (EI2) CSC4002 : Contrôle continu «Bureau d Étude noté» Date : lundi 3 décembre 2012 Durée : 2H Coordonnateurs : Christian

Plus en détail

Plan de la Formation. SCRUM en PRATIQUE

Plan de la Formation. SCRUM en PRATIQUE Plan de la Formation SCRUM en PRATIQUE Démarrage clés en mains de votre Projet en SCRUM Intitule de la Formation SCRUM en PRATIQUE Objectifs Les Objectifs de la formation sont de vous fournir une excellente

Plus en détail

625 Programmation JDBC INTRODUCTION ARCHITECTURES

625 Programmation JDBC INTRODUCTION ARCHITECTURES 625 Programmation JDBC INTRODUCTION API (Framework) permettant d'accéder virtuellement à toute source de données tabulaire ; respecte la philosophie de la plate-forme Java: Write once, run everywhere ;

Plus en détail

625 Programmation JDBC LES PRINCIPALES CLASSES ET LEUR EMPLOI INTRODUCTION ARCHITECTURES. Connection. Statement instruction

625 Programmation JDBC LES PRINCIPALES CLASSES ET LEUR EMPLOI INTRODUCTION ARCHITECTURES. Connection. Statement instruction 625 Programmation INTRODUCTION JDBC API (Framework) permettant d'accéder virtuellement à toute source de données tabulaire ; respecte la philosophie de la plate-forme Java: Write once, run everywhere ;

Plus en détail

INTRODUCTION À JAVA EE. Cours Master 2 - Java EE

INTRODUCTION À JAVA EE. Cours Master 2 - Java EE INTRODUCTION À JAVA EE 1 LA NÉBULEUSE JAVA Java Micro Edition (JME) développement d applications embarquées Java Standard Edition (JSE) développement d applications classiques Java Enterprise Edition (JEE)

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

Master M1 Informatique: Analyse et Conception des Logiciels

Master M1 Informatique: Analyse et Conception des Logiciels Master M1 Informatique: Analyse et Conception des Logiciels Pascal Molli Juin 2008 Les documents de cours sont autorisés 1 Exercice en 5 lignes maximums répondez aux questions suivantes : 1. Qu est ce

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

Les méthodes agiles. Les méthodes agiles sont apparues dans les années 1990 (Extreme Programming, Rapid Application Development, Scrum ) :

Les méthodes agiles. Les méthodes agiles sont apparues dans les années 1990 (Extreme Programming, Rapid Application Development, Scrum ) : SCRUM Les méthodes agiles Les méthodes agiles sont apparues dans les années 1990 (Extreme Programming, Rapid Application Development, Scrum ) : capacité à réagir au changement plutôt que de suivre un plan

Plus en détail

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2011/2012 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 1 Date : jeudi 26 janvier 2012 Durée : 1H30 Coordonnateurs : Christian Bac et Denis

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

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

la phase exploratoire

la phase exploratoire V 1.00 la phase exploratoire élément facilitateur dans la réussite d un projet Agile A. MORVANT IT&L@BS Coach Agile aurelien.morvant@orange-ftgroup.com Page 1 Page 2 objet de la session > introduire la

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

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

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android Guillaume MONTAVON Benoît MEILHAC Rapport Technique du projet Gestionnaire de tâches pour Android Sommaire 1. Introduction... 3 2. Outils utilisés... 3 2.1. Android SDK... 3 2.2. Android dans Eclipse...

Plus en détail

Listes de personnes et calculatrice polonaise inverse en Java

Listes de personnes et calculatrice polonaise inverse en Java Listes de personnes et calculatrice polonaise inverse en Java Université Paris Sud Motivation Le but de cet exercice est de manipuler les listes chaînées et les piles et de voir leur application en analyse

Plus en détail

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009 Institut Supérieur d Informatique Chapitre 02 Synchronisation des processus Dr. Mohamed-Wassim YOUSSEF 2009 [www.wassimyoussef.info] Systèmes d exploitation avancées 1 ING ISI 1 ére année Ingénieur en

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 2 : JUnit Nom(s) : Groupe : Date : Objectifs : Apprendre à vérifier une implantation à l aide de tests unitaires sous

Plus en détail

Module B9-1 : sensibilisation à l UML

Module B9-1 : sensibilisation à l UML Module B9-1 : sensibilisation à l UML Olivier Habart : habart.olivier@gmail.com ENSTA B9-1 UML (Olivier Habart) Septembre 14 Diapositive N 1 Session 2 : Vue statique Sommaire Diagramme de classes Diagrammes

Plus en détail

Chapitre 11. Conception de logiciels Intranet : patrons et canevas NSY 102. Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3

Chapitre 11. Conception de logiciels Intranet : patrons et canevas NSY 102. Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3 NSY102-Chapitre-11_Synthese.doc 1/12 06/01/2014 21:48:04 Chapitre 11 Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3 2. OBSERVER/OBSERVABLE 3 2.1. DEFINITION 3 2.2. REFERENCES

Plus en détail

JDBC et objet-relationnel

JDBC et objet-relationnel Types de données de SQL3 JDBC et objet-relationnel Université de Nice - Sophia Antipolis Version 1.6.4 5/11/11 Richard Grin JDBC supporte les types suivants de SQL3 qui sont des ouvertures vers le relationnelobjet

Plus en détail

Le Processus Unifié appliqué au projet MOOCS

Le Processus Unifié appliqué au projet MOOCS Le Processus Unifié appliqué au projet MOOCS Violaine Louvet GTN, 7 mai 2003, Orsay Le Processus Unifie applique au projet MOOCS p. 1 L objet Objet = entité regroupant des données (attributs) et des services

Plus en détail

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr Grégory Cuellar Julien Goullon gregory.cuellar@bull.net julien.goullon@9business.fr 1 er octobre 2007 1 Généralité 2 / 54 Pourquoi? Historique Les alternatives Les composants 2 Architecture n-tiers 3 JEE

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

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

Projet 1A :Atelier SVN. Plateforme de travail :SourceForge

Projet 1A :Atelier SVN. Plateforme de travail :SourceForge Projet 1A :Atelier SVN Plateforme de travail :SourceForge Introduction Le but de ce tutorial est de vous initier à l utilisation de l outil Subversion sous la plateforme SourceForge. Cet outil vous facilitera

Plus en détail

Programmation Multi-Threading en Java

Programmation Multi-Threading en Java Programmation Multi-Threading en Java Christophe Gravier, Frédérique Laforest, Julien Subercaze Télécom Saint-Étienne Université Jean Monnet {prénom.nom}@univ-st-etienne.fr FI2_INFO4 2012 2013 1 / 35 Plan

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

les Design Patterns 11/02/2013 labsticc.univ-brest.fr/pages_perso/babau/ Département Informatique, UFR Sciences, UBO Laboratoire Lab-STICC

les Design Patterns 11/02/2013 labsticc.univ-brest.fr/pages_perso/babau/ Département Informatique, UFR Sciences, UBO Laboratoire Lab-STICC labsticc.univ-brest.fr/pages_perso/babau/ les Design Patterns Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Introduction aux Design patterns Quelques Design

Plus en détail

Exercice 1 (API Java)

Exercice 1 (API Java) Programmation orientée objet TP 3 L2 MPCIE API Java, Paquetages Exercice 1 (API Java) 1. Écrire la classe Ensemble comme étant une collection d'éléments ne contenant pas de doublon. Elle sera donc implémentée

Plus en détail

Mémento Design Patterns

Mémento Design Patterns Quelques Design Patterns Mémento Design Patterns Frédéric MOAL Université d Orléans Scope Purpose Creational Structural Behavioral Factory Method Abstract Factory Builder Prototype Singleton Adapter Proxy

Plus en détail

Guide de démarrage rapide avec DataStudio Online Edition

Guide de démarrage rapide avec DataStudio Online Edition Guide de démarrage rapide avec DataStudio Online Edition Introduction Ce document vient en complément des films de démonstration disponibles sur le site web de data. L ETL ETL est un sigle qui signifie

Plus en détail

ENSTA : cours IN204 Introduction à JAVA et UML

ENSTA : cours IN204 Introduction à JAVA et UML ENSTA : cours IN204 Introduction à JAVA et UML Thierry Bommart DASSAULT AVIATION DGT/DPR/EOS thierry.bommart@dassault-aviation.fr 01.47.11.54.93 Page : 1 Plan Ecole Nationale Supérieure de Techniques Avancées

Plus en détail

Projet : Plan Assurance Qualité

Projet : Plan Assurance Qualité Projet : Document : Plan Assurance Qualité 2UP_SPEC_DEV1 VERSION 1.00 Objet Ce document a pour objectif de définir la démarche d analyse et de conception objet ainsi les activités liées. Auteur Eric PAPET

Plus en détail

Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013

Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 Introduction 1. Présentation du cas d étude 13 1.1 Présentation générale 13 1.2 Présentation des applications 13 2. Déroulement du projet 14 3. Pré-requis et fondamentaux techniques à connaître 15 3.1

Plus en détail

Java Message Service TD

Java Message Service TD labo-sun@supinfo.com Java Message Service TD Auteur : Frédéric Chuong Version n 0.1 20 octobre 2004 Nombre de pages : 8 Ecole Supérieure d Informatique de Paris 23. rue Château Landon 75010 PARIS www.supinfo.com

Plus en détail

Inf340 Systèmes d information. Deuxième site : approche MVC

Inf340 Systèmes d information. Deuxième site : approche MVC Inf340 Systèmes d information Deuxième site : approche MVC Objectifs Objectif : Reprendre le site précédent en utilisant le patron de conception Modèle Vue Contrôleur. Comprendre l apport d un framework

Plus en détail

Licence Professionnelle Développeur Web Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr)

Licence Professionnelle Développeur Web Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr) Grenoble 1 IMA Informatique & Mathématiques Appliquées UNIVERSITE JOSEPH FOURIER Sciences, Technologie, Médecine Licence Professionnelle Développeur Web Programmation Orientée Objets Gestion de comptes

Plus en détail

Chapitre 2 : Cycles de vie logiciel et méthodes de développement G L & A G L 2 0 1 4 / 2 0 1 5

Chapitre 2 : Cycles de vie logiciel et méthodes de développement G L & A G L 2 0 1 4 / 2 0 1 5 Chapitre 2 : Cycles de vie logiciel et méthodes de développement G L & A G L 2 0 1 4 / 2 0 1 5 Plan Chapitre 2 Modèles de cycles de vie Méthodes de développement : Méthode lourde Méthode agile Exemple

Plus en détail

Travaux Pratiques : Connexion et accès à la Base De Données

Travaux Pratiques : Connexion et accès à la Base De Données MODULE : Intégration des données Professeur : Mr Tallard Travaux Pratiques : Connexion et accès à la Base De Données Kamissi MOHAMED Sommaire 1. Présentation de l énoncé... 3 2. Connexion à la base de

Plus en détail

Introduction à la gestion de projets

Introduction à la gestion de projets Introduction à la gestion de projets Jean-Philippe PERNIN Université Stendhal Département Informatique Pédagogique Bureau I 113 Mél. : Jean-Philippe.Pernin@u-grenoble3.fr Jean-Philippe Pernin - DIP - Université

Plus en détail

Corrigé Barème Contrôle de connaissances 2013/2014 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 2

Corrigé Barème Contrôle de connaissances 2013/2014 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 2 Corrigé Barème Contrôle de connaissances 2013/2014 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 2 Date : 27 Mars 2014 Durée : 1H30 Coordonnateurs : Christian Bac et Denis Conan Les

Plus en détail

Principes d'utilisation des systèmes de gestion de bases de données

Principes d'utilisation des systèmes de gestion de bases de données Principes d'utilisation des systèmes de gestion de bases de données JDBC L3 Informatique Emmanuel Waller, LRI, Orsay Université Paris Sud le mode programme JDBC JDBC : qu'est ce que c'est? Avantages? devant

Plus en détail

Patrons Observateur/MVC

Patrons Observateur/MVC Patrons Observateur/MVC programmation évènementielle jean-michel Douin, douin au cnam point fr version : 12 Septembre 2008 Notes de cours 1 Sommaire Patron Observateur Programmation évènementielle Patron

Plus en détail

Ala Eddine BEN SALEM. T.P. 2 Servlet

Ala Eddine BEN SALEM. T.P. 2 Servlet EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 2 Servlet 1. Création d'un projet Web: A l'aide d'eclipse, créer un nouveau projet «sampleservlet» avec comme environnement d'exécution le serveur Tomcat installé

Plus en détail

NFP121 Programmation Avancée. Relations entre classes

NFP121 Programmation Avancée. Relations entre classes NFP121 Programmation Avancée Relations entre classes Xavier Crégut ENSEEIHT Télécommunications & Réseaux Xavier Crégut (N7) NFP121 Programmation Avancée Relations entre classes

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

3 PHP avancé Les objets : définitions

3 PHP avancé Les objets : définitions Les objets : définitions Structure de données associant des attributs et des méthodes qui décrivent le comportement de l'objet. Héritage de la conception objet (UML). Définie dans une classe. Un objet

Plus en détail

Auto-évaluation Aperçu de l architecture Java EE

Auto-évaluation Aperçu de l architecture Java EE Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU

Plus en détail

Architecture logicielle Pour une approche organisationnelle, fonctionnelle et technique

Architecture logicielle Pour une approche organisationnelle, fonctionnelle et technique Avant-propos 1. Objectifs 17 2. Public visé 18 3. Organisation de l ouvrage 18 Ingénierie pilotée par les modèles 1. Sémantique introductive 19 1.1 Designer 21 1.2 Finitude 21 1.3 Conjectures 22 2. Architecture

Plus en détail

Licence Professionnelle TAI Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr)

Licence Professionnelle TAI Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr) Grenoble 1 IMA Informatique & Mathématiques Appliquées UNIVERSITE JOSEPH FOURIER Sciences, Technologie, Médecine Licence Professionnelle TAI Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr)

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

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

IK3 : Cours n 3 Gestion de projets

IK3 : Cours n 3 Gestion de projets IK3 : Cours n 3 Gestion de projets semaine du 11 octobre 2010 1 But du cours Il faut comprendre que quelque soit l ampleur d un projet, il existe des outils et des méthodes adaptés qui permettent de le

Plus en détail

JAVA - Compléments du cours 9

JAVA - Compléments du cours 9 JAVA - Compléments du cours 9 Nicolas Baudru Année 2008-2009 Exercice 1 (Création de threads) En Java, il existe deux méthodes pour créer des threads. La première étend la classe Thread : class MonThread

Plus en détail