You are on page 1of 11

4.

4 FASE DE CONSTRUCCIÓN DEL PROYECTO DE FORMACIÓN: SOFTWARE


CONTABLE ENFOCADO A PEQUEÑAS Y MEDIANAS EMPRESAS.
En esta fase se desarrolla completamente el software y los documentos necesarios que
componen el sistema. El resultado de esta fase es un producto listo para que los usuarios lo
puedan operar y consistencia del software integrado en las plataformas adecuadas, los
materiales para soporte del usuario y una descripción de la versión actual.

4.4.1 RELACIÓN CON EL DISEÑO


Para determinar el flujo de datos que representaran el funcionamiento y la ejecución de los
componentes del SOFTWARE, se diseñaron modelos relacionales que describen la forma
estructural y lógica de la Base de Datos:
- Interfaz gráfica de usuario.
- Diagrama de clases.
- Casos de usos.
- Seguridad y control

4.4.2 USO DE CONVENCIONES DURANTE LA FASE DE CONSTRUCCIÓN


Para la construcción de proyecto de formación se emplean convenciones para facilitar el
mantenimiento del mismo, de igual forma de gestionan la corrección de errores mediante el
manejo de excepciones que permiten agilizar el proceso de construcción y promover la
interoperabilidad del proyecto y la comunicación con otros proyectos. De igual forma se toma
como referencia las recomendaciones hechas en el documento de estudio GUIA PARA EL
DESARROLLO DE SISTEMAS DE INFORMACIÓN numeral 4.2.

4.4.3 ARQUITECTURA O PROGRAMACIÓN EN 3 CAPAS


La arquitectura basada en capas se enfoca en la distribución de roles y responsabilidades de
forma jerárquica proveyendo una forma muy efectiva de separación de responsabilidades. El
rol indica el modo y tipo de interacción con otras capas, y la responsabilidad indica la
funcionalidad que está siendo desarrollada.
Imagen 1: arquitectura en 3 capas proyecto de formación.

5 CODIFICACIÓN DE LOS MÓDULOS DEL SISTEMAS UTILIZANDO EL


MODELO VISTA CONTROLADOR.

Para la codificación del sistema de información se dividió el programa en las diferentes etapas
del modelo:

MODELO: en esta fase encontramos la representación de los datos (Base de Datos) que
maneja el sistema, su lógica de negocio, y sus mecanismos de persistencia.

Para la creación de la base de datos del proyecto de formación se selecciono el sistema gestor
de base de datos ORACLE.
 Sentencia SQL creación de la tabla Cargo:

create table cargo (


idcargo int not null primary key,
car_nombre varchar (100) not null,
car_nombre_jefe varchar (100));

Describe cargo;
 Sentencia SQL creación de la tabla empleado:

create table empleado


(idempleado int primary key,
emp_nombre varchar (50) not null,
emp_apellido varchar (50) not null,
emp_cedula varchar (11) not null,
emp_telefono varchar (10) not null,
emp_direccion varchar (50) not null,
emp_sexo varchar (1) not null,
emp_fecha_nacimiento date not null,
emp_correo varchar (50) not null,
emp_cod_idcargo int not null,
foreign key (emp_cod_idcargo) references cargo (idcargo));

Describe empleado;

 Sentencia SQL creación de la tabla Usuario:

create table usuario


(idusuario int not null primary key,
usu_nombre varchar(10) not null,
usu_tipo varchar (20) not null,
emp_cod_idusuario int not null,
foreign key (emp_cod_idusuario) references empleado (idempleado));

Describe usuario;
 Sentencia SQL creación de la tabla Proveedor:

create table proveedor


(idprovedor int not null primary key,
pro_nombre varchar (50) not null,
pro_cedula_nit varchar (20) not null);

Describe proveedor;

 Sentencia SQL creación de la tabla Producto:

create table producto


(idproducto int primary key,
prod_nombre varchar (50) not null,
prod_tipo varchar (50) not null
prod_cantidad int not null,
prod_precio int not null,
prod_precio_venta int not null,
prod_fecha_vencimiento date not null,
prod_cod_idusuario int not null,
prod_cod_idproveedor int not null,
foreign key (prod_cod_idusuario) references usuario (idusuario));
foreign key (prod_cod_idproveedor) references proveedor (idproveedor));
Describe producto;

 Sentencia SQL creación de la tabla venta_registro:

create table venta_registro


