musicalidad
Software
(o bien, como desarrollar software sin morir en el intento...)
Universidad de los Andes
Demián Gutierrez
Julio 2011
¿método?
Métodos / Metodologías
Método: Es un conjunto de herramientas,
técnicas y procesos que brindan soporte y
facilitan el logro u obtención de una meta
¿Cómo
Construir
un Reactor
Nuclear?
Métodos / MetodologíasMétodo: que hacer, a lo largo de todo el ciclo de
vida del software, para construir un producto
bueno, de calidad, dentro del presupuesto y a
tiempo
¿Cómo
Construir
un Reactor
Nuclear
software?
software
¿ciclo de vida?
¿ciclo de desarrollo?
Ciclo de Vida / Ciclo de Desarrollo
Describe la vida de un producto de software desde
su definición, pasando por su diseño,implementación, verificación, validación, entrega, y
hasta su operación y mantenimiento
¿por qué es
necesario un método
para desarrollar
software?
Ciclo de Vida / Ciclo de Desarrollo
por lo complejo que resulta desarrollar software
Costo del Cambio
Ciclo de Vida / Ciclo de Desarrollo
Requerimientos / Análisis / Diseño / Implementación / Pruebas / Producción
(aunque los métodos ágilespueden cambiar esta visión)
Fuente: Adaptado de Kent Beck / Extreme Programming Explained, Embrace the Change
por el costo del cambio, la naturaleza del software
y otras razones
¿qué aporta
un método?
Métodos / Metodologías
Productos,
Subproductos,
Insumos,
Entregable
(definición)
Actividades
Roles,
Actores
(definición)
Procesos
Tareas
(Genérico)
(definición)Guías,
Herramientas
Buenas
Prácticas
y otros elementos adicionales...
Fuente: Eclipse Process Framework Composer / April 2007 / Peter Haumer / IBM Rational Software
Métodos / Metodologías
(Herramientas)
Casos de Uso, Plantillas de Documentos, UML:
Diagramas de Clases, de Casos de Uso, de
Actividades, de Secuencia, etcétera.
Grafos de navegación, lenguajes de programación,bibliotecas, armazones de aplicación (frameworks),
entornos integrados de desarrollo (IDEs), armazones
de pruebas, etcétera.
Software de gestión, herramientas de gestión,
etcétera
y muchas otras...
Métodos / Metodologías
(Buenas Prácticas)
¿Su empresa usa control de código fuente? ¿Control de versiones?
¿Se hacen “compilaciones” (builds) e integraciones diarias?
¿Se tiene algún tipo de base dedatos de defectos (bugs)?
¿Arreglan los defectos existentes antes de escribir código nuevo?
¿Se mantiene un calendario de proyecto actualizado?
¿Trabajan en base a especificaciones de algún tipo?
¿Los programadores tienen condiciones adecuadas y tranquilas de
trabajo?
¿Se utilizan las mejores herramientas que el dinero puede comprar?
¿Se tienen probadores? ¿Se tienen probadores dedicadossólo a las
pruebas?
¿Los nuevos candidatos a programadores escriben código durante
su entrevista de trabajo?
¿Se realizan pruebas de usabilidad?
entre otras, y no necesariamente en este orden...
Fuente: Joel on Software / http://www.joelonsoftware.com/articles/fog0000000043.html
¿proceso?
¿modelo de proceso?
Métodos / Metodologías
¿Qué es el Proceso?
Un proceso define quien estáhaciendo qué, cuándo
y cómo lograr cierta meta.
The three “Amigos”
Un proceso es "una serie de pasos que involucra
actividades, restricciones y recursos que producen
una salida de algún tipo"
Pfleeger
...
Métodos / Metodologías
¿Qué es el Proceso?
Los "procesos de desarrollo de software"
poseen reglas preestablecidas, y deben
ser aplicados en la creación del software de
mediano ygran porte, ya que en caso
contrario lo más seguro es que el proyecto o
no logre concluir o termine sin cumplir los
objetivos previstos, y con variedad de fallos
inaceptables (fracasan, en pocas palabras).
Tomado de:http://es.wikipedia.org/wiki/Software
...en realidad, esta definición se refiere
a un “modelo de proceso”...
Métodos / Metodologías
(Diferencia entre Proceso y...
Regístrate para leer el documento completo.