0% encontró este documento útil (0 votos)
35 vistas14 páginas

Arquitectura de Software Taller Eje 2

actividad evaluativa eje 2 arquitectura de software

Cargado por

Victor Bolivar
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas14 páginas

Arquitectura de Software Taller Eje 2

actividad evaluativa eje 2 arquitectura de software

Cargado por

Victor Bolivar
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

lOMoARcPSD|14429369

Arquitectura de software - Taller EJE 2

Arquitectura de software y SQ (Fundación Universitaria del Área


Andina)

Escanea para abrir en Studocu

Descargado por Victor Bolivar


Studocu no está patrocinado ni avalado por ningún colegio o universidad.

Descargado por Victor Bolivar


1

Implementación de estilos arquitectónicos y patrones de diseño

Juan Gabriel Patalagua Carrillo

Luis Alfredo Argumedo Bustamante

Diego Felipe Tovar Sanchez

Fundación universitaria del Areandina

Ingeniería de sistemas

Docente: Oscar Fabian Campos Porras

Bogotá, Colombia

30 de octubre de 2023

Descargado por Victor Bolivar


2
Tabla de Contenidos

1. Introducción...............................................................................................................................3
2. Objetivo.......................................................................................................................................4
4. Conceptualización......................................................................................................................5
Descripción de la actividad...........................................................................................................5
5. Desarrollo...................................................................................................................................6
6. Conclusión................................................................................................................................11
7. Lista de referencias..................................................................................................................12

Descargado por Victor Bolivar


lOMoA

3
1. Introducción

En el desarrollo de la aplicación de software vamos a implementar patrones de diseño y

adoptar una arquitectura sólida para poder garantizar un código bien estructurado y

mantenible a lo largo del tiempo que lo establezcamos para futuras actualizaciones. En

este contexto, este proyecto nos enfocaremos en construir una aplicación en el lenguaje

de programación java que se ajuste a los principios de la Programación Orientada a

Objetos (OOP) de un sector muy conocido como la salud y podremos relacionar

pacientes con sus datos e incorporar patrones de diseño como Model-View-Controller

(MVC) o en lo posible todos como: DTO, DAO, además la aplicación se conecta a una

base de datos para permitir operaciones básicas CRUD (administración de registros). La

combinación de estos elementos permite un procesamiento de datos eficaz y una

interacción fluida con la base de datos subyacente y nos esforzamos por crear una

aplicación sólida y escalable que pueda ampliarse y mantenerse fácilmente en el futuro.

Descargado por Victor Bolivar


lOMoA

4
2. Objetivo

Construir una aplicación que implemente patrones de diseño bajo una arquitectura de

desarrollo.

3. Objetivo específicos

● Integrar en la aplicación la Programación Orientada a Objetos.

● Implementar patrones de diseño o estilos arquitectónicos (MVC, DTO, DAO).

● Realizar pruebas y depuración.

● Diseñar la arquitectura con lógica de negocio.

Descargado por Victor Bolivar


lOMoA

5
4. Conceptualización.

Descripción de la actividad

El desarrollo de la actividad consiste en implementar patrones de diseño para el

desarrollo de aplicaciones de software, de acuerdo con las siguientes instrucciones.

• Construir una aplicación que implemente uno o varios patrones de diseño

o estilos arquitectónicos, por ejemplo (MVC, DTO, DAO).

• La aplicación debe tener una conexión a una base de datos.

• Integrar en la aplicación la Programación Orientada a Objetos.

• La aplicación debe permitir las operaciones básicas para el manejo de

registros (CRUD).

• La aplicación puede ser construida en cualquier lenguaje de programación

(PHP, JAVA, PYTHON, NET, etc.)

Descargado por Victor Bolivar


lOMoA

6
5. Desarrollo.

A continuación, se adjunta el código fuente de un aplicativo en el que se implementó un

patrón DAO (Data Access Object), esto debido a que se trata de un patrón de diseño de

software utilizado en el desarrollo de aplicaciones para gestionar la interacción con una

base de datos, además, se utilizó como lenguaje Java con una conexión a una base de

datos a través de JDBC, con el objetivo que este realice operaciones CRUD en una tabla

de ejemplo.

package com.areandina.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Pacientes {


// Conexión a la base de datos
private static final String URL =
"jdbc:mysql://127.0.0.1:3306/clinicadb?serverTimezone=UTC";
private static final String USERNAME = "areandina";
private static final String PASSWORD = "4r34nd1n42023";

public Pacientes() {
}

public Connection getConnection() {


try {
return DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}

public void insert(int id, String nombre, String edad, String genero, String ubicacion) {

Descargado por Victor Bolivar


lOMoA

7
String insertQuery = "INSERT INTO pacientes (id, nombre, edad,
genero, ubicacion) VALUES (?, ?, ?, ?, ?)";

try (Connection connection = getConnection();


PreparedStatement preparedStatement =
connection.prepareStatement(insertQuery)) {
preparedStatement.setInt(1, id);
preparedStatement.setString(2, nombre);
preparedStatement.setString(3, edad);
preparedStatement.setString(4, genero);
preparedStatement.setString(5, ubicacion);

preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}

public Paciente getPacienteById(int id) {


String selectQuery = "SELECT id, nombre, edad, genero, ubicacion FROM
pacientes WHERE id = ?";
Paciente paciente = null;

try (Connection connection = getConnection();


PreparedStatement preparedStatement =
connection.prepareStatement(selectQuery)) {
preparedStatement.setInt(1, id);

ResultSet resultSet = preparedStatement.executeQuery();

if (resultSet.next()) {
paciente = new Paciente(resultSet.getInt("id"), resultSet.getString("nombre"),
resultSet.getString("edad"), resultSet.getString("genero"),
resultSet.getString("ubicacion"));
}
} catch (SQLException e) {
e.printStackTrace();
}

return paciente;
}

public void update(Paciente paciente) {

Descargado por Victor Bolivar


lOMoA

8
String updateQuery = "UPDATE pacientes SET nombre = ?, ubicacion = ?
WHERE id = ?";

try (Connection connection = getConnection();


PreparedStatement preparedStatement =
connection.prepareStatement(updateQuery)) {
preparedStatement.setString(1, paciente.getNombre());
preparedStatement.setString(2, paciente.getUbicacion());
preparedStatement.setInt(3, paciente.getId());

preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}

public void delete(int id) {


String deleteQuery = "DELETE FROM pacientes WHERE id = ?";

try (Connection connection = getConnection();


PreparedStatement preparedStatement =
connection.prepareStatement(deleteQuery)) {
preparedStatement.setInt(1, id);

preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

De igual forma, este desarrollo se realizó en base a un modelo POM o "Modelo de Objeto

de Proyecto" que en Maven se refiere a un archivo XML (pom.xml) que se utiliza para

definir y configurar un proyecto de software. El POM contiene información esencial

sobre el proyecto, como sus dependencias, plugins, configuraciones, información del

grupo y del artefacto, entre otros detalles. En nuestro caso, allí ubicamos la biblioteca

JDBC (Java Database Connectivity) que es una API de Java que permite a un desarrollo

Descargado por Victor Bolivar


lOMoA

9
de Java interactuar con bases de datos relacionales. A continuación adjuntamos el archivo

pom.xml.

<?xml version="1.0" encoding="UTF-8"?>


<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.areandina.jdbc</groupId>
<artifactId>jdbc</artifactId>
<version>1.0.0</version>

<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.35</version>
</dependency>
</dependencies>

<properties>
<maven.compiler.source>20</maven.compiler.source>
<maven.compiler.target>20</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

</project>

Por último, adjuntamos la información correspondiente a la base de datos.

CREATE DATABASE IF NOT EXISTS clinicadb;


USE clinicadb;

CREATE TABLE IF NOT EXISTS pacientes (


id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100),
edad INT,
genero VARCHAR(10),
ubicacion VARCHAR(100)
);

Descargado por Victor Bolivar


lOMoA

1
INSERT INTO pacientes (nombre, edad, genero, ubicacion) VALUES ('Jorge',
33, 'Masculino', 'Cr 5 No. 69-14');
INSERT INTO pacientes (nombre, edad, genero, ubicacion) VALUES ('Sandra',
22, 'Femenino', 'Cl. 119-24');
INSERT INTO pacientes (nombre, edad, genero, ubicacion) VALUES ('Felipe',
29, 'Masculino', 'Cr 80 No. 49A-36');
INSERT INTO pacientes (nombre, edad, genero, ubicacion) VALUES ('Valentina',
27, 'Femenino', 'Cr 14 No. 18N-55');
INSERT INTO pacientes (nombre, edad, genero, ubicacion) VALUES ('Carlos',
40, 'Masculino', 'Av 32 No. 9-40');

Descargado por Victor Bolivar


lOMoA

1
6. Conclusión.

El objetivo de aprendizaje de este trabajo de investigación se centró en la

construcción de una aplicación que implemente patrones de diseño en una

arquitectura de desarrollo. A lo largo de la actividad, se destacó la importancia de

la implementación de patrones de diseño, en nuestro caso el patrón DAO, para

lograr una estructura sólida y mantenible en las aplicaciones de software.

Además, se resaltó la necesidad de integrar la Programación Orientada a Objetos

(POO) como un enfoque fundamental en el desarrollo de software.

La aplicación desarrollada incluyó una conexión a una base de datos y

proporcionó operaciones básicas para el manejo de registros (CRUD), lo que

demuestra la aplicación práctica de los conceptos aprendidos. También se enfatizó

la versatilidad de Java como lenguaje de programación lo que amplía las

posibilidades de aplicación en diversos entornos.

Podemos concluir que este taller nos permitió comprender y aplicar los principios

esenciales de diseño de software y arquitectura, lo que contribuye al desarrollo de

habilidades y conocimientos fundamentales para la construcción de aplicaciones

de calidad en el campo de la informática.

Descargado por Victor Bolivar


lOMoA

1
7. Lista de referencias.

Valentín López, G. M. (2015). Aplicaciones informáticas de bases de datos


relacionales: Access 2010: ( ed.). Editorial CEP, S.L.
https://elibro-net.proxy.bidig.areandina.edu.co/es/lc/areandina/titulos/50761

Flórez Fernández, H. A. (2012). Programación orientada a objetos usando java: ( ed.).


Ecoe Ediciones.
https://elibro-net.proxy.bidig.areandina.edu.co/es/lc/areandina/titulos/69236

Vizcaíno Barceló, A. García Rubio, F. O. & Piattini Velthuis, M. (2014). Desarrollo global
de software: ( ed.). RA-MA Editorial.
https://elibro-net.proxy.bidig.areandina.edu.co/es/lc/areandina/titulos/106438

Descargado por Victor Bolivar

También podría gustarte