Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Modelo del primer Proyecto, Resúmenes de Tecnología de la Información

Modelo de la defensa del primer proyecto de tecnologia web email

Tipo: Resúmenes

2021/2022

Subido el 13/07/2022

homero-thonson
homero-thonson 🇧🇴

5 documentos

1 / 51

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
i
TECNOLOGIA WEB - GRUPO 09 "SA"
Universidad Autónoma Gabriel René Moreno
Facultad de Ciencias de la Computación y
Telecomunicaciones
TECNOLOGIA WEB INF513-SA
Proyecto No. 2: Sistema vía Web (Final)
MI TIENDAEN LINEA
GRUPO09-SA
Estudiantes:
Santa Cruz de la Sierra, 11 de diciembre del 2021
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33

Vista previa parcial del texto

¡Descarga Modelo del primer Proyecto y más Resúmenes en PDF de Tecnología de la Información solo en Docsity!

i

Universidad Autónoma Gabriel René Moreno

Facultad de Ciencias de la Computación y

Telecomunicaciones

TECNOLOGIA WEB INF513-SA

Proyecto No. 2: Sistema vía Web (Final)

MI TIENDAEN LINEA

GRUPO09-SA

Estudiantes:

Santa Cruz de la Sierra, 11 de diciembre del 20 21

ii

iv

  • CAPITULO 1: PERFIL Contenido
    • 1.1. Introducción
    • 1.2. Antecedentes
    • 1.2 Ubicación de la empresa
    • 1.3 Descripción del problema
    • 1.4 Objetivos
    • 1.6 Justificación................................................................................................
    • 1.7 Alcance
    • 1.8 Elementos del Sistema...............................................................................
      • 1.8.1 Hardware
      • 1.8.2 Software
      • 1.8.3 Datos
      • 1.8.4 Personas
      • 1 .8.5 Procesos
    • 1.9 Tecnologías para el desarrollo de software
      • 1.9.1 Sistema Operativo
      • 1.9.2 Sistema gestor de Base de Datos
      • 1.9.3 Herramientas CASE
      • 1.9.4 Entorno de desarrollo - PHPSTORM.......................................................
  • CAPITULO 2: MARCO TEORICO
    • 2.1 LARAVEL.......................................................................................................
  • CAPITULO 3: MODELOS......................................................................................
    • 3.1 FLUJO DE TRABAJO: CAPTURA DE REQUISITOS
      • 3.1.1 Identificación de actores y casos de uso
      • 3.1.2 Priorización de casos de uso iii
      • 3.1.3 Detalle de casos de uso
      • 3.1.4 Diagrama general de casos de uso
    • 3.2. FLUJO DE TRABAJO: ANALISIS
      • 3.2.1 Análisis de la arquitectura
      • 3.2.2 Análisis de Casos de uso
      • 3.2.3 Análisis de paquete
    • 3.3 FLUJO DE TRABAJO: DISEÑO
      • 3.3.1 Diseño de arquitectura
      • 3.3.2 Diagramas de navegación
      • 3.3.3 DISEÑO LÓGICO DE LA BASE DE DATOS
      • 3.3.4 DIAGRAMA CONCEPTUAL DE LA BASE DE DATOS
      • 3.3.5 DIAGRAMA GENERAL DE CLASE
      • 3.3.6 INTERFACES DE LA APLICACIÓN.....................................................
  • BIBLIOGRAFÍA
  • Figura 1: Organigrama de la Empresa INDICE DE FIGURAS
  • Figura 2: Sucursal Supermecado Tia
  • Figura 3: MVC laravel
  • Figura 4: Arquitectura de Laravel……………………………………………………...
  • Figura 5 : Vista de los clients…………………………………………………………...
  • Figura 6: Vista del Gerente...................................................................................
  • Figura 7: Vista del Encargado

CAPITULO 1: PERFIL En el presente capítulo se detallan el plan de proyecto, introducción, antecedentes, objetivos, descripción del problema, situación problemática y el alcance del proyecto.

1.1. Introducción

El constante crecimiento del internet a nivel mundial, la globalización, la tecnología y las comunicaciones, hacen que el público demande nuevas maneras de obtener productos o poder realizar compras, demandando no solo calidad, sino que también esperan que se les brinde mayor accesibilidad a los servicios ya disponibles, y una mejor atención al cliente. El correo electrónico es una de las aplicaciones TCP/IP más utilizadas en estos días. El correo electrónico es un recurso tecnológico que nos permite comunicarnos desde cualquier parte del mundo a través de Internet. El correo electrónico (también conocido como e-mail, un término inglés derivado de electronic mail) es un servicio que permite el intercambio de mensajes a través de sistemas de comunicación electrónicos. El concepto se utiliza principalmente para denominar al sistema que brinda este servicio vía Internetmediante el protocolo SMTP (Simple Mail Transfer Protocol), pero también permite nombrar a otros sistemas similares que utilicen distintas tecnologías. Los mensajes de correo electrónico posibilitan el envío, además de texto, de cualquier tipo de documento digital. El funcionamiento del correo electrónico es similar al del correo postal. Ambos permiten enviar y recibir mensajes, que llegan a destino gracias a la existencia de una dirección. El correo electrónico también tiene sus propios buzones: son los servidores que guardan temporalmente los mensajes hasta que el destinatario los revisa.

