La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería de Software

Presentaciones similares


Presentación del tema: "Ingeniería de Software"— Transcripción de la presentación:

1 Ingeniería de Software
Unidad I Gestión de Proyectos de Software Semana 2 Tema El proceso de software

2 Objetivos Generales: Comprender correcta y eficientemente los conceptos y principios del espectro de técnicas de Ingeniería de Software que puedan ser aplicadas en proyectos de software. Desarrollar una cultura de ingeniería de software.

3 Objetivos Específicos:
Aplicar correctamente los conceptos y principios relacionados a la Ingeniería de Software en la resolución de casos prácticos para la gestión de proyectos de software de calidad. Utilizar herramientas para el modelado y gestión de proyectos de software. Utilizar metodologías agiles en el desarrollo de software.

4 Objetivos Instruccionales:
Discutir los conceptos de proceso de software. Describir los modelos de proceso de software. Explicar la importancia de la visibilidad de los procesos. Definir y aplicar estándares para la gestión y el desarrollo de proyectos en TI

5

6 Implementación de un Robot seguidor de línea …
ESCENARIO

7 Contenidos Visión del proceso de la Ingeniería de software
El proceso de software Niveles del proceso de software Modelos de procesos de software Factores que influyen en el desarrollo de software Visibilidad del proceso.

8 Capas de la Ingeniería de Software
Visión del Proceso de I.S. Capas de la Ingeniería de Software Cualquier enfoque de Ingeniería debe apoyarse sobre un compromiso de organización de calidad. El proceso es la unión que mantiene juntos las capas de tecnología y que permite un desarrollo racional y oportuno de la IS. Un enfoque de calidad Proceso Métodos Herramientas Los métodos indican como construir técnicamente el software (incluye análisis de requerimientos, diseño. Construcción de programas, pruebas y mantenimiento). Las herramientas proporcionan un enfoque automático o semiautomático para el proceso y para los métodos. La integración de herramientas, establece un sistema de soporte para el desarrollo del enfoque llamado ‘Ingeniería del software asistida por computadora’ (CASE)

9 Visión General de la Ingeniería Software
Visión del Proceso de I.S. Visión General de la Ingeniería Software Es el análisis, diseño, construcción, verificación y gestión de entidades técnicas. Fases genéricas: Definición Se centra en el que: Información será procesada. Función y rendimiento se desea. Interfaces van a ser establecidas. Restricciones de diseño existen. Criterios de validación se necesitan para definir un sistema correcto.

10 Visión General de la Ingeniería Software
Visión del Proceso de I.S. Visión General de la Ingeniería Software Fases genéricas: Desarrollo Se centra en el como: Han de diseñarse las estructuras de datos. Ha de implementarse la función dentro de una arquitectura de software. Han de implementarse los detalles procedimentales. Han de caracterizarse las interfaces. Ha de traducirse el diseño en un lenguaje de programación. Ha de realizarse la prueba.

11 Visión General de la Ingeniería Software
Visión del Proceso de I.S. Visión General de la Ingeniería Software Fases genéricas: Mantenimiento Se centra en el cambio que va asociado a la corrección de errores: Tipos de cambios: Corrección. Dada la probabilidad de que el cliente descubra defectos. Adaptación. Se ajusta a los cambios de su entorno externo. Mejora. El usuario requiere nuevas funciones adicionales. Prevención. El software se deteriora debido al cambio y por esto el mantenimiento preventivo(reingeniería) debe conducir a permitir que el software sirva para las necesidades de los usuarios finales.

12 El Proceso de Software Se caracteriza porque:
Es un conjunto estructurado de actividades requeridas para desarrollar un sistema de software. Especificación. Diseño. Validación. Evolución. Las actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse. Debe estar explícitamente modelado si va a ser bien administrado.

13 Características del proceso...
El Proceso de Software Características del proceso... Entendible ¿Se encuentra el proceso bien definido y es entendible ?. Visible ¿El proceso es visible al exterior ?. Soportable ¿Puede el proceso ser soportado por herramientas CASE ?. Aceptable ¿El proceso es aceptado por aquellos involucrados en el ?.

