UNIVERSIDAD AUTÓNOMA               GABRIEL RENE MORENOF A C U L T A D   D E   C I E N C I A S   E X A C T A S   Y   T E C ...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &FilterINDICEINTRODUCCION ______________________________...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &FilterINTRODUCCION               En este articulo vamos...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter                                                 ...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter1. ARQUITECTURA DE SOFTWARE    1.1. CONCEPTO     ...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &FilterGrafico 1 Arquitectura de Software2. ESTILO DE AR...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter        2.1.1. SECUENCIAL POR LOTES             E...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter                Filtros                Son entida...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter                Aplicación                    o C...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter                                                 ...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter3. CONVERTIDOR DE CADENA EN CÓDIGO    Para implem...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter                     Pipe                     El ...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter                            Alfanumerico         ...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter                                                 ...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter                     Diagrama de Clase           ...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter                     Diagrama de Secuencia       ...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter4. Bibliografía                                  ...
Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter    Libros:    Booch,    Grady.     Object-Orient...
Upcoming SlideShare
Loading in …5
×

Proyecto piper filter

427 views
292 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
427
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Proyecto piper filter

  1. 1. UNIVERSIDAD AUTÓNOMA GABRIEL RENE MORENOF A C U L T A D D E C I E N C I A S E X A C T A S Y T E C N O L O G Í A C A R R E R A I N G E N I E R I A E N S I S T E M A S ETILO DE ARQUITECTURA DE SOFTWARE PIPER & FILTER ESTUDIANTE: Deiby Wilson Pereyra Durán 200314688 MATERIA: Arquitectura de Software DOCENTE: Ing. Josué Veizaga O. Santa Cruz de la Sierra - Bolivia 2010
  2. 2. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &FilterINDICEINTRODUCCION ____________________________________________________________ 3Teoría ______________________________________________________________________ 41. ARQUITECTURA DE SOFTWARE________________________________________ 5 1.1. CONCEPTO ________________________________________________________ 52. ESTILO DE ARQUITECTURA____________________________________________ 6 2.1. ARQUITECTURA DE FLUJO DE DATOS ______________________________ 6 2.1.1. SECUENCIAL POR LOTES ______________________________________ 7 2.1.2. TUBOS & FILTROS _____________________________________________ 7 2.1.3. EJEMPLO______________________________________________________ 9Proyecto ___________________________________________________________________ 103. CONVERTIDOR DE CADENA EN CÓDIGO _______________________________ 11 Pipe_________________________________________________________________ 12 Filtro ________________________________________________________________ 12 Controlador __________________________________________________________ 13 Diagrama de Paquete __________________________________________________ 14 Diagrama de Clase ____________________________________________________ 15 Diagrama de Secuencia ________________________________________________ 16 o Diagrama de Secuencia :Controlador __________________________________ 164. Bibliografía ____________________________________________________________ 17TABLA DE CONTENIDOGrafico 1 Arquitectura de Software .............................................................................................. 6Grafico 2 Estilo Secuencial por Lotes ........................................................................................... 7Grafico 3 Estilo Tubos & Filtros ................................................................................................... 7Grafico 4 Compilador Moncha ...................................................................................................... 9Grafico 5 Descripción del Estilo Piper & Filter .......................................................................... 11 2
  3. 3. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &FilterINTRODUCCION En este articulo vamos a recordar breves conceptos sobre Arquitectura de Software ,también se va tomar en cuenta los diferentes Estilos de Arquitectura con mas énfasis en el Estilo de Arquitectura de Flujo de Datos , donde se encuentra el Estilo de Arquitectura Piper & Filter . 3
  4. 4. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter Teoría 4
  5. 5. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter1. ARQUITECTURA DE SOFTWARE 1.1. CONCEPTO Arquitectura es todo lo que necesitas conocer acerca de un sistema que no esta en el código (G. Booch) La arquitectura de software, tiene que ver con el diseño y la implementación de estructuras de software de alto nivel. Es el resultado de ensamblar un cierto número de elementos arquitectónicos de forma adecuada para satisfacer la mayor funcionalidad y requerimientos de desempeño de un sistema, así como requerimientos no funcionales, como la confiabilidad, escalabilidad, portabilidad, y disponibilidad.( Kruchten, Philippe) La Arquitectura del Software es el diseño de más alto nivel de la estructura de un sistema La Arquitectura de Software establece los fundamentos para que analistas, diseñadores, programadores, etc. trabajen en una línea común que permita alcanzar los objetivos del sistema de información, cubriendo todas las necesidades(Grafico1) Una Arquitectura de Software, también denominada Arquitectura lógica, consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construcción del software para un sistema de información. 5
  6. 6. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &FilterGrafico 1 Arquitectura de Software2. ESTILO DE ARQUITECTURA Generalmente, no es necesario inventar una nueva arquitectura de software para cada sistema de información. Lo habitual es adoptar una arquitectura conocida en función de sus ventajas e inconvenientes para cada caso en concreto. Así, las arquitecturas más universales son: • Arquitecturas de flujo de datos • Arquitecturas centradas en datos • Arquitecturas de llamada-retorno • Arquitecturas de componentes independientes • Estilos heterogéneos 2.1. ARQUITECTURA DE FLUJO DE DATOS La Arquitectura de Flujo de Datos se percibe como una sucesión de transformaciones que sufre una serie de datos de entrada a través del sistema. Los datos ingresan al sistema y fluyen a través de las componentes una a una hasta que se asignan a un destino final: salida o almacenamiento La Arquitectura de Software tiene dos sub-estilos: Secuencial por Lotes Tubos & Filtros 6
  7. 7. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter 2.1.1. SECUENCIAL POR LOTES Es la estructura típica de un sistema de procesamiento de datos tradicional por lotes (batch). Cada proceso se ejecuta completamente antes de comenzar la ejecución del siguiente. (Grafico2) Grafico 2 Estilo Secuencial por Lotes 2.1.2. TUBOS & FILTROS Enfatiza la transformación incremental de los datos a través de las sucesivas componentes. Esta asociado a flujos de datos I/O refinamientos sucesivos(Grafico 3). Una componente obtiene datos de sus entradas y produce flujos de datos de salida. Los conectores (pipes) sirven de conducto entre componentes (filtros). Grafico 3 Estilo Tubos & Filtros 7
  8. 8. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter Filtros Son entidades independientes, no comparten estados con otros filtros ,cada actividad es un filtro ,una actividad es la transformación de uno o mas flujo de datos de entrada en uno o en mas flujos de salida en forma incremental ,solamente se pueden comunicar a través de tuberías. Pipe Conexiones entre filtros. Sincroniza componentes activas ,la conexión la realizan de manera : conectan origen-filtro, filtro-filtro, filtro-destino Orígenes de Datos Es la Entrada del sistema, brinda una serie de datos al Sistema ejemplos: Archivo de Líneas o Sensor Salida de Datos Son los resultados que nos da el procesamiento del sistema Implementación Dividir las tareas en una secuencias de pasos de procesamiento ordenados, definiendo el formato de los datos que van ser transmitido a través de los pipe. Ventajas o Reutilización de los Filtro o Fácil mantenimiento o Independencia entre Filtro Desventaja o Inadecuados para aplicaciones Interactivas o Compartir información es cara (consume mucho recurso) o Ineficiencia en la conversión de los datos 8
  9. 9. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter Aplicación o Compiladores o Procesado de Señales o Procesamiento de datos 2.1.3. EJEMPLO Compilador Mocha o Los sucesivos filtros comparten un cierto estado: la tabla de símbolos. o No es una arquitectura Tubos y Filtros estricta. o La implementación es un único programa Grafico 4 Compilador Moncha 9
  10. 10. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter Proyecto 10
  11. 11. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter3. CONVERTIDOR DE CADENA EN CÓDIGO Para implementar este proyecto tome en cuenta el Estilo de Arquitectura de Software Pipe And Filter, por lo que este Estilo podía hacerse extremadamente simple y quedar muy útil para lo que pretendía hacer . Lo primero es entender el patrón Pipe and Filter. Este patrón se refiere a una cadena de filtros por los cuales pasa un mensaje (Contexto), desde el inicio al final. Cada uno de los filtros tiene acceso al contexto tanto de lectura como de escritura. Quien controla el armado y ejecución del Pipe es un Controlador. Este controlador lee de la configuración cuales son los filtros y su orden, los carga y le pasa el contexto al primero. Cuando el primero ejecuta le regresa el control al Controlador para que tome el Contexto y se lo pase al siguiente filtro.(Grafico 5 ) Entrada Salida Grafico 5 Descripción del Estilo Piper & Filter 11
  12. 12. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter Pipe El pipe es lo que se comparte entre los filtros. Los filtros tienen que compartir los pipe a los pipe lo ejecuta el Controlador para que el filtro se active. Pipe -l: LinkedList = new LinkedList() -Desarrollo: String = "" -dato: char = -frecuencia: int = 0 -codigo: String = "" -Cadena: String = "" +Pipe() +setL(l:LinkedList): void +getL(): LinkedList +setDesarrollo(desarrollo:String): void +getDesarrollo(): String +setDato(dato:char): void +getDato(): char +setFrecuencia(frecuencia:int): void +getFrecuencia(): int +setCodigo(codigo:String): void +getCodigo(): String +setCadena(cadena:String): void +getCadena(): String Filtro Los filtros componen el Pipe. Los filtros son los que se ponen a trabajar y cuando terminen de ejecutar regresan el mensaje al Controlador del Pipe. Entrada -Direccion: String -pipe1: Pipe = new Pipe() -L: LinkedList = new LinkedList() +Entrada() +leerArchivoTexto(): String +setDireccion(direccion:String): void +getDireccion(): String +DevolverMensaje(): Pipe 12
  13. 13. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter Alfanumerico -Vector: int[] -num: int = 0 -Lista: LinkedList +Alfanumerico(p:Pipe) +Caracteres(): void +DevolverMensaje(): Pipe Insertadores -Longitud: int -Lista: LinkedList -pipe3: Pipe = new Pipe() +Insertadores(p:Pipe) +Insertar(): void +Ordenar(): void +DevolverMensaje(): Pipe +Mostrar(): void +main(args:String[]): void Generador -Lista1: LinkedList -Lista: LinkedList -cant: int +Generador(p:Pipe) +Generar(): void +DevolverMensaje(): Pipe Codificador -Cadena: String -lista: LinkedList -Longitud: int +Codificador(p:Pipe) +Codificar(): void +DevolverMensaje(): Pipe Controlador El controlador es el director de orquesta de este patrón, toma desde la configuración cuales son los filtros que debe cargar y en qué orden. Cuando inicia empieza en el primer filtro ejecutando sus método y así sucesivamente pasa al siguiente hasta terminar 13
  14. 14. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter PipeControlador -entrada: Entrada -alfanumerico: Alfanumerico -generador: Generador -codificador: Codificador -pipe: Pipe = new Pipe() -salida: Salida -m: String = "" +PipeControlador(s:String) +GuardarArchivo(): void +main(args:String[]): void Diagrama de Paquete Pipe -l: LinkedList = new LinkedList() -Desarrollo: String = "" -dato: char = -frecuencia: int = 0 -codigo: String = "" -Cadena: String = "" +Pipe() +setL(l:LinkedList): void +getL(): LinkedList +setDesarrollo(desarrollo:String): void +getDesarrollo(): String +setDato(dato:char): void +getDato(): char +setFrecuencia(frecuencia:int): void +getFrecuencia(): int +setCodigo(codigo:String): void +getCodigo(): String +setCadena(cadena:String): void +getCadena(): String pipe1 pipe5 pipe3 pipe4 pipe pipe2 Entrada Insertadores Generador Codificador Salida -Direccion: String Alfanumerico -Longitud: int -pipe1: Pipe = new Pipe() -Lista: LinkedList -Lista1: LinkedList -Cadena: String -Nombre: String = "" -L: LinkedList = new LinkedList() -Vector: int[] -pipe3: Pipe = new Pipe() -Lista: LinkedList -lista: LinkedList -Dato: String = "" -num: int = 0 -cant: int +Entrada() +Insertadores(p:Pipe) -Longitud: int -Data: String = "" -Lista: LinkedList +leerArchivoTexto(): String +Insertar(): void +Generador(p:Pipe) +Codificador(p:Pipe) +Salida() +setDireccion(direccion:String): void +Alfanumerico(p:Pipe) +Ordenar(): void +Generar(): void +Codificar(): void +guardarTexto(fname:String, data:String): void +getDireccion(): String +Caracteres(): void +DevolverMensaje(): Pipe +DevolverMensaje(): Pipe +DevolverMensaje(): Pipe +guardarArchivo(fname:String, cad:String): void +DevolverMensaje(): Pipe +DevolverMensaje(): Pipe +Mostrar(): void +main(args:String[]): void +main(args:String[]): void alfanumerico generador Insertador codificador entrada salida PipeControlador -entrada: Entrada -alfanumerico: Alfanumerico -generador: Generador -codificador: Codificador -pipe: Pipe = new Pipe() -salida: Salida -m: String = "" -Insertador: Insertadores +PipeControlador(s:String) 14 +GuardarArchivo(): void +main(args:String[]): void
  15. 15. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter Diagrama de Clase 15
  16. 16. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter Diagrama de Secuencia o Diagrama de Secuencia :Controlador 16
  17. 17. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter4. Bibliografía 17
  18. 18. Arquitectura de SoftwareEstilos de Arquitectura de Software Piper &Filter Libros: Booch, Grady. Object-Oriented Analysis and Design. Second Edition. Benjamin/Cummings, Redwood: 1994 Kruchten, Philippe. "Architectural Blueprints--The 4+1 View Model of Software Architecture". IEEE Software, Institute of Electrical and Electronics Engineers. November 1995, pp. 42-50. Zapata Sanchez, Andres felipe. Arquitectura de Software www.fi.uba.ar www: http://es.wikipedia.org/wiki/Arquitectura_en_pipeline_%28inform%C3%A1tica%2 9 http://www.willydev.net/InsiteCreation/v1.0/descargas/prev/estiloypatron.pdf http://www.fing.edu.uy/inco/cursos/tsi/TSI1/2010/teorico/01-Arquitectura-de- software.pdf http://www.fing.edu.uy/inco/cursos/eci/proy/sastre_etcheverry.pdf http://www.google.com.bo/search?client=firefox-a&rls=org.mozilla%3Aes- ES%3Aofficial&channel=s&hl=es&source=hp&q=estilo+de+arquitectura+pipeline &meta=&btnG=Buscar+con+Google http://jgarzas.googlepages.com/JGarzas_Arquitecturas_Software.pdf http://www.lcc.uma.es/~av/misConfs/ASyMT-CIII.ppt http://www.indicart.com.ar/~sase/Procesadores%20- %20Arquitecturas%20y%20Tecnologias.pdf http://www.fing.edu.uy/inco/cursos/tsi/TSI1/2010/teorico/01-Arquitectura-de- software.pdf http://www.lcc.uma.es/~av/misConfs/p1-arquitecturas.ppt http://kuainasi.ciens.ucv.ve/ingenieria_software2/download/IS-Clase6- Arquitectura%20de%20sw.ppt http://carlosreynoso.com.ar/workshop-de-arquitectura-de-software 18

×