Maison  >  Article  >  Périphériques technologiques  >  Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

WBOY
WBOYavant
2024-03-14 09:00:20952parcourir

Auteur | Zhang Xuhai

Avec le développement rapide des voitures intelligentes, les cockpits intelligents ont rencontré quelques problèmes en termes de performances et de fiabilité, entraînant une mauvaise expérience utilisateur et une augmentation progressive des plaintes. Cet article aborde brièvement l'importance de créer un cadre d'évaluation de logiciel de cockpit intelligent d'un point de vue technique, ainsi que les méthodes permettant d'améliorer continuellement les performances et la fiabilité.

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

1. Mauvaises performances et fiabilité du logiciel de cockpit intelligent

Selon le "Livre blanc Smart Cockpit 2023 - Focus sur la seconde moitié de l'électrification" publié par KPMG, l'ampleur du marché chinois du cockpit intelligent automobile continue s'étendre de 2022 à 2026. Le taux de croissance annuel composé devrait dépasser 17 %, ce qui montre que ce domaine a un énorme potentiel de développement. À mesure que le marché se développe, les fonctions logicielles du cockpit intelligent deviendront plus diversifiées et plus puissantes, et le niveau d'intelligence global sera également considérablement amélioré. Cela montre que l'industrie automobile évolue dans une direction plus intelligente et connectée, offrant aux consommateurs une expérience de conduite plus intelligente, plus pratique et plus confortable.

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

(Source : "Livre blanc sur le cockpit intelligent 2023 - Focus sur la seconde moitié de l'électrification")

À mesure que les prévisions de taille du marché continuent de croître, la proportion de plaintes des consommateurs concernant les logiciels de cockpit intelligent augmente également d'année en année. . Il se concentre principalement sur l'expérience opérationnelle, les performances et la fiabilité des logiciels de cockpit intelligent, mettant en évidence les défis posés par l'augmentation continue des fonctions intelligentes.

Selon le rapport d'analyse des plaintes automobiles des quatre trimestres 2023 de Cheqi.com, les problèmes de qualité impliqués dans le cockpit intelligent (machine du véhicule) représentent une proportion importante, parmi lesquelles les pièces liées à la machine automobile figurent en tête 20 points de défaillance des plaintes au cours des premier et quatrième trimestres (pannes du système audio et vidéo, problèmes de navigation, pannes d'interconnexion dans le véhicule, pannes du système d'assistance à la sécurité de conduite, etc.) représentaient 15,89 %, 10,99 %, 10,56 % et 9,56 % du total des plaintes. respectivement.

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

_(Source : Chezhi.com)_ Un examen plus approfondi du formulaire de plainte spécifique révélera que des problèmes tels que des accidents, des écrans noirs, des blocages, des réponses lentes, etc. sont très courants, affectant sérieusement l'expérience de conduite de l'utilisateur et réduisant la confiance de l'utilisateur et la reconnaissance de la marque.

Après avoir combiné les tendances de développement des logiciels de cockpit intelligent et les plaintes des utilisateurs, on constate que les performances et la fiabilité sont les facteurs les plus critiques affectant l'expérience utilisateur en plus de la facilité d'utilisation. Ces deux facteurs clés sont non seulement directement liés à la satisfaction des utilisateurs, mais déterminent également dans une large mesure la compétitivité des logiciels de cockpit intelligent sur le marché.

  • L'amélioration des performances est la pierre angulaire pour assurer le bon fonctionnement du logiciel de cockpit intelligent. À mesure que les fonctions continuent de croître, les logiciels nécessitent des processeurs plus efficaces et des algorithmes optimisés pour garantir une réponse instantanée aux opérations de l'utilisateur et une grande fluidité du système.
  • La fiabilité est la clé pour garantir que les utilisateurs peuvent faire confiance au logiciel de cockpit intelligent dans divers scénarios d'utilisation. Les utilisateurs s'attendent à ne pas être dérangés par des pannes du logiciel du cockpit intelligent pendant la conduite. Il est préférable que le système fonctionne de manière stable pour éviter des problèmes tels que des accidents ou des blocages.

Dans l'article suivant, nous combinerons les meilleures pratiques de développement de logiciels et les caractéristiques propres des logiciels dans le domaine du cockpit intelligent pour explorer les moyens d'évaluer et d'améliorer leurs performances et leur fiabilité.

2. Cadre d'évaluation des performances et de la fiabilité

Si vous ne pouvez pas le mesurer, vous ne pouvez pas l'améliorer.

