LA CLOCHE

Il y a ceux qui ont lu cette nouvelle avant vous.
Abonnez-vous pour recevoir les derniers articles.
Email
Nom
Nom de famille
Comment voulez-vous lire The Bell
Pas de spam

Avant d'examiner les normes qui régissent les aspects de la qualité des logiciels, il est d'abord nécessaire de discuter des questions générales concernant la qualité de tout type de produit. Les questions générales comprennent les définitions et la terminologie dans le domaine, les concepts de qualité de base, le rôle de la documentation dans l'assurance qualité des produits, et la sélection et l'application des normes internationales de qualité. Certes, les normes internationales de la série ISO 9000, élaborées par l'Organisation internationale de normalisation, sont devenues les principales normes dans le domaine de la qualité. La sous-section suivante aborde les questions générales énumérées ci-dessus à la lumière de la série de normes ISO 9000.

1.1 Dispositions de base de la série ISO 9000

Premièrement, la série ISO 9000 fait référence à toutes les normes internationales élaborées par le comité technique 176 de l'Organisation internationale de normalisation (ISO), Gestion de la qualité et assurance de la qualité. La série contient actuellement toutes les normes internationales 9000 à 9004 (y compris toutes les parties de l'ISO 9000 et de l'ISO 9004), 10001 à 10020 (y compris toutes les parties) et l'ISO 8402. Voici les noms des principales normes qui composent cette série.

Normes ISO 9000-1-94 pour la gestion de la qualité et l'assurance qualité. Partie 1. Lignes directrices pour la sélection des candidatures.

Normes ISO 9000-2-93 pour la gestion de la qualité et l'assurance qualité. Partie 2. Lignes directrices générales pour l'application des normes ISO 9001, ISO 9002 et ISO 9003.

Normes ISO 9000-3-91 pour la gestion de la qualité et l'assurance qualité. Partie 3. Lignes directrices pour l'application d'ISO 9001 dans le développement, la livraison et la maintenance de logiciels.

Normes ISO 9000-4-93 pour la gestion de la qualité et l'assurance qualité. Partie 4. Lignes directrices pour l'administration d'un programme global de fiabilité.

Systèmes de qualité ISO 9001-94. Un modèle d'assurance qualité pour la conception, le développement, la production, l'installation et le service.

Systèmes de qualité ISO 9002-94. Modèle d'assurance qualité dans la production, l'installation et le service.

Systèmes de qualité ISO 9003-94. Modèle d'assurance qualité dans l'inspection des produits finis et les essais finaux.

ISO 9004-1-94 Gestion de la qualité et éléments du système qualité. Partie 1. Lignes directrices.

ISO 9004-2-91 Gestion de la qualité et éléments du système qualité. Partie 2. Lignes directrices pour les services.

ISO 9004-3-93 Gestion de la qualité et éléments du système qualité. Partie 3. Lignes directrices pour les matériaux traités.

ISO 9004-4-93 Gestion de la qualité et éléments du système qualité. Partie 4. Lignes directrices pour l'amélioration de la qualité.

Systèmes qualité ISO 10011-1-90. Lignes directrices pour les audits. Partie 1. Vérifications.

Systèmes qualité ISO 10011-2-91. Lignes directrices pour les audits. Partie 2. Critères de qualification des experts-auditeurs des systèmes qualité.

Systèmes qualité ISO 10011-3-91. Lignes directrices pour les audits. Partie 3. Gestion administrative des programmes d'audit.

ISO 10012-1-92 Assurance qualité des équipements de mesure. Exigences. Partie 1. Systèmes de support métrologique des équipements de mesure.

Manuels de qualité ISO 10013. Règlement de développement. (Au stade de la publication).

ISO 8402-94 Management de la qualité et assurance de la qualité. Vocabulaire.

La concurrence accrue entre les organisations, les fabricants de produits, y compris les logiciels, conduit à la mise en place d'exigences plus strictes pour la qualité de ces produits. Pour être compétitives, les organisations doivent mettre en œuvre des systèmes efficaces qui conduisent à une meilleure qualité des produits et à une meilleure satisfaction de leurs clients. Les exigences du client correctement formulées et complètes incluses dans la spécification ne garantissent pas encore que ces exigences seront pleinement satisfaites, car il existe des lacunes dans le système d'approvisionnement et de soutien de l'organisation. Cette considération a conduit à l'élaboration de normes liées aux systèmes qualité et complémentaires aux exigences des clients pour les produits. Les Normes internationales de la série ISO 9000 visent à fournir un cadre commun pour les normes de système qualité. Le système qualité s'entend, selon l'ISO 8402, de la totalité de la structure organisationnelle, des méthodes, des processus et des ressources nécessaires à la mise en œuvre de la gestion générale de la qualité des produits fabriqués par l'organisation.

Le système de gestion de la qualité d'une organisation est constitué des aspects de la fonction de gestion globale utilisée par l'organisation qui déterminent la politique qualité des produits, les objectifs et les responsabilités de l'organisation, et les mettent également en œuvre par le biais de la planification, du contrôle, de l'assurance et de l'amélioration de la qualité au sein du système qualité. En plus de l'objectif de l'organisation, le système de gestion de la qualité est influencé par ses produits et les méthodes de production caractéristiques de cette organisation. En raison du fait que les méthodes de production des organisations travaillant même dans le même domaine sont différentes et que les objectifs de l'organisation ne sont pas toujours les mêmes, les systèmes qualité de ces organisations ne coïncident pas. L'objectif principal du système de gestion de la qualité est d'améliorer les systèmes et les processus afin d'améliorer la qualité des produits.

La série de normes ISO 9000 spécifie quels éléments doivent être inclus dans un système qualité, tandis que l'organisation elle-même doit les mettre en œuvre en tenant compte des objectifs, produits et processus spécifiques, ainsi que des méthodes spécifiques utilisées par cette organisation.

