Está en la página 1de 20

PASO 2

CUESTIONARIO

JOHANNA STELLA MURCIA ARCHILA COD 52840313

JULIE FERNANDA MONTEALEGRE COD

GRUPO COLABORATIVO

301309A_7

TUTOR

MOISÉS DE JESÚS RODRÍGUEZ

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD).


ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERA
INGENIERIA SISTEMAS
BOGOTA
2018.
INTRODUCCIÓN

El diseño de sistemas permite realizar proceso de examinar la situación de una


empresa, con el propósito de mejorar con métodos y procedimientos más adecuados, con un
conjunto de elementos organizados para llevar a cabo algunos métodos, procedimientos o
control mediante el proceso de información.

Todas las preguntas desarrolladas, permiten conocer la definición de cada concepto


necesario en el diseño de sistemas.
OBJETIVOS DE LA ACTIVIDAD

- Conocer definiciones de diseño de sistemas, de manra que se puedan aplicar en el


momento de implementación de software

- Proporcionar detalles sobre arquitectura del software, estructuras de datos,


interfaces y componentes que se necesitan para implementar el sistema

- Identificar didstintas representaciones de un software tomando como


caractarísticas la resistencias, la funcionalidad y la belleza
SOLUCIÓN PUNTOS PROPUESTOS

1. Cuando se “escribe” un programa, ¿se diseña software? ¿En qué difieren el


diseño de software y la codificación?

Rta: Cuando se “escribe” un programa si se está diseñando un software. Debido qué


al escribirlo, se está determinando las características y funcionamientos que va tener éste en
el momento de ser implementado el sistema.

Después de haber analizado los requisitos que se tienen para el sistema a desarrollar,
viene la etapa de Diseño de software es el encargado de armar la base bajo la cual está
implementado el código o realizando la programación, permitiendo así dar “calidad”
necesaria a la implementación del sistema.

Codificación: se entiende como la traducción de algoritmos a un lenguaje de


programación específico; es decir, las acciones definidas en los algoritmos hay que
convertirlas a instrucciones.

Diferencia entre Diseño de software y Codificación:

En el primero se encarga de estructurar y diseñar el sistema el segundo


permite que ese diseño sea escrito en un lenguaje de programación, de manera que lo
diseñado en papel se visualice en un sistema.

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

Rta: Para validar la calidad del diseño del software, es necesario comprender que se
tienen requerimientos funcionales y no funcionales, los cuales se determinan así

* Calidad funcional. Determina si el software cumple con el diseño definido por los


requerimientos funcionales, abarcando las actividades que involucran procesamiento de
datos de entrada.
* Calidad estructural. Refleja en qué medida el software cumple con los
requerimientos no funcionales, como rendimiento, capacidad de
mantenimiento o escalabilidad

El estándar ISO/IEC 9126 presenta la calidad del software como un conjunto de seis
características globales:

Funcionalidad. Las funciones del software son aquellas que buscan satisfacer las
necesidades del usuario

Confiabilidad. La capacidad del software de mantener su rendimiento bajo ciertas


condiciones durante cierto período de tiempo.

Portabilidad. Basada en la capacidad del software para ser transferido de un


entorno a otro.

Usabilidad. Basada en el esfuerzo necesario para utilizar el software por parte de un


grupo de usuarios.

Eficiencia. Basada en la relación entre el nivel de rendimiento del software y el


volumen de recursos utilizado, bajo ciertas condiciones.

Capacidad de mantenimiento. Basada en el esfuerzo necesario para realizar


modificaciones específicas.

El cuidado de estos aspectos durante todo el ciclo de vida del software redundará en
productos que no sólo satisfarán las exigencias del usuario, sino que además serán más
fáciles de mantener y modificar una vez realizada la entrega al cliente. 1

1
http://www.4rsoluciones.com/blog/como-medir-la-calidad-en-software-2/
3. Dé ejemplos de tres abstracciones de datos y de las abstracciones de
procedimiento que se usan para manipularlas.

Rta: Abstracción de datos. Se encapsula la representación interna de un dato junto con las
implementaciones de todas las operaciones que se pueden realizar con ese dato.

Listas – Colas - Pilas

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

Rta: Es la forma de trabajar o estructurar un sistema, de manera que al momento de


visualizarlo en papel, todos los que están involucrados logren comprender lo que se quiere
y se necesita y cuáles son los lineamientos necesarios que se deben tener en cuenta.

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.

