Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
1
Proyecto Final
Análisis y Diseño Orientado a Componentes
Billetera Móvil Digital
Integrantes: Carlos Roberto Miranda Rocha José Solano Romero Álvaro Valdivia Calizaya Hever Guzmán Campero Ana Gabriela Nájera
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
2
Contenido 1. Introducción ............................................................................................................... 3
2. Objetivos .................................................................................................................... 4
2.1 Objetivo General .................................................................................................... 4
2.2 Objetivo Específico ................................................................................................ 4
3. Descripción de la Arquitectura .................................................................................. 4
4. Conclusiones ........................................................................................................... 15
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
3
1. Introducción
La sociedad, independientemente de su tipo, requieren constantemente de
aplicaciones informáticas que contribuyan a solucionar problemas con sus tareas
diarias, automatizar las tareas que realizan frecuentemente y que proporcionen
asistencia a la hora de tomar decisiones. Para esto se hace necesaria la
construcción de eficientes sistemas de software, estos generalmente requieren la
combinación de diferentes tecnologías y plataformas de hardware y software para
alcanzar una calidad y precio aceptable. Los sistemas de software deben ofrecer
un alto nivel de rendimiento, adaptarse a las necesidades específicas de la
sociedad y permitir la adición de nuevas funcionalidades con el menor esfuerzo
posible. La consecución de estas características exige a los profesionales
dedicados al desarrollo de software poner especial atención y cuidado en el diseño
de la arquitectura que soportará el funcionamiento del sistema.
El proyecto de billetera digital es un nuevo medio de gestión de su dinero, tiene un
gran impacto en la inclusión en la gestión financiera personal.
El presente trabajo consiste en la implementación de una Billetera digital que
permite al cliente realizar operaciones con su dinero electrónico.
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
4
2. Objetivos
2.1 Objetivo General
Implementar una billetera digital donde se pueda realizar y ver las
transacciones realizadas por el cliente.
2.2 Objetivo Específico
Llevar un control exacto del saldo con el que se cuenta en la
billetera.
Permitir realizar egresos de efectivo de la billetera.
Permitir realizar ingresos de efectivo de la billetera.
Desarrollar un sistema con una arquitectura bien estructurada y
representarla con diagramas de modelo C4.
Desarrollar un sistema de calidad en el código, implementando
UnitTest para respaldar el código.
3. Descripción de la Arquitectura
3.1. Descripción de Frameworks
Entity Framework Core:
Es un conjunto de API de acceso a datos para el Microsoft .NET Framework,
apuntando a la versión de ADO.NET que se incluye con el .NET Framework 3.5 e
implementa el Entity SQL es un lenguaje similar al SQL para consultar el Entity
Data Model (en vez del datastore subyacente). Similarmente, las extensiones del
Linq, Linq-to-Entities, proporcionan consultas tipeadas en el Entity Data Model.
ASP.NET CORE:
Es un marco web gratuito y de código abierto, tiene un mayor rendimiento que
ASP.NET, desarrollado por Microsoft y la comunidad.
https://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicacioneshttps://es.wikipedia.org/wiki/Microsoft_.NET
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
5
DEV EXTREME:
DevExtreme ASP.NET Core MVC Form es un control de edición de datos
impulsado por jQuery con un diseño personalizable. Admite ayudantes HTML
fuertemente tipados (consulte Formulario | Demostración de validación), que
proporciona validación del lado del cliente, basada en anotaciones de datos de
forma predeterminada, y se puede configurar con Razor C # o sintaxis Razor
VB. Además, DevExtreme Form se puede usar en Razor Pages (introducido en
.NET Core 2.0). DevExtreme proporciona otros widgets, como Filter, Builder,
Range, Selector, Radio Group, que son más especializados.
UNITTESTING:
Librería especializada para realizar pruebas unitarias en tecnología C# .NET
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
6
3.2. Diagrama de Contexto
@startuml 'Diagrama_Contexto_Billetera_Movil_Digital'
!include C4_Context.puml
title Diagrama de Contexto Billetera Movil Digital
Person(cliente, "CLIENTE", "Actor del sistema que puede Consultar, Transferi
r y Retirar su Dinero")
System(web, "Aplicacion Web", "Aplicacion Web para Equipo especializado que
permite realizar Retiros, Transferencias y Consultas de Dinero")
Rel(cliente,web,"Solicitud")
@enduml
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
7
3.3. Diagrama de Contenedores
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
8
@startuml 'Diagrama_Contenedores_Billetera_Movil_Digital'
!include C4_Container.puml
title Arquitectura de Software - Billetera Movil Digital
Person(cliente, "CLIENTE", "Actor del Sistema que Utiliza el Sistema para re
alizar transacciones financieras en su billetera movil digital")
Enterprise_Boundary(c0, "Billetera Movil Digital") {
Container(webclient,"CLIENT WALLET","APP WEB ASP.NET CORE", "Sistema Web
que gestiona operaciones financieras en base a solicitudes del Usuario")
Container(webapi,"API WALLET","WEB API ASP.NET CORE","Core de Servicios
Web el cual realiza las operaciones financieras desde sistemas Clientes inte
rnos o externos")
Container(testapi,"TEST API","UNIT TEST C#","Conjunto de Pruebas que Cub
ren el desarrollo del API Web")
Container(walletcore,"WALLET CORE","BIBLIOTECA DE CLASES C#","Componente
Ensamblado que tiene conexion con la base de datos para realizar operacions
sobre la capa de persistencia")
Container(testclient,"TEST CLIENT","UNIT TEST C#","Conjunto de Pruebas q
ue Cubren el Desarrollo del Client Wallet")
ContainerDb(database,"BASE DE DATOS SQL SERVER","Base de Datos que Persi
ste la Informacion del Sistema")
}
Lay_R(walletcore,webapi)
Rel(webclient, webapi, "HttpClient/HttpResponseMessage","POST/DELETE/PUT/GET
")
Rel(walletcore,database,"System.Data.EntityClient","SQL/JDBC, Port 3306")
Rel(cliente,webclient,"Utiliza")
Rel(testapi,webapi,"Referencia")
Rel(testclient,webclient,"Referencia")
Rel(webapi,walletcore,"Ensamblado")
Lay_L(cliente,c0)
@enduml
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
9
3.4. Diagrama de Componentes Aplicación Web Cliente
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
10
Aplicación API Wallet
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
11
Wallet Core
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
12
Test Api Test Client
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
13
3.5. Diagrama de Código
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
14
Proyecto Final de Modulo Análisis
y Diseño Orientado a Componentes
Modulo: Análisis y Diseño orientado a componentes
Proyecto: Billetera Digital
N° Trabajo 3
15
4. Conclusiones
Se desarrolló un sistema basado en componentes, que permite llevar un control de
flujo de efectivo, en este sistema se desarrolló una parte web y una parte de
servicios, los mismos se encuentran respaldados a nivel de código por pruebas
unitarias, esto nos da la confianza de calidad de código del sistema.
La representación arquitectónica del sistema se la realizó con el modelo C4,
donde podemos apreciar detalladamente en cada uno de los diagramas del
modelo, los diferentes componentes del sistema, desde frameworks utilizados
como (EntityFramework, ASP.NEt CORE, DevExpress, UnitTesting), hasta los
componentes implementados por el mismo desarrollador como ser los servicios y
la parte web del sistema.