En outre, les lignes directrices et les exigences de la série ISO 9000 sont exprimées en termes d'objectifs du système qualité à atteindre et ne prescrivent pas comment ces objectifs doivent être atteints, laissant le choix de ces méthodes au management de l'organisation. Les normes de cette série distinguent les exigences du système qualité des exigences des produits des clients. Les exigences relatives aux systèmes qualité s'ajoutent aux exigences techniques des produits. Par exemple, ISO 12207 spécifie le cycle de vie du développement logiciel. Les processus et modèles de qualité conformes au processus d'assurance qualité (2.3 de l'ISO 12207) sont établis par la série ISO 9000.

L'ISO 9000-1 identifie quatre catégories générales de produits couvrant tous les types de produits fournis par toute organisation:

    Moyens techniques.

    Logiciel.

    Matériaux traités.

Les exigences du système qualité spécifiées dans la série de normes internationales ISO 9000 s'appliquent aux quatre catégories générales de produits, mais la terminologie et certaines dispositions et aspects des systèmes de management de la qualité peuvent varier. Cela ressort des titres des normes ISO 9004 - 2 et ISO 9004 - 3. Il convient de noter que toute organisation propose des produits d'au moins deux catégories. Par exemple, une organisation de développement de logiciels fournit en outre à ses clients des services de maintenance pour les logiciels développés.

L'objectif des lignes directrices et des exigences des normes internationales ISO 9000 est de répondre aux exigences sous l'angle de quatre aspects essentiels à la qualité du produit.

1. Qualité en identifiant les besoins des clients pour les produits. Le premier aspect est la qualité en définissant et en améliorant les produits pour répondre aux exigences et aux opportunités du marché.

2. La qualité par le design. Le deuxième aspect est la qualité en intégrant des caractéristiques dans les produits qui contribuent à garantir qu'ils répondent aux exigences et aux opportunités du marché. En d'autres termes, la qualité de la conception est constituée des propriétés de la conception qui affectent le bon fonctionnement d'un produit dans des conditions de production et d'application variables.

3. Qualité due à la conformité à la conception. Le troisième aspect est la qualité en raison du maintien du respect constant de la conception, de la mise en œuvre des caractéristiques énoncées dans le projet.

4. Qualité grâce au service technique. Le quatrième aspect est la qualité grâce à la maintenance du produit pendant son utilisation selon les besoins pour maintenir les performances souhaitées.

La série de normes ISO 9000 fournit, dans son intégralité, des lignes directrices générales pour les exigences de gestion et d'assurance qualité externe en quatre dimensions.

Les Normes internationales de la série ISO 9000 sont fondées sur la compréhension que tout le travail est effectué par des processus (voir Figure 1). Chaque processus a des facteurs d'entrée. Le résultat du processus est le résultat - un produit qui est tangible et non tangible. Le processus lui-même est (ou devrait être) une transformation à valeur ajoutée. Dans chaque processus, des personnes et / ou d'autres ressources participent d'une manière ou d'une autre. La sortie peut être, par exemple, un programme, un service bancaire, un produit fini (ou intermédiaire) de toute catégorie de produits principale. Il existe des possibilités d'effectuer des mesures à l'entrée, à différentes étapes du processus, ainsi qu'à la sortie.

Comme le montre la figure 2, les intrants et les extrants peuvent être de plusieurs types: liés au produit (lignes pleines sur la figure 2) (par exemple matières premières, produit fini) et liés à l'information (lignes en pointillés) (par exemple, exigences du produit, Caractéristiques). Ce chiffre représente les processus d'un fournisseur avec les processus des sous-fournisseurs et des clients dans une chaîne d'approvisionnement. Dans la structure de ce réseau, divers facteurs d'entrée et de sortie évoluent dans des directions différentes. Le terme «produit» désigne ici les quatre principales catégories de produits.

La gestion de la qualité administrative est effectuée à travers la gestion des processus dans l'organisation. Le contrôle des processus a deux côtés:

gérer la structure et le fonctionnement du processus lui-même, dans lequel le produit ou l'information évolue;

gérer la qualité des produits ou des informations au sein de la structure.

Compte tenu de la structure complexe de la plupart des organisations, il est important de mettre en évidence les principaux processus et de simplifier et classer les processus en fonction des objectifs de gestion de la qualité. Un exemple de réseau complexe de processus est une organisation qui développe des logiciels conformément aux normes ISO / CEI 12207 et DO-178.

Fig.1.1 Tout le travail est effectué à l'aide de processus.

Processus

fournisseur

consommateur

demandes

Facteurs d'entrée

Facteurs de sortie

Statut et caractéristiques

des produits

Statut et caractéristiques

des produits

demandes

Retour d'information

Retour d'information

sous-fournisseur

Figure 1.2 Interrelation des processus dans le réseau d'approvisionnement en présence de flux associés aux produits et à l'information.

Toute organisation doit définir, établir et gérer son réseau de processus et d'interfaces. Une organisation crée, améliore et maintient un niveau de qualité constant pour ses produits grâce à un réseau de processus. Telle est la base conceptuelle de la série de normes ISO 9000. Les processus et leurs interfaces doivent faire l'objet d'une analyse et d'une amélioration continue afin de garantir la qualité des produits fabriqués.

Lors de l'évaluation des systèmes qualité de toute organisation, l'ISO 9000-1 recommande de poser trois questions importantes sur chaque processus du réseau évalué.

Ces processus sont-ils définis et leurs procédures documentées?

Ces processus sont-ils entièrement mis en œuvre et suivis d'une documentation?

Ces processus sont-ils efficaces pour atteindre les résultats escomptés?

Le résultat de l'évaluation est un ensemble de réponses à ces questions, liées respectivement à l'approche, à l'application et au résultat. L'évaluation du système qualité peut différer dans le domaine couvert et inclure différentes activités.

L'un des types les plus importants de ces activités, menées systématiquement, est l'évaluation de l'état et de l'adéquation du système qualité, effectuée par la direction de l'organisation conformément à la norme ISO 9001, 9002, 9003. Les conclusions tirées du processus d'évaluation du système qualité devraient conduire à une augmentation de son efficacité et de son économie. Les résultats des audits internes et externes du système qualité sont également une source d'informations pour de telles conclusions.

Les audits qualité internes réalisés par l'organisation elle-même (première partie) fournissent des informations pour une revue de direction efficace et des actions correctives, préventives et d'amélioration.

Des audits externes par des clients produits (deuxième partie) et des organismes indépendants (tiers) garantissent que le client a confiance dans le fournisseur et obtient la certification, garantissant ainsi la confiance dans une gamme de clients potentiels des produits de l'organisation.

Il convient également de prêter attention aux situations dans lesquelles la série ISO 9000 peut être appliquée et à la manière dont le fournisseur utilise cette série.

Les Normes internationales de la série ISO 9000 sont destinées à s'appliquer dans les quatre situations suivantes.

1. Comme ligne directrice pour la gestion de la qualité. Le système qualité dans cette situation doit améliorer sa propre efficacité afin de répondre aux exigences de qualité du produit de manière économique et optimale.

2. En termes de conclusion d'un contrat entre les première et deuxième parties. Dans cette situation, le client exige que certains éléments et processus du système qualité fassent partie du système qualité du fournisseur, en spécifiant un modèle d'assurance qualité spécifique.

3. Lorsqu'elle est approuvée ou enregistrée par une deuxième partie. C'est la situation dans laquelle le système qualité est évalué par le client. Le fournisseur peut être officiellement reconnu comme conforme à la norme.

4. Lorsqu'il est certifié ou enregistré par un tiers. Dans cette situation, le système qualité est évalué par l'organisme de certification, et l'organisation s'engage à maintenir un tel système qualité pour tous les consommateurs de ses produits.

Le fournisseur peut choisir entre deux manières d'utiliser la série de normes ISO 9000: «manière motivée par la gestion» et «manière motivée par les parties prenantes». La deuxième méthode est considérée comme la plus courante.

En utilisant une méthode motivée par les parties prenantes, le fournisseur introduit dans un premier temps un système qualité en réponse aux exigences immédiates du client. Le système qualité doit être conforme aux exigences des normes ISO 9001, 9002, 9003. La direction de l'organisation joue un rôle de premier plan dans cette méthode, mais le moteur est une partie prenante externe (clients).

En utilisant une approche motivée par la gestion, c'est la direction de l'organisation qui commence à faire des efforts pour identifier les futurs besoins et tendances du marché. Les lignes directrices pour la mise en place initiale d'un système qualité qui améliore la qualité des produits sont ISO 9004-1 (et d'autres parties de l'ISO 9004). Le fournisseur peut alors appliquer ISO 9001, 9002 ou 9003 comme modèle d'assurance qualité pour démontrer l'adéquation du système qualité afin d'obtenir la certification. Le système qualité mis en œuvre de cette manière est plus vaste et plus fructueux que celui mis en œuvre de la première manière.

La série de normes ISO 9000 accorde une attention particulière à la préparation et à l'utilisation de la documentation en tant qu'activité à valeur ajoutée. La documentation pertinente joue un rôle important dans les activités d'assurance qualité suivantes:

pour atteindre la qualité de produit requise;

évaluation des systèmes qualité;

dans l'amélioration de la qualité;

maintenir le niveau de qualité atteint.

Lors des audits internes et externes, la documentation des procédures indique que les processus sont définis, les procédures approuvées et sous contrôle. Ce n'est que dans ces circonstances que les audits peuvent garantir une évaluation complète de l'adéquation de l'application et de la mise en œuvre du réseau de processus de l'organisation.

De plus, la documentation joue un rôle important dans l'amélioration de la qualité des produits. Si les procédures sont documentées, appliquées et suivies, il est alors possible de déterminer comment elles sont exécutées.

En outre, la norme ISO 9001 sera examinée plus en détail, qui définit un modèle d'assurance qualité dans la conception, le développement, la production, l'installation et la maintenance de tous les types de produits, y compris les logiciels.

Qualité du logiciel est une préoccupation constante du génie logiciel et est discutée dans de nombreux domaines d'expertise.

  • Phil Crosby: La qualité consiste à répondre aux exigences des utilisateurs.
  • Watts Hempfrey: La qualité signifie atteindre un excellent niveau de convivialité.
  • Société IBM: a mis en circulation l'expression «qualité déterminée par le marché».
  • Critère Baldridge: «Qualité axée sur le client».
  • Système de gestion de la qualité ISO 9001: La qualité est la mesure dans laquelle les caractéristiques intrinsèques répondent aux exigences.

Qualité acceptable Est le degré de perfection souhaité du produit (service) en cours de création, capable de satisfaire les utilisateurs et réalisable dans les limites de conception spécifiées.

Qualité des activités du projet:

  • Gestion des exigences («attributs de qualité» en tant que catégorie d'exigences non fonctionnelles);
  • Test (le soi-disant temps moyen entre les pannes, des mesures telles que MTTF - Mean Time To Failure, c'est-à-dire le temps moyen entre les pannes détectées du système, etc.).

"Qualité acceptable" peut être comparé au niveau de service dans le SLA spécifié - Service Level Agreement. Autrement dit, une qualité acceptable peut être considérée comme<количественно выраженный> un compromis entre le client et l'entrepreneur concernant les caractéristiques du produit créé par l'entrepreneur dans l'intérêt de<решения задач> le client, en tenant compte des autres contraintes du projet (notamment le coût, souvent appelé «coût de la qualité»).

Figure "Domaine de connaissances - Qualité des logiciels"

Figure "Modèle du système de management de la qualité"

Fondamentaux de la qualité logicielle

Accord sur les exigences de qualité (dans l'original - exigences de qualité), avec une communication claire aux ingénieurs sur ce qui constitue la qualité<получаемого продукта>, nécessitent une discussion et une définition formelle de nombreux aspects de la qualité.

Les ingénieurs doivent comprendre les implications du concept de qualité, les caractéristiques et l'importance de la qualité par rapport au logiciel développé ou maintenu.

Une idée importante est que les exigences logicielles définissent les caractéristiques de qualité requises du logiciel et affectent également les méthodes de quantification et formulées pour évaluer ces caractéristiques.<соответствующие> critères d'acceptation.

Culture et éthique du génie logiciel (Culture et éthique du génie logiciel)

On attend des ingénieurs logiciels qu'ils perçoivent les problèmes de qualité des logiciels dans le cadre de leur<профессиональной> culture.
Les considérations éthiques peuvent jouer un rôle important dans l'assurance qualité des logiciels, la culture et les attitudes de l'ingénierie<к своей работе>... L'IEEE Computer Society et l'ACM ont développé un code d'éthique et de pratique professionnelle basé sur huit principes pour aider les ingénieurs à renforcer leur attitude envers la qualité et l'indépendance.<в решении вопросов обеспечения достойного качества создаваемых программных продуктов> dans leur travail quotidien.

Valeur et coûts de la qualité

Le concept de «qualité», en fait, n'est pas aussi évident et simple qu'il y paraît à première vue. Pour tout produit d'ingénierie, il existe de nombreux<интерпретаций> qualité, en fonction du "système de coordonnées" spécifique. Beaucoup de ces points de vue doivent être discutés et définis au stade de l'élaboration des exigences d'un produit logiciel. Les caractéristiques de qualité peuvent être requises à des degrés divers, peuvent être absentes ou peuvent imposer certaines exigences, qui peuvent toutes être le résultat d'un certain compromis.

Le coût de la qualité peut être différencié en:

  • coût d'avertissement<дефектов> (coût de prévention),
  • coût d'évaluation,
  • coût de défaillance interne,
  • coût de défaillance externe.

Force motrice projets de programme est le désir de créer un logiciel qui a une certaine valeur. La valeur des logiciels peut ou non être exprimée en termes de valeur. Le client a généralement sa propre idée du coût d'investissement maximal, qui devrait être rentabilisé si les principaux objectifs du développement logiciel sont atteints. Le client peut également avoir certaines attentes concernant la qualité du logiciel. Parfois, les clients ne pensent pas aux problèmes de qualité et aux coûts associés. Les caractéristiques de qualité sont-elles purement décoratives ou font-elles toujours partie intégrante du logiciel? La réponse se situe probablement quelque part entre les deux, comme c'est presque toujours le cas dans de tels cas, et fait l'objet de discussions sur le degré d'implication du client dans le processus de prise de décision et sur la pleine compréhension par le client des coûts et des avantages associés à l'atteinte d'un niveau de qualité particulier. Dans l'idéal, la plupart de ces décisions devraient être prises pendant le processus des exigences, mais ces problèmes peuvent être soulevés tout au long du cycle de vie du logiciel. Il n'y a pas<“стандартных”> règles sur la manière exacte dont ces décisions doivent être prises. Cependant, les ingénieurs doivent être capables d'imaginer les différentes alternatives et leurs coûts.

Modèles et caractéristiques de qualité

L'ISO / CEI définit trois modèles de qualité logicielle associés (ISO 9126-01 Génie logiciel - Qualité des produits, Partie 1: Modèle de qualité):

  • qualité interne,
  • qualité externe et
  • qualité pendant le fonctionnement, ainsi qu'un ensemble de travaux pertinents pour évaluer la qualité des logiciels (ISO14598-98 Software Product Evaluation).

Qualité des processus de génie logiciel

Gestion de la qualité et qualité des processus de génie logiciel sont directement liés à la qualité du produit logiciel créé.

Il existe deux normes principales pour la qualité des logiciels.

  • TickIT - concerne la prise en compte du système général de management de la qualité ISO 9001-00 dans l'application aux projets logiciels.
  • Un autre standard important est CMMIdiscuté dans le domaine de connaissance des processus de génie logiciel fournit des recommandations pour l'amélioration des processus. Les domaines de processus (domaines de compétence) de CMMI sont directement liés à la gestion de la qualité:
    • assurance qualité des processus et des produits (catégorie de processus CMMI «Support»),
    • vérification (vérification, catégorie «Ingénierie») et
    • certification (validation, catégorie «Ingénierie»).

Dans le même temps, CMMI classe la revue et audit en tant que méthodes de vérification, mais pas en tant que processus indépendants.

Ces normes sont néanmoins considérées comme complémentaires et que la certification ISO 9001 permet d'atteindre les niveaux de maturité CMMI seniors.

Qualité des produits logiciels

Tout d'abord, les ingénieurs doivent déterminer le but de la création de logiciels. Dans ce contexte, il est particulièrement important de se rappeler que les exigences du client sont primordiales et contiennent des exigences en termes de qualité, pas seulement de fonctionnalité (exigences fonctionnelles). Ainsi, les ingénieurs ont la responsabilité d'extraire les exigences de qualité qui ne sont pas toujours présentées explicitement, et de discuter de leur importance et de la difficulté de les atteindre. Tous les processus associés à la qualité (par exemple l'assemblage, l'inspection et l'amélioration de la qualité) doivent être conçus avec ces exigences à l'esprit et entraîner des coûts supplémentaires (en tant qu'élément important du coût du logiciel).

ISO 9126-01 (Génie logiciel - Qualité des produits, Partie 1: Modèle de qualité) définit, pour deux des trois modèles qui y sont décrits, des caractéristiques et des «sous-caractéristiques» de qualité associées, ainsi que des métriques utiles pour évaluer la qualité des produits logiciels.

La compréhension du terme «produit» est élargie pour inclure tous les artefacts générés en sortie par tous les processus utilisés pour créer le produit logiciel final. Les exemples de produits sont (mais ne sont pas limités à):

  • spécification complète des exigences du système,
  • spécification des exigences logicielles pour les composants logiciels d'un système (spécification des exigences logicielles, SRS),
  • des modèles,
  • documentation de test,
  • rapports générés à la suite d'un travail d'analyse de la qualité.

Bien que le terme qualité soit le plus couramment utilisé pour désigner le produit final et le comportement du système pendant le fonctionnement, il est de bonne pratique technique d'exiger que la conformité aux caractéristiques de qualité spécifiées soit évaluée pour les résultats intermédiaires / les produits du cycle de vie dans tous les processus de génie logiciel.

Amelioration de la qualite

La qualité du logiciel peut être améliorée grâce à un processus itératif d'amélioration continue. Cela nécessite contrôle, coordination et retour d'information dans le processus de gestion de nombreux processus exécutés simultanément:

  1. les processus du cycle de vie,
  2. le processus de détection, d'élimination et de prévention des pannes / défauts et
  3. processus d'amélioration de la qualité.

Les théories et les concepts sont applicables au génie logiciel, amélioration de la qualité sous-jacente. Par exemple, la prévention et le diagnostic précoce des erreurs, l'amélioration continue et l'orientation client, constituent le principe de «construire dans la qualité». Ces concepts sont basés sur le travail d'experts qualité qui en sont venus à croire que la qualité d'un produit est directement liée à la qualité des processus utilisés pour le créer.

Approches telles que TQM (Gestion de la qualité totale) et PDCA (Planifier, Faire, Vérifier, Agir - Planification, Action, Contrôle, Réponse / Ajustement) sont des outils pour atteindre les objectifs de qualité. Le support de gestion aide à exécuter les processus, à évaluer les produits et à obtenir toutes les données nécessaires. De plus, le programme d'amélioration en cours d'élaboration est généralement ciblé et couvre le travail d'une unité ou d'une organisation dans son ensemble) identifie en détail toutes les actions et projets à améliorer<отдельных аспектов деятельности> dans un certain laps de temps pour lequel de tels projets peuvent être réalisés avec la solution réussie des tâches correspondantes. Dans le même temps, le soutien de la direction signifie que tous les projets d'amélioration disposent de ressources suffisantes pour atteindre leurs objectifs. Le soutien à la direction est étroitement lié à la mise en œuvre d'une interaction active au sein de l'équipe, et doit empêcher l'émergence de problèmes potentiels (et une opposition passive voire active à la mise en œuvre du programme d'amélioration ou de ses projets individuels). La formation de groupes de travail, le soutien des cadres intermédiaires et des ressources dédiées au niveau du projet sont abordés dans le domaine de connaissances «Processus de génie logiciel».

Processus de qualité des logiciels

Gestion de la qualité des logiciels (SQM) s'applique à tous les aspects des processus, des produits et des ressources. SQM définit les processus, les propriétaires de processus, ainsi que les exigences pour les processus, les mesures des processus et leurs résultats, ainsi que les canaux de rétroaction.

Les processus de gestion de la qualité contiennent de nombreuses activités. Certains d'entre eux vous permettent de trouver directement les défauts, tandis que d'autres aident à déterminer exactement où il peut être important de mener des recherches plus détaillées, après quoi, encore une fois, un travail est effectué pour détecter directement les erreurs. De nombreuses actions peuvent également être menées pour atteindre ces objectifs et d’autres.

La planification de la qualité des logiciels comprend:

  1. Détermination du produit requis en termes de caractéristiques de qualité.
  2. Processus de planification pour obtenir le produit requis.

Ces processus diffèrent des processus SQM en soi, qui, à leur tour, visent à évaluer les caractéristiques de qualité planifiées, et non à la mise en œuvre réelle de ces plans. Les processus de gestion de la qualité doivent aborder les questions de savoir dans quelle mesure un produit répondra aux besoins des clients et des parties prenantes, aura de la valeur pour le client et les parties prenantes, et la qualité requise pour répondre aux exigences logicielles énoncées.

SQM peut être utilisé pour évaluer les produits finaux et intermédiaires. Certains des processus SQM spécialisés sont définis dans la norme 12207:

  • Processus d'assurance qualité;
  • Processus de vérification;
  • Processus de validation;
  • Processus d'examen conjoint;
  • Processus d'audit

Tous ces processus soutiennent la recherche de la qualité et, en outre, aident à trouver erreurs possibles... Cependant, ils diffèrent dans ce sur quoi ils se concentrent.

Les processus SQM se composent de tâches et de techniques, conçu pour évaluer comment les plans logiciels démarrent et dans quelle mesure les produits intermédiaires et finaux répondent aux exigences spécifiées. Les résultats de ces tâches sont communiqués aux gestionnaires avant que les mesures correctives appropriées ne soient prises. Le processus SQM est géré avec la certitude que les données de rapport sont exactes.
Comme décrit dans ce domaine de connaissances, les processus SQM sont étroitement liés. Ils peuvent se chevaucher et parfois même se chevaucher. Ils semblent être de nature réactive, en ce sens qu'ils considèrent les processus dans le contexte de la pratique reçue et des produits déjà fabriqués. Cependant, ils jouent un rôle majeur dans la phase de planification, étant proactifs en tant que processus et procédures nécessaires pour atteindre les caractéristiques et les niveaux de qualité exigés par les parties prenantes.<проекта> Logiciel.

La gestion des risques peut également jouer un rôle important dans la fourniture de logiciels de qualité. Inclusion d'une analyse des risques «régulière» (en tant que permanente, non périodique; dans l'original - disciplinée) et<соответствующих> technicien contrôle<рисками> dans le cycle de vie du logiciel, les processus peuvent augmenter le potentiel de production d'un produit de qualité. Pour plus d'informations sur la gestion des risques, consultez la zone de connaissances sur la gestion du génie logiciel.

Assurance qualité logicielle (SQA)

Processus SQA Fournir la confirmation que les produits logiciels et les processus du cycle de vie des projets répondent aux exigences spécifiées. Cette confirmation est effectuée sur la base de la planification (planification), de l'établissement<работ> (adopter) et réaliser (exécuter) un ensemble d'actions visant à garantir que la qualité devienne partie intégrante du logiciel.
Un tel point de vue implique une formulation claire et précise du problème, ainsi que le fait que les exigences pour le correspondant sont définies et clairement exprimées, complètes et interprétables sans ambiguïté.<программному> décision. SQA s'engage à assurer la qualité dans le processus de développement et de maintenance en effectuant diverses actions à toutes les étapes<жизненного цикла>, qui vous permet d'identifier les problèmes à un stade précoce, qui sont presque inévitables dans toute activité complexe.

Gestion des risques est un outil supplémentaire sérieux pour l'assurance qualité des logiciels.

SQA, tel que formulé par SWEBOK, se concentre sur les processus. Le rôle de l'AQS est de s'assurer que les processus sont planifiés de manière appropriée, que les processus continuent d'être exécutés sur la base du plan spécifié, que les mesures de processus nécessaires sont effectuées et que les résultats des mesures sont communiqués aux parties prenantes (structures organisationnelles et individus).

Plan SQA définit les moyens qui seront utilisés pour garantir que le produit en cours de développement répond aux exigences spécifiées des utilisateurs avec le plus haut niveau de qualité possible dans les contraintes de conception données.

Pour y parvenir, il est tout d'abord nécessaire que les objectifs de qualité soient clairement définis et compris (et aussi, sans ambiguïté, interprétables, ce qui est une condition préalable à tous les objectifs et exigences correspondantes). Cela doit nécessairement être reflété dans les plans de gestion pertinents.<проектом>, développement et maintenance.

Les tâches spécifiques de travail et d'assurance qualité sont structurées, détaillant les exigences pour leur coût et les ressources associées, les objectifs de gestion et un calendrier approprié dans le contexte des objectifs fixés par les plans de gestion, de développement et de maintenance. Le plan AQS identifie les documents, normes, pratiques et conventions qui seront appliqués pour superviser le projet, et comment ces aspects seront vérifiés et surveillés pour s'assurer qu'ils sont adéquats et conformes au plan.
Le plan SQA identifie les mesures, les techniques statistiques, les procédures pour signaler les problèmes et prendre des mesures correctives, telles que les outils, les techniques et les méthodologies, les problèmes de sécurité des supports physiques, la formation, les rapports et la documentation liés aux problèmes d'AQS.

En outre, la SQA traite également des questions d'assurance qualité liées à d'autres types d'activités décrites dans<различных> les plans de création de logiciels, qui comprennent également la fourniture, l'installation, la maintenance de solutions logicielles personnalisées et / ou répliquées / prêtes à l'emploi (commerciales standard, COTS) nécessaires à ce projet logiciel. La SQA peut inclure des critères d'acceptation des logiciels et des activités de reporting et de gestion nécessaires à l'assurance qualité.<и контролю над> travaux.

Vérification et validation (V&V)

La validation et la validation de logiciels est une approche disciplinée de l'évaluation des produits logiciels qui est appliquée tout au long du cycle de vie. Les efforts de vérification et de validation visent à garantir la qualité en tant que caractéristique intégrale du logiciel et à répondre aux exigences des utilisateurs.
V&V traite directement les problèmes de qualité des logiciels et utilise des techniques de test appropriées pour détecter certains défauts. Cependant, V&V peut être utilisé pour des produits intermédiaires dans la mesure où cela correspond à des "étapes" intermédiaires<соответствующих> processus du cycle de vie.

Le processus V&V détermine dans quelle mesure le produit (résultat) de certains travaux de développement et de maintenance répond aux exigences formulées dans le cadre de ces travaux, et le produit final répond aux objectifs spécifiés et aux exigences des utilisateurs.

Vérification - une tentative d'assurer le bon développement du produit (le produit est construit de manière correcte; généralement pour l'intermédiaire, parfois pour le produit final), en ce sens que le produit obtenu dans le cadre de l'activité concernée répond aux spécifications fixées dans l'activité précédente.
Attestation - une tentative d'assurer la création du bon produit (le bon produit est construit; généralement dans le contexte du produit final), en termes de réalisation de l'objectif fixé.

Les deux processus - vérification et validation - commencer dès les premiers stades de développement et de maintenance. Ils fournissent des recherches (expertise) opportunités clés produit, à la fois dans le cadre des résultats immédiatement précédents (produits intermédiaires) et en termes de satisfaction des spécifications pertinentes. Le but de la planification V&V est de fournir aux processus de vérification et de validation les ressources nécessaires, d'attribuer clairement les rôles et les responsabilités. Les documents du plan V&V qui en résultent et<детально> décrit les diverses ressources, rôles et activités, ainsi que les techniques et outils utilisés.
Le plan traite également des aspects de la gouvernance, de la communication (interaction), des politiques et procédures pour les activités de vérification et de validation et de leurs interactions. En outre, cela peut refléter des problèmes de rapports sur les défauts et les exigences de documentation.

Examen et audits

Cinq types d'évaluations et d'audits:

  • Revues de direction
  • Revues techniques
  • Inspections
  • Visites guidées
  • Audits (audtis)

Avis de gestion

Le but des évaluations de gestion est de suivre le développement<проекта/продукта>, définir l'état des plans et des calendriers, approuver les exigences et allouer les ressources, ou évaluer l'efficacité des approches de gestion utilisées pour atteindre les objectifs fixés.

Les évaluations de la direction soutiennent les décisions de faire des changements et de prendre des mesures correctives au besoin pendant l'exécution d'un projet logiciel.

Les évaluations de la direction déterminent la pertinence des plans, des calendriers et des exigences tout en surveillant leur progrès ou leur non-conformité. Ces évaluations peuvent être effectuées sur une base spécifique au produit, étant enregistrées sous forme de rapports d'audit, de rapports d'état (développement), de rapports V&V et de différents types de plans - gestion des risques de projet / gestion de projet, gestion de la configuration, sécurité<использования> logiciel (sécurité), évaluation des risques, etc.

Examens techniques

Le but des évaluations techniques est d'étudier un produit logiciel pour déterminer son adéquation à l'usage auquel il est destiné. Le but est d'identifier les écarts par rapport aux spécifications et normes approuvées. Pour assurer les évaluations techniques, les rôles suivants doivent être attribués: décideur; responsable de la revue; enregistreur (enregistreur); ainsi que du personnel technique soutenant (exécutant directement) les activités d'évaluation.

Une évaluation technique nécessite, sans faute, les apports suivants:

  • Énoncés d'objectifs
  • Produit logiciel spécifique (en cours d'évaluation)
  • Un plan de projet donné (plan de gestion de projet)
  • Liste des problèmes (questions) associés au produit
  • Procédures d'évaluation technique

Commander<технической оценки> suit la procédure d'évaluation spécifiée. Des personnes qualifiées (d'un point de vue technique) présentent la vue d'ensemble du produit (représentant l'équipe de développement). Étude<продукта> tenue lors d'une ou plusieurs réunions (entre ceux qui présentent le produit et ceux qui fournissent l'évaluation). L'évaluation technique est terminée une fois que toutes les activités de recherche prescrites sont terminées.

Inspections

Le but des inspections est de détecter et d'identifier les anomalies dans un produit logiciel. Il existe deux différences majeures entre les inspections et les évaluations (managériales et techniques):

  1. Les personnes occupant des postes de direction (gestionnaires) par rapport à des membres de l'équipe d'inspection ne devraient pas participer aux inspections.
  2. L'inspection doit être dirigée par un leader impartial (indépendant du projet et de ses objectifs) formé aux techniques d'inspection.

L'inspection du logiciel implique toujours les auteurs du produit intermédiaire ou final, par opposition aux évaluations qui ne l'exigent pas nécessairement. Les inspections (en tant qu'unités organisationnelles temporaires - groupes, équipes) comprennent un chef, un registraire, un examinateur et plusieurs inspecteurs (de 2 à 5). Les membres de l'équipe d'inspection peuvent se spécialiser dans différents domaines d'expertise (avoir différents domaines d'expertise), par exemple, le domaine, les méthodes de conception, la langue, etc. À un moment donné (intervalle) de temps, les inspections sont effectuées par rapport à un petit fragment distinct du produit (dans la plupart des cas, en se concentrant sur des caractéristiques fonctionnelles individuelles ou autres; souvent, à partir de règles commerciales individuelles, d'exigences fonctionnelles ou d'attributs de qualité, note de l'auteur). Chaque membre de l'équipe doit enquêter sur le logiciel et les autres intrants avant la réunion d'inspection, peut-être en appliquant certaines techniques analytiques à de petits fragments du produit ou au produit en général, en ne considérant dans ce dernier cas qu'un seul aspect de celui-ci, par exemple les interfaces. Toute anomalie trouvée doit être documentée et les informations communiquées au responsable de l'inspection. Lors de l'inspection, l'animateur dirige la séance<инспекции> et vérifie que tout<члены команды> préparé pour l'inspection.

Un outil couramment utilisé lors de l'inspection est une liste de contrôle contenant les anomalies et les questions liées aux aspects<программного продукта>d'intérêt. La feuille résultante classera souvent les anomalies et sera évaluée par l'équipe pour son exhaustivité et sa précision. La décision de terminer une inspection est prise conformément à l'un des trois critères suivants:

  1. Adoption<продукта> avec peu ou pas besoin de traitement
  2. Adoption<продукта> avec contrôle des fragments retravaillés
  3. La nécessité d'une réinspection

Les réunions d'inspection durent généralement plusieurs heures, contrairement aux évaluations et audits techniques, qui dans la plupart des cas impliquent plus de travail et prennent donc plus de temps.

Visites guidées

Le but de l'analyse est d'évaluer un produit logiciel. La course peut être menée dans le but de familiariser (former) le public avec le produit logiciel.

Les principaux objectifs du balayage sont:

  • Recherche d'anomalies
  • Amélioration du produit
  • Discussion sur d'autres modes de mise en œuvre
  • Évaluation de la conformité aux normes et spécifications

Un entraînement est similaire à une inspection, mais il est généralement effectué de manière moins formelle. Fondamentalement, la course est organisée par des ingénieurs pour les autres membres de l'équipe afin d'obtenir des commentaires de leur part sur leur travail, comme l'un des éléments (techniques) de l'assurance qualité.

Audits

Objectif de l'audit logiciel est une évaluation indépendante des produits logiciels et des processus de conformité aux réglementations, normes, directives, plans et procédures applicables.

Un audit est une activité officiellement organisée dans laquelle les participants remplissent des rôles spécifiques tels qu'un auditeur principal, un autre auditeur, un enregistreur et un initiateur. Un représentant de l'organisation / unité organisationnelle évaluée participe à l'audit. À la suite de l'audit, les cas de non-conformité sont identifiés et un rapport est généré dont l'équipe a besoin<разработки> prendre des mesures correctives.

Bien qu'il existe différents noms formels (et classifications) pour les évaluations et les audits, il est important de noter que ce type d'activité peut être réalisé pour presque tous les produits à n'importe quelle étape du processus de développement ou de maintenance.

Considérations pratiques

Exigences de qualité du logiciel

Facteurs d'influence

La planification, la gestion et la sélection des actions et techniques SQM sont influencées par divers facteurs, notamment:

  • La portée du système dans lequel le logiciel sera exécuté (critique pour la sécurité<людей>) critique pour les affaires, etc.)
  • Exigences système et logiciel
  • Quels composants sont utilisés dans le système - commercial (externe) ou standard (interne)
  • Quelles normes de génie logiciel s'appliquent dans un contexte donné
  • Quelles sont les méthodes et les outils logiciels utilisés pour le développement et la maintenance, ainsi que pour l'assurance et l'amélioration de la qualité (produit et processus)
  • Budget, personnel, organisation des activités du projet, plans et calendriers pour tous les processus
  • Qui sont les utilisateurs cibles et quel est le but du système
  • Niveau d'intégrité du système

Les informations sur ces facteurs influencent la manière exacte dont les processus SQM seront organisés et documentés, quel travail SQM sera sélectionné (normalisé au sein du projet, de l'équipe, de l'unité organisationnelle, de l'organisation), quelles ressources sont nécessaires et quelles sont les contraintes imposées aux efforts dirigés pour l'assurance qualité.

Fiabilité

garantie - garantie<высокой> fiabilité, protection contre les pannes.
Dans les cas où une défaillance du système peut avoir des conséquences extrêmement graves (ces systèmes sont parfois appelés dans les sources anglophones «haute confiance» ou «système à haute intégrité», en russe, ils sont parfois appelés «systèmes de fiabilité améliorée», «haute disponibilité» et etc.), la fiabilité globale (agrégée) du système (en tant que combinaison de matériel, de logiciels et d'humains) est l'exigence de qualité principale et prioritaire par rapport à la fonctionnalité principale<системы>.

Fiabilité le logiciel comprend des caractéristiques telles que la protection contre les pannes (tolérance aux pannes), la sécurité d'utilisation (sûreté - sûreté dans le contexte d'un risque acceptable pour la santé des personnes, des entreprises, des biens, etc.), la sécurité ou la sécurité des informations (sécurité - protection des informations contre les opérations non autorisées, y compris l'accès en lecture, ainsi qu'une garantie de disponibilité des informations aux utilisateurs autorisés, dans la mesure des droits qui leur sont attribués), ainsi que la commodité et la facilité d'utilisation (convivialité). La fiabilité est également un critère qui peut être défini en termes de fiabilité.

La littérature abondante sur les systèmes à fiabilité accrue joue un rôle essentiel dans la discussion de cette question. Dans le même temps, on utilise une terminologie issue du domaine des systèmes mécaniques et électriques traditionnels (y compris ceux qui n'incluent pas de logiciel) et décrit les concepts de danger, de risques, d'intégrité des systèmes, etc.

Niveaux d'intégrité du logiciel

Niveau d'intégrité du logiciel est déterminée en fonction des conséquences possibles d'une défaillance logicielle et de la probabilité qu'une telle défaillance se produise. Lorsque divers aspects de la sécurité (sécurité des applications et de l'information) sont importants, les techniques d'analyse des dangers (dans le contexte de la sécurité d'utilisation, de la sûreté) et de l'analyse des menaces (dans la sécurité de l'information, la sécurité) peuvent être utilisées dans l'élaboration de plans de travail dans le domaine de l'identification des sources possibles d'accidents. L'historique des pannes de systèmes similaires peut également aider à identifier les techniques les plus utiles pour détecter les pannes et<всесторонней> évaluation de la qualité des logiciels.

Lors de l'examen plus détaillé de l'intégrité du logiciel dans le contexte de projets spécifiques, il est nécessaire d'accorder une attention particulière (en allouant les ressources appropriées et en effectuant le travail nécessaire) non seulement aux processus SQM (en particulier les processus formels, y compris l'audit et l'attestation), mais aussi aux aspects de la gestion des exigences (en termes de critères intégrité), la gestion des risques (y compris la planification des risques à la fois au stade du développement et au stade de l'exploitation et de la maintenance du système), la conception (qui, pour augmenter la fiabilité, implique nécessairement une analyse approfondie et une vérification des solutions architecturales et technologiques envisagées, par la création de projets pilotes, stands de démonstration, etc.) et de tests (pour fournir une étude complète des caractéristiques comportementales du système, y compris l'émulation de l'environnement de travail / configuration dans lequel le système doit être utilisé pendant le fonctionnement).

