Maison  >  Article  >  10 facteurs qui ne peuvent être ignorés dans le développement de logiciels

10 facteurs qui ne peuvent être ignorés dans le développement de logiciels

DDD
DDDavant
2023-10-31 10:32:561135parcourir

Flexibilité et évolutivité

La flexibilité est la capacité d'un logiciel à ajouter/modifier/supprimer des fonctionnalités sans endommager le système actuel. L'évolutivité est la capacité d'un logiciel à ajouter des fonctionnalités sans endommager le système. Elle peut donc être considérée comme un sous-ensemble de la flexibilité. Ces changements fonctionnels peuvent survenir en fonction de l'évolution des exigences ou si le processus de développement est l'une des méthodes itératives. Les changements dans le développement logiciel sont inévitables, c'est donc l'un des attributs les plus importants d'un logiciel de qualité

Maintenabilité et lisibilité

La maintenabilité est quelque peu similaire à la flexibilité, mais elle se concentre plutôt sur les bogues, les modifications pour les corrections et les modifications mineures des fonctionnalités. que l’évolutivité des principales fonctionnalités. Il peut être pris en charge par des définitions d'interface utiles, de la documentation et du code auto-documenté et/ou une documentation de code. Plus la documentation est correcte et utile, plus la maintenabilité est élevée.

Performance et Efficacité

La performance est principalement liée au temps de réponse du logiciel. Ce temps de réponse doit se situer dans un intervalle acceptable (par exemple, quelques secondes au maximum) et ne doit pas augmenter si le nombre de transactions augmente. De plus, les ressources coûtent cher. L’efficacité doit être soutenue par l’utilisation des ressources. À titre d’exemple exagéré, utiliser uniquement une machine à 32 processeurs ou 1 To d’espace disque pour exécuter une fonction simple est inacceptable. Il faut viser le meilleur rapport source/performance.

Évolutivité

Un système évolutif répond aux opérations de l'utilisateur dans un délai acceptable, même lorsque la charge augmente. Bien entendu, davantage de matériel peut être ajouté pour gérer l’augmentation des transactions utilisateur, mais l’architecture ne doit pas changer lors de cette opération. C’est ce qu’on appelle l’évolutivité verticale. La possibilité de fonctionner sur un nombre toujours croissant de machines est le multitraitement. Si un logiciel peut effectuer un tel traitement, on parle alors d’évolutivité horizontale. Le système évolutif préféré devrait s’adapter aux deux approches.

Disponibilité, robustesse, tolérance aux pannes et fiabilité :

Un logiciel robuste ne devrait pas perdre sa disponibilité même dans la plupart des états de défaillance. Il peut continuer à fonctionner même si certains composants tombent en panne. De plus, même si l'application entière tombe en panne, elle peut récupérer d'elle-même à l'aide du matériel et des données de sauvegarde et des méthodes de tolérance aux pannes. Il devrait toujours y avoir un plan B ou même C, D... La fiabilité représente également l'intégrité et la cohérence du logiciel, même dans des conditions de charge élevée. C'est donc lié à la disponibilité et à l'évolutivité. Un système peu fiable est également non évolutif.

Convivialité et accessibilité

Du point de vue de l'utilisateur, l'interface utilisateur est la seule partie visible du logiciel. Par conséquent, la simplicité, le fait de prendre moins de temps pour terminer le travail, l’apprentissage rapide, etc. sont très importants dans ce cas. Le principe le plus connu de cette propriété est KISS (Keep It Simple Stupid). La simplicité est toujours la meilleure solution. Les logiciels disponibles devraient également prendre en charge le contrôle des différents types d'accessibilité pour les personnes handicapées.

Compatibilité et portabilité des plateformes

Un logiciel de qualité doit fonctionner sur autant de plateformes que possible. Ainsi, davantage de personnes peuvent en profiter. Dans différents contextes, nous pouvons faire référence à différentes plates-formes, il peut s'agir de la plate-forme du système d'exploitation, du type de navigateur, etc. La portabilité fait référence à l'adaptation d'un logiciel pour qu'il s'exécute sur différentes plates-formes pour une meilleure compatibilité entre plates-formes. En ce sens, la portabilité est aussi une question de flexibilité

Testabilité et gérabilité

Un logiciel de qualité nécessite des tests de qualité. Le code source doit être testé avec une couverture maximale et les méthodes de test les plus efficaces. Cela peut être réalisé grâce à l'utilisation correcte de techniques telles que l'encapsulation, les interfaces, les modèles, le faible couplage, etc. En plus de la testabilité, un bon logiciel doit être facile à gérer après son déploiement. Il peut surveiller, par exemple, les performances ou l'état d'utilisation des données, ou permettre aux développeurs de configurer facilement le système. La création d'un système de journalisation réussi est une autre question très importante en matière de gérabilité.

Sécurité

La sécurité est un problème très important dans le développement de logiciels, en particulier pour le développement de logiciels basés sur le Web ou sur des appareils mobiles qui peuvent permettre à des millions d'utilisateurs d'accéder au système à distance. Vous devez construire votre politique de sécurité et l’appliquer correctement en ne laissant aucun point d’entrée. Cela peut inclure des technologies d’autorisation et d’authentification, une protection contre les cyberattaques, le cryptage des données, etc. Tous les types possibles de failles de sécurité doivent être pris en compte, sans quoi une seule attaque pourrait un jour faire tomber l’ensemble de votre application et de toute votre entreprise.

Fonctionnalité et exactitude

La fonctionnalité (ou exactitude) fait référence à la conformité du logiciel aux exigences et spécifications réelles. En fait, c'est un attribut prioritaire de l'application, peut-être pas un facteur de qualité, mais nous aimerions en faire le dernier facteur de qualité, pour attirer l'attention sur lui : les facteurs de qualité n'ont aucun sens quand on parle d'un logiciel qui ne fonctionne pas correctement. Tout d’abord, exécutez les fonctionnalités requises et générez le logiciel approprié, puis appliquez-lui des facteurs de qualité. Il serait préférable que les deux puissent aller de pair.

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