Está en la página 1de 15

Software de Bazar Roxana V1.

Manual técnico.
UNICAH Campus Global
2021
Presentación

Este manual técnico se podrá conocer los requisitos previos de instalación del programa y
conocer los programas adicionales para el correcto funcionamiento y edición del programa.
También se mostrarán diferentes programas para la comprensión del uso adecuado del
programa y la base de datos. Se observará las diferentes clases y módulos que conforman la
codificación del programa.
La elaboración del sistema se dio con el fin de tener un control más claro y preciso de toda
la información que maneja la empresa dejando atrás viejas prácticas como es el uso del
lápiz y papel.
Con este sistema se espera cumplir ciertos objetivos:
 Llevar un control más claro y ordenado del inventario.
 Tener un registro de todas las compras y ventas realizadas por el sistema.
 Mantener confidencialidad dentro del programa a través de niveles de usuario.
 Poder imprimir ciertos registros implementados por el sistema a través de reportes.
El manual va dirigido a los tres tipos de usuarios que soporta el sistema que son:
 Administrativo: Este tiene el control total del sistema.
 Gerente: Este nivel tiene denegado el acceso a la información de la empresa y a la
de los usuarios.
 Vendedor: En este nivel solo tiene acceso a ventas y compras del sistema.
Requerimientos técnicos e instalación

Como herramienta necesaria para el correcto funcionamiento del sistema se necesita el


programa de SQL Server versión mínima 2016.
Requerimientos mínimos SQL Server:
 Requiere de un espacio mínimo en el disco duro de 6GB.
 Para la memoria RAM como requisito mínimo en sus ediciones express de SQL son
de 512 Mb y las todas las demás ediciones son de 1Gb.
 La velocidad del procesador en su requerimiento mínimos debe de ser x64 de
1,4Ghz.
Requerimientos del programa:
 Requiere de un espacio mínimo de 20 Mb
 Para la memoria RAM requiere como mínimo 100 Mb
 El procesador se requiere como mínimo debe de ser x32 y lo recomendado de x64
Requerimientos mínimos Visual Studio:
 Procesador a 1.6 GHz o superior
 1 GB (32 bits) o 2 GB (64 bits) de RAM (agregue 512 MB al host si se ejecuta en
una máquina virtual)
 3 GB de espacio disponible en el disco duro
 Disco duro de 5400 RPM
 Tarjeta de vídeo compatible con DirectX 9 con resolución de pantalla de 1024 x 768
o más.
Requerimientos adicionales:
 .NET Framework 4.6.1(Visual Studio).
 Instalar la extensión RDLC (Visual Studio).
 Instalar el paquete
Microsoft.ReportingServices.ReportViewerControl.Winforms(Visual Studio).
Instalación:
Pendiente
Diagrama de flujo de datos a nivel de contexto
Diagrama 0
Diagrama Relacional
Pendiente
Diccionario de datos
Pendiente
Definición de módulos y clases del sistema.

Clase Login:
Esta clase se puede apreciar que su formulario está conformado por un textbox que se
ingresa el usuario del empleado, otro para su contraseña y un checkbox para vizualizar su
contraseña, un botón para ingresar al programa, una barra de carga y un botón de salir.
La clase en si lo que hace es que hace un llamado a la función UsuarioRegistrado en el
módulo ConexionLogin para comparar los datos ingresados del usuario, aquí se limita la
interacción del usuario a través del nivel del empleado, si su nivel es 1 significa que es
nivel Administrador y tendrá acceso a todo el programa, si es nivel 2 significa que es nivel
Gerente y no tendrá acceso a al formulario de Usuarios y la de Mi empresa, si es nivel 3
significa que es nivel Vendedor y solo tendrá acceso solo a compras y ventas del programa.
La barra de carga actúa sobre un timer y redirecciona al menú del sistema.
Clase:
Imports System.ComponentModel

Public Class Login


Private Sub Login_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ProgressBar1.Visible = False
LbPorcentaje.Visible = False

End Sub

'Boton de ingresar, evalua si el usuario y contraseña son correctos y comienza ejecucion


del cargador
Private Sub BtnIngresar_Click(sender As Object, e As EventArgs) Handles
BtnIngresar.Click
AbrirConeccion()
Try
If UsuarioRegistrado(TxtNombreEmpleado.Text) = True Then
Dim ContraUsuario As String = ContrasenaUsuario(TxtNombreEmpleado.Text)
If ContraUsuario.Equals(TxtContrasena.Text) = True Then
If ConsultarTipoUsuario(TxtNombreEmpleado.Text) = 1 Then
CodUser = CodUsuario(TxtNombreEmpleado.Text)
TimerLogin.Start()

ElseIf ConsultarTipoUsuario(TxtNombreEmpleado.Text) = 2 Then


CodUser = CodUsuario(TxtNombreEmpleado.Text)
TimerLogin.Start()
MenuPrincipal.UsuariosToolStripMenuItem.Visible = False
MenuPrincipal.MiEmpresaToolStripMenuItem.Visible = False
Else
CodUser = CodUsuario(TxtNombreEmpleado.Text)
TimerLogin.Start()
MenuPrincipal.UsuariosToolStripMenuItem.Visible = False
MenuPrincipal.EmpleadoToolStripMenuItem1.Visible = False
MenuPrincipal.ClientesToolStripMenuItem.Visible = False
MenuPrincipal.CategoriaToolStripMenuItem.Visible = False
MenuPrincipal.ProveedoresToolStripMenuItem.Visible = False
MenuPrincipal.ProductoToolStripMenuItem.Visible = False
MenuPrincipal.ReportesToolStripMenuItem.Visible = False
MenuPrincipal.MiEmpresaToolStripMenuItem.Visible = False
End If
Else
MsgBox("Contraseña Invalida", MsgBoxStyle.Critical)