Caractérisation des défauts

Les processus SQM permettent de détecter les défauts. La description des caractéristiques des défauts joue un rôle majeur dans la compréhension du produit, facilite l'ajustement du processus ou du produit, et informe également les chefs de projet et les clients sur le statut (état) du processus ou du produit. Il existe de nombreuses taxonomies (classifications et méthodes de structuration) des défauts (pépins). La caractérisation des défauts (anomalies) est également utilisée dans les audits et les évaluations, lorsque le responsable de l'évaluation présente souvent une liste des anomalies générées par les membres de l'équipe d'évaluation pour discussion lors des réunions appropriées.

Dans le contexte de l'évolution (et de l'émergence de nouveaux) des méthodes et langages de conception, ainsi que de technologies logicielles, de nouvelles classes de défauts apparaissent. Cela nécessite un effort considérable pour interpréter (et corriger) les classes de défauts (défaillances) précédemment identifiées. Lors du suivi des défauts, l'ingénieur s'intéresse non seulement à leur nombre, mais aussi à leur type. La répartition des défauts par type est particulièrement importante pour déterminer les éléments les plus faibles du système, en termes de technologies et de solutions architecturales utilisées, ce qui conduit à la nécessité d'une étude approfondie, la création de projets pilotes spécialisés, une preuve de concept supplémentaire (POC est une approche fréquemment utilisée lors de l'utilisation nouvelles technologies), attirer des experts tiers, etc. Les informations en elles-mêmes, sans classification, sont souvent simplement inutiles pour détecter les causes des pannes, car pour trouver des solutions aux problèmes, elles doivent être regroupées selon les types appropriés. La question est de définir une taxonomie des défauts qui soit significative pour les ingénieurs et l'organisation dans son ensemble.

