LA CLOCHE

Il y en a qui ont lu cette news avant vous.
Abonnez-vous pour recevoir les derniers articles.
E-mail
Nom
Nom de famille
Aimeriez-vous lire The Bell
Pas de spam

Avant d'envisager des normes régissant les aspects de la qualité Logiciel, nous devons d'abord discuter 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 base de la qualité, le rôle de la documentation dans l'assurance qualité des produits, et la sélection et l'application des normes internationales de qualité. Sans aucun doute, 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 traite des questions générales énumérées ci-dessus à la lumière de la série de normes ISO 9000.

1.1 Principes fondamentaux de la série de normes ISO 9000

Premièrement, la famille de normes ISO 9000 fait référence à toutes les normes internationales élaborées par le comité technique 176 Gestion de la qualité et assurance qualité de l'Organisation internationale de normalisation (ISO). 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. Vous trouverez ci-dessous les noms des principales normes qui composent cette série.

ISO 9000-1-94 Normes de management et d'assurance qualité. Partie 1. Lignes directrices pour choisir de postuler.

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

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

ISO 9000-4-93 Normes de management et d'assurance qualité. Partie 4. Lignes directrices pour l'administration du programme général de fiabilité.

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

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

Systèmes qualité ISO 9003-94. Modèle d'assurance qualité pour l'inspection du produit fini et les essais finaux.

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

ISO 9004-2-91 Management de la qualité et éléments du système qualité. Partie 2. Directives de service.

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

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

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

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

ISO 10011-3-91 Systèmes qualité. 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 pour les appareils de mesure.

