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
Metasploit pour débutant : le guide du débutant pour bypasser les antivirus, contourner les pare-feu et exploiter des machines avec le puissant framework Metasploit.