Rta: La construcción de viviendas, en la actualidad tiene más demanda, sin embargo


no existe suelos (espacios) disponibles para construir, los precios son bastante elevados y la
adquisición de la misma se evidencia en estratos altos, mientras que años atrás los espacios
físicos existían, la adquisición económica era más fácil para todos los estratos
socioeconómicos, considerando así que esto era calidad.

Patrón: es un problema que ocurre infinidad de veces en nuestro entorno, así como
la solución al mismo, de tal modo que podemos utilizar esta solución un millón de veces
más adelante sin tener que volver a pensarla otra vez. 2

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?

2
https://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o
¿Cuándo debe implementarse un diseño modular como software monolítico?

Rta: Un diseño modular como software monolítico se debe implementar cuando


una aplicación se dísela para realizar una sola función, que sea autónoma, independiente de
otras aplicaciones de software.

¿Cómo se logra esto?

Rta: Esto 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.

¿El rendimiento es la única justificación para la implementación de software


monolítico?

Rta: La justificación para la implementación de software monolítico además del


rendimiento es que funciona más rápido, es fácil de desarrollar y 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.

Rta: Para que el software sea fácil de implementar (portabilidad), 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.

Ejemplo es el navegador de internet Mozilla Firefox, 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.

Rta: los cuatro elementos del modelo de diseño son (Diseño de datos,
arquitectónico, interfaz y nivel de componente).
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.

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

Diseño de interfaz describe la forma como el sistema interactuar con el usuario más
que la apariencia del sistema.

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 qué se parecen las disciplinas de la arquitectura clásica y la del software?

Rta: La arquitectura clásica y la arquitectura de software, se parecen porque siguen


patrones que facilitan la construcción de los cimientos, definen los acabados, la forma, la
funcionalidad, determinan como variar en gran medida de un sistema a otro. Logrando una
arquitectura que defina los niveles, componentes y rol dentro del sistema. El uso de diagramas
también es común para mostrar diferentes aspectos del sistema similar a los planos usados para la
construcción de edificios.

Es trabajo del arquitecto es encausar el funcionamiento de los sistemas hacia el


cumplimiento de estas recomendaciones:

 Liberaciones de software, confiables, rápidas y estables.


 Bajos costes de mantenimiento y soporte.
 Bajos costes de desarrollo sobre las aplicaciones.
 Cumplimiento de las necesidades de los usuarios.

¿En qué difieren? Aunque tienen similitudes de definición, la arquitectura de


software,necesita otras formas de diagramas y algunas herramientas relacionadas, mientras
que la arquitectura tiene una notación estandarizada que permite que el diseño no presente
ambigüedades y que sea comprensible.

10 De ejemplos de:

 Arquitectura centradas en los datos (repositorios)

Gráfica 1 3

Un almacén de datos se encuentra en el centro de esta arquitectura, otro componente


tiene acceso a él y cuentan con la opción de gestionar los datos de ese almacén. El software
cliente tiene acceso a un almacén central, en algunos casos este es pasivo, el software cliente
accede a los datos independientemente de cualquier cambio hecho en los datos o las acciones de
otro software cliente.4

 Arquitectura de flujo de datos (tuberías y filtros)

3
https://www.google.com.co/search?q=
%E2%80%A2+Arquitectura+centradas&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiOseWp0YPeAhWJtVkK
HQZhBz4Q_AUIDigB&biw=1093&bih=526&dpr=1.25#imgrc=fr36Lmuca5qFlM:
4
https://www.ecured.cu/Estilos_arquitect%C3%B3nicos
Gráfica 2. 5

Se basa en un patrón tuberías y filtros. Este consta de un conjunto de componentes


denominados “filtros” conectados entre sí por “tuberías” que trasmiten los datos desde un
componente al siguiente. 6

Cada filtro trabaja de manera independiente de los componentes que se encuentren


situados antes o después de ella.

Obtiene como resultado datos de salida en un formato específico.

 Arquitecturas orientadas a objetos

Gráfica 3. 7

Los componentes del sistema encapsulan datos y operaciones que deben de


utilizarse para manipular dichos datos

 Arquitecturas en capas

5
https://es.slideshare.net/lilyPacheco7/arquitectura-de-software-13925226
6
https://www.ecured.cu/Estilos_arquitect%C3%B3nicos
7
https://es.slideshare.net/lilyPacheco7/arquitectura-de-software-13925226
Gráfica 4. 8

