Proceso software y gestión 1

Post on 18-Nov-2021

8 views 0 download

Transcript of Proceso software y gestión 1

Proceso software y gestión 1Tema 1. El proceso software

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA

Departamento de Lenguajes y Sistemas Informáticos

Proceso software y gestión 2Departamento de Lenguajes y Sistemas Informáticos

El proceso software

Contenido

1. Introducción.

2. Técnicas de recogida de información.

3. Técnica de modelado de procesos: diagrama de activi dades.

Proceso software y gestión 3Departamento de Lenguajes y Sistemas Informáticos

El proceso softwareIntroducción

Conceptos

Proceso

y Gestión

Software

Proceso software y gestión 4Departamento de Lenguajes y Sistemas Informáticos

El proceso softwareIntroducción

Conceptos

Aplica

Procesosoftware

Ingeniería delsoftware

Ingeniería Tecnología

Conocimientocientífico

Aprovecha

Disciplina tecnológica y de gestión que concierne a la producción ymantenimiento sistemático de productos software que son desarrollados ymodificados a tiempo y dentro de los costes estimados (Fairley)

Proceso software y gestión 5Departamento de Lenguajes y Sistemas Informáticos

Ingeniería del software: conceptos básicos.

El proceso softwareIntroducción

La ingeniería del software como ingeniería

Art

efac

to

Proceso software y gestión 6Departamento de Lenguajes y Sistemas Informáticos

� Producto de la ingeniería del software.� Complejo.� Evoluciona.� Dual. � Dominador económico.� Lógico, no físico.� Costes en la ingeniería.� No se desgasta.

El proceso softwareIntroducción

El software como producto

Software

Proceso software y gestión 7Departamento de Lenguajes y Sistemas Informáticos

El software no se desgasta, pero sí se deteriora.

Tasa de fallos

tiempo

Hardware

Tasa de fallos

tiempo

Software ideal

Tasa de fallos

tiempoSoftware real

El proceso softwareIntroducción

El software como producto

Proceso software y gestión 8Departamento de Lenguajes y Sistemas Informáticos

Ciclo de vida de un proyecto software� Periodo de tiempo con principio y fin.� Finaliza cuando se entrega el producto.� Indica ordenadamente procesos, actividades y productos.

Ciclo de vida de un producto software� Abarca la vida desde la definición del producto hasta la

finalización de su uso.

Ambos ciclos de vida no tienen que coincidir en el tiempo.

El proceso softwareIntroducciónCiclo de vida

Proceso software y gestión 9Departamento de Lenguajes y Sistemas Informáticos

Modelo de ciclo de vida clásico(en cascada)

Análisis

Diseño

Construcción

Pruebas

Mantenimiento

El proceso softwareIntroducciónCiclo de vida

Proceso software y gestión 10

Modelo de ciclo de vida en V(en cascada)

Departamento de Lenguajes y Sistemas Informáticos

Análisis

Diseño del sistema

Diseño de componentes

Generación de código

Pruebas de aceptación

Pruebas del sistema

Pruebas de integración

Pruebas unitarias

Software ejecutable

El proceso softwareIntroducciónCiclo de vida

Proceso software y gestión 11Departamento de Lenguajes y Sistemas Informáticos

Modelo de ciclo de vida evolutivo

Versiones

Requisitos

Desarrollo

Evaluación

El proceso softwareIntroducciónCiclo de vida

AnálisisAnálisis

DiseñoDiseño

CodificaciónCodificación

PruebasPruebas

1 1 2 1 2 3

AnálisisAnálisis

DseñoDseño

CodificaciónCodificación

PruebasPruebas

AnálisisAnálisis

DiseñoDiseño

CodificaciónCodificación

PruebasPruebas

Versión 1Funcionalidad 1

Versión 2Funcionalidad 2

Versión 3Funcionalidad 3

AnálisisAnálisis

DiseñoDiseño

CodificaciónCodificación

PruebasPruebas

AnálisisAnálisis

DiseñoDiseño

CodificaciónCodificación

•ruebas•ruebas

AnálisisAnálisis

DiseñoDiseño

CodificaciónCodificación

PruebasPruebas

Iteración 1 Iteración 2 Iteración 3

Versión 1 Versión 2 Versión 3

Incremental

Iterativo

12

Comunicación

Plan rápido

Diseño rápido

Construccióndel prototipo

