Está en la página 1de 11

SENA

Servicio Nacional de Aprendizaje

Guía 1

Kevin Andrés Barrera Arias


Samuel Steban Cortés Arévalo

Centro de Electricidad, Electrónica y Telecomunicaciones

Análisis y Desarrollo de Sistemas de Información


Ficha: 2468764

Bogotá D.C.

2023
Actividad de reflexión

1. ¿Cómo crees tú que se relacione la arquitectura de software con la calidad?. Explica


con detalle tu respuesta.

Rta: La arquitectura de software marca la estructura de un sistema y tiene impacto


directo sobre los atributos de calidad del software, con una buena aplicación de
arquitectura de software el sistema cumplira con sus atributos básicos de calidad, cosa
que es más compleja con una arquitectura mal aplicada.

2. ¿Qué tan importante es tener una arquitectura de software en un proyecto de


desarrollo? ¿por qué?

Rta: Es bastante importante porque asigna los pasos y acciones que se deben realizar
antes de programar un sistema de software, planea la forma en la que va dirigida y
facilita la programación del sistema.

3. ¿Patrones de diseño es lo mismo que patrones de arquitectura? Justifica tu respuesta

Rta: No, los patrones de diseño están dirigidos a elementos o problemas puntuales
dentro del software, mientras que los patrones de arquitectura abarcan a todo el
sistema en general.

4. Menciona y explica brevemente algunos patrones de arquitectura que conozcas.


Rta:
Capas: Estructura el sistema en 4 capas principales en las que se distribuyen las
tareas, dentro de cada capa se encuentran las subtareas necesarias para cumplir los
objetivos del sistema.
Vista-Controlador: Divide al sistema en dos partes: diseño y funcionalidad,
separando el desarrollo del backend del frontend. Se aplica a sistemas simples de
corto alcance.

5. ¿Manejas algún patrón de arquitectura?, ¿cuál? ¿Por qué manejas ese patrón de
arquitectura?(explica la importancia que tiene para tí ese patrón).

Rta: Si, manejamos la arquitectura por capas, manejamos este patrón de arquitectura
principalmente porque para nuestro sistema de información resulta ser más fácil y
completo, debido a que manejamos inventario, factura, compra venta entre otros, por
esta razón decidimos utilizar la arquitectura por capas para solventar bien nuestro
sistema,

Actividad N°1 Importancia de la arquitectura de software parte I

Realiza la lectura del capítulo 1 del libro arquitectura en la práctica, responde las preguntas:
1, 2, 4, 5 y 8 que están al final del capítulo
Realiza un ensayo del capitulo 1
1. La arquitectura del software a menudo se compara con la arquitectura de los
edificios como una analogía conceptual. ¿Cuáles son los puntos fuertes de esa
analogía? ¿Cuál es la correspondencia en los edificios a las estructuras y vistas
de la arquitectura de software? ¿A los patrones? ¿Cuáles son las debilidades de
la analogía? ¿Cuándo se descompone?
Rta: Los puntos fuertes de la analogía son la ejemplificación simple y fácilmente
comprensible mediante la comparación de un edificio con un software.
La correspondencia en un edificio a las estructuras del software serían las columnas y
bases de los edificios y las vistas serían las fachadas y presentación del edificio
Las divisiones de los edificios serían los patrones.
Una debilidad es que al momento de hacer una imagen mental el software se aleja
bastante de un edificio.

2. ¿Las arquitecturas a las que ha estado expuesto documentan diferentes


estructuras y relaciones como las que se describen en este capítulo? ¿De ser asi,
cuales? ¿Si no, por qué no?
Rta: Si, la estructura por módulos, y estructura de asignación, ya que los utilizamos
para nuestro proyecto final, y nos ha sido gran ayuda para realizar las acciones
necesarias para completar el sistema de software.

