Custom Site Design - Annuaire Liens Web - Développement de logiciels

Software Development, Offshore Outsourcing Software Development Service


Offshore Software Development Company, Reliable Software Programming

110 vues

La fiabilité des logiciels est un aspect important de la qualité des logiciels. Il est défini comme "la probabilité d'un échec, la liberté d'action d'un programme d'ordinateur dans un environnement d'un laps de temps"

Pour améliorer la fiabilité des logiciels peut être appliqué à différentes étapes d'un programme de développement, dans le cas de Real Software. Ces étapes comprennent principalement: les exigences, la conception, la programmation, les tests, l'exécution et l'évaluation. L'étude théorique de la fiabilité des logiciels est principalement intéressé à la notion d'exactitude, un domaine mathématique de l'informatique qui est une excroissance de la langue et de théorie des automates.

Exigences

Un programme ne peut pas s'attendre à travailler comme vous le souhaitez si les développeurs du programme n'ont pas, en effet, connaître le comportement du programme souhaité à l'avance, ou si elles ne peuvent pas au moins de déterminer son comportement souhaité en parallèle avec le développement, avec suffisamment de précision. Quel est le niveau de détail est considéré comme suffisant est chaudement débattu. L'idée de la parfaite détail est séduisante, mais mai être irréaliste, sinon impossible, dans la pratique. La raison en est que le comportement a tendance à changer à mesure que l'éventail possible de la conduite est déterminée par la réalité des tentatives, ou plus exactement, de tentatives infructueuses, pour y parvenir.

Que ce soit un programme de comportement souhaité peuvent être définis à l'avance est un point discutable si le comportement ne peut pas être spécifiée à tous, et c'est l'objet de tentatives visant à formaliser le processus de création pour les nouveaux projets de logiciel. In situ avec l'effort de formalisation est une tentative pour aider à informer les non-spécialistes, en particulier les non-programmeurs, des logiciels qui commandent les projets, sans une connaissance suffisante de ce que les logiciels informatiques est en effet capable. Communiquer cette connaissance est rendue plus difficile par le fait que, comme évoqué ci-dessus, même les programmeurs ne peuvent pas toujours savoir à l'avance ce qui est possible pour les logiciels à l'avance de l'essai.

Conception

Bien que les exigences ont pour but de préciser ce que doit faire un programme, la conception, on entend, au moins à un niveau élevé, de préciser la manière dont le programme doit faire. L'utilité de la conception est également remise en question par certains, mais ceux qui cherchent à formaliser le processus d'assurer la fiabilité offrent souvent des processus de conception de logiciels en tant que moyen le plus significatif pour l'accomplir. Logiciels de conception implique généralement l'utilisation de plus abstrait et général, les moyens de préciser les parties du logiciel et ce qu'ils font. Comme tel, il peut être considéré comme un moyen de casser un grand programme en de nombreux petits programmes, tels que les petits morceaux faire le travail de l'ensemble du programme.

Les objectifs de haut niveau de la conception sont les suivantes. Il sépare ce qui est considéré comme des problèmes de l'architecture, de conception ou de l'ensemble du programme et de la structure, des problèmes de codage de la réalité, qui résout les problèmes de traitement des données réelles. Elle s'applique supplémentaires au processus de développement par la réduction de la portée des plus petits composants logiciels, et ainsi - on l'espère - la suppression de variables qui pourraient augmenter la probabilité d'erreurs de programmation. Il fournit un modèle de programme, y compris la spécification des interfaces, qui peut être partagée par différentes équipes de développeurs travaillant sur des parties disparates, de façon à ce qu'ils puissent savoir à l'avance la façon dont chacune de leurs contributions sera en interface avec ceux des autres équipes. Enfin, et peut-être la plus controversée, il précise le programme, indépendamment de la mise en œuvre ou les langues, ce qui permettrait de supprimer la langue des préjugés et des limitations qui, autrement, se glisser dans la conception, peut-être sans le vouloir, de la part des concepteurs de programmeur.

Programmation

L'histoire du langage de programmation de développement peuvent être mieux compris à la lumière des tentatives visant à maîtriser la complexité des programmes d'ordinateur, qui, autrement, devient de plus en plus difficile à comprendre en proportion (peut-être exponentielle) à la taille des programmes. (Une autre manière de voir l'évolution des langages de programmation est tout simplement comme un moyen d'obtenir l'ordinateur de faire de plus en plus de l'œuvre, mais cela mai être une autre façon de dire la même chose.) Manque de compréhension d'un programme " s la structure générale et de fonctionnalité est un moyen sûr de ne pas détecter les erreurs dans le programme, et donc l'utilisation des langues devraient mieux, à l'inverse, de réduire le nombre d'erreurs en permettant une meilleure compréhension.

Des améliorations dans les langues ont tendance à offrir de plus en plus ce que la conception de logiciels a tenté de faire d'un seul coup: le logiciel à considérer de plus en plus les niveaux d'abstraction. Ces inventions déclaration, la sous-routine, un fichier de classe, le modèle, la bibliothèque, de composants et d'autres ont permis l'organisation d'un programme de pièces qui doivent être spécifié à l'aide d'abstractions tels que les couches, les hiérarchies et les modules, qui fournissent la structure à différents granularités, de sorte que de tout point de vue, le code du programme peuvent être imaginées pour être ordonnée et compréhensible.

En outre, des améliorations dans les langues ont permis à plus de précision de contrôle sur la forme et l'utilisation des éléments de données, dont le point culminant dans l'abstrait, de type de données. Ces types de données peuvent être spécifiées pour un très bon niveau, y compris comment et quand ils sont accessibles, et même l'état des données avant et après, il est accessible.

Testing

Logiciel de test, lorsque fait correctement, peut augmenter globalement la qualité des logiciels de conformité au moyen d'essais que le produit est conforme à ses exigences. Essais comprend, mais n'est pas limité à:

  1. Tests unitaires
  2. Tests fonctionnels
  3. Test de performance
  4. Failover Testing
  5. Tests d'utilisabilité

Un certain nombre de méthodologies agiles d'utiliser des tests tôt dans le cycle de développement afin d'assurer la qualité de leurs produits. Par exemple, le test de développement axé sur la pratique, où les tests sont écrits avant le code qu'ils mettront à l'essai, est utilisée dans l'Extreme Programming pour assurer la qualité.

Durée

Fiabilité d'exécution des décisions sont similaires aux essais, mais aller au-delà de la confirmation de comportement à l'évaluation des qualités telles que la performance et l'interopérabilité avec d'autres codes ou des configurations de matériel ...

Source: http://www.articlesbase

Articles connexes Site Design

Tags:

Cet article a été publié le Vendredi 7 Novembre 2008 à 9:07 am et est classé dans Flash, Flex Design, Software Development, Software Outsourcing, développement Web. Vous pouvez suivre toutes les réponses à cette entrée par RSS 2.0 feed. Vous pouvez laisser une réponse, ou trackback depuis votre propre site.

Laissez une réponse

+

eXTReMe Tracker