fbpx
Wikipedia

Systems Development Life Cycle

El ciclo de desarrollo de sistemas (SDC), o ciclo de desarrollo de un software en la [ingeniería de sistemas] e [ingeniería de software], es el proceso de creación o modificación de los sistemas, modelos y metodologías que la gente usa para desarrollar estos sistemas de software. El concepto general se refiere a la computadora o sistemas de información. En ingeniería de software el concepto de SDLC sostiene muchos tipos de metodologías de desarrollo de software. Estas metodologías constituyen el marco para la planificación y el control de la creación de una información en el proceso de desarrollo de software.[1]

Descripción general

El ciclo de vida de desarrollo de un sistema (SDLC) es un proceso lógico utilizado en el mundo del Desarrollo de Software sistemas para desarrollar un sistema de información, incluidos los requisitos, la validación, formación, como los usuarios (interesados) en la propiedad. Cualquier SDLC debe resultar en un sistema de alta calidad que cumple o excede las expectativas del cliente, llega a término en el tiempo y estimaciones de costos, sea barato de mantener y rentable.

Los sistemas informáticos son complejos y muchas veces (especialmente con el aumento reciente de Service-Oriented Architecture) están vinculados entre fabricantes de software diferentes. Para gestionar este nivel de complejidad, una serie de sistemas de ciclo de vida de desarrollo (SDLC) se han creado: «Cascada», «Fuente», «Espiral», «Construir y arreglar», «Prototipado rápido», «Incremental», «sincronizar y estabilizar», etc.

También existen las metodologías ágiles, como XP y Scrum, que se centran en los procesos de peso ligero, permitiendo la rápida evolución a lo largo del ciclo de desarrollo.

Metodologías iterativas, como Rational Unified Process (RUP), se centran en los ámbitos del proyecto limitado y la mejora o expansión de los productos de múltiples iteraciones.

Secuencial o de gran diseño inicial (BDUF) modelos, como la cascada, se centran en la planificación completa y correcta para guiar a los grandes proyectos al éxito, disminuyendo los riesgos. Algunos defensores de la metodología ágil e iterativo confunden la palabra SDLC con procesos secuenciales o «más tradicionales», sin embargo, SDLC es un término para todas las metodologías y cubre todas las etapas como el diseño, implementación y puesta en libertad de software.

En la gestión de proyectos se definen el ciclo de vida del proyecto (PLC) y el SDLC, durante el cual suceden actividades ligeramente diferente ocurrir. Según Taylor (2004) «el ciclo de vida del proyecto abarca todas las actividades del proyecto, mientras que el ciclo de vida de desarrollo de sistemas se centra en el cumplimiento de los requisitos de los productos».

Historia

El ciclo de vida de desarrollo de sistemas (SDLC) es un tipo de metodología utilizada para describir el proceso para la construcción de sistemas de información, destinado a desarrollar sistemas de información de un modo muy deliberado, estructurado y metódico, reiterando cada etapa del ciclo de vida. El ciclo de vida de desarrollo de sistemas, de acuerdo con Elliott & Strachan y Radford (2004), "se originó en la década de 1960 para desarrollar sistemas de gran escala funcional de negocio en una época de conglomerados empresariales a gran escala. Sistemas de información giró en torno a las actividades de procesamiento de datos pesados y crujido de número rutinas ".6 Varios sistemas de marcos de desarrollo se han basado en parte en SDLC, tales como el análisis de sistemas estructurados y Método de Diseño (SSADM) elaborado para el gobierno del Reino Unido Office of Government Commerce, en la década de 1980. Desde entonces, según Elliot (2004), "los enfoques tradicionales de ciclo de vida para el desarrollo de sistemas han sido sustituidos cada vez con enfoques alternativos y los marcos, que intentó superar algunas de las deficiencias inherentes al SDLC tradicional".6

Fases de desarrollo de software

Desarrollo de Sistemas de Ciclo de Vida (SDLC) se adhiere a las fases importantes que son esenciales para los desarrolladores, tales como la planificación, análisis, diseño y ejecución. Existen varios sistemas para el Desarrollo del Ciclo de Vida. El modelo más antiguo, que fue considerado como "el Sistema para el Desarrollo del Ciclo de Vida" es el modelo en cascada: una secuencia de etapas en las que la salida de cada etapa se convierte en la entrada para el siguiente. Estas etapas suelen seguir los mismos pasos básicos, pero muchas metodologías diferentes en cascada suelen tener los mismos pasos con diferentes nombres y el número de pasos parecen variar entre 4 y 7. No hay un modelo definitivo para el desarrollo de ciclo de vida de un sistema, pero todas las opciones tienen el mismo propósito.

El SDLC se puede dividir en diez fases durante las cuales se definen los productos de TI de trabajo creados o modificados. La décima etapa se produce cuando el sistema se elimina y la tarea realizada se eliminan o se transfieren a otros sistemas. Las tareas y los productos de trabajo para cada fase se describen en los capítulos siguientes. No en todos los proyectos, será necesario que las fases se ejecuten secuencialmente. Sin embargo, las fases son interdependientes. Dependiendo del tamaño y la complejidad del proyecto, las fases se pueden combinar o puede alternar.7

Iniciación / planificación

Para generar una visión de alto nivel del proyecto y pretender determinar los objetivos del proyecto. El estudio de viabilidad se utiliza a veces para presentar el proyecto a la alta dirección en un intento de obtener financiación. Los proyectos son evaluados en tres áreas de viabilidad: económica, operativa y organizativa y técnica. Además, también se utiliza como referencia para mantener el proyecto en marcha y evaluar los avances del MIS team.8 El MIS es también un complemento de esas fases. Esta fase se denomina también como fase de análisis.

Reunión de relevamiento y análisis de requisitos

El objetivo de los sistemas de análisis es determinar dónde está el problema en un intento de arreglar el sistema. Este paso implica dividir el sistema en diferentes piezas y elaborar diagramas para analizar la situación, analizar los objetivos del proyecto, rompiendo lo que es necesario crear y tratar de comprometer a los usuarios para que los requisitos definidos puede ser definido. La recogida de requisitos a veces requiere que los individuos o equipos de cliente, así como partes proveedor de servicios para obtener los requisitos detallados y precisos.

Diseñar

En las funciones de diseño de sistemas y operaciones se describen en detalle, incluyendo diseños de pantalla, las reglas de negocio, los diagramas de proceso y otra documentación. La salida de esta etapa describe el nuevo sistema como un conjunto de módulos o subsistemas. La etapa de diseño toma como su aportación inicial de las necesidades identificadas en el documento aprobado los requisitos. Para cada necesidad, un conjunto de uno o más elementos de diseño se produce como resultado de las entrevistas, talleres, y / o los esfuerzos de prototipo. Los elementos de diseño describen las características de software que desee en detalle, y generalmente incluyen diagramas de jerarquía funcional, diagramas de disposición de la pantalla, los cuadros de reglas de negocio, los diagramas de proceso de negocio, pseudocódigo, y una entidad completa el diagrama de la relación con un diccionario de datos completo. Estos elementos de diseño se pretende describir el software con el suficiente detalle que los programadores cualificados puede desarrollar el software con el aporte adicional mínimo.

Construcción

Modulación y código de programación del subsistema se llevará a cabo durante esta etapa cada una de los paradigmas que se le empleen con el propósito de realizar una unidad de prueba de los módulos. Esta etapa será replicada en los siguientes módulos individuales mismos que serán necesarios antes de la integración con el proyecto principal.

Pruebas

El código es probado en los distintos niveles en la prueba de software. Unidad de sistema y pruebas de aceptación del usuario se realiza a menudo. Esta es un área gris, existen diferentes opiniones en cuanto a lo de las etapas de prueba y cuánto, si se produce cualquier iteración. Iteración de no forman parte del modelo de cascada, pero por lo general se producen algunos en esta etapa.

Tipos de pruebas:

• Conjunto de datos de prueba. • Prueba de unidad • Las pruebas del sistema • Prueba de integración • Pruebas de caja Negro • Las pruebas de caja blanca • Las pruebas de regresión • Automatización de Pruebas • Pruebas de aceptación del usuario • Las pruebas de rendimiento

Operaciones y mantenimiento 

El despliegue del sistema incluye cambios y mejoras antes de la clausura o el ocaso del sistema. Mantenimiento del sistema es un aspecto importante de la SDLC. Como personal clave cambiar de posición en la organización, los cambios se aplicarán nuevas, que requieren actualizaciones del sistema.

Vida de temas de desarrollo de sistemas de ciclo Gestión y control 

SDLC fases relacionadas con la gestión Controles.

Los sistemas de ciclo de vida del desarrollo (SDLC) fases servir de guía programática para la actividad del proyecto y proporcionar una manera flexible pero coherente para llevar a cabo proyectos a una profundidad de juego el alcance del proyecto. Cada uno de los objetivos de la fase SDLC se describen en esta sección con los resultados clave, una descripción de las tareas recomendadas, y un resumen de los objetivos de control relacionados para la gestión eficaz. Es fundamental para el gestor de proyecto para establecer y supervisar los objetivos de control en cada fase de SDLC, mientras que la ejecución de proyectos. Los objetivos de control de ayudar a proporcionar una declaración clara de los resultados deseados o el propósito y debe ser utilizado durante todo el proceso de SDLC entero. Objetivos de control pueden agruparse en categorías principales (dominios), y se refieren a las fases de SDLC como se muestra en la figure.9 Para la gestión y el control de cualquier iniciativa SDLC, cada proyecto será necesario establecer algún grado de una estructura de desglose de trabajo (WBS) para la captura y el calendario de los trabajos necesarios para completar el proyecto. La WBS y todo el material programático debe mantenerse en la sección "Descripción del proyecto" de la portátil del proyecto. El formato de PEP es sobre todo a la izquierda al jefe de proyecto para establecer en la forma que mejor describe el trabajo del proyecto. Hay algunas áreas clave que deben definirse en el PEP como parte de la política de SDLC. El diagrama siguiente se describen tres áreas clave que se abordarán en la WBS en una forma establecida por el proyecto mánager.

Estructura de desglose de trabajo la organización