(idventa int not null primary key,
ven_fecha_venta date not null,
ven_forma_pago varchar (15),
ven_idproducto_vendido int not null,
ven_cantidad_vendido int not null,
foreign key (ven_idproducto_vendido) references producto (idproducto));
Describe venta_registro;

CONTROLADOR

CONEXIÓN CON LA BASE DE DATOS

package org.pkg.conn;

import java.io.PrintWriter;
import java.io.StringWriter;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConnOracle {
private java.sql.Connection con=null;
private java.sql.Statement stmt;
public ResultSet resultado;
//consulta: sentencia sql. modo: 1->insert, delete, update. 2->select.
public String consultaOrcl(String consulta, Integer modo)
{
String regs ="";
StringWriter sw = null;
PrintWriter pw = null;
try
{
String driver = "oracle.jdbc.OracleDriver";
String ulrjdbc =
"jdbc:oracle:thin:SCOTT/PASSWORD@SERVER_IP:1521:SERVICE_NAME";
Class.forName(driver).newInstance();
con = DriverManager.getConnection(ulrjdbc);
stmt = (Statement) con.createStatement();
//modo=1 -> insert,update,delete; modo=2 -> select
if (modo == 1)
{
stmt.executeUpdate(consulta);
}
else
{
resultado = (ResultSet) stmt.executeQuery(consulta);
}
while (resultado.next())
{
regs = regs + "EMPNO: " + resultado.getString(1) + " ENAME: "+
(resultado.getString(2)) + " JOB: "+ (resultado.getString(3))+"n";
}
try
{
resultado.close();
stmt.close();
con.close();
}
catch (SQLException e )
{
sw = new StringWriter();
pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "rn" + sw.toString() + "rn";
}
}
catch (Exception ex)
{
sw = new StringWriter();
pw = new PrintWriter(sw);
ex.printStackTrace(pw);
return "rn" + sw.toString() + "rn";
}
return regs;
}
}

public class Producto {


String nombre;
String codigo;
Double precio;
public Producto(String nombre, String codigo, Double
precio) {
super();
this.nombre = nombre;
this.codigo = codigo;
this.precio = precio;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public Double getPrecio() {
return precio;
}
public void setPrecio(Double precio) {
this.precio = precio;
}

public class Tienda {

int dineroEnCaja;
private Producto p1;
private Producto p2;
private Producto p3;
private Producto p4;
public static void main(String[] args) {
Producto p1 = new Producto("Lulo", "SAD", 2.2);
System.out.println(p1.nombre+": "+p1.precio+":
"+p1.codigo);

public Producto getP1() {


return p1;
}
public void setP1(Producto p1) {
this.p1 = p1;
}
public Producto getP2() {
return p2;
}
public void setP2(Producto p2) {
this.p2 = p2;
}
public Producto getP3() {
return p3;
}
public void setP3(Producto p3) {
this.p3 = p3;
}
public Producto getP4() {
return p4;
}
public void setP4(Producto p4) {
this.p4 = p4;
}
public Tienda(Producto p1, Producto p2, Producto p3, Producto
p4) {
super();
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
this.p4 = p4;
}
}

public abstract class Producto {

//Attributes
private String nombre;
private double precioUnit;
private int cantStock;
private boolean disponible = false;
public static int dimesionArray;

//Constructors
public Producto() { }
public Producto(String nombre, double precioUnit, int cantStock, boolean disponible) {
this.nombre = nombre;
this.precioUnit = precioUnit;
this.cantStock = cantStock;
this.disponible = disponible;

dimesionArray++;//Se obtiene con esta variable la dimensión del array. Según número de
instancias del constructor
}

//Methods
@Override
public String toString() {
return "Nombre: " +this.getNombre()+ "\n"+
"Precio unidad: " +this.getPrecioUnit()+ " €\n"+
"En Stock: " +this.getCantStock()+ "\n";
}

//Get and Set


public String getNombre() {
return this.nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public double getPrecioUnit() {
return this.precioUnit;
}
public void setPrecioUnit(double precioUnit) {
this.precioUnit = precioUnit;
}
public int getCantStock() {
return this.cantStock;
}
public void setCantStock(int cantStock) {
this.cantStock = cantStock;
}
public boolean isDisponible() {
if(getCantStock()>0) this.disponible = true;
return this.disponible;
}
public void setDisponible(boolean disponible) {
this.disponible = disponible;
}
VISTA

INTERFAZ GRÁFICA

You might also like