Anda di halaman 1dari 39

UNIVERSIDAD POLITCNICA SALESIANA

INGENIERA DE SISTEMAS
SISTEMAS DE INFORMACIN I
GRUPO 1
INTEGRANTES:
Alomoto Diana
Cardenas David
Castillo Jhon
Prez Jimmy
Zambonino Maril
1. Etapa Planificacin
1.1 Creacin del grupo de trabajo
SWAPNET
1. Horario y lugar de reuniones semanales
Las reuniones se realizan

los das jueves a las 13H00 en las instalaciones de la

Universidad Politcnica Salesiana Campus Sur.


Nota.- Si al faltar tiempo o por cualquier situacin las reuniones se las realizara
mediante las redes sociales (Facebook, Whatsapp).
2. Divisin de tareas
Cada integrante tendr en orden al azar su exposicin ante la clase.
Cabe destacar que la recoleccin de informacin para cada exposicin la realizara todos
los miembros del grupo
3. Seleccin del lder del grupo
Lder: David Crdenas
Definir el sistema de informacin
Sistema de informacin destinado a la venta, de bateras mediante pginas web de la
empresa "Electromecnica Jimmy"
Gerente General: Jimmy Prez
1

Direccin: Av. 5 de agosto y 3 de julio (Diagonal Redondel del Cristo); QuinindEsmeraldas-Ecuador


Telfonos: 062738725 * Celulares 099-199-6393 /098-738-5202
Email: jimmyperez_65@hotmail.com
El Sistema de Informacin se encarga de controlar las ventas de bateras y servicios
electromecnicos mediante un catalogo web (pagina web) a su vez la misma que est
controlada por una base de datos la que cuenta, con los registros de productos
existentes, costos, productos agotados, a dems del costo de mano de obra realizado en
la empresa, cabe destacar que nuestro sistema contara con un balance de lo realizado en
el catalogo web directamente dirigido para el seor gerente Jimmy Prez Honores.
1.2 Estimacin del proyecto
INFORME FINAL DE VIABILIDAD (ELECTROMECNICA JIMMY)
1. Definicin del proyecto
Objetivos y funcionalidad
Facilitar al cliente el ingreso a la pgina web Electromecnica Jimmy.
Controlar las ventas y servicios de la Electromecnica a travs de la
pginaweb.
Permitir el ingreso, eliminacin y consulta de pedidos mediante la conexin a la
base de datos central.
Funcionalidad
1. El cliente ingresa a la pgina web y en la parte superior puede seleccionar el
catalogo web.
2. La consulta de productos se la realiza dentro del catlogo.
3. Si el cliente desea comprar un producto, lo selecciona y lo enva al carro de
compras.
4. Si el cliente desea ver la lista de productos a comprar, deber hacer clic en el
carro de compras, en el cual el usuario podr eliminar o aceptar la compra.
5. Existen dos tipos de pago: tarjeta de crdito y paypal. El cliente deber escoger a
su conveniencia.
2

6. Una vez realizada la compra el nmero de productos se ir disminuyendo de la


base de datos dependiendo el nmero de productos escogidos por el usuario.
7. El producto se entregar en el domicilio del cliente , una vez que el pago ya se
haya efectuado.
Estimacin del tiempo:
Aproximadamente 4 meses
Esfuerzo requerido:
Evaluacin de la cantidad y tipo de mercanca del negocio.
Presupuesto
Equipos tecnolgicos (computadoras)
Programadores
Coste:
Pago por dominio
Salario programadores
Transporte
2. Beneficios esperados
Utilidad esperada
Tarifa establecida gastos (transporte, salarios y gastos varios)
Rentabilidad econmica
Se garantiza que con la implementacin de la pgina web se vendern una
cantidad establecida de bateras al mes.
Rentabilidad poltica/estratgica
Asegurar la fiabilidad del cliente y de esta manera conseguir ms clientes
interesados en promocionar sus negocios a travs del internet.
Otros beneficios indirectos
Dar empleo a estudiantes que todava no cursan niveles superiores.

Ofrecer publicidad de otros negocios en la pgina web.


