- Versionning PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Approche orientée objet

logo ucbl

Denis Clot, <clot@univ-lyon1.fr>


Logiciels de statistiques

Logiciels de statistiques

Approche orientée objet

Plan

Présentations

UE Logiciels de statistiques - Approche orientée objet

Ressources bibliographiques et logicielles

Gestion de projet

Génie logiciel

Modélisation

Bonnes pratiques de programmation

Projet

Présentations

Coordonnées

Votre profil

UE Logiciels de statistiques - Approche orientée objet

Objectifs

Contraintes particulières

UE Logiciels de statistiques - Approche orientée objet

Déroulement des séances de travail encadré

…et pour le reste?

Le temps imparti implique une grande part de travail non encadrée pour satisfaire aux objectifs de l'UE.

Mode d'évaluation

Ressources bibliographiques et logicielles

Bibliographie

saporta cover
Probabilités, analyse de données et statistique - Saporta
lebart cover
Statistique exploratoire multidimensionnelle - Piron, Morineau, Lebart
Analyse Factorielle cover
Initiation à l'analyse factorielle des données
nonparametric statistics cover
Nonparametric statistics for the behavioral sciences - Sidney Siegel
gestion projet cover
Manager un projet informatique - Englender, Fernandez
uml cover
UML par la pratique - Pascal Roques
Java swing cover
Java swing (2nde edition) - Loy, Eckstein, Wood …
numerical recipes cover
Numerical Recipes
Pragmatic Project Automation cover
Pragmatic Project Automation - Mike Clark

Ressources logicielles


Gestion de projet

humour management

Mini-plan

Gestion de projet

Extrait

[…]Prenez ce dont vous avez besoin, puis adaptez-le. Laissez ce dont vous ne pouvez tirez profit pour votre projet. N'oubliez jamais que la conduite de projet n'est pas une fin en soi, mais a pour objectif de permettre l'aboutissement du projet. Voilà en quoi elle est indispensable.
La méthode est un cadre, un guide, un garde-fou, où s'inscrivent la démarche et les actions de conduite de projet. Elle est garante de la cohérence d'ensemble, mais ne doit pas devenir un carcan empêchant toute adaptation et créativité.[…]

Extrait tiré de la préface de Manager un projet informatique, Englender&Fernandes

Gestion de projet

Qu'entend-on par projet?

Gestion de projet

Difficultés inhérentes d'un projet

Gestion de projet

Nécessité d'une méthode de conduite de projet

Gestion de projet

Les acteurs

Gestion de projet

(Découpage en) phases du projet

Gestion de projet

Qualité

Le principe fondateur d'une démarche qualité est souvent résumé par : je dis(écris) ce que vais faire et je fais ce que j'ai dit(écrit)


Gestion de projet

Certification d'une démarche qualité


Gestion de projet

Cahier des charges

Gestion de projet

Outils de planification et de suivi de projet

Suivi du projet


Gestion de projet

Projet de développement d'un logiciel

Pour prolonger votre connaissance de la gestion de projet

Génie logiciel

humour logiciel

Mini-plan

Génie logiciel

Généralités - Qu'est-ce que le génie logiciel?


Génie logiciel

Généralités - Objectif

Génie logiciel

Modèles séquentiels

Modèle en cascade

  • Avantages
    • réduction des risques par un processus de validation continu
  • Inconvénients
    • Tests tardifs
    • Pas de prise en compte des évolutions

Modèle d'intégration

  • Avantages
    • Meilleure maîtrise des budgets
    • Meilleure maîtrise des délais
  • Inconvénients
    • Non prise en compte des évolutions
    • Problème de sécurité (accès d'un tiers au cœur de l'entreprise)
    • Relations avec un tiers…

Génie logiciel

Modèles séquentiels

Modèle en «V»

Modèle RAD (Rapid Application Development)


Génie logiciel

Modèles itératifs

Modèle incrémental


Génie logiciel

Modèles itératifs

Modèle UP (Unified Process)

Génie logiciel

Méthodes «agiles»

