Subido por Albert Walter

teoria UML Semana9 DUTIC

Anuncio
Introducción a UML
Semana 9
tema 8: Introducción a UML
Ramiro Banda Valdivia
Contenido
Familiarizándonos con los conceptos:
• Arquitectura de software
• De los requerimientos de software al programa (4 elementos)
Niveles en el diseño:
• Estilo arquitectónico
• Patrones de diseño
• Diseño de componentes
Arquitectura de software y metodologías ágiles
• Arquitectura y especificación formal en UML
• Introducción al UML
• Competente para entender diseños arquitectónicos
• Elaborar gráficos(de software) con UML y entenderlos, no modelar ni
menos generar código
La arquitectura de software
“Arquitectura”
• Diseño de más alto nivel de la estructura de un sistema.
• Una arquitectura de software se selecciona y diseña con base en objetivos (requisitos) y
restricciones. Los objetivos son aquellos prefijados para el sistema de información, pero
no solamente los de tipo funcional si no los no funcionales también otros objetivos como
la mantenibilidad, auditabilidad, flexibilidad e interacción con otros sistemas de
información. Las restricciones son aquellas limitaciones derivadas de las tecnologías
disponibles para implementar sistemas de información. Unas arquitecturas son más
recomendables de implementar con ciertas tecnologías mientras que otras tecnologías
no son aptas para determinadas arquitecturas. Por ejemplo, no es viable emplear una
arquitectura de software de tres capas para implementar sistemas en tiempo real.
• La arquitectura de software define, de manera abstracta, los componentes que llevan a
cabo alguna tarea de computación, sus interfaces y la comunicación entre ellos. Toda
arquitectura debe ser implementable en una arquitectura física, que consiste
simplemente en determinar qué computadora tendrá asignada cada tarea.
Qué es una arquitectura software?
• La arquitectura del software define el sistema en términos de sus componentes
computacionales y de las relaciones entre ellos (Shaw & Garlan, 1996)
• “Estructura o estructuras del sistema que comprende componentes de software,
propiedades visibles de esos componentes y las relaciones entre ellos.”
Arquitectura: Pensar primero en lo importante
Diseño de alto nivel versus diseño detallado (David Budgen)
Esqueleto versus Carne y Músculos (Rational Unify Process)
Tipos de requerimientos de software
• Requerimientos funcionales
• Requerimientos no funcionales
¿Para que hacer una arquitectura?
¿Como debo hacer la división ?
¿Por que escoger un estilo arquitectónico?
Algunos tipos de arquitectura
• Tubos y filtros
• Invocación implícita
• Cliente servidor de 3 capas
• Control de procesos
• Sistema estratificado
• Sistema de blackboard
Pipas y filtros
Administrador y herramientas
Arquitectura de 3 capas
Lenguajes de definición de arquitecturas DLA
• Requieren una extensa capacitación.
• – No son amigables para presentar
• la arquitectura a personas ajenas
• a la construcción del software.
• – No tienen herramientas ni metodologías
• de apoyo.
• – Algunos se encuentran especializados
• solo en un tipo particular
• de sistemas.
• – Sólo tienen en cuenta una sola
• estructura del sistema.
Vistazo al pdf adl.pdf
Arquitectura Software y Metodologías Ágiles.
¿Realmente son compatibles?
Fuente: https://www.applying.pe/2836-2/
¿Qué es Agile?
Entrega rápida y constante de valor y la aceptación del cambio. Es
mejora continua. Es entregar una solución con un alto grado de calidad
en un periodo corto de tiempo.
Algo de diseño
Sprints de “refactorización”
¿Cuanto de arquitectura?
¿Cuanto de arquitectura?
• Rehacer sistema:
• Producto nuevo:
“Framework corporativo”
UML
UML permite que se represente de manera semi-formal la estructura
general del sistema, con la ventaja de que este mismo lenguaje puede
ser usado en todas las etapas de desarrollo del sistema y su
representación gráfica puede ser usada para comunicarse
con los usuarios.
UML
• un lenguaje gráfico de modelamiento que usa conceptos de
orientación por objetos.
Video
Generalidades de UML
• Elementos y relaciones
• Elementos:
• Clases
• – Casos de uso
• – Componentes
• – Nodos
• – Paquetes
Relaciones:
- Dependencia
– Asociación
– Generalización
– Realización
• Diagrama de clases
• Diagrama de clases
• De objetos
• De interacción
• De estado
• De componentes
• Físico
• Diagrama de clases
• De objetos
• De interacción
• De estado
• De componentes
• Físico
• Diagrama de clases
• De objetos
• De interacción
• De estado
• De componentes
• Físico
• Diagrama de clases
• De objetos
• De interacción
• De estado
• De componentes
• Físico
• Diagrama de clases
• De objetos
• De interacción
• De estado
• De componentes
• Físico
Tres mecanismos de extensión de UML
• 1. Valores Adicionados (tagged values): Mediante estos valores es
• posible adicionarle nuevas propiedades o atributos a los elementos
• del modelo de UML.
• 2. Restricciones (constraints): Las restricciones permiten adicionar
• nueva semántica o modificar la existente.
• 3. Estereotipos: Los estereotipos permiten crear nuevos elementos
• en el modelo basados en otros ya existentes. Cada nuevo estereotipo
• puede reunir propiedades (tagged values) y restricciones particulares.
ESTRUCTURAS
DE ARQUITECTURA EN UML
• Identificar componentes
• Relaciones
Caso de uso
Actores
Módulos
Clases
Unidades de software
Sistemas externos
Herramientas de software
Procesador
Dispositivo
Entremos al diagrama de clases
Diagrama de una clase
Relaciones de generalización entre clases
Relaciones de asociación
Asociaciones de multiplicidad
Tipos de asociación
Ejemplo de composición y agregación
Ejemplo de diagrama de clases
Leamos UML
Sistema veterinario
Sistema de computadora
Sistema de biblioteca o biblioteca
Sistema bancario
Calefacción en casa
• Each employee works for one company (which can have 0 employees)
• Each AdministrativeAssistant has one or more supervisors (who can have 0 or more employees)
• Each Company has exactly one BoardOfDirectors (and viceversa)
• Each Office is allocated to zero or more Employees (an Employee can have no office or at most one)
• A Person is boardMember of 0 or more BoardOfDirectors (each BoardOfDirectors has from 3 to 8
Persons)
Hacer en diagrama de clases
• A house may have any number of pets living in it
• • The two possible types of pets that can
• live in a house are dogs and cats
• • Each dog or cat has a name
• • An animal’s house is its one and only
• home
• • You can ell an animal to make noise and it
• will do its thing
Solución
Relaciones entre estructuras
de arquitectura
Revisar:
• Representación de la arquitectura
• de software usando UML
• Sandra Victoria Hurtado Gil
Universidad Icesi-I2T
Fuentes consultadas y agradecimientos
• Exercises on basic UML: Structures
Paolo Ciancarini
https://www.cs.unibo.it/~cianca/wwwpages/ids/esempi/uml-s.pdf
• Introducción a UML
David Pinelo
Apuntes del Profesor Maximiliano Cristiá
https://www.fceia.unr.edu.ar/~mcristia/
• Representación de la arquitectura
• de software usando UML
• Sandra Victoria Hurtado Gil
• Universidad Icesi-I2T
• Curso CSE 403, Spring 2007, Alverson
• https://www.applying.pe/2836-2/
Descargar