Está en la página 1de 54

ARQUITECTURA DE SOFTWARE

DOCENTE:
ALEXANDER YELA
ARQUITECTURA
•Multicapa

•MVC

•Cliente servidor

•Orientado a servicios

•Libros recomendados:

•UML - modelado de software para profesionales- Carlos Fontela

•Analisis y diseño de sistemas - Kendall & Kendall

2015 – EISC- DESARROLLO DE SOFTWARE I 2


ARQUITECTURA

Juega un papel clave en el desarrollo de software


porque permite a los ingenieros de software
producir diversos modelos que:
•ƒ Caracterizan la solución a implementar.
•ƒ Pueden ser analizados y evaluados con el fin de
determinar si se satisfacen los requisitos.
•ƒ Facilitan el examen y evaluación de alternativas.
•ƒ Sirven para planificar las siguientes actividades
del desarrollo.

2015 – EISC- DESARROLLO DE SOFTWARE I 3


AQUITECTURA DE SOFTWARE

• La arquitectura de software de un programa o


de un sistema computacional esta definida por
la estructura, comprendida por los elementos
de software, la propiedades visibles de esos
elementos y las relaciones entre ellos.

2015 – EISC- DESARROLLO DE SOFTWARE I 4


ARQUITECTURA DE SOFTWARE

• Incremento en el tamaño y complejidad del


software.
• Necesidad de aprender de la experiencia:
reutilización de estructuras asociadas a
problemas similares
• Una adecuada estructura general es tan
importante como las implementaciones
concretas de las partes.

2015 – EISC- DESARROLLO DE SOFTWARE I 55


ARQUITECTURA DE SOFTWARE

• ¿De qué se ocupa?


• Diseño preliminar o de alto nivel.
• Organización a alto nivel del sistema, incluyendo aspectos
como la descripción y análisis de propiedades relativas a su
estructura y control global, los protocolos de comunicación y
sincronización utilizados, la distribución física del sistema y
sus componentes, etc.
• Otros aspectos relacionados con el desarrollo del sistema y
su evolución y adaptación al cambio:
• composición, reconfiguración, reutilización, escalabilidad,
etc.

2015– EISC- DESARROLLO DE SOFTWARE I 6


ARQUITECTURA DE SOFTWARE

• Se diseña con base en requerimientos no


funcionales o atributos de calidad:
Performance
Disponibilidad
Modificabilidad
Seguridad
Verificabilidad (Testability)
Gestionabilidad
Usabilidad
2015 – EISC- DESARROLLO DE SOFTWARE I
ARQUITECTURA DE SOFTWARE

• Diseño de los módulos y sus responsabilidades

2015 – EISC- DESARROLLO DE SOFTWARE I


ARQUITECTURA DE SOFTWARE

2015 – EISC- DESARROLLO DE SOFTWARE I


ARQUITECTURA DE SOFTWARE

• Estilos arquitecturales:
• Principales estilos arquitecturales :
• ƒ Estructura General
• ƒ Capas, tuberías y filtros, repositorio compartido
• Sistemas Distribuidos
• ƒ Cliente-servidor, tres capas, broker
• ƒ Sistemas Interactivos
• ƒ MVC (Modelo-Vista-Controlador), PAC (Presentación-
AbstracciónControl).

2015 – EISC- DESARROLLO DE SOFTWARE I


ARQUITECTURA DE SOFTWARE

• Estilo cliente servidor:


• ƒ Estructura un sistema distribuido en:
• ƒ Servidores autosuficientes que proveen
servicios (impresión, gestión de datos, ..).
• ƒ Clientes que invocan dichos servicios

2015 – EISC- DESARROLLO DE SOFTWARE I


ARQUITECTURA CLIENTE
SERVIDOR

2015 – EISC- DESARROLLO DE SOFTWARE I


ARQUITECTURA MULTICAPAS

• Su principal objetivo es separar la lógica del negocio de