3. Discuta cómo una arquitectura sirve como base para el análisis. ¿Qué pasa con
la toma de decisiones? ¿Qué tipo de toma de decisiones potencia una
arquitectura?
Rta: Las arquitecturas limitan y habilitan los sistemas y aportan una visión general
del sistema, los desarrolladores deben basar sus decisiones en dicha vista general
obedeciendo las limitaciones de la arquitectura.
Una arquitectura potencia las decisiones de funcionalidad y especialmente de diseño.
4. ¿Cuál es el papel de la arquitectura en la reducción del riesgo del proyecto?
Rta: La arquitectura establece los mínimos de seguridad y de calidad del sistema
reduciendo los riesgos del proyecto.

5. Los barcos de vela tienen arquitecturas, lo que significa que tienen "estructuras"
que se prestan para razonar sobre el rendimiento del barco y otros atributos de
calidad. Busque las definiciones técnicas para barca , brig , cutter , fragata ,
ketch , schooner y sloop . Proponer un conjunto útil de "estructuras" para
distinguir y razonar sobre arquitecturas de barcos.
Rta:
Barca: Vehículo acuático de pequeñas dimensiones similar a un barco.
Brig: Barco de vela con dos palos, uno de mayor dimensión que el otro, de velas
cuadradas o redondas.
Cutter: Embarcación con velas al tercio, y varios foques.
Fragata: Buque de guerra.
Ketch: Es un barco velero con dos mástiles, uno principal y uno menor ubicados del
principal.
Schooner: Embarcación antigua con las bordas poco elevadas, de dos o tres palos,
cada uno de ellos con un solo mastelero y una sola vela cangreja.
Sloop: Embarcación pequeña y alargada con cubierta, un solo palo y dos velas
triangulares.
Propuesta:
La arquitectura del barco se conforman de varios elementos, un conjunto de estos
elementos es denominado “Estructura” y la unión de varias estructuras forma la
arquitectura de la embarcación, Por ejemplo:
El “Brig” usa dos estructuras que son principales: la barca y el mástil, el mástil a su
vez está conformado por un palo y una vela, en la arquitectura final del barco se unen
tres estructuras: la barca y los dos mástiles
Ensayo:
https://docs.google.com/document/d/1dD7QTpWOuV0hIM5pEQ1gJx6WV9xS3
BhO1VVa40vW7mI/edit?usp=share_link
Actividad N°2 Importancia de la arquitectura de software parte II

Realiza la lectura del capítulo 2 del libro arquitectura en la práctica, responde las preguntas
que están al final del capítulo
Realiza un ensayo del capítulo 2.
Debate
1. Por cada una de las trece razones escritas en este capítulo por las que la
arquitectura es importante, tome la posición contraria: proponga un conjunto de
circunstancias en las cuales la arquitectura no es necesaria para lograr el
resultado indicado. Justifica tu posición. (Trate de llegar a diferentes
circunstancias para cada uno de los trece).
Rta:
1. la calidad se refleja también en el diseño del sistema, y no necesariamente en
el levantamiento de información, ya que esto es lo que se refleja.
2. La arquitectura no afectará los cambios sobre la marcha ya que solo una base y
no tiene porque afectar la lógica y razonamiento del desarrollador ya que este
ya sabrá cómo realizar los cambios de manera adecuada.
3. El desarrollo de un sistema si se puede realizar adecuadamente sin necesidad
de tener una técnica específica como la arquitectura.
4. Por la naturaleza técnica de una arquitectura, el lenguaje y la complejidad que
se usa en esta y referente a esta puede implicar la comunicación entre los
implicados en el proyecto.
5. Las primeras decisiones de diseño en un desarrollo de software son críticas
para el éxito del mismo y propias de cada sistema, una arquitectura limita la
libertad creativa del equipo obstaculizando la innovación.
6. Restringir las acciones al momento de implementar el sistema puede afectar la
calidad, el alcance y la funcionalidad del mismo, por lo tanto es importante
evaluar y definir de manera cuidadosa las restricciones que se le imponen al
proyecto y su impacto.
7. La arquitectura puede tener una influencia significativa en la estructura
organizacional de la empresa o equipo de desarrollo restringiendo varios
factores influyentes, obstaculizando la capacidad de la empresa o equipo de
adaptarse a un cambio drástico inesperado.
8. Aunque hay la posibilidad de habilitar prototipos evolutivos que ayudan al
desarrollo del proyecto, estos parten de una base limitada, limitando los e
impidiendo una posible expansión del proyecto.
9. Las estimaciones de costo y horario son una parte importante del proceso de
planificación y dependen de mucho más que del propio sistema, por lo que la
arquitectura puede terminar pasando por alto varios aspectos relevantes que
deberían de ser tomados en cuenta.
10. Si bien el suministro de modelos transferibles y reutilizables pueden reducir
costos y tiempo en el futuro, estos limitan la libertad creativa del equipo de
desarrollo y por lo tanto su innovación y en ocasiones puede llegar a afectar
los propósitos principales del proyecto.
11. El desarrollo de diferentes elementos y componentes llevado de manera
independiente, puede afectar en gran medida la funcionalidad y calidad del
sistema gracias a la posibilidad de que estos elementos y componentes sean
incompatibles entre sí.
12. Aunque las restricción del vocabulario de diseños alternos puede mejorar la
colaboración y acelerar el proceso de diseño, está también puede afectar el
resultado final del sistema y su calidad al limitar la libertad de los
desarrolladores.
13. Proporcionar una formación a partir de una técnica específica como una
arquitectura puede dejar pasar por alto varios aspectos relevantes tanto
internos como externos al sistema, la formación debe ser dada a partir de las
necesidades del equipo completo de desarrollo y no solo del sistema.