Se definen como un conjunto de niveles o capas cada nivel interno que se atraviesa
se aproxima más al nivel del conjunto de instrucciones máquina. Sistemas en capas puros.
Cada capa sólo puede comunicarse con las vecinas. Esta solución aunque menos eficiente
facilita la portabilidad en los diseños.9

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?

Rta: Listado

JERÁRQUICOS NO JERÁRQUICOS
8
https://es.slideshare.net/lilyPacheco7/arquitectura-de-software-13925226
9
https://www.google.com.co/search?q=
%E2%80%A2+Arquitecturas+en+capas&tbm=isch&source=iu&ictx=1&fir=G5f8hdDQLewbLM%253A
%252CugKaLzrBHn4FkM%252C_&usg=AI4_-
kQkeDfNNxywDr5D1qhCwYdH5DG3Rg&sa=X&ved=2ahUKEwjp_42kk-
jdAhULyVMKHSKcBrYQ9QEwAnoECAIQBA#imgrc=G5f8hdDQLewbLM:
 Arquitecturas en capas  Arquitectura centrada en los datos
 Arquitectura de flujo de datos (repositorios)
(tuberías y filtros)  Arquitecturas orientadas a objetos

. ¿Cómo se implementarían los estilos arquitectónicos que no son jerárquicos?

Rta: Los estilos arquitectónicos que no son jerárquicos, acceden a los datos en forma
independiente, ejercen un (movimiento de datos, sin control del receptor de lo que viene
recibe)

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.

Rta:

ESTILO ARQUITECTÓNICO PATRÓN ARQUITECTÓNICO


Alcance Aplican a un contexto de Aplican a problemas de diseño
desarrollo: específicos: - El estado del sistema
-“Sistemas altamente distribuidos” debe presentarse de múltiples formas
- “Sistemas intensivos en GUI” - La lógica de negocio debe estar
separada del acceso a datos
Abstracció Son muy abstractos para producir Son fragmentos arquitectónicos
n un diseño concreto del sistema. parametrizados que pueden ser
pensados como una pieza concreta de
diseño.
Relación Un sistema diseñado de acuerdo a Un único patrón puede ser aplicado a
las reglas de un único estilo puede sistemas diseñados de acuerdo a los
involucrar el uso de múltiples lineamientos de múltiples estilos
patrones

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?

Rta: Control En una obra, en términos de la construcción de esta, se debe controlar: el


tiempo (de acuerdo con los programas de obra), la calidad (de acuerdo con las especificaciones),
los costos (de acuerdo con los presupuestos), los recursos (considerando su aplicación y
rendimiento). Cualquier interferencia que afecte a estos parámetros que no sea detectada a
tiempo, repercutirá directamente de manera negativa en el logro de los objetivos de la obra. El
control debe ser integral, en el sentido de que los parámetros enunciados están estrechamente
relacionados. Para el caso particular de la construcción el control de los costos es de especial
interés dada la naturaleza y complejidad de estos, muy pocos negocios pueden sobrevivir sin un
conocimiento de los costos y sin un control de estos; los métodos para llevar las cuentas de los
costos deberán ser prácticos, simples y comprensibles. Los controles no son un producto final, sino
un medio para administrar la obra.

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?

Rta: Para que los datos de los distintos componentes puedan dialogar entre sí de manera
eficiente, debe existir una manera de identificarlos, es decir un esquema de direccionamiento
apropiado al alcance de la comunicación. Si se pretende una comunicación fiable, se deberán
utilizar técnicas para control de errores. Si los componentes son de diferente capacidad operativa,
probablemente utilicen técnicas de control de flujo para acomodar las diferencias en velocidad y/o
capacidad de memoria. Toda esta gestión del intercambio exige reglas de comunicación que deben
ser respetadas por todas las partes, por tal motivo la comunicación de datos entre los
componentes será continuo y no esporádico.

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.

Rta: Componente: Son partes indispensables que forman parte de un sistema. son
elementos, ingredientes, miembros o constituyentes que permiten formar un sistema.
En informática los componentes son las partes o elementos internos de una computadora
estos elementos son los llamados hardware que son de naturaleza electrónica

En comunicación los componentes son los elementos que hacen posible la comunicación
como lo son el emisor, el receptor, el código, el mensaje, el canal de comunicación y la
retroalimentación

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