La sección superior de la estructura de desglose de trabajo (WBS) debe identificar las principales fases y los hitos del proyecto en forma de resumen. Además, la sección superior debería proporcionar una visión general de todo el alcance y el calendario del proyecto y será parte del esfuerzo inicial descripción del proyecto que conduce a la aprobación de proyectos. La sección central de la EDT se basa en los siete sistemas de Desarrollo del Ciclo de Vida (SDLC) fases como una guía para el desarrollo de tareas EDT. Los elementos PEP debe consistir de los hitos y las "tareas" en oposición a las "actividades" y tienen un período definitivo (generalmente dos semanas o más). Cada tarea debe tener una salida medibles (por ejemplo, el documento, decisión, o análisis). Una tarea PEP puede basarse en una o más actividades (por ejemplo, ingeniería de software, ingeniería de sistemas) y puede requerir una estrecha coordinación con otras tareas, ya sean internos o externos al proyecto. Cualquier parte del proyecto que necesitan el apoyo de los contratistas deben tener una declaración de trabajo (SOW) por escrito para incluir las tareas adecuadas de las fases SDLC. El desarrollo de una Declaración de trabajo no se producen durante una fase específica de SDLC, pero se ha desarrollado para incluir los trabajos del proceso de SDLC que podrá ser realizada por recursos externos, como contractors.

Líneas de base en el SDLC

Las líneas de base son una parte importante de los Sistemas de Ciclo de Vida de Desarrollo (SDLC). Estas líneas de base se estableció después de que cuatro de las cinco fases del SDLC y son esenciales para la naturaleza iterativa del modelo 10. Cada línea de base se considera como un hito en el SDLC. • Funcional de referencia: establecido después de la fase de diseño conceptual. • Asignado de referencia: establecido después de la fase de diseño preliminar. • Producto de referencia: establecido después de que el diseño de detalle y la fase de desarrollo. • Actualización de productos de referencia: establecido después de la fase de construcción de la producción.

Como complemento a SDLC

Métodos complementarios de desarrollo de software para desarrollo de sistemas de Ciclo de Vida (SDLC) son: • Software de prototipos • Aplicaciones de diseño mixto (JAD) • Desarrollo rápido de aplicaciones (RAD) • Extreme Programming (XP), extensión de los trabajos anteriores en los prototipos y RAD. • Open Source Development • Terminar con el desarrollo de usuario • Programación Orientada a Objetos Comparación de Metodologías (Post, y Anderson 2006) 11

SDLC RAD Open Source Objetos JAD prototipos para el usuario final Control formal MIS débil Normas conjunto de usuarios del usuario Plazos Largo Corto Medio a corto Corto Mediano Muchos usuarios Varía Pocas Pocas Pocas Una o Dos Uno Cientos de personal MIS Pocas Muchas Split Pocos Ninguno de uno o dos Transacción / DSS transacciones Ambos Ambos Ambos DSS DSS DSS Interfaz Minimal Minimal débil Windows crucial crucial Documentación y formación Vital internos limitados en objeto limitado débil Ninguno La integridad y la seguridad Vital objeto limitado Desconocido En débil débil Reutilización limitada, algunos Quizá Vital Limitada débil Ninguno

Fortalezas y debilidades 

Pocas personas en el mundo de la computación moderna utilizan un modelo en cascada estrictas para su desarrollo de sistemas del ciclo de vida (SDLC), como muchas metodologías modernas han sustituido este pensamiento. Algunos dirán que el SDLC ya no se aplica a los modelos como el Agile development, pero todavía es un término ampliamente utilizado en los círculos tecnológicos. La práctica de SDLC tiene ventajas en los modelos tradicionales de desarrollo de software, que se presta más a un ambiente estructurado. Las desventajas de usar la metodología SDLC es cuando hay necesidad de un desarrollo iterativo o (es decir, el desarrollo web o e-commerce) donde los interesados tienen la necesidad de revisar periódicamente el programa que se está diseñando. En lugar de ver SDLC desde una perspectiva de fuerza o debilidad, es mucho más importante tener las mejores prácticas del modelo de SDLC y aplicarlo a todo lo que puede ser más apropiado para el software se está diseñando. Una comparación de las fortalezas y debilidades de SDLC: Fortalezas y debilidades de SDLC 11

Fortalezas Debilidades Control. El aumento de tiempo de desarrollo. Los proyectos de monitor de gran tamaño. El aumento de los costes de desarrollo. Pasos detallados. Los sistemas deben ser definidos desde el principio. Evaluar los costos y objetivos de conclusión. La rigidez. Documentación. Difícil estimar los costos, los sobrecostos del proyecto. Bien definido de entrada del usuario. La entrada del usuario es a veces limitado. Facilidad de mantenimiento. Desarrollo y diseño de las normas. Tolera los cambios en la dotación de personal de MIS. Una alternativa a la SDLC se desarrolló rápido de aplicaciones, que combina la creación de prototipos, Joint Application Development y la aplicación de herramientas CASE. Las ventajas de RAD son la velocidad, la reducción de los costes de desarrollo, y la participación activa del usuario en el proceso de desarrollo. No debe suponerse que solo porque el modelo en cascada es la más antigua SDLC modelo original que es el sistema más eficiente. En un momento en que el modelo fue beneficiosa sobre todo para el mundo de la automatización de actividades que fueron asignados a los empleados y contables. Sin embargo, el mundo de la evolución tecnológica exige que los sistemas tienen una mayor funcionalidad que ayude a ayudar a los técnicos al servicio de asistencia a los administradores o especialistas en tecnologías de la información / analistas.

COMPLEMENTO DE LEER.

Introducción Un proyecto de ingeniería de software involucra a las personas guiadas por objetivos comunes y estrategias de trabajo con una colección de herramientas para producir documentos y código. Las herramientas incluyen compiladores, depuradores, entornos de gestión de cambios, control de código fuente, gestión de proyectos, procesadores de documentos, y herramientas de modelado de dominio. Los documentos producidos incluyen los requisitos que definen el problema, los manuales de los clientes, planes de prueba, los escenarios, un diseño que define la arquitectura, y los planes de ejecución. El código puede hacer frente a objetos, estructuras de datos, algoritmos, métodos, módulos, protocolos, y las definiciones de interfaz. Las estrategias se materializan a través de la recopilación de la arquitectura, los métodos, los paradigmas, análisis de riesgos, convenios y una declaración de misión. Estas medidas en conjunto a definir la cuna a la tumba del ciclo de vida del proyecto de software. Hay cuatro fases fundamentales en la mayoría, si no todas, las metodologías de ingeniería de software. Estas fases son: análisis, diseño, implementación y pruebas. Estas fases frente a lo que se va a construir, cómo se va a construir, la construcción, y por lo que es de alta calidad. La fase de análisis La fase de análisis se definen los requisitos del sistema, independiente de cómo estos requisitos se llevará a cabo. Esta fase se define el problema de que el cliente está tratando de resolver. El resultado a entregar al final de esta fase es un documento de obligación. Idealmente, este documento indica de manera clara y precisa lo que se va a construir. Este análisis lo que representa el ``fase. El documento de obligación trata de captar las necesidades desde la perspectiva del cliente mediante la definición de objetivos y de las interacciones a nivel retirado de los detalles de implementación. El documento de obligación puede ser expresada en un lenguaje formal basado en la lógica matemática. Tradicionalmente, el documento de obligación está escrito en inglés o en otro idioma escrito. El documento requisito no se especificarán los detalles de arquitectura o de aplicación, pero especifica la información en el nivel superior de la descripción. El enunciado del problema, las expectativas del cliente, y los criterios de éxito son ejemplos de descripciones de alto nivel. Hay una línea difusa entre descripciones de alto nivel y los detalles de bajo nivel. A veces, si un detalle exacto de ingeniería debe ser determinado, este detalle también aparecerá en el documento de obligación. Esta es la excepción y no debería ser la norma. Estas excepciones se producen por muchas razones, incluido el mantenimiento de la coherencia con otros sistemas establecidos, la disponibilidad de opciones particulares, las demandas del cliente, y establecer, en el nivel de exigencia, una visión de la arquitectura en particular. Un ejemplo de un detalle de bajo nivel que podrían aparecer en el documento de requisitos es el uso de la línea de productos de un fabricante concreto, o el uso de algunos norma aceptada de la industria informática, o una limitación en el tamaño de la imagen de la aplicación. Hay un conflicto fundamental entre los niveles altos y bajos niveles de detalle. El documento de obligación de los Estados lo que el sistema debe cumplir, independiente de muchos de los detalles. El proceso de descubrimiento utilizado en el establecimiento de los requisitos durante la fase de análisis se describe mejor como un proceso de refinamiento que como los niveles de proceso detalle Tradicionalmente, el documento describe el requisito de las cosas en el sistema y las acciones que se pueden hacer en estas cosas. Las cosas pueden ser expresadas como objetos en un objeto de la tecnología basada en datos y algoritmos, se esconden detrás jerárquico métodos polimórficos. Alternativamente, las cosas podrían ser expresado como los servicios de acceso a bases de datos en un enfoque funcional, donde los datos es un concepto radicalmente diferente de las funciones. En general, la descripción de las cosas en el sistema puede ser mucho más general y no limitarse a una tecnología en particular. En un sentido más general, este documento describe la ontología que los sintagmas nominales y las frases verbales que se convertirán en las directrices para definir la aplicación de protocolo específico. Las descripciones de los requisitos de las cosas en el sistema y sus acciones no implica un diseño de arquitectura más bien una descripción de los artefactos del sistema y cómo se comportan, desde la perspectiva del cliente. Más tarde, en la fase de diseño, estas descripciones requisito se asignan en ciencias de la computación basada en las primitivas, tales como listas, pilas, árboles, gráficos, algoritmos y estructuras de datos. La descripción de la abstracción de los sintagmas nominales y las frases verbales no están obligados a la utilización de un lenguaje humano, por escrito. La mayoría de las lenguas escritas humanos son demasiado vagas para capturar la precisión necesaria para construir un sistema. Mecanismos alternativos descriptivo basado en la lógica matemática son a veces más adecuado, pero mucho más difícil de lograr. La lógica matemática proporciona una base científica para expresar con precisión la información. Sin embargo, con frecuencia en el mundo real, una descripción precisa es alcanzable. Una vez más el documento de requisitos debe indicar de manera clara y precisa lo que se va a construir. El mecanismo definitivo al autor de dicho documento, ya sea formal o informalmente, aún no se ha desarrollado, aunque bastante éxito se ha logrado con los métodos existentes, incluyendo las herramientas CASE y herramientas basadas en la lógica matemática Más tarde, en la fase de diseño, la descomposición muy importante del problema conduce al desarrollo de estructuras de datos y algoritmos. La descomposición funcional para un entorno distribuido conduce a una división natural de las estructuras de datos y algoritmos. Algunos ejemplos son distribuidos los sistemas cliente-servidor, donde una base de datos contiene los datos en un servidor, mientras que los algoritmos de manipulación de los datos que residen en el cliente. Un objeto basado en la descomposición natural lleva a una unión de estructuras de datos y algoritmos de formación de objetos con métodos. Los documentos requisito debe ser independiente de la técnica de descomposición. El equipo de análisis se desarrolla el documento de obligación, que habla de las cosas y las acciones sobre las cosas. Este documento debería incluir también los estados, eventos, escenarios típicos de uso, y escenarios típicos de uso de La fase de diseño En la fase de diseño de la arquitectura se ha establecido. Esta fase se inicia con el documento emitido por el requisito de la fase de requisito y mapas de los requisitos en la arquitectura. La arquitectura define los componentes, sus interfaces y comportamientos. El documento de diseño de realización es la arquitectura. El documento de diseño describe un plan para aplicar los requisitos. Esta fase representa la `` cómofase. Los detalles sobre los lenguajes de programación y entornos, máquinas, paquetes, arquitectura de aplicaciones distribuidas capas de la arquitectura, tamaño de la memoria, la plataforma, algoritmos, estructuras de datos, se establecen las definiciones de tipo global, interfaces, y muchos otros detalles de ingeniería. El diseño puede incluir el uso de componentes existentes. El equipo de arquitectura ahora puede ampliar la información establecida en el documento de obligación. Uso de la típica y una hipótesis típica prevista en el documento de requisitos, el desempeño del comercio-offs puede llevarse a cabo, así como la complejidad de la aplicación del comercio-offs. Obviamente, si una acción se hace muchas veces, es necesario que se haga correctamente y de manera eficiente. Una acción rara vez se utiliza debe aplicarse correctamente, pero no es evidente cuál es el nivel de cumplimiento es obligatorio. El documento requisito que debe guiar este proceso de decisión. Un ejemplo de una acción rara vez se utiliza la que se debe hacer con el alto rendimiento es el cierre de emergencia de un reactor nuclear. Analizar las ventajas y desventajas de la necesaria complejidad permite muchas cosas para seguir siendo sencillo, que, a su vez, conducirá finalmente a un producto de mayor calidad. El equipo de arquitectura también convierte los escenarios típicos en un plan de prueba. En nuestro enfoque, el equipo, teniendo en cuenta un documento de obligación de completar, también debe indicar las prioridades fundamentales para el equipo de aplicación. Una prioridad fundamental de aplicación conduce a una tarea que tiene que ser bien hecho. Si falla, el producto falla. Si tiene éxito, el producto podría tener éxito. Por lo menos, el nivel de confianza del equipo de producción de un producto de éxito se incrementará. Esto mantendrá el equipo de implementación focalizada. Exactamente cómo se transmite la información es una técnica basada en la experiencia más que una ciencia basada en fundamentos fundamentales. La fase de ejecución En la fase de ejecución, el equipo desarrolla los componentes ya sea desde cero o por la composición. Teniendo en cuenta el documento de la arquitectura de la fase de diseño y el documento de requerimiento de la fase de análisis, el equipo debe construir exactamente lo que se ha solicitado, aunque aún hay margen para la innovación y la flexibilidad. Por ejemplo, un componente puede ser estrictamente diseñada para este sistema en particular, o el componente puede ser más general, para satisfacer una directriz reutilización. El documento de la arquitectura debe proporcionar orientación. A veces, esta guía se encuentra en el documento de obligación. Las ofertas de la fase de ejecución de las cuestiones de calidad, rendimiento, parámetros de referencia, las bibliotecas, y la depuración. El final realización es el producto mismo. La fase de prueba En pocas palabras, la calidad es muy importante. Muchas empresas no han aprendido que la calidad es importante y ofrecer más funcionalidad reclamada, pero a un nivel de calidad inferior. Es mucho más fácil explicar a un cliente por qué hay una característica que falta que explicar a un cliente por el producto carece de calidad. Un cliente satisfecho con la calidad de un producto que seguirá siendo fiel y esperar a que la nueva funcionalidad en la próxima versión. La calidad es un atributo distintivo de un sistema que indica el grado de excelencia de En muchas metodologías de ingeniería de software, la fase de pruebas es una fase separada que se lleva a cabo por un equipo diferente después de completar la aplicación. No hay mérito en este enfoque, es difícil ver los propios errores, y una mirada fresca puede descubrir errores evidentes mucho más rápido que la persona que ha leído y releído el material muchas veces. Desafortunadamente, la delegación de la prueba a otro equipo lleva a una actitud de holgura respecto a la calidad por el equipo de aplicación. Alternativamente, otro enfoque es delegar las pruebas para toda la organización. Si los equipos están a ser conocido como los artesanos, a continuación, los equipos deben ser responsables de establecer una elevada calidad en todas las fases. A veces, un cambio de actitud debe tener lugar para garantizar la calidad. La técnica de ensayo es desde la perspectiva del proveedor del sistema. Debido a que es casi imposible duplicar el medio ambiente a todos los clientes posibles, y porque los sistemas están en libertad con todavía-a-ser-descubierto errores, el cliente tiene un papel importante, aunque a regañadientes, en función de las pruebas. COMPLEMENTO DE LEER