1.2. Antecedentes

El correo electrónico antecede a Internet, y, de hechopara que ésta pudiera ser creada, fue una herramienta crucial. En una demostración del MIT (Massachusetts Institute of Technology) de 1961, se exhibió un sistema que permitía a varios usuarios ingresar a una IBM 7094 desde terminales remotas, y así guardar archivos en el disco. Esto hizo posible que surjan nuevas formas de compartir información. El correo electrónico comenzó a utilizarse en 1965 en una supercomputadora de tiempo compartido y, para 1966, se había extendido rápidamente para utilizarse en las redes de computadoras. El correo electrónico fue creado en 1971 por RayTomlinson, un ingeniero de BoltBeranek and Newman, la empresa encargada de poner en marcha Arpanet. Tomlinson no consideró realizar un invento importante. A pesar de que no existía la manera de enviar mensajes de manera unipersonal

Objetivos específicos

 Recabar información del funcionamiento y de los procesos de negocio del supermercado.  Analizar la información obtenida en la investigación para cubrir los requerimientos del negocio.  Identificar los requisitos funcionales del sistema a través de los requerimientos del usuario.  Diseñar e implementar una base de datos utilizando un SGBD “MySQLWorkBench”, capaz de soportar todos los requerimientos que se están estableciendo.  Diseñar una interfaz gráfica fácil de manejar para los clientes que vayan a realizar pedidos, así como para los administradores.  Implementar el sistema utilizando un lenguaje de programación PHP 5.6 y un framework de desarrollo laravel 5.  Realizar pruebas pertinentes y necesarias sobre el buen funcionamiento del sistema, analizando que cumplan todos los requerimientos planteados previos al desarrollo.

Misión

Brindar permanentemente calidad en la atención y el servicio para satisfacer las necesidades y requerimientos de nuestros clientes a través de la mejora continua en cada uno de nuestros productos, con base en un espíritu noble de responsabilidad social.

Visión

Ser la cadena de Supermercados líder a nivel nacional, en servicio al cliente, variedad de productos, precios accesibles y proyección comunitaria.

Organización

Figura 1 : Organigrama de la Empresa

Fuente: Supermercados Tia

1.2 Ubicación de la empresa

La Empresa de Supermercado Tia se encuentra ubicado en la calle 24 de septiembre esquina Cuellar Central: Calle 24 de Septiembre esquina Cuellar

Sucursales

 Sucursal Urbari:

Dirección : 2do Anillo Av. 26 de Febrero entre Pirai y Grigota

 Sucursal Alemana:

Dirección: Av. Alemana entre 3 y 4 Anillo

1.3 Descripción del problema

La tienda TIA es uno de los supermercados más conocidos y grandes que llegan a muchos lugares de Santa Cruz de la sierra, algunos de estos supermercados no cuentan con un servicio de correo electrónico para brindar información de manera eficiente.

Figura 2 : Sucursal Supermecado Tia

Fuente: Google Maps

1.8 Elementos del Sistema

1.8.1 Hardware Los recursos físicos necesarios para el funcionamiento del sistema serán:  Servidor IBM 1.8.2 Software Entre los recursos lógicos, manejaremos los siguientes:  Sistema Operativo Fedora 24 (64 bits) 1.8.3 Datos Entre los datos que manejará el sistema tenemos:  Producto  Clientes  Encargado  Gerente

 Reservas

1.8.4 Personas Quien o quienes tendrán acceso al sistema:  Cliente  Encargado de zona  Gerente 1 .8.5 Procesos Las políticas de Negocios a seguir son:  Gestión usuarios  Gestión clientes  Gestión productos  Gestión categoría productos  Gestión promoción de los productos

1.9 Tecnologías para el desarrollo de software

