You are on page 1of 21

UNIDAD 1 - PASO 2 - INGENIERÍA Y GESTIÓN DE REQUISITOS

ANDRES DAVID LEÓN


YOHAN STIVEN RAMOS
DAVID MAURICIO ROJAS ORTIZ
ANDERSON JULIAN PINILLA GOMEZ

TUTOR:
MOISES DE JESUS RODRIGUEZ

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA VICERRECTORÍA


ACADÉMICA Y DE INVESTIGACIÓN
DISEÑO DE SISTEMAS
2018
INTRODUCCIÓN

Los continuos avances en la Informática y las Telecomunicaciones están haciendo cambiar la


forma en la que se desarrollan actualmente las aplicaciones software. En particular, el incesante
aumento de la potencia de los ordenadores personales, el abaratamiento de los costes del
hardware y las comunicaciones, y la aparición de redes de datos de cobertura global han
disparado el uso de los sistemas abiertos y distribuidos. Esto ha provocado, entre otras cosas, que
los modelos de programación existentes se vean desbordados, siendo incapaces de manejar de
forma natural la complejidad de los requisitos que se les exigen para ese tipo de sistemas.
Comienzan a aparecer por tanto nuevos paradigmas de programación, como pueden ser la
coordinación, la programación orientada a componentes, o la movilidad, que persiguen una
mejora en los procesos de construcción de aplicaciones software. En ellos se trabaja tanto en
extensiones de los modelos existentes como en nuevos modelos, en la estandarización de sus
interfaces y servicios, y la pertinaz búsqueda del cada vez m ́as necesario mercado global de
componentes software. Estos son parte de los nuevos retos con los que se enfrenta actualmente la
ingeniería del software.
METAS

 Proporcionar detalles sobre la arquitectura del software, las estructuras de datos, las
interfaces y los componentes necesarios para implementar el sistema.

 Desarrollar el diseño para un sistema de información o software de calidad del producto.

 Identifique las diferentes representaciones de un software tomando como características


de resistencia, funcionalidad y belleza.
SOLUCIÓN DE PUNTOS PROPUESTOS

1. Cuando se “escribe” un programa, ¿se diseña software? ¿En qué difieren el diseño de
software y la codificación?

EL diseño es lo que la gran mayoría de ingenieros se propone realizar; es el lugar de la


creatividad, los requerimientos de los participantes, Las necesidades de la compañía y las
consideraciones técnicas, todo esto se une para formular un producto o sistema. Esto es
desarrollado gracias a los ingenieros de software. En su defecto la codificación hace referencia al
proceso de sistematización y estructuración de datos, signos e información que inicia
estableciendo una serie de normas y criterios de este modo permite la formulación y
comprensión de mensajes.

2. ¿Cómo se evalúa la calidad del diseño del software?

La calidad del software es el conjunto de cualidades que lo caracterizan y que determinan su


utilidad y existencia; grado con el que un sistema, proceso que cumple los requisitos funcionales
y las necesidades del usuario; al no ser físico el software su medición se hace compleja, es difícil
medir su función por lo tanto los procesos para manejar y supervisar. por esto encontramos
aspectos o propiedades para evaluarlo como ciertas propiedades de calidad, características
operativas, la capacidad que tenga para soportar cambios y la adaptabilidad a nuevos entornos.

3. Dé ejemplos de tres abstracciones de datos y de las abstracciones de procedimiento que


se usan para manipularlas.

Ejemplo 1: Abstracción de datos “Televisor” con sus atributos selector de cambios, video, audio
con su abstracción de procedimiento “Encender” que implica una secuencia de pasos del
procedimiento como caminar hacia el televisor, llegar y presionar el botón de
encendido/apagado.
Ejemplo 2: Abstracción de datos “Coche” con sus atributos color, el modelo o la marca con su
abstracción de procedimiento “Ponerse en marcha” que implica una secuencia de pasos del
procedimiento como caminar hacia el coche, llegar, pisar el freno para asegurar el vehículo, pisar
el clutch para preparar el carro para recibir primer cambio en la palanca, asegurarse de que la
palanca esté en neutra, encender el motor y quitar el freno de mano o de emergencias.