3. Elementos favorables
Mejorar la imagen del negocio y promover la venta online de sus productos.
4. Elementos desfavorables
No todos los clientes se sientes seguros al comprar sus productos a travs del
internet.
5. Factores de riesgo
Dificultades potenciales
Conexin con la base de datos, actualizacin del stock de los productos.
Puntos crticos
La mayora de las personas acostumbran a comprar sus productos de forma
presencial.
Cuestiones clave
Efectividad en la compra y entrega del producto.
6. Prototipo
Cliente:
El cliente deber crearse una cuenta
7. Recomendacin final
Se deber elaborar una pgina web que muestre los diferentes tipos de bateras
de buena calidad con un tiempo de respuesta efectivo para el cliente.
La pgina web deber estar conectada con la base de datos todo el tiempo.
El dueo del negocio deber proporcionar la informacin necesaria para la
elaboracin de la pgina web.

1.3 Pantallas del Prototipo


Pgina principal

Inicio

Compras

Ventas

Catalogo

10

Reporte

11

Enlaces a anuncios o publicidad

12

2. Anlisis del sistema


Moldeamiento del Sistema de informacin (Electromecnica Jimmy)
IDEF0 Global:

13

IDEF0 por procesos:

14

2.1 Listado de requerimientos


Los requerimientos que debe cumplir su portal web son:
Ingresar, actualizar y consultar productos
Ingresar, eliminar y consultar pedidos de productos
Gestionar formas de pago para su pedido: transferencias bancarias, paypal
Reportes: listado de productos entregados, listados de productos pedidos, catalogo de
productos
2.2 Casos de uso

Registro del nuevo cliente

Gerente imprime la compra generada

15

Compra de una batera pro parte del cliente

3. Diseo del sistema


3.1 Diagramas de secuencia

16

3.2 Diagramas de colaboracin

3.3 Diagramas de estado

Registro del cliente en la pgina web

17

Compra de una batera por el cliente

Impresin del pedido por el gerente

18

3.4 Diagrama de clases

3.5 Diagrama de componentes

19

3.6 Diagrama de despliegue

3.7. Diagramas extras para comprender el funcionamiento del sistema


Diagrama de actividades

Registro del cliente


Object-Oriented Model
Model: actividad
Package:
Diagram: ActivityDiagram_1
Author: SERVER Date: 14/02/2015
Version:

20

Compra de una batera


Object-Oriented Model
Model: actividad
Package:
Diagram: cliente
Author: SERVER Date: 14/02/2015
Version:

21

Impresin de la cotizacin por el Gerente


Object-Oriented Model
Model: actividad
Package:
Diagram: gerente
Author: SERVER Date: 14/02/2015
Version:

22

4. CODIFICACIN
4.1 Diagrama de la base de datos

4.2 Cdigo fuente de las clases implementadas


CLASE CONEXIN
package com.proyecto.datos;
import java.sql.*;
public class clsConexion {
private
private
private
private
private
private
private

Statement St;
String driver;
String user;
String pwd;
String cadena;
Connection con;
String error;

23

public String getDriver()


{
return this.driver;
}
String getUser()
{
return this.user;
}
String getPwd()
{
return this.pwd;
}
String getCadena()
{
return this.cadena;
}
public Connection getConexion()
{
return this.con;
}
public clsConexion() {
//this.driver ="org.postgresql.Driver";
//this.user="postgres";
//this.pwd="developeradministrador";
//this.cadena="jdbc:postgresql://192.168.17.37:5432/bd_proyecto";
//this.con=this.crearConexion();
this.driver ="org.postgresql.Driver";
this.user="postgres";
this.pwd="1234";
this.cadena="jdbc:postgresql://localhost:5432/bd_electromecanica_jimmy
";
this.con=this.crearConexion();
}
Connection crearConexion()
{
try {
Class.forName("org.postgresql.Driver");
}
catch (ClassNotFoundException e) {
}
try
{
Class.forName(getDriver()).newInstance();
Connection
con=DriverManager.getConnection(getCadena(),getUser(),getPwd());
return con;
}
catch(Exception ee)
{

24

System.out.println("Error: " + ee.getMessage());


return null;
}
}

public String Ejecutar(String sql)


{
String error="";
try
{
St=getConexion().createStatement();
St.execute(sql);
error="Datos insertados";
}
catch(Exception ex)
{
error = ex.getMessage();
}
return(error);
}

public ResultSet Consulta(String sql)


{
error = "";
ResultSet reg=null;
try
{
St=getConexion().createStatement();
reg=St.executeQuery(sql);

}
catch(Exception ee)
{
error = ee.getMessage();
}
return(reg);
}
}