Le système logiciel du cockpit intelligent lui-même est une sorte de logiciel, et son processus de développement également. suit les processus communs du logiciel pour la conception de l'architecture, la mise en œuvre du développement et la vérification de la qualité. Par conséquent, avant de discuter de la manière de s'améliorer, nous devons d'abord clarifier : Comment évaluer correctement les performances et la fiabilité des systèmes logiciels ?

1. Modèle de caractéristiques de l'architecture logicielle

Mark Richards et Neal Ford ont décrit les « caractéristiques architecturales » dans « Architecture logicielle : guide des modèles, caractéristiques et pratiques architecturaux » :

Les architectes peuvent travailler avec d'autres pour déterminer le domaine. ou les exigences métier, mais une responsabilité clé de l'architecte est de définir, découvrir et analyser les éléments indépendants du domaine qui sont nécessaires au logiciel : les fonctionnalités architecturales.

Les caractéristiques architecturales sont des caractéristiques logicielles que les architectes doivent prendre en compte lors de la conception de logiciels indépendants des exigences du domaine ou de l'entreprise, telles que l'auditabilité, les performances, la sécurité, l'évolutivité, la fiabilité, etc. Dans de nombreux cas, nous les appelons également exigences non fonctionnelles (Exigences non fonctionnelles) ou attributs de qualité (Attributs de qualité).

De toute évidence, les fonctionnalités clés de l'architecture logicielle doivent être prises en compte dès le début de la conception de l'architecture, et une attention continue doit être accordée pendant le processus de développement logiciel. Ainsi, lors du développement de systèmes logiciels, quelles sont les principales caractéristiques architecturales à prendre en compte ?

ISO/IEC 25010 :2011 est un ensemble de normes promues par l'Organisation internationale de normalisation (maintenant mise à jour vers la version 2023). Elle appartient au système ISO d'exigences et d'évaluation de la qualité des systèmes et des logiciels (SQuaRE) et définit un ensemble de normes. Modèle de qualité des systèmes et logiciels. Ce modèle de qualité est largement utilisé pour décrire et évaluer la qualité des logiciels et peut nous guider dans la modélisation des fonctionnalités architecturales clés des logiciels.

Le modèle de qualité décrit par l'ISO 25010 est le suivant (les parties liées aux performances et à la fiabilité sont mises en évidence dans la figure) :

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

L'ISO 25010 divise les caractéristiques de l'architecture logicielle (appelées « attributs de qualité » dans le texte original de la norme ), couvrant de nombreux aspects, tels que la fonctionnalité, la fiabilité, l'efficacité des performances, la maintenabilité, la portabilité, etc. Chaque fonctionnalité architecturale définit les aspects clés qui lui sont liés. La fonctionnalité comprend également plusieurs sous-fonctionnalités pour décrire les dimensions spécifiques de la fonctionnalité plus en détail. On voit que ce modèle de qualité fournit un cadre complet et général pour mieux comprendre et évaluer la qualité des logiciels.

Pour les caractéristiques de performances, le modèle divise trois sous-caractéristiques : caractéristiques de temps, utilisation des ressources et capacité ; pour les caractéristiques de fiabilité, le modèle divise quatre sous-caractéristiques : maturité, disponibilité, tolérance aux pannes et facilité de récupération.

Bien sûr, tout type de logiciel a ses propres caractéristiques et environnement d'exploitation. Un logiciel capable de répondre à toutes les caractéristiques architecturales du modèle ci-dessus est excellent, mais le coût sera forcément élevé, tout comme pour un système interne avec seulement 3. Pour les utilisateurs, la flexibilité de conception. La mise à l'échelle pour répondre à la disponibilité n'est pas nécessaire. De toute évidence, dans le domaine des logiciels de cockpit intelligent, l'utilisation de l'expérience utilisateur pour évaluer les caractéristiques de performance et de fiabilité est plus cohérente avec les objectifs de conception du logiciel de cockpit intelligent que l'utilisation du débit et du taux de mise à l'échelle élastique pour évaluer.

2. Évaluer les caractéristiques architecturales grâce au système d'indicateurs

En analysant le modèle de qualité logiciel précédent, nous constaterons que le modèle définit principalement « comment les caractéristiques architecturales du logiciel doivent se comporter », mais n'explique pas « comment il doit à évaluer". Il est jugé que les exigences en matière d'éléments architecturaux ont été satisfaites. Les caractéristiques et sous-caractéristiques du modèle de qualité sont des descriptions qualitatives des caractéristiques architecturales, mais la manière d'évaluer quantitativement les caractéristiques architecturales n'est pas mentionnée.

