Galerie de cartes mentales Analyse des exigences Tests de logiciels Génie logiciel Conception de logiciels Auto-apprentissage Carte mentale
Analyse des exigences, tests logiciels, ingénierie logicielle, carte mentale d'auto-apprentissage de la conception logicielle, qui organise le contenu de l'analyse des exigences, de la conception logicielle, des tests logiciels, de la maintenance logicielle, de la réutilisation des logiciels et de l'environnement de développement logiciel. J'espère que cette carte mentale sera utile. pour vous.
Modifié à 2023-02-23 22:55:01Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Analyse des exigences Tests de logiciels Génie logiciel Conception de logiciels Auto-apprentissage Carte mentale
analyse de la demande
Classification des exigences
Exigences fonctionnelles (ce que fait le logiciel, ce que le système doit accomplir et les qualités dont il dispose), exigences de performances (fiabilité, tolérance aux pannes, performances, temps de réponse), contraintes de conception (les contraintes spécifient des restrictions, telles que la spécification de bases de données, de systèmes d'exploitation, de développement outils )
Besoins de l'entreprise (le directeur général a dit que je voulais développer un... système pour réaliser... une entreprise), besoins des utilisateurs (le responsable de la direction a dit... des fonctions et des performances sont nécessaires), besoins du système (développement et utilisation de)
Besoins de base (exigences clairement énoncées par les utilisateurs), besoins attendus (choses que les utilisateurs n'ont pas déclarées explicitement mais qui, selon eux, devraient aller de soi), besoins passionnants (dépasser les attentes des utilisateurs, fonctions ajoutées auxquelles les utilisateurs ne s'attendaient pas et n'ont pas besoin d'être réalisées)
ingénierie des exigences
Développement des exigences (détermination des fonctions, des performances, des données et des interfaces, y compris quatre étapes de capture des exigences, d'analyse, de rédaction des spécifications et de vérification des exigences)
Gestion de la demande
Élaborer un plan de gestion des exigences, définir les lignes de base des exigences, obtenir la compréhension et l'engagement envers les exigences, gérer les modifications des exigences, maintenir un suivi bidirectionnel des exigences et identifier les incohérences entre le travail du projet et les exigences.
Suivi bidirectionnel des exigences : dans le suivi avant, dans quel cas d'utilisation l'exigence d'origine est réalisée, si toutes les exigences d'origine sont satisfaites. Dans le suivi inverse, si un cas d'utilisation ne répond à aucune exigence d'origine, il s'agit d'un besoin passionnant.
Acquisition des besoins
informations à capturer (quoi)
Informations liées au domaine du problème, informations liées au problème à résoudre, attentes et contraintes des utilisateurs
Source d'information (où)
Parties prenantes, systèmes existants, concurrents, experts du domaine
Techniques de capture des exigences (comment)
Réunion commune sur les exigences de discussion (discussion multipartite), entretiens avec les utilisateurs (les utilisateurs clés préparent les questions), enquêtes écrites (lorsqu'il y a de nombreuses personnes), observations sur site, lecture de documents historiques et participation aux pratiques commerciales
Outils graphiques : schéma fonctionnel hiérarchique, diagramme de cas d'utilisation, diagramme IPO, diagramme Warnier
Stratégies de capture des exigences
Le développement des exigences est un processus évolutif itératif sans cascade qui décompose le problème de haut en bas, couche par couche, et fournit une vue logique et une vue physique du système.
analyse de la demande
Tâche
Dessiner un diagramme de portée de la relation entre le système et les entités externes, créer un prototype d'interface utilisateur, analyser la faisabilité des exigences, déterminer la priorité des exigences, établir un modèle d'analyse des exigences (modèle de cas d'utilisation, diagramme ER, diagramme de flux de données) , créez un dictionnaire de données et utilisez les fonctions de qualité pour allouer
méthode
méthodes d'analyse structurées
Une méthode de modélisation qui s'appuie sur la décomposition descendante étape par étape de diagrammes de flux de données pour exprimer graphiquement le processus de transformation et de transfert des informations dans le système.
analyse des processus métier
Étudier et comprendre la situation de base, décrire, confirmer et analyser les processus métier existants, découvrir les problèmes, proposer des solutions et proposer des processus métier optimisés
Dessiner un diagramme de flux de données DFD
Le diagramme de niveau supérieur clarifie les entités externes avec lesquelles le système a une relation et les données qui doivent être transmises. Le diagramme de niveau supérieur est décomposé couche par couche de haut en bas et détaille les composants.
Y compris le flux de données (données avec nom et sens du flux), le traitement (transformation du flux de données), le stockage de données (informations stockées accessibles), les entités externes (source de données et destination des données)
Dictionnaire de données
Donner des définitions logiques à tous les éléments de données apparaissant dans le diagramme de flux de données
Y compris langage structuré, arbre de décision, table de décision
Méthode d'analyse orientée objet
Méthode d'analyse du domaine du problème de zone
Rédiger la spécification des exigences logicielles
Méthodes (utiliser une bonne structure et un langage naturel pour rédiger des documents texte, créer des modèles graphiques et rédiger des spécifications formelles)
Exigences (exhaustivité, cohérence, modifiabilité, traçabilité)
Vérification des exigences
Examen de la demande : la participation du client à la confirmation de la signature est l'un des critères d'acceptation. Vérifiez si la demande est effectuée conformément au processus et si le résultat de la demande est objectif, juste et raisonnable.
Test des exigences
conception de logiciels
Le principe de base
Dissimulation des informations (les données et les méthodes entre les modules ne peuvent pas être utilisées par des modules non liés), abstraction, top-down, raffinement couche par couche, indépendance des modules (cohésion élevée et faible couplage)
étape
Conception architecturale
Vue logique (réponse aux exigences fonctionnelles), vue processus (problèmes de concurrence), vue composants (problèmes de mise en œuvre), vue déploiement (problèmes de distribution)
Conception de contour
Convertir les exigences logicielles en structures de données et en structures de systèmes logiciels, en complétant principalement la conception globale, y compris en divisant les fonctions en modules, en déterminant les fonctions des modules et les relations d'appel et de composition entre les modules.
conception détaillée
Descendant, raffinement progressif, masquage des informations (interface de fonctionnement), modules indépendants (forte cohésion, faible couplage)
Concevoir la structure des données et l'algorithme pour chaque module, les performances, le délai d'exécution, le temps de réponse, le débit, la précision, etc.
Rédiger des documents de conception
examen de la conception
méthode de conception
Modules dans le diagramme de structure du système
Module entrant, module sortant, module de transformation, module de coordination
Schéma de structure du système commun
Transformation, Transaction, Mixte
interface utilisateur
Convivialité, flexibilité, complexité, fiabilité
examen de la conception
Responsable de la conception, personnel de direction, réviseurs en chef, équipe de révision
test de logiciel
Principes de test
Testez le plus tôt possible et en continu. Les programmeurs doivent éviter de tester les programmes qu'ils ont conçus. Ils doivent choisir des données valides et raisonnables ainsi que des données invalides et déraisonnables. Après modification, effectuer des tests de régression. le même que le nombre d’erreurs découvertes par le programme proportionnellement à l’erreur.
Concevoir des cas de test comprenant les entrées, les conditions d'exécution et les résultats attendus
Méthodes d'essai
test en boîte noire
Concevoir des cas de tests selon les spécifications fonctionnelles et vérifier si les fonctions répondent aux exigences, quels que soient la structure et le traitement du programme.
Division des classes d'équivalence
Diviser les classes d'équivalence. Tester les valeurs représentatives de la classe d'équivalence équivaut à tester d'autres valeurs de ce type. Chaque classe d'équivalence est testée dans deux cas : valide et invalide.
analyse des valeurs limites
Concevez des cas de test sur les limites d'entrée et de sortie. Les valeurs limites sont les plus sujettes aux erreurs (prenez une valeur exactement égale, juste supérieure ou juste inférieure à la limite).
erreur de deviner
Erreurs possibles dans la spéculation à partir de l'expérience et de l'intuition
diagramme de cause à effet
Analysez les spécifications des exigences pour découvrir les différentes entrées et sorties (causes et résultats), découvrez la correspondance entre les différentes combinaisons de conditions d'entrée et de sorties et dessinez un diagramme de cause à effet. Le diagramme de cause à effet est converti en. une table de décision. Chaque colonne de la table de décision est un cas de test.
test en boîte blanche
Tester le contenu
Concevoir des cas de test pour la logique interne du programme afin de vérifier si les chemins logiques fonctionnent selon des exigences prédéterminées, ce qui est plus complet et détaillé que les tests en boîte noire
Testez tous les chemins du module de programme au moins une fois, testez tous les jugements logiques, vrais et faux, au moins une fois, testez les limites de boucle et les limites d'exécution, et testez la validité des structures de données internes
Méthodes d'essai
Couverture de déclaration, couverture de décision, couverture de condition, couverture de condition de décision, couverture de combinaison de conditions, couverture de chemin
Tests en boîte grise
Combinez les tests en boîte noire et en boîte blanche
phase de test
Test de l'unité
Réalisés pendant la phase de codage, tests généraux en boîte blanche, tels que les tests de fonction d'interface de module, les tests de structure de données locales, les tests de chemin, les tests de gestion des erreurs et les tests de conditions limites.
Tests d'intégration
Des erreurs au cours de la phase de conception sont découvertes. Une fois les modules assemblés, l'interface et la communication entre les modules sont testées, généralement en boîte noire.
Test de confirmation
Vérifier si les fonctions et les performances du logiciel sont cohérentes avec les besoins de l'utilisateur, sur la base des spécifications de la demande, des tests de validité, de la revue de la configuration du logiciel et des tests d'acceptation (rapport d'analyse, manuel d'utilisation, rapport de synthèse de développement) dans un environnement simulé.
Test du système
Tests de l'environnement de production, tests en boîte noire basés sur les spécifications des exigences, couvrant tous les composants communs et évaluant la qualité des produits logiciels
Y compris les logiciels, le matériel, les périphériques, les données, les logiciels de support, etc., en particulier les tests de récupération, les tests de sécurité, les tests de résistance, les tests de performances, les tests de fiabilité et les tests d'installation.
test
Pour les logiciels de type produit, le développeur @ est présent et le client implémente le test, et le développeur b n'est pas présent.
Type d'essai
test de fonctionnalité
Test de performance
Objectif (évaluer les capacités du système, identifier les faiblesses, régler le système, vérifier la stabilité et la fiabilité), type (test de charge, test de résistance, test de capacité)
Test d'admission
Analyse des exigences logicielles, préparation du plan de tests d'acceptation et des critères d'acceptation du projet, conception des tests et conception des scénarios de tests, construction de l'environnement de test, mise en œuvre des tests, analyse des résultats, rapport de test
tests tiers
Intermédiaire--Centre d'évaluation de logiciels de Pékin
Tests de régression (vérifier que les défauts survenus auparavant mais qui ont été réparés ne réapparaîtront pas), tests de récupération, tests de fiabilité, tests de démarrage/arrêt, tests de configuration, tests de sécurité, tests d'utilisabilité, tests d'installation, tests de processus, tests de compatibilité
Tests orientés objet
Tests d'analyse orientés objet, tests de conception orientés objet, tests de programmation orientés objet (tests unitaires orientés objet, tests d'intégration orientés objet, tests système orientés objet)
outils de test
Ne nécessite pas de validation, d'étalonnage, de vérification ou de gestion de configuration périodique pour maintenir l'adéquation.
gestion des tests
Il est difficile de gérer l'équipe de test car les indicateurs de performance des testeurs ne sont pas faciles à compter. Il existe un grand écart dans le nombre de bugs dans les programmes écrits par des experts et des novices. Comment déterminer la capacité des testeurs à trouver des bugs ?
Gestion du suivi des erreurs (défauts)
Maintenance logiciel
La maintenance logicielle fait partie intégrante du cycle de vie. Elle fournit toutes les activités qui nécessitent un support logiciel. Le logiciel est compréhensible, testable, modifiable et maintenable.
Maintenabilité du logiciel
Le génie logiciel améliore la maintenabilité
Analyse des besoins – Les améliorations et modifications possibles sont expliquées
Phase de conception : solution facile à étendre, portable et réutilisable, orientée objet
Phase de codage - annotation, qualité, orienté objet
Phase de test : si le test est bon, alors la maintenance est bonne ; tous les documents relatifs au test sont disponibles ;
Phase de maintenance - bonne gestion de la configuration et documents synchronisés
Documentation du système (exigences de maintenance, code source, documents de conception, documents de test)
Documentation utilisateur (Manuel d'utilisation, Documentation d'installation, Manuel de référence, Guide de l'administrateur)
mesures de maintenabilité
Nombre de boucles (complexité du code source), taille du logiciel, autres facteurs
Classement de la maintenance logicielle
Correction (le processus de diagnostic et de correction des erreurs)
Type adaptatif (processus d'adaptation aux changements dans les nouveaux logiciels et matériels de l'environnement externe, la base de données de l'environnement de données, le format de données et les supports de stockage pour modifier le logiciel, comme la mise à niveau du système d'exploitation et la modification du logiciel)
Type préventif (le processus de modification du logiciel pour améliorer la maintenabilité et la fiabilité du logiciel et jeter les bases des améliorations futures du logiciel. Ce n'est pas une erreur maintenant mais le deviendra avec le temps, comme le problème du bug du millénaire résolu en 1999)
Type de perfection (le processus de modification d'un logiciel ou de redéveloppement d'un logiciel pour répondre à de nouvelles fonctions et performances)
Mise en place de la maintenance logicielle
Établir l'organisation de la maintenance, proposer les exigences de maintenance, mettre en œuvre les opérations de maintenance, enregistrer les éléments de maintenance et évaluer les activités de maintenance
La maintenance avant livraison comprend les plans d'exploitation et les plans de maintenance après livraison, et la maintenance après livraison comprend les modifications logicielles, la formation, le matériel d'aide, etc.
Réutilisation de logiciels
L'utilisation de diverses connaissances pertinentes des logiciels existants pour créer de nouveaux logiciels afin de réduire les coûts de développement et de maintenance de logiciels est une technologie importante pour améliorer la productivité et la qualité des logiciels.
Réutilisation du code, réutilisation de la conception, réutilisation des analyses, réutilisation des scénarios de test
Un composant est un corps de programme doté de certaines fonctions qui peuvent fonctionner indépendamment ou être assemblés et coordonnés avec d'autres composants. Afin d'être pratiques et réutilisés plus efficacement, les composants doivent avoir une variabilité et une flexibilité pour améliorer la polyvalence.
environnement de développement logiciel
Une collection d'outils logiciels associés, un environnement de développement intégré (intégration de données, intégration de contrôle, intégration d'interface)