Ejemplo 3: Abstracción de datos “Puerta” con sus atributos tipo, dirección del abatimiento,
mecanismo de apertura, peso dimensiones, etc con su abstracción de procedimiento “Abrir” que
implica una secuencia larga de pasos del procedimiento como caminar hacia la puerta, llegar y
tomar el picaporte, girar éste y jalar la puerta, retroceder para que la puerta se abra, etc.

4. Describa con sus propias palabras la arquitectura de software.

Es la estructura de un programa, un conjunto organizado de componentes de este mismo. la


forma en la que éstos interactúan y la estructura de datos que utilizan. permite que el ingeniero
de software resuelva problemas de diseño comunes.

5. Sugiera un patrón de diseño que encuentre en una categoría de objetos cotidianos (por
ejemplo, electrónica de consumo, automóviles, aparatos, etc.). Describa el patrón en
forma breve.

Sugiero el patrón de diseño fabrica abstracta, Su objetivo principal es soportar múltiples


estándares que viene definidos por las diferentes jerarquías de herencia de objetos. con este
patrón se pueden crear diferentes familias de objetos. Además de estar orientado a combinar
productos.

6. ¿Cuándo debe implementarse un diseño modular como software monolítico? ¿Cómo se


logra esto? ¿El rendimiento es la única justificación para la implementación de software
monolítico?
Se debe implementar un diseño modular como software monolítico cuando una aplicación se
diseña para realizar una sola función, que sea autónoma, independiente de otras aplicaciones
computacionales. Se logra combinando la interfaz de usuario, la verificación, lógica de negocio y
acceso de datos en un solo programa de una plataforma única. Como justificación para
implementar software monolítico además del rendimiento es lo fácil de desarrollar y que es
eficiente, ya que se producen pocos cambios en el contexto.

7. ¿Cómo se relacionan los conceptos de acoplamiento y portabilidad del software? Dé


ejemplos que apoyen su punto de vista.

Para que el software sea portable es decir que el sistema sea fácil de implementar, cuando pasa
de una plataforma a otra; tiene que tener un acoplamiento mínimo aceptable donde la relación
entre módulos sea mínima. Ejemplos: un sistema operativo como Linux que tiene bajo
acoplamiento al ser un sistema monolítico por lo que es portable al poderse instalar en una
computadora de cualquier marca. Otro ejemplo es el navegador google chrome, que se puede
ejecutar en cualquier dispositivo con acceso a internet.

8. Describa en breves palabras cada uno de los cuatro elementos del modelo del diseño.
Diseño de datos, Diseño arquitectónico, Diseño de interfaces, Diseño a nivel de componente.

El diseño de datos se encarga de modelar las estructuras de datos que se necesitan para dar
soporte al software. Propiamente se creen las bases de datos y las relaciones entre las tablas.
En esta sección se hace uso de los diagramas de entidad to relación y del diccionario de datos.

El diseño arquitectónico tiene su origen en las especificaciones y requerimientos obtenidos en el


análisis, se trata de organizar las funciones que el sistema debe incorporar para cumplir con los
requisitos que se han solicitado, asimismo debe mostrar las relaciones entre el sistema, los
subsistemas y las interacciones con otros sistemas.
El diseño de la interfaz describe la forma como el sistema interactuar con el usuario más que la
apariencia del sistema.

El diseño a nivel de componente es una descripción procedimental de cada una de las partes que
fueron especificadas en el diseño arquitectónico.
La importancia de esta fase en el proceso de desarrollo se debe a que está en fase puede modelar
producto de calidad

9. Con el uso de la arquitectura de una casa o edificio como metáfora, establezca


comparaciones con la arquitectura del software. ¿En qué se parecen las disciplinas de
la arquitectura clásica y la del software? ¿En qué difieren?

