Está en la página 1de 18

INGENIERÍA DEL SOFTWARE II

DEISY JOHANA DÍAZ PÉREZ


deisy.diaz03@uptc.edu.co
2018 - II
INTRODUCCIÓN

• Computadores
• Celulares
• Electrodomésticos (televisores, microondas)
• Automóviles
• Hospitales
INTRODUCCIÓN

Ingeniería del software en palabras simples:

“Receta” o pasos necesarios para realizar software de calidad


CONTENIDO
• Diseño de la arquitectura
• Introducción a JEE
• Anotaciones y POJOs
• Servicios Web - REST y SOAP
• EJB y componentes de lógica de negocio
• Persistencia - Java Persistence API (JPA)
• Transaccionalidad (JTA)
• TDD – Test Driven Development
• Integración continua
• Pruebas no funcionales
• Automatización de Procesos de Software
DISEÑO ARQUITECTÓNICO

• El diseño de software comienza una vez que se han analizado y modelado los
requerimientos, es la primera etapa en el proceso de diseño de software. Es
el enlace crucial entre la ingeniería de requerimientos y el diseño.
• Identifica los principales componentes estructurales en un sistema y la relación
entre ellos
Ejemplo: Arquitectura de un sistema de control para un robot empacador
NIVEL DE ABSTRACCIÓN

• La arquitectura en pequeño se interesa por la arquitectura de programas


individuales.

• Laarquitectura en grande se interesa por la arquitectura de sistemas


empresariales complejos que incluyen otros sistemas, programas y
componentes de programa.
VENTAJAS

• Comunicación con los participantes


• Análisis del sistema
• Reutilización a gran escala
Hofmeister y sus colaboradores (2000) proponen que una arquitectura de
software sirve en primer lugar como un plan de diseño para la negociación de
requerimientos de sistema y, en segundo lugar, como un medio para establecer
discusiones con clientes, desarrolladores y administradores. También sugieren
que es una herramienta esencial para la administración de la complejidad.
Oculta los detalles y permite a los diseñadores enfocarse en las abstracciones
clave del sistema
DECISIONES EN EL DISEÑO ARQUITECTÓNICO

• ¿Existe alguna arquitectura de aplicación genérica que actúe como plantilla


para el sistema que se está diseñando?
• ¿Cómo se distribuirá el sistema a través de algunos núcleos o procesadores?
• ¿Qué patrones o estilos arquitectónicos pueden usarse?
• ¿Cuál será el enfoque fundamental usado para estructurar el sistema?
• ¿Cómo los componentes estructurales en el sistema se separarán en
subcomponentes?
DECISIONES EN EL DISEÑO ARQUITECTÓNICO

• ¿Qué estrategia se usará para controlar la operación de los componentes en


el sistema?
• ¿Cuál organización arquitectónica es mejor para entregar los requerimientos
no funcionales del sistema?
• ¿Cómo se evaluará el diseño arquitectónico?
• ¿Cómo se documentará la arquitectura del sistema?
DEPENDE DE

• Rendimiento
• Seguridad
• Disponibilidad
• Mantenibilidad
VISTAS ARQUITECTÓNICAS

• Una vista lógica


• Una vista de proceso
• Una vista de desarrollo
• Una vista física
PATRONES DE ARQUITECTURA DE SOFTWARE

• Arquitectura por Capas

• Arquitectura Basada en Eventos

• Arquitectura de Microkernel

• Arquitectura de Microservicios

• Arquitectura Basada en Espacio

software-architecture-patterns – Mark Richards


ARQUITECTURA DE SOFTWARE
“Pienso que tenemos algo, aparte de la ingeniería de software: algo de lo que hemos
hablado muy poco pero que deberíamos poner sobre el tapete y concentrar la atención en
ello. Es la cuestión de la arquitectura de software. La arquitectura es diferente de la
ingeniería. Como ejemplo de lo que quiero decir, echemos una mirada a OS/360. Partes
de OS/360 están extremadamente bien codificadas. Partes de OS, si vamos al detalle,
han utilizado técnicas que hemos acordado constituyen buena práctica de programación.
La razón de que OS sea un amontonamiento amorfo de programas es que no tuvo
arquitecto. Su diseño fue delegado a series de grupos de ingenieros, cada uno de los
cuales inventó su propia arquitectura. Y cuando esos pedazos se clavaron todos juntos no
produjeron una tersa y bella pieza de software.”
Edsger Dijkstra - 1969
ARQUITECTURA DE SOFTWARE

“La década de 1990, creemos, será la década de la arquitectura de software.


Usamos el término “arquitectura” en contraste con “diseño”, para evocar nociones
de codificación, de abstracción, de estándares, de entrenamiento formal (de los
arquitectos de software) y de estilo. … Es tiempo de re-examinar el papel de la
arquitectura de software en el contexto más amplio del proceso de software y de
su administración, así como señalar las nuevas técnicas que han sido adoptadas.”
Dewayne E. Perry and Alexander L. Wolf- 1992
ARQUITECTURA DE SOFTWARE

“La Arquitectura de Software es la organización fundamental de un sistema


encarnada en sus componentes, las relaciones entre ellos y el ambiente y los
principios que orientan su diseño y evolución.”
IEEE - 2000
PATRONES DE ARQUITECTURA

• La aplicación es escalable?
• Cuales son las características de rendimiento de la aplicación?
• Que tan fácil la aplicación responde a los cambios?
• Cuales son las características de desarrollo de la aplicación?

También podría gustarte