Está en la página 1de 43

UNIVERSIDAD NACIONAL DE PIURA

ESCUELA TECNICA SUPERIOR


ANALISIS DE SISTEMAS

TRABAJO DE INGENIERIA DE SOFTWARE II


INTEGRANTES:
o ALZAMORA CASTILLO, IGOR
o GODOS JARAMILLO, LUIS

PIURA – PERU

mayo-2006
SISTEMA DE PLANILLAS
DE PERSONAL DE LA U.N.P.

En base a los diferentes conceptos estudiados y aplicando la mejor metodología


se utilizará el desarrollo del ciclo de vida Round-Tring Iterativo Incremental, con
análisis y diseño en paralelo. Se ha tomado como base para nuestro trabajo un Sistema
de planillas al cual se le aplicó ingeniería reversa, del cual se obtuvo diferentes clases
con sus respectivos operaciones y asociaciones, pero a la vez se encontraron muchos
vacíos; para lo cual se comenzó a combinar con la metodología Iterativa Incremental.

Se utilizó como herramienta de modelado Rational Rose y Visual Modeler, en la


programación Power Builder 7.0, y como manejador de base de datos SQL Server.

Iniciando el Ciclo de Desarrollo


Esquema del Proyecto:
Equipo de Trabajo: 5 Alumnos
Tiempo: 10 Días
Recursos:
Máquinas: 3 PCs Compatibles

Riesgos:
o Riesgos Tecnológicos:
o Riesgos de Habilidad:
o Riesgos de Requerimientos: La Oficina de Personal muestra una estructura
funcional demasiado vertical, donde los requerimientos de información están
demasiado inclinados hacia personal de experiencia avanzada, las personas neófitas
no saben lo que necesitan en verdad
o Riesgos políticos
I. Fase de Planeación y Elaboración

Planteando Caso de Estudio

Se realizael análisis, diseño e implementación del Sistema de Planillas de


la Universidad Nacional de Piura. Este Sistema Computarizado registra las
transacciones mensuales de los trabajadores activos y cesantes de dicha institución
a través de un solo terminal, además de realizar los cálculos para determinar los
distintos totales y descuentos que se requieren por ley.

Conocimientos de los Requerimientos

Presentación General
Tiene por Objeto crear un sistema de Planillas de Personal para el Pago de
Salarios.

Trabajadores
Son todos las Personas que prestan servicios a la Universidad en condición de
contratados o permanentes y que son remunerados por ello, o que han cesado.

Metas
En términos Generales son:
 Pago rápido de los salarios
 Análisis rápido y exacto de los salarios
 Control automático de Planillas
 Registro automatizado de Transacciones
 Control de Saldos y Préstamos a Trabajadores
FASE DE ANÁLISIS

Funciones Básicas

Referencia # Funciones Básicas Categorías


R.1.1 Introducir el nuevo trabajador Evidente
R.1.2 Calcular sueldo de trabajadores Activos Oculto
R.1.3 Mostrar sueldo de trabajadores Activos Evidente
R.1.4 Modificar la condición de un trabajador Evidente
R.1.5 Calcula sueldo de trabajadores cesantes Oculto
R.1.6 Controla el saldo de deudas adquiridas por un Oculto
trabajador
R.1.7 Calculo de Planilla Normal Oculto
R.1.8 Imprimir boletas Evidente
R.1.9 Imprimir planilla de trabajador Evidente
R.1.10 Muestra el saldo de Deudas adquiridas por un Evidente
trabajador

Funciones sobre transaciones


Referencia # Funciones Categorías
R.2.1 Capturar los datos necesarios para efectuar la Evidente
transacción
R.2.2 Verificar y validar los datos de una transacción Oculto
R.2.3 Guardar la transacción en la Base de Datos Oculto
R.2.4 Actualización de la base de datos en cada Oculto
transacción
R.2.5 Mostrar mensaje de error por un mal ingrso de datos Evidente
R.2.6 Crear una transacción con los datos ya validados Oculto
Funciones sobre cálculo de la Planilla Normal

Referencia # Funciones Categorías


R.3.1 Capturar el Mes y el Año para indicar el periodo en Evidente
que se requiere el cálculo de la Planilla
R.3.2 Calcular los ingresos del trabajadores Oculto
R.3.3 Calcular los descuentos del trabajador Oculto
R.3.4 Calcular el número total de trabajadores Oculto
R 3.5 Calcular el haber líquido de cada trabajador Oculto
R 3.6 Mostrar Ingreso del Trabajador Evidente
R 3.7 Mostrar descuentos del trabajador Evidente
R 3.8 Mostrar el haber líquido de cada trabajador Evidente
R 3.9 Permitir el ingreso o modificación de los Parámetros Evidente
de Cálculo
R 3.10 Permitir el ingreso de nuevos rubros para el cálculo Evidente
del Sistema

Funciones sobre Ingreso y Cierre del Sistema

Referencia # Funciones Básicas Categorías


R.4.1 Introducir Nombre de Usuario y Clave del nuevo Evidente
Operador al sistema
R.4.2 Asegurar los nuevos usuarios y sus permisos Oculto
R.4.3 Verificar y validar una clave de usuario y nombre de Oculto
usuario para el Ingreso de Datos
R.4.4 Aceptar el Ingreso de un nuevo nombre de usuario y Evidente
Clave permitiendo uso del sistema
R.4.5 Verificar el Cierre o Terminación del Sistema Evidente
R.4.6 Negar el Ingreso a un Usuario no Autorizado al Evidente
Sistema