Généralités

Méthode DSDM (Dynamic Sofware Development Method)


Génie logiciel

Méthodes «agiles»

Modèle FDD (Feature Driven Development)

Modèle Crystal


Génie logiciel

Méthodes «agiles»

Modèle Scrum


Génie logiciel

Méthodes «agiles»

Modèle XP (Extreme programming)


Génie logiciel

Méthodes «agiles»

Méthodes BDD (RSpec, cucumber)


Génie logiciel

Ce qu'il faut retenir?

[…]Vous aurez des contraintes de délais à respecter, un cahier des charges imprécis et ambigu, une phase de développement souvent baclée et peu documentée, des tests unitaires rares et des tests d'intégration de non-régression non réalisés. La seule étape incontournable est l'épreuve de qualification par les utilisateurs, qui arrive malheureusement trop tard pour constater les écarts avec leurs besoins réels.[…]

Des différentes approches présentées, nous pouvons retenir les principes suivants:


Modélisation

UML logo

Mini-plan

Modélisation - UML

Unified Modeling Language - Généralités


Modélisation - UML

UML diagrams

Diagrammes - types


Modélisation - UML

Diagrammes - les incontournables


Modélisation - UML

Exemple de mise en pratique

Dans un contexte particulier, comment échaffauder les différents diagrammes? Dans quel ordre?

Cf. support papier

En synthèse, le processus de modélisation comporte les étapes suivantes, les premières constituant la phase d'analyse, la conception débutant lors des itérations


Modélisation - UML

Outils


Modélisation - BDD

Rappels

Cucumber

Cucumber est un outil permettant

Il permet de faire le lien avec de nombreux langage de programmation. Le langage Gherkin permet de structurer les descriptions en langage courant. Ces descriptions sont associés à des étapes de définitions (step définitions) dont le rôle est de faire le lien avec le langage de développement de l'application.

Modélisation - Design Patterns

Design patterns?

humour design pattern

Modélisation - Design Patterns

Quelques lectures introductives

Ces deux lectures permettent de :

Critiques et perspectives

Modélisation - Frameworks

Framework?

Quelques exemples

Quel framework choisir pour nos besoins?


Modélisation

Ce qu'il faut retenir?


Bonnes pratiques de programmation

Mini-plan

UML logo

Bonnes pratiques de programmation - Tests

Tester?


Bonnes pratiques de programmation - Tests

Tests unitaires

Bonnes pratiques de programmation - Tests

Tests fonctionnels


Bonnes pratiques de programmation - Tests

Outils


Bonnes pratiques de programmation - Versionning

Les VCS (Version Control Systems) sont des outils permettant de suivre dans le temps un ensemble de fichiers. Ils sont construits autour de programmes simples dont l'objet est la gestion des différences entre versions d'un fichier. Tout est parti de diff

Bonnes pratiques de programmation - Versionning

Les outils diff et patch ne suffisent pas en général pas à gérer toute la descendance d'un fichier, car assez naturellement, une descendance prend souvent une forme d'arborescence:

Une équipe peut être amenée à corriger les bugs rencontrés par des tiers dans une version particulière d'un fichier (ce fichier pouvant être une application, un contrat…) alors que dans le même temps, plusieurs pistes de développement, éventuellement instables ou expérimentales, sont poursuivies et qu'une version stable (au moins une) est également maintenue.

Les VCS (Version Control Systems) permettent de réaliser ce saut, en introduisant notamment la possibilité d'introduire des branchements dans l'évolution suivie par un fichier. Au fil du temps, la reflexion sous-tendant les VCS a absorbé diverses considérations dérivant de l'extension du suivi d'un fichier au contexte de la gestion de projet (plusieurs fichiers, plusieurs acteurs…):

Bonnes pratiques de programmation - Versionning

Outils

Bonnes pratiques de programmation - Outils de partage

Quelques solutions pratiques pour un usage personnel ou non

Systèmes de gestion de contenu (CMS en anglais)

Projet

R-project

Mini-plan

Projet

http://github.com

JUnit