2. Este capítulo sostiene que la arquitectura aporta una serie de beneficios


tangibles. ¿Cómo mediría los beneficios, en un proyecto en particular, de cada
uno de los trece puntos?.
Rta:
1. Reduce el tiempo necesario para el desarrollo del sistema.
2. Reduce tiempo y esfuerzos necesarios para la corrección de errores del
sistema.
3. Reduce el tiempo necesario para el planteamiento del proyecto.
4. Otorga una mayor agilidad y efectividad en las reuniones dirigidas al proyecto.
5. Ahorra pasos en el planteamiento de sistema y su desarrollo.
6. Reduce el trabajo para la fase de implementación.
7. otorga una base con la cual empezar el proyecto, y reduce el trabajo de la
organización.
8. Reduce posible trabajo adicional y aporta al avance del desarrollo del
proyecto.
9. Aporta un punto de partida y focaliza el trabajo para la definición de costos.
10. Aporta la posibilidad de expandir el proyecto y da un punto de partida para
nuevos proyectos.
11. Expande y agiliza el desarrollo del proyecto reduciendo el tiempo de
implementación.
12. Reduce tiempos y esfuerzos de los desarrolladores y agiliza el desarrollo del
proyecto.
13. Aporta un puto de partida, y una base para la capacitacion de nuevo personal.

3. Suponga que quiere introducir prácticas centradas en la arquitectura en su


organización. Su administración está abierta a la idea, pero desea conocer el ROI
para hacerlo. ¿Cómo responderías?
Rta:
Propondría una arquitectura y explicaría su composición definiendo los elementos que
se incorporarán y restringiendo posibles reemplazos y/o adiciones, según el cómo
interactúan los elementos con su entorno facilitando a la administración de la
organización la valoración de la propuesta.

4. Prioriza la lista de trece puntos en este capítulo de acuerdo con algunos criterios
significativos para usted. Justifica tu respuesta. o, Si pudiera elegir solo dos o
tres de las razones para promover el uso de la arquitectura en un proyecto,
¿Cuál elegiría y por qué?
Rta: 1, 5, 12
1. Una arquitectura limitará o habilitará atributos de calidad de los sistemas.

2. La arquitectura carga con las decisiones de diseño tempranas y principales del


sistema, facilitando su realización y aplicación.

3. Al restringir varias alternativas de diseño e implementación, una arquitectura


canaliza la creatividad y atención de los desarrolladores, reduciendo de forma
considerable la complejidad del sistema y su diseño.