ACTORES QUE INTERVIENEN EN EL SISTEMA

Actores
Jefe de Personal Registra los nuevos trabajadores
Trabajador Solicita sueldo
Operador Actualiza la planilla.
Sistema Escalafón Envía Documentación precisa de Trabajador
Sistema de control Controla el número de horas trabajadas por un empleado activo,
de Personal para el calculo del haber pagado por días.

Casos de Uso de Alto Nivel

Caso de Uso Ingresar Transacciones


Actores Operador
Tipo Primario
Descripción El operador ingresa el código del trabajador, código de rubro,
monto y número de veces(en cuantos meses se va a descontar
una transaccion, en caso de que se tratase de un descuento) mes,
año, tipo de planilla. Además se procederá de validarlo y
guardarlo en la base de datos

Caso de Uso Calcular planilla normal


Actores Operador
Tipo Primario
Descripción El operador ingresará el mes y año al Sistema UNP y este se
encargará de realizar los cálculos que sean necesarios para
finalmente llegar a calcular el saldo líquido del trabajador y lo
mostrará al trabajador.

Caso de Uso Ingresar Nuevo Usuario al Sistema


Actores Operador
Tipo Primario
Descripción El operador ingresa un nuevo usuario registrando los datos del
usuario en el sistema

Caso de Uso El Usuario ingresa al sistema


Actores Operador
Tipo Pimario
Descripción El operador ingresa su Usuario y Su Clave para ingresar al
sistema

Caso de Uso Introducir Nuevo Trabajador


Actores Sistema Escalafonario
Tipo Primario
Descripción El Sistema Escalafonario brinda los datos necesarios del
trabajador, estos datos son registrados en el sistema y son
añadidos a la base de datos, de tal manera que se puedan ingresar
sus transacciones en porterior oportunidad
Casos Expandidos de Uso

INGRESAR TRANSACCIONES

Caso de Uso Ingresar Transacciones


Actores Operador
Propósito Se ingresa, valida y verifica la transaccion que se está ingresando
procediendo a registrarla si se está conforme
Resumen El operador ingresa el código del trabajador, código de rubro,
monto y número de veces(en cuantos meses se va a descontar
una transaccion, en caso de que se tratase de un descuento) mes,
año, tipo de planilla. Además se procederá de validarlo y
guardarlo en la base de datos
Tipo Primario
Referencia Cruzada

CURSO NORMAL DE EVENTOS

Acción de los Actores Respuesta del sistema


1. El operador ingresará a través de
una interfaz de usuario los datos de la
transaccion que desae registrar
2. El sistema verificará el Codigo del
Trabajador y el Código del Rubro,
pertenecientes a la transacción que el
operador está ingresando al sistema
3. Si los datos de Código del
trabajador y el Código del Rubro son
válidos se procederá a verificar la
consistencia de la transacción
4. Se guardará la transacción en la
base de datos
5. Se dará un aviso al usuario que la
transacción se ha almacenado
satisfactoriamente
6. El usuario ingresará la siguiente
transacción
CALCULAR LA PLANILLA NORMAL
Caso de Uso Calcular Planilla Normal
Actores Operador
Propósito Muy importante, es el corazón de todo el sistema, el cálculo debe
ser rápido, limpio y sin demasiadas inconsistencias
Resumen El operador ingresará el mes y año al Sistema UNP y este se
encargará de realizar los cálculos que sean necesarios para
finalmente llegar a calcular el saldo líquido del trabajador y lo
mostrará al trabajador.
Tipo Primario
Referencia Cruzada

CURSO NORMAL DE EVENTOS

Acción de los Actores Respuesta del sistema


1. El operador ingresará a través de
una interfaz de usuario los datos del
mes y año para lo cual calculará la
planilla Normal
2. El sistema verificará los datos del
mes y del año, si no existen
transacciones para esos meses,
simplemente no los calculará
3. El sistema debe en primera
instancia calcula el FEDU, que viene a
ser el único ingreso (hasta ahora) que
se calcula, viene a ser el resultado de
un Monto Total (FEDU) dividido entre
el número de trabajadores.
4. Calcula el total de Ingresos por
Cada Trabajador y lo almacena como
un Haber Bruto
5. El sistema debe extraer el Decreto
276 por ser este rubro excento de
descuentos de ley.
6. Realiza una consulta de los
Porcentajes de Descuento dependiendo
de donde esté suscrito el trabajador,
puede ser Aprote Obligatorio +
Comision Porcentual + Seguro
Invalidez
7. Calcula los Descuentos de Ley
8. Calcula el total de Descuentos por
Cada trabajador
9. Calcula el líquido de cada
trabajador
10. Informa al usuario que la operación
se ha terminado
INGRESAR NUEVO USUARIO AL SISTEMA

Caso de Uso Ingresar Nuevo Usuario al sistema


Actores Operador
Propósito Caso de uso empleado para matenimiento de usuarios en el
sistema, ingresando cada usuario con su respectivo nivel de
seguridad
Resumen El operador ingresa un nuevo usuario registrando los datos del
usuario en el sistema
Tipo Primario
Referencia Cruzada

CURSO NORMAL DE EVENTOS

Acción de los Actores Respuesta del sistema


