Universidad Politécnica del Estado de Morelos
Ingeniería en Informática
EI. Plan de gestión de la configuración del software
Profesora: Rosario Eloisa Huerta
Materia: Ingeniería de Software Aplicada
Alumnos: Díaz Esquivel Diana Rubí
DEDO130801
López Bucio Fabián Alejandro LFAO189848
Martínez Ramírez Jennifer Abril MRJO130170
Morales Martínez José Antonio MMJO139561
Grupo: 6º B
Fecha: 2015-08-16
ÍndiceIntroducción........................................................................................................2
Capítulo 1. Plan del proyecto..............................................................................2
Panorama general............................................................................................2
Problemática detectada o identificación de oportunidad.................................2
Objetivo general..............................................................................................2
Objetivos específicos.......................................................................................2
Alcances...........................................................................................................2
Limitaciones.....................................................................................................2
Planeación de actividades...............................................................................2
Capítulo 2. Definición de requisitos.....................................................................4
Historias de usuario.........................................................................................4
Tareas de ingeniería........................................................................................4
Diagrama de casos de uso...............................................................................6
Capítulo 3. Diseño del sistema............................................................................6
Patrón de diseño..............................................................................................6
Modelo de la base de datos.............................................................................6
Arquitectura MVC.............................................................................................6
Calidad del software........................................................................................6
Control de riesgos............................................................................................6
Capítulo 4. Implementación del software............................................................6
Herramientas y tecnologías utilizadas.............................................................6
Interfaz gráfica del usuario..............................................................................7
Código fuente..................................................................................................9
Capítulo 5. Control de versiones del software.....................................................9
Capítulo 6. Pruebas del software.........................................................................9
Pruebas del software.......................................................................................9
Capítulo 7. Estimación de costos........................................................................9
Técnicas de estimación de costos....................................................................9
Costo total del software.................................................................................12
Conclusiones.....................................................................................................12
Bibliografía........................................................................................................12
IntroducciónEn este documento se explicarán los aspectos generales para el desarrollo del proyecto de la materia de ingeniería de software aplicada el cual consiste en desarrollar un sistema informático para una refaccionaria, el cual pretende gestionar la información de los productos, trabajadores, proveedores compras y ventas que maneja dicha refaccionaria. Este documento incluye las herramientas que son necesarias para llevar un mejor control a la hora de la realización del sistema como lo son planificación de actividades, tareas de ingeniería, diagrama de casos de uso, el modelo de la base de datos, la arquitectura utilizada, control de riesgos. Por ultimo también se muestra la parte de la interfaz con todos los módulos que lleva el sistema y las pruebas que se realizaron en base a las necesidades que se identificaron.
Capítulo 1. Plan del proyectoPanorama generalEl negocio “Refaccionaria López” de dedica a la venta y compra de refacciones para automóviles. La refaccionaria siempre está en búsqueda de mejorar sus servicios esto para poder seguir compitiendo en el mercado y también dar el mejor servicio tanto a sus clientes y proveedores.
Problemática detectada o identificación de oportunidadActualmente la Refaccionaria López no cuenta con un sistema que lleve el control de sus productos, ventas, compras así como de sus empleados y proveedores.
Todos los procesos se realizan de manera manual, es decir, el empleado tiene que consultar de entre una gran lista los productos y así poder encontrarlo, llevar los registros en libretas y no conoce la información de sus proveedores.
Se notó que la Refaccionaria cuenta con un problema de control ya que el proceso que realizan genera pérdida de tiempo, además de información importante para el local.
Objetivo generalElaborar e implantar un sistema informático que cubra las necesidades en cuanto a la gestión de la información que maneja nuestro cliente, con el fin de evitar la pérdida de información y así el negocio pueda ir creciendo.
Objetivos específicos Realizar una entrevista con el cliente y así poder identificar las
necesidades que requieren ser atendidas.
Hacer un a investigación de mercado y utilizar las técnicas de estimación de costos para buscar un precio y proponérselo al cliente.
Agendar una junta con el equipo de trabajo, para identificar los requisitos principales del software
Escoger las plataformas que serán necesarias para el desarrollo del software
Asignar las tareas a los miembros del equipo y establecer un tiempo para desarrollar dicha tarea
Utilizar las técnicas para la planificación de las tareas. Elaborar una base de datos la cual llevara la información de los
productos, clientes, proveedores y facturas. Realizar bocetos para la interfaz final del software, para posteriormente
elegir una Cada uno de los integrantes debe entregar avances sobre la tarea que
fue encargada Realizar las pruebas necesarias para comprobar que el funcionamiento
del software sea el correcto
Alcances El sistema puede identificar al usuario que inicio sesión Se puede consultar la lista de productos que se tienen registrados en la
base de datos También se pueden realizar búsquedas especificas (por nombre) de los
productos en existencia La bitácora sirve como respaldo de todas las facturas que se han
realizado dentro del negocio Se podrá realizar el registro en la base de datos acerca de la compra de
algún producto El sistema puede manejar el CRUD básico sobre los productos que
maneja la refaccionaria (guardar, eliminar, actualizar) El sistema genera reportes acerca de una factura o del historial de
facturas (Bitácora) El sistema proporciona seguridad en el manejo de datos, no solo con el
inicio de sesión de usuarios; también proporciona seguridad cuando se realiza una compra o venta ya que se tendrá el registro de quien realizo dicha operación.
El sistema puede agregar o eliminar proveedores y administradores
Limitaciones El sistema solo es compatible en Windows Solo estará disponible para una sola computadora Algún usuario que no esté registrado no podrá hacer uso del sistema Los reportes solo se pueden crear un archivos PDF
La velocidad del sistema depende del equipo en cual se esté ejecutando
Planeación de actividadesEn esta sección se presentan las diferentes actividades que realizó cada integrante del equipo así como las fechas en que se realizaron mediante una tabla (Tabla 1.1).
Nombre de la actividad
Encargado (s) Duración(semanas)
Diseñar base de datos Alejandro López, José Morales
1
Establecer conexión a base de datos
Abril Martínez, Diana Díaz, Alejandro López, José Morales
1
Agregar usuario Alejandro López 1Agregar proveedor Alejandro López 1Eliminar proveedor Abril Martínez 1Eliminar usuario Abril Martínez 1Agregar producto Abril Martínez 1Comprar producto Diana Díaz 1Vender producto Diana Díaz 2Modificar producto Alejandro López 1Eliminar producto Abril Martínez 1Consultar inventario José Morales 2Consultar ventas Alejandro López 1Consultar productos José Morales 1Generar reportes Diana Díaz, José Morales 1Diseñar la interfaz gráfica
Diana Díaz, Abril Martínez, José Morales, Alejandro López
4
Generar documentación Diana Díaz, Abril Martínez, José Morales, Alejandro López
5
En la figura 1.1 mediante la gráfica de Gantt se observa el tiempo que es dedicado a cada una de las tareas que componen el software y la figura 1.2 es una continuación de las mismas. Este diagrama de Gantt se realizó con la finalidad de representar las diferentes fases, tareas y actividades programadas como parte de un proyecto o para mostrar una línea de tiempo en las diferentes actividades haciendo el método más eficiente.
Figura 1.1 Gráfica de Gantt (planificación de actividades)
Figura 1.2 Gráfica de Gantt (planificación de actividades)
Capítulo 2. Definición de requisitosHistorias de usuarioEn esta sección se presenta mediante tarjetas de historias de usuario los requisitos principales del sistema indicando el responsable, fecha de inicio y fecha fin. Además de una breve descripción. Cada historia de usuario tiene un nombre diferente para poder identificarlas.
Historia de usuario
Número de historia: HU1 Nombre de historia de usuario: Consultar inventario
Modificación (o extensión) de historia de usuario (Número y nombre):
Usuario: José Antonio Morales Martínez Iteración asignada:
Prioridad en negocio: Media Puntos estimados: 2 (semana)
Riesgo en desarrollo: Media Puntos reales:
Descripción: Muestra la información de todos los productos existentes como la cantidad de ellos que se encuentran actualmente.
Observaciones:
Historia de usuario
Número de historia: HU2 Nombre de historia de usuario: Consultar ventas
Modificación (o extensión) de historia de usuario (Número y nombre):
Usuario: Alejandro López Bucio Fabián Iteración asignada:
Prioridad en negocio:
Media
Puntos estimados: 1 (semana)
Riesgo en desarrollo:
Media
Puntos reales:
Descripción: El sistema deberá mostrar al usuario las ventas que hayan sido realizadas.
Observaciones:
Historia de usuario
Número de historia: HU3 Nombre de historia de usuario: Consultar productos
Modificación (o extensión) de historia de usuario (Número y nombre):
Usuario: José Antonio Morales Martínez Iteración asignada:
Prioridad en negocio:
Media
Puntos estimados: 1 (semana)
Riesgo en desarrollo:
Media
Puntos reales:
Descripción: El sistema deberá mostrar al usuario el precio de compra y de venta de un producto específico.
Observaciones:
Historia de usuario
Número de historia: HU4 Nombre de historia de usuario: Agregar productos
Modificación (o extensión) de historia de usuario (Número y nombre):
Usuario: Jennifer Abril Martínez Ramírez Iteración asignada:
Prioridad en negocio: Alta Puntos estimados: 1 (semana)
Riesgo en desarrollo: Medio Puntos reales:
Descripción: Se debe registrar productos los cuales podrán contener una marca, tipo, con que modelo son compatibles, precio de compra y venta, entre otras características.
Observaciones: Al agregar un producto puede haber o no existencias del mismo.
Historia de usuario
Número de historia: HU5 Nombre de historia de usuario: Eliminar productos
Modificación (o extensión) de historia de usuario (Número y nombre):
Usuario: Jennifer Abril Martínez Ramírez Iteración asignada:
Prioridad en negocio: Alta Puntos estimados: 1 (semana)
Riesgo en desarrollo: Medio Puntos reales:
Descripción: Se deberá de mostrarle al usuario todos los productos existentes, para así el poder ingresar el id del producto que desea eliminar.
Observaciones: Al eliminar un producto la base de datos debe de ser actualizada.
Historia de usuario
Número de historia: HU6 Nombre de historia de usuario: Vender productos
Modificación (o extensión) de historia de usuario (Número y nombre):
Usuario: Diana Rubí Díaz Esquivel Iteración asignada:
Prioridad en negocio: Alta Puntos estimados: 2 (semana)
Riesgo en desarrollo: Bajo Puntos reales:
Descripción: Se podrá vender productos al cliente, realizando previamente la búsqueda de el en el sistema. Después deberá de especificarse la cantidad de productos y posteriormente calcular el total.
Observaciones: Al realizar la venta satisfactoriamente se tendrá que descontar dicha cantidad a la existencia del producto en el inventario.
Historia de usuario
Número de historia: HU7 Nombre de historia de usuario: Comprar productos
Modificación (o extensión) de historia de usuario (Número y nombre):
Usuario: Diana Rubí Díaz Esquivel Iteración asignada:
Prioridad en negocio: Alta Puntos estimados: 1 (semana)
Riesgo en desarrollo: Bajo Puntos reales:
Descripción: Se podrán comprar productos nuevos al proveedor, indicando la cantidad de estos, la fecha, el id del producto y a que proveedor será.
Observaciones: Al realizar la compra satisfactoriamente la cantidad de existencias del producto, se deberán de incrementar.
Historia de usuario
Número de historia: HU8 Nombre de historia de usuario: Modificar productos
Modificación (o extensión) de historia de usuario (Número y nombre):
Usuario: Alejandro López Bucio Fabián Iteración asignada:
Prioridad en negocio: Media Puntos estimados: 1 (semana)
Riesgo en desarrollo: Medio Puntos reales:
Descripción: Se puede modificar toda la información de un producto a excepción del id del mismo, pues este ayuda a la autenticación de cada uno.
Observaciones: No puede modificar la cantidad, eso automáticamente se realiza cuando se agregan y se venden productos.
Historia de usuario
Número de historia: HU9 Nombre de historia de usuario: Diseñar la interfaz gráfica.
Modificación (o extensión) de historia de usuario (Número y nombre):
Usuario: Alejandro López, Diana Díaz,Abril Martínez, José Morales
Iteración asignada:
Prioridad en negocio: Puntos estimados: 4 (semana)
Alta
Riesgo en desarrollo:
Baja
Puntos reales:
Descripción: El sistema deberá mostrar el logo, nombre y giro de la empresa. Además, tendrá que utilizar los colores de la empresa.Observaciones:
Historia de usuario
Número de historia: HU10 Nombre de historia de usuario: Gestionar usuarios.
Modificación (o extensión) de historia de usuario (Número y nombre):
Usuario: Alejandro López Bucio Fabián, Jennifer Abril Martínez Ramírez
Iteración asignada:
Prioridad en negocio:
Alta
Puntos estimados: 2 (semana)
Riesgo en desarrollo:
Medio
Puntos reales:
Descripción: El sistema deberá agregar y eliminar los distintos tipos de usuarios registrados.
Observaciones: Está acción sólo podrá realizarla el administrador principal.
Historia de usuario
Número de historia: HU11 Nombre de historia de usuario: Gestionar proveedores.
Modificación (o extensión) de historia de usuario (Número y nombre):
Usuario: Alejandro López Bucio Fabián, Jennifer Abril Martínez Ramírez
Iteración asignada:
Prioridad en negocio: Puntos estimados: 2 (semana)
Alta
Riesgo en desarrollo:
Medio
Puntos reales:
Descripción: El sistema deberá agregar y eliminar los proveedores con los que tiene tratos la refaccionaría.
Observaciones:
Historia de usuario
Número de historia: HU12 Nombre de historia de usuario: Generar reportes
Modificación (o extensión) de historia de usuario (Número y nombre):
Usuario: José Antonio Morales Martínez, Diana Rubí Díaz Esquivel
Iteración asignada:
Prioridad en negocio:
Media
Puntos estimados: 1 (semana)
Riesgo en desarrollo:
Media
Puntos reales:
Descripción: El sistema deberá poder generarle al usuario un documento tipo PDF en el cual se le presentará toda la información almacenado en la bitácora, para así poder crear documentos a partir de los registros.Observaciones:
Tareas de ingenieríaEn esta sección se presenta mediante tarjetas de tareas las historias de usuario que fue necesario dividirlas en tareas. Esto permite tener una característica más específica de la operación que se realizará.
Tarea de ingeniería
Número de Tarea: HU12.1 Historia de usuario (Núm. Y Nombre): HU12. Consultar producto
Nombre de Tarea: Consultar producto por nombre de producto
Tipo de tarea: Desarrollo Puntos estimados: 1
Fecha Inicio: 15-07-2015 Fecha Fin: 19-07-2015
Programador Responsable: José Antonio Morales Martínez
Descripción: Realiza una consulta del producto especificando su nombre.
Tarea de ingeniería
Número de Tarea: HU12.2 Historia de usuario (Núm. Y Nombre): HU12. Consultar producto
Nombre de Tarea: Consultar todos los productos
Tipo de tarea: Desarrollo Puntos estimados: 1
Fecha Inicio: 20-07-2015 Fecha Fin: 22-07-2015
Programador Responsable: José Antonio Morales Martínez
Descripción: Realiza una consulta de la información de todos los productos registrados.
Tarea de ingeniería
Número de Tarea: HU13.1 Historia de usuario (Núm. Y Nombre): HU12. Generar reportes
Nombre de Tarea: Generar reporte de ventas
Tipo de tarea: Desarrollo Puntos estimados: 1
Fecha Inicio: 30-07-2015 Fecha Fin: 04-07-2015
Programador Responsable: José Antonio Morales Martínez
Descripción: Genera un reporte de todas las ventas realizadas, un tipo bitácora.
Tarea de ingeniería
Número de Tarea: HU13.2 Historia de usuario (Núm. Y Nombre): HU13. Generar reportes
Nombre de Tarea: Generar reporte de venta
Tipo de tarea: Desarrollo Puntos estimados: 1
Fecha Inicio: 30-07-2015 Fecha Fin: 04-08-2015
Programador Responsable: Diana Rubí Díaz Esquivel
Descripción: Genera un reporte de la venta realizada, un tipo factura o nota venta mostrando datos importantes de la venta y el producto.
Diagrama de casos de uso
Capítulo 3. Diseño del sistemaPatrón de diseñoModelo de la base de datosEn esta sección se presenta mediante un diagrama el diseño de la base de datos para la “Refaccionaria López”. Cada una de las tablas está normalizada los nombres son: Producto, Proveedor, Pedido, Factura, Usuario y Bitácora. El diagrama permite visualizar las diferentes relaciones que existen entre las tablas, así como los campos y el tipo de datos de cada campo que contiene cada tabla. Las llaves primarias y las llaves foráneas se pueden visualizar en cada tabla.
Figura 3.1 Modelo de la base de datos
Arquitectura MVCCalidad del softwareControl de riesgos
Capítulo 4. Implementación del softwareHerramientas y tecnologías utilizadasPara el desarrollo de software son necesarias herramientas de hardware y software. A continuación se especifican los requerimientos técnicos en cuanto al hardware y versiones de software utilizado.
Para un correcto funcionamiento el servidor debe tener como mínimo:
Hardware
Procesador Pentium
Disponibilidad en el disco duro como mínimo 2GB
Espacio en la memoria RAM (100MB)
Tarjeta madre
Monitor
Teclado
Mouse
Software
Windows vista/Windows 7/Windows 8
Entorno de desarrollo Netbeas IDE 7.4
Plataforma Java Scene Builder 2.0 (ó 1.0)
MySql
AppServ Open Project 2.5.10
mysql conector java 5.1.35
iText 5.0.5
Interfaz gráfica del usuario Vender producto
Los principios de diseño aplicados la Figura 4.1 son: - Familiaridad del usuario: contiene términos y conceptos conocidos y
entendidos por el usuario.- Guía de usuario: proporciona retroalimentación cuando ocurre un
error durante la venta de un producto, esto es, si coloca datos incorrectos o existen datos incompletos, el sistema lo notifica.
- Estilo de selección de opciones: el usuario tiene disponible diferentes posibilidades como calcular el total antes de realizar la venta, vender, generar factura o nota de venta, cancelar la operación.
Figura 4.1 Interfaz gráfica: vender producto
Comprar productoPrincipios de diseño en Figura 4.2- Consistencia de diseño: para cada operación que realice el usuario
aunque cambie de ventana el sistema mantiene las mismas reglas de diseño en casi todas las interacciones.
- Acción mínima del usuario: existen listas de selección (ComboBox) que permiten al usuario elegir entre las opciones disponibles múltiples.
- Limitar el uso de colores: la buena selección de colores en una ventana permite que la información y operación no sea confusa y molesta para el usuario.
Figura 4.2 Interfaz gráfica: comprar producto
Código fuente
Capítulo 5. Control de versiones del software
Capítulo 6. Pruebas del softwarePruebas del software
Capítulo 7. Estimación de costosLa estimación de costos en el desarrollo de software es un factor realmente importante para el análisis de los proyectos, constituye un tema estratégico contar con métodos para medir el costo de un proyecto de software garantizando la eficiencia, competitividad, eficacia y excelencia. A continuación se presentan los métodos que fueron utilizados en este proyecto.
Técnicas de estimación de costos Método Ascendente
Se dividió el proyecto en 3 etapas importantes para su desarrollo, a cada una de las etapas se le asignó un costo estimado en cuanto a los requerimientos del sistema y recursos a utilizar.
La suma de los costos de las 3 etapas, nos da un total estimado de $4,500 con este método.Etapa Actividad Costo1 Caso de estudio $1,5002 Modelado y diseño $1,0003 Desarrollo y pruebas $2,000
TOTAL = $4,500
Método SLIMCon base en las fórmulas establecidas del modelo SLIM se sustituyeron los valores de acuerdo al software de la Refaccionaria López.
SLOC: 2000Personas/mes: 4Tiempo: 4/12 = 0.33 añosB (parámetro de productividad): .16Esfuerzo: 4/12 = 0.33 personas-años
Primero se obtiene el factor productividad: PP = 2000/ ((0.33/0.16)^(⅓) * (0.33) ^ (4/3)) =2000/(1.27*0.26) =2000 / 0.33 =6060.60
Por lo tanto:Producto = 6060.60 * ((0.33/0.16)^(⅓) * (0.33) ^ (4/3))Producto = 6060.60 * 0.33Producto = $2000
Método por analogíaSe consultó el precio de 2 programas distintos para basarnos en sus costos y así determinar el costo del sistema.
1. SICAR Punto de venta para RefaccionariasEl costo es un pago de $3,990 por una licencia de por vida con 1 año de soporte gratis y actualizaciones posteriormente por año $1,580 para mantener actualizado el sistema SICAR y gozar de los beneficios que conlleva, (Es opcional el tema de las actualizaciones).
Figura 7.1 SICAR
2. DESS Refaccionaria 2 Precio $2220Cuenta Con:Módulo de facturación.Búsqueda de productos por Marca, Modelo y Año.Control de Crédito y cuentas por pagar.Reportes de Ventas por día, Ventas por Producto, Ventas por Cliente, Productos Populares, Corte de Caja, Sugerencia de Pedido, Catálogo de Partes, etc...Sección de finanzas para llevar un control de gastos con reportes de Flujo de Efectivo y Balance General.
Figura 7.1 Software para refaccionaria
En la siguiente tabla se presentan los resultados obtenidos de las tres técnicas.
Método por analogía Método SLIM Método Ascendente
$3000 $2000 $4500
Costo total del softwareEn base a las técnicas utilizadas, especialmente en el Método por analogía se definió el costo para el software “Refaccionaria López”:
COSTO TOTAL: $4000
Las razones son que existe variedad de software en el mercado que le permite al cliente realizar toda la gestión de su negocio (Refaccionaria), además los precios no son muy elevados. Sin embargo el software que se desarrolló es competente y satisface los requerimientos del cliente.
Conclusiones
Bibliografía