qualimétrie logiciel - Entreprise Software Analytic - nov 2015Julien Vq
Présentation en français
Comment évaluer la qualité d'un logiciel ?
Quels outils de qualimétrie logiciel choisir ?
Entreprise Software Analitic
Comment valider les livrables de vos fournisseurs avec le support d'ALL4TEST et de ces outils de qualimétrie ?
qualimétrie logiciel - Entreprise Software Analytic - nov 2015Julien Vq
Présentation en français
Comment évaluer la qualité d'un logiciel ?
Quels outils de qualimétrie logiciel choisir ?
Entreprise Software Analitic
Comment valider les livrables de vos fournisseurs avec le support d'ALL4TEST et de ces outils de qualimétrie ?
Formation généraliste rédigée en Juin 2009
Qualité logiciel
Plan Qualité
Gestion Processus de développement
Gestion des exigences
Gestion de configuration
Gestion des tests
Gestion des anomalies
Gestion de la documentation
Présentation de la synthèse de l’ouvrage Expression des besoins pour le SI, crée par Yves Constantinidis.
Cette présentation est divisée en trois parties : D'abord la méthodologie adoptée pour gérer un projet informatique en général, ensuite le développement des exigences, pour la phase exigence, basé sur le processus à quatre étapes et enfin la stratégie et la tactique à suivre.
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelAgile Montréal
Plusieurs s'engagent dans un projet DevOps avec espoir de voir la vélocité augmenter au fil du temps, remplissant la promesse légendaire de Scrum. La réalité est souvent tout autre, car opérer un système en production apporte son lot de surprises, et si l'on y ajoute de la dette technique et quelques années de vie utile, alors on peut facilement se retrouver dans une tempête parfaite. Voyons ensemble ces éléments qui viennent affecter notre précieuse vélocité.
Presentation du socle technique Java open source Scub FoundationStéphane Traumat
Scub Foundation est un ensemble de frameworks, de conventions, d'outils et de procédures qui structurent les développeurs et leurs développements. Pour simplifier, c'est une plateforme qui permet l'industrialisation des projets de développement informatique.
Plus d'informations à http://www.scub-foundation.org
Objectifs du socle
- Ne pas réinventer la roue ! (Intégration d'Eclipse et des frameworks populaires comme hibernate, spring, gwt, JUnit…).
- Avoir des modèles de projets pour chaque type de projet mais avec des structures identiques.
- Avoir des tâches automatisées pour l'ensemble du cycle de vie du projet (compilation, packaging, test…).
- Développement SOA (intégration de la notion de noyau et du découplage Interface/implémentation).
- Gestion automatique des dépendances / librairies.
- Gérer les différents environnements (Test / Développement / Pré production / Production…).
Concrètement, notre socle technique offre au développeur un environnement de développement intégrant les meilleurs éléments Open Source (Eclipse, Maven, Spring, GWT…) ainsi que des modèles de projet.
Au sein d’une démarche DevOps, le build et le déploiement continue sont les premiers piliers à mettre en place.
Cette session découverte de notre NighClazz “Build Tools & Continuous Delivery” a pour objectif de présenter les enjeux de l’automatisation, d’introduire les principaux outils de builds Java, de comprendre le mécanisme de livraison logicielle et de déploiement continue.
Formation généraliste rédigée en Juin 2009
Qualité logiciel
Plan Qualité
Gestion Processus de développement
Gestion des exigences
Gestion de configuration
Gestion des tests
Gestion des anomalies
Gestion de la documentation
Présentation de la synthèse de l’ouvrage Expression des besoins pour le SI, crée par Yves Constantinidis.
Cette présentation est divisée en trois parties : D'abord la méthodologie adoptée pour gérer un projet informatique en général, ensuite le développement des exigences, pour la phase exigence, basé sur le processus à quatre étapes et enfin la stratégie et la tactique à suivre.
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelAgile Montréal
Plusieurs s'engagent dans un projet DevOps avec espoir de voir la vélocité augmenter au fil du temps, remplissant la promesse légendaire de Scrum. La réalité est souvent tout autre, car opérer un système en production apporte son lot de surprises, et si l'on y ajoute de la dette technique et quelques années de vie utile, alors on peut facilement se retrouver dans une tempête parfaite. Voyons ensemble ces éléments qui viennent affecter notre précieuse vélocité.
Presentation du socle technique Java open source Scub FoundationStéphane Traumat
Scub Foundation est un ensemble de frameworks, de conventions, d'outils et de procédures qui structurent les développeurs et leurs développements. Pour simplifier, c'est une plateforme qui permet l'industrialisation des projets de développement informatique.
Plus d'informations à http://www.scub-foundation.org
Objectifs du socle
- Ne pas réinventer la roue ! (Intégration d'Eclipse et des frameworks populaires comme hibernate, spring, gwt, JUnit…).
- Avoir des modèles de projets pour chaque type de projet mais avec des structures identiques.
- Avoir des tâches automatisées pour l'ensemble du cycle de vie du projet (compilation, packaging, test…).
- Développement SOA (intégration de la notion de noyau et du découplage Interface/implémentation).
- Gestion automatique des dépendances / librairies.
- Gérer les différents environnements (Test / Développement / Pré production / Production…).
Concrètement, notre socle technique offre au développeur un environnement de développement intégrant les meilleurs éléments Open Source (Eclipse, Maven, Spring, GWT…) ainsi que des modèles de projet.
Au sein d’une démarche DevOps, le build et le déploiement continue sont les premiers piliers à mettre en place.
Cette session découverte de notre NighClazz “Build Tools & Continuous Delivery” a pour objectif de présenter les enjeux de l’automatisation, d’introduire les principaux outils de builds Java, de comprendre le mécanisme de livraison logicielle et de déploiement continue.
Baromètre Donner des ELLES à la santé JanssenIpsos France
Le baromètre Donner des ELLES à la santé réalisé pour Janssen dresse pour sa 5ème édition un bilan de la situation des femmes médecins à l’hôpital et alerte sur les difficultés auxquelles elles font face.
Cette étude permet de comprendre les dynamiques actuelles autour de la satisfaction professionnelle, les aspirations à la responsabilité et les discriminations subies dans le milieu hospitalier, avec un focus particulier sur les violences sexistes et sexuelles, qui résonnent fortement avec l’émergence récente de #MeTooHôpital.
Il s'agit des stratégies de descente sur le terrain consistant a mettre en œuvre la qualité d'une bonne supervision au cours d'une campagne de poliomyélite
2. Unités d'apprentissage
• Rôle de l'analyste et cycles chronologiques de développement de systèmes
• Langage de modélisation unifié
• Techniques utilisant les méthodologies Agiles
3. 1ère Unité
• Rôle de l'analyste et cycles chronologiques de développement de
systèmes
4. 1ère Unité RÔLE DE L'ANALYSTE ET CYCLES
CHRONOLOGIQUES DE
DÉVELOPPEMENT DE
SYSTÈMES
6. Introduction
• Le Standish Group (société internationale indépendante de conseil en recherche
informatique) a posé les questions suivantes aux cadres de l'informatique
D’où la nécessité d'un ensemble de méthodes et techniques pour augmenter les
chances de réussite d'un projet
Qu’est-ce qui fait qu’un projet IT réussit ? Qu’est-ce qui fait qu’un projet est mis à mal ?
7. Introduction
• Le génie logiciel est l'application de principes et de techniques de l'ingénierie pour le
développement de logiciels de manière efficace et fiable.
• Cela nécessite l'application de méthodes de développement de logiciels rigoureuses, telles
que la planification et la gestion de projet, l'analyse et la conception de logiciels,
l'implémentation et le test de logiciels, ainsi que la maintenance et la documentation
8. Le rôle de l'analyste
• L'analyste de systèmes est un professionnel chargé de comprendre les besoins des
utilisateurs et de définir les exigences pour les systèmes informatiques qui répondront à
ces besoins. Il travaille souvent en étroite collaboration avec les utilisateurs pour
comprendre leurs besoins et avec les développeurs de logiciels pour traduire ces besoins
en spécifications fonctionnelles et techniques.
• les compétences d'un analyste de systèmes incluent :
• La communication
• La connaissance des processus de développement de logiciels
• La connaissance des technologies de l'information
• La capacité à analyser et à résoudre les problèmes
• La capacité à travailler en équipe.
9. Le Cycle de vie de
développement des
logiciels
Le cycle de vie de développement
de logiciel (SDLC en anglais pour
Software Development Life Cycle)
est un processus qui définit les
étapes nécessaires pour
développer un logiciel de manière
efficace et fiable. Il existe de
nombreux modèles de cycle de
vie de développement de logiciel,
mais tous incluent généralement
les étapes suivantes
10. Exigences et Analyse
La phase d'exigences et d'analyse du cycle de vie du développement logiciel (SDLC)
consiste à déterminer et à analyser en détail les exigences fonctionnelles et non
fonctionnelles du logiciel à développer. Cette phase inclut la collecte des besoins des
utilisateurs finaux et la traduction de ces besoins en exigences précises et détaillées,
ainsi que l'analyse de la faisabilité technique et financière et l'identification de tout
risque potentiel associé au développement du logiciel. Cette phase est cruciale pour
élaborer un plan de développement solide et pour s'assurer que le logiciel répond
aux besoins des utilisateurs.
Résultat : Cahier de charges
11. Conception
• La phase de conception du SDLC est l'étape durant laquelle on définit les spécifications du système et on crée les
plans de conception. Elle se divise généralement en plusieurs sous-étapes, qui incluent :
• Conception de la solution : pendant cette étape, on crée un modèle de la solution proposée qui décrit
comment le système répondra aux exigences recueillies en phase d'analyse des besoins.
• Planification de la réalisation : cette étape consiste à définir le calendrier et les ressources nécessaires pour
développer le système.
• Conception détaillée : pendant cette étape, on crée les plans de conception détaillés qui décrivent comment
chaque partie du système sera développée et comment elles interagiront entre elles.
• La phase de conception est cruciale car elle permet de définir les exigences du système et de créer un plan de
développement qui guidera la réalisation du projet.
Résultat :
• Document de spécifications des exigences logicielles
• Planning du projet
• Plan de test
12. Mise en œuvre
• Le codage des programmes consiste à traduire en code, compréhensible par un
ordinateur, l'architecture technique, qui a été conçue.
• Chaque programme, ou sous-programme, va être confié à un développeur qui le traduira
dans un langage de programmation qui sera fonction du projet (exemples de langage :
Cobol, Fortran, C, C++, Visual Basic, HTML, Java, DELPHI , C#...), compatible avec le
système d'exploitation (exemple de système d'exploitation : OS. UNIX, DOS,WINDOWS xx,
NT,XP, Linux...) et le matériel utilisé.
Résultat : Code source de l'application
13. Test
• Le code crée doit répondre à des critères de qualité : clarté, lisibilité, modularité... Il doit
être documenté avec des commentaires nombreux et explicites qui permettront une
compréhension aisée pour les personnels chargés de la maintenance ultérieurement.
• On peut parler de 3 types de test :
• Test unitaire : teste si le bout de code fonctionne de la façon dont elle a été conçue.
Exemple : une fonction qui fait la division ne permet pas de diviser sur zéro
• Test d'intégration : Teste si un bout de code n'impacte pas un autre code déjà existant.
Exemple : Changer une variable globale qui est utilisée dans une autre fonctionnalité
• Test d'acceptation utilisateur (recette) : Ensemble de tests réalisés par le les
utilisateurs du futur système afin de vérifier que les exigences formulées par le client
sont bien satisfaites avec le niveau de qualité requis.
14. Déploiement
• Lorsque le client confirme que le produit développé respecte les exigences fonctionnelles
et techniques, le fournisseur déploie la nouvelle solution en la rendant disponible chez
tous les utilisateurs cibles (serveur web, google play, appStore,)
15. Maintenance
L’objectif de cette septième étape est de conserver le système/logiciel dans un état tel qu'il
pourra continuer d'être exploité, longtemps après son installation. En fait avec le temps, des
événements surgissent qui viennent perturber plus ou moins gravement l'exploitation. Ces
événements, sont générateurs de modifications. Il est possible de, les classer en deux
catégories :
• Les anomalies de fonctionnement : Maintenance corrective
• Les évolutions fonctionnelles ou techniques : Maintenance évolutive
18. Le modèle en cascade
• Chaque phase doit se terminer pour commencer la suivante.
• Des documents sont produits pour concrétiser la réalisation de chaque phase.
• La production de documents entre chaque phase améliore le suivi du projet.
• Impose une importante réflexion sur les choix faits car le coût de la correction d’une
erreur est important.
• Adapte pour des projets de petite taille, et dont le domaine est bien maitrisé.
19. Le modèle en cascade
• Problèmes
• Il est difficile de séparer les étapes
• On peut l’utiliser quand les besoins sont bien définis et ils sont stables.
• Avantages
• Bien documenté à chaque phase
• Inconvénients
• Rigide (on ne peut pas de répondre au besoins nouveaux ou modifiés des clients)
22. Modèle incrémental
• Concevoir et livrer au client un sous-ensemble minimal et fonctionnel du système
autrement dit, le produit est délivré en plusieurs fois, de manière incrémentale, c’est à
dire en le complétant au fur et à mesure et en profitant de l’expérimentation
opérationnelle des incréments précédents.
• Procéder par ajouts d'incréments minimaux jusqu'a la fin du processus de développement
• Avantages : meilleure intégration du client dans la boucle, produit conforme a ses attentes
23. Présentation du travail
L'étudiant devra travailler dans une grande équipe pour organiser le début d'un projet de
développement fictif. Le projet sera fait en développement continu et devra respecter un
échéancier de livrable. Durant le processus, les étudiants pourront demander la rétroaction
du professeur pour pouvoir améliorer leur projet. Après la remise du livrable, l'enseignant
corrigera les différentes étapes de la planification, gestion et création du projet, comme la
création des tâches, la séparation des tâches, la création des différents environnements de
travail, les traces du travail, la documentation du projet ainsi que la documentation du
livrable.
24. Organisation du travail
• Se répartir en groupe de 6.
• M'envoyer un email avec les membres et le responsable du groupe au plus tard dans deux
jours
• Les TAF feront foi d'évaluation sommative
25. TAF : Le métier d'analyste concepteur
• Enoncé : L'analyste concepteur joue un rôle essentiel dans le développement de
systèmes informatiques et de logiciels. Ecrire un document sur les qualités essentielles
requises pour un analyste concepteur, en mettant l'accent sur:
• les compétences techniques
• les compétences en communication
• Les compétences interpersonnelles.
• Livrable : Dresser une liste des cinq qualités les plus importantes pour un analyste
concepteur dans chaque catégorie de compétences en justifiant vos réponses (1
document par groupe)
• Délai de livraison : Semaine prochaine. Un pigeonnier sera créé pour cette fin
Notes de l'éditeur
La phase d'exigences et d'analyse du cycle de vie du développement logiciel (SDLC, pour Software Development Life Cycle) est une étape cruciale dans le processus de développement de logiciels. Elle consiste à déterminer les exigences fonctionnelles et non fonctionnelles du logiciel à développer et à les analyser de manière détaillée afin de pouvoir élaborer un plan de développement solide.
Pendant cette phase, il est important de recueillir les besoins des utilisateurs finaux et de les traduire en exigences précises et détaillées. Ces exigences peuvent être documentées sous forme de spécifications fonctionnelles, qui décrivent les fonctionnalités du logiciel et comment elles doivent être implémentées.
Il est également important de tenir compte des exigences non fonctionnelles du logiciel, telles que les exigences de performance, de fiabilité, de sécurité et de scalabilité. Ces exigences peuvent être documentées sous forme de spécifications non fonctionnelles.
Pendant cette phase, il est recommandé de procéder à une analyse approfondie des exigences pour s'assurer qu'elles sont complètes, précises et réalisables. Cela peut inclure l'analyse de la faisabilité technique et financière, ainsi que l'identification de tout risque potentiel associé au développement du logiciel.
Une fois que les exigences et l'analyse sont terminées, le projet peut passer à la phase de conception, où le plan de développement détaillé est élaboré et où le logiciel est conçu en utilisant des techniques de conception telles que le modèle MVC (Model-View-Controller).