Vous êtes sur la page 1sur 6

GENIE LOGICIEL Documentable  précédé par un doc de conception

Lisibilité et clarté  écrit proprement

Génie Logiciel Portabilité  fonctionnel sur plusieurs machines et


indépendant de son environnement d’exécution

Génie civil Progs informatiques Extensibilité  ajout de nouvelles fonctionnalités(flexible)

Art de construction Documentation Réutilisabilité  des parties pour d’autres logiciels =

Interopérabilité et coulabilité  interagir en synergie


Discipline  méthodes, techniques et outils
Traçabilité  le suivi d’un produit aux diff stades
Basée sur le savoir  théorique
Testabilité et vérifiabilité  le soumettre à une épreuve de
Le savoir-faire  compétence, ressource humaine
confirmation de la tâche à exécuter
Le faire savoir  communication

Pour produire  développement, réalisation SCRUM

De façon industrielle  travail d’équipe, méthodologie Ce cadre méthodologique agile


révolutionne la manière dont on gère un
Des logiciels  les produits projet
Il permet de délivrer et de modifier un
De qualité au meilleur prix  qualité/prix
projet, un produit ou une fonctionnalité
très rapidement
FACTEUR DE QUALITE DE LOGICIEL Basée sur des rôles, composée de 6 à 10
personnes :
- Développeurs
Critères externes Critères internes
- Testeurs
- Architectes
EXTERNES : - Product owner : le chef de produit
représentent le client, il définit les
spécifications fonctionnelles et établit
Fiabilité  conformité de ses spécifications
la liste des priorités de ce qu'il faut
Robustesse, sureté  stable et disponible développer.c'est aussi le product
owner qui valide les fonctionnalités
Efficacité  bon usage en termes de mémoire et temps - Scrum master : est garant du respect
d’exécution des processus scrum il s'assure d'une
bonne communication entre les
Convivialité, utilisabilité  facile et agréable à utiliser membres de l'équipe
Documentable  tuto ou un manuel utilisateur User Story  Product Backlog  Sprint Backlog

Ergonomique  adaptable aux conditions de travail et User Story : capturer les besoins et les
d’utilisateur fonctionnalités souhaitées du point de
vue de l'utilisateur
Sécurité  absence du danger et la garantie offerte
Product Backlog : une liste dynamique et
Adéquation et validité  conformité au maquettage et but priorisée de toutes les fonctionnalités, les
exigences, les améliorations et les
Intégrité  aptitude à protéger le code et les données corrections qui doivent être réalisées sur
un produit