la logia del diseño.
• Se generar múltiples niveles en proceso de desarrollo,
si se genera un cambio en algún nivel solo afecta el
nivel requerido, no hay que revisar todo el código.
• Permite distribuir el trabajo de creación de una
aplicación por niveles, cada grupo de trabajo está total
mente abstraído del resto de niveles, de forma que
basta con conocer la API (Interfaz de programación de
aplicaciones)que existe entre niveles.

2015 – EISC- DESARROLLO DE SOFTWARE I


ARQUITECTURA MULTICAPA

2015 – EISC- DESARROLLO DE SOFTWARE I


PATRON MVC (MODELO VISTA Y
CONTROL)

• Es una arquitectura de diseño software para


separar los componentes de aplicación en tres
niveles, interfaz de usuario, lógica de control y
lógica de negocio.
• Es una especialización de un modelo de capas,
con la diferencia que se usa para entornos web
como patrón por excelencia.

2015 – EISC- DESARROLLO DE SOFTWARE I


ARQUITECTURA MVC

2012 – EISC - Introducción a las Tecnologías Informáticas


RESPONSABILIDADES MVC
– Modelo: Es la capa encargada de encapsular toda la lógica de negocio de
nuestra aplicación. Esta capa se puede subdividir en varias:
– Lógica de negocio: Contiene clases o varias para constituir lo referente
a la capa de aplicación, se encarga de atender a las peticiones de los
controladores y así dar una respuesta acorde con lo recibido.
– Capa de datos: Se encarga de gestionar toda la interconexión con el
SGBD, así mismo, puede contener un gestor ORM para su
aprovechamiento máximo y mejor mantenimiento. Solo se comunica con
la lógica de negocio.
– Controlador: Es el eje central de nuestra arquitectura, encargada de
gestionar todas las peticiones, validar los inputs recibidos y dirigir
cualquier petición de cualquier tipo. Solo se comunica con el modelo y
responde a través de vistas.
– Vista: Es la respuesta de cada controlador y lo que se le presenta al
usuario final, se puede comunicar con el controlador, y el modelo (en
algunas ocasiones).

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO, VISTA Y CONTROL

2015 – EISC- DESARROLLO DE SOFTWARE I


ARQUITECTURA ORIENTADA A
SERVICIOS SOA

• La Arquitectura SOA establece un marco de


diseño para la integración de aplicaciones
independientes de manera que desde la red
pueda accederse a sus funcionalidades, las
cuales se ofrecen como servicios.

2015 – EISC- DESARROLLO DE SOFTWARE I


ARQUITECTURA ORIENTADA A
SERVICIOS SOA
• ¿Qué es un servicio exactamente? Un servicio es
una funcionalidad concreta que puede ser
descubierta en la red y que describe tanto lo que
puede hacer como el modo de interactuar con ella.
• Desde la perspectiva de la empresa, un servicio
realiza una tarea concreta: puede corresponder a
un proceso de negocio tan sencillo como introducir
o extraer un dato como “Código del Cliente”. Pero
también los servicios pueden acoplarse dentro de
una aplicación completa que proporcione servicios.

2015 – EISC- DESARROLLO DE SOFTWARE I


ARQUITECTURA ORIENTADA A
SERVICIOS SOA
• BENEFICIOS DE SOA:
• Aplicaciones más productivas y flexibles.
• Desarrollo de aplicaciones más rápido y
económico.
• Aplicaciones más productivas y flexibles.
• Aplicaciones más seguras y manejables

2015 – EISC- DESARROLLO DE SOFTWARE I


EJEMPLOS DE SERVICIOS

• Consultar la hora
• Consultar un cliente

2015 – EISC- DESARROLLO DE SOFTWARE I


RETOS SOA

• Definir claramente los objetivos de negocio.


• Definir claramente el alcance del proyecto
SOA
• Evitar introducir SOA sin motivos reales que
lo justifiquen.

2015 – EISC- DESARROLLO DE SOFTWARE I


CICLO DE VIDA DEL SOFTWARE

DOCENTE:
JOSE LUIS LOPEZ MARIN
CICLO DE VIDA DEL SOFTWARE

• El desarrollo de un sistema de software está


enmarcado por los recursos, el tiempo y un
conjunto de requerimientos.

