Está en la página 1de 4

Tarea 1 para ED01.

La empresa BK ha recibido un nuevo encargo de software.


Se trata de disear una aplicacin para una tienda especializada en vender productos estticos.
La tienda desea trabajar con software libre. Adems, desea explcitamente que la aplicacin sea capaz de cumplir las siguientes
tareas:

- Proporcionar facturas de las ventas.


- Llevar la cuenta de lo que vende cada trabajador.
- Controlar el stock de productos en almacn.
- Operar con lector de cdigo de barras y tarjetas de crdito.
- Controlar los precios de los productos y ofrecer la posibilidad de operar con ellos.
- El tiempo de respuesta de la aplicacin ha de ser lo menor posible.
- No se podrn procesar dos peticiones a la vez, aunque haya varios equipos funcionando simultneamente.
- La empresa tambin quiere almacenar informacin de sus trabajadores: DNI, nombre, apellidos, nmero de la Seguridad
Social, fecha de nacimiento, telfono y localidad. Asimismo, de los productos interesa almacenar: cdigo, marca, nombre
comercial, precio, cantidad.

Diseo de planificacin del proyecto de desarrollo de Software

A grandes rasgos vemos dos bloques que se diferencian claramente, uno sera la gestin o informacin de los trabajadores y el
segundo la gestin de los productos. Lo que une a estos dos bloques seran las comisiones por la venta del producto de cada
trabajador y la manipulacin/venta que realizarn del stock.

Para el desarrollo del proyecto vamos a utilizar lenguaje de programacin Java, ya que uno de los requisitos es que sea software
libre, adems de ser un lenguaje orientado a objetos nos dar libertad en la ejecucin del proyecto y se alcanzarn los
requerimientos solicitados que vemos a continuacin:

Para aclarar la peticin resumimos:

Como Requisitos funcionales: controlar

- Productos/Stock
Cdigo
Marca
Nombre comercial
Precio
Cantidad
- Gestin personal
DNI
Nombre
Apellidos
Nmero de la Seguridad Social
Fecha de nacimiento
Telfono
Localidad

Requisitos funcionales a considerar:

- Como desean las facturas, registro de clientes


- Aviso de que se acaba un producto en el almacn
- Reservas de productos
- Aviso de llegada de un producto reservado

Requisitos no funcionales:

- El tiempo de respuesta de la aplicacin ha de ser lo menor posible.


- No se podrn procesar dos peticiones a la vez, aunque haya varios equipos funcionando simultneamente.

La estructura por lo tanto est bastante clara. Se debe tener una base de datos bien diferenciada de las acciones, una del
personal y otro del stock. Por una parte, el producto entra, se registra y se le asigna un precio. El personal lo manipula, genera la
factura y elimina con esa venta el producto del stock.

Cambiamos ahora nuestro esquema ms simplificado:

Se debe crear una base de datos con SQL para poder utilizarla con Java. Aparte de los dos bloques grandes de los que hablamos,
si generamos facturas, se debera crear aparte un registro de dichas facturas, si generamos facturas a esos clientes, a su vez
deberamos crear una base de datos de clientes. El control de ventas sera idneo e interesante que directamente se guardara
en el perfil del empleado, pero si queremos llevar un control y ver un registro total, deberamos crear otro base de datos para
las ventas. Por lo que definimos los datos deseados en cada apartado:

- Productos:
- Cdigo
- Marca
- Nombre comercial
- Precio (Se puede fijar en la entrada o venir fijado ya de serie por un administrador)
- Cantidad
- Facturas/ventas
- Personal:
- DNI
- Nombre
- Apellidos
- Nmero de la Seguridad Social
- Fecha de nacimiento
- Telfono
- Localidad
- N ventas
- Clientes
- Nombre
- CIF
- Direccin
- Ventas personal
- Cdigo personal
- Total Ventas
- Registro de Facturas
- Por producto
- Por cliente
- Por empleado

Las personas encargadas de generar y manipular los productos claramente son los empleados.

- Registro de entrada: Ellos debern registrar el producto cuando llegue a travs del cdigo de barras, introducir el
precio o no, si viene ya fijado y marcar la cantidad (n total de producto) de entrada.
- El proceso de salida del producto se har automatizado, una vez se realice la venta, el producto se elimina
directamente de la base de datos. En sta misma fase, a la hora del cobro, si se quiere factura se introducirn los datos
del cliente, dichos datos se registrarn automticamente y se dar opcin imprimir factura. La factura se registrar
automticamente.
- Mantenimiento: Igualmente en el almacn se podr hacer un control por cdigo. Se introduce el cdigo del producto y
se puede ver o contar las cantidades que quedan. Se podrn modificar los datos cuando sea necesario.

Finalmente decir que al ser un proyecto rgido, pocos cambios y con los requisitos ya claros estamos hablando de un Modelo
en cascada con Retroalimentacin. (Anlisis, Diseo, Codificacin, Pruebas, Documentacin, Explotacin y Mantenimiento).

Paya ayudarnos con el desarrollo del software, diseo, codificacin podremos utilizar las herramientas CASE (Computer Aided
Software Engineering, Ingeniera de Software Asistida por Computadora) para aumentar la productividad en el desarrollo
reduciendo el costo de las mismas en trminos de tiempo y dinero.

Planificacin de la codificacin

Recordamos: caractersticas deseables de todo cdigo, modularidad, correccin, fcil de leer, eficiencia y portabilidad; Java.

Java, en rasgos generales no podemos considerarlo ni software libre ni propietario, pero para realizar las funciones que
necesitamos para este proyecto s podemos decir que ser libre. La ventaja de este lenguaje es, que es multiplataforma y se
puede usar con cualquier sistema operativo, una ventaja a tener en cuenta.

La base de datos se crear con SQL, para poder utilizarla con Java utilizaremos API JDBC (Interfaz de programacin de
aplicaciones Java, Database Connectivity).

Para el desarrollo del software nos apoyaremos en el entorno de desarrollo JDeveloper, que cubre todo el ciclo de vida de
desarrollo, desde el diseo hasta la codificacin, la depuracin, la optimizacin y el perfilado hasta la implementacin.

Una vez terminada la fase de codificacin podremos hacer pruebas unitarias con JUnit para probar una a una las diferentes
partes del software y comprobar su funcionamiento (por separado). Entraramos entones en la siguiente fase de nuestro
modelo.

Planificacin ciclo de vida


Como ya hemos comentado ms arriba, estamos ante un modelo en cascada con retroalimentacin, y las siguientes fases a
desarrollar seran: Pruebas, Documentacin, Explotacin y Mantenimiento.

Pruebas de integracin

Antes de hacer ninguna prueba directamente en el ordenador del cliente, debemos hacerlo en una mquina virtual instalando el
sistema operativo de nuestro cliente, para evitar sorpresas o disgustos. Comprobado que todo funciona correctamente, una vez
depurado cualquier mnimo error, integramos el software en los equipos de nuestro cliente, llamamos a sta prueba Beta Test,
pero antes de hacer nada con el cliente debemos preparar la fase siguiente.

Documentacin

Todas las etapas de desarrollo deben quedar perfectamente documentadas, dividindolas en Gua Tcnica, Gua de Uso, Gua de
Instalacin.

- La gua tcnica se centra en el diseo de la aplicacin, codificacin, pruebas, destinado a facilitar un correcto desarrollo
y permitir un mantenimiento futuro. Dirigido a personal tcnico en informtica.
- Gua de Uso: descripcin de la funcionalidad, como ejecutar la aplicacin, ejemplos de uso, requerimiento software,
solucin de posible problemas. Dirigido a los usuarios finales.
- La gua de instalacin se centra en dar toda la informacin necesaria para la puesta en marcha, explotacin y seguridad
del sistema, para garantizar que la implantacin de la programacin se realice de forma segura, confiable y precisa.

Explotacin

En sta fase se da a conocer la aplicacin a los usuarios finales para que comiencen a utilizarla, se entiende ya que la aplicacin
es fiable y carece de errores. Aqu llegamos a la ya nombrada Beta Test, que son las ltimas pruebas bajo cargas normales de
trabajo. Se divide en:

- Instalacin
- Configuracin
- Produccin normal

Es recomendable que los clientes/usuarios estn presentes en las tres fases. Siempre se deber pactar un perodo de prueba de
la aplicacin con nuestro cliente.

Mantenimiento

La informtica evoluciona y es cambiante, casi como tener un hijo, por lo que deberemos pactar un mantenimiento, coste
temporal y econmico con nuestro cliente. Dentro de este mantenimiento deberemos incluir:

- Proceso de control (por si surge cualquier error).


- Mejora (versiones mejores o cambio del hardware).
- Optimizacin del software (situaciones nuevas, o mejora de las que ya estn.

sta fase es la ms larga del ciclo de vida del software, debido a que est expuesto a tipos de cambios perfectivos, evolutivos,
adaptativos y correctivos.

De igual forma, se presentar una tabla con los diferentes tipos de mantenimiento, y claramente definido lo que cubre cada
tipo, una vez acordado el tipo, se deber guardar copia de todo en un archivo para tener siempre a mano.

También podría gustarte