14 ...Características del proceso
El Proceso de Software ...Características del proceso Confiable ¿Los errores del proceso son descubiertos antes de que se conviertan en errores del producto ? Robusto ¿Puede continuar el proceso a pesar de problemas inesperados? Mantenible ¿Puede el proceso evolucionar para cumplir con los objetivos organizacionales ? Rapidez ¿Que tan rápido puede producirse el sistema ?

15 Niveles de Madurez del Proceso
El Proceso de Software Se definen pocos procesos, y el éxito depende del esfuerzo individual. Nivel 1: Inicial Se establecen procesos de gestión del proyecto para hacer seguimiento del coste de la planificación y de la funcionalidad. Para repetir éxitos anteriores en proyectos similares se aplica la disciplina necesaria para el proceso Nivel 2: Repetible El proceso de software de las actividades de gestión se documenta, se estandariza y se integra dentro de un proceso de software de toda la organización. Todos los procesos utilizan una versión documentada y aprobada para el desarrollo y ,mantenimiento de software Nivel 3:Definido Se recopilan medidas detalladas del proceso y de la calidad del producto. Mediante la utilización de medidas detalladas se comprenden y controlan cuantitativamente tanto los productos como el proceso del software. Nivel 4: Gestionado Mediante una retroalimentación cuantitativa del proceso, ideas y tecnologías innovadoras se posibilita una mejora del proceso. Capacidad de mejoramiento continuo. Nivel 5: Optimización

16 Enfoques del proceso El Proceso de Software Personas + Tecnología
Producción heroica Personas + Tecnología + Procesos Producción Basada en Procesos

17 Marco de trabajo del proceso…
El Proceso de Software Marco de trabajo del proceso… Marco de trabajo del proceso común Base para un proceso de software completo Es como un libro de recetas de cocina La adaptación es esencial

18 …Marco de trabajo del proceso…
El Proceso de Software …Marco de trabajo del proceso… Marco de trabajo del proceso común Aplicables a lo largo del proceso de software Su objetivo: la gestión, el rastreo y el control del proyecto Garantizar la calidad del software Actividades de protección

19 …Marco de trabajo del proceso…
El Proceso de Software …Marco de trabajo del proceso… Marco de trabajo del proceso común Actividades del marco de trabajo Aplicables a todos los proyectos Actividades de protección

20 …Marco de trabajo del proceso
El Proceso de Software …Marco de trabajo del proceso Marco de trabajo del proceso común Actividades del marco de trabajo Conjunto de tareas: Actividades que hacen que el marco de trabajo se adapte a las características particulares de cada proyecto de software y define el trabajo real a cumplirse TAREAS HITOS, ENTREGAS PUNTOS SQA (Software Quality Assurance) Actividades de protección

21 Marco de trabajo genérico del proceso
El Proceso de Software Marco de trabajo genérico del proceso Comunicación Planeación Modelado Construcción Despliegue Marco de trabajo del proceso común Actividades de protección

22 ¿Que involucra el desarrollo de una actividad?
El Proceso de Software ¿Que involucra el desarrollo de una actividad? HERRAMIENTAS tiene-sub tiene-sub emplea tiene-entrada ACTIVIDAD PRODUCTO tiene-intermedio RECURSOS tiene-salida obedece necesita DESARROLLADOR ROL DIRECCION juega ORGANIZACION

23 Actividades sombrilla
El Proceso de Software Actividades sombrilla Seguimiento y control Gestión del riesgo Aseguramiento de la calidad del software Revisiones técnicas formales Gestión de la configuración del software Gestión de la reutilización Preparación y producción del producto Actividades de protección