Proceso de desarrollo de software De Wikipedia, la enciclopedia libre Saltar a navegación, búsqueda Proceso de desarrollo de software Actividades y las medidas • Requisitos de Especificación • Diseño de Arquitectura • Aplicación de Pruebas • Mantenimiento de implementación

Modelos Agile • • DSDM para salas blancas Iterativo • RAD RUP • • Espiral Cascada XP • • • Lean Scrum V-Modelo • • FDD TDD

Apoyo a las disciplinas Gestión de la configuración Documentación Garantía de calidad (SQA) Gestión de proyectos Diseño de experiencia de usuario

Herramientas Compilador • • Depurador Profiler Diseñador GUI Entorno de desarrollo integrado

v • d • e

Un proceso de desarrollo de software es una estructura impuesta sobre el desarrollo de un producto de software. Los sinónimos son de ciclo de vida del software y el proceso de software. Existen varios modelos para estos procesos, cada uno de los enfoques para describir una variedad de tareas o actividades que tienen lugar durante el proceso. Contenidos ocultar • 1 Información general • 2 actividades de desarrollo de software 2,1 o Planificación o 2.2 La ejecución, pruebas y documentación de 2,3 o de implementación y mantenimiento • 3 modelos de desarrollo de software 3,1 o Cascada Modelo 3,2 o un modelo de espiral 3,3 o iterativo e incremental de desarrollo 3.4 Ágil o Desarrollo • 4 Proceso de Mejora de Modelos • 5 métodos formales • 6 Véase también • 7 Referencias • 8 Enlaces externos

Descripción general 

El cuerpo en gran medida cada vez mayor de organizaciones de desarrollo de software de aplicación de las metodologías del proceso. Muchos de ellos están en la industria de defensa, que en los EE.UU. requiere de una clasificación basada en "modelos de procesos" para obtener contratos. El estándar internacional para describir el método de selección, aplicación y seguimiento del ciclo de vida para el software es la norma ISO 12207. A décadas de meta ha sido encontrar repetible, predecible procesos que mejoran la productividad y la calidad. Algunos tratan de sistematizar y formalizar la tarea aparentemente ingobernables de la escritura de software. Otros se aplican técnicas de gestión de proyectos para el software de escritura. Sin gestión de proyectos, proyectos de software fácilmente pueden ser entregados con retraso o por encima del presupuesto. Con un gran número de proyectos de software que no cumpla sus expectativas en términos de funcionalidad, costo, o el calendario de entrega, gestión de proyectos efectiva parece ser insuficiente. Las organizaciones pueden crear un grupo de procesos de Ingeniería de Software (SEPG), que es el punto focal para la mejora de procesos. Compuesto por profesionales de primera línea que han variado las habilidades, el grupo está en el centro de la colaboración de todos en la organización que esté involucrada en la mejora de procesos de ingeniería de software.

Las actividades de desarrollo de software 

Las actividades del proceso de desarrollo de software representados en el modelo de cascada. Hay varios otros modelos para representar a este proceso.

Planificación 

La tarea importante en la creación de un producto de software es la extracción de las exigencias o requisitos de análisis. Los clientes suelen tener una idea abstracta de lo que quieren como resultado final, pero no lo que el software debe hacer. Incompleta, ambigua o, incluso, exigencias contradictorias son reconocidos por los ingenieros de software especializados y experimentados en este punto. Con frecuencia viven demostrando código puede ayudar a reducir el riesgo de que los requisitos son incorrectos. Una vez que los requisitos generales que se deducen de la cliente, un análisis del alcance del desarrollo debe ser determinada y claramente. Esto es a menudo llamado un documento de alcance. Algunas funciones pueden estar fuera del alcance del proyecto en función del costo o como resultado de los requisitos de claro en el inicio del desarrollo. Si el desarrollo se realiza en el exterior, este documento puede ser considerado un documento legal de manera que si cada vez hay controversias, ninguna ambigüedad de lo que se comprometió a que el cliente pueda ser aclarado.

Implementación, pruebas y documentación de 

La implementación es la parte del proceso en el que los ingenieros de software en realidad el programa de código para el proyecto. Pruebas de software es una parte integral e importante del proceso de desarrollo de software. Esta parte del proceso asegura que los defectos son reconocidos tan pronto como sea posible. Documentar el diseño interno de software con el propósito de mantenimiento futuro y la mejora se realiza durante todo el desarrollo. Esto también puede incluir la autoría de una API, ya sea externa o interna.

Implementación y el mantenimiento 

Despliegue comienza después de que el código es prueba de forma adecuada, es aprobado para su liberación y vendidos o distribuidos en un entorno de producción. Software de capacitación y apoyo es muy importante y una gran cantidad de desarrolladores no se dan cuenta de que. No sería por mucho tiempo y la planificación de un equipo de desarrollo lleva a la creación de software si nadie en una organización que acaba de usarlo. La gente a menudo se resisten al cambio y evitar adentrarse en una zona desconocida, así como una parte de la fase de despliegue, es muy importante contar con clases de formación para nuevos clientes de su software. Mantener y mejorar el software para hacer frente a los problemas recién descubiertos o nuevos requisitos puede tomar mucho más tiempo que el desarrollo inicial del software. Puede ser necesario agregar código que no se ajusta al diseño original para corregir un problema imprevisto o puede ser que un cliente solicita una mayor funcionalidad y el código se puede añadir a sus peticiones. Si el costo laboral de la fase de mantenimiento supera el 25% del coste de las fases anteriores "mano de obra, entonces es probable que la calidad general, de al menos una fase previa, es pobre. En ese caso, la administración debería considerar la opción de la reconstrucción del sistema (o partes) antes de costes de mantenimiento está fuera de control. Sistema de seguimiento de fallos de herramientas que frecuentemente se utilizan en esta fase del proceso para permitir que los equipos de desarrollo de interfaz con los clientes, equipos de campo de pruebas del software para identificar cualquier problema real o percibida. Estas herramientas de software, tanto de código abierto y con licencia comercial, ofrecer un proceso personalizable para adquirir, revisar, reconocer y responder a los problemas reportados.