SQM recueille des informations à toutes les étapes du développement et de la maintenance du logiciel. Habituellement, lorsque nous disons «défaut», nous entendons «échec», tel que défini ci-dessous. Cependant, différentes cultures et normes peuvent impliquer des significations différentes pour ces termes.

Les définitions partielles des concepts de ce type sont les suivantes:

  • Erreur: "La différence ... entre un résultat correct et un résultat calculé<полученным с использованием программного обеспечения>”
  • Inconvénient (faute): "Étape, processus ou définition de données incorrecte dans un programme informatique"
  • Échec: “<Некорректный> résultat obtenu suite à une carence "
  • Erreur humaine / utilisateur: "Action humaine qui a conduit à un résultat incorrect"

Lors de la discussion de ce sujet, un défaut est le résultat d'une défaillance logicielle. Les modèles de fiabilité sont construits sur la base des données d'accident collectées lors des tests ou de l'utilisation du logiciel. Ces modèles peuvent être utilisés pour prédire les échecs futurs et aider à décider d'arrêter les tests.

Sur la base des résultats des travaux SQM visant à détecter les défauts, des mesures sont prises pour éliminer les défauts du produit à l'étude. Cependant, ce n’est pas la fin. Il existe d'autres actions possibles pour tirer pleinement parti des résultats des travaux pertinents de SQM. Parmi eux - analyse et résumé (résumé)<по обнаруженным несоответствиям/дефектам>, en utilisant des techniques de quantification (obtention de métriques) pour améliorer le produit et le processus, en suivant les défauts et en les supprimant du système (avec un contrôle managérial et technique sur la mise en œuvre des actions correctives nécessaires). À son tour, la source d'informations pour améliorer le processus, en particulier, est le processus SQM.

Les non-conformités et les défauts constatés lors de la mise en œuvre des techniques SQM pertinentes doivent être enregistrés pour éviter les pertes. Pour certains techniciens (par exemple, évaluation technique, audit, inspections), la présence d'un enregistreur (enregistreur) est obligatoire, précisément pour enregistrer ces informations, ainsi que les problèmes (y compris ceux nécessitant un examen supplémentaire) et les décisions prises. Dans les cas où des outils d'automatisation appropriés sont utilisés, ils peuvent également fournir les informations de sortie nécessaires sur les défauts (par exemple, des statistiques récapitulatives sur l'état des défauts, les exécuteurs responsables, etc.). Les données sur les défauts peuvent être collectées et enregistrées sous la forme de demandes de changement de logiciel (SCR) et peuvent ensuite être saisies dans certains types de bases de données (par exemple, afin de suivre les statistiques inter-projets / historiques pour une analyse plus approfondie et l'amélioration des processus), manuellement et automatiquement à partir des outils d'analyse appropriés (un certain nombre d'outils de conception modernes et d'outils spécialisés vous permettent d'analyser le code et les modèles en utilisant les métriques appropriées qui sont importantes pour garantir la qualité des produits et des processus). Les rapports de défauts sont envoyés au niveau de direction de l'organisation / unité organisationnelle ou structure (pour prendre les décisions appropriées concernant le projet, le produit, le processus, le personnel, le budget, etc.).

Techniques de gestion de la qualité des logiciels

Les techniques SQM peuvent être classées en plusieurs catégories:

  • statique
  • techniques nécessitant une utilisation intensive des ressources humaines
  • analytique
  • dynamique

Techniques statiques

Les techniques statiques supposent<детальное> examen de la documentation du projet, des logiciels et d'autres informations sur un produit logiciel sans son exécution. Ces techniques peuvent inclure d'autres activités d'évaluation «collective» ou d'analyse «individuelle» décrites ci-dessous, quel que soit le degré d'automatisation utilisé.

Techniques à forte intensité humaine

