Académique Documents
Professionnel Documents
Culture Documents
Arquitectura de Software
Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy
Agenda
Agenda
Mainframe terminales PCs Arquitectura cliente servidor Arquitectura de tres capas An ms complejidad Complejidad tecnolgica Complejidad humana
Agenda
Patrones Antipatrones
Agenda
Agenda
Conceptos
Arquitectura
(Del lat. architectra) 1. f. Arte de proyectar y construir edificios. 2. f. Inform. Estructura lgica y fsica de los componentes de un computador.
Diccionario de la Real Academia Espaola
En general, se refiere a la estructura interna, as como al proceso de construccin. Aplica a muchos tipos diferentes de construcciones complejas: edificios, embarcaciones, computadoras, lenguaje, sistemas informticos, sistemas de bases de datos
Conceptos
Arquitectura de Computadores
Conceptos
Arquitectura de Software
La organizacin fundamental de un sistema, representada por sus componentes, sus relaciones entre ellos y con su entorno, y los principios que gobiernan su diseo y evolucin.
IEEE 1471-2000: Recommended Practice for Architecture Description of Software-Intensive Systems
Conceptos
Arquitectura de Sistemas
Conceptos
Arquitectura de Sistemas
Martin Fowler: Yo defino la arquitectura como una palabra que usamos cuando queremos hablar de diseo pero queremos que suene importante
Arquitectura = diseo de alto nivel ... pero es importante ! Como en un edificio: bosquejo, primeros planos, maqueta, vecinos, entrada de garages, basura, sombras, electricidad, sanitaria, datos, terminaciones ... Casi al terminar quisiramos hacer un cambio en la estructura de la planta baja ...
Conceptos
Arquitectura de Sistemas
Conceptos
Arquitectura de Sistemas
- Para qu? - Para
Dimensin tcnica Dimensin organizacional
cumplir los objetivos y requerimientos del comunicar el diseo de alto nivel sistema proveer el contexto del sistema permitir la distribucin o particionamiento del sistema facilitar la gestin del trabajo
Conceptos
Arquitectura de Sistemas
Una buena arquitectura mejorar las posibilidades de cambiar la estructura de la planta baja
Conceptos
Arquitectura de Sistemas
Agenda
Mainframe terminales PCs Arquitectura cliente servidor Arquitectura de tres capas An ms complejidad Complejidad tecnolgica Complejidad humana
Evolucin de la tecnologa
Mainframe terminales
Evolucin de la tecnologa
PCs Aplicaciones de escritorio
El procesamiento se realiza en la PC
WordPerfect, Lotus, MS Office, mail, Internet, emuladores de terminal Problemas: Compartir documentos, acceso concurrente, seguridad de la informacin, volumen de informacin
Evolucin de la tecnologa
Arquitectura cliente servidor
Evolucin de la tecnologa
Arquitectura de tres capas la novedad es el middleware
Parte del procesamiento se realiza en el database server, parte en el application server, parte en el cliente
JEE, LAMP Problemas: aument la complejidad
Evolucin de la tecnologa
An ms complejidad
Evolucin de la tecnologa
Complejidad tecnolgica se puede manejar con una CMDB
Evolucin de la tecnologa
Complejidad humana CTO y/o PM deberan tener las herramientas...
CEO CTO Architect sysadmin
DBA
AS Admin
Developer
Net Admin
Tester
Project Manager
Functional
CSO
Agenda
Patrones Antipatrones
Patrones
Patrones
Patrones
Patrones
Patrones
Patrones
Ejemplo: Patrn Adapter o Wrapper, convierte la interface de una clase en lo que espera el cliente (ODBC, JDBC)
Patrones
Antipatrones
Agenda
CTO
Architect
DBAs
Sysadmins
AS Admin
Tester
Net Admin
Habr un sistema de versionado del cdigo, y un sistema de bug tracking, deployados en el ambiente de desarrollo
Uno de los desarrolladores, por error, elimina una tabla y se solicita que se recupere la base a un estado consistente
El DBA contesta que va a demorar y que no toquen nada hasta que les avise que el ambiente qued recuperado
Ser tan especfico como sea posible (est prohibido decir me da un error, no puedo entrar, )
Conocer a los tcnicos, porque despus de todo, son personas