You are on page 1of 21

ARQUITECTURA DE SOFTWARE

Juan Pablo Betancur Snchez Ingeniero de Software

TEMARIO
Concepto de Arquitectura de Software. Metodologas. Modelos. 1. Clasificacin de las Metodologas de Software. Conclusiones.

CONCEPTO DE ARQUITECTURA SOFTWARE

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

No es lo mismo construir esto.

Que construir esto.

REALIDAD DE LA ARQUITECTURA

Conocen la Mansin Winchester?

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

LA IMPORTANCIA DEL EQUIPO DE TRABAJO

Evolucin histrica de las metodologas de desarrollo de software.


Generaciones de metodologas Desarrollo Convencional. Desarrollo Estructurado. Desarrollo Orientado a Objetos. Desarrollo Orientado a Servicios. Caractersticas deseables de una metodologa

EVOLUCIN HISTRICA DE LAS METODOLOGAS DE DESARROLLO DE SOFTWARE.


Dcada de los 70s Programacin Estructurada Jackson desde 1975 Dcada de los 80s Structured Systems Analysis and Design Methodology (SSADM) desde 1980 Structured Analysis and Design Technique (SADT) desde 1980 Ingeniera de la Informacin (IE/IEM) desde 1981 Dcada de los 90s Rapid Application Development (RAD) desde 1991. Programacin Orientada a Objetos (OOP) a lo largo de la dcada de los 90's Virtual Finite State Machine (VFSM) desde 1990s Dynamic Systems Development Method desarrollado en UK desde 1995. Rational Unified Process (RUP) desde 1999 Ao 2000 en adelante Extreme Programming (XP) desde 1999 Enterprise Unified Process (EUP) extensiones RUP desde 2002 Constructionist Design Methodology (CDM) desde 2004 por Kristinn R. Thrisson Agile Unified Process (AUP) desde 2005 por Scott Ambler

GENERACIONES DE METODOLOGAS

Desarrollo Convencional. Desarrollo Estructurado. Desarrollo Orientado a Objetos. Desarrollo Orientado a Servicios.

DESARROLLO ORIENTADO A OBJETOS

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.

DESARROLLO ORIENTADO A SERVICIOS

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.

CARACTERSTICAS DESEABLES DE UNA METODOLOGA

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 DE PROCESOS EN EL DESARROLLO


DE SOFTWARE

CLASIFICACIN DE LAS METODOLOGAS


SEGN EL MODELO DE PROCESO

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)

MODELO DE DESARROLLO RPIDO DE APLICACIONES (DRA)

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

Que metodologa es conveniente usar?

CONCLUSIONES

You might also like