En que podemos relacionar con la arquitectura de una casa con la arquitectura de software una
forma de verlo es que al momento de realizar una casa o edificio se tiene en cuenta la realización
de unos planos que se asemejan mucho al plano de un edificio donde se muestra la estructura del
software algo así como la estructura del edificio, también el funcionamiento y la interacción de
las partes.

10. De ejemplos de:


● Arquitecturas centradas en los datos.
-repositorio pasivo
-repositorio activo
-frameworks dinámicos
-partes dinámicas funcionales

● Arquitecturas de flujo de datos.


-cada filtro trabaja de manera independiente de los componentes que se encuentran situados
en ellas o antes o después de ellas.
-obtiene como resultado datos de salida en un formato especifico.

o Arquitecturas orientadas a objetos


-Aplicaciones básicas: sistemas desarrollados bajo cualquier estructura o geográficamente
dispersos y bajo cualquier figura de propiedad
- De exposición de funcionalidades: donde las funcionalidades de la capa explicativa son
expuestas en forma de servicios (generalmente como servicios web).
-De integración de servicios: facilitan el intercambio de datos entre elementos de la capa
aplicativa orientada a procesos empresariales internos o colaboración
-De composición de procesos: que define el proceso en términos del negocio y sus
necesidades y que varían en la función del negocio.
- De entrega: donde los servicios son desplegados a los usuarios finales.

o Arquitecturas en capas.
-aplicaciones de línea de negocios como (LOB) como contabilidad y sistemas de gestión de
gente.
-aplicaciones web corporativas y sitios web
-aplicaciones corporativas de escritorio o de clientes inteligentes con servidores centralizados
de aplicación con lógica de negocios.

11. Algunos de los estilos arquitectónicos citados en la pregunta 10, tienen naturaleza
jerárquica, mientras que otros no. Elabore una lista de cada tipo. ¿Cómo se
implementarían los estilos arquitectónicos que no son jerárquicos?

Naturaleza jerárquica NO jerárquicos


Arquitectura en capaz arquitectura de flujo de datos
Arquitectura orientada a objetos
Arquitectura centrada en los datos

Esta se aplica cuando los datos de entrada son transformados a través de una serie de
componentes computacionales o manipulativos en los datos de salida
12. . Los términos estilo arquitectónico, patrón arquitectónico surgen con frecuencia en
los análisis de la arquitectura del software. Investigue y describa en qué difiere cada
uno de ellos de los demás.

Los estilos arquitectónicos Cada estilo arquitectónico describe una categoría del sistema que
contiene: un conjunto de componentes, que realiza una función requerida por el sistema, un
conjunto de conectores que posibilitan la comunicación, la coordinación y la cooperación entre
los componentes; restricciones que definen como se puede integrar los componentes que forman
el sistema; y modelos semánticos que permiten al diseñador entender las propiedades globales de
un sistema para analizar las propiedades conocidas de sus partes constituyentes.
Los patrones arquitectónicos, o patrones de arquitectura, también llamados arquetipos ofrecen
soluciones a problemas de arquitectura de software en ingeniería de software. Dan una
descripción de los elementos y el tipo de relación que tienen junto con un conjunto de
restricciones sobre cómo pueden ser usados. Un patrón arquitectónico expresa un esquema de
organización estructural esencial para un sistema de software, que consta de subsistemas, sus
responsabilidades e interrelaciones. En comparación con los patrones de diseño, los patrones
arquitectónicos tienen un nivel de abstracción mayor.
Aunque un patrón arquitectónico comunica una imagen de un sistema, no es una arquitectura
como tal. Un patrón arquitectónico es más un concepto que captura elementos esenciales de una
arquitectura de software. Muchas arquitecturas diferentes pueden implementar el mismo patrón y
por lo tanto compartir las mismas características. Además, los patrones son a menudo definidos
como una cosa estrictamente descrita y comúnmente disponible. Por ejemplo, la arquitectura en
capas es un estilo de llamamiento-y-regreso, cuando define uno un estilo general para
interaccionar. Cuando esto es descrito estrictamente y comúnmente disponible, es un patrón.
Uno de los aspectos más importantes de los patrones arquitectónicos es que encarnan diferentes
atributos de calidad. Por ejemplo, algunos patrones representan soluciones a problemas de
rendimiento y otros pueden ser utilizados con éxito en sistemas de alta disponibilidad. A
primeros de la fase de diseño, un arquitecto de software escoge qué patrones arquitectónicos
mejor ofrecen las calidades deseadas para el sistema.

