Arquiecturas de SW
Arquiecturas de SW
Arquiecturas de SW
Documento presentado a:
Ingeniero Wilson Libardo Pantoja Yépez
En la materia, Laboratorio de Ingeniería de Software II
Presentado por:
Jhayber Esneider Melo Estrella
Oscar Yovany Chauza Narváez
Imagen 1
3. Estilos Arquitectónicos
Tuberías y filtros
Es el estilo que se definió más temprano y el que puede identificarse topológica, procesual y
taxonómicamente con menor ambigüedad.
Ha prevalecido el nombre de tubería-filtros por más que se sabe muy bien que los llamados filtros
no realizan forzosamente tareas de filtrado, como ser eliminación de campos o
registros, sino que ejecutan formas variables de transformación, una de las cuales puede ser el
filtrado.
Una tubería (pipeline) es una arquitectura que conecta componentes computacionales (filtros) a
través de los conectores (pipes) y las comunicaciones se ejecutan como un flujo. Los datos se
transportan a través de las tuberías entre los filtros, transformando gradualmente las entradas en
salidas.
El sistema tubería-filtros se percibe como una serie de transformaciones sobre sucesivas piezas
de los datos de entrada. Los datos entran al sistema y fluyen a través de los componentes.
La aplicación típica del estilo es un procesamiento clásico de datos: el cliente hace un
requerimiento; el requerimiento se valida; un Web Service toma el objeto de la base de datos; se
lo convierte a HTML; se efectúa la representación en pantalla. El estilo tubería-filtros propiamente
dicho enfatiza la transformación incremental de los datos por sucesivos componentes. El caso
típico es la familia UNIX de Sistemas operativos, pero hay otros ejemplos como la secuencia de
procesos de los compiladores (sobre todo los más antiguos), el tratamiento de documentos XML
como ráfaga en SAX.
Modelo Vista Controlador (MVC)
Modelo Vista Controlador (MVC) es un estilo de arquitectura de software usado principalmente
en aplicaciones que manejan gran cantidad de datos y transacciones complejas donde se
requiere una mejor separación de conceptos para que el desarrollo esté estructurado de una
mejor manera, para ello se separa los datos de una aplicación, la interfaz de usuario, y la lógica
de control en tres componentes distintos.
Se trata de un modelo muy maduro y que ha demostrado su validez a lo largo de los años en
todo tipo de aplicaciones, y sobre multitud de lenguajes y plataformas de desarrollo.
● El Modelo que contiene una representación de los datos que maneja el sistema, su lógica
de negocio, y sus mecanismos de persistencia.
● La Vista, o interfaz de usuario, que compone la información que se envía al cliente y los
mecanismos interacción con éste.
● El Controlador, que actúa como intermediario entre el Modelo y la Vista, gestionando el
flujo de información entre ellos y las transformaciones para adaptar los datos a las
necesidades de cada uno.
● Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).
● Contiene reglas de gestión de eventos, del tipo "SI Evento Z, entonces Acción W". Estas
acciones pueden suponer peticiones al modelo o a las vistas. Una de estas peticiones a
las vistas puede ser una llamada al método "Actualizar()". Una petición al modelo puede
ser "Obtener_tiempo_de_entrega ( nueva_orden_de_venta )".
Las vistas se encargan de: Recibir datos del modelo y los muestra al usuario.
4. Según la página del DANE, el censo de población y vivienda realizado en 2018, consistió en
contar y caracterizar las personas residentes en Colombia, así como las viviendas y los hogares
del territorio nacional.
¿Como se realiza?
El censo nacional, abarcó la totalidad del territorio nacional, correspondiente a 32 departamentos,
1.101 municipios, 20 áreas no municipalizadas y el Archipiélago de San Andrés, Providencia y
Santa Catalina. Para esta ocasión los métodos utilizados fueron:
Electrónico: Corresponde a la recolección de información mediante el diligenciamiento del
cuestionario censal a través de la interacción con una aplicación web, directamente por la fuente
primaria.
Barrido: Consiste en realizar un recorrido sistemático de la totalidad de las unidades de
observación asignadas en un área de trabajo, regresando periódicamente al centro operativo
municipal a entregar información y los reportes diarios del personal de censista en campo.
Ruta: Consiste en recoger la información a través del personal de censistas en campo, sobre un
recorrido estructurado a lo largo de un río y sus afluentes; o vías con sus caminos y senderos,
generando un área de influencia en la cual se encuentra localizada la población. Este método se
caracteriza por la permanencia en el área de trabajo del personal de censistas en campo, hasta
la finalización del recorrido.
Mixto: Se refiere a la recolección de la información a través del personal de censistas en campo,
aplicando de manera combinada tanto el método de barrido como de ruta, en municipios
caracterizados por condiciones diferenciales de acceso a los territorios donde se asienta la
población residente en el área rural disperso.
¿Qué información debe arrojar?
A través del censo, el país obtiene datos de primera mano sobre el número de habitantes, su
distribución en el territorio y sus condiciones de vida.
Un censo permite generar información estadística a partir de los datos obtenidos, con lo que
diferentes organismos públicos y privados pueden tomar decisiones de política pública, de
desarrollo económico, bienestar social, empleo, vivienda, salud, migración, entre otros.
¿Qué atributos de calidad debe tener?
Pensamos que algunos de los atributos que debería tener un desarrollo de software de un censo
son:
● La seguridad debe ser uno de los atributos más importantes, ya que se va a tratar la
información de toda la población colombiana,
● Usabilidad, ya que el sistema será utilizado por varias personas las cuales son las
encargadas de realizar el censo a nivel nacional.
● Facilidad de mantenimiento, ya que en un futuro debe poder evolucionar para adaptarse
a nuevas necesidades de un nuevo censo.
● Eficiencia en ejecución, ya que será un sistema en el que interactúan muchos usuarios al
mismo tiempo.
● Tenga integridad, que los resultados que arroje sean correctos con un alto grado de
exactitud.
¿Considera que alguna de las arquitecturas estudiadas sería útil para esta tarea?
Consideramos que la arquitectura Modelo Vista Controlador (MVC) es la más apropiada útil para
esta tarea, ya que conociendo que se deben manejar una gran cantidad de datos esta
arquitectura nos permite tener una mejor organización, separando así las funciones de la
aplicación en modelos, vistas y controladores lo que permite que una aplicación sea ligera. Para
este caso, esta característica nos parece muy importante, ya que como se mencionaba
anteriormente el sistema será utilizado por varias personas al mismo tiempo, ya que el censo se
lleva a cabo en unos días específicos en todo el país. Además, desde el 2018 el DANE
implementó una nueva forma de realizar el censo, a través de eCenso, por lo que el sistema debe
ser soportado en la WEB, y con la arquitectura MVC se podrá trabajar de una forma más rápida.
REFERENCIAS
• https://platzi.com/blog/que-es-arquitectura-de-software/
• https://cgrw01.cgr.go.cr/rup/RUP.es/SmallProjects/core.base_rup/roles/rup_software_ar
chitect_DB0BF177.html
• https://medium.com/@maniakhitoccori/los-10-patrones-comunes-de-arquitectura-de-
software-d8b9047edf0b
• https://si.ua.es/es/documentacion/asp-net-mvc-3/1-dia/modelo-vista-controlador-
mvc.html
• http://carlosreynoso.com.ar/archivos/arquitectura/Estilos.PDF
• http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/122
• https://www.dane.gov.co/index.php/estadisticas-por-tema/demografia-y-
poblacion/censo-nacional-de-poblacion-y-vivenda-2018