2. El operador
ingresará a través de una interfaz de
usuario los datos del nuevo usuario que
desea ingresar, además de un login y
password
3. El sistema
encriptará tanto el login como el
password del usuario
4. El sistema
verificará que tanto el login como el
password del usuario no existan en la
base de datos, porque si asi fuese, no se
debería ingresar un nuevo usuario
5. Crea una instancia
de la clase usuario, llenándola con los
datos ingresados por el operador, para
luego proceder a guardarlo de forma
permanente
6. El sistema informa
al operador que la operación se ha
realizado de manera satisfactoria o no
EL USUARIO INGRESA AL SISTEMA
Caso de Uso El Usuario ingresa al sistema
Actores Operador
Propósito Caso de uso empleado para el ingreso al sistema con su
respectivo nivel de seguridad
Resumen El operador ingresa su Usuario y Su Clave para ingresar al
sistema
Tipo Primario
Referencia Cruzada

CURSO NORMAL DE EVENTOS

Acción de los Actores Respuesta del sistema


1. El operador
ingresará a través de una interfaz de
usuario el login y el password
2. El sistema
encripta el login y el password
3. El Sistema
verifica que tanto el login como el
password encriptados se encuentrados
en la base de datos
4. Si el sistema
encuentra el usuario se inicia el sistema
con un nivel de acceso
INTRODUCE NUEVO TRABAJADOR

Caso de Uso Introduce nuevo trabajador


Actores Sistema Escalafonario
Propósito Caso de uso empleado para el ingreso al sistema de nuevos
trabajadores que se incorporan a la UNP, previamente, deben ser
registrados por el Sistema Escalafonario
Resumen El Sistema Escalafonario brinda los datos necesarios del
trabajador, estos datos son registrados en el sistema y son
añadidos a la base de datos, de tal manera que se puedan ingresar
sus transacciones en porterior oportunidad
Tipo Primario
Referencia Cruzada

CURSO NORMAL DE EVENTOS

Acción de los Actores Respuesta del sistema


1. El Sistema
Escalafonario enviará a través de algún
tipo de concector los datos de los
nuevos trabajadores que se incorporan
a la UNP (como contratados o
permanentes)
2. El sistema captura
los datos enviados a través del conector
(se presupone que estos son digitados
por algun operador)
3. El sistema verifica
que el código del Trabajador no exista
en la base de datos, además valida el
código que esté correctamente
ingresado
4. El sistema Crea
una instancia de la clase Trabajador y
lo llena con los atributos enviados por
el Sistema Escalafonario
5. El sistema grabará
la nueva instancia Trabajador en la base
de datos
CLASIFICACION DE LOS CASOS DE USO

Clasificación Casos de uso Justificación


Alto Corresponde a los criterios del
Calcular Planilla Normal
sistema más alto
Corresponde a los criterios del
Ingresar Transacciones
sistema más alto
Mediano
Ingresar Nuevo Usuario al Sistema Afecta el dominio del sistema.

El Usuario Ingresa al Sistema


Afecta el dominio del sistema.
Ingresar Nuevo Trabajador Afecta el dominio del sistema.
Bajo
Iniciar El Sistema Efecto mínimo en la arquitectura.

Cerrar Sistema Efecto mínimo en la arquitectura.


MODELO CONCEPTUAL DEL SISTEMA

MODELO CONCEPTUAL DEL DOMINIO DEL SISTEMA

Los conceptos se encuentran relacionados con los casos de uso del sistema

Sistema UNP Transacción Planilla Trabajadores

Rubros Rubro Trabajador Transacciones

Usuario Usuarios AFP AFPs

Dependencia Dependencias Parámetro de Boleta


Cálculo

Boletas

Explicación de los conceptos del sistema

o Transacción: Instancia de clase que tiene como función representar una


transacción de un trabajador que puede ser un ingreso o un descuento, y que se
imprimirá como detalle en una boleta de pago.

o Transacciones: Es el manejador de todos los metodos y controlador de todos los


eventos en los participe alguna instancia de clase transacción, como por ejemplo
el almacenamiento, calculos, ingreso, eliminación. Este concepto se apoyará de
la Clase PERSISTENCIA para realizar el almacenamiento, pero tendrá como
misión la validación de los datos antes de proceder a guardarlos.

o Trabajador: Este concepto es una instancia de clase que representa a un


trabajador con sus atributos principales y con metodos y funciones que le
permitan manipular dichos métodos, la Colección TRABAJADORES se
encargará de la validación y almacenamiento
o Trabajadores: Este concepto es el manejador de todas las instancias de la clase
trabajador, y se encargará de su manipulación así como su almacenamiento y
validación según las reglas del negocio, apoyado para ello de la Superclase
PERSISTENCIA

o Planilla: Este concepto representa a la planilla normal de personal, se encargará


de ciertos cálculos y restricciones propias de las planillas, es decir, contendrá las
reglas del negocio correspondientes a la planilla (como por ejemplo la restricciín
del Decreto 276), apoyado de otros conceptos como las Transacciones y los
Rubros

o Rubros: Este concepto representa el contenedor de las instancias de clase


Rubro, maneja el almacenamiento, validación y verificación de todas las
operaciones relacionadas con la instancia Rubro, apoyada de la SUPERCLASE
PERSISTENCIA

o Rubro: Este concepto representa la instancia de una clase Rubro, con todos sus
atributos y es manipulado por muchas otras instancias de clase, como por
ejemplo transaccion y transacciones

o Usuario: Este concepto representa al usuario que se encuentra manipulando el


sistema en el momento en que se ingresó, puede ser declarado como variable de
tipo GLOBAL, pero hay que tener mucho cuidado con su manejo ya que
consume memoria y puede ocasionar un colapso por abuso de la memoria.

o Usuarios: Este concepto representa la colección de instancias de clases usuario,


sirve para la manipulación y verificación de usuarios autorizados en el sistema,
tener cuidado en no sobrecargar recursos durante la verificación. Debe ser
apoyada por la SUPERCLASE PERSISTENCIA

o AFP: Este concepto representa a la AFP en donde se encuentra inscrito un


trabajador determinado y que brinda los porcentajes necesarios para realizar los
calculos de sus descuentos
o AFPs: Este concepto representa una colección de instancias de clase AFP; se
encarga de la manipulación, validación y manipulación de todo tipo de
operación en donde intervengan la AFP. Debe ser apoyada por alguna instancia
de PERSISTENCIA

o Dependencia: Este concepto representa a una dependencia donde labora el


trabajador en un momento determinado, se debe tener en cuenta que un
trabajador solo puede estar laborando en una dependencia a la vez.

o Dependencias: Este concepto representa una colección de instancias de clase


Dependencia; se encarga de la manipulación, validación y manipulación de todo
tipo de operación en donde intervengan la Dependencia. Debe ser apoyada por
alguna instancia de PERSISTENCIA

o Parámetros de Cálculo: Esta clase, aunque está totalmente independizado, es


utilísmo porque permite el almacenamiento y recuperación de todo tipo de
porcentaje, monto y demás; que serán muy necesarios para el cálculo de la
planilla.

o Boleta: Este concepto representa la boleta de pago de un trabajador de la


planilla normal; aunque CARLOS LARGMAN determina que cualquier
documento de impresión no debe ser considerado como instancia ni concepto,
cabe recalcar que para nuestro caso, la boleta de pago tiene muchos atributos y
características que no pueden asignársele a ningún otro concepto, apartándose
como un concepto independiente.

o Boletas: Este concepto representa una colección de instancias de clase


BOLETA; se encarga de la manipulación, validación y manipulación de todo
tipo de operación en donde intervengan la BOLETA. Debe ser apoyada por
alguna instancia de PERSISTENCIA
o SistemaUNP: Este concepto representa al sistema en su totalidad, con los
métodos esenciales para la comunicación entre las Clases del Servicios de
Usuario y las Clase del Servicio de Negocios (Clases de dominio del sistema).
Este viene a ser el controlador del sistema, la encargada de dar la
responsabilidad a la clase determinada para realizar una determinada función.

En este punto podemos agregar que comulgamos con algunas ideas del Libro
UML y PATRONES de CARLOS LARGMAN, en la cual sostiene que el
Controlador viene a ser una ayuda trascendental dentro del diseño del sistema,
porque nos permite centralizar los puntos cruciales en una clase que puede estar
distribuida deacuerdo a la arquitectura de Implementación y nos permite un
mantenimiento sencillo del sistema. (Alta cohesión y Bajo Acoplamiento)
DIAGRAMAS DE SECUENCIA DEL SISTEMA
CONTRATOS DEL SISTEMA DE PLANILLAS

CONTRATOS PARA EL CASOS DE USO “INGRESAR TRANSACCIONES”

Contrato IngresarDatos:

Nombre IngresarDatos (CódigoTrabajador, CódigoRubro, monto, mes,


Veces, año, tipoPlanilla).
Responsabilidad Captura el código de trabajador, código de rubro, monto, mes,
veces, año y tipo de planilla.
Tipo Sistema
Referencias Cruzadas
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Si está mal ejecutado el ingreso de los diferentes datos el
sistema retornará un error. (Catálogo de Errores)
Precondiciones El sistema debe estar listo para registrar los datos (Interfaz de
usuario).
Poscondiciones Verificación de los código de la transacción recién ingresada

Contrato VerificarCódigoTrabajador:

Nombre VerificaCódigoTrabajador (CodigoTrabajador)


Responsabilidad El sistema verifica que el código del trabajador que se está
ingresando como parámetro exista en la base de datos.
Tipo Sistema
Referencias Cruzadas
Notas Se debe optimizar el acceso a la base de datos, encargándose la
tarea a la Clase Persistencia
Excepciones Ninguna
Precondiciones El código del trabajador que se envía como parámetro no debe
estar vacío o diferente de NULL
Poscondiciones Devolverá true si el CodigoTrabajador existe, en caso contrario
false

Contrato VerificaCódigodeRubro:

Nombre VerificaCódigoRubro(CodigoRubro)
Responsabilidad El sistema verifica la existencia del código del rubro en la base
de datos
Tipo Sistema
Referencias Cruzadas
Notas Se debe optimizar el acceso a la base de datos, encargándose la
tarea a la Clase Persistencia
Excepciones Ninguna
Precondiciones El CodigoRubro no debe estar en blanco o debe ser distinto de
NULL
Poscondiciones Retornará true si CodigoRubro existe, en caso contrario
devolverá false

Contrato CrearTransacción :
Nombre CrearTransacción(CodigoTrabajador, CodigoRubro, mes, año,
monto, veces, TipoPlanilla)
Responsabilidad Crear una transacción una vez realizada la verificación de los
Código tanto de Trabajador como del Rubro
Tipo Sistema
Referencias Cruzadas
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones Todos los argumentos no deben estar en blano o ser distintos de
NULL a excepción quizás de veces, cuando se trate de ingresos
fijos o descuetnos fijos.
Poscondiciones Se crea nueva instancia transacción.
Contrato IngresarTransacción

Nombre IngresarTransacción(ObjTransaccion)
Responsabilidad Deriva la responsabilidad, a la insatancia Planilla, de realizar
el ingreso de la transacción a la base de datos
Tipo Sistema
Referencias Cruzadas
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP. Puede
aplicar alguna reglas superficiales de validación antes de
realizar este contrato.
Excepciones Ninguna
Precondiciones La instancia ObjTransaccion no debe ser NULL y sus datos
deben estar explícitamente llenados
Poscondiciones Ninguna

Contrato VerificarTransacción
Nombre VerificarTransacción(ObjTransaccion)
Responsabilidad La instancia planilla verifica los datos del objeto transacción
enviados como parámetro
Tipo Sistema
Referencias Cruzadas
Notas La validación puede estar nivelada siempre guardando la
optimización debida para que el sistema no se sobrecargue ni
se sature
Excepciones Ninguna
Precondiciones La instancia ObjTransaccion no debe ser NULL y sus datos
deben estar explícitamente llenados
Poscondiciones Devolverá true si el ObjTransaccion es válido de lo contrario
devolverá false
Contrato Guardar Transacción

Nombre GuardarTransacción(ObjTransaccion)
Responsabilidad Procederá a derivar la responsabilidad de almacenar en forma
permanente el Objeto transacción a la instancia
Transacciones. (Siempre apoyado por la Clase Persistencia)
Tipo Sistema
Referencias Cruzadas
Notas Optimización de los recursos para evitar una saturación del
sistema. Se pueden realizar otras verificaciones muy
superficiales antes de realizar esta operación
Excepciones Ninguna
Precondiciones La instancia ObjTransaccion no debe ser NULL y sus datos
deben estar explícitamente llenados y validados
Poscondiciones Devuelve true si es que la transaccion se grabó correctamente,
en caso contrario devuelve false
CONTRATOS PARA EL CASOS DE USO
“INGRESAR NUEVO USUARIO AL SISTEMA”

Contrato IngresarDatosUsuario:

Nombre IngresarDatosUSuario(Usuario, Clave, Nombre, Cargo,


Nivel)
Responsabilidad Captura los datos ingresados por el operador, estos datos
describen al usuario que manejará el sistema
Tipo Sistema
Referencias Cruzadas
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones El sistema debe estar listo para registrar los datos (Interfaz de
usuario).
Poscondiciones Ninguna

Contrato EncriptarUsuario

Nombre EncriptarUsuario(Usuario)
Responsabilidad Encripta el usuario para luego ser almacenado
Tipo Sistema
Referencias Cruzadas
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones El usuario que se ingresa como parámetrono debe ser NULL
ni debe estar vacío
Poscondiciones Devuelve la cadena de caracteres ya encriptado
Contrato EncriptarClave:

Nombre EncriptarCLave(Clave)
Responsabilidad Encripta la clave para luego ser almacenada en la base de
datos
Tipo Sistema
Referencias Cruzadas
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones La Clave no debe ser NULL ni una cadena vacía
Poscondiciones Devuelve la cadena de caracteres ya encriptada

Contrato VerificarUsuarioClave:

Nombre VerificarUsuarioClave(Usuario, Clave)


Responsabilidad Verifica que tanto el usuario como la Clave, ya encriptados, se
encuentren en la base de datos
Tipo Sistema
Referencias Cruzadas
Notas Optimización y rapidez de acceso a la base de datos, apoyado
por la instancia Persistencia
Excepciones Ninguna
Precondiciones El usuario y la Clave no deben ser NULAS ni cadenas vacías,
además ya deben de estar encriptadas
Poscondiciones Devuelve true si los datos ya se encuentran en la base de
datos, en caso contrario, devuelve false.
Contrato Crear:

Nombre Crear(Usuario, Clave, Nombre, Cargo, Nivel)


Responsabilidad Crea una instancia de clase usuario con los datos ingresados
por el Operador, ya encriptados y verificados por los contratos
anteriores; una vez creado el usuario, se procederá al
almacenamiento
Tipo Sistema
Referencias Cruzadas
Notas Optimización en el uso de recursos para evitar
congestionamiento de memoria en la instancia de la clase
Usuario
Excepciones Ninguna
Precondiciones Ningun parámetro no deben ser NULAS ni cadenas vacías, a
excepción del cargo, además ya deben de estar encriptadas
Poscondiciones Ninguna

Contrato IngresarNuevoUsuario

Nombre IngresarNuevoUsuario(ObjUsuario)
Responsabilidad Procede a ingresar a la instancia de la clase usuario, enviada
como parámetro, a la base de datos
Tipo Sistema
Referencias Cruzadas
Notas Optimización en el uso de recursos para evitar
congestionamiento de memoria en la instancia de la clase
Usuarios y optimizar la velocidad de acceso a la base de datos
para el almacenamiento rápido, apoyado por la clase
Excepciones Ninguna
Precondiciones Ningun parámetro no deben ser NULAS ni cadenas vacías, a
excepción del cargo, además ya deben de estar encriptadas
Poscondiciones Ninguna
CONTRATOS PARA EL CASOS DE USO
“INGRESAR AL SISTEMA”

