Professional Documents
Culture Documents
TEMARIO
Concepto de Arquitectura de Software. Metodologas. Modelos. 1. Clasificacin de las Metodologas de Software. Conclusiones.
La arquitectura debe ser una respuesta, no una imposicin. La mayora de los arquitectos que construye edificios extraos asegura que lo hace por que ahora la tecnologa lo hace posible. Esto es un error. Poder hacer una cosa no legitima hacerla.
Necesitamos soluciones para los problemas reales, no inventar problemas para poder empatar con nuevas soluciones.
COMPARACIN BSICA
REALIDAD DE LA ARQUITECTURA
La arquitectura de esta mansin sorprende a todos y se escapa a los lmites de la razn. Y no es tanto porque esta mansin estilo victoriano tenga 160 habitaciones, tres ascensores, 47 chimeneas, sistema de alcantarillado y de calefaccin, luces de gas que se encienden apretando un botn, (todo esto adelantado a su poca), sino porque en ella se puede encontrar ventanas de dan a paredes, escaleras que no llevan a ninguna parte, puertas en medio de las ventanas en la fachada de los pisos superiores y otras rarezas.
Programar sin una arquitectura en mente es como explorar una gruta slo con una linterna: no sabes dnde ests, dnde has estado ni hacia dnde vas. Danny Thorpe
GENERACIONES DE METODOLOGAS
Desarrollo Convencional. Desarrollo Estructurado. Desarrollo Orientado a Objetos. Desarrollo Orientado a Servicios.
El desarrollo orientado a objetos comprende dividir un programa en clases, donde estas clases estarn estructuradas por propiedades, atributos, variables, pretendiendo simular y describir de manera conceptual a un objeto, y lo importante de este desarrollo es que al usar el principio de encapsulamiento proporciona la ventaja de que se evite interferencias extraas entre distintas partes del programa y podemos cambiar la implementacin concreta de un objeto sin afectar al resto del sistema. Actualmente este desarrollo es el que esta aflorando mas en los aspectos de desarrollo de software ya que permite crear un modelo parecido a la realidad y ver las cosas como un objeto, es decir, realmente como son y como se comportan.
La metodologa de modelado y diseo para aplicaciones SOA se conoce como anlisis y diseo orientado a servicios. La arquitectura orientada a servicios es tanto un marco de trabajo para el desarrollo de software como un marco de trabajo de implementacin. Para que un proyecto SOA tenga xito los desarrolladores de software deben orientarse ellos mismos a esta mentalidad de crear servicios comunes que son orquestados por clientes o middleware para implementar los procesos de negocio. El desarrollo de sistemas usando SOA requiere un compromiso con este modelo en trminos de planificacin, herramientas e infraestructura.
Existencia de reglas predefinidas, fases y subfases, tareas, productos intermedios, tcnicas y herramientas tales que se amolden a cualquier desarrollo. Cobertura total del ciclo de desarrollo. Verificaciones intermedias. Planificacin y control. Comunicacin efectiva. Utilizacin sobre un abanico amplio de proyectos. Fcil formacin. Herramientas case. La metodologa debe contener actividades que mejoren el proceso de desarrollo. Soporte al mantenimiento. Por ejemplo. Reingeniera. Soporte de la reutilizacin de software, no solo reutilizacin de cdigo. Actualmente, se huye de mtodos muy burocrticos o monolticos.
MODELOS
Clasificaciones: de forma global como una visin completa parcialmente especficamente o bien, con un alto nivel de detalle
Modelos Convencionales o Prescriptivos de Procesos. Modelo en Cascada Modelo de Procesos Incrementables Modelo de desarrollo rpido de aplicaciones (DRA) Modelos Evolutivos Modelo en Espiral Modelo de desarrollo concurrente Modelos de Desarrollo giles Programacin Extrema (XP) Desarrollo Adaptativo del Software (DAS) Modelo de Desarrollo de Sistemas Dinmicos (MDSD) Modelo Scrum Desarrollo conducido por caractersticas (DCC) Proceso Unificado de Rational (RUP)
PROGRAMACIN EXTREMA XP
Un proceso ligero, de bajo riesgo, flexible, predecible, cientfico y divertido de desarrollar software. Ventajas: 1. Programacin organizada. 2. Menor taza de errores. 3. Satisfaccin del programador. Desventajas: 1. Es recomendable emplearlo solo en proyectos a corto plazo. 2. Altas costos en caso de fallar.
MODELO SCRUM
CONCLUSIONES