1.9.1 Sistema Operativo El Sistema operativo utilizado como plataforma para nuestro proyecto es Fedora 24 ya que es un sistema que cumple con todos los requerimientos necesarios, y además de gratuito. 1.9.2 Sistema gestor de Base de Datos Las características que pueda tener un Gestor de Base de Datos es muy importante, ya que tienen que cumplir con exigencias transaccionales y de ella depende en gran medida el buen funcionamiento de la base de datos y su vida útil, entre las más importantes se pueden mencionar los siguientes:  Control de redundancia de datos que evita que los usuarios tengan información repetida y que provoca problema en la administración.  Restricción de acceso no autorizado para crear cuentas y asignar privilegios, de acceso evitando el ingreso de personas no autorizadas a ciertas operaciones, esta característica es vita en un Gestor de Base de Datos.  Representación de vínculos complejos entre datos sin perder os enlaces manteniendo con rapidez y eficacia datos que estén mutuamente relacionados.  Cumplir con las restricciones de integridad, como el tamaño de los datos establecidos en la base de datos, no todas las restricciones podrán se especificadas en el Gestor de datos, no todas las restricciones podrán se especificadas en el Gestor de Base de Datos, otras pueden requerir verificación mediante programas de actualización cuando se introduce los datos.  Respaldo y recuperación de los datos cuando ocurren fallas en el sistema. Características operacionales  Transacciones (transactions)  Disparadores (triggerd)  Backup y recuperación (Backup and Recovery)  Procedimientosalmacenados  IntegridadReferencial Tomando en cuenta las características analizadas elegimos como gestor de Base de Datos PostgreSQL que es gratuito y cumple con todas las exigencias mencionadas con anterioridad. 1.9.3 Herramientas CASE Se utilizará Enterprise Architect 9.3 (EA) que es una herramienta flexible, completa y potente de modelado en UML bajo plataforma Windows. Provee lo más nuevo en desarrollo de sistemas, administración de proyectos y análisis de negocio.EA es una herramienta que abarca integralmente

CAPITULO 2: MARCO TEORICO

2 .1 LARAVEL

Laravel es un framework de código abierto para el desarrollo de aplicaciones web en PHP 5 que posee una sintaxis simple, expresiva y elegante. Fue creado en 2011 por Taylor Otwell, inspirándose en Ruby on Rails y Symfony, de los cuales ha adoptado sus principales ventajas. Laravel facilita el desarrollo simplificando el trabajo con tareas comunes como la autenticación, el enrutamiendo, gestión sesiones, el almacenamiento en caché, etc. Algunas de las principales características y ventajas de Laravel son: Esta diseñado para desarrollar bajo el patrón MVC (modelo - vista - controlador), centrándose en la correcta separación y modularización del código. Lo que facilita el trabajo en equipo, así como la claridad, el mantenimiento y la reutilización del código. Integra un sistema ORM de mapeado de datos relacional llamado Eloquent aunque también permite la construcción de consultas directas a base de datos mediante su Query Builder. Permite la gestión de bases de datos y la manipulación de tablas desde código, manteniendo un control de versiones de las mismas mediante su sistema de Migraciones. Utiliza un sistema de plantillas para las vistas llamado Blade, el cual hace uso de la cache para darle mayor velocidad. Blade facilita la creación de vistas mediante el uso de layouts, herencia y secciones. Facilita la extensión de funcionalidad mediante paquetes o librerías externas. De esta forma es muy sencillo añadir paquetes que nos faciliten el desarrollo de una aplicación y nos ahorren mucho tiempo de programación. Incorpora un intérprete de línea de comandos llamado Artisan que nos ayudará con un montón de tareas rutinarias como la creación de distintos componentes de código, trabajo con la base de datos y migraciones, gestión de rutas, cachés, colas, tareas programadas, etc.

MVC: Modelo - Vista - Controlador

El modelo–vista–controlador (MVC) es un patrón de arquitectura de software que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario. Este patrón de arquitectura de software se basa en las ideas de reutilización de código y la separación de conceptos, características que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento.

Figura 3 : MVC laravel

Fuente: www.laravel.com

De manera genérica, los componentes de MVC se podrían definir como sigue:  El Modelo: Es la representación de la información con la cual el sistema opera, por lo tanto gestiona todos los accesos a dicha información, tanto consultas como actualizaciones. Las peticiones de acceso o manipulación de información llegan al 'modelo' a través del 'controlador'.  El Controlador: Responde a eventos (usualmente acciones del usuario) e invoca peticiones al 'modelo' cuando se hace alguna solicitud de información (por ejemplo, editar un documento o un registro en una base de datos). Por tanto se podría decir que el 'controlador' hace de intermediario entre la 'vista' y el 'modelo'.  La Vista: Presenta el 'modelo' y los datos preparados por el controlador al usuario de forma visual. El usuario podrá interactuar con la vista y realizar otras peticiones que se enviarán al controlador.