13. Seleccione una aplicación con la que esté familiarizado. Responda:


Control. ¿Cómo se administra el control dentro de la arquitectura? ¿Existe una jerarquía de
control distinta?
Datos. ¿Cómo se comunican los datos entre los componentes? ¿El flujo de datos es continuo o
los objetos de datos pasan al sistema en forma esporádica?

Servicios de automatización de Word es una aplicación de servicio de SharePoint Server 2010


que tiene tres componentes de arquitectura únicos:
 El modelo de objetos.
 La cola de documentos.
 El motor de Servicios de automatización de Word.
No existe una jerarquía de control distinta.
Se comunican mediante sub sistemas que intercambian la información de las acciones que se
quieren realizar y el flujo de datos es continuo.

14. En ocasiones resulta difícil definir el término componente. Primero dé una definición
general y luego otras más explícitas para el software orientado a objetos y para el
tradicional. Por último, elija tres lenguajes de programación con los que esté
familiarizado e ilustre la manera en la que cada uno define un componente.

DEFINICIÓN DECOMPONENTE

Componente es aquello que forma parte de la composición de un todo. Se trata de elementos que,
a través de algún tipo de asociación o contigüidad, dan lugar a un conjunto uniforme. Por
ejemplo: “Un pequeño motor, un reloj y un mecanismo electrónico son los componentes de este
aparato”.
El software orientado a objetos se compone, como su nombre indica, de objetos. Los objetos son
entidades que tienen un determinado estado, comportamiento (métodos) e identidad:
El estado está compuesto de datos o informaciones; serán uno o varios atributos a los que se
habrán asignado unos valores concretos (datos).
El comportamiento está definido por los métodos a los que responde dicho objeto, es decir, qué
operaciones puede realizar.
La identidad es una propiedad de un objeto que lo diferencia del resto; incluso de los de su
misma clase.
Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos
pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores
bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interacción
llamados métodos, que favorecen la comunicación entre ellos. Esta comunicación favorece a su
vez el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades
indivisibles, en las que no se separa el estado y el comportamiento.

Se conoce como software1 al soporte lógico de un sistema informático, que comprende el


conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas
específicas, en contraposición a los componentes físicos que son llamados hardware. La
interacción entre el software y el hardware hace operativo un ordenador (u otro dispositivo), es
decir, el Software envía instrucciones que el Hardware ejecuta, haciendo posible su
funcionamiento.
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas, tales como
el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición
de textos; el llamado software de sistema, tal como el sistema operativo, que básicamente
permite al resto de los programas funcionar adecuadamente, facilitando también la interacción
entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el
usuario.

15. ¿Por qué los componentes de control en el software tradicional son necesarios y por
qué generalmente no se requieren en el orientado a objetos?

El tratamiento de estas situaciones es lo que ha hecho ver la necesidad de nuevos modelos, pues
la programación tradicional se ha visto incapaz de tratarlos de una forma natural. Así, la
Programación Orientada a Objetos (POO) ha sido el sustento de la ingeniería del software para
los sistemas cerrados. Sin embargo, se ha mostrado insuficiente al tratar de aplicar sus técnicas
para el desarrollo de aplicaciones en entornos abiertos. En particular, se ha observado que no
permite expresar claramente la distinción entre los aspectos computacionales y meramente
composicionales de la aplicación, y que hace prevalecer la visión de objeto sobre la de
componente, estos últimos como unidades de composición independientes de las aplicaciones.
Asimismo, tampoco tiene en cuenta los factores de mercadotecnia necesarios en un mundo real,
como la distribución, adquisición e incorporación de componentes a los sistemas.

