Sie sind auf Seite 1von 46

Arquitectura de Software

Dr. Pedro Mejia Alvarez Cova Suazo Nancy Noem Prez Resndiz Marisol CINVESTAV IPN
Seccin de Compu acin

Captulo 1 Ciclo de la Arquitectura de Negocios

!N"R#D$CC!%N

. La vista arquitectural de un sistema es abstracta, proporcionando detalles acerca de la implementaci n, los al!oritmos, la representaci n de datos e incluso el comportamiento " la interacci n entre elementos #ca$as ne!ras % blac& bo'(.

Arc&i ec ure 'usiness Cycle ( A'C

Los requerimientos no determinan del todo la arquitectura, m)s bien est) es adem)s resultado de in*luencias en los ambientes t+cnicos, sociales " del ne!ocio. Llamaremos a este ciclo de in*luencias, del ambiente a la arquitectura " de la arquitectura al ambiente como ,El Ciclo de la Arquitectura de Ne!ocios #Arc-itecture .usiness C"cle % A.C(/.

)Cmo sur*en las ar+ui ec uras,

In*luencias en la Arquitectura

S a-e&olders

!N./$0NC!AS 0N /AS AR1$!"0C"$RAS

La composici n de la or!ani0aci n. La *ormaci n " la e'periencia de los arquitectos. El ambiente t+cnico.

/as ar+ui ec uras a2ec an a los 2ac ores +ue las in2luencian

Ciclo de la Arquitectura de Ne!ocios

/as ar+ui ec uras a2ec an a los 2ac ores +ue las in2luencian

La composicin de la organizacin. Los objetivos de la organizacin. Los requerimientos del cliente. La experiencia de los arquitectos. Muy pocos sistemas influenciarn o cambiarn la cultura de la ingeniera de software el ambiente t!cnico en el cual los sistemas operan y aprenden.

0l Proceso de So2 3are y 0l Ciclo de la Ar+ui ec ura de Ne*ocios 4A'C5

1e*inir el caso de estudio para el sistema Entender los requerimientos Crear o seleccionar la arquitectura Comunicar la arquitectura Anali0ar " evaluar la arquitectura Implementar el sistema basado en la arquitectura Ase!urar que la implementaci n sea con*orme a la arquitectura

)1u &ace 6uena a una ar+ui ec ura,


$na ar+ui ec ura de6era ...
ser producto de un arquitecto o un peque"o grupo de arquitectos con un lder definido. estar bien documentada con al menos una vista dinmica y una vista esttica utilizando una notacin que los sta#e$olders puedan entender fcilmente. ser evaluada y analizada con m!tricas cuantitativas y cualitativas. presentarse como una implementacin incremental para poder dise"ar un esqueleto del sistema mostrando primero la mnima funcionalidad y despu!s como puede ir creciendo. ser dise"ada por arquitectos que cuentan con los requerimientos funcionales y no funcionales del sistema.

Re*las es ruc urales para la ar+ui ec ura


La arquitectura deber2a tener bien de*inidos los m dulos. Cada m dulo deber2a tener bien de*inida las inter*aces que encapsula. Estas inter*aces permitir)n desarrollar de manera independiente cada m dulo. La arquitectura nunca debe de depender de una versi n de un producto o -erramienta comercial. Los m dulos que producen datos deber)n estar separados de los m dulos que consumen datos. Esto permitir) que cuando un dato sea a3adido solo ten!a que modi*icarse un m dulo. Cada tarea o proceso deber) ser bien documentado, para que este pueda ser *)cilmente modi*icado, qui0)s incluso en tiempo de e$ecuci n. La arquitectura deber) caracteri0arse como un con$unto de simples interacciones, esto es para incrementar la con*iabilidad, la manteneabilidad, reducir el tiempo de desarrollo, etc.

Captulo 2 Qu es una Arquitectura de Software ?