CLASE CLIENTE
package com.proyecto.negocio;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.proyecto.datos.clsConexion;

public class clsCliente {

25

public String mostrar_clientes(){


String combo_cliente = "<select name = cb_cliente>";
String sql = "select * from usuarios";
ResultSet rs = null;
clsConexion con = new clsConexion();
try{
rs = con.Consulta(sql);
while(rs.next()){

combo_cliente += "<option value = " + rs.getInt(1) + ">" + rs.getString(2) +


"</option>";
}
combo_cliente += "</select>";
}catch(SQLException e){
System.out.println(e.getMessage());
}
return combo_cliente;
}}
CLASE COTIZACIN
package com.proyecto.negocio;
import java.sql.*;
import com.proyecto.datos.*;
public class clsCotizacion {
public double subtotal_producto(String id_prod, int cantidad){
double subtotal=0;
double precio=0;
ResultSet rs=null;
clsConexion con = new clsConexion();
String sql="Select precio from productos where
cod_producto="+id_prod;
26

try {
rs=con.Consulta(sql);
while(rs.next()){
precio=rs.getDouble(1);
}
subtotal=Math.round((precio * cantidad) * 100.0) / 100.0;
} catch (SQLException e) {
System.out.println(e.getMessage());
}
return subtotal;
}}
CLASE DETALLE
package com.proyecto.negocio;
import java.sql.ResultSet;
import com.proyecto.datos.clsConexion;
public class clsDetalle {
public void ingresar_detalle(int cod_producto, int num_pedido, int cant, double
subtotal){
String sql = "insert into detalle (cod_producto,num_pedido,cant,sub_total_d)"
+"
values
("+cod_producto+","+num_pedido+","+cant+","+subtotal+")";
ResultSet rs = null;
clsConexion con = new clsConexion();
rs = con.Consulta(sql);
}}
CLASE PEDIDOS
package com.proyecto.negocio;
import java.sql.*;
import com.proyecto.datos.clsConexion;
27