Despliegue,entrega y

realimentación

Modelo de ciclo de vida con construcción de prototi po

Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareIntroducciónCiclo de vida

13Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

Procesosoftware

Proyecto 1

Proyecto 2

Proyecto 3

Proyecto nOrganización

El proceso softwareIntroducción

Proceso software

14Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

� Tecnología.� Metodologías, métodos y técnicas. � Aspectos organizacionales. � Marketing y economía.

� Es complejo.� Superpone diseño y producción.� Reduce costes.� Planificaciones (tiempo, coste y calidad) no definitivas.� Se basan en la coordinación y cooperación.� Juega un rol importante el usuario.� Influye en la calidad del producto.

El proceso softwareIntroducción

Proceso software

Procesosoftware

Abarca

15Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

Efectividad

Mantenibilidad

Predictibilidad

Reusabilidad

Calidad

Mejora

Trazabilidad

Producir el producto adecuado.

Facilitar los cambios

Facilitar la planificación

Facilitar la reutilización.

Garantizar la calidad.

Facilitar la mejora

Facilitar el seguimiento.

Obj

etiv

os d

el

proc

eso

softw

are

El proceso softwareIntroducción

Proceso software

Gestión deldesarrollo

16Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

Alcance delproceso software

Gestión deriesgos

Gestión deadquisiciones

Proceso software

Medición

El proceso softwareIntroducción

Proceso software

17Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

Alcance delproceso software

Gestión deriesgos

Proceso software

El proceso softwareIntroducción

Proceso software

Gestión deadquisiciones

Gestión deldesarrollo

Medición

18Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

Proceso

Metodologías

Métodos

Nivel estratégico y organizacional.

Nivel táctico y de proyecto.

Técnicas utilizadasy productos obtenidos.

Herramientas

Facilita la aplicación.

El proceso softwareIntroducción

Proceso software

19

El proceso softwareTécnicas de recogida de información

Técnicas básicas

Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

Observación in situ Inmersión / aprendizaje

Estudio de documentación

20

El proceso softwareTécnicas de recogida de información

Encuesta

Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

� Acopio de datos. � Muestra representativa.� Anónima.�Técnica cuantitativa.

� Lenguaje claro, adecuado y sin ambigüedades.

� Una cuestión e idea por pregunta.

� Cómoda para el encuestado.

� Sin suposiciones implícitas.

� Perspectiva del encuestado.

� Ordenar las preguntas y aplicar el “efecto embudo”.

� Máximo 30 preguntas y 30 minutos de respuesta.

A tener en cuenta

21

El proceso softwareTécnicas de recogida de información

Encuesta

Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

RespuestaAbierta Cerrada

Dicotómica

Categorizada

Función Batería

Filtro

De control

Amortiguadora

Contenido

Identificación

Acción

IntenciónOpinión

Información

Motivos

EncuestaTipos de preguntas

22Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareTécnicas de recogida de información

Método DELPHI

� Consecución de consenso � Información cualitativa y subjetiva

� Explotación estadística � Proceso iterativo

Formulacióndel problema

Selecciónde expertos

Definicióny envío

cuestionario 2

Análisisresultados

cuestionario 2

Definicióny envío

cuestionario 1

Análisisresultados

cuestionario 1

Definicióny envío

cuestionario 3

Análisisresultados

cuestionario 3

ElaboraciónInforme

final

23Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareTécnicas de recogida de información

Método DELPHI

Formulacióndel problema

Selecciónde expertos

Definicióny envío

cuestionario 2

Análisisresultados

cuestionario 2

Definicióny envío

cuestionario 1

Análisisresultados

cuestionario 1

Definicióny envío

cuestionario 3

Análisisresultados

cuestionario 3

ElaboraciónInforme

final

� Definido desde el anterior.� Comentarios de acuerdo o desacuerdo.� Preguntas más cerradas.� Acompañar informe del anterior.� Solicitud de justificaciones.

� Procesamiento estadístico.� Singularidades.� Informe.

Consenso posible en tercer nivel.

� 15-50 cuestiones abiertas.� Semicuantificables si es posible.� Definir tiempo de respuesta (2 semanas).

� Define problema, objetivos y resultados.� Identifica recursos.� Puede durar varios meses

10-15, máximo 30.

24Proceo software y getiónDepartamento de Lenguajes y Sistemas Informáticos

� Individualizada.� Información detallada.� Punto de vista función del entrevistado.� Minimizar el número.