2013 – EISC- DESARROLLO DE SOFTWARE I 25


CICLO DE VIDA DE SOFTWARE

2015 – EISC- DESARROLLO DE SOFTWARE I


• Implícita o Explícitamente todos los modelos de
ciclo de vida cuentan por lo menos con las
siguientes actividades:

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO EN CASCADA

• Orientado a las actividades.


• Prescribe una ejecución secuencial de un
subconjunto de los procesos de desarrollo y de
administración.

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO EN CASCADA

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO EN CASCADA

• REQUERIMIENTOS o ANALISIS:
• Se analizan las necesidades del usuario final
para determinar cuales son los objetivos a
cubrir.
• De esta etapa surge un documento con la
especificación de requerimientos.

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO EN CASCADA

• DISEÑO:
• Se descompone el sistema en elementos que
puedan elaborarse por separado (modulos).
• Documentos de diseño del software, que
contiene la descripción de la estructura relacional
del sistema y que debe hacer cada una de las
partes.

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO EN CASCADA

• IMPLEMENTACIÓN:
• Etapa de diseño de algoritmos que cumplan con
los requerimientos del usuario.
• Codificación en un lenguaje de programación,
basados en los resultados de las etapas de
análisis y diseño.

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO EN CASCADA

• PRUEBAS:
• Los elementos ya programados se ensamblan en el
sistema, se comprueba su buen funcionamiento y
que cumple con los requisitos del cliente.
• IMPLANTACIÓN:
• El software sale a producción, se implanta el
software y el hardware necesario.
• MANTENIMIENTO:
• Fase sobre la que se da soporte de la aplicación y
se realizan cambios, para mejorarla.

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO EN CASCADA

• Fácil entendimiento e implementación


• Ampliamente utilizado y conocido
• Refuerza buenos hábitos: definir antes que
• diseñar, diseñar antes que codificar
• Orientado a documentos
• Funciona bien en productos maduros y equipos
débiles

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO EN CASCADA

• No aprovecha la iteración, ni el desarrollo


exploratorio
• Espera requerimientos definidos completamente
al inicio del proyecto  IRREAL
• Dificultar para integrar administración del riesgo

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO EN ESPIRAL

• Modelo centrado en las actividades


• Basado en las mismas actividades del modelo de
cascada
• Introduce: manejo de riesgos y creación de
prototipos
• Las actividades son organizadas en ciclos

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO EN ESPIRAL

• Un ciclo corresponde a la construcción de un producto


intermedio
• Las actividades de cada ciclo son:
• Determinar objetivos
• Especificar las restricciones
• Generar alternativas
• Identificar riesgos
• Resolver riesgos
• Desarrollar y verificar próximo nivel del producto
• Desarrollar el plan del ciclo

2015– EISC- DESARROLLO DE SOFTWARE I


MODELO EN ESPIRAL

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO EN ESPIRAL

• Un ciclo corresponde a la construcción de un producto


intermedio
• Las actividades de cada ciclo son:
• Determinar objetivos
• Especificar las restricciones
• Generar alternativas
• Identificar riesgos
• Resolver riesgos
• Desarrollar y verificar próximo nivel del producto
• Desarrollar el plan del ciclo

2015 – EISC- DESARROLLO DE SOFTWARE I


MODELO UNIFICADO DE
PROCESO
• Consiste en varios ciclos
• Al final de cada uno, un producto es entregado al cliente
• cada ciclo consiste de cuatro fases:
• Inception
• Elaboration
• Construction
• Transition
• Cada fase puede tener varias iteraciones
• Una iteración construye un conjunto de casos de uso
relacionados o mitiga algún riesgo de los identificados

2015 – EISC- DESARROLLO DE SOFTWARE I


2015 – EISC- DESARROLLO DE SOFTWARE I
ACTIVIDADES Y ETAPAS

2015 – EISC- DESARROLLO DE SOFTWARE I


1. MODELAMIENTO DEL CICLO DE
VIDA
• Responsable: Gerente del proyecto
• Personalizar las actividades de IEEE a los requerimientos del
proyecto y de la empresa
• Seleccionar el ciclo de vida:
• Cascada
• Espiral
• Rational Unified Process
• Extreme Programming (metodologias ligeras)