La forme de ce type de technique, y compris l'évaluation et l'audit, peut aller de réunions formelles à des réunions informelles ou à des discussions sur les produits sans même se référer à son code. Habituellement, ce type de technique implique l'interaction en face à face d'au moins deux, et dans la plupart des cas, plus de spécialistes. Dans le même temps, de telles réunions peuvent nécessiter une préparation préalable (concernant presque toujours la définition du contenu des réunions, c'est-à-dire la liste des questions à discuter). Les ressources utilisées dans ces techniques, ainsi que les artefacts étudiés (produit, documentation, modèles, etc.), peuvent inclure divers types de listes de contrôle et les résultats des techniques analytiques (discutées ci-dessous) et des activités de test. Ces techniques sont discutées, par exemple, dans 12207 lors de l'examen de l'examen et de l'audit.

Techniques analytiques

Les ingénieurs en logiciel ont tendance à utiliser des techniques analytiques. Du point de vue des méthodes et approches Agiles, les individus et les interactions supposent<непосредственное> communication et interaction constante des membres de l'équipe.

Parfois, plusieurs ingénieurs utilisent la même technique, mais sur différentes parties du produit. Certaines techniques sont basées sur les spécificités des outils utilisés, tandis que d'autres impliquent un travail «manuel». Beaucoup peuvent aider à trouver des défauts directement, mais le plus souvent, ils sont utilisés pour soutenir d'autres techniques. Un certain nombre de techniques incluent également des évaluations de divers types dans le cadre de l'analyse globale de la qualité. Des exemples de telles techniques sont l'analyse de complexité, l'analyse de flux de contrôle (ou analyse de flux de contrôle) et l'analyse algorithmique.

Chaque type d'analyse a un objectif spécifique et tous les types ne sont pas applicables à chaque projet. Un exemple de technique de maintenance est l'analyse de complexité, qui est utile pour identifier les éléments de conception de système qui sont trop complexes pour être mis en œuvre, testés ou entretenus correctement. Le résultat de l'analyse de complexité peut également être utilisé pour développer des cas de test (cas de test). Des techniques de recherche de défauts telles que l'analyse logique de commande peuvent également être utilisées dans d'autres cas. Pour les logiciels avec une logique algorithmique étendue, il est extrêmement important d'appliquer des techniques algorithmiques, en particulier dans les cas où un algorithme incorrect (et non sa mise en œuvre, à savoir la logique, note de l'auteur) peut conduire à des résultats désastreux (par exemple, un logiciel avionique pour lequel des problèmes de sécurité utilisation - la sécurité joue un rôle déterminant).

D'autres types plus formels de techniques analytiques sont connus sous le nom de méthodes formelles. Ils sont utilisés pour valider les exigences et la conception (certes, seulement occasionnellement, dans la pratique actuelle du développement de logiciels industriels aujourd'hui). La validation est appliquée aux logiciels critiques (ce qui, en général, n'a pas grand-chose à voir avec les méthodes formelles - c'est un moyen naturel d'obtenir une qualité acceptable tout en minimisant les coûts). Ils sont le plus souvent utilisés pour vérifier les parties critiques des systèmes critiques, par exemple des exigences spécifiques.<информационной> sécurité et fiabilité.

Techniques dynamiques

Dans le processus de développement et de maintenance de logiciels, il faut se tourner vers divers types de techniques dynamiques. Fondamentalement, ce sont des techniques de test. Cependant, les techniques de simulation, de vérification de modèle et d'exécution symbolique peuvent être considérées comme des techniques dynamiques, impliquant souvent l'utilisation de modules factices du point de vue de la logique exécutable, avec des entrées et sorties émulées lorsque l'on considère le scénario général du comportement des systèmes multi-modules; parfois ce terme fait également référence à d'autres techniques, selon la source choisie).

L'affichage (la lecture) du code est généralement considéré comme une technique statique, mais un ingénieur expérimenté peut exécuter le code directement «en cours» de lecture (par exemple, en utilisant des outils de débogage interactifs étape par étape pour familiariser ou évaluer le code de quelqu'un d'autre). Ainsi, cette technique peut très bien être considérée comme dynamique. Ces divergences dans la classification des techniques montrent clairement qu'en fonction du rôle de la personne dans l'organisation, elle peut accepter et appliquer les mêmes techniques de différentes manières.

Selon l'organisation<ведения> du projet, certaines activités de test peuvent être effectuées pendant le développement de systèmes logiciels dans les processus SQA et V&V. Étant donné que le plan SQM résout les problèmes de test, cette rubrique inclut des commentaires sur les tests.

Essai

Processus de confirmation<качества> décrit dans SQA et V&V<планах>, étudier et évaluer tout produit de sortie (y compris intermédiaire et final) associé à la spécification des exigences logicielles pour:

  • traçabilité,
  • cohérence,
  • l'exhaustivité,
  • exactitude
  • et exécutant directement<требований> (performance).

Cette confirmation couvre également tous les artefacts de sortie provenant du développement et de la maintenance, de la collecte, de l'analyse et de la quantification des résultats. Les activités d'AQS fournissent l'assurance que les types de tests appropriés (nécessaires dans un contexte de projet donné) sont planifiés, développés et mis en œuvre, et V&V - développement de plans de test, stratégies, scénarios et procédures<тестирования>.
Les problèmes de test sont traités en détail dans la zone de connaissances des tests. Deux types de tests suivent les objectifs de la SQA et V&V car ils sont responsables de la qualité des données utilisées dans le projet:

  • Évaluation et test des outils utilisés dans le projet
  • Tests de conformité (ou évaluation des tests de conformité) des composants et des produits COTS (COTS - produit commercial du rayon, prêt à l'emploi) à utiliser dans le produit en cours de création.

Parfois, des organisations indépendantes de V&V peuvent exiger la capacité de surveiller le processus de test et, dans certains cas, de certifier (ou, plus souvent, de documenter / enregistrer) la mise en œuvre réelle.<тестов> pour leur mise en œuvre conformément aux procédures spécifiées. En revanche, un appel au V&V peut être fait, il peut viser à évaluer le test lui-même: la suffisance des plans et des procédures, la cohérence et l'exactitude des résultats.

Un autre type de test effectué sous la supervision d'une organisation V&V est le test par un tiers. Ce tiers n'est pas lui-même le développeur du produit et n'est en aucun cas associé au développeur du produit. De plus, un tiers est une source d'évaluation indépendante, généralement accréditée pour avoir l'autorité appropriée (par exemple, l'organisation de développement d'une norme dont la conformité est évaluée par un expert indépendant et dont les actions sont confirmées par le créateur de la norme). Le but de ce type de test est de vérifier que le produit est conforme à un ensemble d'exigences spécifiques (par exemple, la sécurité de l'information).

Mesure de la qualité du logiciel

Les modèles de qualité des logiciels incluent souvent des métriques pour déterminer le niveau de chaque caractéristique de qualité d'un produit.

Si les caractéristiques de qualité sont choisies correctement, ces mesures peuvent maintenir la qualité (niveau de qualité) de plusieurs manières. Les métriques peuvent aider à guider la prise de décision. Les métriques peuvent aider à trouver les aspects problématiques et goulots d'étranglement dans les processus. Les métriques sont un outil pour évaluer la qualité de leur travail par les ingénieurs eux-mêmes - à la fois en termes d'objectifs définis par la SQA et en termes de processus d'amélioration à plus long terme.<достигаемого> qualité.
Avec l'augmentation de la complexité intrinsèque et de la sophistication des logiciels, les problèmes de qualité vont bien au-delà de l'énoncé des faits - que le logiciel fonctionne ou fonctionne-t-il. La question est de savoir dans quelle mesure les objectifs de qualité quantifiés sont atteints.

Plusieurs autres sujets sont abordés sur les métriques qui prennent directement en charge SQM. Il s'agit notamment d'aider à décider quand arrêter les tests. Dans ce contexte, les modèles de fiabilité et la comparaison avec des benchmarks (benchmarks) sont utiles.

Le coût du processus SQM est l'un des<проблемных> questions qui reviennent toujours dans le processus décisionnel sur la façon dont le projet sera organisé (travail de conception). Souvent, des modèles de coût génériques sont utilisés, basés sur la détermination du moment où un défaut est découvert et de l'effort nécessaire pour le réparer par rapport à la situation si le défaut a été détecté plus tôt dans le cycle de vie. Les données de conception peuvent aider à fournir une image plus claire des coûts.

Enfin, le reporting SQM lui-même contient des informations utiles non seulement sur les processus eux-mêmes (c'est-à-dire leur état actuel, note de l'auteur), mais également sur la façon dont vous pouvez améliorer tous les processus du cycle de vie.

Bien que, dans la mesure où les évaluations quantitatives (dans ce cas, nous parlons des résultats des évaluations, et non du processus de mesures) des caractéristiques de qualité peuvent être utiles en elles-mêmes (par exemple, le nombre d'exigences non satisfaites et la proportion de ces exigences), peuvent<эффективно> appliquer des techniques mathématiques et graphiques pour faciliter l'interprétation des valeurs métriques. De telles techniques sont tout naturellement classées, par exemple, comme suit:

  • Basé sur des méthodes statistiques (par exemple, analyse de Pareto, distribution normale, etc.)
  • Tests statistiques
  • Analyse de tendance
  • Prédiction (par exemple, modèles de fiabilité)

Les techniques statistiques et les tests statistiques fournissent souvent un aperçu des zones les plus problématiques du produit logiciel étudié (et, accessoirement, il en va souvent de même pour les processus). Les graphiques et tableaux qui en résultent aident visuellement les décideurs à identifier les domaines sur lesquels concentrer les ressources<проекта>... Les résultats de l'analyse des tendances peuvent indiquer que le calendrier n'est pas respecté, par exemple pendant les tests; ou que les plantages de certaines classes deviennent plus fréquents jusqu'à ce que des mesures correctives soient prises pendant le développement. Les techniques de prédiction aident à planifier les heures de test et à prévoir les échecs.

Caractéristiques de qualité du logiciel

Portabilité - Un ensemble d'attributs liés à la capacité des logiciels à être portés d'un environnement à un autre.
REMARQUE L'environnement peut inclure un environnement organisationnel, technique ou logiciel.

Fiabilité - Un ensemble d'attributs liés à la capacité du logiciel à maintenir son niveau de performance dans des conditions spécifiées pendant une période de temps spécifiée.

Remarques:

  1. Aucune usure ou vieillissement du logiciel ne se produit. Les contraintes de fiabilité proviennent d'erreurs dans les exigences, la conception et la mise en œuvre. Les échecs dus à ces erreurs varient en fonction de la manière dont le logiciel est utilisé et des versions du logiciel précédemment sélectionnées.
  2. Au sens de l'ISO 8402, la «fiabilité» est «la capacité d'un élément à exécuter une fonction requise». Dans cette norme, la fonctionnalité n'est qu'une des caractéristiques de la qualité logicielle. Par conséquent, la définition de la fiabilité a été étendue pour «maintenir son niveau de performance» au lieu de «exécuter la fonction requise».

Convivialité - Un ensemble d'attributs liés à l'étendue des travaux requis pour l'utilisation et à l'évaluation individuelle d'une telle utilisation par un ensemble défini ou prévu d'utilisateurs.

Remarques:

  1. Les «utilisateurs» peuvent être interprétés comme la majorité des utilisateurs directs de logiciels interactifs. L'éventail des utilisateurs peut inclure des opérateurs, des utilisateurs finaux et des utilisateurs indirects qui sont concernés par ce logiciel ou qui dépendent de son utilisation. La praticité doit être prise en compte dans les diverses conditions de fonctionnement des utilisateurs susceptibles d'affecter le logiciel, y compris la préparation à l'utilisation et l'évaluation des résultats.
  2. La praticité, définie dans cette norme comme un ensemble spécifique d'attributs pour les produits logiciels, diffère de la définition ergonomique, qui considère d'autres caractéristiques telles que l'efficacité et l'inefficacité comme faisant partie de la convivialité.

Maintenabilité - Un ensemble d'attributs liés à l'étendue des travaux requis pour effectuer des changements spécifiques (modifications).
REMARQUE Un changement peut inclure des correctifs, des améliorations ou des adaptations du logiciel aux changements de l'environnement, des exigences et des conditions de fonctionnement.

Fonctionnalité - Un ensemble d'attributs liés à l'essence d'un ensemble de fonctions et à leurs propriétés spécifiques. Les fonctions sont celles qui répondent aux besoins déclarés ou anticipés.

Remarques:

  1. Cet ensemble d'attributs caractérise ce que fait le logiciel pour répondre aux besoins, tandis que les autres ensembles décrivent principalement quand et comment cela est fait.
  2. Dans cette caractéristique, une note à la définition de la qualité est prise en compte pour les besoins déclarés et implicites.

Efficiences - Un ensemble d'attributs liés à la relation entre le niveau de performance du logiciel et la quantité de ressources utilisées dans des conditions spécifiées.
REMARQUE - Les ressources peuvent inclure d'autres produits logiciels, moyens techniques, les matériaux (par exemple papier d'impression, disquettes) et les services du personnel d'exploitation, d'accompagnement ou de maintenance.

Qualité des produits logiciels

Qualité du logiciel - l'ensemble des fonctionnalités et caractéristiques des produits logiciels liées à leur capacité à répondre à des besoins établis ou anticipés.

L'importance de chaque caractéristique de qualité varie en fonction de la classe de logiciel. Par exemple, la fiabilité est la plus importante pour les logiciels des systèmes critiques au combat, l'efficacité est la plus importante pour les logiciels des systèmes temps réel critiques et la convivialité est la plus importante pour les logiciels de dialogue utilisateur final.

L'importance de chaque caractéristique de qualité varie également en fonction des points de vue acceptés.

Vue utilisateur

Les utilisateurs sont principalement intéressés par l'application du logiciel, ses performances et ses résultats d'utilisation. Les utilisateurs évaluent le logiciel sans examiner ses aspects internes ou comment le logiciel a été créé.

L'utilisateur peut être intéressé par les questions suivantes:

  • Les fonctions requises sont-elles disponibles dans le logiciel?
  • Quelle est la fiabilité du logiciel?
  • Quelle est l'efficacité du logiciel?
  • Le logiciel est-il convivial?
  • Est-il facile de porter des logiciels et d'autres environnements?

Vue développeur

Le processus de conception exige que l'utilisateur et le développeur utilisent les mêmes caractéristiques de qualité du logiciel que celles utilisées pour établir les exigences et l'acceptation. Lors du développement de logiciels destinés à la vente, les exigences de qualité doivent refléter les besoins anticipés.

Les développeurs étant responsables de la création de logiciels qui doivent répondre aux exigences de qualité, ils s'intéressent à la qualité du produit intermédiaire ainsi qu'à la qualité du produit final. Afin d'évaluer la qualité des produits intermédiaires à chaque phase du cycle de développement, les développeurs doivent utiliser des métriques différentes pour les mêmes caractéristiques, car les mêmes métriques ne s'appliquent pas à toutes les phases du cycle de vie.

Par exemple, l'utilisateur comprend l'efficacité en termes de temps de réponse, tandis que le développeur utilise les termes longueur d'itinéraire et latence et temps d'accès dans la spécification de conception. Les métriques utilisées pour le frontal du produit sont remplacées par les métriques utilisées pour la structure.

Présentation de la tête

Le gestionnaire peut être plus intéressé par la qualité globale que par une caractéristique de qualité spécifique, et pour cette raison, il devra déterminer l'importance des valeurs qui reflètent les exigences de l'entreprise pour les caractéristiques individuelles.
Un gestionnaire peut également avoir besoin de comparer l'amélioration de la qualité à des critères de gérabilité, tels que les retards planifiés ou les dépassements de coûts, car il souhaite optimiser la qualité dans des limites de coûts, de main-d'œuvre et de délais.

Évaluation de la qualité des produits logiciels

La figure suivante résume les étapes de base requises pour évaluer la qualité du logiciel.

Figure "Modèle du processus d'évaluation"

Le processus d'évaluation comprend trois étapes: établissement (définition) des exigences de qualité, préparation de l'évaluation et procédure d'évaluation. Ce processus peut être appliqué à n'importe quelle phase appropriée du cycle de vie de chaque composant logiciel.
Le but de l'étape initiale est d'établir des exigences en termes de caractéristiques de qualité. Les exigences expriment les besoins de l'environnement externe pour le produit logiciel en question et doivent être définies avant le développement.
Le but de la deuxième étape est de préparer la base de l'évaluation.
Le troisième résultat est une conclusion sur la qualité des produits logiciels. La qualité généralisée est ensuite comparée à d'autres facteurs tels que le temps et le coût. La décision de gestion finale est prise en fonction du critère de gérabilité. Le résultat est une décision de la direction sur l'acceptation ou le rejet, ou sur la publication ou la non-publication de produits logiciels.

Modèle de qualité des processus

Le processus de développement devrait être structuré de manière à garantir que la qualité du produit puisse être mesurée. Les études réalisées montrent que plus la qualité du processus de développement est élevée, plus la qualité des logiciels développés dans ce processus est élevée. La qualité à chaque étape du projet augmente, d'une part, en conséquence directe de la maturité du processus, et d'autre part, en raison de l'utilisation d'un produit intermédiaire de meilleure qualité fabriqué à l'étape précédente. Dans le même temps, il est souligné que l’importance de la deuxième raison, qui consiste à augmenter la qualité du processus du cycle de vie des processus matures, est beaucoup plus importante. Tout cela peut être représenté sous la forme d'un certain modèle.

Figure "Modèle conceptuel de la qualité du processus de développement"

Les conséquences suivantes en découlent:
Premièrement, la qualité s'accumule dans un produit dans une production complexe de manière cumulative, et la contribution à la qualité apportée dans les premières étapes a un impact plus fort sur le produit final que dans les étapes ultérieures. Ceci est confirmé par toutes les pratiques de programmation, par exemple, il est connu que les défauts de conception du système ne peuvent pas être compensés par une qualité de codage élevée.
Ainsi, pour gérer la qualité de construction d'un système complexe, il est nécessaire de sélectionner les fabricants en fonction de la mesure du degré de maturité et de transparence des processus de développement utilisés. Il est important de mesurer la qualité du processus de développement des entrepreneurs partie de direction générale qualité, plus importante que la mesure de la qualité du produit résultant fabriqué lors des tests d'acceptation.
Deuxièmement, les tests et la mesure de la qualité devraient avoir lieu à toutes les étapes du cycle de vie. Extraire des données de qualité qui ont été établies tôt peut être très coûteuse si des résultats complets ne sont pas disponibles

Lignes directrices pour l'application des caractéristiques de qualité

1 Applicabilité

2 Comprendre la qualité des logiciels

2.1 Présentation de l'utilisateur
2.2 Vue développeur
2.3 Représentation du manager

3.1 Établissement des exigences de qualité

3.2 Préparation à l'évaluation

3.2.1 Choix des métriques de qualité (indicateurs)
3.2.2 Détermination des niveaux de classement
3.2.3 Détermination du critère d'évaluation

3.3 Procédure d'évaluation

3.3.1 Mesure
3.3.2 Classement
3.3.3 Évaluation

1. Introduction

2 Détermination d'indicateurs de qualité intégrés

2.1 Fonctionnalité

2.1.1 Adéquation
2.1.2 Précision
2.1.3 Interopérabilité
2.1.4 Conformité
2.1.5 Sécurité

2.2 Fiabilité

2.2.1 Maturité
2.2.2 Tolérance aux pannes
2.2.3 Récupérabilité

2.3 Utilisabilité

2.3.1 Compréhensibilité
2.3.2 Apprentissage
2.3.3 Facilité d'utilisation (opérabilité)

2.4 Efficiences

2.4.1 Comportement temporel
2.4.2 Comportement des ressources

2.5 Maintenabilité

2.5.1 Analysabilité
2.5.2 Capacité de changement
2.5.3 Stabilité
2.5.4 Testabilité

2.6 Portabilité

2.6.1 Adaptabilité
2.6.2 Installabilité
2.6.3 Conformité
2.6.4 Remplaçable

Remarques:

  1. L'interchangeabilité est utilisée au lieu de l'interopérabilité afin d'éviter une confusion possible avec l'interopérabilité.
  2. L'interchangeabilité avec un outil logiciel particulier n'implique pas que ce remède interchangeable avec le logiciel en question.
  3. L'interchangeabilité peut inclure des attributs de facilité de mise en œuvre et d'adaptabilité. Le concept a été introduit comme une sous-caractéristique distincte en raison de son importance.

Qualité du projet

La qualité comprend toutes les activités du projet qui garantissent que le projet est adapté à l'objectif pour lequel il a été entrepris. Par conséquent, la gestion de la qualité s'applique à la fois au projet et au produit du projet.
La qualité est essentielle car elle articule et fixe les objectifs, les rend documentés (formalisés).
Par conséquent, la qualité est une composante essentielle de la gestion de la structure du projet.
Tout est mesurable pour la qualité.

Gestion de la qualité des projets

Si la gestion de la qualité est concentrée dans une seule unité de l'organisation, elle ne deviendra pas universelle. Le chef de projet peut déléguer des aspects de la gestion de la qualité. Le chef de projet conserve la responsabilité ultime.

Principes de qualité (ISO 9000)

  1. Orientation consommateur
  2. Responsabilité de la direction
  3. Impliquer les gens
  4. Approche processus
  5. Approche systématique de la gestion
  6. Amélioration continue
  7. Prise de décision factuelle
  8. Relations fournisseurs mutuellement avantageuses

Figure «Différences dans la compréhension de la gestion de la qualité dans ISO 9000 et PMBoK»

Gestion de la qualité des projets (PMI): sous-processus

  • Planification de la qualité
  • Assurance qualité
  • Contrôle de qualité

Planification de la qualité

L'une des étapes consiste à déterminer quels normes existantes se rapportent à ce projet et comment s'y conformer. Le résultat de la planification de la qualité est une liste de toutes les normes de qualité qui s'appliquent au projet. Vous trouverez ci-joint une liste de recommandations sur la manière dont les exigences de ces normes seront satisfaites

Processus de planification de la qualité: intrants

  • Politique de qualité. Un document qui contient les principes de la façon dont une organisation définit la qualité, mais ne contient pas de moyens pour atteindre la qualité.
  • Contenu du projet (portée). Définit ce qui doit être fait à la suite du projet et donc ce qui doit être surveillé dans les processus de gestion de la qualité. Ce document est le résultat du processus de planification de la portée du projet.
  • Description du produit. Contient des détails techniques et d'autres aspects pertinents qui peuvent affecter la planification de la qualité.
  • Normes et réglementations. Liste des normes et réglementations applicables à une zone ou un projet donné.
  • Autres documents.

Processus de planification de la qualité: outils et technologies

  • Analyse avantages / coûts. Pertinent pour la discussion sur le coût de la qualité. Le but de cet outil est de comparer le coût réel du manque de qualité avec les avantages de l'assurance qualité.
  • Comparaison. Utilisé pour générer des idées d'amélioration par comparaison avec d'autres projets. Plus efficace lorsque les comparaisons sont faites avec les meilleurs, pas seulement avec d'autres projets internes.
  • Diagrammes. Utilisé pour montrer comment différents éléments interagissent. Il existe de nombreux types de graphiques, y compris un graphique des causes et des effets.
  • Mise en place d'expériences. Utilisez des scénarios hypothétiques pour déterminer quelles variables sont les plus influentes dans le résultat final du projet.
  • Coût de la qualité.

Processus de planification de la qualité: extrants, résultats

  • Plan de gestion de la qualité. Décrit comment l'équipe de gestion de projet mettra en œuvre la politique qualité. Devrait couvrir les domaines suivants:
  • Contrôle de conception.
  • Contrôle de la documentation.
  • Contrôle de l'achat de matériaux.
  • Inspections.
  • Contrôle des tests (tests).
  • Contrôle de l'instrumentation.
  • Action corrective.
  • Dossiers de qualité.
  • Audits (plan et procédure)
  • Procédures et instructions de travail documentées. Décrivez en détail les processus et comment mesurer la qualité du processus, du sous-processus et des actions individuelles effectuées.
  • Listes de contrôle. Des listes de questions pour vérifier qu'il ne manque rien.

Assurance qualité

Processus d'assurance qualité Est-ce que l'adoption de mesures systématiques planifiées pour assurer la mise en œuvre de tous les processus prévus nécessaires au projet (produit, service) pour répondre aux exigences de qualité.
L'assurance qualité est le sous-processus principal de la gestion de la qualité. Cette activité se déroule tout au long du projet.

Processus d'assurance de la qualité: intrants

  • Instructions de travail. Une autre façon de sortir du processus de planification de la qualité.
  • Résultats des mesures de contrôle qualité. Sortie du processus de contrôle de qualité.

Processus d'assurance qualité: outils et techniques

Outils et techniques de planification de la qualité. Il s'agit notamment d'analyses coûts-avantages, de comparaisons, de graphiques, d'expérimentation et d'estimations de coûts de qualité.

Audits qualité

Des «inspections» structurées qui valident les «leçons apprises». Les types d'audits qualité sont:

  • interne externe,
  • système / produit / processus / organisation,
  • planifié / régulier,
  • spécial et compliqué.

Processus d'assurance de la qualité: extrants

Améliorer la qualité. Implique de prendre des mesures pour augmenter l'efficacité et la productivité du projet afin d'apporter une valeur ajoutée aux maîtres d'ouvrage.

Contrôle de qualité

surveillance certains résultats afin de déterminer leur conformité aux normes de qualité acceptées et de déterminer les moyens d'éliminer les causes de performances insatisfaisantes.

Processus de contrôle de la qualité: entrées

  • Résultats des travaux. Les résultats apparaissent toujours dans le processus de coopération, d'exécution et de rééchelonnement du projet.
  • Plan de gestion de la qualité. Le résultat du processus de planification de la qualité.
  • Instructions de travail. Le résultat du processus de planification de la qualité.
  • Listes de contrôle.

Contrôle qualité: outils et techniques

  • Inspections. Comprend des activités telles que la mesure, les tests, les tests pour s'assurer que le résultat répond aux exigences.
  • Tableaux de contrôle. Les tracés d'analyse déterminent statistiquement les limites supérieure et inférieure affichées de chaque côté des moyennes de processus.
  • Graphiques: Ishikawa, Pareto.
  • Échantillonnage statistique.
  • Analyse des tendances.

« But de l'utilisation des outils - corriger les résultats ou les modifications, les afficher graphiquement, puis identifier et corriger les problèmes de manière appropriée. "

Processus de contrôle de la qualité: extrants

  • Améliorer la qualité. Quittez le processus d'assurance qualité.
  • Faire des décisions. Les décisions sont prises selon que l'objet inspecté est accepté ou rejeté.
  • Action corrective. Une action entreprise pour réconcilier un objet non conforme.
  • Listes de contrôle remplies.
  • Configuration du processus.

Références

  • http://sorlik.blogspot.com, Sergey Orlik, 2004-2005
  • Genelt A.E. Aide pédagogique pour la discipline "Gestion de la qualité du développement logiciel" 2007, Saint-Pétersbourg

Le concept de «qualité logicielle».

Les méthodes d'ingénierie en programmation sont basées sur l'idée d'améliorer la qualité des logiciels, pour la mise en œuvre de quelles méthodes ont été formées pour déterminer les exigences de qualité des logiciels, des approches de sélection et d'amélioration des modèles pour l'analyse métrique des indicateurs de qualité des logiciels, des méthodes de mesure quantitative des indicateurs de qualité aux étapes du cycle de vie du logiciel.

Qualité du logiciel est un ensemble de propriétés qui déterminent l'utilité d'un produit (programme) pour les utilisateurs conformément à l'objectif fonctionnel et aux exigences. Dans le même temps, les exigences peuvent être interprétées de manière assez large, ce qui donne lieu à un certain nombre de définitions indépendantes du concept de "qualité". La définition la plus couramment utilisée est l'ISO 9001, selon laquelle la qualité est «la mesure dans laquelle les caractéristiques intrinsèques répondent aux exigences». La qualité du logiciel est un concept relatif qui n'a de sens que si l'on tient compte des conditions réelles d'utilisation du logiciel. Par conséquent, les exigences en matière de qualité logicielle sont définies conformément aux conditions et au domaine spécifique de l'application logicielle.

Modèles de qualité logicielleont les quatre niveaux de présentation suivants.

Premier niveau correspond à la définition des caractéristiques (indicateurs) de la qualité des logiciels, chacun reflétant le point de vue d'un utilisateur distinct sur la qualité. Selon les normes GOST R ISO / CEI 9126-93, GOST R ISO / CEI 12119-2000, GOST 28195-89, le modèle de qualité comprend six caractéristiques, ou six principaux indicateurs de qualité, que nous énumérerons par ordre d'importance pour la plupart des utilisateurs:

  • Fonctionnalité;
  • fiabilité fonctionnelle;
  • facilité d'utilisation;
  • Efficacité;
  • maintenabilité;
  • portabilité.

Deuxième niveau. Les attributs de chaque caractéristique de qualité correspondent à ce niveau, qui détaillent différents aspects d'une caractéristique particulière. Un ensemble d'attributs de qualité est utilisé dans l'évaluation de la qualité.

Considérez les ensembles d'attributs pour chacun des indicateurs de qualité énumérés (Fig. 3.1).

La fonctionnalité est un ensemble de propriétés qui déterminent la capacité d'un logiciel à exécuter ses fonctions prévues dans un environnement donné conformément aux exigences spécifiées. Sous fonction est compris comme une certaine séquence ordonnée d'actions pour satisfaire les propriétés du consommateur. Les fonctions sont cible (le principal) et auxiliaire.

Aux attributs fonctionnalité rapporter:

  • sécurité - un attribut qui montre la capacité du logiciel à empêcher l'accès non autorisé (accidentel ou intentionnel) aux programmes et aux données;
  • interopérabilité - un attribut qui montre la capacité de ce logiciel à interagir avec des systèmes et des environnements spéciaux ( systèmes d'exploitation, réseaux informatiques);
  • complétude fonctionnelle - un attribut qui montre le degré de suffisance des principales fonctions de résolution de problèmes conformément à l'objectif de ce logiciel.

Fiabilité fonctionnelle. Les attributs de la fiabilité fonctionnelle des logiciels comprennent:

  • infaillibilité - un attribut qui définit la capacité du logiciel à fonctionner sans erreur;
  • droite - un attribut qui montre la mesure de l'obtention de résultats corrects;
  • contrôlabilité - un attribut qui caractérise l'exhaustivité et l'efficacité de la détection des erreurs dans les résultats intermédiaires et de sortie
  • tolérance d'erreur - un attribut qui caractérise la capacité du logiciel à exécuter correctement des fonctions dans des conditions anormales (défaillance matérielle, erreurs de données et d'interfaces, etc.);
  • fiabilité - un attribut qui caractérise la capacité du logiciel à ne pas provoquer de défaillances fonctionnelles système d'Information;
  • récupérabilité est un attribut qui caractérise la capacité du programme à éliminer erreur de logiciel et de redémarrer pour réexécuter et récupérer les données en cas de défaillance fonctionnelle;
  • volonté - un attribut qui montre la capacité du programme, sur une demande arbitraire, à effectuer avec précision la transformation prévue.

La facilité d'utilisation est caractérisée par une variété d'attributs qui indiquent les conditions nécessaires et appropriées pour utiliser le logiciel par un cercle d'utilisateurs donné pour obtenir des résultats appropriés. Dans la norme, l'utilisabilité est définie comme un ensemble spécifique d'attributs d'un produit logiciel qui caractérisent son ergonomie.

Figure: 3.1.

Les attributs d'utilisabilité comprennent:

  • compréhensibilité - un attribut qui définit l'effort consacré à la reconnaissance des concepts logiques et des conditions d'utilisation des logiciels;
  • étude (facilité d'apprentissage) - un attribut qui détermine les efforts des utilisateurs pour déterminer l'applicabilité du logiciel grâce à l'utilisation du contrôle opérationnel, des diagnostics, ainsi que des procédures, des règles et de la documentation;
  • promptitude - un attribut qui montre la réponse du système lors de l'exécution des opérations et du contrôle opérationnel.

L'efficacité est un ensemble d'attributs qui déterminent la relation entre les niveaux d'exécution du logiciel, l'utilisation des ressources (outils, matériel, matériaux - papier pour un appareil d'impression, etc.) et les services fournis par le personnel d'entretien régulier, etc.

Les attributs de performance du logiciel incluent:

  • réactivité - un attribut qui montre le temps de réponse, le traitement et l'exécution des fonctions;
  • efficacité des ressources - un attribut indiquant le nombre et la durée des ressources utilisées lors de l'exécution des fonctions logicielles;
  • cohérence - un attribut qui montre la conformité d'une caractéristique donnée aux normes, règles et réglementations spécifiées.

La maintenabilité est un ensemble de propriétés qui caractérisent l'effort qui doit être consacré à apporter des modifications, y compris l'ajustement, l'amélioration et l'adaptation du logiciel lorsque l'environnement, les exigences ou les spécifications fonctionnelles changent.

La maintenabilité comprend les attributs suivants:

  • analysabilité- un attribut spécifiant l'effort requis pour diagnostiquer les pannes ou identifier les pièces à modifier;
  • stabilité - un attribut indiquant la constance de la structure et le risque de sa modification;
  • testabilité - un attribut indiquant les efforts au cours de la validation et de la vérification pour détecter les non-conformités aux exigences, ainsi que la nécessité de modifier et de certifier le logiciel;
  • variabilité - un attribut qui détermine la possibilité de supprimer des erreurs dans le logiciel ou d'apporter des modifications pour les éliminer, ainsi que d'introduire de nouvelles fonctionnalités dans le logiciel ou l'environnement d'exploitation.

Portabilité: ensemble de mesures indiquant la capacité du logiciel à s'adapter pour fonctionner dans un nouvel environnement d'exécution. L'environnement peut être organisationnel, matériel et logiciel. Ainsi, le transfert d'un logiciel vers un nouvel environnement d'exécution peut être associé à un ensemble d'actions visant à assurer son fonctionnement dans un environnement différent de l'environnement dans lequel il a été créé, en tenant compte de nouvelles capacités logicielles, organisationnelles et techniques.

La portabilité comprend des attributs:

  • adaptabilité est un attribut qui détermine les efforts consacrés à l'adaptation à différents environnements;
  • personnalisabilité (facilité d'installation) - un attribut qui définit les efforts nécessaires pour exécuter ce logiciel dans un environnement spécial;
  • coexistence - un attribut qui détermine la possibilité d'utiliser un logiciel spécial dans l'environnement du système d'exploitation;
  • remplaçabilité - un attribut qui caractérise la capacité de transférer un logiciel d'un environnement de développement à un autre avec l'installation ou l'adaptation nécessaire du logiciel.

Troisième niveau conçu pour mesurer la qualité en utilisant métrique, chacun d'eux étant défini comme une combinaison de la méthode de mesure d'attribut et de l'échelle de mesure de la valeur d'attribut. Pour évaluer les attributs de qualité à des étapes du cycle de vie (lors de la visualisation de la documentation, des programmes et des résultats des tests de programmes), des métriques avec un poids estimé donné sont utilisées pour niveler les résultats de l'analyse métrique des attributs agrégés d'un indicateur particulier et de la qualité en général. L'attribut de qualité est déterminé à l'aide d'une ou plusieurs techniques d'évaluation aux stades du cycle de vie et au stade final du développement logiciel.

Quatrième niveau est un élément métrique évaluatif (poids), utilisé pour évaluer la valeur quantitative ou qualitative d'un attribut individuel de l'indicateur de qualité du logiciel. En fonction de l'objectif, des caractéristiques et des conditions de la maintenance logicielle, les caractéristiques de qualité les plus importantes et leurs attributs sont sélectionnés. Les attributs sélectionnés et leurs priorités sont reflétés dans les exigences pour le développement du système, ou les priorités correspondantes de la référence de classe de logiciel à laquelle ce logiciel appartient sont utilisées.

1

Le document fournit de brèves informations sur la norme ISO 9126 «Technologies de l'information. Évaluation du produit logiciel. Caractéristiques de qualité et conseils pour leur application ». Depuis le spectre systèmes logiciels est large, puis un groupe de systèmes de création de tests a été sélectionné. Pour évaluer la qualité de ce groupe de programmes, une brève description de certains systèmes logiciels est donnée. Basé sur les caractéristiques de ce groupe outils logiciels, une liste de caractéristiques a été compilée pour déterminer la qualité des programmes. Conformément aux recommandations de la norme ISO 9126, une étude des caractéristiques du groupe d'outils logiciels sélectionné a été réalisée. Comme méthode de détermination des valeurs des indicateurs de qualité, l'enregistrement des caractéristiques (qu'elles soient ou non) et le jugement d'experts ont été utilisés. Ainsi, la méthode proposée pour évaluer la qualité de l'un des types de logiciels conformément à la norme ISO 9126.

la norme

caractéristique

contrôle de qualité

logiciel

1. Baranyuk V.V., Tyutyunnikov N.N. Contrôle de qualité dictionnaires électroniques et encyclopédies // Génie logiciel. - 2012. - N ° 8. - P. 29–37.

2. Glichev A.V., Panov V.P., Azgaldov G.G. Qu'est-ce que la qualité? - M .: Economie, 1968, 135 p.

3. Gorbachenko I.M. Logiciel de création de systèmes de formation automatisés // Problèmes d'informatisation de la région. PIR 2005: Actes de la neuvième conférence scientifique et pratique (Krasnoïarsk, 11-12 octobre 2005). - Krasnoïarsk: IPC KSTU, 2005. - vol. 2. - pp. 132–135.

4. Gorbachenko I.M. Analyse comparative systèmes existants tests // Les tests dans l'éducation: problèmes et perspectives de développement: matériaux de la conférence scientifique et pratique panrusse. (Krasnoïarsk, 19-21 mai 2008) / otv. ed. G.P. Karlov. - Krasnoïarsk: SibSTU, 2008. - P. 177–183.

5. Lipaev V.V. Problèmes d'assurance de la qualité des logiciels complexes [Ressource électronique]. - Mode d'accès: http://quality.eup.ru/MATERIALY4/poksps.htm (date d'accès 04/09/2013).

6. Lozinin A.I., Shubinsky I.B. Caractéristiques de la qualité des logiciels et méthodes d’évaluation [Ressource électronique]. - Mode d'accès: http://www.ibtrans.ru/Estimating% 20methods.pdf (date d'accès le 12.03.2013).

Une grande variété de logiciels (logiciels) est installée sur les ordinateurs modernes. Et je veux qu'il soit de haute qualité, efficace, fonctionne sans échec, etc. Considérons la définition de la «qualité logicielle» dans le contexte des normes internationales:

1) la qualité du logiciel est le degré auquel le logiciel possède la combinaison requise de propriétés. ;

2) qualité du logiciel - un ensemble de propriétés du logiciel (PS), qui déterminent son aptitude à répondre à des besoins spécifiés ou implicites conformément à son objectif [GOST 28806-90 «Qualité du logiciel. Termes et définitions"].

Le but de ce travail est de développer une méthodologie pour appliquer les exigences de la norme ISO 9126 à l'évaluation de la qualité de l'un des types de logiciels - les systèmes de création de tests.

Norme ISO 9126

À l'heure actuelle, le modèle multiniveaux de qualité logicielle le plus répandu et utilisé, présenté dans l'ensemble de normes ISO 9126. La base de réglementation des indicateurs de qualité des systèmes est la norme internationale ISO 9126 «Technologies de l'information. Évaluation du produit logiciel. Caractéristiques de qualité et conseils pour leur application ». Cette norme décrit une distribution à plusieurs niveaux des caractéristiques des logiciels. Au niveau supérieur, 6 caractéristiques principales de la qualité du logiciel sont mises en évidence, chacune étant déterminée par un ensemble d'attributs qui ont des métriques correspondantes pour une évaluation ultérieure (figure).

Selon ce modèle, la fonctionnalité d'un outil logiciel (fonctionnalité) est un ensemble de propriétés d'un système logiciel, déterminé par la présence et les caractéristiques spécifiques d'un ensemble de fonctions capables de satisfaire des besoins de qualité donnés ou implicites ainsi que sa fiabilité en tant que système technique. Fiabilité - la capacité du logiciel à exécuter les tâches requises dans des conditions spécifiées pendant une période de temps spécifiée ou un nombre spécifié d'opérations. La facilité d'utilisation d'un outil logiciel (utilisabilité) est un ensemble de propriétés d'un système logiciel, qui caractérise les efforts nécessaires à son utilisation, et une évaluation des résultats de son utilisation par un cercle donné d'utilisateurs de logiciels. Efficacité - la capacité du logiciel à fournir le niveau de performance requis conformément aux ressources allouées, au temps et aux autres conditions spécifiées. Facilité de maintenance (maintenabilité) - la facilité avec laquelle les logiciels peuvent être analysés, testés, modifiés pour corriger les défauts, mettre en œuvre de nouvelles exigences, faciliter la maintenance ultérieure et s'adapter à l'environnement nommé. Portabilité (portabilité) - un ensemble de propriétés de PS, qui caractérise l'aptitude au transfert d'un environnement de fonctionnement à d'autres.

Modèle de qualité logicielle (ISO 9126)

Logiciel de création de système de test

Au niveau actuel de développement de la technologie informatique et des systèmes d'échange d'informations, les tests sont de plus en plus utilisés dans l'enseignement, qui est utilisé comme un outil de suivi et de prévision universitaire. Le suivi en tant que système de contrôle et de diagnostic fournit à l'enseignant des informations objectives et opérationnelles sur le niveau de maîtrise par les élèves du matériel pédagogique obligatoire et l'administration sur l'efficacité de la gestion. Le système de test informatique est un outil universel pour déterminer l'apprentissage des élèves à tous les niveaux du processus éducatif.

La création de tests à un niveau méthodologique élevé oblige l'enseignant à développer une structure conceptuelle et terminologique claire du cours, c'est-à-dire tableaux de concepts et de thèses testés, structurés par thèmes et sections du curriculum de la discipline académique.

Le système de test informatique fait partie intégrante du développement futur de l'enseignement à distance.

Actuellement, de plus en plus d'outils prêts à l'emploi pour le développement de programmes de formation ont commencé à apparaître. De plus, ces développements ne sont pas seulement étrangers (par exemple - Adobe Acrobat, Macromedia Authorware, ToolBook II, Quest et autres), mais aussi domestiques (par exemple, HyperMethod, Docent, Prometheus, OROX network shell, CADIS). Donnons une brève description de certains d'entre eux.

L'un des systèmes de test "Test Constructor" est un système universel de contrôle des connaissances (site système - http://www.keepsoft.ru/simulator.htm). Le programme prend en charge cinq types de questions: fermée (pour choisir une ou plusieurs réponses), ouverte (saisie d'une réponse), mise en correspondance et classement. Cela permet d'effectuer tous les tests. Les tests ont la capacité d'utiliser de la musique, des sons, des images et des vidéos. Toutes les données peuvent être imprimées sur une imprimante. Plusieurs personnes peuvent subir des tests indépendamment sur un ordinateur, en entrant dans le programme sous leur propre nom.

Le prochain paquet est le système de test INDIGO (site Web - http://indigotech.ru/). 5 types de tâches de test peuvent également être créés dans ce système. Mais en plus de cela, une caractéristique du constructeur de test INDIGO est la prise en charge d'un regroupement hiérarchique à plusieurs niveaux de questions de test par tâches, sujets, etc. Après tout, si les questions du test sont affichées dans une liste linéaire, des difficultés surviennent avec la navigation et la compréhension de quelle question fait référence à quoi. Dans ce système, il est possible de définir pour chaque groupe paramètres individuels (en particulier, l'ordre dans lequel les éléments imbriqués sont renvoyés ou sélectionnés au hasard).

Le prochain paquet à l'étude est VeralTest - un ensemble de programmes pour créer des back-tests et pour organiser des tests informatiques multi-utilisateurs (site - http://veralsoft.com/veraltest.shtml). Dans ce système, les types de dos de test suivants peuvent être créés - fermé (sélectionnez une réponse et sélectionnez plusieurs réponses), entrez une réponse textuelle, entrez une réponse numérique, des questions de conformité.

Le progiciel VeralTest est présenté en deux éditions:

VeralTest Express. Vous permet de créer des tests autonomes autonomes (tests exe) qui peuvent être exécutés sur n'importe quel ordinateur sans installation et configuration préalables. La composition du package VeraTest Express: l'éditeur de test TestEditor et le programme ResultViewer pour visualiser les résultats des tests.

VeralTest Professional. Prend en charge toutes les fonctions de l'édition express. En outre, le package comprend un serveur de test (programme TestServer), qui permet d'organiser les tests dans une salle de classe informatique ou un réseau local d'une entreprise. Dans ce cas, les tests sont accessibles via un navigateur Web (par exemple, Internet Explorer, Google Chrome, Mozila firefox). Cette édition comprend également le programme d'administration TestAdmin, avec lequel vous pouvez enregistrer des utilisateurs, les combiner en groupes, attribuer des tests aux utilisateurs pour exécuter, afficher et imprimer les résultats des tests.

En plus de ces systèmes logiciels, il existe de nombreux autres systèmes. Certains d'entre eux peuvent être trouvés sur le site Web - http://edu.of.ru/volsch31/default.asp?ob_no \u003d 2300.

Le tableau contient une liste des caractéristiques de certains outils de création de systèmes de test et leur comparaison.

Appliqué à cette sorte il est très difficile d'envisager l'efficacité des outils logiciels car l'influence de la personne (l'enseignant qui crée les tests et l'élève qui répond au test) est grande. Si l'efficacité est considérée du point de vue de la vitesse des tests de contrôle, alors cet indicateur dépend dans une plus large mesure de la vitesse de transmission des informations sur réseau informatique, sur le nombre d'éléments de test.

Comme le montre la description ci-dessus et la comparaison des capacités, les produits logiciels considérés peuvent être utilisés pour des tests dans différentes disciplines, à la fois en sciences humaines et en technique (en raison de la capacité à travailler avec du texte, des graphiques, de la musique, du multimédia).

Si vous donnez 1 point pour chaque fonctionnalité, il s'avère que des systèmes considérés, MOODLE a obtenu 22 points, UniTest System - 15, "Test Constructor" - 11, INDIGO - 14, VeralTest - 12 (version Express) et 16 (version professionnelle).

Compte tenu de la présence d'un système de paramètres pour l'ordre de soumission du test en retour, d'un système d'interaction sur un réseau informatique et d'autres facteurs, les systèmes MOODLE, INDIGO et VeralTest ont les capacités les plus avancées. Ce sont ces systèmes qui sont le plus souvent utilisés dans la pratique lors des tests d'étudiants.

Conclusion

L'évaluation des indicateurs de qualité des outils logiciels peut être réalisée par diverses méthodes et méthodes. La méthode d'évaluation de la qualité présentée dans l'article, basée sur les principes de la norme ISO 9126, permet:

Évaluer la qualité des progiciels à l'aide de divers systèmes d'indicateurs de qualité;

Construire la qualité des programmes pendant le développement spécifications techniques et le contrôler à toutes les étapes du cycle de vie, c'est-à-dire évaluer le niveau de qualité minimum avec des informations incomplètes sur systèmes logiciels, qui est atteint avec les valeurs déjà obtenues des indicateurs de qualité;

Caractéristiques comparatives de certains outils de création de formations

Nom

"Constructeur de test"

VeralTest Express / Professionnel

Fiabilité

Exhaustivité (probabilité d'échec)

Faible / élevé

Tolérance aux pannes (opérabilité)

Récupérabilité

Disponibilité du système copie de réserve

Enregistrement des tests dans fichier séparé

La commodité d'utilisation

Facilité d'apprentissage

Disponibilité des lignes directrices pour l'étude

Intelligibilité

Disponibilité modèles prêts à l'emploi des tests

+ (en anglais)

Disponibilité d'un système d'aide étendu

Commodité et facilité d'utilisation

La présence d'un menu (bouton) pour créer un test

Travailler avec des graphiques

Travailler avec le son

Création de boutons de contrôle

La possibilité d'évaluer automatiquement la réponse

Fixer des délais pour répondre aux questions

Disponibilité de la fonction de détermination du temps de réponse aux questions

Délai pour une réponse à chaque question

Limiter la durée totale du test

La possibilité de diviser les questions par niveaux de difficulté

Fonctionnalité

Disponibilité de moyens de protection (par exemple, cryptage des tests)

La capacité d'exploiter un réseau informatique local

Travailler sur Internet

Commodité d'accompagnement

Disponibilité du support technique

Disponibilité de modules séparés

Présence de paramètres pour l'ingénieur

Présence de paramètres pour l'enseignant

Présence de paramètres pour le testé

Portabilité

Disponibilité d'une version réseau

+ (Internet)

Volume occupé

20,8 Mo / 60 Mo

Basé sur système installé indicateurs de qualité, évaluer différents programmes ayant le même objectif afin d'identifier les meilleurs d'entre eux.

Lors du développement d'indicateurs qui évaluent les systèmes de création de tests, les caractéristiques de ce type de programmes ont été prises comme base. À l'avenir, vous pourrez élargir la liste des indicateurs considérés, changer en fonction des caractéristiques d'autres types d'outils logiciels.

Réviseurs:

Dorrer G.A., docteur en sciences techniques, professeur, directeur. département, FSBEI HPE "Université technologique d'État de Sibérie", Krasnoïarsk;

Levshina V.V., docteur en sciences techniques, professeur, chef. Département de la gestion de la qualité et des méthodes mathématiques de l'économie, établissement d'enseignement budgétaire de l'État fédéral de l'enseignement professionnel supérieur "Université technologique d'État de Sibérie", Krasnoïarsk.

L'œuvre a été reçue le 07.05.2013.

Référence bibliographique

Gorbachenko I.M. ESTIMATION DE LA QUALITÉ DES LOGICIELS POUR LA CRÉATION DE SYSTÈMES DE TESTS // Recherche fondamentale. - 2013. - N ° 6-4. - S. 823-827;
URL: http://fundamental-research.ru/ru/article/view?id\u003d31642 (date d'accès: 20.07.2019). Nous attirons votre attention sur les revues publiées par l '"Académie des Sciences Naturelles"

Le logiciel doit remplir ses fonctions, répondre aux critères spécifiés de qualité, de sécurité et de fiabilité. L'évaluation d'un produit, ses exigences, la documentation du projet est la tâche des ingénieurs d'assurance qualité ou des ingénieurs QA.

L'assurance qualité du logiciel comprend les activités qui sont menées à chaque étape de son développement. L'objectif est de fournir l'assurance qu'un produit répond aux exigences fonctionnelles et non fonctionnelles.

Concept de qualité du logiciel

À première vue, la «qualité logicielle» peut sembler un concept abstrait. Cependant, pour les chefs de projet, les programmeurs, les testeurs, les ingénieurs QA et les autres participants au processus de développement de produits, les critères de qualité sont transparents et mesurables. Regardons d'abord la définition générale.

La qualité du logiciel est un ensemble de caractéristiques d'un produit logiciel qui détermine la capacité à exécuter les fonctions qui lui sont assignées.

À l'heure actuelle, cet indicateur est réglementé par la norme internationale ISO / CEI 25010: 2011. Cette norme établit un système d'évaluation de la qualité des logiciels à plusieurs niveaux basé sur huit caractéristiques de base.

Paramètres de qualité du logiciel

Les principales caractéristiques de la qualité logicielle selon ISO / CEI 25010: 2011:

  1. Fonctionnalité. Un logiciel est considéré comme fonctionnel s'il exécute les tâches qui lui sont assignées, répond aux besoins spécifiés des utilisateurs. Cet aspect suppose un fonctionnement correct et précis, la compatibilité de tous les composants inclus dans la composition.
  2. Fiabilité. La fiabilité du logiciel s'entend de l'exécution ininterrompue des tâches qui lui sont assignées dans des conditions spécifiées dans un délai spécifié.
  3. Convivialité (facilité d'utilisation). Ce paramètre caractérise le degré de commodité du logiciel pour les utilisateurs, sa clarté, sa facilité d'utilisation et d'étude.
  4. Efficacité. Le paramètre correspond au degré du produit fournissant les performances requises dans les conditions données.
  5. Commodité d'accompagnement. Cet indicateur caractérise la facilité d'analyse, de test, de correction des composants logiciels, sa maintenance, ainsi que le degré d'adaptation aux nouvelles conditions.
  6. Portabilité. La facilité avec laquelle il peut être transféré sur une autre plateforme. L'assurance qualité du logiciel consiste à le vérifier pour chacun des paramètres répertoriés, à identifier les faiblesses et à éliminer les défauts.
  7. Compatibilité. La capacité des composants logiciels à interagir les uns avec les autres.
  8. Sécurité, c'est-à-dire minimisation des menaces liées à la lecture non autorisée, à l'altération des informations, etc. Les menaces peuvent également être associées à une mauvaise utilisation des logiciels, des influences externes de l'extérieur, une défaillance des moyens techniques.

Assurance qualité et tests

Les termes «essai» et «assurance qualité» sont certainement liés, mais pas identiques. Quelle est la différence?

Assurance qualité est responsable de l'ensemble du processus de développement et s'intègre à toutes ses étapes: de la création des exigences pour une future solution aux tests, à la sortie du produit et à la maintenance post-version.

Les tâches des spécialistes QA comprennent:

  • formation de critères de qualité;
  • planifier les activités pour répondre aux critères à chaque étape du développement du produit;
  • sélection d'outils de test;
  • tests de produits;
  • calcul de KPI;
  • prévention des erreurs et amélioration des processus.

Essai - vérifier la conformité du logiciel aux exigences.

Vous voyez donc que l'assurance qualité est un concept plus large qui comprend des travaux de test.

Les tests peuvent être automatisés ou être effectués manuellement; peut être un cycle complet ou visant à vérifier un aspect spécifique de la qualité (sécurité, productivité, convivialité, etc.).

Les ingénieurs de test préparent des stratégies de test et un plan en fonction des spécificités du projet et des exigences de la solution, créent et optimisent un ensemble de cas de test à l'avenir, recherchent les défauts, créent et envoient des rapports sur les défauts détectés aux développeurs et vérifient l'élimination des défauts.

La fonction d'assurance qualité peut être exécutée par un service interne de l'entreprise, ou elle peut être déléguée à un entrepreneur indépendant qui évalue objectivement la solution elle-même, met en place des processus d'assurance qualité et vous permet ainsi de commercialiser un produit de haute qualité qui répond aux exigences de l'entreprise et aux attentes des utilisateurs.

LA CLOCHE

Il y a ceux qui ont lu cette nouvelle avant vous.
Abonnez-vous pour recevoir les derniers articles.
Email
Nom
Nom de famille
Comment voulez-vous lire The Bell
Pas de spam