INETRNES :
Sprint Backlog : contient les tâches CASCADE :
spécifiques qui doivent être accomplies  Se divise en étapes
pour atteindre les objectifs du sprint  Entre 2 étapes se trouvent une validation
Sprint Planning Meeting : permet  On commence une activité qu’après avoir
également de clarifier les exigences, de terminé celle qui précède
discuter des dépendances et des  En cas d'erreur découverte lors des tests,
contraintes, et de définir les critères il est nécessaire de retourner à la phase
d'acceptation pour chaque élément du de programmation
product backlog sélectionné Avantages :
Sprint Meeting Review : l'équipe de - Structure claire
développement présente les éléments Inconvénients :
terminés du sprint backlog, en mettant - Détection tardive des erreurs (cout
l'accent sur les fonctionnalités élevé)
développées et les objectifs atteints. Les
participants peuvent interagir avec le
produit, poser des questions et fournir
des commentaires

GESTION DES EXIGENCES

Recueil des données  Analyse des besoins  Spécification des exigences

 Collecte des besoins


- Questionnaires EN V :
- Sondages
- Interviews  Composé de 3 phases
- Brainstorming - Conception
 Filtrage des besoins - Réalisation
- Elimination d’ambiguïté, - Validation
incohérences et incomplétude  Enchaînement séquentiel (modèle en
cascade) de gauche à droite, les résultats
Cahier de spécification des besoins ou cahier de des étapes de départ sont utilisés par les
charge étapes d’arrivée
Avantages :
CYCLE DE VIE LOGICIEL - Détection précoce des erreurs
Inconvénients :
 Ensemble des étapes qui composent le
- Faible flexibilité aux changements
processus de développement et
d’utilisation du logiciel

Modèle de cycle de vie : servent de guide pour


structurer et gérer efficacement les projets, en
s'assurant que toutes les activités nécessaires sont
prises en compte et exécutées de manière
appropriée pour atteindre les objectifs fixés

 On a 2 familles de modèles

Itérative et Linéaire
Incrémentale

Prototypage Cascade
Spirale En V
Incrémental
PAR PROTOTYPAGE : - Modèle complet, complexe et général
Inconvénients :
 Enchaîner les développements de - Difficile à appliquer
prototypes et à les soumettre pour
validation/remarque au client

Avantages :
- Le client participe activement dans le
développement du produit
Inconvénients :
- Temps et couts supplémentaires

LES ME THODES

Lourde Agile

UP Scrum
RUP
2TUP
INCREMENTAL :
Processus Unifié
 Développer des applications en étendant
Caractéristiques :
PROGRESSIVEMENT ses fonctionnalités.
 Permet d’éviter de TOUT CONCEVOIR, de - Piloté par les cas d’utilisation
TOUT TESTER - Itératif et incrémental
 Extension successive à partir d’un produit
- Centré sur l’architecture
- Orienté risques
« Noyau » du logiciel
Composants :
Avantages :
 4 phases :
- Les intégrations sont progressives - Etude d’opportunité
Inconvénients : - Elaboration
- Risque de fonctionnalités inachevées - Construction
- Transition
 5 activités :
- Expression des besoins
- Analyse
- Conception
- Implémentation
- Test

EN SPIRAL :

 Développement itératif (prototypes)


Avantages :
CONCEPTION :
RUP (Rational Unified Process)
 ARCHITECTURE GLOBALE Niveaux
 Est une instance/implémentation de UP
 ARCHITECTURE DETAILLEE conceptuels
Artéfact : élément d’information utilisé lors d’une
activité de développement logiciel PATRONS D’ARCHITECTURE
Activité : opération exécutée au sein d’un état
 Modèle en couches :
Rôle : comportement et responsabilité d’un ensemble  3 couches :
de personnes
- Présentation (IHM)
- Applicative
2TUP (2 Track Unified Process) - Infrastructure
 5 couches :
 Branche fonctionnelle : Capture les besoins
- IHM
fonctionnels
- Logique applicative
 Branche technique : Capitalise un savoir-faire
technique et/ou des contraintes techniques - Métier
 Phase de réalisation : Réunir les deux branches, - Accès donnés
permettant de mener une conception applicative - Infrastructure
 Modèle MVC :
- Model
Agile - Controller
4 valeurs : - View
- Priorité aux personnes et aux interactions sur les
procédures et les outils ARCHITECTURE PHYSIQUE
- Priorité aux applications fonctionnelles sur une 1-NIVEAU : couches situées sur la même machine
documentation pléthorique
- Priorité à la collaboration avec le client sur la 2-NIVEAUX : séparées sur 2 sites (serveur et postes)
négociation de contrat
- Priorité à l'acceptation du changement sur la
planification
QUALITE DE LA CONCEPTION
12 principes :
ARCHITECTURALE
1. Priorité à la satisfaction du client
2. Accueillir favorablement les changements de  Critères de qualité :
besoins - Faible couplage
3. Livrer fréquemment des logiciels opérationnels - Forte cohésion
4. Collaboration étroite entre les parties
prenantes PATRONS DE CONCEPTION
5. Construire des projets autour de personnes
motivés.
6. Conversation face à face
De création De De
7. Logiciel opérationnel comme principale
structure comportement
mesure de progrès Factory Adapter Command
8. Maintenir un rythme de développement Builder Bridge Iterator
soutenable Prototype Composite Observer
9. Excellence technique et conception Singleton Facade State
10. La simplicité Factory method Proxy Template
11. Les équipes autoorganisées method
12. Réflexion et adaptation régulières Problèmes liés au non-respect des critères
de qualités :
- Difficulté de maintenabilité
ARCHITECTURE ET CONCEPTION DE
- Difficulté de réutilisabilité
LOGICIELS
- Problème de performance

Logique Physique
GESTION DE CONFIGURATION des violations d’accès mémoire ou erreurs
de gestion d’exception
LOGICIELLE

 Discipline de gestion qui vise à contrôler Fuite de mémoire :


et gérer les éléments constitutifs d'un
Dysfonctionnement dans les opérations
logiciel tout au long de son cycle de vie.
d'allocation de mémoire. La quantité de
Elle comprend la gestion des versions, la
mémoire utilisée par le logiciel défaillant
gestion des modifications, la traçabilité
va en augmentant continuellement et
des composants, la gestion des baselines
gêne le déroulement des autres logiciels
(lignes de base), et la gestion de la
et les entraîne à des dysfonctionnements
documentation associée
 Les principes de base : Vulnérabilité :
- La journalisation :
 Controller les modifications Faiblesse dans un système informatique
apportées à chaque fichier ou permettant à un attaquant de porter
composant atteinte à l'intégrité de ce système, c'est-
- La gestion des versions : à-dire à son fonctionnement normal, à la
 Gérer les changements confidentialité et l'intégrité des données
▪ Num de version : qu'il contient. On parle aussi de faille de
modification majeure sécurité informatique.
▪ Num de révision : ajout Faute de segmentation :
de fonctionnalités
▪ Num de correction : Dysfonctionnement dans des opérations
correction des fautes de manipulations de pointeurs ou
- La gestion des conflits d'adresses mémoire.
 Optimiste : chaque développeur
Buffer Overflow :
travaille à son rythme (en cas de
conflit intervention manuelle) Le comportement de l'ordinateur devient
 Pessimiste : utilisation de lock imprévisible à cause du Dépassement de
 Architecture centralisée : tampon ou débordement est un bug par
- Tout passe par le serveur (nœuds) lequel un processus, lors de l'écriture dans
 Architecture décentralisée : un tampon, écrit à l'extérieur de l'espace
- Chacun travaille à son rythme de alloué au tampon, écrasant ainsi des
manière indépendante informations nécessaires au processus.

TESTS ET VALIDATION Deadlock ou inter blocage :

Tester c’est exécuter le programme dans Un mécanisme de prévention provoque


l’intention d’y trouver des anomalies ou l'annulation de l'opération lorsque la
des défauts durée d'attente dépasse le délai
Le test logiciel est le maillon principal dans admissible
la chaîne d’assurance qualité produit Dysfonctionnement durant lequel
plusieurs processus s'attendent
ANOMALIES L OGICIELLES mutuellement, c'est à dire qu'ils attendent
Bug : chacun que l'autre libère les ressources
qu'il utilise pour poursuivre.
Dysfonctionnement causé par un défaut
de conception ou de réalisation METHODES DE TE STS

Crash applicatif ou Deny of Service: Méthode boite noire : fonctionnement externe


(fonctionnalités)
Logiciel cesse de fonctionner d’une
manière inattendue et abrupte à cause
Méthode boite blanche : fonctionnement interne
(code)

Méthode boite grise : combinaison des deux


approches (externe et interne)

TYPES DE TESTS

 Test nominal : données volontairement


valides
 Test de robustesse : données
volontairement invalides
 Test unitaire : tester les fonctions ou les
modules du code par les programmeurs
 Test d’intégration : valider le bon
fonctionnement d’une ou plusieurs
parties
 Test de non-régression : tests liés au
changement
 Test d’administration : se focaliser sur les
aspects d’administration
 Test de sécurité : détecter les
instructions et les failles de sécurité

Vous aimerez peut-être aussi