Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Desarrollar La Arquitectura de Software de Acuerdo Al Patrón de Diseño Seleccionado

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 18

1

Desarrollar la arquitectura de software de acuerdo al patrón de diseño seleccionado

Fase: planeación

Por:

Karen Adriana Agudelo Peña

Servicio Nacional de Aprendizaje SENA

Centro de la Tecnología del Diseño y la Productividad Empresarial

Ficha: 2758348

Instructor: Milton Iván Barbosa

11 de marzo de 2023
2

Tabla de contenido
Introducción..............................................................................................................3

Justificación...........................................................................................................4

Objetivos............................................................................................................5

Desarrollo de la actividad.............................................................................6

Conclusiones............................................................................................12

Bibliografía..........................................................................................13
3

Introducción

En este trabajo se quiere dar a conocer todo lo que tiene que ver con los conceptos de

diseño de patrones de software en el cual se tiene que realizar una investigación para poder

obtener una característica en común y así lograr interpretarla de la forma más profesional. Los

patrones de diseño son reutilizables, además que se pueden aplicar a cualquier problema que

tenga que ver con el diseño de software, en donde se pueden especificar los problemas del

sistema y también de ello se pueden encontrar soluciones a estos problemas.


4

Justificación

El diseño de patrones es esencial en el desarrollo de software, estos patrones muestran

soluciones eficaces para solución de problemas que son habituales en el desarrollo del software.

Gracias a estos patrones habrá mejoría en la disposición del software. Por esto los programadores

logran hacer programas más factibles y de mejor calidad.


5

Objetivos

Objetivo general

Aplicar los diagramas en el proyecto

Objetivos específicos

 Definir los patrones y sus tipos, para así tener claridad del tema

 Realizar de forma más fácil la creación del código

 Probar los distintos tipos de patrones garantizados y puestos a prueba


6

Desarrollo de la actividad

Un patrón se podría definir como la ayuda a la resolución de problemas, porque estos

patrones simplifican la reutilización de diseños de software que han sido bastantes útiles en otros

proyectos. Los patrones pueden tomarse como principio para un manual de ingeniería de

software y los patrones van dirigidos al cambio. Es muy útil e importante el uso de los patrones

de diseño con el fin de identificar los errores del código, errores que pueden no ser vistos a

simple vista, lo que se quiere dar a entender es que los patrones dan la seguridad de que el código

esté correctamente hecho, así poder ser aprobado. Hay tres tipos de diseño de patrones: patrones

creacionales, patrones estructurales y patrones de comportamiento.

Patrones creacionales

Abstract Factory: en este patrón, una interfaz realiza conjuntos entrelazados sin

especificar el nombre de la clase.

Builder Patterns: ayuda a realizar diferentes tipos y representaciones de un objeto

utilizando el mismo código de construcción. Se usa para la creación etapa por etapa de un objeto

complejo uniendo objetos simples. La creación final de objetos depende de las etapas del proceso

creativo, pero es independiente de otros objetos.

Factory Method: aporta una interfaz para realizar objetos en una superclase, pero ayuda

que las subclases cambien el tipo de objetos que se realizarán. Aporta instanciación de objetos

implícita a través de interfaces comunes.

Prototype: concede copiar objetos existentes sin hacer que su código dependa de sus

clases. Se usa para prohibir las operaciones de memoria / base de datos manteniendo la

modificación al mínimo usando copias de objetos.


7

Singleton: Este patrón de diseño prohíbe la realización de instancias de una clase a un

único objeto

Patrones estructurales

Los patrones estructurales exponen cómo ensamblar objetos y clases en estructuras

extensas, a la vez que se mantiene la facilidad y la utilidad de estas estructuras.

Adapter: es utilizado para entrelazar dos interfaces que no son compatibles y utilizan sus

funcionalidades. El adaptador ayuda que las clases obren juntas de otra forma que no sería

posible al ser interfaces incompatibles.

Bridge: es un patrón de diseño estructural que te autoriza fraccionar una clase grande, o