D0.!N!C!%N
4na Arquitectura de So*5are de un pro!rama o de un sistema de c mputo es la estructura o estructuras de un Sistema. 1ic-a#s( estructura#s( comprenden6 Elementos de so*t5are, Las propiedades visibles de dic-os elementos, " Las relaciones entre los mismos.

4na arquitectura de so*t5are debe proporcionar cierta in*ormaci n6


La naturale0a de los elementos.
Si los elementos son procesos, pro!ramas, ob$etos, etc.

Las *unciones de los elementos. El si!ni*icado de las relaciones entre cada elemento. El si!ni*icado de la distribuci n de los elementos.
Por e$emplo. Elementos locali0ados en di*erentes niveles.

070MP/#. =epresentaci n de una Arquitectura de


So*t5are poco in*ormativa.

ELE7ENT8 9

ELE7ENT8 :

ELE7ENT8 ;

ELE7ENT8 <

#"RAS D0.!N!C!#N0S D0 /A AR1$!"0C"$RA D0 S#."8AR0


Arquitectura es un dise3o de alto nivel. Arquitectura es la estructura !eneral del sistema. Arquitectura es la estructura de componentes, relaciones, principios " pautas que de*inen su dise3o " evoluci n sobre el tiempo. Arquitectura es componentes " conectores.

PA"R#N0S D0 AR1$!"0C"$RA

4n patr n de arquitectura es una descripci n de elementos " los tipos de relaci n, $unto con un !rupo de restricciones en c mo deben ser usados. 4n e$emplo de este tipo, es la Arquitectura Cliente%Servidor.

M#D0/# D0 R0.0R0NC!A

4n modelo de re*erencia es una descomposici n de un problema en un cierto n>mero de partes que cooperativamente resuelven el mismo. E$emplos Partes de un Compilador. Partes de un Sistema mane$ador de .ase de 1atos.

AR1$!"0C"$RA D0 R0.0R0NC!A

Es un modelo de re*erencia planeado sobre elementos de so*t5are " el *lu$o de datos entre ellos. 4n elemento de so*t5are puede implementar parte de una *unci n o de varias *unciones.

P#R 1$9 0S !MP#R"AN"0 /A AR1$!"0C"$RA D0 S#."8AR0 , 4:5


Comunicaci n entre las personas involucradas
La arquitectura representa una abstracci n que puede ser base para el entendimiento, concenso, ne!ociaci n " comunicaci n.

1ecisiones tempranas de dise3o


1e*ine limitaciones en la Implementaci n. 1icta la Estructura 8r!ani0acional. 8culta o muestra los Atributos del Sistema. ?ace m)s *)cil controlar los cambios. A"uda en el prototipado evolutivo. Proporciona Estimaciones de Costos " Calendari0aci n m)s e'actos.

P#R 1$9 0S !MP#R"AN"0 /A AR1$!"0C"$RA D0 S#."8AR0 , 4;5


Abstracci n trans*erible de un sistema
La arquitectura constitu"e un modelo de c mo esta el sistema estructurado " como sus elementos traba$an en con$unto@ por lo que puede ser aplicada a otros sistemas que e'-iban similares requerimientos " atributos.

0S"R$C"$RAS = <!S"AS
<!S"A. =epresentaci n de un con$unto de elementos " las relaciones entre ellos #escritos " le2dos por clientes, usuarios, etc.(. 0S"R$C"$RA. Con$unto de elementos que por s2 mismos, e'isten en so*t5are o -ard5are. Se dividen en6
7 dulos. Componentes%conectores. Estructuras de Asi!naci n.

0s ruc uras
Mdulos
1escomposici n 4so Capas Clases