Instalación de Laravel

 .env – Este fichero ya lo hemos mencionado en la sección de instalación, se utiliza para almacenar los valores de configuración que son propios de la máquina o instalación actual. Lo que nos permite cambiar fácilmente la configuración según la máquina en la que se instale y tener opciones distintas para producción, para distintos desarrolladores, etc. Importante, este fichero deberí a estar en el .gitignore.  composer.json – Este fichero es el utilizado por Composer para realizar la instalación de Laravel. En una instalación inicial únicamente se especificará la instalación de un paquete, el propio framework de Laravel, pero podemos especificar la instalación de otras librerías o paquetes externos que añadan funcionalidad a Laravel.

Carpeta App

La carpeta app es la que contiene el código principal del proyecto, como son las rutas, controladores, filtros y modelos de datos. Si accedemos a esta carpeta veremos que contiene a su vez muchas sub-carpetas, pero la principal que vamos a utilizar es la carpeta Http:  app/Http/Controllers – Contiene todos los archivos con las clases de los controladores que sirven para interactuar con los modelos, las vistas y manejar la lógica de la aplicación.  app/Http/Middleware – Son los filtros o clases intermedias que podemos utilizar para realizar determinadas acciones, como la validación de permisos, antes o después de la ejecución de una petición a una ruta de nuestro proyecto web.  app/Http/routes.php – Este documento define todas las rutas de nuestro sitio web, enlazando una URL del navegador con un método de un controlador. Además nos permite realizar validaciones (mediante Middleware ) y otras operaciones sobre las rutas de nuestro sitio. Además de esta carpeta encontraremos muchas otras como Console , Events , Exceptions , Jobs , Listeners , Policies y Providers. Más adelante veremos algunas de estas carpetas pero de momento la única que vamos a utilizar es Http. En la raíz de app también podemos encontrar el fichero User.php. Este fichero es un modelo de datos que viene predefinido por Laravel para trabajar con los usuarios de la web, que incluye métodos para hacer login, registro, etc. En el capítulo sobre bases de datos hablaremos más sobre esto.

Funcionamiento básico

El funcionamiento básico que sigue Laravel tras una petición web a una URL de nuestro sitio es el siguiente:  Todas las peticiones entran a través del fichero public/index.php, el cual en primer lugar comprobará en el fichero de rutas (app/Http/routes.php) si la URL es válida y en caso de serlo a que controlador tiene que hacer la petición.  A continuación se llamará al método del controlador asignado para dicha ruta. Como hemos visto, el controlador es el punto de entrada de las peticiones del usuario, el cual, dependiendo de la petición: o Accederá a la base de datos (si fuese necesario) a través de los "modelos" para obtener datos (o para añadir, modificar o eliminar). o Tras obtener los datos necesarios los preparará para pasárselos a la vista.  En el tercer paso el controlador llamará a una vista con una serie de datos asociados, la cual se preparará para mostrarse correctamente a partir de los datos de entrada y por último se mostrará al usuario. A continuación se incluye un pequeño esquema de este funcionamiento:

Figura 4 : Arquitectura de Laravel

Fuente: https://ajgallego.gitbooks.io/laravel-5/content/

 CU 9 : OBTENER REPORTES

 CU10: PERSONALIZAR INTERFAZ

3.1.2 Priorización de casos de uso

CASO DE USO PRIORIDAD

CU1: LOGIN Alta

CU2: GESTIONAR CIENTES Alta

CU3: GESTIONAR ENCARGADOS Alta

CU4: GESTIONAR ZONAS Media

CU5: GESTIONAR CATEGORIAS Baja

CU6: GESTIONAR PRODUCTOS Alta

CU7: GESTIONAR PEDIDOS Alta

CU8: GESTIONAR PROMOCIONES Baja

CU9: OBTENER REPORTES Media

CU10: PERSONALIZAR INTERFAZ Baja

3.1.3 Detalle de casos de uso

CU1: LOGIN

Caso de Uso CU1: Login

Propósito Ingresar al sistema

Actores Usuario

Actor Iniciador Usuario

Pre Condición -

Flujo Principal Hacer login

 Ingresar el correo y contraseña  Hacer click en Login uc cu1 Login cu1 Login Usuario (from Actores)

Excepción -

Post Condición -

CU2: GESTIONAR CIENTES

Caso de Uso CU2: Gestionar clientes

Propósito Gestionar las cuentas de usuario para los clientes

Actores Cliente

Actor Iniciador Cliente

Pre Condición CU1: Login

Flujo Principal Registrar^ cliente.

 Introducir los datos para registrar al cliente (nombre, correo, contraseña).  Hacer click en registrar

Excepción ^ El^ correo^ ya^ está usado.

 Error en los tipos de datos introducidos.  Error campos no rellenados

Post Condición -

uc cu2 Gestionar clientes Cliente (from Actores) cu2 Gestionar clientes (^) «include» cu1 Login