Ingénierie systèmes d'information : méthodes agiles (INFO803_MTIAY)

Présentation

Cette matière aborde les notions de base en ingénierie logicielle en favorisant la mise en pratique. Les méthodes et outils sont évoqués avec un objectif de "terrain" et de façon concrète.

Il s'agit d'un complément des matières du semestre 7 (Conception et programmation logicielles et Management de Projets Agiles).

Objectifs

Il s'agit de développer ses connaissances et compétences en ingénierie logicielle dans le cadre d'une approche "par la pratique". Ce cours apportera également des compléments en programmation orientée-objet en Java.

Pré-requis

Il faut disposer des pré-requis en conception et programmation logicielles et tout particulièrement en programmation orientée-objet: Java sera le langage utilisé durant cet enseignement. A défaut du langage Java, il est nécessaire de connaître les principaux concepts du modèle objet ainsi que les principes de l'agilité.

Plan du cours

Cet enseignement abordera principalement:

  • la notion de génie logiciel
  • les principaux cycles de vie, processus logiciels
  • les méthodes agiles (Scrum, Kanban,...), le lean software development
  • les tests et la conception dirigée par les tests (Test Drivent Development)
  • les patrons de conception (Design Paterns)
  • la refactorisation de code (code refactoring)
  • la loi de Demeter
  • le traitement des exceptions en Java
  • le modèle à évènements dans le cadre de développement d'interfaces graphiques
  • l'utilisation de bases de données relationnelles en Java
  • la notion d'intgration continue et quelques outils logiciels assistant le concepteur/développeur
  • la notion de DevOps
  • notions de base en qualité logicielle, maintenance.

Volume horaire

  • CM : 10.0
  • TD : 8.0

Bibliographie

 

J. Appelo, Management 3.0, Addison-Wesley Professional.

J. Appelo, #Workout

J. Appelo, How to CHange The Worrld, Jojo Ventures.

M. and T. Poppendieck, Implementing Lean Software Development, Addison-Wesley Professional.

E. Freeman, E. Freeman, B. Bates, K. Sierra, Head First Designa Patterns O’Reilly.

M. Fowler Refactoring – Improving the Design of Existing Code Addison-Wesley.

S. McConnell, Code Complete 2, Microsoft Press.

A. Oram, G. Wilson, Beautiful Code, O'Reilly.

Plusieurs ouvrages très intéressants dans la série The Pragmatic Programmers: Prgamatic Version Control, Pragmatic Unit Testing, Practices Of An Agile Developer, Lean from the Trenches

M. Grand, Patterns in Java, Wiley.

S. Vance, Quality Code, Wiley.

D. Asteels, test-driven development - A practical guide, The code series.

B. Meyer, Conception et programmation orientées objet, Eyrolles.

P-.A. Muller, N. Gaertner, Modélisation objet avec UML, Eyrolles.

D. Pilone, R. Miles, Head First Software Development O’Reilly.

K. Sierra, B. Bates Head First Java O’Reilly

Gosling, Joy, Steele, Bracha The Java Language Specification, Third Edition Addison Wesley.

P. Roques UML 2 par la pratique, Eyrolles.

E. Gamma, R. Helm, R. Johnson, J. Vlissides Elements of Reusable Object-Oriented Software Addison-Wesley.

K. Beck Test Driven Development: By Example Addison-Wesley.

K. Beck Smalltalk Best Practice Patterns Prentice-Hall.

Git http://git-scm.com/ book/fr

Diplômes intégrant ce cours

En bref

Crédits ECTS : 3

Méthode d'enseignement
En présence

Forme d'enseignement
Travaux dirigés

Langue d'enseignement
Français

Contact(s)

UFR, Écoles, Instituts

Responsable(s)

Herve Verjus

Tél : +33 4 50 09 24 15

Email : Herve.Verjus @ univ-smb.fr

Lieu(x)

  • Annecy-le-Vieux (74)