Vous êtes sur la page 1sur 34

Présentation générale du

développement logiciel
Leçon 3
Matrice des différents objectifs

Compétences/Concepts Objectifs de l’examen MTA


Comprendre la gestion du Comprendre la gestion du cycle de vie des
cycle de vie des applications applications (3.1)
Comprendre les tests Comprendre la gestion du cycle de vie des
applications (3.1)
Comprendre les structures Comprendre les algorithmes et les structures
de données de données (3.3)
Comprendre les Comprendre les algorithmes et les structures
algorithmes de tri de données (3.3)
Gestion du cycle de vie des applications
• La gestion du cycle de vie des applications inclut diverses activités se
rapportant à un nouveau produit logiciel, de sa conception à sa mise
en production.
Spécifications
• L'analyse des spécifications est le processus
qui consiste à déterminer les exigences
commerciales précises pour un nouveau
système logiciel.
• Un analyste d'entreprise est chargé
d'analyser les besoins de l'entreprise
et de les convertir en exigences pouvant
être mises en œuvre par l'équipe de
développement.
Conception
• Les activités de conception incluent la
création des plans, des modèles et de
l'architecture utilisés pour la mise en
œuvre du logiciel.
• Participants
– Architecte
– Concepteur de l'expérience utilisateur
Développement
• Les activités de développement incluent
l'implémentation de la conception avec
la création du code logiciel, de bases de
données et d'autres contenus associés.
• Participants
– Développeurs
– Administrateurs de bases de données
– Rédacteurs techniques
– Développeurs de contenu
Tests
• Les tests permettent de garantir la qualité
du produit final.
• Ils identifient les éventuels manquements
entre les attentes du système, telles que
décrites dans le document détaillant les
exigences, et le comportement réel du
système.
• Participants
– Testeurs
Comprendre les tests
• Tester un logiciel consiste à vérifier que
le logiciel respecte les exigences fixées.
• Les tests effectués sur un logiciel permettent
d'identifier les défauts de l'application, sans
toutefois garantir l'absence de défauts.
• Il s'avère beaucoup plus rentable d'identifier
les défauts en amont, durant le cycle de
développement du produit (plutôt qu'en
fin de processus).
Méthodes de test
• Test boîte noire
– Traite uniquement les entrées et les sorties.
– Les testeurs n'utilisent pas leur connaissance
du fonctionnement interne du système.
– Permet de vérifier qu'une application logicielle
respecte toutes ses spécifications.
• Test boîte blanche
– Les testeurs s'appuient sur leur connaissance du
fonctionnement interne du système lors du test.
– Permet de vérifier qu'il existe des cas de test
appropriés pour chaque méthode ou fonction.
Niveaux de test
• Test unitaire
– Vérifie la fonctionnalité d'une unité de code.
• Test d'intégration
– Évalue l'interface entre les composants du logiciel.
• Test du système
– Test global du système logiciel.
• Test de régression
– Permet de vérifier que chaque nouveau correctif n'affecte
pas des fonctions précédemment opérationnelles.
Comprendre les structures de données
• Les structures de données sont des techniques
utilisées pour classer et stocker les données
dans la mémoire d'un ordinateur.
• Comprendre les structures de données exige de
– comprendre le modèle de stockage,
– comprendre les méthodes utilisées pour créer,
accéder à une structure de données et la manipuler.
• Structures de données courantes
– Tableaux
– Files d'attente
– Piles
– Listes liées
Tableaux
• Un tableau est une collection d'éléments
du même type.
• Les éléments d'un tableau sont stockés
dans des emplacements mémoire contigus.
• La capacité d'un tableau est prédéfinie
et fixe.
• N'importe quel élément d'un tableau est
accessible à l'aide d'un index unique.
• Les index de tableaux C# sont de base zéro.
Tableau - Représentation interne
Tableau - Opérations courantes
• Les tableaux prennent en charge les
opérations suivantes :
– Allocation
– Accès
• Le code suivant affecte la valeur 10 au
quatrième élément d'un tableau, puis une
valeur égale à deux fois cette valeur est
affectée à la variable calc :
Files d'attente
• Collection d'éléments dans laquelle le
premier élément ajouté à la collection
est le premier élément supprimé.
• Premier entré, premier sorti (FIFO).
• Une file d'attente est une structure
de données hétérogène.
• La capacité d'une file d'attente est le
nombre d'éléments qu'elle peut contenir.
• La capacité d'une file d'attente peut être
automatiquement augmentée, à mesure
que des éléments sont ajoutés.
Files d'attente - Représentation interne
Files d'attente - Opérations courantes
• Enqueue : ajoute un élément à la fin de la
file d'attente.
• Dequeue : retire l'élément se trouvant
actuellement au début de la file d'attente.
• Peek : accède à l'élément se trouvant
actuellement à la position de tête,
sans le supprimer de la file d'attente.
• Contains : détermine si un élément
spécifique existe dans la file d'attente.
Piles
• Collection d'éléments dans laquelle le
dernier élément ajouté est le premier
élément supprimé.
• Dernier entré, premier sorti (LIFO).
• Une pile est une structure de données
hétérogène.
• La capacité d'une pile est le nombre
d'éléments qu'elle peut contenir.
• La capacité d'une pile peut être
automatiquement augmentée, à mesure
que des éléments sont ajoutés.
Piles - Représentation interne
• Une pile peut être visualisée comme une file
d'attente, la différence étant que la fin de la
pile est appelée le haut de la pile, tandis que
le début de la pile est appelé le bas de la pile.
• Un nouvel élément est toujours ajouté en haut
de la pile. Après l'ajout de l'élément, le haut de
la pile pointe vers le nouvel élément.
• Les éléments sont également supprimés à partir
du haut de la pile. Le haut de la pile est alors
modifié de manière à pointer vers l'élément
suivant dans la pile.
Pile - Opérations courantes
• Push : ajoute un élément en haut de la pile.
• Pop : retire l'élément figurant en haut de
la pile.
• Peek : accède à l'élément se trouvant
actuellement en haut de la pile, sans
le supprimer de la pile.
• Contains : détermine si un élément
spécifique existe dans la pile.
Listes liées
• Une liste liée est une collection de nœuds
disposés de manière à ce que chaque nœud
contienne un lien vers le nœud suivant dans
la séquence.
• Chaque nœud d'une liste liée contient deux
éléments d'information :
– les données correspondant au nœud
– le lien vers le nœud suivant
Listes liées - Représentation interne
• Liste liée simple
Listes liées - Représentation interne
• Liste doublement liée
Listes liées - Opérations courantes
• Add : ajoute un élément à une liste liée.
• Remove : supprime un nœud donné
de la liste liée.
• Find : recherche un nœud avec une valeur
donnée dans la liste liée.
Listes liées - Visualisation de l'opération Add
• L'ajout d'un élément à une liste liée implique la modification des liens.
Comprendre les algorithmes de tri
• Les algorithmes de tri sont des algorithmes
qui placent les éléments d'une liste dans
un ordre donné.
• Comprendre les algorithmes de tri peut vous
aider à comprendre, analyser et comparer
les différentes méthodes de résolution des
problèmes.
• BubbleSort et QuickSort sont deux des
nombreux algorithmes de tri disponibles.
BubbleSort
• BubbleSort compare deux éléments pour
vérifier s'ils sont dans le bon ordre ; si ce
n'est pas le cas, il les permute. L'algorithme
poursuit l'opération jusqu'à ce que tous
les éléments de la liste soient dans
l'ordre requis.
• Le nom de l'algorithme BubbleSort vient
de la manière dont il fonctionne : à mesure
que l'algorithme progresse, les plus petits
éléments remontent progressivement,
tels des bulles d'air.
Visualisation de BubbleSort - Première passe
Visualisation de BubbleSort - Deuxième passe
Visualisation de BubbleSort - Troisième passe
QuickSort
• L'algorithme QuickSort utilise la technique
« diviser pour régner » pour partitionner une
liste jusqu'à ce que la taille du problème
soit très petite et qu'aucun tri ne soit plus
nécessaire.
• L'algorithme QuickSort est beaucoup plus
rapide que BubbleSort.
Visualisation de QuickSort
Récapitulatif
• Gestion du cycle de vie des applications
– Analyse des spécifications
– Développement logiciel
– Tests
– Gestion des mises en production
• Méthodes de test
– Test boîte noire
– Test boîte blanche
Récapitulatif
• Niveaux de test
– Test unitaire, test d'intégration,
test du système, test d'acceptation
• Structures de données
– Tableaux
– Files d'attente
– Piles
– Listes liées
• Algorithmes de tri : BubbleSort, QuickSort

Vous aimerez peut-être aussi