Cuales Son Las Fases de La Crisis Del Software
Cuales Son Las Fases de La Crisis Del Software
Cuales Son Las Fases de La Crisis Del Software
Cuales son las fases de la crisis del software Las causas de la crisis del software fueron vinculadas a la complejidad en general del proceso de software y a la relativa inmadurez de la ingeniera de software como una profesin. La crisis se manifest a s misma en varias maneras: Proyectos gestionados con un sobre-presupuesto. Proyectos gestionados con sobre tiempo. Software de baja calidad. El software a menudo no satisfaca los requerimientos deseados. Los proyectos fueron inmanejables, con un cdigo difcil de mantener. La crisis del software fue dirigida por la implementacin de varios procesos y metodologas. Fase. La crisis (1965-1970). Desarrollo inacabable de grandes programas. Ineficiencia, errores, coste impredecible. Nada es posible 2. Cul es la diferencia entre ingeniera del software y ciencia de la computacin Ciencias de la computacin se enfoca en la teora y fundamentos; la Ingeniera de Software se preocupa de los aspectos prcticos del desarrollo y entrega de software til. Las teoras de la Ciencias de la Computacin son actualmente insuficientes para actuar como una base metodolgica completa para el ingeniero de software. 3. Cul es la diferencia entre ingeniera del software e ingeniera de sistemas Ingeniera de Sistemas se concentra en todos los aspectos de desarrollo de sistemas basados en computadora, incluyendo hardware, software y los procesos de diseo y distribucin de sistemas. Ingeniera de Software es parte de este proceso. Los Ingenieros de Sistema participan en Especificaciones de Sistemas, Diseo de Arquitectura, Integracin y Desarrollo. Estn menos relacionados con la ingeniera de los componentes del sistema (HW y SW). Al ser el software muchas veces la parte ms importante del sistema, las tcnicas de ingeniera del software se aplican en el proceso de ingeniera de sistemas. 5. Que es un proceso software Un conjunto de actividades cuya meta es el desarrollo o evolucin de software.
Actividades genricas en todos los Procesos de Software: Especificacin - qu debera hacer el sistema y sus limitaciones en el desarrollo. Desarrollo - produccin del sistema de software. Validacin - verificacin de que el software es lo que el cliente quiere. Evolucin - cambios en el software como respuesta a solicitudes de cambio. 6. Que es un modelo de proceso del software Una representacin simplificada de los procesos de software desde una perspectiva especfica. Ejemplos de perspectivas de proceso son: Perspectiva de WorkFlow - secuencia de actividades. Perspectiva de Data-flow - flujos de informacin. Perspectiva de Rol / Accin - quin hace qu. Modelos de Proceso Genricos: Cascada. Desarrollo Evolutivo. Transformacin Formal. Integracin a partir de componentes reutilizables. 7. Cules son los costos de la ingeniera del software Aproximadamente el 60% de los costos corresponde a costos de desarrollo, 40% a costos de prueba Para software especfico, los costos de evolucin a menudo exceden los costos de desarrollo Costos varan dependiendo del tipo de sistema que se desarrolla y de los requerimientos de los atributos del sistema tales como desempeo y confiabilidad del sistema Costos de distribucin dependen del modelo de desarrollo que se utilice 8. Que es CASE CASE: (Computer-Aided Software Engineering) Sistemas de software destinados a proveer soporte automatizado para las actividades de proceso de software. Sistemas CASE a menudo son usados para apoyar al mtodo. Upper-CASE Herramientas para apoyar las actividades tempranas del proceso de requerimiento y diseo.
Lower-CASE Herramientas para apoyar las actividades tardas tales como programacin, depuracin y pruebas 9. Que son los mtodos de la ingeniera del software Enfoques estructurados para desarrollar software que incluyen modelos de sistema, notaciones, reglas, sugerencias de diseo y guas de procesos Descripciones de Modelos. Descripciones de modelos grficos que se debera utilizar reglas Restricciones aplicadas a los Modelos de Sistemas Recomendaciones Sugerencias de buenas prcticas de diseo Gua durante el Proceso Cules actividades prosiguen 10. Cules son los atributos de un buen software El software debera entregar la funcionalidad y desempeo requeridos por el usuario y debera ser mantenible, confiable, eficiente y usable. Manteneabilidad Software debe evolucionar para cubrir necesidades cambiantes Confiabilidad Software debe producir los resultados esperados Eficiencia Software no debe malgastar los recursos del sistema Usabilidad Software debe ser de fcil uso para los usuarios finales 11. Cules son los retos fundamentales que afronta la ingeniera del software Lidiar con demandas por tiempos de entrega reducidos Sistemas Legados Sistemas antiguos valiosos deben ser mantenidos y actualizados Heterogeneidad Sistemas estn distribuidos e incluyen una mezcla de HW y SW Entrega Hay una presin creciente por entregas de software en menor tiempo 12. Cul es la responsabilidad profesional y tica del ingeniero de software
Ingeniera de Software conlleva responsabilidades ms amplias que slo la aplicacin de habilidades tcnicas Ingenieros de Software deben comportarse en una manera honesta y ticamente responsable si van a ser respetados como profesionales Comportamiento tico es ms que simplemente cumplir con las Leyes 13. Cules son las diferencias entre el desarrollo de un producto de software genrico y el desarrollo de un software personalizado Productos genricos: Productos que son producidos por una organizacin para ser vendidos al mercado. Productos personalizado: Sistemas que son desarrollados bajo pedido a un desarrollador especfico. La mayor parte del gasto del software es en productos genricos, pero hay ms esfuerzo en el desarrollo de los sistemas hechos a medida. 14. Cules son los cuatro atributos importantes que todos los productos de software deben tener Manteneabilidad Confiabilidad Eficiencia Usabilidad 15. Cual es la diferencia entre un proceso software y un modelo de proceso? Proceso SW: es un conjunto de actividades para: especificar, disear, implementar y probar sistemas software. Modelo de proceso software: es una representacin abstracta de un proceso. Representa una descripcin de un proceso desde una perspectiva particular 16. Cuales son los modelos de procesos clsicos y modernos del software. 17. Explique las ventajas y las desventajas de cada uno de los modelos de procesos del software, utilice una matriz para organizar el contenido. |MODELO |ENFOQUE |VENTAJAS /DESVENTAJAS |APLICABILIDAD | |MODELO EN CASCADA |El inicio de cada etapa debe esperar a
la |Los proyectos raras veces siguen una evolucin |Utilizado cuando existen especificaciones amplias de los | | |finalizacin de la inmediatamente anterior |secuencial. |requerimientos del cliente. | | | |No todos los requisitos son expuestos, al principio, | | | |Cualquier error de diseo detectado en la |de forma explcita como requiere este modelo. El | | | |etapa de prueba conduce necesariamente al |cliente debe tener paciencia, ya que la aplicacin | | | |rediseo y nueva programacin del cdigo |slo estar disponible en un estado muy avanzado del | | | |afectado, aumentando los costes del |proyecto. | | | |desarrollo. | | | | | |Ampliamente criticado desde el mbito acadmico y la | | | | |industria | | |MODELO BASADO EN PROTOTIPOS |Prototipos: No posee la funcionalidad total |El cliente puede pensar que el prototipo es una |Se utiliza si en el mercado no se encuentra el producto | | |del sistema pero si condensa la idea |versin acabada. |pero el cliente desea resultados inmediatos. | | |principal del mismo, Paso a Paso crece su | | | | |funcionalidad, alto grado de participacin |Pueden llegar a pasarse por alto la calidad del |Conveniente en caso de ser necesario desarrollar mdulos | | |del usuario. |software global o el mantenimiento a largo plazo. | | | | | | Para sistemas interactivos pequeos o de tamao pequeo. | | | |Las herramientas elegidas pueden ser inadecuadas. |1. | | | |La clave del xito de este modelo consiste en definir|Para partes de sistemas grandes | | | |bien, desde el principio, las reglas del juego. Alto |Para sistemas con vida corta. | | | |grado de participacin del
usuario
|MODELO |ENFOQUE |VENTA JAS /DESVENTAJAS |APLICABILIDAD | |MODELO INCREMENTAL O EVOLUTIVO |Modelo Lineal-Secuencial con el Modelo Basado en Prototipos |Los clientes no tienen que esperar hasta tener el sistema |Reemplazar el antiguo desarrollo con uno | | | |completo. El primer incremento satisface los requisitos ms |nuevo que satisfaga las nuevas necesidades| | |El sistema no se entrega de una vez, sino que se divide y se |crticos. |segn las redefiniciones del problema | | |entregan incrementos. | | | | |Con cada incremento se entrega la parte de la funcionalidad que se|Los primeros incrementos sirven como prototipo y ayudan en la |Manejo de Versiones | | |ha establecido. |tarea de detectar los posteriores requisitos. | | | | | | | | |Los requisitos son priorizados. Los requisitos con una ms alta |Existe un riesgo bajo de fallar en el proyecto total. | | | |prioridad se incluyen en los incrementos ms tempranos. |Los servicios del sistema con la prioridad ms alta tienden a | | | | |ser los ms probados. | | | |Los requisitos de un incremento son inamovibles. Sin embargo estos|Puede ser difcil ajustar los requisitos a los incrementos. | | | |pueden verse modificados en incrementos posteriores. | | | | | | | | | |Este proceso se repite hasta la obtencin de un producto completo.| | | | | | | |
| un | | incremento.
| |MODELO ESPIRAL |Es una mejora del Modelo Basado en prototipos |Requiere comunicacin permanente con el cliente por lo tanto si|Utilizado para el desarrollo de | | |Cada vuelta en la espiral representa una fase del proceso. |se cambia el contacto con le cual se realiza desarrollo es |aplicaciones complejas y/o especficas. | | |No hay fases fijas, cada vuelta en la espiral determina las |necesario que est al tanto de lo realizado y lo pendiente, |(Ej. Investigacin Gentica) | | |actividades a realizar. |cliente debe ser gran conocedor del sistema. | | | |La dimensin radial representa el coste acumulado en la | | | | |financiacin de las fases. | | | | |La dimensin angular representa el progreso hecho en completar | | | | |cada ciclo de la espiral. Un ciclo a travs de la espiral es | | | | |simular un paso a travs de un modelo en cascada | | | |MODELO |ENFOQUE |VENTAJ AS /DESVENTAJAS |APLICABILIDAD | |MODELO BASADO EN COMPONENTES (ORIENTADO|Es programacin orientada a Objetos. Se utilizan |Optimiza los tiempos de respuesta a los |Sistemas robustos y de alta proyeccin. | |A OBJETOS) |objetos, clases y se reutilizan en diferentes partes |requerimientos del cliente y facilita la labor del | | | |del sistema. |programador pues hay un alto aprovechamiento del | | | | |cdigo. | | | | |Facilita mantenimiento del software. | |
|CODE AND FIX |No requiere planeacin y se trata de codificar y |Desarrollo Rpido |Desarrollo muy pequeos con claridad de objetivos, | | |corregir. Se trabaja mediante prueba y error. | |requerimientos pequeos o de mantenimientos con bajo | | |Especial para desarrollos rpidos y sencillos |No garantiza calidad |impacto. | |CASCADA CON SUBPROYECTOS |Requiere planeacin. |Plantea Organizacin y planeacin de un gran proyecto|Adecuada para el desarrollo de proyectos complejos | | | |Se pueden realizar varias partes del proyecto al |que estiman de 1 a 3 aos de desarrollo. | | | |mismo tiempo por diferentes desarrolladores | | |ENTREGA POR ETAPAS |Cascada con entregas grandes en diferentes etapas del |Debe entregarse una etapa para continuar con la |Desarrollos robustos. | | |desarrollo. |siguiente |Desarrollo depende del presupuesto directamente | | |Cascada con Evolutivo. | |Ej. Ppto adjudicado anual/.. | 18. Que es un metodologa de desarrollo de software Una metodologa est conformada por un conjunto de componentes que especifican: cmo se debe dividir el proyecto en etapas, qu tareas se llevan a cabo en cada etapa, qu salidas se producen y cundo se deben producir, qu restricciones se aplican, qu herramientas se van a utilizar y cmo se gestiona y controla un proyecto. Conjunto de procedimientos, tcnicas, herramientas y un soporte documental que ayuda a los desarrolladores a realizar nuevo software. 19. Explicar mnimo 4 metodologas de desarrollo de software que encuentre