24 El Proceso se realiza a nivel…
Niveles del Proceso de Software El Proceso se realiza a nivel… Conceptual Se considera como un análisis de actividades y consiste en la solución de negocios para el usuario Lógico Traduce los escenarios creados en el diseño conceptual en un conjunto de objetos de negocio y sus servicios. El diseño lógico se convierte en parte en la especificación funcional que se usa en el diseño físico. El diseño lógico es independiente de la tecnología. El diseño lógico refina, organiza y detalla la solución de negocios y define formalmente las reglas y políticas específicas de negocios. Físico Traduce el diseño lógico en una solución implementable y costo-efectiva o económica.

25 Modelo de Ingeniería del Proceso
Modelos de Procesos de Software Modelo de Ingeniería del Proceso Especificación - establecer los requerimientos y restricciones del sistema Diseño - Producir un modelo en papel del sistema Manufactura - construir el sistema Prueba - verificar que el sistema cumpla con las especificaciones requeridas Instalación - entregar el sistema al usuario y asegurar su operacionalidad Mantenimiento - reparar fallos en el sistema cuando sea descubiertos

26 Problemas en el Modelo de Ingeniería del Proceso
Modelos de Procesos de Software Problemas en el Modelo de Ingeniería del Proceso Normalmente, las especificaciones son incompletas o anómalas No existe una distinción precisa entre la especificación, el diseño y la manufactura Solo hasta que el sistema se ha producido se puede probar El software no se puede reemplazar siempre durante el mantenimiento

27 Modelos Genéricos de Desarrollo de Software
Modelos de Procesos de Software Modelos Genéricos de Desarrollo de Software Modelo de Cascada Separar en distintas fases de especificación y desarrollo. Desarrollo Evolutivo La especificación y el desarrollo están intercalados. Prototipado Un modelo sirve de prototipo para la construcción del sistema final. Transformación Formal Un modelo matemático del sistema se transforma formalmente en la implementación. Desarrollo basado en Reutilización El sistema es ensamblado a partir de componentes existentes.

28 Modelos de Procesos de Software
Modelo de Cascada Definición de Requerimientos Diseño del Software y del Sistema Implementación y Prueba de unidades Integración y Prueba del Sistema Operación y Mantenimiento

29 Fases del Modelo de Cascada
Modelos de Procesos de Software Fases del Modelo de Cascada Ingeniería de Modelado de Sistemas-Información. Abarca los requisitos que se recogen en el nivel de empresa estratégico y en el nivel de área de negocio. Análisis de requisitos del software. Se intensifica en la comprensión del dominio de información del software. Diseño del software. Se centra en: estructura de datos, arquitectura del software, representaciones de interfaz y detalle procedimental (algoritmos). Implementación - Generación de código. Se traduce en una forma legible por la maquina. Integración - Pruebas. Se asegura que la entrada definida produce resultados reales de acuerdo a los resultados esperados. Operación - Mantenimiento. El software indudablemente sufrirá cambios después de ser entregado

30 Problemas y Riesgos del Modelo en Cascada.
Modelos de Procesos de Software Problemas y Riesgos del Modelo en Cascada. Los proyectos reales raras veces siguen el modelo secuencial que propone el modelo. A menudo es difícil que el cliente exponga explícitamente todos los requisitos. El cliente debe tener paciencia. Una versión del trabajo no estará disponible hasta que el proyecto este muy avanzado.

31 Documentos del Modelo de Cascada
Modelos de Procesos de Software Documentos del Modelo de Cascada

32 Modelos de Procesos de Software
Modelo de Prototipos Construir – Revisar La maqueta Escuchar al cliente El cliente prueba la maqueta Prototipado exploratorio El objetivo es trabajar con clientes hasta evolucionar a un sistema final, a partir de una especificación inicial. Se debe comenzar con unas especificaciones bien entendidas. Prototipado de “throw-away”. El objetivo es entender los requerimientos del sistema. Se puede comenzar con especificaciones poco entendidas.

33 Modelos de Procesos de Software
Modelo de Prototipos La iteración ocurre cuando el prototipo se pone a punto para satisfacer las necesidades del cliente, permitiendo al desarrollador comprender mejor lo que se necesita hacer. Se aplica cuando: El cliente a menudo define un conjunto de objetivos generales para el software, pero no identifica los requisitos detallados de entrada, proceso o salida. El responsable del desarrollo de software no puede estar seguro de la eficacia de un algoritmo, de las capacidades de adaptación del sistema operativo.

34 Problemas y Riesgos del Modelo de Prototipos.
Modelos de Procesos de Software Problemas y Riesgos del Modelo de Prototipos. Lo ideal seria que el prototipo sirviera como un mecanismo para identificar los requisitos del software. El cliente ve lo que parece ser una versión de trabajo del software (no tiene en cuenta que el software esta junto al “chicle” y el cable de embalaje). El desarrollador, a menudo, hace compromisos de implementación para hacer que el prototipo funcione rápidamente. El desarrollador no tiene una gran visibilidad de lo que el cliente necesita.

35 Modelos de Procesos de Software
Trabajo Individual Investigue sobre los siguientes modelos: Modelos Evolutivos: Modelo Incremental. Modelo Espiral. Modelo Espiral WinWin (Victoria-Victoria). Modelo de Desarrollo Concurrente. Modelo Basado en Componentes: Modelo de los Métodos Formales: Nota: Se evaluara estos temas la siguiente sesión.

36 Técnicas de 4ta Generación
Abarca un amplio espectro de herramientas de software que tienen algo en común: Facilitan al Ingeniero de Software la especificación de alguna característica del software a alto nivel. La herramienta genera automáticamente el código fuente basándose en las especificaciones. El paradigma T4G para la ingeniería de software se orienta hacia la posibilidad de especificar el software usando formas de lenguajes especializados o notaciones graficas que describa el problema que hay que resolver en términos que el cliente entienda.

37 Técnicas de 4ta Generación
Una T4G incluye: Lenguaje no procedimental de consulta a BD. Generación de informes. Manejo de datos. Interacción y definición de pantallas. Generación de código. Capacidad grafica de alto nivel. Generación automatizada de html.

38 Técnicas de 4ta Generación
Ventajas: Reducción drástica en el tiempo de desarrollo. Mejora significativa en la productividad de quienes construyen el software. Desventajas: Las herramientas de T4G no son mas fáciles de utilizar que los lenguajes de programación. El código fuente generado es ineficiente. El mantenimiento de grandes sistemas de software desarrollados mediante T4G es cuestionable.

39 Factores que influyen en el Proceso de Software
Podemos mencionar Calidad Habilidad individual Comunicación del equipo Complejidad del producto Notación apropiada Enfoque sistemático Nivel de tecnología Confiabilidad requerida Tiempo disponible Entendimiento del problema

40 Visibilidad del Proceso
Los sistemas de software son intangibles por lo que los administradores necesitan documentación para identificar el progreso en el desarrollo. Esto puede causar problemas.. El tiempo planeado para entrega de resultados puede no coincidir con el tiempo necesario para completar una actividad. La necesidad de producir documentos restringe la iteración entre procesos. .El tiempo para revisar y aprobar documentos es significativo.

41 Visibilidad del Proceso

42 El proceso… Que es… Quien lo hace… Porque es importante… En resumen
Serie de pasos predecibles Una guía que ayuda a obtener el resultado en términos de calidad y en forma oportuna Quien lo hace… Los Ingenieros de software y sus gestores adaptando el proceso a sus necesidades Porque es importante… Proporciona estabilidad, control y organización, evitandose el caos si es que se controla

43 Cual es el producto obtenido…
En resumen El proceso… Cuales son los pasos… El proceso adoptado dependerá del tipo de software que se pretende construir Cual es el producto obtenido… Programas, documentos y datos como consecuencia de las actividades definidas en el proceso Como estar seguro que se ha hecho correctamente… Los mejores indicadores de eficiencia son: calidad, oportunidad y viabilidad a largo plazo del producto.

44 Ingeniería de Software
Unidad I Gestión de Proyectos de Software Semana 2 Tema El Proceso de Software


Descargar ppt "Ingeniería de Software"

Presentaciones similares


Anuncios Google