Estas razones explican especialmente la facilidad que otorga una arquitectura a la hora
de desarrollar un sistema comparada a si no se contara con una arquitectura, además
de algunas ventajas para el mismo desarrollo.

Ensayo:
https://docs.google.com/document/d/1rJsfJ2EiKhBOMSEp2exjHvWFEsGuSaH6
K4aocWk-Uis/edit?usp=share_link
Actividad N°3 Importancia comercial de la arquitectura de software

Realiza la lectura del capítulo 3 del libro arquitectura en la práctica, responde las preguntas
que están al final del capítulo.
1. Enumere seis sistemas de software diferentes utilizados por su organización.
Para cada uno de estos sistemas:
a. ¿Cuáles son las influencias contextuales?
b. ¿Quiénes son las partes interesadas?
c. ¿Cómo estos sistemas reflejan o impactan la estructura organizacional?

Sistema Influencias Partes Impacto o Reflejo en


Contextuales Interesadas la Estructura
Organizacional

Sistema Operativo Necesidad de agilizar -Usuario Final. Es el medio base para


las tareas de la realizar cualquier actividad
organización. -Administración. virtual.

Librería Necesidad de brindar -Usuario Final. Es un medio de apoyo para


un feedback adicional el usuario final proporcionado
a los usuarios finales. por la organización.

Portal Web Necesidad de -Usuario Final. Es uno de los principales


Informativo compartir medios de comunicación de
masivamente las -Administración. la organización, puede
novedades en la brindar por este medio
organización. -Inversionistas. novedades y cambios
relevantes en la
organización.

Portal Web Necesidad de agilizar -Usuario Final. Es el medio principal de


Administrativo los procesos operación para la
necesarios de la -Administración. organización en la que se
organización. realizan varias acciones de
gran importancia.

Interfaz Gráfica Se hace necesaria -Usuario Final. Es el medio que posibilita


para hacer posible la cualquier actividad virtual,
utilización de medios -Administración. posibilita la comunicación
informáticos. entre sistema y usuario.

Navegador Web Se hace necesario -Usuario Final. Es el puente final entre el


para acceder a los usuario y los sistemas
medios informáticos -Administración. necesarios para la operación
necesarios para la de la organización.
organización.

2. ¿Qué tipo de objetivos empresariales han impulsado la construcción de los


siguientes:
a. La red mundial
Rta: La construcción de la red mundial ha sido impulsada por prácticamente
todos los tipos de objetivos empresariales ya que esta mejora la comunicación,
permite el un acceso a la información mucho más eficiente, reduce costos,
amplía el mercado y muchos otros beneficios indiscutibles para cualquier
empresa. En términos muy generales mejora la eficiencia y el alcance de las
empresas.

b. Infraestructura de la nube EC2 de Amazon


Rta: La construcción de la Amazon EC2 está impulsada por objetivos
principalmente de organización y optimización para la empresa, como la
escalabilidad, flexibilidad, reducción de costos, ampliamiento de mercado, etc.

c. Plataforma Android de Google


Rta: Google creó Android con el objetivo de aumentar su valía como empresa
aportando al publico dispositivos móviles y sistemas más capaces con mejores
servicios hacia el cliente, en términos generales, google creó Android con
objetivos cuantitativos y cualitativos orientados a resultados y procesos
impulsado por el “aporte” adicional que le hacia al publico.

3. ¿Qué mecanismos están disponibles para mejorar sus habilidades y


conocimientos? ¿Qué habilidades te faltan?
Rta: Todo tipo de herramientas web disponibles en todo momento, simuladores,
ambientes de aprendizaje, ejercicios y el acceso mismo a la práctica de mis
conocimientos, en términos generales me hace falta fortalecer algunas habilidades
blandas esenciales y adquirir una mayor capacidad en el ámbito de la programación y
su lógica.

Elabora un mapa mental de la importancia de la arquitectura de software a nivel empresarial.