Rta: El software es aquel ente lógico que hace funcionar a los dispositivos
electrónicos, es decir, aquellas secuencias de instrucciones que le dicen a los dispositivos
qué hacer, cómo y cuándo. la ingeniería de software, la cual comprende todos los aspectos
de la producción del software, desde las etapas iniciales de la especificación del producto,
hasta el mantenimiento de éste, después de que se utiliza. Es además un conjunto de
métodos, la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo
además ofrece herramientas y técnicas que trascienden más allá de sólo la codificación del
software y que es sumamente importante para construir o mantener un software de calidad.

El desarrollo de software requiere un conjunto de conceptos, una metodología y un


lenguaje propio. A este proceso también se le llama el ciclo de vida del software, que
comprende las etapas por las que pasa un proyecto de software desde que es concebido
hasta que está listo para usarse. En cuanto a las metodologías de ingeniería de software,
estas consisten en el uso de métodos, técnicas, herramientas y modelos para el desarrollo
las cuales deben estar muy bien documentadas para que los programadores las ejecuten
correctamente.

Las metodologías tradicionales, que fueron propuestas con anterioridad a los años
90 y que pretendían ayudar indicando los pasos a realizar y documentando cada una de las
tareas del desarrollo de software; sin embargo, tienen un problema, asumen que un
proyecto de software es casi una extensión de un proyecto burocrático tradicional y no
reflejan la naturaleza compleja del desarrollo de software actual, además de que suelen ser
metodologías inflexibles al cambio. Es así que las metodologías modernas contemplan
características como el desarrollo de software de manera interactiva, manejo de
requerimientos, modelado de software visual, arquitecturas basadas en componentes,
control de cambios, entre otros y sus objetivos se centran en ser escalables, flexibles y
adaptables.

16. Investigue sobre los tipos de cohesión y los tipos de acoplamiento

Rta: Cohesión es la forma en la que se agrupa las unidades de software en una unidad
mayor.

Tipos de cohesión:

Cohesión Funcional: Se produce cuando agrupamos unidades de software teniendo en


cuenta que todas ellas contribuyen a realizar el mismo fin, es decir, cuando todas las unidades
agrupadas, trabajando juntas consiguen un mismo objetivo.

Cohesión Secuencial: es cuando agrupamos unidades que cumplen que los resultados que
produce una son los que utiliza otra para continuar trabajando, es decir, los datos de salida de una
sirven de entrada para otras.

17. ¿Qué es un componente de webapp?


Rta: El componente Webapp es la interfaz de usuario en las aplicaciones Web, un
conjunto de archivos de hipertexto vinculados que presentan información con uso de texto y
gráficas limitadas.

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


de programación estructurada. Dé ejemplos de tres lenguajes de programación.

Rta: Dentro de los lenguajes de programación, más usados son:

- Java - PHP - Javascript

19. Seleccione un componente codificado pequeño y represéntelo con 1) un diagrama


de actividades, 2) un diagrama de flujo, 3) una tabla de decisión y 4) LDP.

1. DIAGRAMA DE ACTIVIDADES
2. DIAGRAMA DE FLUJO

3. TABLA DECISIONES
4.
LDP

acceso
Verifica credenciales
Accede al sistema

Inicia sesión

: Usuario Creado Verificar Acceso Acceso a los


credenciales concedido datos y salida

20. ¿Por qué es importante la “lotificación” en el proceso de revisión del diseño en el


nivel de componentes?

Rta:  Es importante, porque son construcciones estructuradas o grupos lógicos que
permiten al diseñador de sistemas, reconocer elementos de procedimiento de un módulo, en vez
de leer el diseño o el código línea por línea. La comprensión mejora cuando se encuentran
patrones lógicos que es fácil reconocer.10

10
http://anyflip.com/waoo/oxhi/basic/251-300
CONCLUSIONES

Conocer los conceptos necesarios del diseño de sistemas.

Cada pregunta nos permite ampliar conceptos y analizar como aplicar cada uno de
ellos, en ejemplos prácticos de la vida.
BIBLIOGRAFÍA

https://es.slideshare.net/lilyPacheco7/arquitectura-de-software-13925226

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

https://medium.com/@FunktionellMx/por-qu%C3%A9-es-importante-laingenier
%C3%ADa-de-software-a4000134f6e2

Hacia una Línea de Productos  Diseño de Arquitecturas de Referencia en el


Dominio de la Computación Móvil. (Spanish)

http://159.90.80.55/tesis/000139537.pdf:159.90.80.55/tesis/000139537.pdf

También podría gustarte