public class clsPedidos {


public void ingresar_pedidos(int cedula, int cuenta, double subtotal, double iva, double
total){
String sql = "insert into pedidos (cedula,cuenta,sub_total_p,iva,total)"
+"
values
("+cedula+","+cuenta+","+subtotal+","+iva+","+total+")";
ResultSet rs = null;
clsConexion con = new clsConexion();
rs = con.Consulta(sql);
}
public String consulta_pedidos(){
String sentencia = "Select * from pedidos;";
ResultSet rs=null;
clsConexion cdo= new clsConexion();
String resultado = "<table border=3>";
try{
rs=cdo.Consulta(sentencia);
while(rs.next()){
resultado += "<tr><td>"+rs.getInt(1) +
"</td><td>"+rs.getInt(2) +
"</td><td>"+rs.getInt(3) +
"</td><td>"+rs.getDouble(4) +
"</td><td>"+rs.getDouble(5) +
"</td><td>"+rs.getDouble(6) +
"</td><td><a href=borrar.jsp?id="
+ rs.getInt(1) + ">Borrar</a>" +
"</td></tr>";
}
resultado += "</table>";
}catch(SQLException e){

28

System.out.println(e.getMessage());
}
return resultado;
}
public void borrar_pedidos(int id_pedido){

String sql="delete from pedidos where num_pedido = " + id_pedido;


clsConexion con = new clsConexion();
ResultSet rs = null;
rs = con.Consulta(sql);
//while(rs.next()){
}
public void borrar_detalle(int id_pedido){
String sql="delete from detalle where num_pedido = " + id_pedido;
clsConexion con = new clsConexion();
ResultSet rs = null;
rs = con.Consulta(sql);
//while(rs.next()){
}}
CLASE PRODUCTOS
package com.proyecto.negocio;
import java.sql.*;
import com.proyecto.datos.clsConexion;
public class clsProductos {
public String mostrar_productos_s3(){
String combo_prod_s3 = "<table border=1>";
String sql = "select * from productos where tipo = 's3'";
ResultSet rs = null;

29

clsConexion con = new clsConexion();


try{
rs = con.Consulta(sql);
while(rs.next()){
combo_prod_s3 += "<tr><td>"+rs.getString(2)+
"</td><td>"+"<input type=checkbox
name=prod value="+rs.getInt(1)+">"+
"</td><td>"+"Cantidad: <input type=text
name=cant"+rs.getInt(1)+"><br></td></tr>";

}
combo_prod_s3 += "</table>";
}catch(SQLException e){
System.out.println(e.getMessage());
}
return combo_prod_s3;
}
public String mostrar_productos_s4(){
String combo_prod_s4 = "<table border=1>";
String sql = "select * from productos where tipo = 's4'";
ResultSet rs = null;
clsConexion con = new clsConexion();
try{
rs = con.Consulta(sql);
while(rs.next()){
combo_prod_s4 += "<tr><td>"+rs.getString(2)+
"</td><td>"+"<input type=checkbox name=prod
value="+rs.getInt(1)+">"+
"</td><td>"+"Cantidad: <input type=text
name=cant"+rs.getInt(1)+"><br></td></tr>";

30

}
combo_prod_s4 += "</table>";
}catch(SQLException e){
System.out.println(e.getMessage());
}
return combo_prod_s4;
}
public String mostrar_productos_s5_s6(){
String combo_prod_s5_s6 = "<table border=1>";
String sql = "select * from productos where tipo = 's5' or tipo = 's6'";
ResultSet rs = null;
clsConexion con = new clsConexion();
try{
rs = con.Consulta(sql);
while(rs.next()){
combo_prod_s5_s6 += "<tr><td>"+rs.getString(2)+
"</td><td>"+"<input type=checkbox
name=prod value="+rs.getInt(1)+">"+
"</td><td>"+"Cantidad: <input type=text
name=cant"+rs.getInt(1)+"><br></td></tr>";
}
combo_prod_s5_s6 += "</table>";
}catch(SQLException e){
System.out.println(e.getMessage());
}
return combo_prod_s5_s6;
}
public void insertar_producto(String nombre_prod, int existencias,
double precio, String tipo){
ResultSet rs=null;
clsConexion con = new clsConexion();
31

String sql="Insert into productos


(nombre_producto,existencias,precio,tipo) values"
+
"('"+nombre_prod+"',"+existencias+","+precio+",'"+tipo+"')";
rs=con.Consulta(sql);
}
public void actualizar_producto( int id_prod,String nombre_prod, int
existencias, double precio, String tipo){
ResultSet rs=null;
clsConexion con = new clsConexion();
String sql="update productos set nombre_producto='"+nombre_prod+"',"
+
"existencias="+existencias+",precio="+precio+",tipo='"+tipo+"' where"
+ " cod_producto="+id_prod+"";
System.out.println(sql);
rs=con.Consulta(sql);
}
public void eliminar_producto(int id_prod){
ResultSet rs=null;
clsConexion con = new clsConexion();
String sql="delete from productos where cod_producto="+id_prod+"";
rs=con.Consulta(sql);
}
}

32

4.3 Captura de pantallas del sistema funcionando

33

34

35

36

37

5. Conclusiones
Se determino que al realizar este proyecto se implementa todos los
conocimientos adquiridos en el saln de clase, los mismos que los utilizamos
para dar soluciones a nuestros futuros clientes.
Se concluyo que todos los aspectos implicados en el proyecto, se deben visionar
para la realidad, y sobre todo para un mercado actual y competitivo, como la
realizacin del informe de viabilidad, todo se proyecta a los costes actuales y el
valor de cada elemento es fundamental para el desarrollo, adems de que el
valor final es con el que nos presentamos al cliente.
Se concluyo que el desarrollo del catalogo web para Electromecnica Jimmy,
es de fundamental importancia para el desarrollo micro-empresarial del negocio,
adems de incrementar sus ingresos, tambin incrementara en clientes.

38

ANEXOS
ELECTROMECNICA JIMMY
Direccin: Av. 5 de agosto y 3 de julio (Diagonal Redondel del Cristo); QuinindEsmeraldas-Ecuador

39