Manuels Qualité ISO 10013. Dispositions de développement. (Au stade de l'édition).

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

La concurrence accrue actuelle entre les organisations, les fabricants de produits, y compris les logiciels, conduit à la mise en place d'exigences de qualité plus strictes pour ces produits. Pour être compétitives, les organisations doivent mettre en place des systèmes efficaces qui conduisent à une meilleure qualité des produits et à une meilleure satisfaction des clients. Des exigences client correctement formulées et complètes incluses dans les spécifications techniques 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 relatives aux systèmes de qualité qui complètent les exigences des clients pour les produits. Les Normes internationales de la série ISO 9000 sont destinées à fournir un cadre commun pour les normes de système qualité. Par système qualité, on entend, selon la norme ISO 8402, un ensemble d'organisation, de méthodes, de processus et de moyens nécessaires à la gestion globale de la qualité des produits fabriqués par l'organisme.

Le système de gestion de la qualité d'un organisme sont les aspects de la fonction de gestion globale utilisés par un organisme qui définissent la politique qualité des produits, les objectifs et les responsabilités de l'organisme, et les mettent 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é. Outre l'objet de l'organisation, le système de management de la qualité est influencé par les produits qu'il fabrique et les méthodes de production caractéristiques de cette organisation. Du fait que les méthodes de production des organisations opérant 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 de 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 pour améliorer la qualité des produits.

La série 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 l'organisation.

De plus, 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 à la direction de l'organisme. Les normes de cette série distinguent les exigences des systèmes qualité des exigences des clients pour les produits. Les exigences du système qualité sont complémentaires aux spécifications du produit. Par exemple, ISO 12207 spécifie le cycle de vie du développement logiciel. Les processus et les modèles de qualité correspondant au processus d'assurance qualité (2.3 de l'ISO 12207) sont spécifiés dans la série de normes ISO 9000.

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

    Moyens techniques.

    Logiciel.

    matériaux transformés.

Les exigences relatives aux systèmes de 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 certains aspects des systèmes de gestion de la qualité peuvent être différents. Cela ressort des titres des normes ISO 9004 - 2 et ISO 9004 - 3. Il convient de noter que toute organisation propose des produits dans au moins deux catégories. Par exemple, une organisation de développement de logiciels fournit en outre à ses clients des services pour prendre en charge le logiciel développé.

Les lignes directrices et les exigences des normes internationales de la série ISO 9000 ont pour objectif de satisfaire aux exigences du point de vue des quatre aspects essentiels à la qualité des produits.

1. Qualité en identifiant les besoins des clients pour les produits. Le premier aspect est la qualité à travers la définition et la modernisation des produits afin de répondre aux exigences et aux opportunités du marché.

2. La qualité par le design. Le deuxième aspect est la qualité grâce à l'incorporation de fonctionnalités dans les produits qui les aident à répondre aux demandes et aux opportunités du marché. En d'autres termes, la qualité par la conception correspond aux propriétés de conception qui affectent le bon fonctionnement d'un produit dans des conditions de fabrication et d'application variables.

3. Qualité grâce à une conception cohérente. Le troisième aspect est la qualité en maintenant la conformité constante de la conception, la mise en œuvre des caractéristiques inhérentes au projet.

4. La qualité par la maintenance. Le quatrième aspect est la qualité par le maintien des produits pendant leur fonctionnement, au besoin, afin de conserver les caractéristiques recherchées.

La série de normes ISO 9000 fournit dans son intégralité des orientations générales sur le contrôle administratif et les exigences en matière d'assurance qualité externe dans quatre domaines.

Les Normes internationales de la série ISO 9000 sont fondées sur l'idée que tout travail est effectué au moyen de processus (voir Figure 1). Chaque processus a des facteurs d'entrée. La sortie du processus est le résultat - produits, tangibles et intangibles. Le processus lui-même est (ou devrait être) une transformation à valeur ajoutée. Chaque processus implique des personnes et/ou d'autres ressources dans une certaine mesure. Un extrant peut être, par exemple, un programme, un service bancaire, un produit fini (ou intermédiaire) de n'importe quelle grande catégorie de produits. Il est possible de prendre des mesures à l'entrée, à différentes étapes du processus, ainsi qu'à la sortie.

Comme le montre la Fig. 2, les entrées et les sorties peuvent être de plusieurs types : liées au produit (lignes pleines sur la Fig. 2) (par exemple, matières premières, produit fini) et liées à l'information (lignes pointillées) (par exemple, produit exigences, spécifications d'information). Ce chiffre représente les processus des fournisseurs avec les processus des sous-traitants et des clients dans la chaîne d'approvisionnement. Dans la structure de ce réseau, diverses entrées et sorties se déplacent dans des directions différentes. Le terme « produit » désigne ici les quatre principales catégories de produits.

La gestion administrative de la qualité s'effectue à travers la gestion des processus dans l'organisation. La gestion des processus comporte deux volets :

gestion de la structure et du fonctionnement du processus lui-même, au sein duquel le produit ou l'information évolue ;

contrôle de 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 d'isoler les processus clés et de simplifier et classer les processus en fonction des objectifs de gestion de la qualité. Un exemple réseau complexe processus peut être une organisation de développement de logiciels conformément aux normes ISO/IEC 12207 et DO-178.

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

Processus

fournisseur

consommateur

exigences

Facteurs d'entrée

Facteurs de sortie

Statut et spécifications

des produits

Statut et spécifications

des produits

exigences

Retour

Retour

sous-traitant

Fig. 1.2 La relation des processus dans la chaîne 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. L'organisation crée, améliore et maintient un niveau constant de qualité de ses produits en exécutant un réseau de processus. Il s'agit de la base conceptuelle de la série de normes ISO 9000. Les processus et leurs interfaces doivent faire l'objet d'un examen et d'une amélioration continue afin de garantir la qualité des produits fabriqués.

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

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

Ces processus sont-ils pleinement appliqués et sont-ils documentés ?

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

Le résultat d'une évaluation est la somme totale des réponses à ces questions, liées respectivement à l'approche, à l'application et au résultat. Une évaluation du système qualité peut varier selon 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é, réalisée par la direction de l'organisme conformément aux normes ISO 9001, 9002, 9003. Les conclusions formulées dans le processus d'évaluation du système de qualité devrait conduire à une augmentation de son efficacité et de son économie. La source d'information pour de telles conclusions est également les résultats des audits internes et externes du système de qualité.

Les revues de qualité internes menées 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.

Les audits externes menés par les clients du produit (seconde partie) et des organismes indépendants (tierce partie) garantissent respectivement la confiance du client dans le fournisseur et la réception du certificat, garantissant ainsi la confiance d'un certain nombre de consommateurs potentiels des produits de l'organisation.

Il convient également de tenir compte des situations dans lesquelles la famille de normes ISO 9000 peut être appliquée et de la manière dont le fournisseur utilise la série.

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

1. En tant que lignes directrices pour la gestion de la qualité. Le système qualité dans cette situation doit augmenter sa propre efficacité afin de répondre aux exigences de qualité du produit de manière économique et optimale.

2. Aux termes du 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, tout en indiquant un modèle d'assurance qualité spécifique.

3. Lorsqu'il est approuvé ou enregistré par une seconde partie. C'est la situation dans laquelle le système qualité est évalué par le client. Le fournisseur peut recevoir une reconnaissance officielle de la conformité de son produit à 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 d'utiliser l'une des deux méthodes d'utilisation de la famille de normes ISO 9000 : « méthode motivée par la direction » et « méthode motivée par les parties prenantes ». La deuxième méthode est considérée comme la plus courante.

Lors de l'utilisation de la méthode motivée par les parties prenantes, le fournisseur introduit initialement un système de qualité en réponse aux exigences immédiates des clients. Le système qualité doit être conforme aux exigences des normes ISO 9001, 9002, 9003. La direction de l'organisation joue un rôle prépondérant dans cette méthode, mais la partie prenante externe (les consommateurs) est le moteur.

Lors de l'utilisation de la méthode motivée par la direction, c'est la direction de l'organisation qui initie les efforts pour identifier les besoins et les tendances futurs du marché. Les lignes directrices pour l'établissement initial d'un système qualité qui améliore la qualité des produits sont ISO 9004-1 (et d'autres parties d'ISO 9004). En outre, le fournisseur peut 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é ainsi mis en place est plus vaste et plus fructueux que celui mis en place de la première manière.

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

dans l'obtention de la qualité de produit requise ;

évaluation des systèmes qualité;

en amélioration de la qualité;

dans le maintien du niveau de qualité atteint.

Pour les audits internes et externes, la documentation des procédures fournit la preuve que les processus sont définis, les procédures sont approuvées et maîtrisées. Ce n'est que dans ces circonstances que les audits garantissent une évaluation complète de l'adéquation de l'application et de l'exécution 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.

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

Qualité logicielle est une préoccupation constante du génie logiciel et est abordée dans de nombreux domaines de la connaissance.

  • Phil Crosby : La qualité répond aux exigences des utilisateurs.
  • Watt Humphrey : La qualité atteint un excellent niveau de convivialité.
  • Société IBM : a inventé l'expression "qualité axée sur le marché".
  • Critère de Baldridge :"qualité axée sur le client".
  • Système de gestion de la qualité ISO 9001 : La qualité est le degré auquel les caractéristiques inhérentes répondent aux exigences.

Qualité acceptable- c'est le degré de perfection souhaité du produit (service) créé, capable de satisfaire les utilisateurs et réalisable dans les contraintes de conception spécifiées.

Qualité dans les activités du projet :

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

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

Figure "Domaine de connaissances - Qualité logicielle"

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

Fondamentaux de la qualité logicielle

Accord conclu sur les exigences de qualité (dans l'original - exigences de qualité), ainsi qu'une communication claire aux ingénieurs de 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 le concept de qualité, les caractéristiques et la signification de la qualité par rapport aux logiciels en cours de développement ou de maintenance.

L'idée importante est que les exigences logicielles définissent les caractéristiques de qualité logicielle requises et influencent également les méthodes de quantification et de formulation de ces caractéristiques.<соответствующие>critères d'acceptation.

Culture et éthique du génie logiciel (Software Engineering Culture and Ethics)

Les ingénieurs logiciels sont censés prendre en compte les problèmes de qualité logicielle dans le cadre de leur<профессиональной>culture.
L'éthique peut jouer un rôle important dans l'assurance qualité des logiciels, la culture et les attitudes des ingénieurs<к своей работе>. L'IEEE Computer Society et l'ACM ont développé un code d'éthique ("code d'éthique") et une pratique professionnelle basée 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 n'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. Bon nombre de ces points de vue doivent être discutés et définis au stade de l'élaboration des exigences pour un produit logiciel. Les caractéristiques de qualité peuvent être requises à des degrés divers, peuvent être absentes ou imposer certaines exigences, tout cela peut résulter d'un certain compromis.

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

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

force motrice projets logiciels est le désir de créer un logiciel qui a une certaine valeur. La valeur d'un logiciel peut ou non être exprimée en termes de coût. Le client a généralement sa propre idée du coût d'investissement maximal, dont le retour est attendu 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 partie intégrante du logiciel ? La réponse se situe probablement quelque part au milieu, comme cela arrive presque toujours dans de tels cas, et est une question de discussion sur la mesure dans laquelle le client est impliqué dans le processus de prise de décision et le client comprend pleinement le coût et les avantages associés à la réalisation un certain niveau de qualité. Idéalement, la plupart de ces décisions devraient être prises au cours du processus d'exigences, mais ces problèmes peuvent survenir tout au long du processus. cycle de la vie Logiciel. Il n'existe aucun<“стандартных”>règles sur la manière dont ces décisions doivent être prises. Cependant, les ingénieurs doivent être en mesure de présenter diverses alternatives et leurs coûts.

Modèles et caractéristiques de qualité

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

  • qualité intérieure,
  • qualité extérieure et
  • qualité dans le processus de fonctionnement, ainsi qu'un ensemble de travaux d'évaluation de la qualité des logiciels connexes (ISO14598-98 Software Product Evaluation).

Qualité des processus de génie logiciel

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

Il existe deux principales normes de qualité logicielle.

  • Cochez-le- concerne la considération système commun Gestion de la qualité ISO 9001-00 appliquée aux projets logiciels.
  • Une autre norme importante est le CMMI, abordé dans le domaine de connaissances Processus de génie logiciel, fournit des conseils sur la façon d'améliorer le processus. Les domaines de processus (domaines de compétence) du CMMI sont directement liés à la gestion de la qualité :
    • assurance qualité processus et produit, catégorie processus CMMI « Support »,
    • vérification (vérification, catégorie « Ingénierie ») et
    • certification (validation, catégorie « Ingénierie »).

Parallèlement, le CMMI classe passer en revue et Audit en tant que méthodes de vérification, mais pas en tant que processus indépendants.

Ces normes sont toujours considérées comme complémentaires et la certification ISO 9001 aide à atteindre les niveaux de maturité CMMI supérieurs.

Qualité des produits logiciels

Tout d'abord, les ingénieurs doivent déterminer le but de créer un logiciel. Dans ce contexte, il est particulièrement important de se rappeler que les exigences des clients sont primordiales et contiennent des exigences de qualité, et pas seulement de fonctionnalité (exigences fonctionnelles). Ainsi, les ingénieurs sont chargés d'extraire des exigences de qualité qui ne sont pas toujours présentées explicitement, ainsi que de discuter de leur importance et du degré de difficulté à les atteindre. Tous les processus associés à la qualité (par exemple, l'assemblage, les tests et l'amélioration de la qualité) doivent être conçus en gardant ces exigences à l'esprit et supporter le fardeau des coûts supplémentaires (en tant que facteur important partie constituante 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 "sous-caractéristiques" de qualité connexes, ainsi que des métriques utiles pour évaluer la qualité des produits logiciels.

La compréhension du terme « produit » a été élargie pour inclure tous les artefacts créés à la sortie de tous les processus utilisés pour créer le produit logiciel final. Les exemples de produits sont (mais sans s'y limiter) :

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

Bien que le terme qualité soit le plus souvent utilisé en relation avec le produit final et le comportement du système pendant le fonctionnement, les bonnes pratiques d'ingénierie exigent que la conformité aux caractéristiques de qualité spécifiées soit également évaluée pour les résultats intermédiaires/produits du cycle de vie dans tous les logiciels. procédés d'ingénierie.

Amelioration de la qualite

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

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

Théories et concepts applicables au génie logiciel amélioration sous-jacente de la qualité. Par exemple, la prévention et le diagnostic précoce des erreurs, l'amélioration continue (amélioration continue) et l'attention aux exigences des clients (orientation client), qui constituent le principe de "building in quality". Ces concepts sont basés sur le travail d'experts en 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.

Des approches telles que TQM(Gestion de la qualité totale - gestion de la qualité totale) et PDCA(Plan, Do, Check, Act - Planning, Action, Check, Response / Correction), sont des outils permettant d'atteindre les objectifs liés à la qualité. Le support de gestion aide à l'exécution des processus, à l'évaluation des produits et à l'obtention de toutes les données nécessaires. De plus, le programme d'amélioration développé (programme d'amélioration, généralement ciblé et couvrant le travail d'une unité ou d'une organisation dans son ensemble) identifie en détail toutes les actions et projets d'amélioration.<отдельных аспектов деятельности>dans un certain laps de temps pendant 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 de la direction est étroitement lié à la mise en œuvre d'une interaction active dans l'équipe et doit prévenir l'apparition de problèmes potentiels (et une opposition passive ou même 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 les ressources allouées au niveau du projet sont abordés dans le domaine de connaissances "Processus d'ingénierie logicielle".

Processus de qualité logicielle

Gestion de la qualité logicielle (SQM, Software Quality Management) 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 vous 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 dans le but d'atteindre les deux objectifs.

La planification de la qualité logicielle comprend :

  1. Définition du produit recherché en termes de caractéristiques de qualité.
  2. Planification des processus pour obtenir le produit requis.

Ces processus sont distincts des processus SQM en soi, qui à leur tour se concentrent sur l'évaluation des performances de qualité planifiées plutôt que sur la mise en œuvre effective de ces plans. Les processus de gestion de la qualité doivent déterminer dans quelle mesure le produit répondra aux besoins des clients et des parties prenantes, fournira de la valeur au client et aux parties prenantes et sera de la qualité nécessaire pour répondre aux exigences logicielles énoncées.

Le SQM peut être utilisé pour évaluer à la fois 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 de vérification.

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

Les processus SQM consistent en des tâches et des techniques conçu pour évaluer comment les plans de développement de logiciels commencent à se concrétiser 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 responsables avant que des mesures correctives appropriées ne soient prises. Le processus SQM est géré sur la base de 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 des pratiques apprises et des produits déjà produits. 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 » (permanente, et non périodique ; dans l'original - disciplinée) et<соответствующих>technicien de contrôle<рисками>dans les processus du cycle de vie des logiciels peut augmenter le potentiel de production d'un produit de qualité. Suite des informations détaillées pour la gestion des risques se trouvent dans le domaine de connaissances Gestion du génie logiciel.

Assurance qualité du logiciel (SQA)

Processus SQA fournir la confirmation que les produits logiciels et les processus du cycle de vie du projet répondent aux exigences spécifiées. Cette confirmation est effectuée sur la base de la planification (planification), de la mise en<работ>(mettre en acte) et exécuter (réaliser) un ensemble d'actions visant à faire de la qualité une partie intégrante du logiciel.
Une telle vision implique une formulation claire et précise du problème, ainsi que le fait que les exigences pour les<программному>décision. SQA réalise une assurance qualité dans le processus de développement et de maintenance grâce à la mise en œuvre de diverses activités à toutes les étapes<жизненного цикла>, ce 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é du logiciel.

Le SQA, tel que formulé par SWEBOK, se concentre sur les processus. Le rôle de la SQA 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 donné et que les mesures nécessaires des processus sont effectuées, avec le transfert des résultats de mesure au parties intéressées (structures organisationnelles et individus).

plan SQA définit les moyens qui seront utilisés pour s'assurer que le produit en cours de développement répond aux exigences spécifiées de l'utilisateur avec le plus haut niveau de qualité possible sous les contraintes de conception données.

Pour y parvenir, il faut tout d'abord que les objectifs de qualité soient clairement définis et compris (et aussi, interprétés sans ambiguïté, ce qui est prérequisà toutes fins et exigences connexes). Cela doit impérativement être reflété dans les plans de gestion pertinents.<проектом>, développement et maintenance.

Les activités et tâches spécifiques d'assurance qualité sont structurées, détaillant les exigences de leur coût et des ressources associées, les objectifs du point de vue de la gestion et le calendrier correspondant dans le cadre des objectifs fixés par les plans de gestion, de développement et de maintenance. Le plan SQA identifie les documents, les normes, les pratiques et les conventions appliquées dans le contrôle du projet, et comment ces aspects seront testés et surveillés pour assurer la suffisance et la conformité avec le plan donné.
Le plan SQA identifie les métriques, les techniques statistiques, les rapports de problèmes et les procédures d'action corrective 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 SQA.

En outre, le plan SQA aborde également les questions d'activités 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 logiciels personnalisés et/ou répliqués/prêts à l'emploi Solutions logicielles(commercial prêt à l'emploi, COTS) requis pour ce projet logiciel. Le plan SQA peut inclure des critères d'acceptation du logiciel et des activités de rapport et de gestion nécessaires à l'assurance qualité.<и контролю над>travaux.

Vérification et Validation (V&V)

La validation et la validation des logiciels constituent une approche rigoureuse de l'évaluation des produits logiciels tout au long de leur cycle de vie. Les efforts réalisés dans le cadre des travaux de vérification et de validation visent à assurer la qualité comme caractéristique intégrante 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 tout défaut. V&V peut être utilisé pour les produits intermédiaires, cependant, dans la mesure où cela correspond aux "é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 satisfait 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 la bonne manière ; généralement pour les intermédiaires, parfois pour le produit final), en ce sens que le produit obtenu dans le cadre de l'activité correspondante répond aux spécifications données dans le processus de l'activité précédente.
Certificat- 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 d'atteinte de l'objectif.

Les deux processus - vérification et attestation– démarrer dès les premiers stades de développement et de maintenance. Ils fournissent de la recherche (expertise) opportunités clés produit, à la fois dans le cadre des antécédents immédiats (produits intermédiaires) et en termes de respect des spécifications pertinentes. L'objectif de la planification V&V est de s'assurer que les processus de vérification et de validation disposent de ressources adéquates et que les rôles et responsabilités sont clairement attribués. Les documents du plan de V&V qui en résultent et<детально>décrit les différentes ressources, rôles et activités, ainsi que les techniques et outils utilisés.
Le plan traite également des aspects de gestion, de communication (interaction), de politiques et de procédures des activités de vérification et de qualification et de leur interaction. En outre, cela peut refléter les problèmes de rapport sur les défauts et les exigences de documentation.

Évaluation (review) et audit (Review and Audits)

Cinq types d'évaluations et d'audits :

  • Revues de direction
  • Revues techniques (revues techniques)
  • Contrôles
  • "Passages"
  • Audits (audtis)

Examens de gestion

Le but des évaluations de gestion est de suivre l'évolution<проекта/продукта>, déterminer 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 établis.

Les évaluations de gestion appuient les décisions d'apporter des modifications et de prendre des mesures correctives au besoin pendant l'exécution d'un projet logiciel.

Les évaluations de gestion déterminent l'adéquation des plans, des calendriers et des exigences, tout en surveillant en même temps leur progression ou leur incohérence. Ces évaluations peuvent être effectuées sur le produit, étant enregistrées sous la forme de rapports d'audit, de rapports d'état (de développement), de rapports V&V, ainsi que de divers types plans - gestion des risques projet / gestion de projet, gestion de configuration, sécurité<использования>logiciels (sécurité), évaluation des risques, etc.

Examens techniques

Le but des évaluations techniques est d'examiner un produit logiciel afin de déterminer son adéquation à l'usage auquel il est destiné. L'objectif est d'identifier les écarts par rapport aux spécifications et normes approuvées. Pour assurer les évaluations techniques, il est nécessaire de répartir les rôles suivants : décideur ; responsable de la révision ; registraire (enregistreur); et le personnel technique soutenant (exécutant directement) les activités d'évaluation.

L'évaluation technique nécessite impérativement les données d'entrée suivantes :

  • É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

Équipe<технической оценки> suit une procédure d'évaluation prédéterminée. Des personnes qualifiées (d'un point de vue technique) donnent une vue d'ensemble du produit (représentant l'équipe de développement). Étudier<продукта> s'effectue lors d'une ou plusieurs rencontres (entre ceux qui présentent le produit et ceux qui en donnent l'évaluation). L'évaluation technique est terminée une fois que toutes les activités de recherche prescrites sur le produit ont été réalisées.

Contrôles

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 (directeurs) par rapport à des membres de l'équipe d'inspection ne devraient pas participer aux inspections.
  2. L'inspection doit être dirigée par un responsable impartial (indépendant du projet et de ses objectifs) formé aux techniques d'inspection.

Les inspections de logiciels impliquent toujours les auteurs du produit intermédiaire ou final, contrairement aux évaluations qui ne l'exigent pas nécessairement. Les inspections (en tant qu'unités organisationnelles temporaires - groupes, équipes) comprennent un responsable, un greffier, un réviseur et plusieurs (de 2 à 5) inspecteurs. Les membres de l'équipe d'inspection peuvent se spécialiser dans différents domaines d'expertise (possèdent divers domaines compétences), par exemple, le domaine, les méthodes de conception, la langue, etc. dans pour ce moment(durée de) temps les inspections sont menées sur un seul petit morceau d'un produit (dans la plupart des cas, en se concentrant sur des caractéristiques fonctionnelles ou autres individuelles ; souvent sur la base de règles commerciales individuelles, d'exigences fonctionnelles ou d'attributs de qualité, note de l'auteur). Chaque membre de l'équipe doit examiner le produit logiciel et les autres intrants avant la réunion d'inspection, en appliquant peut-être différentes techniques d'analyse à de petites parties du produit ou au produit dans son ensemble, dans ce dernier cas en ne considérant qu'un aspect de celui-ci, comme les interfaces . Toute anomalie constatée doit être documentée et l'information transmise au responsable de l'inspection. Pendant le processus d'inspection, le leader dirige la session<инспекции>et vérifie que tout<члены команды>préparé pour l'inspection.

Un outil couramment utilisé dans les inspections est une liste de contrôle contenant des anomalies et des questions liées aux aspects<программного продукта>qui présentent un intérêt. La fiche qui en résulte catégorise souvent les anomalies et est évaluée par l'équipe pour son exhaustivité et sa précision. La décision de compléter l'inspection est prise conformément à l'un (l'un ou l'autre) des trois critères suivants :

  1. Adoption<продукта>avec peu ou pas de traitement
  2. Adoption<продукта>avec vérification des fragments recyclés
  3. Nécessité d'une nouvelle inspection

Les réunions d'inspection durent généralement plusieurs heures, contrairement à l'évaluation technique et à l'audit qui, dans la plupart des cas, impliquent une plus grande quantité de travail et, par conséquent, durent plus longtemps.

Visites guidées

Le but d'une exécution est d'évaluer un produit logiciel. Une course peut être effectuée afin de familiariser (éduquer) le public avec le produit logiciel.

Les principaux objectifs de la course sont :

  • Recherche d'anomalies
  • Amélioration du produit
  • Discuter des voies de mise en œuvre alternatives
  • Évaluation de la conformité aux normes et spécifications

Un ratissage est similaire à une inspection, cependant, il est généralement effectué de manière moins formelle. Fondamentalement, une course est organisée par des ingénieurs pour les autres membres de l'équipe afin d'obtenir un retour 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 et processus logiciels pour leur conformité aux réglementations, normes, directives, plans et procédures applicables.

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

Bien qu'il existe différents noms officiels (et classifications) pour les évaluations et les audits, il est important de noter que ces types d'activités peuvent être effectués sur presque n'importe quel produit à n'importe quelle étape du processus de développement ou de maintenance.

Considérations pratiques

Exigences de qualité logicielle

Facteurs d'influence

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

  • Étendue du système sur lequel le logiciel s'exécutera (critique de sécurité<людей>), critique pour les entreprises, etc.)
  • Configuration système et logicielle requise
  • Quels composants sont utilisés dans le système - commercial (externe) ou standard (interne)
  • Quelles normes de génie logiciel sont applicables dans un contexte donné
  • Quels 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 échéanciers 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 exactement la manière dont les processus SQM seront organisés et documentés, quel travail SQM sera sélectionné (standardisé au sein du projet, de l'équipe, de l'unité organisationnelle, de l'organisation), quelles ressources sont nécessaires et quelles sont les restrictions imposées aux efforts dirigés pour assurance qualité.

Fiabilité

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

Fiabilité le logiciel comprend des caractéristiques telles que la tolérance aux pannes, la sécurité d'utilisation (sécurité - sécurité dans le contexte d'un risque acceptable pour la santé humaine, les affaires, les 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 accès en lecture, ainsi que la garantie de la disponibilité des informations aux utilisateurs autorisés, dans la mesure des droits qui leur sont accordés), ainsi que la commodité et la facilité d'utilisation (utilisabilité). La fiabilité est également un critère qui peut être défini en termes de sûreté de fonctionnement.

La littérature abondante sur les systèmes à fiabilité améliorée joue un rôle important dans la discussion de cette question. En même temps, on utilise une terminologie issue du domaine de la mécanique traditionnelle et systèmes électriques(y compris celles ne comportant pas de logiciel) et décrivant les notions de danger, de risques, d'intégrité du système, etc.

Niveaux d'intégrité du logiciel

Niveau d'intégrité du logiciel 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 différents aspects de la sécurité (sécurité des usages et sécurité 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 le cadre de la sécurité de l'information, de la sécurité) peuvent être utilisées dans l'élaboration de plans de travail en le domaine de l'identification des sources possibles d'accidents. L'historique des défaillances de systèmes similaires peut également aider à identifier les techniques de détection de défaillance les plus utiles.<всесторонней>évaluations de la qualité des logiciels.

Lorsque l'on regarde de plus près l'intégrité des logiciels dans le cadre de projets spécifiques, une attention particulière doit être portée (en allouant des ressources et des travaux nécessaires) non seulement les processus SQM (en particulier les processus formels, y compris l'audit et la certification), mais aussi les aspects de la gestion des exigences (en termes de critères d'intégrité), la gestion des risques (y compris la planification des risques tant au stade du développement qu'au stade de l'exploitation et de la maintenance des du système), la conception (qui, pour en améliorer la fiabilité, passe nécessairement par une analyse et une vérification approfondies des solutions architecturales et technologiques envisagées pour l'utilisation, souvent par la création de projets pilotes, de stands de démonstration, etc.) et d'essais (pour assurer une étude approfondie des caractéristiques comportementales du système, y compris l'émulation de l'environnement de travail/de la configuration dans laquelle le système doit être utilisé pendant le fonctionnement).

Caractérisation des défauts

Les processus SQM assurent la détection des défauts. La description des caractéristiques des défauts joue un rôle majeur dans la compréhension du produit, facilite la correction du processus ou du produit et informe 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 (échecs). 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 d'anomalies formée par les membres de l'équipe d'évaluation pour discussion lors des réunions appropriées.

Dans un contexte d'évolution (et d'émergence de nouveaux) modes et langages de conception, ainsi que de nouveaux technologies logicielles, de nouvelles classes de défauts apparaissent également. Cela nécessite un énorme effort pour interpréter (et corriger) les classes de défauts (défaillances) préalablement définies. Lors du suivi des défauts, l'ingénieur s'intéresse non seulement à leur nombre, mais également à 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é de leur étude approfondie, la création de projets pilotes spécialisés, vérification supplémentaire concepts (preuve de concept, POC - une approche fréquemment utilisée lors de l'utilisation de nouvelles technologies), implication d'experts tiers, etc. Les informations en elles-mêmes, sans classification, sont souvent tout simplement inutiles pour découvrir les causes des défaillances, puisqu'il est nécessaire de les regrouper selon les types appropriés afin de déterminer les moyens de résoudre les problèmes. La question est de définir une taxonomie de défauts qui aura du sens pour les ingénieurs et l'organisation dans son ensemble.

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

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

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

Lors de l'examen de ce sujet, un défaut fait référence au résultat d'une défaillance logicielle. Les modèles de fiabilité sont construits sur la base des données de défaillance collectées lors des tests du logiciel ou de son utilisation. Ces modèles peuvent être utilisés pour prédire les défaillances futures et aider à la décision d'arrêter les tests.

Sur la base des résultats des travaux de SQM visant à détecter les défauts, des actions sont entreprises pour éliminer les défauts du produit à l'étude. Cependant, la question ne se limite pas à cela. Il existe d'autres actions possibles pour tirer pleinement parti des résultats des travaux SQM correspondants. 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 la direction et contrôle technique prendre les mesures correctives nécessaires). À son tour, la source d'information pour l'amélioration des processus, en particulier, est le processus SQM.

Les données sur les incohérences et les défauts trouvés lors de la mise en œuvre des techniques SQM pertinentes doivent être enregistrées pour éviter leur perte. Pour certaines techniques (par exemple, l'expertise technique, l'audit, les inspections), la présence d'un registraire (enregistreur) est obligatoire, précisément pour fixer ces informations, ainsi que les problèmes (y compris ceux nécessitant une réflexion supplémentaire) et 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 les statuts des défauts, les exécuteurs responsables, etc.). Les données de défaut peuvent être collectées et enregistrées sous la forme de demandes de changement (SCR, demande de changement de logiciel) 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 ), à la fois 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 à l'aide de 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 la direction de l'organisation / de l'unité organisationnelle ou de la 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 divisées en plusieurs catégories :

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

Techniques statiques

Les techniques statiques impliquent<детальное>étude (examen) de la documentation du projet, du logiciel et d'autres informations sur le produit logiciel sans son exécution. Ces techniques peuvent inclure d'autres activités d'évaluation « collective » ou d'examen « individuel » décrites ci-dessous, quelle que soit la mesure dans laquelle l'automatisation est utilisée.

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 le produit sans même se référer à son code. En règle générale, ce type de technique implique l'interaction en face à face d'au moins deux, et dans la plupart des cas, de plus d'un spécialiste. Dans le même temps, de telles réunions peuvent nécessiter une préparation préalable (presque toujours concernant 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 (voir ci-dessous) et des travaux de test. Ces techniques sont abordées, par exemple, dans la norme 12207 lors de l'examen de l'évaluation (révision) et de l'audit (audit).

Techniques analytiques

Les ingénieurs logiciels utilisent généralement des techniques analytiques. Du point de vue des méthodes et approches Agiles, des individus et des interactions<непосредственное>la communication et l'interaction constante des membres de l'équipe.

Parfois, plusieurs ingénieurs utilisent la même technique mais sur des parties différentes du produit. Certaines techniques reposent sur les spécificités des outils utilisés, 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 divers types d'expertise (évaluation) en tant qu'élément intégral 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 support est l'analyse de la complexité, qui est utile pour identifier les parties d'une conception de système qui sont trop complexes pour être correctement mises en œuvre, testées ou maintenues. Le résultat de l'analyse de complexité peut également être utilisé pour développer des scénarios de test (cas de test). Des techniques de recherche de pannes telles que l'analyse de la logique de commande peuvent également être utilisées dans d'autres cas. Pour les logiciels à logique algorithmique étendue, il est extrêmement important d'appliquer des techniques algorithmiques, surtout dans les cas où un algorithme incorrect (pas sa mise en œuvre, mais la logique, ndlr) peut conduire à des résultats désastreux (par exemple, les logiciels d'avionique, pour lesquels la sécurité problèmes d'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 vérifier les exigences et la conception (certes, occasionnellement, dans la pratique actuelle du développement de logiciels industriels). La validation s'applique aux logiciels critiques (ce qui, en général, n'a rien à voir avec les méthodes formelles - c'est un moyen naturel d'atteindre une qualité acceptable tout en minimisant les coûts). Le plus souvent, ils sont utilisés pour vérifier les parties critiques des systèmes critiques, telles que les 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 (l'exécution symbolique, implique souvent l'utilisation de modules "fictifs" en termes de logique exécutée, avec des entrées et des sorties émulées lorsque l'on considère le scénario général du comportement de systèmes multimodules ; ce terme désigne parfois d'autres techniques, selon la source choisie).

La visualisation (lecture) du code est généralement considérée comme une technique statique, mais un ingénieur qualifié peut exécuter le code directement "dans le processus" de lecture (par exemple, en utilisant des outils de débogage interactifs étape par étape pour se familiariser ou évaluer le code de quelqu'un d'autre ). Ainsi, cette technique peut très bien être qualifiée de dynamique. De telles divergences dans la classification des techniques montrent clairement que, selon le rôle d'une personne dans une organisation, elle peut adopter et appliquer les mêmes techniques de différentes manières.

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

Essai

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

  • traçabilité,
  • cohérence (cohérence),
  • complétude / complétude (complétude),
  • exactitude
  • et exécution directe<требований>(performance).

Cette validation couvre également tous les artefacts de sortie des processus de développement et de maintenance, la collecte, l'analyse et la quantification des résultats. Les activités SQA garantissent 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, stratégies, scénarios et procédures de test<тестирования>.
Les problèmes de test sont discutés en détail dans le domaine de connaissances Testing. Deux types de tests suivent les objectifs fixés par 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 prêt à l'emploi) à utiliser dans le produit en cours de création.

Parfois, des organisations V&V indépendantes peuvent exiger la capacité de surveiller le processus de test et, dans certains cas, de certifier (ou, plus communément, de documenter/enregistrer) les performances réelles.<тестов>à effectuer conformément aux procédures établies. En revanche, un recours à V&V peut être fait pour évaluer le test lui-même : la suffisance des plans et des procédures, la conformité 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, le tiers est une source d'évaluation indépendante, généralement accréditée pour posséder l'autorité appropriée (par exemple, l'organisme élaborant une norme particulière, 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 la conformité du produit à un certain ensemble d'exigences (par exemple, la sécurité de l'information).

Mesure de la qualité des logiciels

Les modèles de qualité des produits logiciels incluent souvent des métriques pour déterminer le niveau de chaque caractéristique de qualité inhérente au produit.

Si les caractéristiques de qualité sont choisies correctement, de telles mesures peuvent soutenir la qualité (niveau de qualité) de plusieurs façons. Les métriques peuvent aider à guider le processus de prise de décision. Les métriques peuvent aider à identifier les zones problématiques et goulots d'étranglement dans les processus. Les métriques sont un outil permettant aux ingénieurs d'évaluer la qualité de leur travail - à la fois dans le cadre des objectifs définis par la SQA et dans le cadre d'un processus d'amélioration à plus long terme.<достигаемого>qualité.
Avec l'augmentation de la complexité interne, la sophistication des logiciels, les questions de qualité vont bien au-delà de l'énoncé du fait que le logiciel fonctionne ou ne fonctionne pas. La question est de savoir dans quelle mesure les objectifs de qualité quantifiés sont atteints.

Il existe plusieurs autres sujets qui sont des métriques qui prennent directement en charge SQM. Ils incluent une assistance pour décider quand arrêter les tests. Dans ce contexte, les modèles de fiabilité et la comparaison avec des échantillons (normes acceptées comme exemples d'une certaine qualité - références) semblent utiles.

Le coût du processus SQM est l'un des<проблемных>questions qui surgissent toujours dans le processus de décision de l'organisation du projet (travail de projet). Souvent, des modèles de coûts génériques sont utilisés, basés sur la détermination du moment exact 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 avait été trouvé 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 manière dont tous les processus du cycle de vie peuvent être améliorés.

Même si, en tant qu'estimations quantitatives (dans ce cas nous parlons sur les résultats des évaluations plutôt que sur le processus de mesure) les 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 qui facilitent 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 basées sur les statistiques et les tests statistiques fournissent souvent un "instantané" des domaines les plus problématiques du produit logiciel à l'étude (et d'ailleurs, il en va souvent de même pour les processus). Les graphiques et diagrammes qui en résultent aident visuellement les décideurs à identifier les domaines où les ressources doivent être concentrées<проекта>. Les résultats de l'analyse des tendances peuvent montrer que le calendrier n'est pas respecté, par exemple lors des tests ; ou que les échecs de certaines classes deviennent de plus en plus fréquents jusqu'à ce que des mesures correctives soient prises dans le processus de développement. Les techniques de prédiction aident à planifier les temps de test et à prévoir les échecs.

Caractéristiques de qualité du logiciel

Mobilité— Ensemble d'attributs relatifs à la capacité d'un logiciel à être porté d'un environnement à un autre.
NOTE L'environnement peut comprendre des environnements organisationnels, techniques ou logiciels.

Fiabilité— Ensemble d'attributs relatifs à la capacité d'un logiciel à maintenir son niveau de performance dans des conditions spécifiées pendant une période de temps spécifiée.

Remarques:

  1. Il n'y a pas de dépréciation ou de vieillissement du logiciel. Les limites de fiabilité proviennent d'erreurs dans les exigences, la conception et la mise en œuvre. Les échecs dus à ces erreurs dépendent de la façon dont le logiciel est utilisé et des versions de logiciel précédemment sélectionnées.
  2. Dans la définition de la norme ISO 8402, la « fiabilité » est « la capacité d'un élément à remplir une fonction requise ». Dans la présente Norme internationale, la capabilité n'est qu'une des caractéristiques de la qualité du logiciel. Par conséquent, la définition de la fiabilité a été élargie pour "maintenir son niveau de performance" au lieu de "réaliser la fonction requise".

Praticité (convivialité)— Un ensemble d'attributs relatifs à l'étendue des travaux requis pour l'utilisation et l'évaluation individuelle de cette utilisation par un ensemble spécifique ou prévu d'utilisateurs.

Remarques:

  1. Les "Utilisateurs" peuvent être interprétés comme la majorité des utilisateurs directs du logiciel interactif. Les utilisateurs peuvent inclure des opérateurs, des utilisateurs finaux et des utilisateurs indirects affectés ou dépendants de l'utilisation du logiciel. L'utilisabilité doit être prise en compte dans toutes les conditions de fonctionnement de l'utilisateur susceptibles d'affecter le logiciel, y compris la préparation à l'utilisation et l'évaluation des résultats.
  2. L'utilisabilité, définie dans la présente Norme internationale comme un ensemble spécifique d'attributs de produit logiciel, diffère de la définition en termes d'ergonomie, où d'autres caractéristiques telles que l'efficacité et l'inefficacité sont considérées comme des composantes de l'utilisabilité.

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

Fonctionnalité— 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 à des besoins exprimés ou implicites.

Remarques:

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

Efficacité— Un ensemble d'attributs relatifs à 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, matériels (par exemple papier d'impression, disquettes) et services du personnel d'exploitation, d'entretien ou de maintenance.

Qualité des produits logiciels

La qualité du produit logiciel (qualité logicielle)- l'ensemble des caractéristiques et caractéristiques d'un produit logiciel relatives à sa capacité à satisfaire des besoins exprimés ou implicites.

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

L'importance de chaque caractéristique de qualité varie également selon les points de vue adoptés.

Vue utilisateur

Les utilisateurs sont principalement intéressés par l'application du logiciel, ses performances et les résultats d'utilisation. Les utilisateurs évaluent le logiciel sans connaître ses composants internes ni la manière dont 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 création exige que l'utilisateur et le développeur utilisent les mêmes caractéristiques de qualité logicielle que celles utilisées pour établir les exigences et l'acceptation. Lorsqu'un logiciel est développé pour la vente, les exigences de qualité doivent refléter les besoins anticipés.

Étant donné que les développeurs sont responsables de la création de logiciels qui doivent répondre à des exigences de qualité, ils s'intéressent autant à la qualité des produits intermédiaires 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 la spécification de conception en termes de longueur de route, de latence et d'accès. Les métriques appliquées à l'interface externe d'un produit sont remplaçables par les métriques appliquées à sa structure.

Présentation de la direction

Le gestionnaire peut être plus intéressé par la qualité générale que par une caractéristique de qualité spécifique et pour cette raison devra déterminer l'importance des valeurs reflétant les exigences commerciales pour les caractéristiques individuelles.
Le responsable peut également avoir besoin d'évaluer l'amélioration de la qualité par rapport à des critères de contrôlabilité, tels que les retards prévus ou les dépassements de coûts, car il souhaite optimiser la qualité dans un coût, une main-d'œuvre et un délai limités.

Évaluation de la qualité des produits logiciels

La figure suivante montre les principales étapes nécessaires 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 de la procédure d'évaluation. Ce processus peut être appliqué à n'importe quelle phase appropriée du cycle de vie de chaque composant de produit logiciel.
L'objectif de la première étape 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 considéré et doivent être déterminées avant le début du développement.
L'objectif de la deuxième étape est de préparer la base de l'évaluation.
Le résultat du troisième est une conclusion sur la qualité des produits logiciels. La qualité globale est ensuite comparée à d'autres facteurs tels que le temps et le coût. La décision finale de la direction est prise sur la base du critère de contrôlabilité. Le résultat est une décision de gestion d'accepter ou de rejeter, ou de publier ou de ne pas publier le produit logiciel.

Modèle de qualité de processus

Le processus de développement doit être structuré de manière à garantir que la qualité du produit puisse être mesurée. Les études menées montrent que plus la qualité du processus de développement est élevée, plus la qualité du logiciel développé 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 assure la croissance de la qualité dans le processus de cycle de vie pour les processus matures, s'avère beaucoup plus importante. Tout cela peut être représenté sous la forme d'un modèle.

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

De là découlent les conséquences suivantes :
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 un codage de haute qualité.
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 la transparence des processus de développement utilisés. La mesure de la qualité du processus de développement des entrepreneurs est une partie importante de Direction générale une qualité plus importante que la mesure de la qualité du produit final fabriqué lors des tests d'acceptation.
Deuxièmement, les tests et mesures de qualité doivent avoir lieu à toutes les étapes du cycle de vie. L'extraction de données de qualité qui ont été intégrées à un stade précoce peut s'avérer très coûteuse si les résultats complets ne sont pas disponibles.

Conseils sur l'application des caractéristiques de qualité

1 Applicabilité

2 Concepts de qualité logicielle

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

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éfinir les niveaux de classement
3.2.3 Détermination du critère d'évaluation

3.3 Procédure de classement

3.3.1 Mesure
3.3.2 Classement
3.3.3 Évaluation

1. Introduction

2 Définition d'indicateurs de qualité complets

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 Stabilité (maturité)
2.2.2 Tolérance aux pannes
2.2.3 Récupérabilité

2.3 Convivialité

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

2.4 Efficacité

2.4.1 Comportement temporel
2.4.2 Comportement des ressources

2.5 Maintenabilité

2.5.1 Analysabilité
2.5.2 Changeabilité
2.5.3 Stabilité
2.5.4 Testabilité

2.6 Portabilité

2.6.1 Adaptabilité
2.6.2 Facilité de mise en œuvre (Installabilité)
2.6.3 Conformité
2.6.4 Remplaçabilité

Remarques:

  1. L'interchangeabilité est utilisée à la place de la compatibilité afin d'éviter une éventuelle confusion avec l'interopérabilité.
  2. L'interchangeabilité avec un outil logiciel particulier n'implique pas que ce remède remplaçable par l'outil logiciel considéré.
  3. L'interchangeabilité peut inclure des attributs de facilité de mise en œuvre et d'adaptabilité. Le concept a été introduit en tant que 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 atteint les objectifs pour lesquels 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 d'une importance cruciale, car elle exprime et fixe les objectifs, les rend documentés (formalisés).
Par conséquent, la qualité est un élément essentiel de la gestion de la structure du projet.
Pour la qualité, tout est mesurable.

Gestion de la qualité du projet

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

Principes de qualité (ISO 9000)

  1. Orientation client
  2. Responsabilité de la direction
  3. Implication des personnes
  4. Approche processus
  5. Approche système de la gestion
  6. Amélioration continue
  7. Prise de décision basée sur les faits
  8. Des relations mutuellement bénéfiques avec les fournisseurs

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

Gestion de la qualité du projet (PMI) : sous-processus

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

Planification de la qualité

L'une des étapes consiste à déterminer quel 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é applicables au projet. Vous trouverez ci-joint une liste de recommandations sur la manière dont les exigences de ces normes seront respectées.

Processus de planification de la qualité : données d'entrée

  • Politique de qualité. Un document qui contient des principes sur la façon dont une organisation définit la qualité, mais n'inclut pas la manière d'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 importants qui peuvent affecter la planification de la qualité.
  • Normes et réglementations. Une liste de normes et de réglementations pertinentes pour un domaine 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. Elle est plus efficace lorsque la comparaison se fait avec les meilleurs, et pas seulement avec d'autres projets internes.
  • Diagrammes. Utilisé pour montrer comment différents éléments interagissent. Il existe de nombreux types de diagrammes, y compris le diagramme de cause à effet.
  • Mise en place d'expérimentations. Utilisez des scénarios hypothétiques pour déterminer quelles variables ont le plus d'impact sur le résultat final d'un projet.
  • Le 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 de qualité. Doit couvrir les domaines suivants :
  • Contrôle de conception.
  • Contrôle documentaire.
  • Contrôle de l'achat des matériaux.
  • Inspections.
  • Contrôle des tests (test).
  • Maîtrise des équipements de contrôle et de mesure.
  • Action corrective.
  • Dossiers de qualité.
  • Audits (plan et procédure)
  • Procédures documentées et instructions de travail. Décrivez en détail les processus et comment mesurer la qualité du processus, du sous-processus et des activités individuelles réalisées.
  • Fiches de contrôle. Listes de questions pour vérifier que rien n'a été omis.

Assurance qualité

Processus d'assurance qualité- c'est l'adoption de mesures systématiques planifiées pour assurer la mise en œuvre de tous les processus envisagés nécessaires pour que le projet (produit, service) réponde aux exigences de qualité.
L'assurance qualité est le principal sous-processus de la gestion de la qualité. Cette activité est menée tout au long du projet.

Processus d'assurance qualité : données d'entrée

  • Instructions de travail. Un autre résultat du processus de planification de la qualité.
  • Résultats des mesures de contrôle de la qualité. Le résultat du processus de contrôle de la qualité.

Processus d'assurance qualité : outils et techniques

Outils et techniques de planification de la qualité. Il s'agit notamment de l'analyse des coûts et des avantages, des comparaisons, des graphiques, de l'expérimentation et des coûts de qualité.

Audit qualité

Des "revues" structurées qui valident les "leçons apprises". Les types d'audit qualité sont :

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

Processus d'assurance qualité : extrants

Amelioration de la qualite. Implique de prendre des mesures pour augmenter l'efficacité et la productivité du projet afin de fournir des avantages supplémentaires 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é : données d'entrée

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

Contrôle qualité : outils et techniques

  • Inspections. Inclure des activités telles que mesurer, tester, tester pour s'assurer que le résultat répond aux exigences.
  • Tableaux de contrôle. Les diagrammes d'exécution définissent statistiquement les limites supérieures et inférieures reflétées de chaque côté des moyennes du processus.
  • Diagrammes : Ishikawa, Pareto.
  • Échantillon statistique.
  • Analyse de tendance.

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

Processus de contrôle de la qualité : extrants

  • Amelioration de la qualite. Sortie du processus d'assurance qualité.
  • Faire des décisions. Les décisions sont prises selon que l'objet inspecté est accepté ou rejeté.
  • Action corrective. L'action entreprise pour faire correspondre un objet non conforme.
  • Listes de contrôle remplies.
  • Configuration du processus.

Les références

  • http://sorlik.blogspot.com, Sergueï Orlik, 2004-2005
  • Genelt A.E. Manuel pédagogique et méthodologique sur 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 de détermination des exigences de qualité des logiciels, des approches de sélection et d'amélioration des modèles d'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 ont été formés.

Qualité logicielle- il s'agit d'un ensemble de propriétés qui déterminent l'utilité du 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 assez largement, 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 la norme ISO 9001, selon laquelle la qualité est « le degré de conformité des caractéristiques inhérentes aux exigences ». La qualité logicielle est une notion relative qui n'a de sens qu'en prenant en compte les conditions réelles d'utilisation du logiciel. Par conséquent, les exigences de qualité du logiciel sont définies conformément aux conditions et à la portée spécifique du logiciel.

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

Premier niveau correspond à la définition de caractéristiques (indicateurs) de la qualité du logiciel, chacune reflétant le point de vue d'un utilisateur distinct sur la qualité. Selon les normes GOST R ISO / IEC 9126-93, GOST R ISO / IEC 12119-2000, GOST 28195-89, le modèle de qualité comprend six caractéristiques, ou six principaux indicateurs de qualité, que nous listons par ordre d'importance pour la plupart 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étaille différents aspects d'une caractéristique particulière. Un ensemble d'attributs d'attributs de qualité est utilisé dans l'évaluation de la qualité.

Envisagez des ensembles d'attributs pour chacun des indicateurs de qualité répertoriés (Fig. 3.1).

Fonctionnalité - un ensemble de propriétés qui déterminent la capacité d'un logiciel à exécuter les fonctions prévues dans un environnement donné conformément aux exigences spécifiées. En dessous de une fonction une séquence ordonnée d'actions est censée satisfaire les propriétés du consommateur. Les fonctions sont ciblé (principale) et auxiliaire.

Aux attributs Fonctionnalité rapporter:

  • Sécurité- un attribut qui indique 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 possibilité d'interaction de ce logiciel avec des systèmes et des environnements spéciaux ( SE, réseaux informatiques);
  • complétude fonctionnelle- un attribut qui montre une mesure de la suffisance des fonctions principales pour résoudre les problèmes conformément à l'objectif de ce logiciel.

fiabilité fonctionnelle. Les attributs de la fiabilité fonctionnelle du logiciel comprennent :

  • infaillibilité- un attribut qui détermine la capacité du logiciel à fonctionner sans erreur ;
  • à droite- un attribut qui montre la mesure de la réalisation des 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 aux pannes- un attribut qui caractérise la capacité du logiciel à exécuter correctement des fonctions dans des conditions anormales (panne matérielle, erreurs de données et d'interfaces, etc.) ;
  • fiabilité- un attribut qui caractérise la capacité d'un logiciel à ne pas provoquer de pannes fonctionnelles Système d'Information;
  • récupérabilité- un attribut qui caractérise la capacité du programme à éliminer erreur de logiciel et de redémarrer pour ré-exécuter et restaurer les données en cas de panne fonctionnelle ;
  • préparation- un attribut qui indique la capacité du programme à effectuer la transformation voulue sans erreur sur une requête arbitraire.

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

Riz. 3.1.

Les fonctionnalités d'utilisabilité incluent :

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

Efficacité - un ensemble d'attributs qui déterminent la relation entre les niveaux d'exécution du logiciel, l'utilisation des ressources (outils, équipements, matériaux - papier pour un périphérique d'impression, etc.) et les services fournis par le personnel de maintenance régulier, etc.

Les attributs de performance du logiciel incluent :

  • réactivité- un attribut indiquant le temps de réponse, le traitement et l'exécution des fonctions ;
  • efficacité des ressources- un attribut indiquant la quantité et la durée des ressources utilisées dans l'exécution des fonctions logicielles ;
  • cohérence- un attribut qui indique 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é aux 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 qui spécifie l'effort nécessaire pour diagnostiquer les pannes ou identifier les pièces à modifier ;
  • stabilité- un attribut indiquant la permanence de la structure et le risque de sa modification ;
  • testabilité- un attribut qui indique les efforts lors de la validation et de la vérification pour détecter les non-conformités aux exigences, ainsi que le besoin de modification et de certification du 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 l'introduction de nouvelles fonctionnalités dans le logiciel ou dans l'environnement d'exploitation.

La portabilité est un ensemble d'indicateurs qui indiquent la capacité d'un logiciel à s'adapter pour fonctionner dans de nouvelles conditions de l'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 celui dans lequel il a été créé, compte tenu des nouvelles capacités logicielles, organisationnelles et techniques.

La portabilité inclut les attributs :

  • adaptabilité- un attribut qui détermine l'effort d'adaptation à divers environnements;
  • personnalisation(facilité d'installation) - un attribut qui détermine l'effort nécessaire 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 possibilité de transférer un logiciel d'un environnement d'outil à un autre avec l'installation ou l'adaptation nécessaire du logiciel.

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

Quatrième niveau- il s'agit d'un élément d'évaluation de la métrique (poids), qui sert à évaluer la valeur quantitative ou qualitative d'un attribut particulier de l'indicateur de qualité logicielle. En fonction de l'objectif, des fonctionnalités et des conditions de maintenance du logiciel, le plus caractéristiques importantes qualités et leurs attributs. Les attributs sélectionnés et leurs priorités sont reflétés dans les exigences de 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 de produits logiciels. Caractéristiques de qualité et lignes directrices pour leur application. Depuis le spectre systèmes logiciels large, un groupe de systèmes a été sélectionné pour créer des tests. Pour évaluer la qualité de ce groupe de programmes, une brève description de certains systèmes logiciels est donnée. Selon les caractéristiques de ce groupe outils logiciels, une liste de caractéristiques qui déterminent la qualité des programmes a été compilée. Selon les recommandations de la norme ISO 9126, une étude a été réalisée sur les caractéristiques d'un groupe sélectionné d'outils logiciels. Comme méthode de détermination des valeurs des indicateurs de qualité, l'enregistrement des caractéristiques (disponibles ou non) et l'évaluation par des experts ont été utilisés. Ainsi, une méthodologie d'évaluation de la qualité d'un des types de logiciels selon la norme ISO 9126 est proposée.

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 d'apprentissage automatisés // Problèmes d'informatisation de la région. PIR-2005 : matériaux du neuvième conférence scientifique et pratique(Krasnoïarsk, 11-12 octobre 2005). - Krasnoïarsk : IPTs KSTU, 2005. - v. 2. - S. 132–135.

4. Gorbachenko I.M. Analyse comparative systèmes existants tests // Tests dans le domaine de 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) / éd. éd. G.P. Karlov. - Krasnoïarsk : SibGTU, 2008. - S. 177-183.

5. Lipaev V.V. Problèmes d'assurance qualité des logiciels complexes [Ressource électronique]. – Mode d'accès : http://quality.eup.ru/MATERIALY4/poksps.htm (consulté le 9.04.2013).

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

Sur le ordinateurs modernes installé une grande variété de logiciels (SW). Et je veux qu'il soit de haute qualité, réalisable, fonctionne sans échecs, etc. Considérez la définition de "Software Quality" dans le contexte des normes internationales :

1) La qualité du logiciel est la mesure dans laquelle le logiciel possède une combinaison requise de propriétés. ;

2) qualité de l'outil logiciel - un ensemble de propriétés de l'outil logiciel (PS) qui déterminent son aptitude à satisfaire les besoins spécifiés ou implicites conformément à son objectif [GOST 28806-90 "Qualité logicielle. 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é d'un des types de logiciels - les systèmes de création de tests.

Norme ISO9126

À l'heure actuelle, le plus courant et le plus utilisé est un modèle de qualité logicielle à plusieurs niveaux, présenté dans un ensemble de normes ISO 9126. La base de réglementation des indicateurs de qualité du système est la norme internationale ISO 9126 « Technologies de l'information. Évaluation de produits logiciels. Caractéristiques de qualité et lignes directrices pour leur application. Cette norme décrit la distribution à plusieurs niveaux des fonctionnalités logicielles. Au niveau supérieur, 6 caractéristiques principales de la qualité logicielle sont identifiées, chacune étant déterminée par un ensemble d'attributs qui ont des mesures appropriées pour une évaluation ultérieure (figure) .

Selon ce modèle, la fonctionnalité d'un outil logiciel (fonctionnalité) est un ensemble de propriétés logicielles déterminées par la présence et les spécificités d'un ensemble de fonctions pouvant satisfaire des besoins de qualité donnés ou implicites ainsi que sa fiabilité en tant que système technique. Fiabilité - la capacité du logiciel à effectuer 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. L'utilisabilité d'un outil logiciel (utilisabilité) est un ensemble de propriétés du PS qui caractérise les efforts nécessaires à son utilisation et l'appréciation des résultats de son utilisation par un cercle donné d'utilisateurs du PS. Efficacité - la capacité du logiciel à fournir le niveau de performance requis conformément aux ressources allouées, au temps et à d'autres conditions spécifiées. Maintenabilité - la facilité avec laquelle le logiciel peut être analysé, testé, modifié 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 du PS, qui caractérise l'aptitude au transfert d'un environnement d'exploitation à d'autres.

Modèle de qualité logicielle (ISO 9126)

Logiciel pour créer des systèmes de test

Avec le 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 la formation, qui est utilisée comme un outil de veille 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 d'assimilation par les élèves du matériel pédagogique obligatoire, et à l'administration sur l'efficacité de la gestion. Le système de test informatisé est un outil universel pour déterminer le niveau de connaissances des élèves à tous les niveaux du processus éducatif.

La création de tests à un niveau méthodologique élevé nécessite que l'enseignant développe une structure conceptuelle et terminologique claire du cours, c'est-à-dire tableaux de concepts et de thèses vérifiés dans des tests, structurés par sujets et sections du programme de la discipline académique.

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

Actuellement, de plus en plus souvent ont commencé à apparaître des outils prêts à l'emploi pour le développement de programmes de formation. De plus, ces évolutions ne sont pas seulement étrangères (par exemple - Adobe Acrobat, Macromedia Authorware, ToolBook II, Quest et autres), mais aussi nationaux (par exemple, HyperMethod, Associate Professor, Prometheus, OROX network shell, CADIS). Décrivons brièvement certains d'entre eux.

L'un des systèmes de test "Test Designer" est un système de test de connaissances universel (site Web du système - http://www.keepsoft.ru/simulator.htm). Le programme prend en charge cinq types de questions : fermées (choix d'une ou plusieurs réponses), ouvertes (saisie de la réponse), correspondance et classement. Cela vous permet d'exécuter tous les tests. Dans les tests, il est possible d'utiliser de la musique, des sons, des images et des vidéos. Toutes les données peuvent être imprimées sur une imprimante. Sur un ordinateur, les tests peuvent être effectués indépendamment par plusieurs personnes, entrant dans le programme sous leur propre nom.

Le package suivant est le système de test INDIGO (site Web - http://indigotech.ru/). Dans ce système, vous pouvez également créer des tâches de test de 5 types. Mais à côté de cela, une caractéristique du concepteur de tests INDIGO est la prise en charge d'un regroupement hiérarchique à plusieurs niveaux des questions de test par tâches, sujets, etc. Après tout, si les questions du test sont affichées dans une liste linéaire, il y a des difficultés à naviguer et à comprendre quelle question se rapporte à quoi. Dans ce système, il est possible de régler 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 package à l'étude est VeralTest - un ensemble de programmes permettant de créer des cas de test et d'organiser des tests informatiques multi-utilisateurs (site Web - http://veralsoft.com/veraltest.shtml). Dans ce système, les types de back test suivants peuvent être créés - fermés (choix d'une réponse et choix de plusieurs réponses), saisie d'une réponse textuelle, saisie d'une réponse numérique, questions d'appariement.

Le progiciel VeralTest est disponible en deux éditions :

VeralTest Express. Vous permet de créer des tests auto-exécutables autonomes (tests exe) qui peuvent être exécutés sur n'importe quel ordinateur sans prédéfini et paramètres. Le package VeraTest Express comprend : l'éditeur de test TestEditor et le programme de visualisation des résultats de test ResultViewer.

VeralTest Professionnel. Prend en charge toutes les fonctionnalités de l'édition express. De plus, le package comprend un serveur de test (programme TestServer), qui vous permet d'organiser des tests dans une classe informatique ou réseau local entreprises. Dans ce cas, l'accès aux tests s'effectue 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 regrouper en groupes, attribuer des tests à effectuer par les utilisateurs, 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 - http://edu.of.ru/volsch31/default.asp?ob_no = 2300.

Le tableau répertorie les caractéristiques de certains outils de création de systèmes de test et les compare.

Appliqué à cette espèce outils logiciels, il est très difficile d'envisager l'efficacité, car l'influence d'une personne (un enseignant qui crée des tests et un élève qui répond à un test) est grande. Si l'efficacité est considérée du point de vue de la vitesse de vérification des tests, alors cet indicateur dépend largement de la vitesse de transfert des informations sur réseau informatique, à partir du nombre de tâches de test.

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

Si vous donnez 1 point pour la présence de chaque fonctionnalité, il s'avère que MOODLE a reçu 22 points des systèmes considérés, 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, 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 des étudiants.

Conclusion

L'évaluation des indicateurs de qualité logicielle peut être effectuée de différentes manières et méthodes. La méthodologie 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 systèmes logiciels en utilisant divers systèmes indicateurs de qualité;

Établir la qualité des programmes pendant le développement Termes de référence et le contrôler à toutes les étapes du cycle de vie, c'est-à-dire évaluer niveau minimal qualité avec des informations incomplètes sur systèmes logiciels, qui est réalisé avec les valeurs déjà obtenues des indicateurs de qualité;

Caractéristiques comparatives de quelques outils de création de parcours de formation

Nom

"Constructeur de tests"

VeralTest Express / Professionnel

Fiabilité

Complétude (probabilité d'échec)

Bas / Haut

Tolérance aux pannes (temps de disponibilité)

Récupération

Disponibilité du système Réserver une copie

Enregistrement des tests dans fichier séparé

Le confort d'utilisation

Facilité de développement

Disponibilité des lignes directrices pour l'étude

Clarté

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

+ (en anglais)

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

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

Possibilité d'évaluation automatique de 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

Limite de temps pour chaque question

Limitation du temps total pour réussir le test

Possibilité de diviser les questions par niveaux de difficulté

Fonctionnalité

Disponibilité d'outils de protection (par exemple, cryptage des tests)

Possibilité de fonctionnement en réseau informatique local

Travailler sur Internet

Facilité d'entretien

Disponibilité du service soutien technique

Disponibilité de modules séparés

Disponibilité des réglages pour l'ingénieur

Présence de paramètres pour le professeur

Disponibilité des réglages pour les testés

Portabilité

Disponibilité d'une version réseau

+ (Internet)

Volume occupé

20,8 Mo / 60 Mo

Basé sur système installé des indicateurs de qualité, évaluent différents programmes d'une même finalité 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 pris en compte, modifier en fonction des caractéristiques d'autres types de logiciels.

Réviseurs :

Dorrer G.A., docteur en sciences techniques, professeur, chef. Département, É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;

Levshina V.V., docteur en sciences techniques, professeur, chef. Département de gestion de la qualité et des méthodes mathématiques de l'économie, Université technologique d'État de Sibérie, Krasnoïarsk.

Le travail a été reçu par les éditeurs le 7 mai 2013.

Lien bibliographique

Gorbachenko I.M. ÉVALUATION DE LA QUALITÉ DE LOGICIELS POUR LA CRÉATION DE SYSTÈMES DE TEST // Recherche fondamentale. - 2013. - N° 6-4. - S. 823-827 ;
URL : http://fundamental-research.ru/ru/article/view?id=31642 (date d'accès : 20/07/2019). Nous portons à votre connaissance les revues publiées par la maison d'édition "Academy of Natural History"

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

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

Le concept de qualité logicielle

À première vue, la « qualité logicielle » peut sembler être 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. Voyons d'abord la définition générale.

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

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

Options de qualité logicielle

Principales caractéristiques de la qualité logicielle selon ISO/IEC 25010:2011 :

  1. Fonctionnalité. Un logiciel est reconnu fonctionnel s'il exécute les tâches qui lui sont assignées et 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é d'un logiciel s'entend comme l'exécution ininterrompue des tâches qui lui sont assignées dans des conditions déterminées pendant une période de temps déterminée.
  3. Convivialité (facilité d'utilisation). Ce paramètre caractérise le degré de commodité du logiciel pour les utilisateurs, sa visibilité, sa facilité d'utilisation et d'étude.
  4. Efficacité. Le paramètre correspond au degré auquel le produit fournit les performances requises dans des 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é. Le degré de facilité de portage sur une autre plate-forme. L'assurance qualité du logiciel consiste à le vérifier pour chacun des paramètres répertoriés, à identifier les faiblesses et à résoudre les problèmes.
  7. Compatibilité. La capacité des composants logiciels à interagir les uns avec les autres.
  8. Sécurité, c'est-à-dire minimiser les menaces associées à la lecture non autorisée, à la modification des informations, etc. Les menaces peuvent également être associées à une utilisation incorrecte du logiciel, à l'influence externe de personnes non autorisées, à la défaillance des moyens techniques.

Assurance qualité et tests

Les termes "tests" 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 à sa maintenance post-release.

Les tâches des spécialistes QA comprennent :

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

Essai– vérification de la conformité du logiciel aux exigences.

Vous voyez donc que l'assurance qualité est un concept plus large qui inclut les activités de test.

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

Les ingénieurs de test préparent des stratégies de test et planifient en fonction des spécificités du projet et des exigences de la solution, créent et optimisent davantage un ensemble de cas de test, recherchent des défauts, créent et envoient des rapports de défaut aux développeurs, vérifient que le défaut est corrigé.

La fonction d'assurance qualité peut être exercée par un service interne de l'entreprise, ou elle peut être déléguée à un prestataire indépendant qui évaluera objectivement la solution elle-même, mettra en place des processus d'assurance qualité et permettra ainsi la mise sur le marché d'un produit de haute qualité. le marché qui répond aux besoins des entreprises et aux attentes des utilisateurs.

LA CLOCHE

Il y en a qui ont lu cette news avant vous.
Abonnez-vous pour recevoir les derniers articles.
E-mail
Nom
Nom de famille
Aimeriez-vous lire The Bell
Pas de spam