Componen e(Conec or
Cliente% Servidor Proceso 1atos Compartidos

Concurrencia

Asi*nacin
Asi!naci n de Traba$o 1esplie!ue

Implementaci n

Captulo 7 Diseo de la Arquitectura

/a Ar+ui ec ura en el Ciclo de <ida


Software Concept Ciclo de Vida de Entregas Evolutivas

reliminary !e"uirements Analysis Develop Final Version Design of Architecture and System Core

Develop a Version

Incorporate Customer Feedback

Deliver the Version

Ellicit Customer Feedbak

D!S0># D0 /A AR1$!"0C"$RA

%ttribute&'riven 'esign (%'') esta es una aproximacin basada en la recursiva descomposicin de procesos donde cada estado tcticas y patrones arquitecturales son escogidos para satisfacer un conjunto de escenarios y entonces la funcionalidad es asignada a mdulos. La entrada a este m!todo son todos los requerimientos funcionales no funcionales y las limitaciones del sistema.

Sis ema de Puer as Au om? icas para un @ara*e


C4ALI1A1ES EN L8S ESCENA=I8S6
los dispositivos " controles para abrir " cerrar la puerta los procesadores si se detecta un obst)culo, en el momento que se este cerrando la puerta, esta tendr) que detenerse " abrirse nuevamente en A.9 se!undos la puerta autom)tica podr) ser c-ecada " administrada desde el sistema de in*ormaci n casero, a trav+s de un protocolo especi*ico

Pasos para realizar el diseAo

Esco!er el m dulo a descomponer. =e*inar el m dulo. Esco!er los 1rivers Arquitecturales. Esco!er los Patrones Arquitecturales. Instanciar los m dulos, asi!nar la *uncionalidad a cada uno " representarlos usando m>ltiples vistas. 1e*inir las inter*aces de los m dulos -i$os. 1ocumentar las interacciones " limitaciones entre cada m dulo. Veri*icar " re*inar casos de uso " escenarios.

0sco*er los pa rones Ar+ui ec urales

#ser Interface

$on% erformance Critical Computation

erformance Critical Computation

Virtual (achine

Scheduler &hat 'uarantees Deadlines

Pa rn Ar+ui ec ural +ue u iliza ?c icas en el SAP@

!ns anciar los mdulosB asi*nar la 2uncionalidad a cada uno y represen arlos usando mCl iples vis as.

#ser Interface

Diagnosis

!aising)*owering Door

+bstacle Detection

Communication Virtual (achine

Sensor)Actuator ,ControlVirtual (achine

Scheduler &hat 'uarantees Deadlines

Primer nivel de descomposicin del SAP@

Represen acin usando mCl iples vis as

VISTA 1E 7B14L8S #1ESC87P8SICIBN(. #VISTA 1E C87P8NENTE%C8NECT8=( C8NC4==ENCIA.


1os usuarios -aciendo cosas similares al mismo tiempo. 4suario e$ecutando m>ltiples actividades simult)neamente. Encender el sistema. Apa!ar el sistema. Sincroni0aci n.

#VISTA EST=4CT4=AS 1E ASICNACIBN( I7PLE7ENTACIBN.

.#RMAR 01$!P#S D0 "RA'A7#

La estructura arquitectural repercute directamente en la formacin de estos equipos debido a que se elegirn dependiendo de la funcionalidad (dominio) de los mdulos es decir se organizarn tomando en cuenta a la gente ms especializada o con mayores conocimientos en el rea.

Crear un es+uele o del sis ema

*na vez que $emos dise"ado la arquitectura del sistema y $emos formado los grupos de trabajo tenemos todo lo necesario para poder $acer una implementacin del sistema el cual me permitir estar interactuando con el cliente e ir realizando modificaciones sobre el mismo $asta que se este en condiciones de entregar un producto final.

Caso r!ctico
S"#$%AC"&N D' ($'%)S