TxtContrasena.Text = ""
End If
TxtContrasena.Text = ""
ChkMostrarContra.Checked = False
Else
MsgBox("El Empleado: " + TxtNombreEmpleado.Text + " no se encuentra
registrado")

TxtContrasena.Text = ""
ChkMostrarContra.Checked = False
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try

End Sub

Private Sub CbxMostrarContra_CheckedChanged(sender As Object, e As EventArgs)


Handles ChkMostrarContra.CheckedChanged
'Muestra la contraseña si el CheckBox esta seleccionado
Dim ContraseñaUsuario As String
ContraseñaUsuario = TxtContrasena.Text
If ChkMostrarContra.Checked = True Then

TxtContrasena.UseSystemPasswordChar = True
TxtContrasena.Text = ContraseñaUsuario
Else
TxtContrasena.UseSystemPasswordChar = False
TxtContrasena.Text = ContraseñaUsuario
End If
End Sub

'Muestra el porcentaje de carga del ProgressBar


Private Sub TimerLogin_Tick(sender As Object, e As EventArgs) Handles
TimerLogin.Tick

ProgressBar1.Visible = True
LbPorcentaje.Visible = True
BtnIngresar.Enabled = False
ProgressBar1.Increment(5)
LbPorcentaje.Text = ProgressBar1.Value & ("%")
If ProgressBar1.Value = 100 Then

MenuPrincipal.Show()
Me.Hide()

TimerLogin.Stop()
ProgressBar1.Value = 0
LbPorcentaje.Text = "0%"
LbPorcentaje.Visible = False
ProgressBar1.Visible = False
BtnIngresar.Enabled = True
End If

End Sub

'Boton salir del sistema


Private Sub BtnSalir_Click(sender As Object, e As EventArgs) Handles btnSalir.Click
Dim OpcionSalir As DialogResult
OpcionSalir = MessageBox.Show("¿Esta Seguro que quiere salir del sistema?",
"Salir", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If OpcionSalir = DialogResult.Yes Then
End
End If
End Sub

Private Sub TxtNombreEmpleado_Validating(sender As Object, e As CancelEventArgs)


Handles TxtNombreEmpleado.Validating
Try
If DirectCast(sender, TextBox).Text.Length > 0 And DirectCast(sender,
TextBox).Text.Length <= 50 Then 'Valida si el caja de texto esta vacia
Me.ErrorValidacion.SetError(sender, "")
Else
Me.ErrorValidacion.SetError(sender, "Es un campo obligatorio")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Private Sub TxtContrasena_Validating(sender As Object, e As CancelEventArgs)


Handles TxtContrasena.Validating
Try
If DirectCast(sender, TextBox).Text.Length > 0 Then 'Valida si el caja de texto
esta vacia
Me.ErrorValidacion.SetError(sender, "")
Else
Me.ErrorValidacion.SetError(sender, "Es un campo obligatorio")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

End Class

Clase Inicio:
Esta clase lo que permite aparte de mostrar el logo de la empresa, se mostrara el nombre,
usuario y nivel del empleado ya logueado, también se muestra un botón de ayuda que al dar
clic se mostrara el manual de usuario en una ventana emergente.

Clase:
Imports System.Data.SqlClient
Public Class Inicio
Dim StrHelpPath As String = System.IO.Path.Combine(Application.StartupPath,
"help.chm")
Private Sub Inicio_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Label1.Text = Login.TxtNombreEmpleado.Text
HelpProvider1.HelpNamespace = StrHelpPath
End Sub

Private Sub Label1_TextChanged(sender As Object, e As EventArgs) Handles


Label1.TextChanged
AbrirConexion()
Dim Recuperar As String = "select U.UsuarioEmp, E.NombEmple, E.NivelEmple
from Empleados as E inner join Usuario as U on E.CodEmple=U.CodEmple where
U.UsuarioEmp='" & Label1.Text & "'"
Dim Mostrar As SqlDataReader
Dim Ejecutar As SqlCommand
Ejecutar = New SqlCommand(Recuperar, ConexionBase)
Mostrar = Ejecutar.ExecuteReader
Dim Estado As String
Estado = Mostrar.Read
If (Estado = True) Then
Label2.Text = Mostrar(1)
If Mostrar(2) = 1 Then
Label3.Text = "Administrador"
ElseIf Mostrar(2) = 2 Then
Label3.Text = "Gerente"
Else
Label3.Text = "Vendedor"
End If
Else
Label2.Text = ""
End If
Mostrar.Close()
ConexionBase.Close()
End Sub

Private Sub BtnHelp_Click(sender As Object, e As EventArgs) Handles BtnHelp.Click

Help.ShowHelp(Me, HelpProvider1.HelpNamespace,
HelpNavigator.TableOfContents)

End Sub
End Class

También podría gustarte