El proceso softwareTécnicas de recogida de información

Entrevista

PreparaciónRealización

Análisis

Desarrollo

Terminación

Apertura

25Proceo software y getiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareTécnicas de recogida de información

Entrevista

PreparaciónRealización

Análisis

Desarrollo

Terminación

Apertura

� Conocer el vocabulario.� Seleccionar al entrevistado.� Determinar objetivos y contenidos.� Preparación del entrevistado.

� 5-15 minutos.� Presentación.� Propiciar entendimiento.

� 95-110 minutos.� Evitar monólogos.� Control (tercera persona).� Preguntas abiertas � cerradas.

� 5-10 minutos.� Recapitular.� Posibilitar nueva entrevista.

� Elaborar y confirmar acta.� Contrastar resultados.

26Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareTécnicas de recogida de información

Reuniones

Individual Varias personas

Consume más tiempo Consume menos tiempo

Genera menos implicación Genera más implicación

Opinión individual Constata opiniones

Control fácil Control difícil

Información detallada Información menos detallada

Planificación individual Planificación grupal

Entrevista / Reuniones

27Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareTécnicas de recogida de información

Reuniones

Adaptación Celebración Conclusión

� Personalización.� Seleccionar participantes.� Planificación.� Recursos.

� Presentación y objetivos.� Delimitar ámbito.� Temas abiertos.� Conclusión.

� Completar y revisar la documentación.� Validar la documentación.

Jefe del JAD Jefe del JADCoordina elJefe del JAD

� Definición de requisitos.

� 2 a 4 días.

� Planificación concreta.

Joint Application Development (JAD)ROLES

Jefe del JAD

Analista

Patrocinador ejecutivo.

Representantes de usuarios.

Representantes de sistemas de información.

Especialistas.

28Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareTécnicas de recogida de información

Reuniones

Preparación Generación Consolidación Documentación

� Seleccionar participantes.� Preparar logística.

� Generar ideas libremente.� Asunto difuso.� 4 a 10 personas (una es el jefe).� Poca organización y estructura.� Pocos detalles.

Jefe

� Tema semilla (jefe).� Ideas libres.

� Revisión de ideas.� Descartes y priorización.

� Redacción del acta

Jefe

29Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareTécnicas de recogida de información

Reuniones

� Tema breve, concreto y no polémico.� Participación de todos.� 6 personas / 6 minutos.� Flexible

Preparación Fase 1 Fase 2 Fase 3

� Identificación del tema.

� Formulación del tema.� Formación subgrupos.

� Designar coordinador y secretario.� Tratar el tema.� 6 / 6.� Consensuar conclusiones.

� Exponer conclusiones subgrupos.� Resumen global.

CoordinadorGrupo global

Subgrupos CoordinadorGrupo global

Coordinador

30Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareTécnicas de recogida de información

Reuniones

Proceso incidentePreparación

Presentación

Estudio y resolución de dudas

Síntesis de información

Identificación del problema

Decisión personal

Votación mejor

decisión

Formación subgrupos

según preferencias

Justificación subgrupo

ConsensoEvaluación final

� Decidir sobre incidente.� Practica decisiones simuladas.� 15 a 20 personas. (1 coordinador)� Puesta en situación.

Coordinador

Coordinador 2–3 min.

Grupo yCoordinador30-35 min.

Un miembro5 min.

Grupo10-15 min.

Cada miembro5 min.

Grupo Grupo yCoordinador

Subgrupo

Ponente subgrupo, grupo y coordinador

10-15 min.

Grupo10-20 min.

10-15 min.

31Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareTécnicas de recogida de información

Reuniones

� Organización de pensamientos.� Roles mentales.� Fomenta la variación de pensamiento.� Dinámica dirigida por el coordinador.� Todos pueden usar los seis.� Individual o en grupo.� En grupo todos usan el mismo a la vez.

Seis sombreros

32Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareTécnicas de recogida de información

Reuniones

� Unificar puntos de vista.� Reducir incertidumbres.� Identificar riesgos.� Duración variable (2 -15 días).� Revisión semestral o por cambio de enfoque.

Why

How

33Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareTécnicas de recogida de información

Reuniones

� Metodología para generar ideas innovadoras� Entender y dar solución a las necesidades reales de los

usuarios.� Se ponen en valor 5 características diferenciales:

� La generación de empatía� El trabajo en equipo� La generación de prototipos� Se promueve lo lúdico� Técnicas con un gran contenido visual y plástico

Materiales Equipo

Espacio Actitud

Proceso

Aspectos

34Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

¿Qué son los diagramas de actividades?

� Técnica para modelar procesos de negocio.

� Forma parte de UML.

� Representa actores, flujos de actividades y flujos de

información.

El proceso softwareTécnica de modelado de proceso: diagrama de activid ades

35Proceo software y getiónDepartamento de Lenguajes y Sistemas Informáticos

Gestión de Pedidos

Recibir Pedido

App

lyin

g U

ML

and

patte

rns,

C. L

arm

anP

rent

ice-

Hal

l, 20

04

EnviarFactura

Factura

Recibir Pago

SatisfacerPedido

Pedido

Cerrar Pedido

Producción FacturaciónServicio al Cliente

EntregarPedido

Notificar entrega

Doc Entrega

El proceso softwareTécnica de modelado de proceso: diagrama de activid ades

Elementos

Actividad

Transición

Flujo de objeto

Actividad compleja

Fork

Join

Actividad inicial

Actividadfinal

Nodo de objeto

Actividadnotificación/petición

Calles / roles

36Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

Actividadcompleja

Actividadcompleja

Obj IN 1

Obj IN n

Obj OUT 1

Obj OUT n

… …

Actividad compleja

Obj IN 1

Obj IN n

ActividadObj OUT 1

Obj OUT n

……

Actividad

El proceso softwareTécnica de modelado de proceso: diagrama de activid ades

Elementos

Actividad

Actividad

37Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

El proceso softwareTécnica de modelado de proceso: diagrama de activid ades

Elementos

Actividad

Nodo inicial Nodo final de proceso Nodo final de flujo

componentesConstruir

componentes

Liberaraplicacióncomponentes

Instalarcomponentes

[no hay máscomponentespara construir]

[quedancomponentespara construir]

[no hay máscomponentespara instalar]

[quedancomponentespara instalar]

aa

conectores

38

Proceo software y getión

Departamento de Lenguajes y Sistemas Informáticos

Transiciones condicionales excluyentes

Entrega de pedido

[otro caso] [urgente]

EntregaOrdinaria

EntregaUrgente

El proceso softwareTécnica de modelado de proceso: diagrama de activid ades

Elementos

guardas

opcional

39Proceo software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

Gestión de fondos bibliotecarios

Director UsuarioBibliotecario

Catalogarnuevo libro

Registrarpréstamo

Leer libro

Retirarlibro

[libro deteriorado]

[libro OK]

<<DataStore>>Registro de prestamos

El proceso softwareTécnica de modelado de proceso: diagrama de activid ades

Elementos

Registrardevolución

Objeto almacén de datos

40Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

Flujos de objetos

Aseguramiento de la calidad de los requisitos

ValidaciónVerificación

Análisis

transiciones implícitas(opcional)

El proceso softwareTécnica de modelado de proceso: diagrama de activid ades

Elementos

Requisitos(borrador)

Requisitos(analizados)

Requisitos(verificados)

Requisitos(validados)

O también

41Proceo software y getiónDepartamento de Lenguajes y Sistemas Informáticos

Cliente Cajero Banco

Incluir compras del carrito

Calcular tasasy descuentos

<<DataStore>>Almacén

de Recibos

Caja

Carrito

SolicitarAutorización

Pago

[pago al contado] [otro caso]

Comprar yllenar carrito

Entregarcompras

Venta por caja

App

lyin

g U

ML

and

patte

rns,

C. L

arm

anP

rent

ice-

Hal

l, 20

04

Cancelarcompra

El proceso softwareTécnica de modelado de proceso: diagrama de activid ades

Elementos

Emitirrecibo

Autorizarpago

Excepción

Cancelarcompra

42Proceso software y gestiónDepartamento de Lenguajes y Sistemas Informáticos

Modelado de proceso de negocio con diagrama de activ idades

� Identificar los procesos de negocio para modelar.

� Identificar los actores participantes.

� Identificar el actor iniciador del proceso de negocio.

� Identificar la actividad inicial.

� Identificar actividades complejas.

� Nombrar cada actividad como forma verbal.

� Considerar la homogeneidad.

El proceso softwareTécnica de modelado de proceso: diagrama de activid ades

Guía de modelado