un grupo de clases relacionadas, en dos jerarquías separadas (abstracción e implementación) que

pueden realizarse independientemente la una de la otra.

Composite es un patrón de diseño estructural que te ayuda a arreglar objetos en

estructuras de árbol y emplear con esas estructuras como si fueran objetos individuales.

Decorator: este patrón prohíbe el cambio de la estructura del objeto mientras se le agrega una

nueva tarea.

Facade: adecua una interfaz sencilla para una biblioteca, un marco o cualquier otro

conjunto complejo de clases.

Flyweight: el patrón Flyweight se utiliza para disminuir el campo en la memoria y

agiliza el rendimiento al disminuir la creación de objetos. El patrón examina objetos parecidos ya

existentes para reutilizarlo en lugar de realizar otros nuevos que sean parecidos.
8

Proxy: se usa para realizar objetos que pueden mostrar funciones de otras clases u objetos

y la interfaz se usa para tener acceso a estas funciones

Patrones de comportamiento

Depende de la comunicación entre objetos de clase. Son muy útiles a la hora de definir la

presencia de patrones de comunicación y se pueden modificar estos patrones. Estos patrones de

diseño tienen una relación entre la comunicación y los objetos.

Chain of responsibility

es un patrón de comportamiento que prohíbe unir el emisor de una solicitud a su receptor

dando a más de un objeto la posibilidad de responder a una petición.

Command

Transforma una solicitud en un objeto independiente que se compone toda la información

sobre la solicitud. Esta transformación permite parametrizar métodos con distintas solicitudes,

atrasar o colocar en cola la ejecución de una solicitud y apoyar operaciones que no se pueden

deshacer.

Interator: se utiliza para vigilar el lenguaje o la expresión al realizar una interfaz que

muestre el contexto para la interpretación.

Mediator: es un patrón de arquitectura de comportamiento que ayuda a disminuir las

dependencias monótonas entre objetos. El patrón ayuda a prohibir las comunicaciones directas

entre los objetos, obligando a trabajar únicamente a través de un objeto mediador.

Momento: es un patrón de arquitectura de comportamiento que ayuda a guardar y

restablecer el estado antiguo de un objeto sin mostar los detalles de su implementación.


9

Observer: es un patrón de arquitectura de comportamiento que ayuda a establecer un

mecanismo de suscripción para avisar a varios objetos sobre cualquier evento que esté pasando al

objeto que está en observación.

State: es un patrón de diseño de comportamiento que ayuda a un objeto a cambiar su

comportamiento cuando su estado interno varía. Parece como si el objeto variara su clase.

Strategy: es un patrón de diseño de comportamiento que ayuda a establecer una familia

de algoritmos, poner cada uno de ellos en una clase aparte y realizar sus objetos intercambiables.

Templated method: es un patrón de diseño de comportamiento que especifica el esqueleto

de un algoritmo en la superclase, sin embargo, ayuda a que las subclases sobrescriban pasos del

algoritmo sin alterar su estructura.

Visitor: es un patrón de diseño de comportamiento que te permite desligar algoritmos de

los objetos sobre los que trabajan

Diagrama de componentes

Un diagrama de componentes muestra una visión física del modelo, muestra la

organización de lo que se compone el software, sus interfaces y las dependencias entre ellos.

Se representan las dependencias entes objetos o entre un objeto y la interfaz de otro, es

decir, uno de ellos utiliza las facilidades de otro

5. Se debe conocer el diagrama de componentes

Este diagrama de despliegue muestra una visión gráficamente de la arquitectura de una

tienda online. Su objetivo es brindar un entendimiento claro de qué manera se organizan los

diferentes objetos del sistema y cómo se relacionan entre sí, para ofrecer una buena experiencia
10

al usuario. Por medio de este diagrama se definen los servidores, la base de datos, aplicaciones

web y otras características que hacen tener un buen funcionamiento a este programa. Cada uno

de los objetos cumplen un papel importante en el ciclo de las ventas, desde la gestión de

productos y pedidos hasta los pagos y la entrega de los productos

6. Se debe conocer los mecanismos de seguridad que requiere la aplicación

La ciberseguridad en aplicaciones web se encarga de salvaguardar las páginas web y los

servicios online de muchos virus o ataques maliciosos y así lograr un buen funcionamiento y

rendimiento.
11

El mecanismo de seguridad que se quiere utilizar en el proyecto es esta aplicación ya que

es una solución de ciberseguridad todo en uno

7. Conocer la metodología de desarrollo de software

Metodología tradicional cascada

La metodología tradicional cascada es un método de desarrollo de software el cual se

centra en la secuencia lineal y ordenada de las etapas del proyecto. Se centra en que cada paso

del ciclo de vida del software debe cumplirse antes de iniciar el otro paso. O sea, antes de iniciar

otro paso, debe estar terminado completamente el paso anterior. En conclusión, se quiere lograr

que la planificación y documentación esté correcta y que no haya cambios tan drásticos en los

requerimientos del proyecto. Las fases del ciclo de la vida del software en la metodología del

software incluyen: requerimientos, diseños, implementación, pruebas, etc,


12

Etapas de la cascada

Las etapas de la metodología en cascada son:

 Requerimientos: en esta fase, se determinan los requerimientos del software en

base a las necesidades del cliente

 Diseño: en esta fase, se realiza una arquitectura detallada del proyecto de software

 Implementación: en esta fase, se realiza el código fuente y se desarrolla el

software

 Pruebas: en esta fase, se realizan pruebas del software para comprobar que

cumpla con los requerimientos propuestos

 Mantenimiento: se realiza el mantenimiento del software para identificar y

eliminar errores

La metodología en cascada es muy fácil de entender y utilizar. Es útil cuando los

requerimientos propuestos son claros. Por otro lado, una desventaja de esta

metodología puede ser que en un proyecto en donde con frecuencia se cambien los
13

requerimientos no serviría. También, si lo errores no se detectan a tiempo puede ser

perjudicial corregirlos más adelante.

8. Conocer el mapa de navegación de la aplicación

En este proyecto se podrá observar de qué manera se diseña un prototipo de sitio web,

en el cual se quiere poner un apartado que hable de la página web y que facilite la

manipulación de los usuarios en la página web y le permite comprar de forma sencilla

y fácil. En el transcurso del desarrollo del proyecto, se quiere entender qué necesitan

los usuarios, organizar los elementos del sitio, diseñar la apariencia y de qué manera

se puede asegurar que el buen funcionamiento del sitio.

Mapa de navegación

9. Identificar el lenguaje seleccionado

El principal lenguaje es utilizado en este proyecto es Java, también se utiliza CSS, Html,

etc. Estos lenguajes son reconocidos por el navegador al momento de ingresar a la página web.

Las ventajas de manejar este lenguaje son:

 Puede ser editado fácilmente por cualquier programador

 Ayuda a crear entornos fáciles

 Se integra de una manera sencilla a la base de datos


14

10. Identificar el tipo de base de datos y el gestor de base de datos

Para este proyecto se está utilizando la base de datos relacionales, ya que fue creada para

guardar datos estructurados en tablas relacionadas entre sí, tienen una gran flexibilidad de la

manera en qué se pueden consultar los datos, ya que son correctas para aplicaciones que

necesitan transiciones en tiempo real, como una página online de ventas.

Para el gestor de base de datos no hay un único modelo, basándose en que lo que se

quiere es administrar todo acceso a la base de datos y tiene como objetivo servir como interfaz

entre el usuario, la aplicación y este.

Bases de datos relacionales


15

11. Manejar un repositorio de control de versiones (GIT, SVN, otros)

Para el control de versiones se eligió el repositorio GitHub, el cual es un instrumento

bastante útil que permite guardar el repositorio en línea y permite tener controladas las

actualizaciones

Link del repositorio de GitHub:

https://github.com/karenagudelo/Java_crud_Mysql.git
16

 NetBeans como editor de código


17
18

También podría gustarte