Download - 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