A partir de estas ideas nace la programación orientada a componentes (POC) como una extensión
natural de la orientación a objetos para los entornos abiertos [Nierstrasz, 1995][Szyperski y
Pfister, 1997]. Este paradigma propugna el desarrollo y utilización de componentes reutilizables
dentro de lo que sería un mercado global de software.

Sin embargo, disponer de componentes no es suficiente tampoco, a menos que seamos capaces
de reutilizarlos. Y reutilizar un componente no significa usarlo m ́as de una vez, sino que implica
la capacidad del componente de ser utilizado en contextos distintos a aquellos para los que fue
diseñado. En este sentido, uno de los sueños que siempre ha tenido la ingeniería del software es
el de contar con un mercado global componentes, al igual que ocurre con otras ingenierías, o
incluso con el hardware. De hecho, la analogía con los circuitos integrados (IC) llegó a poner de
moda los términos software IC, software bus y software backplane, aunque nunca se haya podido
llegar m ́as allá de la definición de estos conceptos.

Para hablar de la existencia de un mercado de componentes software es necesario que los


componentes estén empaquetados de forma que permitan su distribución y composición con
otros componentes, especialmente con aquellos desarrollados por terceras partes. Esto nos lleva a
la definición de componente:

“Un componente es una unidad de composición de aplicaciones software, que posee un con-
junto de interfaces y un conjunto de requisitos, y que ha de poder ser desarrollado, adquirido,
incorporado al sistema y compuesto con otros componentes de forma independiente, en tiempo y
espacio” [Szyperski, 1998].
16. Investigar los tipos de cohesión y tipos de acoplamiento.

COHESIÓN
Medida del grado de identificación de un modulo con una función concreta.

Cohesión aceptable (fuerte)

COHESIÓN FUNCIONAL: (un modulo realiza una única acción).

COHESIÓN SECUENCIAL: (un modulo contiene acciones que han de realizarse en un orden
particular sobre unos datos concretos).

COHESIÓN DE COMUNICACIÓN: (un modulo contiene un conjunto de operaciones que se


realizan sobre los mismos datos).

COHESIÓN TEMPORAL: (las operaciones se incluyen en un modulo porque han de realizarse


al mismo tiempo; p.ej. inicialización).

Cohesión inaceptable (débil)

COHESIÓN PROCEDURAL: (un modulo contiene operaciones que se realizan en un orden


concreto aunque sean independientes).

COHESIÓN LÓGICA: (cuando un modulo contiene operaciones cuya ejecución depende de un


parámetro: el flujo de control del modulo es lo único que une a las operaciones que lo forman).

COHESIÓN COINCIDENTAL: (cuando las operaciones de un modulo no guardan ninguna


relación observable entre ellas).

ACOPLAMIENTO
Medida de la interacción de los módulos que constituyen un programa.

Niveles de acoplamiento (de mejor a peor):


ACOPLAMIENTO DE DATOS: (acoplamiento normal): Todo lo que comparten dos módulos
se especifica en la lista de parámetros del módulo invocado.

ACOPLAMIENTO DE CONTROL: Cuando un módulo pasa datos que le indican a otro qué
hacer (el primer módulo tiene que conocer detalles internos del segundo).

ACOPLAMIENTO EXTERNO: Cuando dos módulos utilizan los mismos datos globales o
dispositivos de E/S (p.ej. ficheros).

Si los datos son de sólo lectura, el acoplamiento se puede considerar aceptable. No obstante, en
general, este tipo de acoplamiento no es deseable porque la conexión existente entre los módulos
no es visible (de forma explícita).

ACOPLAMIENTO PATOLÓGICO: Cuando un módulo utiliza el código de otro o altera sus


datos locales (“acoplamiento de contenido”).

Los lenguajes estructurados incluyen reglas para el ámbito de las variables que impiden este tipo
de acoplamiento.
Los lenguajes orientados a objetos incluyen modificadores de visibilidad para evitar este tipo de
acoplamiento.

17. ¿Qué es un componente de la aplicación web?