Modelos de Desarrollo de Software 

Existen varios modelos para agilizar el proceso de desarrollo. Cada uno tiene sus pros y sus contras, y es hasta el equipo de desarrollo a adoptar la más adecuada para el proyecto. A veces una combinación de los modelos pueden ser más adecuados.

Cascada Modelo 

El modelo muestra un proceso de cascada, donde los desarrolladores deben seguir estas fases a fin de: 1. Especificación de Requisitos (Análisis de requerimientos) 2. Diseñar 3. Aplicación (o codificación) 4. Integración 5. Pruebas (o de validación) 6. Implementación (o instalación) 7. Mantenimiento En un modelo de cascada estricta, después de finalizar cada fase, se procede a la siguiente. Las revisiones pueden ocurrir antes de pasar a la siguiente fase que permite la posibilidad de cambios (que puede implicar un proceso formal de control de cambios). Sin embargo, se desaconseja volver a examinar y revisar cualquier fase anterior una vez que esté completo. Esta "rigidez" en un modelo en cascada pura ha sido una fuente de críticas por otras más "flexible" modelos.

Un modelo de espiral 

La principal característica de un modelo en espiral es la gestión del riesgo en las etapas regulares en el ciclo de desarrollo. En 1988, Barry Boehm publicó un sistema formal para el desarrollo de software "modelo en espiral", corresponde modelos y los modelos de prototipos rápidos combinar el énfasis ha sido descuidado por otros modelos de análisis de riesgos, especialmente adaptadas a gran escala de sistemas complejos. Un modelo de espiral de caracol a un número de iteración, los cuatro representante diagrama de cuadrante de las siguientes actividades: (1) formular planes a identificar blancos de software seleccionado para implementar el programa, aclarar las restricciones proyecto de desarrollo, (2) Análisis de riesgos: un análisis y evaluación de los programas seleccionados, para estudiar la manera de identificar y eliminar el riesgo, (3) la ejecución del proyecto: la aplicación de desarrollo de software y de verificación; (4) Evaluación de los clientes: la evaluación de la labor de desarrollo, la propuesta de enmiendas, los planes de formular el siguiente paso. Riesgo modelo basado en espiral, haciendo hincapié en las condiciones de las opciones y limitaciones a fin de apoyar la reutilización de software, la calidad del software puede ayudar como un objetivo especial de la integración en el desarrollo de productos. Sin embargo, el modelo en espiral que tiene algunas condiciones restrictivas, como sigue: (1) el modelo en espiral hincapié en el análisis de riesgos, sino que requieren los clientes a aceptar y creer que gran parte de este análisis, y dar la respuesta pertinente no es fácil, por lo tanto, este modelo es a menudo adaptado a interno en gran escala de desarrollo de software. (2) Si la aplicación de análisis de riesgo afectará en gran medida los beneficios del proyecto, a continuación, el análisis de riesgo no tiene sentido, por lo tanto, el modelo en espiral es solo apto para grandes proyectos de software a gran escala. (3) Buenas a los desarrolladores de software debe buscar los posibles riesgos, un análisis preciso de los riesgos, de lo contrario, dará lugar a un mayor riesgo de Primera etapa es determinar la etapa de la meta de lograr estos objetivos, las opciones y limitaciones y, a continuación, desde la perspectiva del programa de análisis de riesgos, la estrategia de desarrollo, y esforzarse por eliminar todos los riesgos potenciales y, a veces necesaria para lograr a través de la construcción de la prototipo. Si algún riesgo no puede descartarse, el programa para poner fin de inmediato, o bien iniciar el desarrollo de los próximos pasos. Por último, los resultados de la evaluación de la etapa, y el diseño de la próxima fase.

Desarrollo iterativo y creciente 

Iterativo Desarrollo1 prescribe la construcción de porciones inicialmente pequeño pero cada vez mayor de un proyecto de software para ayudar a todos los participantes a descubrir aspectos importantes principios antes que los problemas o suposiciones erróneas pueden llevar al desastre. Los procesos iterativos son preferidas por los desarrolladores comerciales, ya que permite un potencial de alcanzar los objetivos de diseño de un cliente que no sabe cómo definir lo que quieren.

Agile Development 

Ágiles de desarrollo de software de desarrollo iterativo utiliza como base, pero los defensores de un pueblo más ligero y más centrada en el punto de vista que los enfoques tradicionales. Los procesos ágiles de votos utilizar, en lugar de planificación, como su principal mecanismo de control. La respuesta es impulsado por las pruebas regulares y las liberaciones de los programas en constante evolución. Hay muchas variaciones de los procesos ágiles. XP (Extreme Programming) En XP, las fases se lleven a cabo en muy pequeña (o "continuo") las medidas frente a la antigua, "lote" los procesos. La (intencionalmente incompleta) de primer paso a través de los pasos que podría tomar un día o una semana, en vez de los meses o años de cada paso completo en el modelo de cascada. En primer lugar, se escribe pruebas automatizadas, para proporcionar metas concretas para el desarrollo. Lo siguiente es la codificación (por un par de programadores), que se completa cuando todas las pruebas pasan, y los programadores no pueden pensar en más pruebas que se necesitan. Diseño y arquitectura emergen de refactorización, y viene en pos de codificación. El diseño es realizado por las mismas personas que hacen la codificación. (El último rasgo - la fusión de diseño y código - es común a todos los demás procesos ágiles.) La incompleta pero funcional sistema se instala, ni ha demostrado para subconjunto (algunos de) los usuarios (al menos uno de los cuales está en el equipo de desarrollo). En este punto, los profesionales de empezar de nuevo a escribir ensayos para la parte más importante del sistema. Rational Unified Process Scrum

Proceso de Mejora de Modelos de 

Capability Maturity Model Integration Modelo de Madurez de la Capacidad de Integración (CMMI) es uno de los principales modelos y basado en las mejores prácticas. Evaluaciones independientes de las organizaciones de grado de lo bien que siguen sus procesos definidos, no en la calidad de los procesos o el software producido. CMMI ha sustituido a la CMM. ISO 9000 ISO 9000 describe las normas para un proceso formalmente organizados para la fabricación de un producto y los métodos de gestión y seguimiento de los progresos realizados. Aunque la norma fue creada originalmente para el sector manufacturero, las normas ISO 9000 se han aplicado al desarrollo de software. Como CMMI, la certificación ISO 9000 no garantiza la calidad del resultado final, solo que los procesos de negocio formalizado se han seguido. ISO 15504 ISO 15504, también conocida como Proceso de Determinación de Software Mejora de las Capacidades (SPICE), es un "marco para la evaluación de los procesos de software". Esta norma está destinada a establecer un modelo claro para la comparación de procesos. SPICE se utiliza mucho como CMMI. Que los modelos de los procesos para administrar, controlar, orientar y supervisar el desarrollo de software. Este modelo se utiliza para medir lo que una organización de desarrollo o el equipo de proyecto en realidad lo hace durante el desarrollo de software. Esta información es analizada para identificar las debilidades y la mejora de la unidad. También identifica los puntos fuertes que puede mantenerse o integrarse en una práctica común para esa organización o equipo.

Los métodos formales 

Los métodos formales son métodos matemáticos para la solución de software (y hardware) los problemas en los requisitos, especificaciones y los niveles de diseño. Ejemplos de los métodos formales son el B-Método, redes de Petri, lo que prueba automática de teoremas, plantear y VDM. Varios anotaciones especificación formal están disponibles, tales como la notación Z. Más en general, la teoría de autómatas se puede utilizar para construir y validar el comportamiento de la aplicación mediante el diseño de un sistema de máquinas de estados finitos. Máquina de estados finitos (FSM), metodologías basadas en la especificación de software permiten ejecutable y por paso de la codificación convencional (véase el virtual máquina de estados finitos o un evento impulsado por máquina de estados finitos). Los métodos formales son más susceptibles de ser aplicadas en el software de aviónica, en particular cuando el software es indispensable para la seguridad. Normas de garantía de software de seguridad, tales como los métodos de la demanda DO178B formal al más alto nivel de categorización (Nivel A). Formalización de desarrollo de software se infiltra en él, en otros lugares, con la aplicación de Object Constraint Language especializaciones (y como Java Modeling Language) y, especialmente, con el modelo impulsado por la arquitectura permite la ejecución de diseños, si no las especificaciones. Otra de las tendencias emergentes en el desarrollo de software es escribir una especificación en algún tipo de lógica (por lo general una variación de FOL), y luego de ejecutar directamente la lógica, como si se tratara de un programa. El lenguaje OWL, basados en la descripción lógica, es un ejemplo. También se está trabajando sobre la cartografía de alguna versión de inglés (u otro lenguaje natural) y de forma automática a partir de la lógica, y la ejecución de la lógica directamente. Ejemplos de ello son Attempto Inglés controlada, y la lógica de negocios de Internet, que no tratan de controlar el vocabulario o la sintaxis. Una característica de los sistemas que apoyan bidireccional Inglés-mapping lógica y la ejecución directa de la lógica es que pueden hacerse para explicar sus resultados, en inglés, en el negocio o nivel científico. La Oficina de Responsabilidad Gubernamental, en un informe de 2003 sobre una de tráfico de la Administración Federal de Aviación de los programas de modernización del control aéreo, 2 recomienda seguir las orientaciones de la agencia para la gestión de sistemas de adquisición de los principales • establecer, mantener y controlar una forma precisa, válida y actual base de referencia de medición del desempeño, que incluiría la negociación de todos los autorizados, el trabajo sin precio a menos de 3 meses; • la realización de un examen integrado de base de cualquier modificación importante contrato dentro de 6 meses, y • preparación de una vida rigurosa estimación del coste del ciclo, incluyendo una evaluación del riesgo, de conformidad con la orientación del conjunto de herramientas de Sistema de Adquisición y de identificar el nivel de incertidumbre inherente a la estimación.