!N"R#D$CC!%N
La creaci n " mantenimiento de estos sistemas presentas !randes retos de desarrollo6
E$ecuci n en tiempo real 7odi*icabilidad #reali0ar cambios en los requerimientos( Escalabilidad #e'tender la *uncionalidad( Inte!rabilidad #comodidad con la cual el desarrollo de
elementos, inclu"endo aquellos reali0ados por terceros, se pueden reali0ar sepradamente " *inalmente $untarlos para satis*acer todos los requerimientos(

El patr n creado para dic-o sistema es un 7odelo Estructural.

R0/AC!%N C#N /A AR1$!"0C"$RA D0/ N0@#C!#

R01$0R!M!0N"#S = C$A/!DAD0S
Se tienen ; roles6
"ripulacin. El prop sito es instruir al piloto " tripulaci n en c mo operar una nave a+rea, e$ecutar maniobras " responder ante ciertas situaciones en la vida real. Am6ien e. Comprende la atm s*era, armas, amena0as, etc. !ns ruc or. El instructor es responsable de monitorear el rendimiento de pilotos, as2 como de iniciar situaciones de entrenamiento #previamente contempladas o introducidas por el instructor(. Cuenta conuna consola para monitorear las actividades, introducir *unciones err neas " controlar el ambiente.

0S"AD#S D0 070C$C!%N
4n simulador de vuelos tiene di*erentes estados. 8perando #*uncionamiento normal( Con*i!uraci n #se reali0an cambios
entrenamiento(

la

sesi n

de

1etener #detiene la simulaci n( =epetici n #usado para demostrar a la tripulaci


que reali0 durante la simulaci n(

n que *ue lo

PR#'/0MAS

9. Los costos para pruebas, cambios " eliminaci n de errores e'ceden los costos de desarrollo. :. No es clara la planeaci n entre la estructura de so*t5are " la estructura de los simuladores.

S#/$C!%N

2ontroles de 2abina

+e$culo %!reo

'esplegados en cabina

.ist. +isual

.ist. de movimiento

/0-1*L%2-3 4

%mbiente

.ist. %uditivo

,stacin del -nstructor

7odelo de =e*erencia para el Simulador de Vuelos

"ra amien o del "iempo


E'isten dos maneras de controlar el tiempo en un simulador de vuelos. Control Peri dico.
Tiene un quantum *i$o. 4na simulaci n ser) capa0 de mantener el tiempo de simulaci n " el tiempo real sincroni0ados tanto como cada proceso pueda avan0ar su estado al si!uiente periodo.

Control .asado en Eventos.


A!re!a un evento a la cola de eventos. 7ientras -a"a eventos, ele!ir el evento que ten!a menor tiempo de simulaci n, se establece el tiempo del evento seleccionado " se invoca el proceso para dic-o evento.

Pa rn de la Ar+ui ec ura del Modelo 0s ruc ural


Los componentes de dic$o modelo al nivel ms general son5 La parte de E$ecuci n.
7ane$a la coordinaci n de la sincroni0aci n entre procesos, la administraci n de eventos, inte!ridad " compartimiento de datos.

La parte de Aplicaci n. 7ane$a

el c)lculo de la simulaci n del vuelo. Sus *unciones son implementadas por los subsistemas " sus -i$os.

Mdulos del Modelo de 0jecucin

Sincroni0ador del Tiempo Secuenciador peri dico 7ane$ador de Eventos Sustituto

Mdulos del Modelo de Aplicacin

Controlador de Subsistemas
1asa datos para y desde otras instancias controladores de subsistemas y a sus $ijos. de

Controlador de -i$os de los Subsistemas


1asa datos solamente para y desde sus padres. 1ueden inicializarse con alg6n valor particular pueden producir salidas anormales o reflejar una condicin de malfuncionamiento.

Descomposicin de @rupos y de Sis emas

La descomposicin ms general del modelo es el grupo los grupos se descomponen en sistemas y los sistemas se descomponen en subsistemas. ,stos 6ltimos proveen las instancias para los controladores de los subsistemas . *so de &ablas n%Cuadros. 7tiles para capturar la entrada y salida de un mdulo

Das könnte Ihnen auch gefallen