Todas las aplicaciones de base de datos basadas en la web tienen tres componentes primarios: un
navegador web (o cliente), un servidor de aplicaciones web y un servidor de bases de datos.

Las aplicaciones de base de datos basadas en la web se basan en un servidor de bases de datos,
que proporciona los datos para la aplicación. El servidor de bases de datos a veces también
proporciona lógica empresarial en forma de procedimientos almacenados. Los procedimientos
almacenados pueden proporcionar ventajas de rendimiento significativas, en especial en una
arquitectura de varios niveles. Además de servidores de bases de datos, otros componentes del
sistema de información empresarial incluyen bases de datos de IMS, mensajes de WebSphere
MQ y registros de CICS.

Los clientes manejan la lógica de presentación, que controla el modo en que los usuarios
interactúan con la aplicación. En algunos casos, el cliente valida la entrada proporcionada por el
usuario. Las aplicaciones web a veces integran applets Java en la lógica del cliente para mejorar
el nivel de presentación.

Applet
Programa Java que forma parte de una página HMTL (Hypertext Markup Language). (HTML es
el método estándar para presentar datos web a los usuarios.) Los applets funcionan con
navegadores habilitados para Java como, por ejemplo, Microsoft Internet Explorer; se cargan
cuando se procesa la página HTML.
Los servidores de aplicaciones web gestionan la lógica empresarial. La lógica empresarial,
generalmente escrita en Java, da soporte a aplicaciones de varios niveles. El servidor de
aplicaciones web puede gestionar peticiones de varios clientes remotos. El nivel de aplicación
web puede incluir archivos JSP (JavaServer Pages), servlets Java, componentes de Enterprise
JavaBeans (EJB) o servicios web.

JSP
Tecnología que proporciona un modo coherente para ampliar la funcionalidad del servidor web y
crear contenido web dinámico. Las aplicaciones web que se desarrollan con tecnología JSP son
independientes del servidor y la plataforma.

Servlet
Programa Java que responde a las solicitudes de cliente y genera respuestas dinámicamente.

EJB
Arquitectura de componentes para crear aplicaciones distribuidas con el modelo de
programación de Java. Los componentes de transacciones de servidor se pueden volver a utilizar
y proporcionan portabilidad entre servidores de aplicaciones.
Servicios Web
Aplicaciones modulares independientes que proporcionan una interfaz entre el proveedor y el
consumidor de recursos de aplicaciones. Puede leer más sobre servicios web más adelante en
esta información.

18. Todos los lenguajes de programación modernos implementan construcciones de


programación estructurada. Dar ejemplos de tres lenguajes de programación.

Lenguaje Principal área de aplicación Compilado/interpretado

ADA Tiempo real Lenguaje compilado

BASIC Programación para fines educativos Lenguaje interpretado

C Programación de sistema Lenguaje compilado

C++ Programación de sistema orientado a objeto Lenguaje compilado

Cobol Administración Lenguaje compilado

Fortran Cálculo Lenguaje compilado

Java Programación orientada a Internet Lenguaje intermediario

MATLAB Cálculos matemáticos Lenguaje interpretado

Cálculos matemáticos Cálculos matemáticos Lenguaje interpretado

LISP Inteligencia artificial Lenguaje intermediario

Pascal Educación Lenguaje compilado

PHP Desarrollo de sitios web dinámicos Lenguaje interpretado

Inteligencia artificial Inteligencia artificial Lenguaje interpretado

Perl Procesamiento de cadenas de caracteres Lenguaje interpretado


19. Seleccione un pequeño componente codificado e ilustrado con 1) un diagrama de actividad,
2) un diagrama de flujo, 3) una tabla de decisiones y 4) LDP.

Codificador de video: La codificación de video sirve para convertir señales de video analógico a
señales de video digital. La mayoría de codificadores comprimen la información para que pueda ser
almacenada o transmitida ocupando el mínimo espacio posible.

Codificador MPEG Moving Picture Experts Group: es el nombre de un grupo de estándares


