La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Universidad Tecnológica de Aguascalientes Ingeniería de software.

Presentaciones similares


Presentación del tema: "Universidad Tecnológica de Aguascalientes Ingeniería de software."— Transcripción de la presentación:

1 Universidad Tecnológica de Aguascalientes Ingeniería de software

2 UNIDAD I Metodologías de desarrollo de software.

3 Resultado de aprendizaje

4 Concepto de software El software es: 1.instrucciones (programas de cómputo) que cuando se ejecutan proporcionan las características, función y desempeño; 2.Estructuras de datos que permiten que los programas manipulen en forma adecuada la información, y 3.Información descriptiva tanto en papel como en formas virtuales que describen la operación y uso de los programas.

5 Características del software El software se desarrolla o modifica con intelecto; no se manufactura en el sentido clásico. El software no se “desgasta”. Aunque la industria se mueve hacia la construcción basada en componentes, la mayor parte del software se construye para uso individualizado.

6 “El software es un lugar donde se siembran sueños y se cosechan pesadillas, una ciénega abstracta y mística en la que terribles demonios luchan contra panaceas mágicas, un mundo de hombres lobo y balas de plata”

7 Ingeniería de Software La IS es el establecimiento y uso de principios fundamentales de la ingeniería con el objeto de desarrollar en forma económica software que sea confiable y que trabaje con eficiencia en máquinas reales”

8 Ingeniería de Software Metodologías de desarrollo de software.

9 ¿Qué es una metodología para el desarrollo de SOFTWARE? En ingeniería de software es un marco de trabajo usado para:ingeniería de software Estructurar Planificar Controlar el proceso de desarrollo Enfocado al desarrollo de sistemas de información

10 Metodologías 1970s Programación estructurada desde 1969 Programación estructurada Programación estructurada Jackson desde 1975 Programación estructurada Jackson 1980s Structured Systems Analysis and Design Methodology (SSADM) desde 1980 Structured Systems Analysis and Design Methodology Structured Analysis and Design Technique (SADT) desde 1980 Structured Analysis and Design Technique Ingeniería de la información (IE/IEM) desde 1981 Ingeniería de la información 1990s Rapid application development (RAD) desde 1991. Rapid application development Programación orientada a objetos (OOP) a lo largo de la década de los 90's Programación orientada a objetos Virtual finite state machine (VFSM) desde 1990s Virtual finite state machine Dynamic Systems Development Method desarrollado en UK desde 1995. Dynamic Systems Development Method Scrum (desarrollo), en la última parte de los 90's Scrum Nuevo milenio Programación extrema desde 1999 Programación extrema Enterprise Unified Process (EUP) extensiones RUP desde 2002 Enterprise Unified Process Rational Unified Process (RUP) desde 2003. Rational Unified Process Constructionist design methodology (CDM) desde 2004 por Kristinn R. Thórisson Constructionist design methodologyKristinn R. Thórisson Agile Unified Process (AUP) desde 2005 por Scott Ambler Agile Unified ProcessScott Ambler

11 Enfoques de Desarrollo Modelo en cascada: Framework lineal. Prototipos: Framework iterativo. Incremental: Combinación de framework lineal e iterativo. Espiral: Combinación de framework lineal e iterativo. RAD: Rapid Application Development, framework iterativo.

12 Modelo en Cascada Enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida del software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior.ciclo de vida del software Análisis de requisitos Diseño del Sistema Diseño del Programa Codificación Pruebas Implantación Mantenimiento De esta forma, cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costes del desarrollo. Si bien ha sido ampliamente criticado desde el ámbito académico y la industria, sigue siendo el paradigma más seguido al día de hoy.

13 Desventajas En la vida real, un proyecto rara vez sigue una secuencia lineal. El proceso de creación del software tarda mucho tiempo ya que debe pasar por el proceso de prueba y hasta que el software no esté completo no se opera. Ventajas Se tiene todo bien organizado y no se mezclan las fases. Es perfecto para proyectos que son rígidos, y además donde se especifiquen muy bien los requerimientos y se conozca muy bien la herramienta a utilizar

14 Prototipos El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el cliente o el usuario final La configuración de la interfaz con el usuario El formato de los despliegues de salida. El diseño rápido conduce a la construcción de un prototipo, el cual es evaluado por el cliente o el usuario para una retroalimentación; gracias a ésta se refinan los requisitos del software que se desarrollará.