2015 – EISC- DESARROLLO DE SOFTWARE I


2. ADMINISTRACIÓN DEL
PROYECTO
• Procesos
• Iniciar el proyecto
• Supervisar y controlar el proyecto
• Administración de la calidad

2015– EISC- DESARROLLO DE SOFTWARE I


2. ADMINISTRACIÓN DEL
PROYECTO
• Responsable: Gerente del proyecto
• Entregable: Plan de Administración del proyecto de software
(SPMP)
• Propósito:
• Establecer la correspondencia entre las actividades y
• el modelo del ciclo de vida del software
• Asignar recursos al proyecto
• Establecer del ambiente del proceso
• Realizar la planeación de la administración del proyecto

2015 – EISC- DESARROLLO DE SOFTWARE I


2. ADMINISTRACIÓN DEL
PROYECTO
Inicio del proyecto en general es:
•Definir el plan de tareas
•Definir el cronograma
•Definir el presupuesto
•Definir la organización del proyecto
•Definir el ambiente del proyecto
• Estándares
•Comunicación
•Procedimientos de reunión y reporte
•Metodología de desarrollo
•Herramientas de desarrollo

2015 – EISC- DESARROLLO DE SOFTWARE I


2. ADMINISTRACIÓN DEL
PROYECTO
Responsable: Gerente del proyecto
•Entregable: Plan de Administración del proyecto de
•software (SPMP) actualizado
•Propósito:
•Analizar riesgos
• Realizar planeación de contingencias
• Administrar el proyecto
•Conservar registros
•Implementar el modelo de reporte de problemas

2015 – EISC- DESARROLLO DE SOFTWARE I


3. Predesarrollo – Identificación del
sistema

•Responsable: Administración, Cliente, Arquitecto de software


•Entregable: Enunciado del problema y Documento de
arquitectura
Propósito:
•Establecer la arquitectura inicial
• Base para la comunicación entre los miembros
• Identificar
• Hardware
• Software
•Requerimientos funcionales

2015– EISC- DESARROLLO DE SOFTWARE I


4. Desarrollo - Requerimientos

Responsable: Equipo de desarrollo y cliente


• Entregable: Documento de requerimientos
Propósito:
• Definir y desarrollar los requerimientos de software
•Definir los requerimientos de la interfaz
•Establecer la prioridad e integrar los requerimientos de
software

2015 – EISC- DESARROLLO DE SOFTWARE I


4. Desarrollo - Requerimientos

Responsable: Equipo de desarrollo


•Entregable: Documentos de diseño
Propósito:
•Producir una representación del sistema coherente y bien organizada
•Descomponer en subsistemas
•Asignar los requerimiento a los sistemas de hardware y software
•Describir de las condiciones de frontera
•Seleccionar de componentes pre- existentes
• Definir los objetivos de diseño

2015 – EISC- DESARROLLO DE SOFTWARE I


4. Desarrollo - implementación

Responsable: Equipo de desarrollo


•Entregable: Código, Pruebas
Propósito:
•Construir la solución
• Crear datos de pruebas
•Crear código fuente
• Crear la documentación operativa
•Planear la integración
•Realizar la integración

2015 – EISC- DESARROLLO DE SOFTWARE I


5. Post desarrollo – instalación

Responsable: Administración y cliente


•Entregable: Sistema
Propósito:
•Planear la instalación
•Distribuir el software
•Instalar el software
•Aceptar el software en el ambiente operacional

2015 – EISC- DESARROLLO DE SOFTWARE I


5. Post desarrollo – instalación

Responsable: Administración y cliente


Propósito:
•Operar el sistema
•Proporcionar asistencia técnica y consultoría
•Mantener la bitácora de peticiones del clientes

2015 – EISC- DESARROLLO DE SOFTWARE I


6. Procesos integrales

Propósito:
•Verificación y Validación
•Administración de la configuración
•Documentación
•Entrenamiento

2015 – EISC- DESARROLLO DE SOFTWARE I

También podría gustarte