Escolar Documentos
Profissional Documentos
Cultura Documentos
INGENIERÍA
FACULTAD DE INGENIERÍA INDUSTRIAL Y DE
SISTEMAS
ENTREGABLE FINAL
SISTEMA DE FERRETERÍA
INTEGRANTES :
1
Índice
CAPITULO I. PERFIL DEL PROYECTO ................................................................................. 4
Objetivo ............................................................................................................................ 4
Misión .............................................................................................................................. 4
Visión ............................................................................................................................... 4
La Empresa........................................................................................................................ 4
4.1. Misión de Ferretería......................................................................................................................... 4
4.1. Visión de Ferretería .......................................................................................................................... 5
MODELO DEL NEGOCIO ...................................................................................................... 5
5.1. Identificación de los procesos del negocio ....................................................................................... 5
5.2. Identificación de los actores del entorno del negocio ..................................................................... 6
5.3. Descripción Breve del Proyecto ..................................................................................................... 13
5.4. Metodología a emplear .................................................................................................................. 13
Recursos a emplear ......................................................................................................... 14
6.1. Recursos Software ......................................................................................................................... 14
6.2. Recursos Hardware ........................................................................................................................ 15
6.3. Recursos Humanos ......................................................................................................................... 15
Costos y Beneficios ......................................................................................................... 16
Diagrama de Gantt ......................................................................................................... 17
CAPITULO II. ANÁLISIS ............................................................................................... 20
Requerimientos Funcionales ........................................................................................... 20
Requerimientos No Funcionales (RNF)............................................................................. 22
2.1. Diagramas Casos de Uso ................................................................................................................ 23
Identificación de los actores del entorno del negocio ....................................................... 24
Diagramas de Actividades ............................................................................................... 32
4.1. Diagrama de Actividades Ingresar Catálogos ................................................................................ 32
4.2. Diagrama de Actividades Ingresar Compras .................................................................................. 33
4.3. Diagrama de Actividades Ingresar Proveedor ............................................................................... 34
4.4. Diagrama de Actividades Ingresar Ventas ..................................................................................... 35
2
3.2. Diagrama de Secuencias Consultar Catálogo................................................................................. 40
3.3. Diagrama de Secuencias Consultar Pedido.................................................................................... 41
3.4. Diagrama de Secuencias Consultar Proveedor .............................................................................. 42
3.5. Diagrama de Secuencias Consultar Ventas .................................................................................... 42
3.6. Diagrama de Secuencias Facturación ............................................................................................ 43
3.7. Diagrama de Secuencias Ingresar Catálogo ................................................................................... 44
3.8. Diagrama de Secuencias Ingresar Compras ................................................................................... 45
Diagramas de Estados ..................................................................................................... 46
4.1. Diagrama de Estados Compra........................................................................................................ 46
4.2. Diagrama de Estados Pedido ......................................................................................................... 47
4.3. Diagrama de Estados Producto ..................................................................................................... 48
4.4. Diagrama de Estados Venta ........................................................................................................... 48
Diagrama de Despliegue ................................................................................................. 49
Diagrama de Clases (Físico) ............................................................................................. 50
CAPITULO IV. INTERFACES ........................................................................................... 51
Árbol de Interfaces ......................................................................................................... 51
Interfaces ....................................................................................................................... 52
2.1. Seguridad ....................................................................................................................................... 52
2.2. Registro .......................................................................................................................................... 53
2.3. Consulta ......................................................................................................................................... 54
2.4. Operacional ................................................................................................................................... 55
2.5. Catálogo de Productos................................................................................................................... 57
Código fuente ................................................................................................................. 58
3.1. Main ............................................................................................................................................... 58
3.2. Controller ....................................................................................................................................... 59
3.3. FXML .............................................................................................................................................. 61
3
CAPITULO I. PERFIL DEL PROYECTO
OBJETIVO
Implementar un sistema que permita a la empresa:
MISIÓN
El presente proyecto tiene como misión desarrollar un sistema para la gestión de pedidos, compras,
catálogos, ventas para una empresa ferretera con los procesos de acuerdo a los requerimientos
especificados, así como las actividades de verificación, validación, revisión conjunta y solución de
problemas, para lo que se mantendrá la documentación adecuada del desarrollo del presente trabajo
con el fin de obtener un producto software confiable, seguro y útil de acuerdo a las necesidades de la
empresa.
VISIÓN
A través de este proyecto se espera satisfacer los requerimientos actuales de la empresa para una mejor
atención al cliente desempeñando las tareas de apoyo adecuadas para los usuarios de la empresa y para
el cliente de modo que sea un modelo idóneo para la implementación del software que perdure en el
tiempo.
LA EMPRESA
El sistema tiene como necesidad suplir el registro manual de las actividades de registro diarios de
ventas, el control de existencia, el pedido a proveedores y un manejo mas especifico de un
catálogo de los productos, lo ultimo es importante debido a que nos permite apreciar que articulo
o producto posee mayor rotación implicando una mayor demanda.
4
4.1. Visión de Ferretería
La empresa espera ser líder, gestora y promotora del desarrollo sostenible y control ambiental a
nivel nacional para una mejor calidad de vida que compromete al desarrollo del país. Así mismo
Internacionalizar los servicios brindados.
Gestion Compras
Proveedor
Gestion Proveedores
Personal Logistica
Gestion Ventas
Personal Ventas
Gestion Pedidos
Cliente
Gestion Catalogos
Adiministrador BD
5
5.2. Identificación de los actores del entorno del negocio
ACT01
Personal Logistica
Modificar Proveedor Consutar Proveedor
ACT02
Personal Ventas
Modificar Pedido Consultar Pedido
Adiministrador BD
6
Ingresar Proveedor Consutar Proveedor Ingresar Compras
ACT04
Proveedor
Registrar Compras
ACT05
Cliente
Modificar Pedido Consultar Pedido
Gestión Compras
1. Proceso de Negocio Ingresar Compras
2. Objetivo
3. Actores Personal Logístico (Principal)
Proveedor (Secundario)
4. Pre-condiciones
5. Flujo de Eventos
1) El actor Usuario introduce el número de compra
2) El sistema verifica la información
3) El actor Usuario introduce los datos referentes a dicha compra
4) El sistema evalúa si los datos introducidos son válidos
5) El sistema pide confirmación sobre los datos introducidos
6) El actor Usuario asiente la confirmación
7) El sistema guarda la información
8) El sistema finaliza el caso de uso correctamente
6. Post-condiciones
7. Excepciones
8. Versión 1.0
9. Tiempo de Ejecución
10. Diagrama de Actividades
7
11. Diagrama de Caso de uso
Ingresar Compras
Proveedor
Personal Logistica
Registrar Compras
8
Gestión Proveedor
1. Proceso de Negocio Ingresar Proveedor
2. Objetivo
3. Actores Personal Logístico (Principal)
Proveedor (Secundario)
4. Pre-condiciones
5. Flujo de Eventos
1) El actor Usuario introduce el ID del proveedor
2) El sistema verifica la información
3) El actor Usuario introduce los datos referentes a dicho pedido
4) El sistema evalúa si los datos introducidos son válidos
5) El sistema pide confirmación sobre los datos introducidos
6) El actor Usuario asiente la confirmación
7) El sistema guarda la información
8) El sistema finaliza el caso de uso correctamente
6. Post-condiciones
7. Excepciones
8. Versión
9. Tiempo de Ejecución
10. Diagrama de Actividades
Ingresar Proveedor
Modificar Proveedor
Personal Logistica
Proveedor
Consutar Proveedor
9
Gestion Ventas
1. Proceso de Negocio Ingresar Ventas
2. Objetivo
3. Actores Personal Ventas (Principal)
Cliente (Secundario)
4. Pre-condiciones
5. Flujo de Eventos
1) El actor Usuario introduce el número de venta
2) El sistema verifica la información
3) El actor Usuario introduce los datos referentes a dicha venta
4) El sistema evalúa si los datos introducidos son válidos
5) El sistema pide confirmación sobre los datos introducidos
6) El actor Usuario asiente la confirmación
7) El sistema guarda la información
8) El sistema finaliza el caso de uso correctamente
6. Post-condiciones
7. Excepciones
8. Versión
9. Tiempo de Ejecución
10. Diagrama de Actividades
Ingresar Ventas
Cliente
Consultar Ventas
Personal Ventas
Gestion Pedido
1. Proceso de Negocio Ingresar Pedido
2. Objetivo
3. Actores Personal Ventas (Principal)
10
Cliente (Secundario)
4. Pre-condiciones
5. Flujo de Eventos
1) El actor Usuario introduce el número de pedido
2) El sistema verifica la información
3) El actor Usuario introduce los datos referentes a dicho pedido
4) El sistema evalúa si los datos introducidos son válidos
5) El sistema pide confirmación sobre los datos introducidos
6) El actor Usuario asiente la confirmación
7) El sistema guarda la información
8) El sistema finaliza el caso de uso correctamente
6. Post-condiciones
7. Excepciones
8. Versión 1.0
9. Tiempo de Ejecución
10. Diagrama de Actividades
Ingresar Pedido
Modificar Pedido
Personal Ventas Cliente
Consultar Pedido
11
Gestion Catálogo
1. Proceso de Negocio Ingresar Catálogo
2. Objetivo
3. Actores Administrador BD (Principal)
4. Pre-condiciones
5. Flujo de Eventos
1) El actor Usuario introduce el ID del catálogo
2) El sistema verifica la información
3) El actor Usuario introduce los datos referentes a dicho catálogo
4) El sistema evalúa si los datos introducidos son válidos
5) El sistema pide confirmación sobre los datos introducidos
6) El actor Usuario asiente la confirmación
7) El sistema guarda la información
8) El sistema finaliza el caso de uso correctamente
6. Post-condiciones
7. Excepciones
8. Versión 1.0
9. Tiempo de Ejecución
10. Diagrama de Actividades
Ingresar Catálogo
Modificar Catálogo
Adiministrador BD
Consultar Catálogo
12
5.3. Descripción Breve del Proyecto
Descripción general
Los destinatarios y usuarios a lo que el sistema está destinado es para una área en la cual cuenta
con un gran gama de productos y un nivel de detalle y especificación de estos que hace al
usuario del sistema De Ferretería adquirir una pronta experticia en el manejo de este sistema ,
se puede apreciar que en la parte de captura de requerimientos queda establecida la
familiaridad que el usuario tiene con las herramientas informatizadas y por tal no posee un
desconocimiento de las tendencias en este rubro y este se debe a que anteriormente el contaba
con un sistema para el manejo de su negocio pero era insuficiente y este se debe al continuo
crecimiento de su negocio (incorporación de nuevo stock, incorporación de nuevos
proveedores, nuevo catálogo de productos), y el sistema anterior no consideraba tales aristas
y como también era un paquete a medida su adaptabilidad se hizo imposible.
A partir de este precedente el usuario visualizaba lo que pretendía como sistema y esto
porque conocía las limitaciones del sistema anterior lo que se tradujo por parte nuestra en un
mayor entendimiento de los requerimientos del sistema de Ferretería.
Limitaciones generales
13
RECURSOS A EMPLEAR
6.1. Recursos Software
IntelliJ IDEA version 2017.2.3, IDE Multilenguaje para diseñar, codificar, y
desarrollar sitios web, páginas, y aplicaciones. Ofrece facilidades para la escritura
de código, así como también determina errores en el mismo, brindando
sugerencias, otorgando la posibilidad de escoger entre múltiples sugerencias de
autocompletado. Entre los tipos de documentos que se pueden crear se tienen:
HTML, PHP, ASP VBScript, CSS, Java, FXML, ASP, JavaScript, entre otros.
Licencia de IntelliJ IDEA version 2017.2.3, para cuya activación se necesita disponer
de una licencia otorgada a un correo electrónico de un usuario.
Adobe Fireworks CS3 versión 9.0.0.1198, editor de imágenes para las páginas web.
Tomcat Apache versión 9, Programa que permite instalar en conjunto Apache, Java
y conectar a la base de datos MySQL, PostgreSQL, Oracle, entre otros.
Ubuntu 17.04 Zesty Zapus: Lanzado el 13 de abril del 2017. Incluye Unity 8 como
entorno de escritorio.
Sistema Operativo Ubuntu 17.04 Zesty Zapus; Ubuntu 17.04 Zesty Zapus;
Navegador Web como Mozilla Navegador Web Mozilla
Firefox v3 o v3.5, o Google Firefox v3.5
Chrome v36.0+
14
6.2. Recursos Hardware
Tarjeta de Video AMD Radeon Graphics Serie AMD Radeon Graphics Serie R9
R5 M200 M200
Requisitos Mínimos:
x 1024
1 analista de Sistemas.
COSTOS Y BENEFICIOS
Descripción Costos
Ubuntu 17.04 Zesty Zapus $ 0.00
16
DIAGRAMA DE GANTT
Taller de Ingeniería de Software
Perfil del Proyecto 17 - II
18
Taller de Ingeniería de Software
Perfil del Proyecto 17 - II
19
CAPITULO II. ANÁLISIS
REQUERIMIENTOS FUNCIONALES
El sistema debe:
1. Facilitar el registro de usuarios de Ferretería S.A.
Reglas:
Debe registrarse el número de DNI.
Debe registrarse los nombres y apellidos.
Debe registrarse el número de teléfono celular.
Debe registrarse el email del usuario.
Debe registrarse el código de licencia de usuario.
21
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
De arquitectura
La aplicación debe operar en un ambiente web, que comprenda una capa de usuarios,
otra para la lógica del negocio y otra para los datos. Debe incluir web services para la
posibilidad de acceso a información tanto de clientes, conductores y vehículos desde
una central hacia cualquier otra haciendo uso de una Pc o un dispositivo móvil.
De documentación
Debe documentarse el sistema, las pruebas, así como entregar los manuales para la
administración, la operación y para el trabajo de los usuarios finales.
De seguridad
De fiabilidad
De mantenibilidad
De usabilidad
Debe construirse utilizando el lenguaje y términos del negocio, así como un diseño
amigable a los usuarios.
22
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
De perform
Todo inconveniente o reclamo por los servicios prestados debe resolverse en primera
instancia a nivel de conciliación, caso contrario se resolverá en décimo primer juzgado
en lo civil de Lima.
Gestion Compras
Proveedor
Gestion Proveedores
Personal Logistica
Gestion Ventas
Personal Ventas
Gestion Pedidos
Cliente
Gestion Catalogos
Adiministrador BD
23
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
ACT01
Personal Logistica
Modificar Proveedor Consutar Proveedor
ACT02
Personal Ventas
Modificar Pedido Consultar Pedido
24
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
ACT03
Adiministrador BD
Consultar Catálogo
ACT04
Proveedor
Ingresar Compras Registrar Compras
ACT05
Cliente
Modificar Pedido Consultar Pedido
25
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Gestión Compras
12. Proceso de Negocio Ingresar Compras
13. Objetivo
14. Actores Personal Logístico (Principal)
Proveedor (Secundario)
15. Pre-condiciones
18. Excepciones
26
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Ingresar Compras
Proveedor
Personal Logistica
Registrar Compras
27
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Gestión Proveedor
12. Proceso de Negocio Ingresar Proveedor
13. Objetivo
14. Actores Personal Logístico (Principal)
Proveedor (Secundario)
15. Pre-condiciones
18. Excepciones
19. Versión
20. Tiempo de Ejecución
21. Diagrama de Actividades
Ingresar Proveedor
Modificar Proveedor
Personal Logistica
Proveedor
Consutar Proveedor
28
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Gestion Ventas
12. Proceso de Negocio Ingresar Ventas
13. Objetivo
14. Actores Personal Ventas (Principal)
Cliente (Secundario)
15. Pre-condiciones
18. Excepciones
Ingresar Ventas
Cliente
Consultar Ventas
Personal Ventas
29
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Gestion Pedido
12. Proceso de Negocio Ingresar Pedido
13. Objetivo
14. Actores Personal Ventas (Principal)
Cliente (Secundario)
15. Pre-condiciones
18. Excepciones
Ingresar Pedido
Modificar Pedido
Personal Ventas Cliente
Consultar Pedido
30
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Gestion Catálogo
12. Proceso de Negocio Ingresar Catálogo
13. Objetivo
14. Actores Administrador BD (Principal)
15. Pre-condiciones
18. Excepciones
Ingresar Catálogo
Modificar Catálogo
Adiministrador BD
Consultar Catálogo
31
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
DIAGRAMAS DE ACTIVIDADES
4.1. Diagrama de Actividades Ingresar Catálogos
32
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
33
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
34
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
35
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
En este diagrama se muestran los nodos, los componentes que contienen y sus respectivas
relaciones, identificando el tipo de conexión.
36
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
37
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
38
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
DIAGRAMAS DE SECUENCIAS
3.1. Diagrama de Secuencias Compra
DS Compra
Adiministrador BD
Ingresa Datos
Registra
Valida
Corrige Datos
Actualiza Datos
Genera Reportes
Imprime
39
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Adiministrador BD
Ingresar Sistema
Validar Usuario
Catálogo
Consultar Catálogo
Solicitar Productos
Seleccionar Productos
Enviar Detalles
Mostrar Detalles Productos
Visualizar Detalles Productos
40
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Personal Ventas
Ingresar Sistema
Validar Usuario
Enviar Pedidos
Mostrar Pedidos
Visualizar Pedidos
Seleccionar Pedidos
Consultar Detalles Pedidos
Solicitar Detalles
Enviar Detalles
Mostrar Detalles Pedidos
Visualizar Detalles Pedidos
41
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Personal Logistica
Ingresar Sistema
Validar Datos
Proveedores
Consultar Proveedores
Solicitar Proveedores
Información Proveedores
Mostrar Proveedores
Visualiza Proveedores
Detalles Proveedores
Consultar Detalles Proveedores
Solciitar Detalles
Personal Ventas
Ingresar Sistema
Validar Usuario
Ventas
Obtener Importe
Solicitar Importe
Enviar Importe
Mostrar Importe
Pedidos
Solicitar Pedidos ObtenerPedidos()
Enviar Pedidos
Mostrar Pedidos
Productos
Solicitar Productos
Enviar Productos
Productos Obtenidos
Visualiza Detalle Ventas Lista Productos
42
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Facturación
Personal Ventas
Generación de Factura
43
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Adiministrador BD
Solicitar Guardado
44
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Actualización Stock
Ingreso a Inventario
45
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
DIAGRAMAS DE ESTADOS
4.1. Diagrama de Estados Compra
crearCompra()
COMPRA PENDIENTE
registraCompra()
cancelaCompra()
registraEntrega()
COMPRA CANCELADA
COMPRA ENTREGADA
destruirCompra()
destruirCompra()
46
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
crearPedido()
PEDIDO PENDIENTE
registrarPedido()
registraEntrega()
cancelaPedido()
cancelaPedido()
PEDIDO CANCELADO
destruirPedido()
PEDIDO RECIBIDO
destruirPedido()
47
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
registraProducto()
agotadoProducto()
PRODUCTO EN STOCK
reservaProducto()
ventaProducto() dañadoProducto()
registraVentaProducto()
registraVentaProducto()
cancelaReservaProducto()
PRODUCTO VENDIDO destruirProducto()
destruirProducto()
destruirProducto()
solicitaVenta()
VENTA SOLICITADA
registraVenta()
cancelaVenta()
destruirVenta()
destruirVenta()
48
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
DIAGRAMA DE DESPLIEGUE
En este diagrama se muestran los nodos, los componentes que contienen y sus respectivas
relaciones, identificando el tipo de conexión.
49
DIAGRAMA DE CLASES (FÍSICO)
COMPRA
- codCompra : int
- codProveedor : int
DETALLE-COMPRA - numDocumto : int
- codProducto : int 1..* - subTotal : Float 1..*
- codCompra : int 1..1 - IGV : Float
1..* - unidades : int - fecha : Date
- precioCosto : Float + compra () : void
+ detalleCompra () : void + ingresar () : void
+ consultar () : void
1..1
PROVEEDOR
- codProveedor : int
- nomProveedor : String
- rucProveedor : int
1..1
- direccionProveedor : String
- ciudadProveedor : String
PRODUCTO DETALLE-PROD-PROV - telefProveedor : int
- codProducto : int - codProducto : int - emailProveedor : String
DETALLE-VENTA - nombre : String - codProveedor : int - formulaProveedor : Float
- codProducto : int - modelo : String - precio : Float 1..* - factorProveedor : Float
- codVenta : int 1..* - cantidad : int 1..1 + proveedor () : void
+ detalleProdProv () : void
- unidades : int 1..1 - precioCosto : Float 1..1 + ingresar () : void
+ ingresar () : void
- precioVenta : Float - stock : int 1..* + consultar () : void
+ modificar () : void
- margen : Float + modificar () : void
+ detalle () : void + consultar () : void
+ producto () : void
+ ingresar () : void 1..1
1..*
+ modificar () : void
+ consultar () : void
1..1
DETALLE-PEDIDO
- codProducto : int
1..*
- codPedido : int
- unidades : int
1..*
1..1 - total : Float
- precio : Float
- codVenta : int
- subTotal : Float 1..*
- IGV : Float
- fecha : Date
+ venta () : void
+ ingresar () : void 1..1
+ consultar () : void
PEDIDO
- codPedido : int
- fecha : Date
- total : Float
+ pedido () : void
+ ingresar () : void
+ consultar () : void
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Sistema
Ferretería
Catálogo de
Seguridad Registro Consulta Operacional Ventas Compra
Productos
Orden de Detalle
Perfiles Cliente Cliente Ventas Cotizar
Compra Productos
Orden de Configurar
Proveedor Proveedor Compra Entrega
Entrega Productos
51
INTERFACES
2.1. Seguridad
2.1.1. Perfiles
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
2.2. Registro
2.2.1. Cliente
53
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
2.2.2. Proveedor
2.3. Consulta
2.3.1. Cliente
54
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
2.3.2. Proveedor
2.4. Operacional
2.4.1. Ventas
Cotizar
55
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Orden de Entrega
2.4.2. Compra
Orden de Compra
56
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Entrega
57
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
CÓDIGO FUENTE
3.1. Main
package pe.edu.uni.fiis.hardware;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
Parent root =
FXMLLoader.load(getClass().getClassLoader().getResource("filesfxml/Pro
ductos/Registro.fxml"));
ventPrinc.setTitle("HardWare Store 1.0");
ventPrinc.setScene(new Scene(root, 640, 480));
ventPrinc.setResizable(false);
ventPrinc.show();
ventPrinc.setFullScreen(true);
}
58
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
3.2. Controller
package pe.edu.uni.fiis.hardware;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
59
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
60
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
3.3. FXML
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import java.net.URL?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.text.Text?>
<GridPane alignment="TOP_CENTER" hgap = "10" vgap= "10"
xmlns="http://javafx.com/javafx/8.0.112"
xmlns:fx="http://javafx.com/fxml/1"
fx:controller="pe.edu.uni.fiis.hardware.Controller" styleClass="root">
<stylesheets>
<URL value="@../../SteelSheet/Ventas/Ventas.css" />
</stylesheets>
<padding><Insets top="25" right="25" bottom="10"
left="25"/></padding>
61
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
</columns>
</TableView>
</ScrollPane>
onAction="#handleSubmitPurchOrderBtnlist"
GridPane.columnIndex="9"
GridPane.rowIndex="5"/>
<Button id="newProv" text="Nuevo Proveedor"
onAction="#handleSubmitProvBtnNew"
GridPane.columnIndex="9"
GridPane.rowIndex="5"/>
<Button id="backPurch" text="Volver"
onAction="#handleSubmitPurchBtnBack"
GridPane.columnIndex="9"
GridPane.rowIndex="5"/>
</HBox>
</VBox>
</GridPane>
</Tab>
<Tab text="Orden de Entrega">
<GridPane alignment = "center" hgap = "10" vgap= "10">
<VBox spacing="10">
<Text id="selecProv" text="Seleccionar Proveedor"
GridPane.columnIndex="1"
GridPane.rowIndex="1"
GridPane.columnSpan="2"/>
<ScrollPane GridPane.columnIndex="1"
GridPane.rowIndex="2" >
<TableView fx:id="detalleProvPurchDeliv"
GridPane.columnIndex="0" GridPane.rowIndex="2">
<columns>
<TableColumn text="Codigo">
</TableColumn>
<TableColumn text="RUC">
</TableColumn>
<TableColumn text="Nombre Empresa">
</TableColumn>
<TableColumn text="Estado">
</TableColumn>
<TableColumn text="Monto Total
Comprado">
</TableColumn>
<TableColumn text="Fecha Registro">
</TableColumn>
<TableColumn text="Fecha Ultima
Compra">
62
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
</TableColumn>
</columns>
</TableView>
</ScrollPane>
onAction="#handleSubmitPurchDelivBtnlist"
GridPane.columnIndex="9"
GridPane.rowIndex="5"/>
<Button id="newProv" text="Nuevo Proveedor"
onAction="#handleSubmitProvBtnNew"
GridPane.columnIndex="9"
GridPane.rowIndex="5"/>
<Button id="backPurchDeliv" text="Volver"
onAction="#handleSubmitPurchDelivBtnBack"
GridPane.columnIndex="9"
GridPane.rowIndex="5"/>
</HBox>
</VBox>
</GridPane>
</Tab>
</TabPane>
</GridPane>
63
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
CAPITULO V. IMPLEMENTACIÓN
OBJETIVO
Implementar un sistema que permita a la empresa:
INTERFACES.
64
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
65
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
66
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
CODIGO
3.1. Base de Datos.
CREATE DATABASE FERRETERIA
GO
USE FERRETERIA
GO
67
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
68
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
3.2. Controller.
@FXML private TableView<cliente> detalleCli = new
TableView<cliente>();
@FXML private TableColumn<cliente, Integer> codCliente = new
TableColumn<cliente, Integer>();
@FXML private TableColumn<cliente, Integer> tipoDto = new
TableColumn<cliente, Integer>();;
@FXML private TableColumn<cliente, String> nroDto = new
TableColumn<cliente, String>();
@FXML private TableColumn<cliente, String> nomCliente = new
TableColumn<cliente, String>();
@FXML private TableColumn<cliente, String> estado = new
TableColumn<cliente, String>();
@FXML private TableColumn<cliente, String> fechaReg = new
TableColumn<cliente, String>();
@FXML private TextField codCli = new TextField();
@FXML private TextField nameCli = new TextField();
@FXML private TextField company = new TextField();
@FXML private TextField direccCli = new TextField();
@FXML private TextField provCli = new TextField();
@FXML private TextField departCli = new TextField();
@FXML private TextField zipCodeCli = new TextField();
@FXML private TextField countryCli = new TextField();
@FXML private TextField emailCli = new TextField();
@FXML private TextField nroCelCli = new TextField();
@FXML private TextArea observCli = new TextArea();
ObservableList<cliente> clients;
private void showClientDetails(String code) {
cnxCliente cnxcliente = new cnxCliente();
cliente busca = cnxcliente.buscarCliente(code);
if (busca != null) {
// Fill the labels with info from the person object.
codCli.setText(String.valueOf(busca.getCodCliente()));
nameCli.setText(busca.getNomCliente());
company.setText("Apple");
direccCli.setText("Calle Las Brisas Mz. H Lt.25");
provCli.setText("San Miguel");
departCli.setText("Lima");
zipCodeCli.setText("Lima 32");
emailCli.setText("jdz@gmail.com");
nroCelCli.setText("986250147");
countryCli.setText("Perú");
observCli.setText("Pues consume nivel medio. Saludos.");
69
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
clients = FXCollections.observableArrayList();
cnxCliente cnxcliente = new cnxCliente();
clients = cnxcliente.lecturaCliente();
detalleCli.setItems(clients);
showClientDetails("0");
detalleCli.getSelectionModel().selectedItemProperty().addListener(
(observable, oldValue, newValue) ->
showClientDetails(String.valueOf(newValue.getCodCliente())));
/**************************************************/
assert detalleProd != null : "fx:id=\"detalleProd\" was not
injected: check your FXML file 'Consulta.fxml'.";
codProducto.setCellValueFactory(
new PropertyValueFactory<producto,
Integer>("codProducto"));
tipoProducto.setCellValueFactory(
new PropertyValueFactory<producto,
String>("tipoProducto"));
marca.setCellValueFactory(
new PropertyValueFactory<producto, String>("marca"));
70
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
modelo.setCellValueFactory(
new PropertyValueFactory<producto, String>("modelo"));
unidadMedida.setCellValueFactory(
new PropertyValueFactory<producto,
String>("unidadMedida"));
stock.setCellValueFactory(
new PropertyValueFactory<producto, String>("stock"));
previoVenta.setCellValueFactory(
new PropertyValueFactory<producto,
String>("precioVenta"));
products = FXCollections.observableArrayList();
cnxProducto cnxproducto = new cnxProducto();
products = cnxproducto.lecturaProducto();
detalleProd.setItems(products);
showProdDetails("0");
detalleProd.getSelectionModel().selectedItemProperty().addListener(
(observable, oldValue, newValue) ->
showProdDetails(String.valueOf(newValue.getCodProducto())));
3.3. Conexión.
3.3.1. Cliente.
package conexion;
import dto.clases.cliente;
import dto.clases.*;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import java.sql.*;
ObservableList<cliente> clientes =
FXCollections.observableArrayList();
public cnxCliente(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user ="sa";
String psw="1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
Connection conn =
DriverManager.getConnection(url,user,psw);
System.out.println("Conexión establecida");
conn.close();
} catch (Exception e) {
System.err.println("Error al conectar");
System.err.println(e.getMessage());
}
71
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user = "sa";
String psw = "1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
ResultSet resultSet;
resultSet = statement.executeQuery(query);
resultSet.next();
int codcliente =resultSet.getInt(1);
int tipo =resultSet.getInt(2);
String nro = resultSet.getString(3);
String nombre = resultSet.getString(4);
String estado = resultSet.getString(5);
String fecha = resultSet.getString(6);
aux=new cliente(codcliente,tipo,nro,nombre,estado,fecha);
conn.close();
} catch (Exception e) {
System.err.println("Error al leer");
System.err.println(e.getMessage());
return null;
}
return aux;
}
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user ="sa";
String psw="1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
Connection conn =
DriverManager.getConnection(url,user,psw);
Statement statement = conn.createStatement();
ResultSet resultSet;
//lectura
resultSet = statement.executeQuery(query);
while(resultSet.next()) {
int codcliente =resultSet.getInt(1);
int tipo =resultSet.getInt(2);
String nro = resultSet.getString(3);
String nombre = resultSet.getString(4);
String estado = resultSet.getString(5);
72
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user ="sa";
String psw="1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
+","+aux.getNroDto()+",'"+aux.getNomCliente()+"','"+aux.getEstado()
+"','"+aux.getFechaReg()+"')";
Connection conn =
DriverManager.getConnection(url,user,psw);
//inserta
Statement statement = conn.createStatement();
int x = statement.executeUpdate(query);
System.out.println("Filas afectadas "+x);
conn.close();
} catch (Exception e) {
System.err.println("Error al insertar");
System.err.println(e.getMessage());
}
}
public void eliminarCliente(int delete){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user ="sa";
String psw="1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
Connection conn =
DriverManager.getConnection(url,user,psw);
Statement statement = conn.createStatement();
//elimina
statement.executeUpdate(query);
conn.close();
} catch (Exception e) {
System.err.println("Error al eliminar");
System.err.println(e.getMessage());
}
73
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
}
}
3.3.2. Producto.
package conexion;
import dto.clases.*;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import java.sql.*;
ObservableList<producto> productos =
FXCollections.observableArrayList();
public cnxProducto(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user ="sa";
String psw="1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
Connection conn =
DriverManager.getConnection(url,user,psw);
System.out.println("Conexión establecida");
conn.close();
} catch (Exception e) {
System.err.println("Error al conectar");
System.err.println(e.getMessage());
}
}
public producto buscarProducto(String codigo){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user = "sa";
String psw = "1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
ResultSet resultSet;
resultSet = statement.executeQuery(query);
resultSet.next();
int codproducto =resultSet.getInt(1);
String tipo = resultSet.getString(2);
String marca = resultSet.getString(3);
String name = resultSet.getString(4);
String und = resultSet.getString(5);
74
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user ="sa";
String psw="1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
Connection conn =
DriverManager.getConnection(url,user,psw);
Statement statement = conn.createStatement();
ResultSet resultSet;
//lectura
resultSet = statement.executeQuery(query);
while(resultSet.next()) {
int codproducto =resultSet.getInt(1);
String tipo = resultSet.getString(2);
String marca = resultSet.getString(3);
String name = resultSet.getString(4);
String und = resultSet.getString(5);
String model = resultSet.getString(6);
int cant= resultSet.getInt(7);
float preciocosto = resultSet.getFloat(8);
int stocks = resultSet.getInt(9);
float margens = resultSet.getFloat(10);
producto aux=new
producto(codproducto,tipo,marca,name,und
,model,cant,preciocosto,stocks,margens);
productos.add(aux);
}
conn.close();
} catch (Exception e) {
System.err.println("Error al leer");
System.err.println(e.getMessage());
}
return productos;
}
public void insertarProducto(producto aux){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user ="sa";
String psw="1234";
75
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
+"','"+aux.getMarca()+"','"+aux.getNombre()+"','"+aux.getUnidadMedida(
)+"','"
+aux.getModelo()+"',"+aux.getCantidad()+","+aux.getPrecioCosto()+","
+aux.getStock()+","+aux.getMargen()+")";
Connection conn =
DriverManager.getConnection(url,user,psw);
//inserta
Statement statement = conn.createStatement();
int x = statement.executeUpdate(query);
System.out.println("Filas afectadas "+x);
conn.close();
} catch (Exception e) {
System.err.println("Error al insertar");
System.err.println(e.getMessage());
}
}
public void eliminarProducto(int delete){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user ="sa";
String psw="1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
Connection conn =
DriverManager.getConnection(url,user,psw);
Statement statement = conn.createStatement();
//elimina
statement.executeUpdate(query);
conn.close();
} catch (Exception e) {
System.err.println("Error al eliminar");
System.err.println(e.getMessage());
}
}
3.3.3. Proveedor.
package conexion;
import dto.clases.*;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import java.sql.*;
76
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
public cnxProveedor(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user ="sa";
String psw="1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
Connection conn =
DriverManager.getConnection(url,user,psw);
System.out.println("Conexión establecida");
conn.close();
} catch (Exception e) {
System.err.println("Error al conectar");
System.err.println(e.getMessage());
}
}
public ObservableList<proveedor> lecturaProveedor(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user ="sa";
String psw="1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
Connection conn =
DriverManager.getConnection(url,user,psw);
Statement statement = conn.createStatement();
ResultSet resultSet;
//lectura
resultSet = statement.executeQuery(query);
while(resultSet.next()) {
int codproveedor=resultSet.getInt(1);
String name = resultSet.getString(2);
String ruc = resultSet.getString(3);
String direccion = resultSet.getString(4);
String ciudad = resultSet.getString(5);
String telef = resultSet.getString(6);
String email = resultSet.getString(7);
float formula = resultSet.getFloat(8);
float factor = resultSet.getFloat(9);
String fechas=resultSet.getString(10);
proveedor aux=new
proveedor(codproveedor,name,ruc,direccion,ciudad,telef
,email,formula,factor,fechas);
proveedors.add(aux);
}
conn.close();
} catch (Exception e) {
77
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
System.err.println("Error al leer");
System.err.println(e.getMessage());
}
return proveedors;
}
public void insertarProveedor(proveedor aux){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user ="sa";
String psw="1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
+"','"+aux.getRucProveedor()+"','"+aux.getDireccionProveedor()+"','"+a
ux.getCiudadProveedor()
+"','"+aux.getTelefProveedor()+"','"+aux.getEmailProveedor()+"',"+aux.
getFormulaProveedor()
+","+aux.getFactorProveedor()+",'"+aux.getFechaReg()+"')";
Connection conn =
DriverManager.getConnection(url,user,psw);
//inserta
Statement statement = conn.createStatement();
int x = statement.executeUpdate(query);
System.out.println("Filas afectadas "+x);
conn.close();
} catch (Exception e) {
System.err.println("Error al insertar");
System.err.println(e.getMessage());
}
}
public void eliminarProveedor(int delete){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String user ="sa";
String psw="1234";
String url =
"jdbc:sqlserver://localhost:1433;databaseName=FERRETERIA";
Connection conn =
DriverManager.getConnection(url,user,psw);
Statement statement = conn.createStatement();
//elimina
statement.executeUpdate(query);
conn.close();
} catch (Exception e) {
System.err.println("Error al eliminar");
System.err.println(e.getMessage());
}
}
}
78
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
<?import javafx.scene.layout.*?>
<?import java.net.*?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.text.Text?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.ScrollPane?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.control.cell.PropertyValueFactory?>
<?import javafx.collections.FXCollections?>
<VBox spacing="15">
<Text id="consultaCli" text="Consulta de Clientes"
GridPane.columnIndex="1" GridPane.rowIndex="0"
GridPane.columnSpan="2"/>
<HBox spacing="185">
<Label id="detalleCliente" text="Lista de Clientes"
GridPane.columnIndex="1" GridPane.rowIndex="1"
GridPane.columnSpan="2"/>
<VBox></VBox>
<VBox></VBox>
<Label id="crearCliente" text="Detalle Cliente"
GridPane.columnIndex="8" GridPane.rowIndex="1"
GridPane.columnSpan="2"/>
</HBox>
<HBox spacing="20">
<VBox spacing="10">
<ScrollPane GridPane.columnIndex="1"
GridPane.rowIndex="2" >
<TableView fx:id="detalleCli"
GridPane.columnIndex="0" GridPane.rowIndex="2">
<columns>
<TableColumn text="Codigo"
fx:id="codCliente">
</TableColumn>
<TableColumn text="Tipo Docmto."
fx:id="tipoDto">
</TableColumn>
79
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
<VBox spacing="10">
<HBox spacing="20" GridPane.columnIndex="1"
GridPane.rowIndex="4">
<VBox spacing="10">
<HBox spacing="24">
<VBox spacing="10">
<Label text="Código de Cliente:"/>
<TextField fx:id="codCli" text=""/>
</VBox>
<VBox spacing="10">
<Label text="Nombre del Cliente:"/>
<TextField fx:id="nameCli" text=""
prefWidth="320"/>
</VBox>
</HBox>
<HBox spacing="20" GridPane.columnIndex="1"
GridPane.rowIndex="6" GridPane.columnSpan="10">
<GridPane alignment="CENTER" hgap = "10"
vgap= "10" >
<Label text="Compañía / Empresa:"
GridPane.halignment="LEFT"
GridPane.columnIndex="0"
GridPane.rowIndex="1"/>
<TextField fx:id="company" text=""
GridPane.halignment="RIGHT" prefWidth="320"
GridPane.columnIndex="6"
GridPane.rowIndex="1"/>
</GridPane>
</HBox>
<HBox spacing="20" GridPane.columnIndex="1"
GridPane.rowIndex="7" GridPane.columnSpan="10">
<GridPane alignment="center" hgap = "10"
vgap= "10">
<Label text="Dirección de Envío: "
GridPane.halignment="LEFT"
GridPane.columnIndex="0"
GridPane.rowIndex="1"/>
<TextField fx:id="direccCli" text=""
GridPane.halignment="RIGHT" prefWidth="320"
GridPane.columnIndex="6"
GridPane.rowIndex="1"/>
</GridPane>
</HBox>
</VBox>
<VBox spacing="10">
80
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
81
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
</GridPane>
82
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
83
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
4.1. Clases.
84
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 1:
Primero que nada usted necesita descargar los archivos de instalación de SQL Server
Management Studio (SQLManagementStudio_x64_ENU.exe /
SQLManagementStudio_x86_ENU.exe) desde la página de descargas de SQL
Server dependiendo del tipo de su servidor (x64, x86), y mantenerlos en una carpeta
separada.
85
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 2:
Una vez que ha descargado el archivo respectivo para su tipo de servidor, usted
necesita ejecutarlo. Eso lo llevará a la primera pantalla llamada SQL Server Installation
Center, como se muestra a continuación. Esta es la pantalla primaria de instalación de
SQL Server. Otras instalaciones de herramientas de SQL Server pueden ser lanzadas
desde aquí también. Una vez que esté en esta pantalla, usted necesita seleccionar “New
SQL Server stand-alone installation or add features to an existing installation” para
proceder con la instalación.
86
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 3:
Una vez que seleccione la opción “New SQL Server stand-alone installation or add
features to an existing installation”, tal opción seleccionará las reglas de configuración
(pre-requisitos) en el servidor y lo llevará a la pantalla de términos de licencia. Los
términos de licencia deben ser leídos y aceptados como los términos de cualquier otra
aplicación. Por favor note que usted debe pasar las reglas de configuración para
proceder con la instalación.
Paso 4:
Una vez que acepta los términos de licencia, es tiempo de escanear todas las
actualizaciones disponibles para el producto. Las actualizaciones requeridas, el tamaño
y los detalles serán mostrados. De todas maneras, si usted necesita más detalles, usted
puede seleccionar More Information, lo cual lo llevará a la página de soporte, donde
usted encontrará todos los detalles relacionados a las actualizaciones. Usted puede
ignorar estas actualizaciones deseleccionando la opción ‘Include SQL Server product
updates’ en este punto.
Se recomienda descargar las actualizaciones junto con la instalación. Este paso puede
tomar algo de tiempo dependiendo del tamaño de los archivos actualizados.
87
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 5:
88
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 6:
Una vez que la configuración de SQL Server Management Studio (SSMS) está termina
la instalación de los archivos de configuración, se verifican las reglas de soporte de
configuración para proceder. Luego lo envía a la pantalla de selección de características.
Esta es una pantalla exhaustiva que ha detallado información acerca de cada
característica. Cuando corremos la instalación de SQL Server Management Studio
(SSMS), se selecciona Management Tools por defecto, así que usted no necesita
seleccionar nada aquí. Adicionalmente usted puede seleccionar Management tolos –
Basic. Para obtener más información acerca de esta característica usted puede ver la
descripción detallada de la característica en el lado derecho.
89
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 7:
En este paso, SQL Management Studio (SSMS) verificará las reglas de instalación (pre
requisito para SSMS). Sólo haga clic en el botón Next para continuar.
Paso 8:
90
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 9:
91
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 10:
Una vez que hace clic en el botón Next, se verificarán las reglas de configuración y si
pasaron, el asistente continuará. Este paso tomará tiempo para instalar SQL Server
Management Studio.
92
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 11:
Este paso muestra el estado de instalación de SQL Server Management Studio (SSMS)
junto con cada característica, como un resumen. Esta pantalla realmente ayuda a ver
qué ha sido instalado y qué no. En el caso de que una de las características no pueda
ser instalada, usted puede volver a correr el mismo procedimiento de instalación e
instalar esa característica particular.
93
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 12:
94
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 1:
Paso 2:
95
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
- Clic en Propiedades.
96
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 3:
GENERAL:
- Ingresar como Password: “1234”.
- De la misma manera ingresar en Confirm Password el valor: “1234”.
97
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
STATUS:
- Seleccionar “ENABLED” en como opción de Login.
- Dar clic en OK.
98
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 4:
- Clic derecho sobre el primer ítem en la lista de “Object Explorer” (“ADMIN PC”
valor por defecto).
- Clic en Propiedades.
Paso 5:
- Ir a Security.
- Seleccionar “SQL Server and Windows Authentication mode” como opción en
“Server Authentication”.
- Clic en “OK”.
99
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 6:
- Clic derecho sobre el primer ítem en la lista de “Object Explorer” (“ADMIN PC”
valor por defecto).
- Clic en “Restart”.
- Clic en “Sí” en la nueva ventana que aparecerá.
100
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Paso 7:
101
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
DESCARGA.
102
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
INSTALACIÓN.
PASO 1:
PASO 2:
103
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
PASO 3:
104
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
PASO 4:
Descargar el proyecto.
GitHub: https://github.com/gmgutierrez/Project
105
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
106
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Clic en OK
1.2.2. Configurar SDK
PASO 1:
https://www.java.com/es/download/
107
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
PASO 2:
Clic en JDK
108
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
109
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Ir a la pestaña DEPENDENCIES.
Librería SQL.
110
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Clic en DataBase.
111
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Clic en “+”
Database: FERRETERIA
Clic en OK.
112
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
MANUAL DE USUARIO
2.1. Menú principal
El gráfico nos muestra 3 opciones las cuales nos permite ingresar a Proveedores,
Productos y Clientes respectivamente en orden descendente.
2.2. Proveedores
113
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
114
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
115
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
2.3. Productos.
116
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Así mismo se debe de llenar los campos de Precio de Compra, Precio al cuál se
compró el producto; Precio de Venta, precio al cuál se venderá el producto;
Unidad de Medida en la que se ofertará el producto; y Stock del Producto, que
es la cantidad ingresada del producto en el sistema.
117
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
2.4. Clientes
118
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
119
Taller de Ingeniería de Software
Proyecto Ferretería 17 - II
Podemos así mencionar que este sistema es muy potente por su usabilidad como por su
adaptabilidad a cualquier sistema.
Además se puede sugerir una optimización en los procesos presentes en los manuales de
usuarios, ya que se puede buscar una automatización en el sistema si se desea un ingreso
ya no manual de los datos por parte de la empresa que use este software.
120