Escolar Documentos
Profissional Documentos
Cultura Documentos
1
El Producto Caractersticas del SW
Producto y vehculo.
Lgico, no fsico.
Se desarrolla, no se fabrica.
No se desgasta, se deteriora.
Mayora hecho a medida, tendencia a reusar.
En los 60s, subrutinas de clculos numricos.
Actualidad, biliotecas de componentes (objetos).
2
El Producto Aplicaciones del SW
Dificil establecer compartimientos netamente separados.
SW de Sistemas
SW de Tiempo Real
SW de Negocio o Gestin
SW de Ingeniera o Cientfico
SW Embebido o Empotrado
SW de PC
SW de IA
SW basado en la Web
3
El Producto - Mitos del Software
Propagaron confusin e informacin errnea.
4
El Producto - Mitos del Software
Ejemplos
Si fallamos en la planificacin, podemos aadir ms
programadores y adelantar el tiempo perdido (MA)
5
El Proceso
Qu es?
Marco de trabajo de tareas a realizar para desarrollar SW de
alta calidad.
6
Qu es la Ingeniera del Software?
Herramientas
Mtodos
Proceso Capa fundamental
Un enfoque de calidad
7
El Proceso Visin Genrica
Ing. Sistemas
Definicin
Planificacin (QUE)
Anlisis de req.
Desarrollo
Diseo (COMO)
G. de Cdigo
Prueba Mant. Correctivo Soporte
Mant. Adaptativo (CAMBIOS)
Mant. Perfectivo
Mant. Preventivo o Reingeniera
del Software 8
El Proceso
Modelo de Capacidad de Madurez (CMM)
Nivel 1: Inicial
Nivel 2: Repetible
Nivel 3: Definido
Nivel 4: Gestionado
Nivel 5: Optimizado
9
Modelo Lineal Secuencial
Anlisis
Diseo
Codif.
Ing. de Sistemas Prueba
Mant.
10
Modelo Lineal Secuencial
Crticas:
Proyectos reales raras veces se ajustan.
Raras veces cliente expone todos los req. de entrada.
Producto operativo al final => Paciencia (cliente) alta.
Consejo:
Usar cuando todos los requerimientos han sido establecidos
claramente de entrada.
11
Modelo de Construccin de Prototipos
Escuchar al Construir
cliente prototipo
Validar
prototipo 12
Modelo de Construccin de Prototipos
Crticas:
Cliente cree que es el sistema.
Peligro de familiarizacin con malas elecciones iniciales
(quick and dirty).
Consejo:
Usar cuando inicialmente no estn claros los requerimientos.
Definir claramente de entrada las reglas de juego con el
cliente.
No ceder a presin del cliente.
13
Modelo DRA (Desarrollo Rpido de
Aplicaciones)
14
Equipo # n
Modelo de
Negocio
Modelo DRA
Equipo # 2 Modelo de
Datos
Modelo de
Negocio Modelo de
Proceso
Equipo # 1 Modelo de
Qu informacin? Datos Generacin
Quin la genera? Modelo de de Aplic.
Negocio Modelo de
A dnde va? Prueba y
Proceso
Entrega
Identificacin de Modelo de Generacin de
Objetos y relaciones Datos Aplic.
Crticas:
Proyectos grandes => gran nro. de personas.
Alto compromiso en tiempo.
No apto para todo tipo de sistema (ej. no modularizable,
baja reusabilidad de componentes).
Desaconsejable cuando riesgos tecnolgicos altos (ej.
Uso de nuevo lenguaje) o alta interoperatividad con
programas ya existentes.
16
Modelos Evolutivos
Ing. de Sistemas
Entrega 1er
Inc1 Anlisis Diseo Codif. Prueba Incremento
Entrega 3er
Inc3 Anlisis Diseo Codif. Prueba Incremento
Tiempo
19
Modelo en Espiral
20
Modelo en Espiral
Util para proyectos grandes.
Permite usar el prototipado en todas las etapas de la evolucin
para reducir el riesgo.
Mantiene el enfoque sistemtico de los pasos sugeridos por el
lineal secuencial, pero lo incorpora dentro de un marco
iterativo ms real.
Crticas:
Dificil de convencer a los clientes de que es controlable.
Requiere mucha habilidad para el anlisis de riesgos y de esta
habilidad depende su xito.
No ha sido utilizado tanto como el lineal secuencial o el de
prototipos.
21
Desarrollo Basado en Componentes
Basado en modelo en Espiral (evolutivo e iterativo) +
Tecnologas de Objetos.
Enfatiza la Reusabilidad.
Planificacin Ident. Comps. candidatos
Anlisis de Riesgos
Comunicacin
Buscar Comps. en biblioteca
con el Cliente
Ingeniera,
Construccin y Construir Extraer
Entrega
Evaluacin
Colocar en biblioteca
del Cliente
Construir iteracin 22
Modelo de Mtodos Formales
Usan notacin rigurosa.
Especificaciones sin ambigedades.
Utiles para sistemas crticos.
Demostraciones formales de propiedades.
Dificulta validacin con cliente => combinacin
con otras tcnicas semi-formales.
Alto nivel de experticia en lgica y matemtica.
23
Tcnicas de Cuarta Generacin (T4G)
Herramientas que facilitan la realizacin de
especificaciones a alto nivel -> cdigo fuente.
Basadas en Lenguajes de 4ta Generacin (L4G).
Ventajas: Reduccin en tiempo de desarrollo.
25
LAS
METODOLOGIAS
AGILES
Procesos y tcnicas para desarrollo de software
27
Procesos y tcnicas para desarrollo de software
28
Procesos y tcnicas para desarrollo de software
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew
Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
http://agilemanifesto.org/
29
Principios del Manifiesto gil
Aceptamos que los requisitos cambien, incluso en etapas tardas del desarrollo.
Los procesos giles aprovechan el cambio para proporcionar ventaja
competitiva al cliente.
http://agilemanifesto.org/iso/es/principles.html
Principios del Manifiesto gil
http://agilemanifesto.org/iso/es/principles.html
Principios del Manifiesto gil
http://agilemanifesto.org/iso/es/principles.html
Procesos y tcnicas para desarrollo de software
Mtodos giles
Adaptaciones
para softw.
1997
TickIT
Modelos y estndares
1991
ISO 9000-3
de calidad
Modelos especficos
ISO 12207
para software.
1995 TR 15504 2003-05
Proy. SPICE ISO 15504
1993 Modelos 2001
CMM-SW CMM CMMI
DSDM
Tcnicas y mtodos
SCRUM
CRYSTAL
XP
giles
ASD
PP
ISD
AM
2000
1995 Manifiesto
gil
33
Procesos y tcnicas para desarrollo de software
Mtodos giles
7. Procesos organizacionales
34