Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fase de Elaboracin
Obtener un entendimiento ms detallado de los requerimientos Disear, implementar, validar y generar una lnea base para la arquitectura:
Definir los subsistemas, los componentes claves y sus interfaces Usar los casos de uso significativos arquitectnicamente para dirigir la arquitectura Disear los casos de uso crticos; consolidar y empaquetar las clases identificadas Disear la BD
Fase de Elaboracin
Arquitectura del Software (AS):
La fase de elaboracin se enfoca en obtener una Arquitectura de Software Estable que satisfaga los requerimientos La arquitectura de software es usada en RUP como un artefacto primario para conceptualizar, gerenciar, construir y hacer evolucionar el sistema en desarrollo.
Uno de los fundamentos de RUP es la modelacin. Los modelos ayudan a entender y compartir el problema y la solucin Desde esta perspectiva un modelo no es suficiente para cubrir todos los aspectos del desarrollo del software, por lo tanto necesitamos mltiples modelos para resaltar a cada contexto. Los modelos pueden ser coordinados para asegurar su consistencia y no redundancia.
Entendimiento del propsito Por qu la arquitectura es importante? Qu beneficios brinda ese enfoque de arquitectura? Cmo se puede desarrollar? Representacin de la arquitectura Cmo lograr que el concepto de arquitectura no sea tan difuso y se disponga de un acuerdo en la forma de representarla? Y por ende de comunicarla, revisarla, comentarla y mejorarla sistemticamente Procesos de arquitectura Cmo crear y validar la arquitectura que satisface las necesidades del proyecto?, Quin lo hace? Qu artefactos y atributos de calidad son propios de esta tarea?
Arquitectura de Software
La AS es, a grandes rasgos, una vista del sistema que incluye los componentes principales del mismo, la conducta de esos componentes segn se la percibe desde el resto del sistema y las formas en que los componentes interactan y se coordinan para alcanzar la misin del sistema. La vista arquitectnica es una vista abstracta, aportando el ms alto nivel de comprensin y la supresin o diferimiento del detalle inherente a la mayor parte de las abstracciones.
Tabla 1 Vistas en los marcos de referencia Tabla 1: Vistas que- proponen diferentes Frameworks
La mayora de los frameworks proponen entre tres y seis vistas. Una vista, puede considerarse como el subconjunto resultante de practicar una seleccin o abstraccin sobre una realidad, desde un punto de vista determinado.
Vistas de UML
UML especifica nueve (9) clases correspondientes a ocho (8) vistas:
rea Estructural Vista Vista esttica Vista de casos de uso Vista de implementacin Vista de despliegue Dinmica Vista de mquinas de estados Vista de actividad Vista de interaccin Gestin del modelo Diagramas Diagrama de clases Diagramas de casos de uso Diagrama de componentes Diagrama de despliegue Diagrama de estados Diagrama de actividad Diagrama de secuencia Diagrama de colaboracin Diagrama de clases
de
diagramas
Conceptos principales Clase, asociacin, generalizacin, dependencia, realizacin, interfaz Caso de uso, actor, asociacin, extensin, inclusin, generalizacin de casos de uso Componente, interfaz, dependencia, realizacin Nodo, componente, dependencia, localizacin Estado, evento, transicin, accin Estado, actividad, transicin de terminacin, divisin, unin Interaccin, objeto, mensaje, activacin Colaboracin, interaccin, rol de colaboracin, mensaje Paquete, subsistema, modelo
Vista de gestin del modelo Tabla 2 - Vistas y 2. Vistas y de UML, basado en [RJB00: 22] Tabla diagramas Diagramas de UML
Estilos Arquitectnicos
Estilos de Flujo de Datos Tubera y filtros Estilos Centrados en Datos Arquitecturas de Pizarra o Repositorio Estilos de Llamada y Retorno Model-View-Controller (MVC) Arquitecturas en Capas Arquitecturas Orientadas a Objetos Arquitecturas Basadas en Componentes Estilos Derivados C2 GenVoca REST
Estilos de Cdigo Mvil Arquitectura de Mquinas Virtuales Estilos heterogneos Sistemas de control de procesos Arquitecturas Basadas en Atributos Estilos Peer-to-Peer Arquitecturas Basadas en Eventos Arquitecturas Orientadas a Servicios (SOA) Arquitecturas Basadas en Recursos
Arquitectura de Software
Disear la AS, es definir los aspectos estructurales como una composicin de componentes, las estructuras globales de control, los protocolos de comunicacin, la sincronizacin y acceso a los datos, la asignacin de la funcionalidad a los elementos del diseo, la composicin de estos elementos, su distribucin fsica, su escalabilidad y su desempeo.
Arquitectura de Software es
Vista estructural de alto nivel, descomposicin del sistema en
subsistemas, mdulos, componentes, hasta alcanzar el nivel de granularidad deseado
El Modelo 4+1 Vistas organiza la descripcin de la arquitectura de un software usando cinco (5) vistas concurrentes, cada una de las cuales est dirigida a un conjunto especfico de conceptos Los arquitectos exponen sus decisiones de diseo en cuatro (4) vistas y usan la quinta vista para ilustrar y validar dichas decisiones.
b)
Vista Lgica
Clases , interfaces, Colaboracin Vista
Vista de Implementacin
Componentes
Funcional
Vista de Proceso Vista de Casos de Uso Vista de Implantacin Integradores del Sistema Desempeo Escalabilidad Productividad Ingeniera de Sistema Topologa del Sistema Entrega, instalacin Comunicacin
de Casosde
Conceptual
Fsica
b)
a) Modelo 4+1 Vistas Modelo 4+1 Vistas y elementos de UML (Booch, 1999)
Entregables
Modelo conceptual Diagrama de clases Diagramas de estados Distribucin en capas Plataforma de software Libreras, paquetes y patrones
Casos de Uso (Escenarios) Casos de Uso (Escenarios) Casos de uso (diagrama y desc.) Casos de uso (diagrama y desc.) Diagramas de secuencia Diagramas de secuencia Vista de Proceso Vista de Proceso Diagrama de procesos Vista Implantacin Vista Implantacin (Fsica) (Fsica) Descripcin de hardware
Vista Lgica
Incluye el modelo conceptual y el diagrama de clases para el sistema. Una vez construido el diagrama de clases, se proceder a ilustrar como es la distribucin de las clases por paquetes, conservando en un mismo paquete aquellas clases que se encuentren estrechamente relacionadas por expresar o referirse a un mismo concepto del dominio del problema.
Vista Lgica
Proceso para elaborar estos diagramas:
Modelo conceptual. Tomando como base el modelo de procesos del negocio y el modelo de objetos del negocio, se procede a identificar los conceptos ms resaltantes que forman parte del dominio del problema. Luego, se establecen las relaciones que existen entre ellos. Diagrama de clases. Tomando como base el modelo conceptual, se identifican aquellos conceptos sobre los cuales se requiere hacer algn tipo de procesamiento de la informacin que representan, en el contexto de la aplicacin a desarrollar.
En resumen
Process Sale
restricciones
Visin
ERS
...
Lista de riesgos
Cashier Process Rental Accounting System Cash In HR System Manage Users Syst em Administ rat or Mangage Accounts
...
Glosario
Descripciones de CU
En resumen
Dominio de la solucin
Anlisis y Diseo
Validacin
Process Sale
Glosario
DAS
System
endSale()
...
makePayment(amount)
Casos de Uso
performed
validatePayment() ok
Customer
POSRegister
Payment ammount : Double described-by ProductSpecification
Diagramas de Secuencia
ad d file
Pays-for 1 Captured-on
Sale
makePayment () creat ePayment() POS Payment POS Sale makePayment() amount : Money getTotal()
Op en nin g a d d file [ nu m b e rO ffil e ==M AX ] / fl ag O FF
W r iting
1 Register
clo se fil e
c lo se file R e ad in g
Clo sin g
Diagramas Estados
Modelo
Diagramas Escenarios Diagramas Desarrollo Diagramas Casos de Uso
0..* 1
RegistrationManager
addStudent(Course, Student)
1 RegistrationUser
name name
Course 0..*
numberCredits open() addStudent(Student)
Student
major
3..10
Professor
tenureStatus
4 CourseOffering 1 0..4
location open() addStudent(Student}
1..*
Diagrama de Clases
Un sistema OO se construye, fundamentalmente, definiendo clases. Los objetos identificados en el dominio de aplicacin son agrupados en clases, cada una de las cuales representa una categora de objetos que tienen iguales propiedades (atributos) y comportamientos (operaciones, mtodos o servicios). La clase como componente principal del sistema, y las relaciones entre sta y otras clases, hacen posible la estructuracin lgica de un sistema OO.
Diagrama de Clases
Una clase es una descripcin de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semntica. El primer bloque de la figura representa el nombre de la clase, el segundo bloque contiene los atributos, y el tercer bloque contiene las operaciones Modelar el vocabulario de un sistema. Hay que identificar aquellas cosas que utilizan los usuarios para describir el problema o la solucin
Diagrama de Clases
Las clases casi nunca se encuentran aisladas. Por lo general, la mayora de ellas colaboran con otras de varias maneras. Hay que modelar la forma en que las clases se relacionan En el modelado orientado a objetos hay tres tipos de relaciones: Dependencias Generalizaciones Asociaciones
Diagrama de Clases
Una dependencia es una relacin de uso, que declara que un cambio en la especificacin de un elemento (por ejemplo, la clase Evento) puede afectar a otro elemento que la utiliza (por ejemplo, la clase Ventana), pero no necesariamente a la inversa (la flecha va dirigida hacia el elemento del cual se depende). Una dependencia quiere decir que un elemento utiliza a otro.
Diagrama de Clases
Una generalizacin conecta una clase general (superclase o padre) con otra clase ms especializada (subclase o hijo). Es una relacin "es-un" o "es-una". CuadroDialogo es una Ventana. Por ejemplo, el
Diagrama de Clases
Las asociaciones son relaciones estructurales entre instancias, que especifican que los objetos de un elemento estn conectados con los objetos de otro. Es posible que los objetos de una clase estn conectados con objetos de la misma clase.
Diagrama de Clases
Nombre: Una
asociacin puede tener un nombre, que se utiliza para describir la naturaleza de la relacin. Para evitar ambigedades, se puede indicar una direccin al nombre, es decir, la direccin en que se debe leer el nombre.
Multiplicidad:
Representa el nmero de objetos que pueden conectarse a travs de una relacin de asociacin. Se puede indicar una multiplicidad de exactamente uno (1), cero o uno (0..1), muchos (0..*), o uno o ms (1..*). Tambin se puede indicar un valor exacto (por ejemplo, 3).
Diagrama de Clases
Agregacin: A veces se desea modelar una
relacin de tipo "todo/parte", en la cual una clase representa algo grande (el todo), que consta de elementos ms pequeos (las partes). Este tipo de relacin se denomina agregacin, y es una relacin "tiene-un" o "tiene-una".