You are on page 1of 3

Universidad de Buenos Aires - Facultad de Ciencias Econmicas

Licenciatura en Sistemas de Informacin de las Organizaciones


TEO!A "E LE#$UA%ES & SISTE'AS O(EATI)OS * +, (ACIAL (I'E * CUATI'ESTE -../
LEA ATE#TA'E#TE LA TOTALI"A" "EL E#U#CIA"O A#TES "E CO'E#0A
Fec1a2 4 de mayo de 2007
#om3re 4 A5ellido..egistro......
Una empresa desea agilizar el pedido y entrega de elementos de trabajo, y para eso implementar un
sistema que permitir la creacin, aprobacin y recepcin de solicitudes. a in!ormacin que manejar
entonces este sistema a construir ser la siguiente.
"e cada usuario del sistema se usan los siguientes datos#
$ombre de usuario %tipo caracter&.
'la(e de )ngreso %tipo caracter&.
$ombre del Usuario que aprueba sus solicitudes.
*l sistema tiene capacidad para cargar +asta ,00 usuarios, administrados por un sistema e-terno.
"e cada solicitud se guardan los siguientes datos, todos obligatorios#
'digo %lo ingresa el usuario, tipo caracter&.
"escripcin de lo que solicita %tipo carcter&.
'antidad %entre 0.000. y .000000, aceptando decimales&.
Usuario creador de la solicitud.
Usuario que debe aprobar la solicitud.
*stado de la solicitud %/01 solicitada, /21 aprobada, o /31 recibida&.
*l sistema tiene capacidad para cargar +asta 40000 solicitudes.
Guin de usuario:
.. 2l iniciarse el sistema realizar una carga inicial de los datos que necesita para trabajar y los que
se pudieran +aber cargado en ejecuciones anteriores del mismo. *05* 6U$57 82 *052
"*023372"7.
2. uego le pedir al usuario nombre y cla(e, tantas (eces como sea necesario para que coincida
con un usuario del sistema, de(ol(iendo la !ila del usuario ingresado. *05* 6U$57 82 *052
"*023372"7.
,. uego presentar un men9 para elegir# crear una solicitud %opcin /'1&, aprobar solicitudes
%opcin /21&, recibir solicitudes %$7 "*0233723, opcin /31& o salir %opcin /01&.
4. 0i el usuario elige la opcin de salir, el sistema realizar un guardado !inal de toda la
in!ormacin que agrega o modi!ica. :U23"2"7 ;)$2 82 "*023372"7.
4. )ngresando en la creacin de solicitudes#
a. *l sistema comenzar por buscar una posicin libre para cargarla# en caso de no e-istir
una posicin libre, in!ormar al usuario y (ol(er directamente al men9 principal.
b. uego pedir el cdigo de la nue(a solicitud. 6resentar errores y (ol(er a pedirlo
cuantas (eces sean necesarias +asta que lo ingresado no sea (ac<o ni repita el cdigo de
otra solicitud ya ingresada.
c. 6edir la descripcin de lo que el usuario solicita %por ej. una pizarra para marcadores&.
d. 6edir la cantidad a solicitar %entre 0.000. y .000000, aceptando decimales&.
e. 2lmacenar el nombre de usuario del creador, el de su aprobador, el estado de la
solicitud %/01& y todos los datos de la solicitud que no se +ayan guardado +asta a+ora,
dejndola completa. =ec+o esto, presentar en pantalla el cdigo de solitud guardada y
(ol(er al men9 principal.
>. )ngresando en la aprobacin de solicitudes#
a. 0i no +ay solicitudes en estado /01 cuyo aprobador sea el usuario actual, in!ormar de
esta situacin en pantalla y (ol(er al men9 principal. *n caso contrario, presentar
cdigo, descripcin, cantidad y creador de esas solicitudes en pantalla, mientras se pide
el cdigo de solicitud a aprobar, como se muestra a continuacin#
b. ?alidar que la solicitud elegida e-ista. *n caso contrario presentar un mensaje y (ol(er
al men9 principal. uego (alidar que est@ esperando aprobacin, y que su aprobador sea
el usuario actual. *n caso contrario presentar un mensaje de error y (ol(er al men9
principal.
c. uego de esto el estado de la solicitud se pasa a /21 y se indica en pantalla que la
solicitud se aprob, con su respecti(o cdigo.
Se pide:
a& 'ompletar las llamadas a los procedimientos comprendidos en 'ommandAutton.B'licC%&
b& "esarrollar el procedimiento 'rear0olicitud y 2probar0olicitud, con todas las !unciones y
procedimientos de ni(el in!erior que considere necesarias para el mismo.
Consideraciones:
5odos los ingresos deben de ser (alidados.%que $7 sean (acios y $7 esten !uera de los rangos
permitidos&.
"eben utilizarse las !uncionalidades pre(iamente desarrolladas.
Extracto del cdigo desarrollado hasta el momento:
Option Explicit
Option Base 1
Const kiUsuarios As Integer = 300
Const klSolicitudes As Long = 50000
Const kstrOpcCSolic As String = C
Const kstrOpcASolic As String = A
Const kstrOpc!Solic As String = !
Const kstrOpcSalir As String = S
Const kstrEstadoSolic As String = S
Const kstrEstadoApro" As String = A
Const kstrEstado!eci" As String = !
Const ksCant#in As Single = 0$0001
Const ksCant#ax As Single = 1000000
%ri&ate '(pe t)Usuario
str*o+"re As String
strCla&e As String
strApro"ador As String
End '(pe
%ri&ate '(pe t)Solicitud
strCodigo As String
str,escripcion As String
sCantidad As Single
strCreador As String
strApro"ador As String
strEstado As String
End '(pe
%ri&ate Su" Co++andButton1)Click-.
,i+ tuUsuarios-kiUsuarios. As t)Usuario
,i+ tsSolicitudes-klSolicitudes. As t)Solicitud
,i+ i/ilaUsuario As Integer
,i+ strOpcion As String
Call CargaInicial-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.
i/ilaUsuario = i%ideUsuario-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.
,o
strOpcion = str%ideString-kstrOpcCSolic 0 1 Crear Solicitud )
0 C2r-13. 0 kstrOpcASolic 0 1 Apro"ar Solicitud )
0 C2r-13. 0 kstrOpc!Solic 0 1 !eci"ir lo 3ue Solicit4 )
0 C2r-13. 0 kstrOpcSalir 0 1 Salir.

Select Case strOpcion
Case kstrOpcCSolic
Call CrearSolicitud-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.
Case kstrOpcASolic
Call Apro"arSolicitud-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.
Case kstrOpc!Solic
Call !eci"irSolicitud-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.
Case kstrOpcSalir
Case Else
#sgBox -Opci4n In&5lida.
End Select
Loop Until strOpcion = kstrOpcSalir
Call 6uardado/inal-$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.
End Su"
%ri&ate /unction str%ideString-B(7al strCartel As String. As String
87alida 3ue no se 2a(a ingresa un &acio$
,o
str%ideString = UCase-InputBox-strCartel..
I9 str%ideString = '2en
#sgBox -,e"e ingresar alg:n dato.
End I9
Loop Until str%ideString ;<
End /unction

You might also like