link: https://www.canva.com/design/DAFa1dvfkmw/rd9-dz4olnONrgDEgYD_bw/view?
utm_content=DAFa1dvfkmw&utm_campaign=designshare&utm_medium=link2&utm_sourc
e=sharebutton
Actividad N°4 Arquitecturas de software

- Investiga los siguientes tipos de arquitectura de software (definición, objetivo,


ventaja, desventaja): Arquitectura por capas, microservicios, arquitecturas orientadas
a eventos y orientadas a servicios.

Arquitectura Definición Objetivo Ventajas Desventajas Infograma

Arquitectura Se enfoca en la Distribuir las - Abstracción. -Contención al https://


por Capas distribución de roles responsabilidad Cambio. www.canva.c
y responsabilidades es del - Aislamiento. om/design/
de forma jerárquica desarrollo por -Menor DAFav9y0CX
aplicando una roles dividiendo -Rendimiento. Eficiencia. E/
forma muy efectiva el trabajo de RWZyM_4YX
de separación de manera eficaz. -Mejoras en -Redundancia. _gKcdcNTA7
responsabilidades Pruebas. LDA/view?
El rol indica el -Dificultad en el utm_content=
modo y tipo de -Independencia. diseño. DAFav9y0CX
interacción con E&utm_camp
otras capas, y la -Dificultad en la aign=designs
responsabilidad implementación. hare&utm_me
indica la dium=link2&ut
funcionalidad que m_source=sh
está siendo arebutton
desarrollada.

Arquitectura Consta de una Dividir la -Agilidad. -Latencia de red. https://


por colección de funcionalidad www.canva.c
Microservicios servicios completa del -Base de código -Complejidad om/design/
autónomos y sistema en un pequeña. mayor. DAFav1kXwC
pequeños. Cada conjunto de Y/
uno de los servicios servicios -Aislamiento de -Integridad de MYONeR8wB
es independiente y pequeños y errores. datos. nAjpOKPDFjA
debe implementar autónomos yw/view?
una funcionalidad capaces de -Escalabilidad. -Enfoque utm_content=
de negocio satisfacer la descentralizado. DAFav1kXwC
individual dentro de necesidad en -Aislamiento de Y&utm_camp
un contexto cuestión. datos. -Diseño aign=designs
delimitado. Un Cuidadoso. hare&utm_me
contexto delimitado dium=link2&ut
es una división m_source=sh
natural de una arebutton
empresa y
proporciona un
límite explícito
dentro del cual
existe un modelo
de dominio.

Arquitectura Consta de una Satisfacer la -Escalabilidad. -Procesamiento https://


Orientada a determinada funcionalidad a de eventos www.canva.c
Eventos cantidad de partir de una -Procesamiento limitado. om/design/
productores de cadena de controlado. DAFav1HREh
eventos que eventos -Entrega no c/
generan un flujo de contribuida por -Facilidad para garantizada. L5wwzOx17v
eventos y, varios expandirse. _w3SvMlPPZf
consumidores de consumidores. A/view?
eventos que -Respuesta utm_content=
escuchan los inmediata. DAFav1HREh
eventos. c&utm_camp
aign=designs
hare&utm_me
dium=link2&ut
m_source=sh
arebutton

Arquitectura Utiliza Satisfacer la -Mantenimiento -Escalabilidad https://


Orientada a componentes de funcionalidad a eficiente. limitada. www.canva.c
Servicios software llamados partir de una om/design/
servicios para crear cadena de -Buena -Dependencia DAFav5nPBd
aplicaciones. Cada servicios adaptación. entre servicios. Q/
uno de estos independientes L6vhcsJbq3gr
servicios brinda una que se -Desarrollo -Punto único de 6NAgd9Mrcg/
capacidad y comunican eficiente. error. view?
pueden entre sí. utm_content=
comunicarse DAFav5nPBd
también con el Q&utm_camp
resto de servicios aign=designs
mediante diferentes hare&utm_me
plataformas y dium=link2&ut
lenguajes. m_source=sh
arebutton

También podría gustarte