Diseño Web personalizado - Directorio de Enlaces Web - Desarrollo de Software

Desarrollo de Software, Desarrollo de Software Outsourcing de servicios offshore


Empresa de desarrollo de software offshore, software de programación fiable

110 visitas

Fiabilidad del software es una faceta importante de la calidad del software. Se define como "la probabilidad de un funcionamiento sin fallos de un programa de ordenador en un determinado entorno durante un cierto tiempo"

Para mejorar la fiabilidad del software se pueden aplicar en las diferentes etapas de un programa de desarrollo, en el caso de bienes de software. Estas etapas incluyen principalmente: requisitos, diseño, programación, pruebas, evaluación y tiempo de ejecución. El estudio teórico de la fiabilidad del software es en su mayoría relacionados con el concepto de corrección, un campo de la matemática que la ciencia es un resultado del lenguaje y teoría de autómatas.

Requisitos

Un programa no se puede esperar que funcionó como se esperaba, si los desarrolladores del programa no, en realidad, conocer el comportamiento deseado del programa con antelación, o si no pueden, al menos, determinar su comportamiento deseado en paralelo con el desarrollo, con el suficiente detalle. ¿Qué nivel de detalle es suficiente es muy debatido. La idea perfecta de los detalles es atractiva, pero puede no ser práctico, si no imposible, en la práctica. Esto se debe a que el comportamiento tiende a cambiar a medida que la gama posible de la conducta se determina por medio de los intentos reales, o más exactamente, intentos fallidos, para lograrlo.

Si un programa del comportamiento deseado puede ser especificado por adelantado con éxito es un punto discutible si la conducta no se pueden especificar en absoluto, y este es el centro de los intentos de formalizar el proceso de creación de nuevos requisitos para los proyectos de software. In situ con la formalización del esfuerzo es un intento de ayudar a informar a los no especialistas, en particular los no programadores, que la comisión los proyectos de software sin un conocimiento suficiente de lo que los programas informáticos es de hecho capaz. La comunicación de este conocimiento es más difícil por el hecho de que, como se insinuó más arriba, incluso los programadores no siempre puede saber de antemano lo que es realmente posible para el software antes de intentarlo.

Diseñar

Si bien las necesidades son para especificar qué debe hacer un programa, el diseño es, al menos en un nivel alto, para especificar la forma en que el programa debería hacerlo. La utilidad de diseño es también cuestionado por algunos, pero los que miran para formalizar el proceso de garantizar la fiabilidad suelen ofrecer buenos procesos de diseño de software como el más importante medio para lograrlo. Diseño de software generalmente implica el uso de más abstracto y general de los medios de especificar las piezas del software y lo que hacen. Como tal, puede ser visto como una forma de romper un gran programa en el que muchos pequeños programas, de manera que los pedazos más pequeños junto hacer el trabajo de todo el programa.

Los objetivos de alto nivel de diseño son las siguientes. Que separa lo que se consideran problemas de la arquitectura, o concepto general del programa y la estructura, de los problemas reales de la codificación, que resolver los problemas reales de procesamiento de datos. Se aplica restricciones adicionales para el proceso de desarrollo por limitar el alcance de los pequeños componentes de software y, por tanto, - se espera - la supresión de las variables que podrían aumentar la probabilidad de errores de programación. Proporciona un programa de plantilla, incluida la especificación de las interfaces, que pueden ser compartidos por diferentes equipos de desarrolladores trabajando en diferentes partes, de manera que puedan saber de antemano cómo cada uno de sus contribuciones a la interfaz con los de los otros equipos. Por último, y quizás el más controversial, que especifica el programa independientemente de la lengua o lenguas aplicación, eliminando así el idioma específico de los sesgos y limitaciones que de otro modo la fluencia en el diseño, tal vez involuntariamente por parte de los diseñadores-programador.

Programación

La historia del desarrollo del lenguaje de programación puede ser mejor entendido a la luz de los intentos de dominar la complejidad de los programas de ordenador, que de otro modo se hace más difícil de entender en proporción (tal vez exponencial) con el tamaño de los programas. (Otra forma de ver la evolución de los lenguajes de programación es simplemente como una forma de conseguir el equipo para hacer más y más de la obra, pero esto puede ser una forma diferente de decir lo mismo.) Falta de comprensión de un programa " s general de la estructura y la funcionalidad es una manera segura de no detectar errores en el programa, y por lo tanto, la mejor utilización de los idiomas, por el contrario, reducir el número de errores, al permitir una mejor comprensión.

Mejoras en los idiomas que tienden a proporcionar cada vez más software de diseño ha tratado de hacer en un solo golpe: considerar el software en cada vez mayores niveles de abstracción. Declaración como tales invenciones, sub-rutina, el archivo, la clase, la plantilla, biblioteca, componente más y han permitido la organización de un programa de piezas que se especifica mediante abstracciones tales como capas, las jerarquías y los módulos, que proporcionan la estructura en granularidades, de modo que desde cualquier punto de vista del programa de código se pueden imaginar que se ordenada y comprensible.

Además, las mejoras en los idiomas que han permitido el control más exacto sobre la forma y el uso de elementos de datos, que culminó con el resumen tipo de datos. Estos tipos de datos se puede especificar a un grado muy fino, incluyendo cómo y cuando se acceda a ellos, e incluso el estado de los datos antes y después de que se accede.

Pruebas

Pruebas de software, cuando se efectúan correctamente, puede aumentar la calidad global de software de pruebas de conformidad de que el producto se ajusta a sus necesidades. Pruebas, incluyendo pero no limitado a:

  1. Prueba de unidad
  2. Pruebas funcionales
  3. Pruebas de rendimiento
  4. Prueba de tolerancia a fallos
  5. Prueba de usabilidad

Una serie de metodologías ágiles uso de pruebas en una fase temprana del ciclo de desarrollo para garantizar la calidad en sus productos. Por ejemplo, la prueba de desarrollo impulsado por la práctica, si las pruebas se escriben antes de que el código se pondrá a prueba, se utiliza en Extreme Programming para garantizar la calidad.

Duración

Fiabilidad de tiempo de ejecución de las determinaciones son similares a las pruebas, pero ir más allá de la simple confirmación de un comportamiento a la evaluación de cualidades tales como el rendimiento y la interoperabilidad con otro código o particular, las configuraciones de hardware ...

Fuente: http://www.articlesbase

Artículos relacionados Diseño Web

Software

Esta entrada fue fijada el viernes 7 de noviembre de 2008 a las 9:07 am y se archiva debajo de Flash, Flex Diseño, Desarrollo de Software, Software Outsourcing, Desarrollo Web. Puedes seguir cualquier respuesta a esta entrada a través de la alimentación de RSS 2.0. Puedes dejar una respuesta, o trackback desde tu propio sitio.

Deje una contestación

eXTReMe Tracker