En fait, SQuaRE fournit également un cadre d'évaluation pour les modèles de qualité (voir ISO/IEC 25020:2019 pour plus de détails) :

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

Le cadre d'évaluation ci-dessus utilise essentiellement un ensemble d'indicateurs avec différents poids pour évaluer les caractéristiques d'une architecture ( sous-caractéristiques), les indicateurs peuvent être calculés à partir de certains éléments d'indicateur, et les éléments d'indicateur peuvent être mesurés au moyen de certaines méthodes de mesure mises en œuvre dans les activités de développement de logiciels.

Dans l'industrie du logiciel, de nombreux indicateurs d'évaluation peuvent parvenir à un consensus dans tous les domaines d'activité, tels que le temps de réponse, le débit, le RTO, le RPO, le MTTR, etc., que les entreprises peuvent directement adopter lors de l'établissement de leurs propres systèmes d'indicateurs dans leurs domaines d'activité.

Voici quelques exemples d'indicateurs de performance et de fiabilité relativement courants, applicables à la grande majorité des logiciels :

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

Bien sûr, en raison des différents domaines fonctionnels et environnements d'exploitation, les performances et la fiabilité les indicateurs utilisés pour évaluer l’architecture sont différents. Il existe forcément certaines différences dans les systèmes d’indicateurs de caractéristiques.

Tout d'abord, différents scénarios commerciaux auront des paramètres de pondération différents pour les indicateurs d'évaluation. Par exemple, pour l'évaluation de l'efficacité des performances des systèmes et logiciels de cockpit intelligents, les caractéristiques temporelles sont cruciales car elles sont liées à l'expérience de conduite de l'utilisateur. Pour les applications Web qui fournissent des services Internet, afin de fournir des services à davantage d'utilisateurs, les caractéristiques de capacité doivent être définies. prêté attention à.

Deuxièmement, des domaines spécifiques auront leurs propres indicateurs de performance uniques. Ces indicateurs de différence doivent être extraits de l’activité réelle. Par exemple, la fluidité de l'interface utilisateur ne peut pas être simplement évaluée par le temps de réponse, mais doit être jugée de manière globale à l'aide d'indicateurs tels que la fréquence d'images et le nombre d'images perdues.

3. Trouver la source de données des éléments indicateurs

Après avoir établi le système d'indicateurs, le problème suivant est de savoir comment trouver des éléments indicateurs raisonnables pour calculer la valeur de l'indicateur.

De même, il existe de nombreux éléments indicateurs courants qui peuvent être adoptés directement, tels que la complexité cyclomatique, le couplage de modules, l'utilisation du processeur, l'utilisation de la mémoire, le temps d'exécution des transactions, la concurrence, etc. Cependant, les éléments indicateurs sont plus pertinents pour le domaine d’activité que les indicateurs eux-mêmes, et il est plus nécessaire de combiner les connaissances du domaine pour trouver des éléments indicateurs appropriés.

La méthode GQM est une méthode d'analyse efficace pour trouver et établir des éléments indicateurs : GQM signifie « Objectif - Question - Métriques », que l'on peut traduire par « Objectif - Question - Indicateur ». C'est une méthode d'analyse avec une longue histoire, développé par Victor Basili et David Weiss en 1984.

Essentiellement, GQM analyse la structure à travers un arbre, en progressant couche par couche. Tout d’abord, nous posons des questions sur les objectifs en fonction de la manière de les atteindre, puis décomposons chaque question en plusieurs éléments indicateurs pouvant soutenir la solution au problème, et enfin sélectionnons les éléments indicateurs les plus appropriés.

Nous prenons comme exemple « les éléments d'indice d'évaluation pour aider à trouver les caractéristiques de performance et de fiabilité du logiciel de cockpit intelligent », respectivement basés sur « l'évaluation de la fluidité des opérations de l'écran d'accueil du cockpit intelligent » et « le calcul du taux d'échec et de la disponibilité du cockpit intelligent systèmes et applications" Comme objectif, établir un arbre d'analyse GQM :

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

Au début de l'analyse, afin d'élargir l'idée, vous pouvez d'abord identifier autant d'éléments indicateurs possibles que possible sans en tenant compte de la valeur et de la difficulté d'obtention des éléments indicateurs. Analysez ensuite la valeur et la facilité d'acquisition de chaque élément indicateur, hiérarchisez-les en conséquence et sélectionnez les éléments indicateurs les plus appropriés. Ce processus peut suivre le principe de priorité suivant :

  • Plus il peut supporter de problèmes, plus il est élevé
  • Plus il est facile à collecter et à calculer, plus il est élevé

Basé sur la méthode GQM, nous pouvons démonter indicateurs abstraits et obtenez plus Avec des formules de calcul d'indicateurs claires et des points de données collectés, un cadre d'évaluation complet a été construit.

3. Méthodes d'ingénierie pour améliorer continuellement les performances et la fiabilité

Sur la base du cadre d'évaluation introduit précédemment, nous avons maîtrisé certaines méthodes d'analyse et avons clarifié la direction pour améliorer les performances et la fiabilité des logiciels de cockpit intelligent.

La prochaine étape de l'évaluation est l'amélioration. Cette section expliquera comment utiliser les méthodes d'ingénierie pour améliorer continuellement les fonctionnalités de l'architecture de performance et de fiabilité du logiciel de cockpit intelligent afin de garantir qu'à mesure que le logiciel itère, ses performances et sa fiabilité s'amélioreront non seulement. ne se détériorera pas, mais s’améliorera régulièrement sur le long terme.

1. La modélisation de l'architecture guide la recherche et le développement

La modélisation est une pratique efficace pour analyser les domaines métier et les caractéristiques architecturales pendant la phase de conception. Lors de la conception d'une architecture logicielle, de nombreuses organisations ont tendance à se concentrer sur la modélisation du domaine métier et à sous-estimer la modélisation des fonctionnalités architecturales. Cela conduit souvent à ce que les considérations de conception telles que la sécurité, la fiabilité, les performances, etc. soient sérieusement mises en coulisses, puis remplacées par des problèmes de production. après la sortie du logiciel. Forcer l'amélioration.

En fait, la modélisation précoce des fonctionnalités architecturales peut non seulement guider le développement du code dans le processus de recherche et développement ultérieur, mais peut également être naturellement convertie en tests en boîte blanche pour vérifier si le code répond aux exigences de conception.

Pour la modélisation des performances, un modèle de performance peut être formé en identifiant les problèmes de performance de l'architecture logicielle et des indicateurs de performance prédéfinis. Concernant la modélisation des performances, l'auteur l'a introduite dans "What is Performance Engineering".

Pour la modélisation de la fiabilité, grâce aux nombreuses méthodes de modélisation matures dans le domaine de la construction automobile, le domaine des logiciels peut également être directement référencé et adapté. Méthodes de modélisation telles que l'analyse des arbres de défaillances (FTA) et l'analyse des modes de défaillance et de leurs effets (AMDEC). _(Source : Norme Nationale G décrivant la procédure AMDEC)_

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

(B/T 7826-2012)

Afin d'éviter que le modèle établi ne soit valable qu'à la réunion de revue d'architecture, mais pas à tout cela lorsqu'il est effectivement mis en œuvre Suite à la conception architecturale, il est nécessaire de construire la fonction d'adéquation correspondante basée sur le modèle pour garantir que l'architecture ne se détériore pas lentement. La section suivante présentera la fonction d'adéquation architecturale.

2. Entretien continu de la fonction fitness

Avec le système d'indicateurs, nous pouvons analyser quantitativement et évaluer les performances et la fiabilité du logiciel du cockpit intelligent. Cependant, si le processus d'évaluation est trop complexe, long et difficile à mener rapidement, alors avec le temps, l'évaluation de ces caractéristiques architecturales deviendra une lourde charge pour l'équipe, ce qui signifie que le nombre d'activités d'évaluation deviendra de moins en moins important. , et les réactions seront réduites de plus en plus lentement, insoutenables et finalement stagnantes.

Tout ce qui peut être automatisé doit être automatisé.

Lors de l'évaluation si les fonctions du logiciel répondent aux exigences, nous construirons un grand nombre de tests automatisés, de manière à former un filet de sécurité des fonctionnalités du logiciel pour garantir en permanence que le logiciel répond aux exigences. Quant à l'évaluation des caractéristiques architecturales, l'approche traditionnelle s'apparente davantage à une évaluation « de style sportif » :

  • Du côté R&D, nous mettons régulièrement en place une équipe dédiée aux tests de performances ou de fiabilité, tenons le système d'indicateurs en main, testons et évaluons si les exigences de l'indicateur sont remplies du point de vue de la boîte noire, et produisons des rapports de test
  • Sur le plan ; Côté conception, nous organisons régulièrement divers types de discussions sur l'architecture et des réunions de révision sont organisées pour évaluer la conception elle-même et si le logiciel est correctement mis en œuvre tel que conçu, et un grand nombre de documents sont produits.