Contrato IngresarUsuarioClave:

Nombre IngresarUsuarioClave()
Responsabilidad Captura la identificación de usuario para que se efectúe el
proceso de validación.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.4.1., R.4.2., R.4.6.
Notas Utiliza el acceso rápido a la base de datos.
Excepciones Si la identificación de usuario no es válida indicará que se
cometió un error.
Precondiciones El sistema conoce los usuarios registrados.
Poscondiciones Se le asigna al usuario los permisos sobre el sistema.

Contrato EncriptaUsuario:

Nombre EncriptaUsuario()
Responsabilidad Toma el nombre del usuario y le aplica el algoritmo de
encriptación.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.4.2., R.4.3., R.4.6.
Notas Utiliza el acceso rápido a la base de datos.
Excepciones Si el usuario ha sido mal ingresado por el operador indicará
que se cometió error.
Precondiciones El operador ya debió haber ingresado el nombre del usuario
Poscondiciones El sistema realizó el algoritmo de encriptación al nombre de
usuario.
Contrato EncriptarClave:

Nombre EncriptarClave()
Responsabilidad Toma la clave de usuario y le aplica el algoritmo de
encriptación.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.4.1., R.4.3., R.4.6.
Notas
Excepciones Si la clave ha sido mal ingresada por el operador indicará que
se cometió un error.
Precondiciones El operador ya debió haber ingresado la clave de usuario.
Poscondiciones El sistema realizó el algoritmo de encriptación de la clave de
usuario.

Contrato VerificarUsuarioClave:

Nombre VerificarUsuarioClave()
Responsabilidad Una vez encriptado el usuario y su clave el sistema verifica su
existencia en el objeto usuarios.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.4.2., R.4.4., R.4.6.
Notas Utiliza el acceso rápido a la base de datos para identificar al
usuario que ingresará al sistema.
Excepciones Si el usuario no existiese en la base de datos indicará que se
cometió un error.
Precondiciones El sistema está preparado para identificar al usuario que
quiere ingresar al sistema
Poscondiciones El sistema ya realizó la identificación del usuario con su
respectiva clave y ya puede comenzar su respectiva sesión.
CONTRATOS PARA EL CASOS DE USO
“INTRODUCE NUEVO TRABAJADOR”

Contrato CapturaDatosTrabajador:

Nombre CapturaDatosTrabajador()
Responsabilidad Captura los datos del nuevo trabajador con sus atributos
respectivos. Envía todos estos parámetros al objeto
trabajadores.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.1.1.
Notas
Excepciones Todos los atributos deben ser ingresados con sus respectivos
número de caracteres, en caso contrario, se indicará que se
cometió un error.
Precondiciones El sistema está preparado para un número específico de
caracteres.
Poscondiciones El sistema realizó captura de los datos del nuevo trabajador.
El objeto trabajadores tiene todos los parámetros que le ha
enviado el objeto SistemaUNP.

Contrato VerificaCódigoTrabajador:

Nombre VerificaCódigoTrabajador()
Responsabilidad Una vez recibido los parámetros del nuevo trabajador del
Objeto SistemaUNP, el sistema se encargará de verificar si el
trabajador recién ingresado se encuentra o no en la base de
datos ya registrado. En caso que no se encuentra registrado se
encargará de enviar los parámetros del nuevo trabajador al
objeto trabajadores.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.1.1.
Notas Accede a la base de datos para verificar si el trabajador si se
encuentra registrado o no.
Excepciones Si el trabajador ya existiera, se indicará que se cometió un
error.
Precondiciones El sistema está preparado para indicar si el nuevo trabajador
se encuentra o no en la base de datos.
Poscondiciones El sistema ya ha verificado el código del trabajador y está
listo para enviar los parámetros verificados al objeto
trabajadores.

Contrato Crear:

Nombre Crear()
Responsabilidad El sistema crea una instancia en el objeto trabajador con sus
respectivos atributos importantes.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.1.1.
Notas
Excepciones
Precondiciones El objeto trabajador está preparado para crear una nueva
instancia para el nuevo trabajador con sus respectivos
atributos.
Poscondiciones El sistema creó la nueva instancia en el objeto trabajador.

Contrato IngresarTrabajador:

Nombre IngresarTrabajador()
Responsabilidad El sistema recibe del objeto trabajador la nueva instancia ya
creada con sus respectivos atributos para ingresarlos al objeto
trabajadores.
El sistema almacena la base de datos al nuevo trabajador.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.1.1.
Notas Realiza el acceso rápido a la base de datos y almacena el
nuevo trabajador.
Excepciones La conexión a la base de datos debe ser la adecuada, caso
contrario indicará error.
Precondiciones El sistema está preparado para almacenar al nuevo trabajador
en la base de datos..
Poscondiciones Se actualizó la base de datos por el nuevo trabajador
ingresado.
CONTRATOS PARA EL CASOS DE USO
“CALCULA PLANILLA NORMAL”

Contrato Ingresamesaño:

Nombre Ingresamesaño()
Responsabilidad Captura el mes y año para realizar el cálculo de planilla.
Realiza respectiva validación y verificación.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.3.1.
Notas Acceso rápido a la base de datos.
Excepciones La operación se cancela cuando los datos son iguales (se
refiere a que si es el mismo mes).
Precondiciones El sistema debe reconocer que no se repiten los meses ya
procesados (sean el mes siguiente al último que encuentre
ingresado).
Poscondiciones Quedan los datos validados del mes y año.

Contrato CalculaPlanillaNormal:

Nombre CalculaPlanillaNormal ()
Responsabilidad El objeto planilla recibe los parámetros mes y año ya
validados.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.3.1.
Notas
Excepciones
Precondiciones El objeto planilla debe estar preparado para recibir los datos
validados del objeto sistemaUNP.
Poscondiciones
Contrato CalcularFEDU:

Nombre CalcularFEDU ()
Responsabilidad El objeto transacción recibe todos los parámetros de la
operación calcular planilla normal con el fin de calcular el
FEDU. Recibe monto total del FEDU y el total de
trabajadores y calcula saldo de trabajador.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.3.1., R.3.2. R.3.4, R.3.6.
Notas
Excepciones
Precondiciones El objeto transacciones está `rearado para recibir parámetros
del objeto planilla, el cual contiene la operación Calcular
Planilla Normal.
Poscondiciones

Contrato MontoTotal:

Nombre MontoTotal ()
Responsabilidad Obtiene del objeto ParámetrodeCalculo todos los ingresos en
general que le correspondan al trabajador y realizan un total
de todos ellos.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.3.2., R.3.6
Notas Los parámetros de cálculo son independientes y nos brinda el
monto total del FEDU y otros según sea el caso del trabajador.
Excepciones
Precondiciones El objeto parámetro de cálculo está preparado para enviar los
datos que se necesiten para tener el monto total del FEDU..
Poscondiciones
Contrato TotalTrabajadores:

Nombre Totaltrabajadores ()
Responsabilidad Obtiene el total de trabajadores activos y cesantes que laboran
en la Universidad.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.3.4.
Notas Accesa a la base de datos para obtener información de todos
los trabajadores activos y cesantes.
Excepciones
Precondiciones La tabla trabajadores está preparada para brindar el número de
trabajadores del mes solicitado
Poscondiciones

Contrato Calcular Ingresos:

Nombre Calcular Ingresos


Responsabilidad Calcula los ingresos de cada trabajador y lo almacena con
haber bruto
Tipo Sistema
Referencias Cruzadas
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones El sistema debe estar listo para Calcular los ingresos
Poscondiciones Ninguna
Contrato ExtraeD276:

Nombre ExtraeD276
Responsabilidad El sistema extrae del haber bruto de cada trabajador que
corresponde por cumplimiento al Decreto Ley 276.
Tipo Sistema
Referencias Cruzadas R3.9
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones El monto fijo debe estar almacenado en los parámetros de
cálculo
Poscondiciones Ninguna

Contrato Porcentajes:

Nombre Porcentajes
Responsabilidad El sistema realiza las consulta a los parámetros de cálculo
dependiendo de donde esté suscrito el trabajador.
Tipo Sistema
Referencias Cruzadas R3.9
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones El sistema debe estar listo para acceder rápidamente a
consultar los porcentajes que le corresponden a cada
trabajador.
Poscondiciones Ninguna
Contrato Aporte Obligatorio:

Nombre Aporte Obligatorio


Responsabilidad El sistema realiza una consulta del monto determinado para el
aporte obligatorio (catálogo AFPs).
Tipo Sistema
Referencias Cruzadas R3.9
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones El sistema debe estar listo para acceder rápidamente a
consultar el monto correspondiente del aporte obligatorio.
Poscondiciones Ninguna

Contrato Seguro de Invalidez:

Nombre Seguro de Invalidez


Responsabilidad El sistema realiza una consulta del monto determinado para el
seguro de invalidez (catálogo AFPs).
Tipo Sistema
Referencias Cruzadas R3.9
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones El sistema debe estar listo para acceder rápidamente a
consultar el monto correspondiente al seguro del caso.
Poscondiciones Ninguna
Contrato Comisión Porcentual:

Nombre Comisión Porcentual


Responsabilidad El sistema realiza una consulta del monto determinado para la
comisión porcentual (catálogo AFPs).
Tipo Sistema
Referencias Cruzadas R3.9
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones El sistema debe estar listo para acceder rápidamente a
consultar el monto correspondiente del aporte obligatorio.
Poscondiciones Ninguna

Contrato Calcula Descuento de ley:

Nombre Calcula Descuento de Ley


Responsabilidad El sistema realiza los cálculos de descuento de ley de cada
uno de los trabajadores de acuerdo a ley.
Tipo Sistema
Referencias Cruzadas Función de Sistema: R3.10
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones El sistema debe estar listo para realizar los cálculos.
Poscondiciones Ninguna
Contrato Cálculo de descuento:

Nombre Cálculo de descuento.


Responsabilidad El sistema realiza los cálculos totales de descuento de cada
uno de los trabajadores de acuerdo a ley.
Tipo Sistema
Referencias Cruzadas Función de Sistema: R3.10
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones El sistema debe estar listo para realizar los cálculos.
Poscondiciones Ninguna

Contrato Calcula Líquido::

Nombre Calcula líquido.


Responsabilidad El sistema calcula el líquido correspondiente de cada uno de
los trabajadores. Para lo cual realiza la operación total de
ingresos menos total de descuentos.
Tipo Sistema
Referencias Cruzadas Función de Sistema: R3.10
Notas Optimización en el uso de recursos para evitar
congestionamiento en el controlador SistemaUNP
Excepciones Ninguna
Precondiciones El sistema debe estar listo con las operaciones
correspondientes a la obtención del cálculo del saldo líquido
del trabajador.
Poscondiciones Ninguna
CONTRATO PARA EL CASO DE USO
“INICIO DE SISTEMA”

Contrato Inicio de Sistema:

Nombre Inicio de Sistema ()


Responsabilidad Se conecta a la Base de Datos , y para dar inicio tiene que
capturar el nombre y clave de usuario para verificarlo y dar
inicio a las operaciones en el sistema .
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.4.1 , R.4.3 , R.4.4 , R.4.6 .
Notas Utiliza el acceso rapido a la base de datos para verificar
nombre y clave de usuario .
Excepciones
Precondiciones El usuario debe de estar registrado como operador del sistema
.
Poscondiciones

CONTRATO PARA EL CASO DE USO


“CIERRE SISTEMA”

Contrato Cierre Sistema:

Nombre Cierre Sistema ()


Responsabilidad Se desconecta de la Base de Datos , verifica que la
terminación sea correcta del sistema.
Tipo Sistema.
Referencias Cruzadas Función del Sistema: R.4.2 , R.4.5 .
Notas Utiliza el acceso rapido a la base de datos para desconectarse
y se asegura de concluir las operaciones correctamente .
Excepciones
Precondiciones
Poscondiciones El sistema debe de haberse cerrado correctamente.
BITÁCORA DE DESARROLLO
DEL SISTEMA DE PLANILLAS OCEP

Fecha Acciones Desarrolladas


11/12/2000 Se estudio el sistema de planillas elaborado en el curso de Sistemas
Administrativos de bases de datos. De forma satisfactoria pudimos
encontrar cosas rescatables
12/12/2000 Se estudió la metodología que se aplicaría, obteniéndose un resultado:
Round-Trip (Ingeniería Reversa y Progresiva) y se obtuvieron posibles
candidatos a clases con sus atributos y métodos, los cuales se analizaron
detalladamente. En estos momentos nos enfrentamos a la decisión de
manejar alguna herramienta que nos ayude para aplicar el Round – Trip de
manera satisfactoria. Nos encargamos la tarea de dividir la búsqueda de tal
paquete.

13/12/200 Se encontraron dentro de las clases una diversidad de confusiones en el


manejo de las operaciones con una baja cohesión y un gran acoplamiento.

15/12/2000 Se llego a la conclusión con todos los datos obtenidos anteriormente que
además de aplicar round-trip se nos es forzoso valerse la metodología
iterativa incremental. Como se recordará esta metodología se aplica a todo
el ciclo de vida del sistema en desarrollo. Se analizaron todos los tipos de
riesgos: Tecnológicos, de Habilidad, de Requerimientos.

17/12/2000 Se buscara la mejor técnica de almacenamiento físico, que será manejado


por una clase denominada a priori “persistencia” la cual se encargará de
“masticar los datos” que le enviarán las clases que se encuentran en la capa
dominio.

18/12/2000 Una vez identificadas todas los errores de todas las fases del sistema en
desarrollo estas son subsanadas.
19/12/2000 En esta sesión se empezó a agregar a la fase de requerimientos las
funciones faltantes y los diferentes casos de uso, tanto los de alto nivel
como los expandidos; se identificaron los diferentes Actores que
intervienen en el sistema +y se clasificaron los diferentes casos
encontrados.

20/12/2000 Se inició la fase de análisis agregando objetos faltantes con sus respectivos
atributos los cuales se anexaron con los objetos definidos anteriormente. Se
realizó el modelo conceptual con sus respectivas asociaciones.

Se realizó una descripción detallada de cada uno de los objetos del modelo
conceptual

21/12/2000 En esta sesión se tomaron los casos de uso ya definidos para la elaboración
de los diferentes diagramas secuenciales, realizándose luego sus respectivos
contratos.

Se realiza una descripción de cómo va a ser el paso del análisis al diseño.

23/12/2000 Se inicio la fase de diseño eligiéndose la arquitectura de tres capas para el


sistema. Se llegó a observar que existirá una clase controladora la cual no
se puede colocar en la capa de negocios, ni en capa de usuarios, por tanto se
colocará en un nivel intermedio entre ambas.

Se procedió a realizar los diferentes diagramas de colaboración basándose


en los diagramas secuenciales, con la ayuda de la herramienta Visual
Modeler.

26/12/2000 Se procedió a crear el diagrama de clases asignando a cada clase sus


métodos y atributos.

27/12/2000 Se creó el diagrama de tres capas, asignando a cada capa sus


correspondientes clases

28/12/2000 Se modificó la base de datos en función a las recientes innovaciones. Estas


modificaciones se basan en el sustento de optimizar el acceso a la base de
datos de tal manera que todo el sistema “camine sobre ruedas” y no haya
congestionamiento
29/12/2000 Luego de la fase de diseño se paso a la fase de implementación con la
herramienta de Power Builder 7.0

Se busco algún control que se pareciera al Recordset en Visual Basic, para


efectuar el manejo sin un control Datawindow sobrecargado que no cabe en
la metodología orientada a objetos.

Se logro conexión y acceso a la base de datos mediante objetos no visuales

Se estandariza la programación, deacuerdo a los estándares de SYBASE


30/12/2000 Se realizan las pruebas respectivas del manejo de las interfaces del sistema.
El Sistema se encuentra desarrollado en un 80%

También podría gustarte