Referencias

  1. . Retrieved 27 October 2008.
  •   Datos: Q559486
  •   Multimedia: Systems Development Life Cycle

systems, development, life, cycle, este, artículo, sección, sobre, informática, necesita, wikificado, favor, edítalo, para, cumpla, convenciones, estilo, puedes, avisar, redactor, principal, pegando, siguiente, página, discusión, sust, aviso, wikificar, esta, . Este articulo o seccion sobre informatica necesita ser wikificado por favor editalo para que cumpla con las convenciones de estilo Puedes avisar al redactor principal pegando lo siguiente en su pagina de discusion sust Aviso wikificar Systems Development Life Cycle Uso de esta plantilla Wikificar t sust CURRENTTIMESTAMP El ciclo de desarrollo de sistemas SDC o ciclo de desarrollo de un software en la ingenieria de sistemas e ingenieria de software es el proceso de creacion o modificacion de los sistemas modelos y metodologias que la gente usa para desarrollar estos sistemas de software El concepto general se refiere a la computadora o sistemas de informacion En ingenieria de software el concepto de SDLC sostiene muchos tipos de metodologias de desarrollo de software Estas metodologias constituyen el marco para la planificacion y el control de la creacion de una informacion en el proceso de desarrollo de software 1 Indice 1 Descripcion general 2 Historia 3 Fases de desarrollo de software 4 Iniciacion planificacion 4 1 Reunion de relevamiento y analisis de requisitos 4 2 Disenar 4 3 Construccion 4 4 Pruebas 5 SDLC fases relacionadas con la gestion Controles 6 Estructura de desglose de trabajo la organizacion 7 Lineas de base en el SDLC 8 Como complemento a SDLC 9 ReferenciasDescripcion general EditarEl ciclo de vida de desarrollo de un sistema SDLC es un proceso logico utilizado en el mundo del Desarrollo de Software sistemas para desarrollar un sistema de informacion incluidos los requisitos la validacion formacion como los usuarios interesados en la propiedad Cualquier SDLC debe resultar en un sistema de alta calidad que cumple o excede las expectativas del cliente llega a termino en el tiempo y estimaciones de costos sea barato de mantener y rentable Los sistemas informaticos son complejos y muchas veces especialmente con el aumento reciente de Service Oriented Architecture estan vinculados entre fabricantes de software diferentes Para gestionar este nivel de complejidad una serie de sistemas de ciclo de vida de desarrollo SDLC se han creado Cascada Fuente Espiral Construir y arreglar Prototipado rapido Incremental sincronizar y estabilizar etc Tambien existen las metodologias agiles como XP y Scrum que se centran en los procesos de peso ligero permitiendo la rapida evolucion a lo largo del ciclo de desarrollo Metodologias iterativas como Rational Unified Process RUP se centran en los ambitos del proyecto limitado y la mejora o expansion de los productos de multiples iteraciones Secuencial o de gran diseno inicial BDUF modelos como la cascada se centran en la planificacion completa y correcta para guiar a los grandes proyectos al exito disminuyendo los riesgos Algunos defensores de la metodologia agil e iterativo confunden la palabra SDLC con procesos secuenciales o mas tradicionales sin embargo SDLC es un termino para todas las metodologias y cubre todas las etapas como el diseno implementacion y puesta en libertad de software En la gestion de proyectos se definen el ciclo de vida del proyecto PLC y el SDLC durante el cual suceden actividades ligeramente diferente ocurrir Segun Taylor 2004 el ciclo de vida del proyecto abarca todas las actividades del proyecto mientras que el ciclo de vida de desarrollo de sistemas se centra en el cumplimiento de los requisitos de los productos Historia EditarEl ciclo de vida de desarrollo de sistemas SDLC es un tipo de metodologia utilizada para describir el proceso para la construccion de sistemas de informacion destinado a desarrollar sistemas de informacion de un modo muy deliberado estructurado y metodico reiterando cada etapa del ciclo de vida El ciclo de vida de desarrollo de sistemas de acuerdo con Elliott amp Strachan y Radford 2004 se origino en la decada de 1960 para desarrollar sistemas de gran escala funcional de negocio en una epoca de conglomerados empresariales a gran escala Sistemas de informacion giro en torno a las actividades de procesamiento de datos pesados y crujido de numero rutinas 6 Varios sistemas de marcos de desarrollo se han basado en parte en SDLC tales como el analisis de sistemas estructurados y Metodo de Diseno SSADM elaborado para el gobierno del Reino Unido Office of Government Commerce en la decada de 1980 Desde entonces segun Elliot 2004 los enfoques tradicionales de ciclo de vida para el desarrollo de sistemas han sido sustituidos cada vez con enfoques alternativos y los marcos que intento superar algunas de las deficiencias inherentes al SDLC tradicional 6Fases de desarrollo de software EditarDesarrollo de Sistemas de Ciclo de Vida SDLC se adhiere a las fases importantes que son esenciales para los desarrolladores tales como la planificacion analisis diseno y ejecucion Existen varios sistemas para el Desarrollo del Ciclo de Vida El modelo mas antiguo que fue considerado como el Sistema para el Desarrollo del Ciclo de Vida es el modelo en cascada una secuencia de etapas en las que la salida de cada etapa se convierte en la entrada para el siguiente Estas etapas suelen seguir los mismos pasos basicos pero muchas metodologias diferentes en cascada suelen tener los mismos pasos con diferentes nombres y el numero de pasos parecen variar entre 4 y 7 No hay un modelo definitivo para el desarrollo de ciclo de vida de un sistema pero todas las opciones tienen el mismo proposito El SDLC se puede dividir en diez fases durante las cuales se definen los productos de TI de trabajo creados o modificados La decima etapa se produce cuando el sistema se elimina y la tarea realizada se eliminan o se transfieren a otros sistemas Las tareas y los productos de trabajo para cada fase se describen en los capitulos siguientes No en todos los proyectos sera necesario que las fases se ejecuten secuencialmente Sin embargo las fases son interdependientes Dependiendo del tamano y la complejidad del proyecto las fases se pueden combinar o puede alternar 7Iniciacion planificacion EditarPara generar una vision de alto nivel del proyecto y pretender determinar los objetivos del proyecto El estudio de viabilidad se utiliza a veces para presentar el proyecto a la alta direccion en un intento de obtener financiacion Los proyectos son evaluados en tres areas de viabilidad economica operativa y organizativa y tecnica Ademas tambien se utiliza como referencia para mantener el proyecto en marcha y evaluar los avances del MIS team 8 El MIS es tambien un complemento de esas fases Esta fase se denomina tambien como fase de analisis Reunion de relevamiento y analisis de requisitos Editar El objetivo de los sistemas de analisis es determinar donde esta el problema en un intento de arreglar el sistema Este paso implica dividir el sistema en diferentes piezas y elaborar diagramas para analizar la situacion analizar los objetivos del proyecto rompiendo lo que es necesario crear y tratar de comprometer a los usuarios para que los requisitos definidos puede ser definido La recogida de requisitos a veces requiere que los individuos o equipos de cliente asi como partes proveedor de servicios para obtener los requisitos detallados y precisos Disenar Editar En las funciones de diseno de sistemas y operaciones se describen en detalle incluyendo disenos de pantalla las reglas de negocio los diagramas de proceso y otra documentacion La salida de esta etapa describe el nuevo sistema como un conjunto de modulos o subsistemas La etapa de diseno toma como su aportacion inicial de las necesidades identificadas en el documento aprobado los requisitos Para cada necesidad un conjunto de uno o mas elementos de diseno se produce como resultado de las entrevistas talleres y o los esfuerzos de prototipo Los elementos de diseno describen las caracteristicas de software que desee en detalle y generalmente incluyen diagramas de jerarquia funcional diagramas de disposicion de la pantalla los cuadros de reglas de negocio los diagramas de proceso de negocio pseudocodigo y una entidad completa el diagrama de la relacion con un diccionario de datos completo Estos elementos de diseno se pretende describir el software con el suficiente detalle que los programadores cualificados puede desarrollar el software con el aporte adicional minimo Construccion Editar Modulacion y codigo de programacion del subsistema se llevara a cabo durante esta etapa cada una de los paradigmas que se le empleen con el proposito de realizar una unidad de prueba de los modulos Esta etapa sera replicada en los siguientes modulos individuales mismos que seran necesarios antes de la integracion con el proyecto principal Pruebas Editar El codigo es probado en los distintos niveles en la prueba de software Unidad de sistema y pruebas de aceptacion del usuario se realiza a menudo Esta es un area gris existen diferentes opiniones en cuanto a lo de las etapas de prueba y cuanto si se produce cualquier iteracion Iteracion de no forman parte del modelo de cascada pero por lo general se producen algunos en esta etapa Tipos de pruebas Conjunto de datos de prueba Prueba de unidad Las pruebas del sistema Prueba de integracion Pruebas de caja Negro Las pruebas de caja blanca Las pruebas de regresion Automatizacion de Pruebas Pruebas de aceptacion del usuario Las pruebas de rendimiento Operaciones y mantenimiento El despliegue del sistema incluye cambios y mejoras antes de la clausura o el ocaso del sistema Mantenimiento del sistema es un aspecto importante de la SDLC Como personal clave cambiar de posicion en la organizacion los cambios se aplicaran nuevas que requieren actualizaciones del sistema Vida de temas de desarrollo de sistemas de ciclo Gestion y controlSDLC fases relacionadas con la gestion Controles EditarLos sistemas de ciclo de vida del desarrollo SDLC fases servir de guia programatica para la actividad del proyecto y proporcionar una manera flexible pero coherente para llevar a cabo proyectos a una profundidad de juego el alcance del proyecto Cada uno de los objetivos de la fase SDLC se describen en esta seccion con los resultados clave una descripcion de las tareas recomendadas y un resumen de los objetivos de control relacionados para la gestion eficaz Es fundamental para el gestor de proyecto para establecer y supervisar los objetivos de control en cada fase de SDLC mientras que la ejecucion de proyectos Los objetivos de control de ayudar a proporcionar una declaracion clara de los resultados deseados o el proposito y debe ser utilizado durante todo el proceso de SDLC entero Objetivos de control pueden agruparse en categorias principales dominios y se refieren a las fases de SDLC como se muestra en la figure 9 Para la gestion y el control de cualquier iniciativa SDLC cada proyecto sera necesario establecer algun grado de una estructura de desglose de trabajo WBS para la captura y el calendario de los trabajos necesarios para completar el proyecto La WBS y todo el material programatico debe mantenerse en la seccion Descripcion del proyecto de la portatil del proyecto El formato de PEP es sobre todo a la izquierda al jefe de proyecto para establecer en la forma que mejor describe el trabajo del proyecto Hay algunas areas clave que deben definirse en el PEP como parte de la politica de SDLC El diagrama siguiente se describen tres areas clave que se abordaran en la WBS en una forma establecida por el proyecto manager Estructura de desglose de trabajo la organizacion EditarLa seccion superior de la estructura de desglose de trabajo WBS debe identificar las principales fases y los hitos del proyecto en forma de resumen Ademas la seccion superior deberia proporcionar una vision general de todo el alcance y el calendario del proyecto y sera parte del esfuerzo inicial descripcion del proyecto que conduce a la aprobacion de proyectos La seccion central de la EDT se basa en los siete sistemas de Desarrollo del Ciclo de Vida SDLC fases como una guia para el desarrollo de tareas EDT Los elementos PEP debe consistir de los hitos y las tareas en oposicion a las actividades y tienen un periodo definitivo generalmente dos semanas o mas Cada tarea debe tener una salida medibles por ejemplo el documento decision o analisis Una tarea PEP puede basarse en una o mas actividades por ejemplo ingenieria de software ingenieria de sistemas y puede requerir una estrecha coordinacion con otras tareas ya sean internos o externos al proyecto Cualquier parte del proyecto que necesitan el apoyo de los contratistas deben tener una declaracion de trabajo SOW por escrito para incluir las tareas adecuadas de las fases SDLC El desarrollo de una Declaracion de trabajo no se producen durante una fase especifica de SDLC pero se ha desarrollado para incluir los trabajos del proceso de SDLC que podra ser realizada por recursos externos como contractors Lineas de base en el SDLC EditarLas lineas de base son una parte importante de los Sistemas de Ciclo de Vida de Desarrollo SDLC Estas lineas de base se establecio despues de que cuatro de las cinco fases del SDLC y son esenciales para la naturaleza iterativa del modelo 10 Cada linea de base se considera como un hito en el SDLC Funcional de referencia establecido despues de la fase de diseno conceptual Asignado de referencia establecido despues de la fase de diseno preliminar Producto de referencia establecido despues de que el diseno de detalle y la fase de desarrollo Actualizacion de productos de referencia establecido despues de la fase de construccion de la produccion Como complemento a SDLC EditarMetodos complementarios de desarrollo de software para desarrollo de sistemas de Ciclo de Vida SDLC son Software de prototipos Aplicaciones de diseno mixto JAD Desarrollo rapido de aplicaciones RAD Extreme Programming XP extension de los trabajos anteriores en los prototipos y RAD Open Source Development Terminar con el desarrollo de usuario Programacion Orientada a Objetos Comparacion de Metodologias Post y Anderson 2006 11SDLC RAD Open Source Objetos JAD prototipos para el usuario final Control formal MIS debil Normas conjunto de usuarios del usuario Plazos Largo Corto Medio a corto Corto Mediano Muchos usuarios Varia Pocas Pocas Pocas Una o Dos Uno Cientos de personal MIS Pocas Muchas Split Pocos Ninguno de uno o dos Transaccion DSS transacciones Ambos Ambos Ambos DSS DSS DSS Interfaz Minimal Minimal debil Windows crucial crucial Documentacion y formacion Vital internos limitados en objeto limitado debil Ninguno La integridad y la seguridad Vital objeto limitado Desconocido En debil debil Reutilizacion limitada algunos Quiza Vital Limitada debil Ninguno Fortalezas y debilidades Pocas personas en el mundo de la computacion moderna utilizan un modelo en cascada estrictas para su desarrollo de sistemas del ciclo de vida SDLC como muchas metodologias modernas han sustituido este pensamiento Algunos diran que el SDLC ya no se aplica a los modelos como el Agile development pero todavia es un termino ampliamente utilizado en los circulos tecnologicos La practica de SDLC tiene ventajas en los modelos tradicionales de desarrollo de software que se presta mas a un ambiente estructurado Las desventajas de usar la metodologia SDLC es cuando hay necesidad de un desarrollo iterativo o es decir el desarrollo web o e commerce donde los interesados tienen la necesidad de revisar periodicamente el programa que se esta disenando En lugar de ver SDLC desde una perspectiva de fuerza o debilidad es mucho mas importante tener las mejores practicas del modelo de SDLC y aplicarlo a todo lo que puede ser mas apropiado para el software se esta disenando Una comparacion de las fortalezas y debilidades de SDLC Fortalezas y debilidades de SDLC 11Fortalezas Debilidades Control El aumento de tiempo de desarrollo Los proyectos de monitor de gran tamano El aumento de los costes de desarrollo Pasos detallados Los sistemas deben ser definidos desde el principio Evaluar los costos y objetivos de conclusion La rigidez Documentacion Dificil estimar los costos los sobrecostos del proyecto Bien definido de entrada del usuario La entrada del usuario es a veces limitado Facilidad de mantenimiento Desarrollo y diseno de las normas Tolera los cambios en la dotacion de personal de MIS Una alternativa a la SDLC se desarrollo rapido de aplicaciones que combina la creacion de prototipos Joint Application Development y la aplicacion de herramientas CASE Las ventajas de RAD son la velocidad la reduccion de los costes de desarrollo y la participacion activa del usuario en el proceso de desarrollo No debe suponerse que solo porque el modelo en cascada es la mas antigua SDLC modelo original que es el sistema mas eficiente En un momento en que el modelo fue beneficiosa sobre todo para el mundo de la automatizacion de actividades que fueron asignados a los empleados y contables Sin embargo el mundo de la evolucion tecnologica exige que los sistemas tienen una mayor funcionalidad que ayude a ayudar a los tecnicos al servicio de asistencia a los administradores o especialistas en tecnologias de la informacion analistas COMPLEMENTO DE LEER Introduccion Un proyecto de ingenieria de software involucra a las personas guiadas por objetivos comunes y estrategias de trabajo con una coleccion de herramientas para producir documentos y codigo Las herramientas incluyen compiladores depuradores entornos de gestion de cambios control de codigo fuente gestion de proyectos procesadores de documentos y herramientas de modelado de dominio Los documentos producidos incluyen los requisitos que definen el problema los manuales de los clientes planes de prueba los escenarios un diseno que define la arquitectura y los planes de ejecucion El codigo puede hacer frente a objetos estructuras de datos algoritmos metodos modulos protocolos y las definiciones de interfaz Las estrategias se materializan a traves de la recopilacion de la arquitectura los metodos los paradigmas analisis de riesgos convenios y una declaracion de mision Estas medidas en conjunto a definir la cuna a la tumba del ciclo de vida del proyecto de software Hay cuatro fases fundamentales en la mayoria si no todas las metodologias de ingenieria de software Estas fases son analisis diseno implementacion y pruebas Estas fases frente a lo que se va a construir como se va a construir la construccion y por lo que es de alta calidad La fase de analisis La fase de analisis se definen los requisitos del sistema independiente de como estos requisitos se llevara a cabo Esta fase se define el problema de que el cliente esta tratando de resolver El resultado a entregar al final de esta fase es un documento de obligacion Idealmente este documento indica de manera clara y precisa lo que se va a construir Este analisis lo que representa el fase El documento de obligacion trata de captar las necesidades desde la perspectiva del cliente mediante la definicion de objetivos y de las interacciones a nivel retirado de los detalles de implementacion El documento de obligacion puede ser expresada en un lenguaje formal basado en la logica matematica Tradicionalmente el documento de obligacion esta escrito en ingles o en otro idioma escrito El documento requisito no se especificaran los detalles de arquitectura o de aplicacion pero especifica la informacion en el nivel superior de la descripcion El enunciado del problema las expectativas del cliente y los criterios de exito son ejemplos de descripciones de alto nivel Hay una linea difusa entre descripciones de alto nivel y los detalles de bajo nivel A veces si un detalle exacto de ingenieria debe ser determinado este detalle tambien aparecera en el documento de obligacion Esta es la excepcion y no deberia ser la norma Estas excepciones se producen por muchas razones incluido el mantenimiento de la coherencia con otros sistemas establecidos la disponibilidad de opciones particulares las demandas del cliente y establecer en el nivel de exigencia una vision de la arquitectura en particular Un ejemplo de un detalle de bajo nivel que podrian aparecer en el documento de requisitos es el uso de la linea de productos de un fabricante concreto o el uso de algunos norma aceptada de la industria informatica o una limitacion en el tamano de la imagen de la aplicacion Hay un conflicto fundamental entre los niveles altos y bajos niveles de detalle El documento de obligacion de los Estados lo que el sistema debe cumplir independiente de muchos de los detalles El proceso de descubrimiento utilizado en el establecimiento de los requisitos durante la fase de analisis se describe mejor como un proceso de refinamiento que como los niveles de proceso detalle Tradicionalmente el documento describe el requisito de las cosas en el sistema y las acciones que se pueden hacer en estas cosas Las cosas pueden ser expresadas como objetos en un objeto de la tecnologia basada en datos y algoritmos se esconden detras jerarquico metodos polimorficos Alternativamente las cosas podrian ser expresado como los servicios de acceso a bases de datos en un enfoque funcional donde los datos es un concepto radicalmente diferente de las funciones En general la descripcion de las cosas en el sistema puede ser mucho mas general y no limitarse a una tecnologia en particular En un sentido mas general este documento describe la ontologia que los sintagmas nominales y las frases verbales que se convertiran en las directrices para definir la aplicacion de protocolo especifico Las descripciones de los requisitos de las cosas en el sistema y sus acciones no implica un diseno de arquitectura mas bien una descripcion de los artefactos del sistema y como se comportan desde la perspectiva del cliente Mas tarde en la fase de diseno estas descripciones requisito se asignan en ciencias de la computacion basada en las primitivas tales como listas pilas arboles graficos algoritmos y estructuras de datos La descripcion de la abstraccion de los sintagmas nominales y las frases verbales no estan obligados a la utilizacion de un lenguaje humano por escrito La mayoria de las lenguas escritas humanos son demasiado vagas para capturar la precision necesaria para construir un sistema Mecanismos alternativos descriptivo basado en la logica matematica son a veces mas adecuado pero mucho mas dificil de lograr La logica matematica proporciona una base cientifica para expresar con precision la informacion Sin embargo con frecuencia en el mundo real una descripcion precisa es alcanzable Una vez mas el documento de requisitos debe indicar de manera clara y precisa lo que se va a construir El mecanismo definitivo al autor de dicho documento ya sea formal o informalmente aun no se ha desarrollado aunque bastante exito se ha logrado con los metodos existentes incluyendo las herramientas CASE y herramientas basadas en la logica matematica Mas tarde en la fase de diseno la descomposicion muy importante del problema conduce al desarrollo de estructuras de datos y algoritmos La descomposicion funcional para un entorno distribuido conduce a una division natural de las estructuras de datos y algoritmos Algunos ejemplos son distribuidos los sistemas cliente servidor donde una base de datos contiene los datos en un servidor mientras que los algoritmos de manipulacion de los datos que residen en el cliente Un objeto basado en la descomposicion natural lleva a una union de estructuras de datos y algoritmos de formacion de objetos con metodos Los documentos requisito debe ser independiente de la tecnica de descomposicion El equipo de analisis se desarrolla el documento de obligacion que habla de las cosas y las acciones sobre las cosas Este documento deberia incluir tambien los estados eventos escenarios tipicos de uso y escenarios tipicos de uso de La fase de diseno En la fase de diseno de la arquitectura se ha establecido Esta fase se inicia con el documento emitido por el requisito de la fase de requisito y mapas de los requisitos en la arquitectura La arquitectura define los componentes sus interfaces y comportamientos El documento de diseno de realizacion es la arquitectura El documento de diseno describe un plan para aplicar los requisitos Esta fase representa la comofase Los detalles sobre los lenguajes de programacion y entornos maquinas paquetes arquitectura de aplicaciones distribuidas capas de la arquitectura tamano de la memoria la plataforma algoritmos estructuras de datos se establecen las definiciones de tipo global interfaces y muchos otros detalles de ingenieria El diseno puede incluir el uso de componentes existentes El equipo de arquitectura ahora puede ampliar la informacion establecida en el documento de obligacion Uso de la tipica y una hipotesis tipica prevista en el documento de requisitos el desempeno del comercio offs puede llevarse a cabo asi como la complejidad de la aplicacion del comercio offs Obviamente si una accion se hace muchas veces es necesario que se haga correctamente y de manera eficiente Una accion rara vez se utiliza debe aplicarse correctamente pero no es evidente cual es el nivel de cumplimiento es obligatorio El documento requisito que debe guiar este proceso de decision Un ejemplo de una accion rara vez se utiliza la que se debe hacer con el alto rendimiento es el cierre de emergencia de un reactor nuclear Analizar las ventajas y desventajas de la necesaria complejidad permite muchas cosas para seguir siendo sencillo que a su vez conducira finalmente a un producto de mayor calidad El equipo de arquitectura tambien convierte los escenarios tipicos en un plan de prueba En nuestro enfoque el equipo teniendo en cuenta un documento de obligacion de completar tambien debe indicar las prioridades fundamentales para el equipo de aplicacion Una prioridad fundamental de aplicacion conduce a una tarea que tiene que ser bien hecho Si falla el producto falla Si tiene exito el producto podria tener exito Por lo menos el nivel de confianza del equipo de produccion de un producto de exito se incrementara Esto mantendra el equipo de implementacion focalizada Exactamente como se transmite la informacion es una tecnica basada en la experiencia mas que una ciencia basada en fundamentos fundamentales La fase de ejecucion En la fase de ejecucion el equipo desarrolla los componentes ya sea desde cero o por la composicion Teniendo en cuenta el documento de la arquitectura de la fase de diseno y el documento de requerimiento de la fase de analisis el equipo debe construir exactamente lo que se ha solicitado aunque aun hay margen para la innovacion y la flexibilidad Por ejemplo un componente puede ser estrictamente disenada para este sistema en particular o el componente puede ser mas general para satisfacer una directriz reutilizacion El documento de la arquitectura debe proporcionar orientacion A veces esta guia se encuentra en el documento de obligacion Las ofertas de la fase de ejecucion de las cuestiones de calidad rendimiento parametros de referencia las bibliotecas y la depuracion El final realizacion es el producto mismo La fase de prueba En pocas palabras la calidad es muy importante Muchas empresas no han aprendido que la calidad es importante y ofrecer mas funcionalidad reclamada pero a un nivel de calidad inferior Es mucho mas facil explicar a un cliente por que hay una caracteristica que falta que explicar a un cliente por el producto carece de calidad Un cliente satisfecho con la calidad de un producto que seguira siendo fiel y esperar a que la nueva funcionalidad en la proxima version La calidad es un atributo distintivo de un sistema que indica el grado de excelencia de En muchas metodologias de ingenieria de software la fase de pruebas es una fase separada que se lleva a cabo por un equipo diferente despues de completar la aplicacion No hay merito en este enfoque es dificil ver los propios errores y una mirada fresca puede descubrir errores evidentes mucho mas rapido que la persona que ha leido y releido el material muchas veces Desafortunadamente la delegacion de la prueba a otro equipo lleva a una actitud de holgura respecto a la calidad por el equipo de aplicacion Alternativamente otro enfoque es delegar las pruebas para toda la organizacion Si los equipos estan a ser conocido como los artesanos a continuacion los equipos deben ser responsables de establecer una elevada calidad en todas las fases A veces un cambio de actitud debe tener lugar para garantizar la calidad La tecnica de ensayo es desde la perspectiva del proveedor del sistema Debido a que es casi imposible duplicar el medio ambiente a todos los clientes posibles y porque los sistemas estan en libertad con todavia a ser descubierto errores el cliente tiene un papel importante aunque a reganadientes en funcion de las pruebas COMPLEMENTO DE LEERProceso de desarrollo de software De Wikipedia la enciclopedia libre Saltar a navegacion busqueda Proceso de desarrollo de software Actividades y las medidas Requisitos de Especificacion Diseno de Arquitectura Aplicacion de Pruebas Mantenimiento de implementacionModelos Agile DSDM para salas blancas Iterativo RAD RUP Espiral Cascada XP Lean Scrum V Modelo FDD TDDApoyo a las disciplinas Gestion de la configuracion Documentacion Garantia de calidad SQA Gestion de proyectos Diseno de experiencia de usuarioHerramientas Compilador Depurador Profiler Disenador GUI Entorno de desarrollo integradov d eUn proceso de desarrollo de software es una estructura impuesta sobre el desarrollo de un producto de software Los sinonimos son de ciclo de vida del software y el proceso de software Existen varios modelos para estos procesos cada uno de los enfoques para describir una variedad de tareas o actividades que tienen lugar durante el proceso Contenidos ocultar 1 Informacion general 2 actividades de desarrollo de software 2 1 o Planificacion o 2 2 La ejecucion pruebas y documentacion de 2 3 o de implementacion y mantenimiento 3 modelos de desarrollo de software 3 1 o Cascada Modelo 3 2 o un modelo de espiral 3 3 o iterativo e incremental de desarrollo 3 4 Agil o Desarrollo 4 Proceso de Mejora de Modelos 5 metodos formales 6 Vease tambien 7 Referencias 8 Enlaces externos Descripcion general El cuerpo en gran medida cada vez mayor de organizaciones de desarrollo de software de aplicacion de las metodologias del proceso Muchos de ellos estan en la industria de defensa que en los EE UU requiere de una clasificacion basada en modelos de procesos para obtener contratos El estandar internacional para describir el metodo de seleccion aplicacion y seguimiento del ciclo de vida para el software es la norma ISO 12207 A decadas de meta ha sido encontrar repetible predecible procesos que mejoran la productividad y la calidad Algunos tratan de sistematizar y formalizar la tarea aparentemente ingobernables de la escritura de software Otros se aplican tecnicas de gestion de proyectos para el software de escritura Sin gestion de proyectos proyectos de software facilmente pueden ser entregados con retraso o por encima del presupuesto Con un gran numero de proyectos de software que no cumpla sus expectativas en terminos de funcionalidad costo o el calendario de entrega gestion de proyectos efectiva parece ser insuficiente Las organizaciones pueden crear un grupo de procesos de Ingenieria de Software SEPG que es el punto focal para la mejora de procesos Compuesto por profesionales de primera linea que han variado las habilidades el grupo esta en el centro de la colaboracion de todos en la organizacion que este involucrada en la mejora de procesos de ingenieria de software Las actividades de desarrollo de software Las actividades del proceso de desarrollo de software representados en el modelo de cascada Hay varios otros modelos para representar a este proceso Planificacion La tarea importante en la creacion de un producto de software es la extraccion de las exigencias o requisitos de analisis Los clientes suelen tener una idea abstracta de lo que quieren como resultado final pero no lo que el software debe hacer Incompleta ambigua o incluso exigencias contradictorias son reconocidos por los ingenieros de software especializados y experimentados en este punto Con frecuencia viven demostrando codigo puede ayudar a reducir el riesgo de que los requisitos son incorrectos Una vez que los requisitos generales que se deducen de la cliente un analisis del alcance del desarrollo debe ser determinada y claramente Esto es a menudo llamado un documento de alcance Algunas funciones pueden estar fuera del alcance del proyecto en funcion del costo o como resultado de los requisitos de claro en el inicio del desarrollo Si el desarrollo se realiza en el exterior este documento puede ser considerado un documento legal de manera que si cada vez hay controversias ninguna ambiguedad de lo que se comprometio a que el cliente pueda ser aclarado Implementacion pruebas y documentacion de La implementacion es la parte del proceso en el que los ingenieros de software en realidad el programa de codigo para el proyecto Pruebas de software es una parte integral e importante del proceso de desarrollo de software Esta parte del proceso asegura que los defectos son reconocidos tan pronto como sea posible Documentar el diseno interno de software con el proposito de mantenimiento futuro y la mejora se realiza durante todo el desarrollo Esto tambien puede incluir la autoria de una API ya sea externa o interna Implementacion y el mantenimiento Despliegue comienza despues de que el codigo es prueba de forma adecuada es aprobado para su liberacion y vendidos o distribuidos en un entorno de produccion Software de capacitacion y apoyo es muy importante y una gran cantidad de desarrolladores no se dan cuenta de que No seria por mucho tiempo y la planificacion de un equipo de desarrollo lleva a la creacion de software si nadie en una organizacion que acaba de usarlo La gente a menudo se resisten al cambio y evitar adentrarse en una zona desconocida asi como una parte de la fase de despliegue es muy importante contar con clases de formacion para nuevos clientes de su software Mantener y mejorar el software para hacer frente a los problemas recien descubiertos o nuevos requisitos puede tomar mucho mas tiempo que el desarrollo inicial del software Puede ser necesario agregar codigo que no se ajusta al diseno original para corregir un problema imprevisto o puede ser que un cliente solicita una mayor funcionalidad y el codigo se puede anadir a sus peticiones Si el costo laboral de la fase de mantenimiento supera el 25 del coste de las fases anteriores mano de obra entonces es probable que la calidad general de al menos una fase previa es pobre En ese caso la administracion deberia considerar la opcion de la reconstruccion del sistema o partes antes de costes de mantenimiento esta fuera de control Sistema de seguimiento de fallos de herramientas que frecuentemente se utilizan en esta fase del proceso para permitir que los equipos de desarrollo de interfaz con los clientes equipos de campo de pruebas del software para identificar cualquier problema real o percibida Estas herramientas de software tanto de codigo abierto y con licencia comercial ofrecer un proceso personalizable para adquirir revisar reconocer y responder a los problemas reportados Modelos de Desarrollo de Software Existen varios modelos para agilizar el proceso de desarrollo Cada uno tiene sus pros y sus contras y es hasta el equipo de desarrollo a adoptar la mas adecuada para el proyecto A veces una combinacion de los modelos pueden ser mas adecuados Cascada Modelo El modelo muestra un proceso de cascada donde los desarrolladores deben seguir estas fases a fin de 1 Especificacion de Requisitos Analisis de requerimientos 2 Disenar 3 Aplicacion o codificacion 4 Integracion 5 Pruebas o de validacion 6 Implementacion o instalacion 7 Mantenimiento En un modelo de cascada estricta despues de finalizar cada fase se procede a la siguiente Las revisiones pueden ocurrir antes de pasar a la siguiente fase que permite la posibilidad de cambios que puede implicar un proceso formal de control de cambios Sin embargo se desaconseja volver a examinar y revisar cualquier fase anterior una vez que este completo Esta rigidez en un modelo en cascada pura ha sido una fuente de criticas por otras mas flexible modelos Un modelo de espiral La principal caracteristica de un modelo en espiral es la gestion del riesgo en las etapas regulares en el ciclo de desarrollo En 1988 Barry Boehm publico un sistema formal para el desarrollo de software modelo en espiral corresponde modelos y los modelos de prototipos rapidos combinar el enfasis ha sido descuidado por otros modelos de analisis de riesgos especialmente adaptadas a gran escala de sistemas complejos Un modelo de espiral de caracol a un numero de iteracion los cuatro representante diagrama de cuadrante de las siguientes actividades 1 formular planes a identificar blancos de software seleccionado para implementar el programa aclarar las restricciones proyecto de desarrollo 2 Analisis de riesgos un analisis y evaluacion de los programas seleccionados para estudiar la manera de identificar y eliminar el riesgo 3 la ejecucion del proyecto la aplicacion de desarrollo de software y de verificacion 4 Evaluacion de los clientes la evaluacion de la labor de desarrollo la propuesta de enmiendas los planes de formular el siguiente paso Riesgo modelo basado en espiral haciendo hincapie en las condiciones de las opciones y limitaciones a fin de apoyar la reutilizacion de software la calidad del software puede ayudar como un objetivo especial de la integracion en el desarrollo de productos Sin embargo el modelo en espiral que tiene algunas condiciones restrictivas como sigue 1 el modelo en espiral hincapie en el analisis de riesgos sino que requieren los clientes a aceptar y creer que gran parte de este analisis y dar la respuesta pertinente no es facil por lo tanto este modelo es a menudo adaptado a interno en gran escala de desarrollo de software 2 Si la aplicacion de analisis de riesgo afectara en gran medida los beneficios del proyecto a continuacion el analisis de riesgo no tiene sentido por lo tanto el modelo en espiral es solo apto para grandes proyectos de software a gran escala 3 Buenas a los desarrolladores de software debe buscar los posibles riesgos un analisis preciso de los riesgos de lo contrario dara lugar a un mayor riesgo de Primera etapa es determinar la etapa de la meta de lograr estos objetivos las opciones y limitaciones y a continuacion desde la perspectiva del programa de analisis de riesgos la estrategia de desarrollo y esforzarse por eliminar todos los riesgos potenciales y a veces necesaria para lograr a traves de la construccion de la prototipo Si algun riesgo no puede descartarse el programa para poner fin de inmediato o bien iniciar el desarrollo de los proximos pasos Por ultimo los resultados de la evaluacion de la etapa y el diseno de la proxima fase Desarrollo iterativo y creciente Iterativo Desarrollo1 prescribe la construccion de porciones inicialmente pequeno pero cada vez mayor de un proyecto de software para ayudar a todos los participantes a descubrir aspectos importantes principios antes que los problemas o suposiciones erroneas pueden llevar al desastre Los procesos iterativos son preferidas por los desarrolladores comerciales ya que permite un potencial de alcanzar los objetivos de diseno de un cliente que no sabe como definir lo que quieren Agile Development Agiles de desarrollo de software de desarrollo iterativo utiliza como base pero los defensores de un pueblo mas ligero y mas centrada en el punto de vista que los enfoques tradicionales Los procesos agiles de votos utilizar en lugar de planificacion como su principal mecanismo de control La respuesta es impulsado por las pruebas regulares y las liberaciones de los programas en constante evolucion Hay muchas variaciones de los procesos agiles XP Extreme Programming En XP las fases se lleven a cabo en muy pequena o continuo las medidas frente a la antigua lote los procesos La intencionalmente incompleta de primer paso a traves de los pasos que podria tomar un dia o una semana en vez de los meses o anos de cada paso completo en el modelo de cascada En primer lugar se escribe pruebas automatizadas para proporcionar metas concretas para el desarrollo Lo siguiente es la codificacion por un par de programadores que se completa cuando todas las pruebas pasan y los programadores no pueden pensar en mas pruebas que se necesitan Diseno y arquitectura emergen de refactorizacion y viene en pos de codificacion El diseno es realizado por las mismas personas que hacen la codificacion El ultimo rasgo la fusion de diseno y codigo es comun a todos los demas procesos agiles La incompleta pero funcional sistema se instala ni ha demostrado para subconjunto algunos de los usuarios al menos uno de los cuales esta en el equipo de desarrollo En este punto los profesionales de empezar de nuevo a escribir ensayos para la parte mas importante del sistema Rational Unified Process Scrum Proceso de Mejora de Modelos de Capability Maturity Model Integration Modelo de Madurez de la Capacidad de Integracion CMMI es uno de los principales modelos y basado en las mejores practicas Evaluaciones independientes de las organizaciones de grado de lo bien que siguen sus procesos definidos no en la calidad de los procesos o el software producido CMMI ha sustituido a la CMM ISO 9000 ISO 9000 describe las normas para un proceso formalmente organizados para la fabricacion de un producto y los metodos de gestion y seguimiento de los progresos realizados Aunque la norma fue creada originalmente para el sector manufacturero las normas ISO 9000 se han aplicado al desarrollo de software Como CMMI la certificacion ISO 9000 no garantiza la calidad del resultado final solo que los procesos de negocio formalizado se han seguido ISO 15504 ISO 15504 tambien conocida como Proceso de Determinacion de Software Mejora de las Capacidades SPICE es un marco para la evaluacion de los procesos de software Esta norma esta destinada a establecer un modelo claro para la comparacion de procesos SPICE se utiliza mucho como CMMI Que los modelos de los procesos para administrar controlar orientar y supervisar el desarrollo de software Este modelo se utiliza para medir lo que una organizacion de desarrollo o el equipo de proyecto en realidad lo hace durante el desarrollo de software Esta informacion es analizada para identificar las debilidades y la mejora de la unidad Tambien identifica los puntos fuertes que puede mantenerse o integrarse en una practica comun para esa organizacion o equipo Los metodos formales Los metodos formales son metodos matematicos para la solucion de software y hardware los problemas en los requisitos especificaciones y los niveles de diseno Ejemplos de los metodos formales son el B Metodo redes de Petri lo que prueba automatica de teoremas plantear y VDM Varios anotaciones especificacion formal estan disponibles tales como la notacion Z Mas en general la teoria de automatas se puede utilizar para construir y validar el comportamiento de la aplicacion mediante el diseno de un sistema de maquinas de estados finitos Maquina de estados finitos FSM metodologias basadas en la especificacion de software permiten ejecutable y por paso de la codificacion convencional vease el virtual maquina de estados finitos o un evento impulsado por maquina de estados finitos Los metodos formales son mas susceptibles de ser aplicadas en el software de avionica en particular cuando el software es indispensable para la seguridad Normas de garantia de software de seguridad tales como los metodos de la demanda DO178B formal al mas alto nivel de categorizacion Nivel A Formalizacion de desarrollo de software se infiltra en el en otros lugares con la aplicacion de Object Constraint Language especializaciones y como Java Modeling Language y especialmente con el modelo impulsado por la arquitectura permite la ejecucion de disenos si no las especificaciones Otra de las tendencias emergentes en el desarrollo de software es escribir una especificacion en algun tipo de logica por lo general una variacion de FOL y luego de ejecutar directamente la logica como si se tratara de un programa El lenguaje OWL basados en la descripcion logica es un ejemplo Tambien se esta trabajando sobre la cartografia de alguna version de ingles u otro lenguaje natural y de forma automatica a partir de la logica y la ejecucion de la logica directamente Ejemplos de ello son Attempto Ingles controlada y la logica de negocios de Internet que no tratan de controlar el vocabulario o la sintaxis Una caracteristica de los sistemas que apoyan bidireccional Ingles mapping logica y la ejecucion directa de la logica es que pueden hacerse para explicar sus resultados en ingles en el negocio o nivel cientifico La Oficina de Responsabilidad Gubernamental en un informe de 2003 sobre una de trafico de la Administracion Federal de Aviacion de los programas de modernizacion del control aereo 2 recomienda seguir las orientaciones de la agencia para la gestion de sistemas de adquisicion de los principales establecer mantener y controlar una forma precisa valida y actual base de referencia de medicion del desempeno que incluiria la negociacion de todos los autorizados el trabajo sin precio a menos de 3 meses la realizacion de un examen integrado de base de cualquier modificacion importante contrato dentro de 6 meses y preparacion de una vida rigurosa estimacion del coste del ciclo incluyendo una evaluacion del riesgo de conformidad con la orientacion del conjunto de herramientas de Sistema de Adquisicion y de identificar el nivel de incertidumbre inherente a la estimacion Referencias Editar SELECTING A DEVELOPMENT APPROACH Retrieved 27 October 2008 Datos Q559486 Multimedia Systems Development Life CycleObtenido de https es wikipedia org w index php title Systems Development Life Cycle amp oldid 136710180, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos