3
1-. Análisis de requisitos: Funcionales: - Proporcionar facturas de venta - Llevar la cuenta de lo que ha vendido cada empleado. - Controlar el stock de productos en el almacén. - Operar con lector de códigos de barra y tarjetas de crédito. - Controlar precios y poder operar con ellos. - Almacenaje de datos de los empleados, así como de los productos. No funcionales: - Menor tiempo de respuesta posible. - No se pueden procesar varias peticiones simultáneamente aunque haya varios equipos operando. Diseño: Dividiría en problema en dos partes tales que: 1-. Proporcionar facturas de venta+operar con códigos de barra/tarjetas+control de precios. 2-. Control de ventas por cada empleado+stock en almacén+datos de empleados y productos. Así, la primera se ocuparía de obtener y tratar los datos del producto mediante código de barras, así como los del cliente (con lector de tarjetas si se usa ese método), controlar el precio si hubiera variación, y juntar todos esos datos para generar la factura. La segunda parte se ocuparía más de la gestión de inventario y control sobre empleados. Ambas partes se relacionarían entre sí mediante el control de productos. Los códigos de barras de la función 1 sería algo que aparecería también en los datos de productos de la función 2, así como el precio. Con respecto al ciclo de vida del producto, dependerá del tiempo disponible y las expectativas del cliente de cara a una mejora y actualización de los servicios que quiere que ofrezca el programa. En un principio yo utilizaría un modelo en cascada con retroalimentación, ya que los requisitos parecen estar lo suficientemente claros. De ser estos más cambiantes se haría según el modelo iterativo incremental, y si fuera necesario añadir nuevas funciones o una actualización constante debido a un entorno cambiante, el modelo en espiral. No obstante, dados los requisitos planteados, no creo que sea el caso y el modelo en cascada con retroalimentación sería el más indicado. 2-. Se utilizaría el lenguaje de programación orientado a objetos Java. Esta elección se justifica por la reusabilidad del código, y la posibilidad de dividir el problema en partes más pequeñas,

ED01

  • Upload
    chema

  • View
    219

  • Download
    2

Embed Size (px)

DESCRIPTION

entornos de desarrollo, t.1

Citation preview

  • 1-.

    Anlisis de requisitos:

    Funcionales:

    - Proporcionar facturas de venta

    - Llevar la cuenta de lo que ha vendido cada empleado.

    - Controlar el stock de productos en el almacn.

    - Operar con lector de cdigos de barra y tarjetas de crdito.

    - Controlar precios y poder operar con ellos.

    - Almacenaje de datos de los empleados, as como de los productos.

    No funcionales:

    - Menor tiempo de respuesta posible.

    - No se pueden procesar varias peticiones simultneamente aunque haya varios equipos

    operando.

    Diseo:

    Dividira en problema en dos partes tales que:

    1-. Proporcionar facturas de venta+operar con cdigos de barra/tarjetas+control de precios.

    2-. Control de ventas por cada empleado+stock en almacn+datos de empleados y productos.

    As, la primera se ocupara de obtener y tratar los datos del producto mediante cdigo de

    barras, as como los del cliente (con lector de tarjetas si se usa ese mtodo), controlar el precio

    si hubiera variacin, y juntar todos esos datos para generar la factura.

    La segunda parte se ocupara ms de la gestin de inventario y control sobre empleados.

    Ambas partes se relacionaran entre s mediante el control de productos. Los cdigos de barras

    de la funcin 1 sera algo que aparecera tambin en los datos de productos de la funcin 2, as

    como el precio.

    Con respecto al ciclo de vida del producto, depender del tiempo disponible y las expectativas

    del cliente de cara a una mejora y actualizacin de los servicios que quiere que ofrezca el

    programa. En un principio yo utilizara un modelo en cascada con retroalimentacin, ya que los

    requisitos parecen estar lo suficientemente claros. De ser estos ms cambiantes se hara segn

    el modelo iterativo incremental, y si fuera necesario aadir nuevas funciones o una

    actualizacin constante debido a un entorno cambiante, el modelo en espiral. No obstante,

    dados los requisitos planteados, no creo que sea el caso y el modelo en cascada con

    retroalimentacin sera el ms indicado.

    2-.

    Se utilizara el lenguaje de programacin orientado a objetos Java. Esta eleccin se justifica

    por la reusabilidad del cdigo, y la posibilidad de dividir el problema en partes ms pequeas,

  • que facilita la depuracin (es decir, nos ofrece cierta modularidad). Tambin, gracias a la

    mquina virtual, nos ofrece portabilidad.

    Podra utilizarse un framework como Spring, ya que ofrece importantes ventajas como el

    diseo uniforme del software, aunque no me convenza demasiado la dependencia del cdigo

    respecto al framework utilizado. Lo que s sera de obligado uso seran herramientas CASE para

    agilizar el proyecto, mejorar el mantenimiento y el proceso de desarrollo.

    3-.

    Despus del anlisis de requisitos, diseo y codificacin, vendra la fase de pruebas. sta es

    imprescindible para asegurar la validacin y verificacin del software construido.

    Se dividen en pruebas unitarias (que consisten en probar, una a una, las diferentes partes de

    software y comprobar su funcionamiento), y pruebas de integracin (que se realizan una vez

    completadas las pruebas unitarias y consisten en comprobar el funcionamiento del sistema

    completo: con todas sus partes interrelacionadas).

    Despus de estas pruebas, se realiza el normalmente llamado beta-test, en el que el software

    es probado en el entorno de produccin donde va a ser utilizado por el cliente.

    La documentacin no es una fase que ocupe un lugar concreto, sino que puede (y, en mi

    opinin es recomendable) ir paralela al desarrollo del resto de fases de desarrollo. La correcta

    documentacin de las etapas en el desarrollo permite dar toda la informacin a los usuarios de

    nuestro software, as como arremeter diferentes revisiones del proyecto.

    Como he dicho en el prrafo anterior, es una fase que ira desarrollando paralelamente al resto

    de fases, para no obviar ningn detalle y que cada paso quede bien reflejado. As, teniendo

    todo bien documentado y explicado, podramos describir correcta y fcilmente la aplicacin al

    usuario final, adems de tener la posibilidad retomarla ms tarde de cara a mejoras, o

    reutilizar partes del cdigo para otros proyectos, al poder interpretar fcilmente qu se quera

    hacer con cada mdulo desarrollado.

    Tras esto, vendra la fase de explotacin, en la que es muy importante tenerlo todo bien

    preparado. En esta parte, la aplicacin pasa a manos de los usuarios finales, pero primero se

    instalar y pondr a punto la aplicacin final.

    Personalmente, la hara estando presente el cliente, pues as podra explicrsele sobre la

    marcha los pasos dados, y solucionar posibles dudas o inquietudes que pueda tener durante el

    proceso. Despus de esto dara el comienzo a los beta-test para asegurar que todo va segn lo

    previsto y especificado por el cliente. Finalizados con xito estas pruebas, empezara la

    explotacin propiamente dicha, explicada en el anterior prrafo.

    Por ltimo, est el mantenimiento. Esta es la etapa ms larga, pues comprende toda la vida

    til que nuestro software vaya a tener, y es, en sntesis, el proceso de control, mejora y

    optimizacin del software.

  • En este caso, los procedimientos a seguir seran mayormente perfectivos, y correctivos.

    Adaptativos dudo que sean de utilidad en este tipo de software de gestin, pese a que algn

    cambio de este tipo deber ser realizado, pero no tan asiduamente como los dos primeros.

    Tambin estn los cambios evolutivos, pero estos sern ms marcados por el cliente, en caso

    de que adquiera nuevas necesidades y que haya que implementar nuevas funciones, o, al

    contrario, borrarlas en caso de que no sean tiles y, por tanto, un lastre.