Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema...

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

Transcript of Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema...

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

Ingeniería de Software

Unidad I

Gestión de Proyectos de Software

El proceso de software

Tema

Semana 2

Page 2: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 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.

Page 3: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

Page 4: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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

Page 5: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.
Page 6: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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

ESCENARIO

Page 7: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.
Page 8: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

Capas de la Ingeniería de Software

Un enfoque de calidad

Proceso

Métodos

Herramientas

• 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.

•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)

Vis

ión

de

l Pro

ceso

de

I.S

.

Page 9: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

Vis

ión

de

l Pro

ceso

de

I.S

.

Page 10: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

Visión General de la Ingeniería Software

Fases genéricas: Desarrollo

Vis

ión

de

l Pro

ceso

de

I.S

.

Page 11: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

Visión General de la Ingeniería Software

Fases genéricas: Mantenimiento

Vis

ión

de

l Pro

ceso

de

I.S

.

Page 12: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

El P

roce

so d

e S

oftw

are

Page 13: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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 ?.E

l Pro

ceso

de

So

ftwa

re

Page 14: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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 ?

El P

roce

so d

e S

oftw

are

...Características del proceso

Page 15: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

El P

roce

so d

e S

oftw

are

Niveles de Madurez del Proceso

Page 16: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

El P

roce

so d

e S

oftw

are

Enfoques del proceso

Page 17: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

El P

roce

so d

e S

oftw

are

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

Page 18: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

El P

roce

so d

e S

oftw

are

…Marco de trabajo del proceso…

• Aplicables a lo largo del proceso de software• Su objetivo: la gestión, el rastreo y el control

del proyecto• Garantizar la calidad del softwareActividades de protección

Marco de trabajo del proceso común

Page 19: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

El P

roce

so d

e S

oftw

are

…Marco de trabajo del proceso…

Actividades de protección

Marco de trabajo del proceso común

Actividades del marco de trabajo

Aplicables a todos los proyectos

Page 20: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

El P

roce

so d

e S

oftw

are

…Marco de trabajo del proceso

Actividades de protección

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

TAREASHITOS,

ENTREGASPUNTOS SQA (Software Quality

Assurance)

Page 21: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

El P

roce

so d

e S

oftw

are

Marco de trabajo genérico del proceso

Marco de trabajo del proceso común

Actividades de protección

Page 22: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

El P

roce

so d

e S

oftw

are

¿Que involucra el desarrollo de una actividad?

ACTIVIDAD PRODUCTO

DESARROLLADOR

HERRAMIENTAS

ROL DIRECCION

tiene-sub tiene-sub

tiene-entrada

tiene-intermedio

tiene-salida

emplea

obedece

necesita

juega

RECURSOS

ORGANIZACION

Page 23: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

El P

roce

so d

e S

oftw

are

Actividades sombrilla

Actividades de protección

Page 24: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

El Proceso se realiza a nivel…

ConceptualSe considera como un análisis de actividades y consiste en la solución de

negocios para el usuario

LógicoTraduce 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ísicoTraduce el diseño lógico en una solución implementable y costo-efectiva o

económica.

Page 25: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

Modelo de Ingeniería del Proceso

Especificación - establecer los requerimientos y restricciones del sistema

Diseño - Producir un modelo en papel del sistemaManufactura - construir el sistemaPrueba - verificar que el sistema cumpla con las

especificaciones requeridasInstalación - entregar el sistema al usuario y asegurar

su operacionalidadMantenimiento - reparar fallos en el sistema cuando

sea descubiertos

Page 26: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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

Page 27: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

Mo

de

los

de

Pro

ceso

s d

e S

oftw

are

Page 28: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

Modelo de CascadaDefinición de

Requerimientos

Diseño del Softwarey del Sistema

Implementación yPrueba de unidades

Integración y Prueba del Sistema

Operación yMantenimientoM

od

elo

s d

e P

roce

sos

de

So

ftwa

re

Page 29: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

Fases del Modelo de CascadaIngenierí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

Mo

de

los

de

Pro

ceso

s d

e S

oftw

are

Page 30: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

Mo

de

los

de

Pro

ceso

s d

e S

oftw

are

Page 31: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

Documentos del Modelo de Cascada

Actividad Documentos ProducidosAnálisis de Requerimientos Documento de RequerimientosDefinición de Requerimientos Documento de Requerimientos.Especificación del Sistema. Especificación Funcional, Plan de Pruebas

de Aceptación.Diseño Arquitectural Especificación de la Arquitectura, y Plan de

Pruebas del SistemaDiseño de Interfaces Especificación de la Interfaces y Plan de

pruebas de Integración.Diseño Detallado Especificación del diseño y Plan de prueba

de Unidades.Codificación Código de ProgramaPrueba de Unidades Reporte de prueba de unidadesPrueba de Módulos Reporte de prueba de módulosPrueba de Integración Reporte de prueba de integración y Manual

de usuario finalPrueba del Sistema Reporte de prueba del sistemaPrueba de Aceptación Sistema final mas la documentación.

Mo

de

los

de

Pro

ceso

s d

e S

oftw

are

Page 32: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

Modelo de Prototipos

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.

Construir – RevisarLa maqueta

Construir – RevisarLa maquetaEscuchar al clienteEscuchar al cliente

El cliente prueba lamaqueta

El cliente prueba lamaqueta

Mo

de

los

de

Pro

ceso

s d

e S

oftw

are

Page 33: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

Mo

de

los

de

Pro

ceso

s d

e S

oftw

are Modelo de Prototipos

Page 34: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

Mo

de

los

de

Pro

ceso

s d

e S

oftw

are

Page 35: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

Mo

de

los

de

Pro

ceso

s d

e S

oftw

are

Page 36: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

cnic

as

de

4ta

Ge

ne

raci

ón

Page 37: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

cnic

as

de

4ta

Ge

ne

raci

ón

Page 38: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

cnic

as

de

4ta

Ge

ne

raci

ón

Page 39: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

Podemos mencionar

CalidadHabilidad individualComunicación del equipoComplejidad del productoNotación apropiadaEnfoque sistemáticoNivel de tecnologíaConfiabilidad requeridaTiempo disponibleEntendimiento del problema

Page 40: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

Vis

ibili

da

d d

el P

roce

so

Page 41: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

Modelo de Proceso Visibilidad del ProcesoModelo de Cascada Buena visibilidad, cada actividad produce un

documento o resultadoDesarrollo Evolutivo Visibilidad pobre, muy caro al producir

docuementos en cada iteración.Modelos Formales Buena visibilidad, en cada fase deben

producirse documentos.Desarrollo orientado a la reutilización Visibilidad moderada. Importante contar con

documentación de componentes reutilizables.Modelo de Espiral Buena visibilidad, cada segmento y cada

anillo del espiral debe producir undocumento.

Vis

ibili

da

d d

el P

roce

so

Page 42: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

El proceso…

Que es… 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

En

re

sum

en

Page 43: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

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.

En

re

sum

en

Page 44: Ingeniería de Software Unidad I Gestión de Proyectos de Software El proceso de software Tema Semana 2.

Ingeniería de Software

Unidad I

Gestión de Proyectos de Software

El Proceso de Software

Tema

Semana 2