Entrées récentes
LIMITATIONS
Si nous comparons une solution logicielle à une solution donnée par l'esprit humain, la limitation la plus évidente est qu'un logiciel n'a pas d'intelligence en soi, c'est-à-dire, il n'a que des fonctions prédéfinies qui couvrent un ensemble de solutions qui pour certaines applications peut s'avérer limité.
Bien qu'un logiciel n'ait pas d'intelligence, celle-ci peut être simulée. C'est ce que l'on appelle l'intelligence artificielle. Mais simuler l'intelligence est coûteux en termes de calcul, car il faut une grande quantité de mémoire de travail. C'est pourquoi, beaucoup disent que le cerveau humain a une mémoire infinie.
Actualmente la inteligencia artificial puede emular redes neuronales y muchas cosas, pero aún así no puede emular el pensamento” humano, ya que el software program actúa bajo condiciones que, son completamente verdaderas, completamente falsas.
Otra limitación common de un software es que, por el hecho de que un software que retroalimente soluciones alternativas y de bajo tiempo de ejecución a un problema necesariamente requiere mayor esfuerzo y ello no es rentable, hay soluciones a ciertos problemas que emplean tiempos elevados de ejecución, y ello se intenta compensar siempre ejecutando el software en máquinas de mayor capacidad. Ello se puede notar en problemas que requieren de características del pensamiento humano, en los cuales un procedimiento mecánico” para hallar una solución es poco eficiente.
ESPECIFICACION DE REQUISITOS DEL SOFTWARE
Una especificación de requisitos del software es una descripción completa del comportamiento del sistema a desarrollar. Incluye un conjunto de casos de uso que describen todas las interacciones que se prevén que los usuarios tendrán con el software. También contiene requisitos no funcionales ( suplementarios). Los requisitos no funcionales son los requisitos que imponen restricciones al diseño funcionamiento del sistema (tal como requisitos de funcionamiento, estándares de calidad, requisitos del diseño).
Las estrategias recomendadas para la especificación de los requisitos de software program están descritas por el estándar IEEE 830 -1998. Cette norme décrit les structures possibles, le contenu souhaitable et les qualités d'une spécification de exigences logicielles.
Les exigences sont divisées en trois:
Fonctionnelles:
Ce sont des déclarations des services que le système fournira, la manière dont il réagira à des entrées particulières. Dans certains cas, les exigences fonctionnelles des systèmes indiquent également explicitement ce que le système ne doit pas faire.
Les exigences fonctionnelles d'un système décrivent la fonctionnalité, les services que l'on s'attend à ce qu'il fournisse. Celles-ci dépendent du type de logiciel et du système développé ainsi que des utilisateurs potentiels du logiciel. Lorsqu'elles sont exprimées en tant qu'exigences de l'utilisateur, ils sont habituellement décrits de manière courante tandis que les exigences fonctionnelles du système décrivent en détail la fonction de celui-ci, ses entrées et sorties, exceptions, et ainsi de suite.
Beaucoup de problèmes de l'ingénierie logicielle proviennent de l'imprécision dans la spécification des exigences. Pour un développeur de systèmes, il est naturel d'interpréter une exigence ambiguë afin de simplifier son implémentation. Cependant, ce n'est souvent pas ce que le client désire. Il faut stipuler de nouvelles exigences et des modifications doivent être apportées au système, retardant sa livraison et augmentant le coût.
En principe, la spécification des exigences fonctionnelles d'un système doit être complète et cohérente. La compleción significa que todos los servicios solicitados por el usuario están definidos. La consistencia significa que los requerimientos no tienen definiciones contradictorias. En pratique, para sistemas grandes y complejos, es imposible cumplir los requerimientos de consistencia y compleción. La razón de esto se debe parcialmente a la complejidad inherente del sistema y parcialmente a que los diferentes puntos de vista tienen necesidades inconsistentes. Estas inconsistencias son obvias cuando los requerimientos se especifican por primera vez. Los problemas emergen después de un análisis profundo. Una vez que éstos se hayan descubierto en las diferentes revisiones en las fases posteriores del ciclo de vida, se deben corregir en el documento de requerimientos.
Ej.. le système doit émettre un justificatif lors de la livraison des marchandises.
Non fonctionnels:
Ce sont des contraintes des services ou fonctions offerts par le système. Incluent des contraintes de temps, sur le processus de développement, normes, et ainsi de suite.
Ce sont des exigences qui ne se réfèrent pas directement aux fonctions spécifiques fournies par le système, mais aux propriétés émergentes de celui-ci telles que la fiabilité, la réactivité dans le temps et la capacité de stockage. De manière alternative, définissent les contraintes du système comme la capacité des dispositifs d'entrée/sortie et la représentation des données utilisée dans l'interface du système.
De nombreuses exigences non fonctionnelles se réfèrent au système dans son ensemble plutôt qu'à des caractéristiques particulières du système. Esto significa que a menudo con más críticos que los requerimientos funcionales particulares. Mientras que el incumplimiento de este último degradará el sistema, una falla en un requerimiento no funcional del sistema lo inutiliza.
Los requerimientos no funcionales surgen de la necesidad del usuario, debido a las restricciones en el presupuesto, a las políticas de la organización, a la necesidad de interoperabilidad con otros sistemas de software program hardware a factores externos como los reglamentos de seguridad, las políticas de privacidad, etcétera.
Ej.: el soporte de almacenamiento a usar debe ser MySQL.
Empresariales u Organizacionales: son el marco contextual en el cual se implantaría el sistema para conseguir un objetivo marco. Ej: abaratar costos de expedición.
Estos diferentes tipos de requerimientos se clasifican de acuerdo con sus implicaciones.
• Requerimientos del producto: Especifican el comportamiento del producto; como los requerimientos de desempeño en la rapidez de ejecución del sistema y cuánta memoria se requiere; los de fiabilidad que fijan la tasa de fallas para que el sistema sea aceptable; los de portabilidad y los de usabilidad.
• Requerimientos organizacionales: Se derivan de las políticas y procedimientos existentes en la organización del cliente y en la del desarrollador: estándares en los procesos que deben utilizarse; requerimientos de implementación como los lenguajes de programación el método de diseño a utilizar, y los requerimientos de entrega que especifican cuándo se entregará el producto y su documentación.
• Requerimientos externos: Se derivan de los factores externos al sistema y de su proceso de desarrollo. Incluyen los requerimientos de interoperabilidad que definen la manera en que el sistema interactúa con los otros sistemas de la organización; los requerimientos legales que deben seguirse para asegurar que el sistema opere dentro de la ley, y los requerimientos éticos. Estos últimos son impuestos al sistema para asegurar que será aceptado por el usuario y por el público en basic.
Un problema común con los requerimientos no funcionales es que algunas veces son difíciles de verificar. Se redactan para reflejar las metas generales del usuario, comme la facilité d'utilisation, la capacité du système à se remettre des pannes intelligence artificielle la réponse rapide à l'utilisateur. Ces exigences posent des problèmes aux développeurs du système car elles laissent ouverte la possibilité d'interprétation, ce qui provoque des discussions ultérieures une fois que le système est livré.
De manière excellente, les exigences non fonctionnelles ne doivent pas être exprimées de manière quantitative en utilisant des métriques qui peuvent être testées de manière objective.
En pratique, La spécification quantitative des exigences est difficile. Les clients ne peuvent pas traduire leurs objectifs en exigences quantitatives; pour certaines d'entre elles, comme celles de maintenance, il n'existe pas de métriques qui puissent être utilisées; le coût de vérifier de manière objective les exigences non fonctionnelles quantitatives est très élevé.
En principe, les exigences fonctionnelles et non fonctionnelles se différencient dans le document d'exigences. En pratique, c'est difficile. Si une exigence non fonctionnelle est déclarée séparément des fonctionnelles, parfois il est difficile de voir la relation entre elles. Si elles sont déclarées avec les exigences fonctionnelles, il est difficile de séparer les conditions fonctionnelles et non fonctionnelles et d'identifier les exigences qui se réfèrent au système dans son ensemble. Il faut trouver un équilibre approprié qui dépend du type de système à spécifier. Cependant, les exigences qui se réfèrent clairement aux propriétés émergentes du système doivent être mises en évidence. Esto se hace colocándolos en una sección aparte diferenciándolos, de alguna forma, de los otros requerimientos del sistema.
CARACTERISTICAS DEL SOFTWARE PROGRAM
1. El software program se desarrolla construye; no se manufactura en el sentido clásico.
A pesar de que existen similitudes entre el desarrollo del software y la manufactura del hardware, las dos actividades serian diferentes en lo fundamental. En ambas la alta calidad se alcanza por medio del buen diseño, la fase de manufactura del hardware puede incluir problemas de calidad existentes en el software program.
2. El software program no se desgasta.
El software program es inmune a los males ambientales que desgasten el hardware. Par conséquent, la courbe de taux de défaillance pour le logiciel devrait avoir la forme de la courbe idéalisée. Les défauts non découverts causent des taux de défaillance élevés aux premières étapes de la vie d'un programme. Cependant, les erreurs sont corrigées et la courbe s'aplati: le logiciel ne s'use pas, mais il se détériore.
3. Bien que l'industrie ait une tendance vers la construction par composants, la plupart des logiciels sont encore construits sur mesure.
Un composant logiciel doit être conçu et implémenté de manière à pouvoir être utilisé dans de nombreux programmes différents.
Les composants réutilisables modernes encapsulent à la fois les données et le processus appliqué à celles-ci, lo que permite al ingeniero de software program crear nuevas aplicaciones nuevas a partir de partes reutilizables.
Partager ceci:
%d blogueurs aiment ceci: