billetera móvil digital · 2019. 11. 16. · asp.net core: es un marco web gratuito y de código...

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 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

Upload: others

Post on 16-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • 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.