15 Ventajas Este modelo es útil cuando el cliente conoce los objetivos generales para el software, pero no identifica los requisitos detallados de entrada, procesamiento o salida. Ofrece un mejor enfoque cuando el responsable del desarrollo del software está inseguro de la eficacia de: Algoritmo. Adaptabilidad de un SO Interacción humano-máquina. Desventajas El usuario tiende a crearse unas expectativas. Se suelen desatender aspectos importantes, tales como la calidad y el mantenimiento a largo plazo, lo que obliga en la mayor parte de los casos a reconstruirlo. El desarrollador suele tomar algunas decisiones de implementación poco convenientes. Definir las reglas: cliente y el desarrollador se deben poner de acuerdo en: Que el prototipo se construya y sirva como un mecanismo para la definición de requisitos. Que el prototipo se descarte, al menos en parte. Que después se desarrolle el software real con un enfoque hacia la calidad.

16 Modelo Incremental Sacar ventaja de lo que se ha aprendido a lo largo del desarrollo anterior, incrementando, versiones entregables del sistema. (Parches)

17 Ventajas Provee de soporte para determinar la efectividad de los procesos y de la calidad del producto. Permite estudiar y después mejorar y ajustar el proceso para el ambiente en particular. Desventajas Requiere de un cliente involucrado durante todo el curso del proyecto. Infunde responsabilidad en el equipo de desarrollo al trabajar directamente con el cliente, Versiones…

18 Modelo en Espiral Combina el modelo clásico con el diseño de prototipos. Comunicación con el cliente Planificación: Son todos los requerimientos. Análisis de riesgos: las tareas requeridas para evaluar riesgos técnicos y otras informaciones relacionadas con el proyecto. Ingeniería: las tareas requeridas para construir una o más representaciones de la aplicación. Construcción y adaptación: las tareas requeridas para construir, probar, instalar y proporcionar soporte al usuario. Evaluación el cliente: las tareas requeridas para obtener la reacción del cliente.

19 Ventajas El modelado en espiral puede adaptarse y aplicarse a lo largo de la vida del software de computadora, no terminal cuando se entrega el software. Como el software evoluciona, a medida que progresa el proceso, el desarrollador y el cliente comprenden y reaccionan mejor ante riesgos en cada uno de los niveles evolutivos. Permite a quien lo desarrolla aplicar el enfoque de construcción de prototipos en cualquier etapa de evolución del producto. Demanda una consideración directa de los riesgos técnicos en todas las etapas del proyecto. Reduce los riesgos antes de que se conviertan en problemáticos. Desventajas Demostrar al cliente "exigente" (bajo contrato) que el enfoque evolutivo es controlable. Requiere gran habilidad y experiencia para valorar el riesgo y saber cuando detener la evolución

20 Desarrollo Rápido de Aplicaciones (RAD) El método comprende el desarrollo iterativo, la construcción de prototipos y el uso de utilidades como Interfaz gráfica de usuario (GUI), Computer Aided Software Engineering (CASE), los sistemas de gestión de bases de datos (DBMS), lenguajes de programación de cuarta generación, generadores de código, y técnicas orientada a objetos.Interfaz gráfica de usuarioComputer Aided Software Engineeringsistemas de gestión de bases de datos

21 Enfoque a el cumplimiento de la necesidad comercial, la excelencia es de menor importancia. Desarrollo de prioridades y la definición de los plazos de entrega. Si el proyecto empieza a aplazarse, se hace hincapié en la reducción de requisitos para el ajuste, no en el aumento de la fecha límite.

22 La participación activa de los usuarios es imprescindible. Iterativamente realiza la producción de software, en lugar de colgarse de un prototipo. Produce la documentación necesaria para facilitar el futuro desarrollo y mantenimiento.

23 Producto y Proceso Si el proceso es débil, sin duda, el producto final sufrirá las consecuencias. Una confianza excesiva en el proceso lleva al peligro de no avanzar. “Es más Fácil Escribir un programa incorrecto que entender uno correcto”Alan Perlis


Descargar ppt "Universidad Tecnológica de Aguascalientes Ingeniería de software."

Presentaciones similares


Anuncios Google