Según James Senn, existen tres estrategias para el desarrollo de sistemas: el método clásico del ciclo de vida de desarrollo de sistemas, el método de desarrollo por análisis estructurado y el método de construcción de prototipos de sistemas. Cada una de estas estrategias tienen un uso amplio en cada una de los diversos tipos de empresas que existen, y resultan efectivas si son aplicadas de manera adecuada.
Metodologia Estructurada
- Se maneja como proyecto
- Gran volumen de datos y transacciones
- Abarca varias áreas organizativas de la empresa
- Tiempo de desarrollo largo
- Requiere que se cumplan todas las etapas, para poder cumplir las siguientes (progresión lineal y secuencial de una fase a la otra)
Evolutiva-Incremental
- Se deriva de la estructurada
- Permite seguir secuencias ascendentes o descendentes en las etapas del desarrollo
- Permite cumplir etapas o fases en paralelo, por lo que es más flexible que la estructurada
Leer más: http://www.monografias.com/trabajos29/ciclo-sistema/ciclo-sistema.shtml#ixzz2yCcNPCst
Faces del ciclo de vida del Software:
Ciclo de vida clásico
Este paradigma exige un enfoque secuencial del desarrollo de software. Abarca las siguientes actividades:
Ingeniería y Análisis del Sistema.- El Software es siempre parte de un sistema mayor, por tanto se comienza estableciendo las entidades, roles, funciones, etc de los que intevienen en el sistema, se identifican los requisitos del sistema y luego se asigna un sub conjunto de estos requisitos al software.
Análisis de Requisitos del Software.- Proceso de recopilación de los requisitos especificamente del software. El analista debe comprender el ámbito de la información, la función, el rendimiento y las interfaces del software.
Diseño.- Traduce los requisitos en una representación de software que pueda ser codificada.
Codificación.- Traducción del diseño en código fuente escrito en un lenguaje de programación.
Prueba.- Verificación de que las funciones del software producen los resultados que realmente se requieren.
Mantenimiento.- El mantenimiento aplica cada uno de los pasos precedentes para implementar los cambios que con el tiempo indudablemente sufrirá el software.
Un paradigma es el resultado de los usos, y costumbres, de creencias establecidas de verdades a medias; un paradigma es ley, hasta que es desbancado por otro nuevo.
Un paradigma de programación es una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo núcleo central es incuestionable en cuanto a que unívocamente trata de resolver uno o varios problemas claramente delimitados. La resolución de estos problemas debe suponer consecuentemente un avance significativo en al menos un parámetro que afecte a la ingeniería de software.
Tiene una estrecha relación con la formalización de determinados lenguajes en su momento de definición. Un paradigma de programación está delimitado en el tiempo en cuanto a aceptación y uso ya que nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen parcial o totalmente.
Tipos de paradigmas de programación más comunes:
Imperativo o por procedimientos: es considerado el más común y está representado, por ejemplo, por C, BASIC o Pascal.
Funcional: está representado por Scheme o Haskell. Este es un caso del paradigma declarativo.
Lógico: está representado por Prolog. Este es otro caso del paradigma declarativo.
Declarativo: por ejemplo la programación funcional, la programación lógica, o la combinación lógico-funcional.
Orientado a objetos: está representado por Smalltalk, un lenguaje completamente orientado a objetos.
Programación dinámica: está definida como el proceso de romper problemas en partes pequeñas para analizarlos.
Si bien puede seleccionarse la forma pura de estos paradigmas al momento de programar, en la práctica es habitual que se mezclen, dando lugar a la programación multiparadigma.
Actualmente el paradigma de programación más usado es el de la programación orientada a objetos.
Herramientas CASE:
Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software.
El desarrollo de Software es un proceso complejo y a menudo difícil que requiere la síntesis de muchos sistemas. Desde el modelado y diseño hasta el código, administración del proyecto, pruebas, despliegue, administración de cambios y etc.
Tablas de decisión
Tanto como los diagramas de flujo, las tablas de decisión son herramientas diseñadas para modelar el flujo lógico de un programa. Esto permite a los ingenieros de software detallar todos los comportamientos de un programa antes de escribirlo. Asegurándose de que todas las condiciones están cubiertas, los desarrolladores son capaces de minimizar los resultados inesperados.
Diagramas de UML
Los diagramas de UML (por sus siglas en inglés) se construyen utilizando el Lenguaje Unificado de Modelado. Éstos proporcionan una representación gráfica de los diversos aspectos de una pieza de software. Los diagramas UML pueden ser diagramas de casos de uso, los cuales describen cómo un usuario interactuará con tu software, diagramas de clase, lo cual modela las relaciones entre los objetos en el código y varios otros tipos de diagramas.
Sistemas de control de revisión
La complejidad de un proyecto tiende a aumentar durante el ciclo de desarrollo de software. Los sistemas de control de revisión son una herramienta utilizada en la ingeniería de software para contrarrestar problemas asociados con esto. Muchos proyectos implican que más de un desarrollador trabaje en el código al mismo tiempo. Estos desarrolladores pueden no saber cuando otros desarrolladores están trabajando en el mismo código que ellos. Un sistema de control de revisión puede ayudar a prevenirlos de la sobre escritura de código entre sí y puede resaltar los cambios que han hecho otros desarrolladores. Si se cometen errores durante el proceso de desarrollo, puedes fácilmente revertirlos.
Depuradores
Los depuradores son herramientas que se utilizan en ingeniería de software para realizar pruebas en un programa durante y después del desarrollo. Mediante la adición de puntos de "interrupción" al código, los ingenieros de software pueden causar que la ejecución de un programa se detenga en puntos específicos para que las variables puedan ser analizadas. Esto les permite determinar si se manipulan correctamente los datos. La colocación estratégica de los puntos de interrupción facilita reducir el origen de un problema.
No hay comentarios.:
Publicar un comentario