jueves, 26 de agosto de 2010
martes, 24 de agosto de 2010
Análisis y Diseño de un Sistema de Información para un Cajero
EJERCICIO
El banco universal requiere sistematizar la recepción y consignación de cheques al sistema bancario e integrarlo al cajero tradicional que el banco maneja
El cajero tradicional permite al usuario retirar, ver el saldo, hacer transacciones entre cuentas (previa inscripción de la cuenta destino), pago de facturas, donaciones a entidades sin ánimo de lucro, cambiar la clave.
El nuevo cajero debe proveer la funcionalidad al usuario de consignar cheques únicamente de bancos colombianos, si el usuario lo solicita el cajero entregara el valor en efectivo del cheque consignado, verificación previa de dinero en la cuenta referente al banco que se consigne
Es necesario tener en cuenta que los clientes del banco tienen un descuento especial sobre todas las transacciones que realiza, generalmente es el administrador del banco quien tiene la autorización para retirar los cheques consignados de la máquina.
Generalmente quien ingresa billetes es el representante de la casa de valores.
FASE DE MODELAMIENTO
Planteamiento del problema
Actualmente, el cajero del Banco Universal no cuenta con un servicio de recepción y consignación de cheques.
Solucion.
Sistematizar la recepción y consignación de cheques al sistema bancario e integrarlo al cajero del Banco Universal.
Objetivos generales:
-Sistematizar la recepción y consignación de cheques al sistema bancario
-Integrar este servicio al cajero actual
Objetivos Especificos
-Consignar el cheque en la cuenta del cliente
-Retirar en efectivo el valor del cheque.
-Identificar y conservar los actuales servicios del cajero.
-Adaptar el cajero actual para el nuevo servicio.
Modelo de Casos de Uso
-El cajero esta funcionando y el cliente tiene su tarjeta.
-Mostrar los diferentes servicios a seleccionar al usuario.
-Tarjeta Ilegible, clave erronea, conexion imposible o saldo insuficiente se declinara transaccion y se mostrara el error correspondiente.
Proceso No. 2
-Ingresar cheque.
-El usuario debera ingresar el cheque en la ranura correspondiente. el cajero se encargara de confirmar la informacion.
-El usuario se ha identificado correctamente. Descuento a clientes.
-Se valida la informacion del cheque.
-El cheque es ilegible.
Proceso No. 3
-Validar Cheque
-El cheque se validara si fue radicado de un banco colombiano y si existe en la Base de Datos de ese banco. Si es valido, dara la opcion de consignar a la cuenta o retirar en efectivo el valor del cheque.
-El usuario se ha identificado correctamente. ingresar cheque.
-Dar la opcion de consignar a la cuenta o retirar en efectivo el valor del cheque.
-No hay conexion con el banco, el cheque es de banco extranjero o no existe en la BD de donde fue radicado. se mostrara el error correspondiente.
Proceso No. 4
-Consignar el valor del cheque.
-El cajero consigna el valor del cheque a la cuenta y le dara la opcion de ver el saldo.
-El usuario se ha identificado correctamente y el cheque es valido. Validar Cheque
-Dar la opcion de ver el saldo.
Proceso No. 5
-Retirar en efectivo el valor del cheque.
-El cajero Retira en efectivo el valor del cheque y le dara la opcion de ver el saldo.
-El usuario se ha identificado correctamente y el cheque es valido. Validar Cheque
-Dar la opcion de ver el saldo.
-Si el cajero no tiene fondos, se consigna el valor del cheque a la cuenta y se mostrara "no hay fondos".
Proceso No. 6
-Retirar Cheques
-El administrador del banco retira cheques consignados de la maquina.
-El administrador se ha identificado correctamente y hay por lo menos un cheque en el cajero.
-El administrador se ha identificado incorrectamente o no hay cheques.
Proceso No. 7
-Depositar nuevos Fondos
-El representante de la casa de valores ingresa nuevos Fondos.
-El representante de la casa de valores se ha identificado correctamente y hay cupo para ingresar billetes.
-El representante de la casa de valores se ha identificado incorrectamente o no hay cupo.
Proceso No. 8
-Cambiar Clave.
-Se le pedira que ingrese la nueva clave dos veces para confirmar cambio de clave.
-El usuario se ha identificado correctamente. Descuento a clientes.
-Pantallazo de "ha cambiado su clave".
-Se declinara transaccion si no hay coincidencia en digitacion de la nueva clave.
Proceso No. 9
-Transaccion de cuenta
-Se le pedira cuenta destino y monto a consignar. el sistema confirmara existencia de la cuenta y hara la transaccion. se dara la opcion de ver saldo.
-El usuario se ha identificado correctamente. Descuento a clientes.
-Se consigna el monto a la cuenta destino y se mostrara la opcion de ver saldo.
-Se declinara transaccion si no hay fondos suficientes o si no hay cuenta destino.
Proceso No. 10
-Pago de factura.
-Seleccionar la empresa prestadora del servicio y digitar el PIN de la factura. Se confirma si desea pagar su servicio y Se le dara la opcion de ver saldo.
-El usuario se ha identificado correctamente. Descuento a clientes.
-Se descontara el monto de la factura del saldo de la cuenta y se mostrara la opcion de ver saldo.
-Se declinara transaccion si no hay fondos suficientes o si no existe el PIN de la factura.
Proceso No. 11
-Hacer Donacion.
-Seleccionar la entidad a la cual desea dar la donacion y se le pide el monto a entregar. se le confirma el evento y se procede a mostrar el saldo.
-El usuario se ha identificado correctamente. Descuento a clientes.
-Se consigna el monto a la cuenta de la entidad y se mostrara la opcion de ver saldo.
-Se declinara transaccion si no hay fondos suficientes.
Proceso No.12
-Ver el saldo
-El cajero muestra en pantalla el saldo y se da la opcion de imprimir recibo.
-El usuario se ha identificado correctamente. Descuento a clientes
-Dar pantallazo de despedida. Si selecciona recibo, se le imprimira el saldo.
-Si no hay papel, se mostrara "No hay recibos".
El banco universal requiere sistematizar la recepción y consignación de cheques al sistema bancario e integrarlo al cajero tradicional que el banco maneja
El cajero tradicional permite al usuario retirar, ver el saldo, hacer transacciones entre cuentas (previa inscripción de la cuenta destino), pago de facturas, donaciones a entidades sin ánimo de lucro, cambiar la clave.
El nuevo cajero debe proveer la funcionalidad al usuario de consignar cheques únicamente de bancos colombianos, si el usuario lo solicita el cajero entregara el valor en efectivo del cheque consignado, verificación previa de dinero en la cuenta referente al banco que se consigne
Es necesario tener en cuenta que los clientes del banco tienen un descuento especial sobre todas las transacciones que realiza, generalmente es el administrador del banco quien tiene la autorización para retirar los cheques consignados de la máquina.
Generalmente quien ingresa billetes es el representante de la casa de valores.
FASE DE MODELAMIENTO
Planteamiento del problema
Actualmente, el cajero del Banco Universal no cuenta con un servicio de recepción y consignación de cheques.
Solucion.
Sistematizar la recepción y consignación de cheques al sistema bancario e integrarlo al cajero del Banco Universal.
Objetivos generales:
-Sistematizar la recepción y consignación de cheques al sistema bancario
-Integrar este servicio al cajero actual
Objetivos Especificos
-Consignar el cheque en la cuenta del cliente
-Retirar en efectivo el valor del cheque.
-Identificar y conservar los actuales servicios del cajero.
-Adaptar el cajero actual para el nuevo servicio.
Modelo de Casos de Uso
Modelo de Dominio
Diagrama de Actividades
Diagrama de procesos
PROCESO NO. #
-NOMBRE.
-DESCRIPCION.
-PRECONDICION.
-POSTCONDICION.
-EXCEPCIONES.
Proceso No. 1
-Descuento a clientes.
-El usuario debe pasar la tarjeta por la lectora de banda magnetica y digita la clave de la cuenta. si es cliente se le exime del 4x1000 y si no, se le cobra. Mostrar los servicios al usuario.-El cajero esta funcionando y el cliente tiene su tarjeta.
-Mostrar los diferentes servicios a seleccionar al usuario.
-Tarjeta Ilegible, clave erronea, conexion imposible o saldo insuficiente se declinara transaccion y se mostrara el error correspondiente.
Proceso No. 2
-Ingresar cheque.
-El usuario debera ingresar el cheque en la ranura correspondiente. el cajero se encargara de confirmar la informacion.
-El usuario se ha identificado correctamente. Descuento a clientes.
-Se valida la informacion del cheque.
-El cheque es ilegible.
Proceso No. 3
-Validar Cheque
-El cheque se validara si fue radicado de un banco colombiano y si existe en la Base de Datos de ese banco. Si es valido, dara la opcion de consignar a la cuenta o retirar en efectivo el valor del cheque.
-El usuario se ha identificado correctamente. ingresar cheque.
-Dar la opcion de consignar a la cuenta o retirar en efectivo el valor del cheque.
-No hay conexion con el banco, el cheque es de banco extranjero o no existe en la BD de donde fue radicado. se mostrara el error correspondiente.
Proceso No. 4
-Consignar el valor del cheque.
-El cajero consigna el valor del cheque a la cuenta y le dara la opcion de ver el saldo.
-El usuario se ha identificado correctamente y el cheque es valido. Validar Cheque
-Dar la opcion de ver el saldo.
Proceso No. 5
-Retirar en efectivo el valor del cheque.
-El cajero Retira en efectivo el valor del cheque y le dara la opcion de ver el saldo.
-El usuario se ha identificado correctamente y el cheque es valido. Validar Cheque
-Dar la opcion de ver el saldo.
-Si el cajero no tiene fondos, se consigna el valor del cheque a la cuenta y se mostrara "no hay fondos".
Proceso No. 6
-Retirar Cheques
-El administrador del banco retira cheques consignados de la maquina.
-El administrador se ha identificado correctamente y hay por lo menos un cheque en el cajero.
-El administrador se ha identificado incorrectamente o no hay cheques.
Proceso No. 7
-Depositar nuevos Fondos
-El representante de la casa de valores ingresa nuevos Fondos.
-El representante de la casa de valores se ha identificado correctamente y hay cupo para ingresar billetes.
-El representante de la casa de valores se ha identificado incorrectamente o no hay cupo.
Proceso No. 8
-Cambiar Clave.
-Se le pedira que ingrese la nueva clave dos veces para confirmar cambio de clave.
-El usuario se ha identificado correctamente. Descuento a clientes.
-Pantallazo de "ha cambiado su clave".
-Se declinara transaccion si no hay coincidencia en digitacion de la nueva clave.
Proceso No. 9
-Transaccion de cuenta
-Se le pedira cuenta destino y monto a consignar. el sistema confirmara existencia de la cuenta y hara la transaccion. se dara la opcion de ver saldo.
-El usuario se ha identificado correctamente. Descuento a clientes.
-Se consigna el monto a la cuenta destino y se mostrara la opcion de ver saldo.
-Se declinara transaccion si no hay fondos suficientes o si no hay cuenta destino.
Proceso No. 10
-Pago de factura.
-Seleccionar la empresa prestadora del servicio y digitar el PIN de la factura. Se confirma si desea pagar su servicio y Se le dara la opcion de ver saldo.
-El usuario se ha identificado correctamente. Descuento a clientes.
-Se descontara el monto de la factura del saldo de la cuenta y se mostrara la opcion de ver saldo.
-Se declinara transaccion si no hay fondos suficientes o si no existe el PIN de la factura.
Proceso No. 11
-Hacer Donacion.
-Seleccionar la entidad a la cual desea dar la donacion y se le pide el monto a entregar. se le confirma el evento y se procede a mostrar el saldo.
-El usuario se ha identificado correctamente. Descuento a clientes.
-Se consigna el monto a la cuenta de la entidad y se mostrara la opcion de ver saldo.
-Se declinara transaccion si no hay fondos suficientes.
Proceso No.12
-Ver el saldo
-El cajero muestra en pantalla el saldo y se da la opcion de imprimir recibo.
-El usuario se ha identificado correctamente. Descuento a clientes
-Dar pantallazo de despedida. Si selecciona recibo, se le imprimira el saldo.
-Si no hay papel, se mostrara "No hay recibos".
Qué es un Modelo de Ciclo de Vida?
En ingeniería de software, un modelo de ciclo de vida es una vista de las actividades que ocurren durante el desarrollo de software, intenta determinar el orden de las etapas involucradas y los criterios de transición asociadas entre estas etapas.
Un modelo de ciclo de vida del software:
Así, los modelos por una parte suministran una guía para los ingenieros de software con el fin de ordenar las diversas actividades técnicas en el proyecto, por otra parte suministran un marco para la administración del desarrollo y el mantenimiento, en el sentido en que permiten estimar recursos, definir puntos de control intermedios, monitorear el avance, entre otras cosas.
Un modelo de ciclo de vida del software:
- Describe las fases principales de desarrollo de software.
- Define las fases primarias esperadas de ser ejecutadas durante esas fases.
- Ayuda a administrar el progreso del desarrollo, y
- Provee un espacio de trabajo para la definición de un detallado proceso de desarrollo de software.
Así, los modelos por una parte suministran una guía para los ingenieros de software con el fin de ordenar las diversas actividades técnicas en el proyecto, por otra parte suministran un marco para la administración del desarrollo y el mantenimiento, en el sentido en que permiten estimar recursos, definir puntos de control intermedios, monitorear el avance, entre otras cosas.
Modelo de Desarrollo o Prototipado Evolutivo
En el modelo evolutivo, los requerimientos son cuidadosamente examinados, y sólo esos que son bien comprendidos son seleccionados para el primer incremento. Los desarrolladores construyen una implementación parcial del sistema que recibe sólo estos requerimientos.
El sistema es entonces desarrollado, los usuarios lo usan, y proveen retroalimentación a los desarrolladores. Basada en esta retro-alimentación, la especificación de requerimientos es actualizada, y una segunda versión del producto es desarrollada y desplegada. El proceso se repite indefinidamente.
Note que el desarrollo evolutivo es 100% compatible con el modelo cascada. El desarrollo evolutivo no demanda una forma específica de observar el desarrollo de algún incremento. Así, el modelo cascada puede ser usado para administrar cada esfuerzo de desarrollo. Obviamente, el desarrollo incremental y evolutivo puede ser combinado también.
Todo lo que uno tiene que hacer es construir un subconjunto de requerimientos conocidos (incremental), y comprender al principio que muchos nuevos requerimientos es probable que aparezcan cuando el sistema sea desplegado o desarrollado.
El desarrollo de software en forma evolutiva requiere un especial cuidado en la manipulación de documentos, programas, datos de test, etc. desarrollados para distintas versiones del software. Cada paso debe ser registrado, la documentación debe ser recuperada con facilidad, los cambios deben ser efectuados de una manera controlada.
Modelo De Prototipos
Este modelo se utiliza para dar al usuario una vista preliminar de parte del software. Este modelo es básicamente prueba y error ya que si al usuario no le gusta una parte del prototipo significa que la prueba fallo por lo cual se debe corregir el error que se tenga hasta que el usuario quede satisfecho.
Además el prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar mucho dinero pues a partir de que este sea aprobado nosotros podemos iniciar el verdadero desarrollo del software. Pero eso si al construir el prototipo nos asegura que nuestro software sea de mejor calidad, además de que su interfaz sea de agrado para el usuario. Un prototipo podrá ser construido solo si con el software es posible experimentar.
Sus desventajas son que debido a que el usuario ve que el prototipo funciona piensa que este es el producto terminado y no entienden que recién se va a desarrollar el software. Otro problema es que el prototipo deber ir acompañado de otro modelo pasa su desarrollo.
Hay dos clases de prototipos el desechable y el evolucionario.
- El desechable nos sirve para eliminar dudas sobre lo que realmente quiere el cliente además para desarrollar la interfaz que más le convenga al cliente
- El evolucionario es un modelo parcialmente construido que puede pasar de ser prototipo a ser software pero no tiene una buena documentación y calidad.
Modelo De Cascada en V
Es una evolución del modelo cascada.
Su primera mitad es similar al modelo cascada y la otra mitad se encarga de hacer pruebas e integración asociada a cada una de las etapas de la mitad anterior.
Verifica si el producto se desarrolla correctamente.
Su primera mitad es similar al modelo cascada y la otra mitad se encarga de hacer pruebas e integración asociada a cada una de las etapas de la mitad anterior.
Verifica si el producto se desarrolla correctamente.
Desventajas:
- El riesgo es mayor que el de otros modelos, pues en lugar de hacer pruebas de aceptación al final de cada etapa, las pruebas comienzan a efectuarse luego de haber terminado la implementación, lo que puede traer como consecuencia un “roll-back” de todo un proceso que costó tiempo y dinero.
- El modelo no contempla la posibilidad de retornar a etapas inmediatamente anteriores, cosa que en la realidad puede ocurrir.
- Se toma toda la complejidad del problema de una vez y no en iteraciones o ciclos de desarrollo, lo que disminuye el riesgo.
A pesar de todo lo antes mencionado, definitivamente se trata de un modelo más robusto y completo que el Modelo de Cascada, y puede producir software de mayor calidad que con el modelo de cascada
Modelo De Cascada
Tambien llamado como Modelo Lineal Secuencial. Proporciona una simple visión del desarrollo del Software. A los procesos los representa como fases separadas y secuenciales en tiempo.
Antes de codificar debemos diseñar el software, además probarlo antes de construirlo y ponerlo en operación.
Etapas:
1. Ingeniería y Análisis del Sistema:
Análisis y de diseño de todos los componentes del sistema computacional.
2. Análisis de Requisitos Software:
Se debe conocer que necesita el usuario para saber que necesidades debemos cubrir.
3. Diseño: En esta fase se realizan los algoritmos necesarios para que se cumplan los requerimientos del usuario así como también los análisis necesarios para saber que herramientas usar en la etapa de Codificación. Se dividen en:
Diseño de Alto Nivel o Arquitectónico
Diseño Detallado
4. Codificación: Es la fase de programación propiamente dicha.
5. Pruebas: Las componentes una vez programadas, se ensamblan para formar el sistema y se demuestra que trabaja correctamente antes de ser puesto en práctica por el usuario. Existen varios tipos de Pruebas:
- Pruebas de unidad
- Pruebas de integración
- Pruebas de sistema.
- Pruebas de aceptación
6. Mantenimiento: El software necesitará cambios después de la entrega. Los tipos de mantenimiento son:
- Mantenimiento Preventivo y Perfectivo
- Mantenimiento Correctivo
- Mantenimiento Evolutivo
Características:
- Se evitan proyectos largos y se entrega “algo de valor” a los usuarios con cierta frecuencia.
- El usuario se involucra más.
- Dificil de evaluar el costo total.
- Díficil de aplicar a los sistemas transaccionales que tienden a ser integrados y a operar como un todo.
- Requiere gestores experimentados.
- Los errores en los requisitos se detectan tarde.
- El resultado puede ser muy positivo.
Modelo de Desarrollo Incremental
El desarrollo incremental es el proceso de construcción siempre incrementando subconjuntos de requerimientos del sistema. Típicamente, un documento de requerimientos es escrito al capturar todos los requerimientos para el sistema completo.
Note que el desarrollo incremental es 100% compatible con el modelo cascada. El desarrollo incremental no demanda una forma específica de observar el desarrollo de algún otro incremento. Así, el modelo cascada puede ser usado para administrar cada esfuerzo de desarrollo, como se muestra en la figura.
El modelo de desarrollo incremental provee algunos beneficios significativos para los proyectos:- Construir un sistema pequeño es siempre menos riesgoso que construir un sistema grande.
- Al ir desarrollando parte de las funcionalidades, es más fácil determinar si los requerimientos planeados para los niveles subsiguientes son correctos.
- Si un error importante es realizado, sólo la última iteración necesita ser descartada.
- Reduciendo el tiempo de desarrollo de un sistema (en este caso en incremento del sistema) decrecen las probabilidades que esos requerimientos de usuarios puedan cambiar durante el desarrollo.
- Si un error importante es realizado, el incremento previo puede ser usado.
- Los errores de desarrollo realizados en un incremento, pueden ser arreglados antes del comienzo del próximo incremento
Podremos utilizar este modelo para casi cualquier proyecto, pero será muy útil cuando el usuario necesite entregas rápidas, aunque sean parciales.
Modelo en Espiral
El modelo en espiral de los procesos software es un modelo del ciclo de meta-vida. En este modelo, el esfuerzo de desarrollo es iterativo. Tan pronto como uno completa un esfuerzo de desarrollo, otro comienza.
Cada ciclo de la espiral se divide en 4 etapas:
- DEFINICIÓN DE OBJETIVOS: Para esta fase del proyecto se definen los objetivos específicos. Se identifican las restricciones del procesos y el producto, y se estipula un plan detallado de administración. Se identifican los riesgos del proyecto. Dependiendo de esos riesgos, se planean estrategias alternativas.
- EVALUACIÓN Y REDUCCION DE RIESGOS: Se lleva a cabo un análisis detallado para cada uno de los riesgos del proyecto. Se definen los pasos para reducir dichos riesgos. Por ejemplo si existe el riesgo de tener requerimientos inapropiados, se desarrolla un prototipo del sistema.
- DESARROLLO Y VALIDACION: Después de la evaluación de riesgos, se elige un modelo para el desarrollo del sistema. Por ejemplo, si los riesgos en la interfaz de usuario son dominantes, un modelo de desarrollo apropiado podría ser la construcción de prototipos evolutivos. Si los riesgos de protección son la principal consideración, un desarrollo basado en transformaciones formales podría ser el mas apropiado, y así sucesivamente. El modelo de cascada es el mas apropiado para el desarrollo si el mayor riesgo identificado es la integración de los subsistemas
- PLANEACION: El proyecto se revisa y se toma la decisión de si se debe continuar con un ciclo posterior de la espiral.
Principios Básicos:
- Decidir qué problema se quiere resolver antes de viajar a resolverlo.
- Examinar tus múltiples alternativas de acción y elegir una de las más convenientes.
- Evaluar qué tienes hecho y qué tienes que haber aprendido después de hacer algo.
- No es la panacea de los procesos, y
- Conocer (comprender) los niveles de riesgo, que tendrás que tolerar.
- Este modelo no es una alternativa del modelo cascada y fácilmente, se pueden complementar.
martes, 17 de agosto de 2010
Diagrama de clases
UML del Taller2 |
a. Definir el centro y el radio
b. Calcular su area
c. Calcular la longitud de la circunferencia
d. Un metodo que muestre todos los atributos del objeto (Aunque lo vi poco practico)
Esta clase hereda de la clase punto para definir su centro
2. Clase Cilindro hereda de la clase Circulo y permite:
a. Calcular su volumen
b. Un metodo que muestre todos los atributos del objeto (Aunque lo vi poco practico)
3. Clase Cono hereda de la clase Circulo y permite:
a. Calcular su volumen V = 1/3(Area*h)
b. Calcular su area total At = Pi*r(g+r)
c. Un metodo que muestre todos los atributos del objeto (Aunque lo vi poco practico)
*El area debe ser un atributo heredado y g es la hipotenusa que forma h y r del cono
4. Datos de los objetos deben ser ingresados por el usuario. (centro, radio, altura del cono y altura del cilindro)
martes, 10 de agosto de 2010
Suscribirse a:
Entradas (Atom)