de codificación de audio y vídeo normalizados por el grupo MPEG (Moving Picture Experts
Group). MPEG-1 vídeo se utiliza en el formato Video CD.

Diagrama de Actividades

Codificador MPGE

Encender el equipo

Instalar el formato
MPEG si no lo tiene.

Seleccionar el archivo
del video o audio.

Reproducción del
video o audio.
Diagrama de flujo

Entrada Muestras PCM Cuantificación Bitstream


Empaquetado
v de audio y codificado codificado

Modelo
Psicoacustico

Tabla de decisiones

Decisión SI NO
Codificador de video x
Codificador de audio x
Codificador de documentos x
Codificador de videos x
largos.
Codificador de audios x
cortos

20. ¿Por qué es importante la "subdivisión" en el proceso de revisión de diseño a nivel de


componente?

Estas subdivisiones, buscando una analogía con la programación informática, como subrutinas
encadenadas de las que se sale cuando todas las partes de un componente están resueltas
(segundo nivel) y cuando todos los componentes de un subsistema se han proyectado (en el
primer nivel). Cada uno de estos niveles comprende un conjunto de actividades encaminado a
resolver problemas cada vez más específicos a medida que desciende el nivel.
CONCLUSIONES

Esta actividad fue de gran importancia para enriquecer nuestros conocimientos, ya se pudimos
adquirir investigar y dar respuestas a preguntas relacionadas con la parte de sistemas, y nos lleva
a conocer temas en los cuales escaseaba el conocimiento, este aprendizaje nos ayudara en nuestra
carrera y en la vida laboral.
BIBLIOGRAFIA

 Ecured.(2018).estilos arquitectónicos. Recuperado de:


https://www.ecured.cu/Estilos_arquitect%C3%B3nicos

 Wikipedia.(12-sep-2018). Patrones de arquitectura. Recuperado de:


https://es.wikipedia.org/wiki/Patrones_de_arquitectura

 Sistemas umma. (2011). elementos de diseño. Recuperado de:


https://sistemasumma.com/2011/03/14/elementos-del-diseno/

 MEDINA,J.(2013).estilos arquitectónicos.SlideShare.Recuperado de:


https://es.slideshare.net/jonathanlopezmedina/estilos-arquitectnicos-22444434

 Julián Pérez Porto y Ana Gardey. Publicado: 2010. Actualizado: 2013.


Definiciones: Definición de componentes. Recuperado de
https://definicion.de/componentes/

 Torre,P.(2018).El paradigma del software orientado a objetos.indalics Recuperado de:


https://indalics.com/consultoria-informatica-estrategia-digital/software-orientado-objetos

 Wikipedia(14-may.2018).software. Recuperado de:


https://es.wikipedia.org/wiki/Software

 Microsoft.(2014).arquitectura de Word automation services.Recuperado de:


https://docs.microsoft.com/es-es/previous-versions/office/developer/sharepoint-
2010/ee556832(v%3Doffice.14)
 © Fernando Berzal, Recuperado de:
https://elvex.ugr.es/decsai/java/pdf/4D-cohesion.pdf

 IBM® IBM KNOWLEDGE CENTER. Componentes de aplicaciones basadas en la web.


https://www.ibm.com/support/knowledgecenter/es/SSEPEK_10.0.0/intro/src/tpc/db2z_co
mponentsofwebapplications.html

 IsraelCCM. (27 de marzo de 2017)


https://es.ccm.net/contents/304-lenguajes-de-programacion

 Sols Rodriguez – Candela, A. (2014). Systems engineering: theory and practice.


Pontifical Comillas University Recuperado de:
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?ppg=136&docID=110
02046&tm=1499805437434

 Lidia Fuentes, Jos ́e M. Troya y Antonio Vallecillo Dept. Lenguajes y Ciencias de la


Computaci ́on. Universidad de M ́alaga. ETSI Inform ́atica. Campus Teatinos, s/n. 29071
M ́alaga, Spain.
http://www.lcc.uma.es/~av/Docencia/Doctorado/tema1.pdf