ASPICE est un cas typique En raison de la complexité du processus et de la documentation, ainsi que des exigences strictes pour chaque étape de développement, il est facile pour la conception et les tests de rester dans l'état d'une version instantanée antérieure et de ne jamais la conserver. up. La vitesse à laquelle le logiciel change.

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

(Source : An ASPICE Overview)

Dans le livre « Evolutionary Architecture » co-écrit par Neal Ford, Patrick Kua et Rebecca Parsons, la fonction fitness est définie comme « une solution utilisée pour résumer la conception prévue. la fonction objectif est la mesure dans laquelle il est proche d’atteindre l’objectif fixé. L’introduction de la fonction fitness signifie que l’évaluation de l’architecture peut être automatisée et normalisée grâce à des moyens d’ingénierie.

Évaluation et amélioration des performances et de la fiabilité du logiciel de cockpit intelligent

(Source : "Evolutionary Architecture")

Lorsque nos indicateurs et modèles sont convertis en fonctions de fitness, ils peuvent être liés au pipeline R&D pour réaliser une évaluation automatisée des caractéristiques architecturales.

Avec l'automatisation comme condition préalable, le soin de l'architecture peut être utilisé pour conduire une amélioration continue.

Sur la base des différentes fonctions de fitness qui ont été établies, lors de la construction quotidienne, des tests itératifs, des tests d'intégration et d'autres processus, les résultats d'exécution générés par la fonction de fitness peuvent former un ensemble complet de rapports d'évaluation des performances et de la fiabilité. En prenant les résultats d'évaluation de la version précédente comme référence et en les comparant avec les résultats d'évaluation de la dernière version, nous pouvons surveiller attentivement les performances et la fiabilité du logiciel, déterminant ainsi quelles parties de la nouvelle version ont été optimisées et lesquelles ont été optimisées. échoué. La détérioration est évidente en un coup d’œil.

3. L'ensemble d'outils observables facilite l'analyse

Jusqu'à présent, nous disposons de certains moyens pour prendre en charge l'évaluation continue des performances et de la fiabilité, mais l'évaluation consiste essentiellement à exposer les problèmes, et l'analyse et l'optimisation ultérieures sont des difficultés d'amélioration continue.

Une fois les problèmes exposés, l'optimisation doit souvent être effectuée le plus rapidement possible. Pour les organisations orientées business, l'équipe passe la plupart de son temps à travailler dans le domaine commercial et n'a pas la capacité d'analyser et d'optimiser des problèmes tels que les performances et les performances. fiabilité, généralement à ce moment-là, l'organisation recherchera ou embauchera des experts techniques pour l'aider à s'améliorer. Cependant, en tant que ressource rare, les experts techniques sont souvent mis à rude épreuve lorsqu’ils sont confrontés à une variété de problèmes.

Par conséquent, pour les organisations qui espèrent parvenir à une amélioration continue, il est essentiel d'établir des méthodes d'analyse et d'optimisation techniques pour améliorer l'efficacité. La première ici est de créer un ensemble d'outils observables. Dans le cadre d'évaluation mentionné précédemment, le rôle des indicateurs est principalement d'indiquer la situation actuelle. Les indicateurs peuvent évaluer les avantages et les inconvénients, mais ne peuvent pas aider à analyser les causes profondes des problèmes. L'analyse des problèmes logiciels nécessite d'être capable de reproduire ce qui s'est passé lorsque le système fonctionnait, comment les composants ont interagi et quelles données ont été générées. Ces informations doivent être capturées et enregistrées via des outils observables.

Avec un tel ensemble d'outils, lorsque l'évaluation constate que certains indicateurs se sont détériorés, les enregistrements de contexte et d'observation du temps de fonctionnement du système peuvent être rapidement associés sur la base de quelques informations de base, de manière à analyser et localiser rapidement le problème, et rapidement mettre en œuvre l’optimisation.

Résumé

Le marché des voitures intelligentes a de larges perspectives et se développe rapidement à mesure que la concurrence s'intensifie, l'expérience ultime des cockpits intelligents deviendra certainement un objectif majeur de divers constructeurs automobiles.

Cet article traite principalement des méthodes d'évaluation continue et des méthodes d'amélioration continue des logiciels de cockpit intelligent en termes de performances et de fiabilité du point de vue du développement et de la livraison de logiciels, combinées à d'excellentes pratiques et explorations dans le domaine logiciel.

Alors que de plus en plus d'investissements externes et de talents multidisciplinaires affluent dans le domaine des voitures intelligentes, je crois qu'une valeur énorme continuera à être créée dans les industries connexes à l'avenir.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer