Técnico Superior Universitario en:
Tecnologías de la Información y Comunicación
Asignatura:
Ingeniería de software
Docente:
Martin José del C. Alcocer Ávila
Integrantes:
Marcela del C. Urmeneta Gil de Partearroyo Daniel Deara Chan Esperanza Hipólito Jiménez Mariel
Grado y Grupo: 4° Cuatrimestre “A”
San Antonio Cárdenas, Carmen, Camp, a 10 de Octubre de 2012.
DESARROLLO
Debido a la gran importancia del uso de software para el desarrollo de pequeñas, medianas y grandes empresas, sé es necesario desarrollar sistemas de gestión para el manejo rápido, eficiente y eficaz de la información utilizada en ellos. El videoclub RANGO a gestionar no está informatizado, funciona manualmente; se trata de formular un conjunto de requerimientos que describan la manera de como funciona el videoclub para su mecanización. Los requerimientos será la base para acordar las descripciones del sistema con el cliente, y una vez ajustadas prescribir una propuesta de desarrollo de software. El proyecto de software a construir a partir de dicha propuesta se ajustará a las especificaciones del documento. En el caso del videoclub es un negocio en el que se maneja gran cantidad de información como podemos mencionar el alquiler de películas, en el que se llevara el control de las películas, socios, rentas, etc. En las ventas, se llevará el control de las películas alquiladas por día, las ganancias obtenidas. En compras se llevará el registro de todo lo que se adquiere de los proveedores, las películas que se requieren dependiendo de lo que se tiene en el videoclub introduciendo los pedidos a los proveedores, sus plazos de entrega, los precios, etc. El objetivo principal es brindarle al usuario un software como una herramienta sencilla y extremadamente eficaz para la gestión administrativa y comercial de la empresa. De tal manera que el usuario tenga disponible la información en cualquier momento que lo requiera, al igual que la seguridad de ésta, haciendo uso de dicho software de manera rápida para la comodidad y utilidad del usuario.
REQUERIMIENTOS FUNCIONALES
En este apartado se explicaran las funcionalidades del sistema que será capaz de realizar; así como se describirán las funciones que el sistema realiza sobre las entradas para producir salidas. La aplicación será capaz de realizar las siguientes funciones: Entradas:
La información de los productos que se adquieran en el videoclub será almacenada en una base de datos, como los id_pelicula, nombre, genero, estreno, formato y precio llevando el control de dichos registros. De esta manera se le facilitará al usuario el acceso a los datos, en el caso de que requiera hacer una consulta sobre alguna película en específico, la base de datos arrojará el resultado. Salidas:
En este se llevara el control de las ventas que se realicen diariamente, obteniendo así información sobre las ganancias que se genere con la renta de películas en el día.
REQUERIMIENTOS NO FUNCIONALES
Son las funciones que el sistema será capaz de realizar pero no a un 100%. Hallando la posibilidad de que a la hora de dar de alta algún producto, al introducir nuevos registros el sistema no hará verificaciones y no mandará un mensaje de alerta de que ese registro ya existe.
Un caso que se puede presentar en cuanto a los alquileres de películas que se realicen diariamente, puede que el sistema no se actualice de manera rápida teniendo como consecuencias problemas como por ejemplo que el cliente quiera realizar un alquiler de película, pero si el sistema no se ha actualizado puede arrojarle al usuario que si hay en existencia el producto que el cliente requiere, cuando en realidad físicamente no los hay.
ALCANCES Y LIMITACIONES DEL SISTEMA
Alcances
En esta parte se definirá hasta dónde llegará nuestro sistema y las funciones que realizará. El sistema será capaz de realizar notas al igual que podremos hacer consultas ya que es muy importante tener un control de lo que está y lo que no, para poder darle un buen servicio al cliente. Por otra parte también será capaz de llevar a cabo reportes y visualizarlos en pantalla, los cuales nos mantendrán informados sobre todas las rentas de películas que se hicieron en el transcurso del día. Limitaciones
En esta parte es donde se definirán las características que de una u otra manera puedan limitar al sistema.
Una de las limitaciones que traerá consigo este sistema es que no se podrán hacer facturas.
La aplicación podrá hacer notas pero no podrá imprimirlas lo cual es una limitación del sistema.
El sistema hará reportes pero solo se visualizaran en pantalla y no se podrán imprimir.
RECURSOS PARA EL DESARROLLO
La siguiente es la relación de recursos que se dispone para el desarrollo del sistema: Económico.
Se cuenta con un presupuesto destinado para el proyecto de la siguiente forma: Totales Recursos Administrativos Recurso
Concepto
Sub Total
Estephany Mariel Amayo Naal María Esperanza Hipólito Jiménez Marcela del C. Urmeneta Gil
Recursos Humanos
7680.00
Daniel Deara Chan Visual Basic Studio 2010
Lenguaje de programación
232.50
SQL server 2008
Gestor de Base de Datos
301.60
Papelería
Material y suministros
350.00
Computadora
Alquiler de equipos
437.50
Asesor
Asesor de Proyectos
1,600.00 Total
10,601.60
Personal.
Se cuenta con un grupo de personas que ejecutaran el proyecto entre líder de proyecto, analista, diseñador, programador y asesor:
Recurso Humano: Estephany Mariel Amayo Naal María Esperanza Hipólito Jiménez Marcela del C. Urmeneta Gil Daniel Deara Chan Asesor: Martin José del C. Alcocer Ávila Técnicos:
Los recursos de hardware y software disponibles son: Equipo de cómputo:
Modelo Samsung
Sistema Operativo Windows 7 Home Premium
Procesador AMD Sempron
Memoria RAM 6 GB. DDR2 SDRAM.
Disco duro 700 GB.
Unidad de disco DVD-Writer
Software:
Microsoft SQL Server 2008
Microsoft Visual Basic Studio 2010
ESTIMATIVOS DE DESARROLLO
De acuerdo con lo estipulado hasta el momento, el proyecto del sistema (software); las personas participantes y la tecnología disponible, se estima que el proyecto presentara una duración de 4 meses, con asignación de medio tiempo, tanto por parte de los participantes del proyecto como del asesor.
Se proyecta un costo de desarrollo con base en el número de formularios a construir, siendo esta la unidad mínima de codificación para el sistema (software). Aproximadamente el costo total será de $ 10,601.60 pesos, incluyendo el salario de los participantes involucrados.
Estudio de Factibilidad
Se pretende mostrar el análisis de factibilidad realizado al sistema, para determinar su vialidad técnica, operativa y financiera.
Técnica:
En esta parte se definiremos con que hardware y software se cuenta, para el desarrollo del sistema. Los recursos de hardware y software con los que se cuenta son: Hardware Modelo
Modelo Samsung
Procesador
AMD Sempron
Sistema Operativo
Windows 7 Home Premium
Memoria
6 GB DDR2 SDRAM
Unidades Incluidas
DVD-Writer DVD-RAM
Unidades Internas
700 GB HDD Software
Microsoft SQL Server 2008 Microsoft Visual Basic Studio 2010
Operativo:
En esta parte se especifica el personal con el que se cuenta. Personal Líder de proyecto
Estephany Mariel Amayo Naal
Analista
María Esperanza Hipólito Jiménez
Diseñador
Marcela del C. Urmeneta Gil
Programador
Daniel Deara Chan
Usuario
Fidel Castro Oliveira
Asesor
Martin José del C. Alcocer Ávila
Económico:
COSTOS Hardware
Costos
Vida útil
Utilización
Valor semana
Valor
Cantidad
Valor
unitario Computadora
7,000.00
36 meses
16 semanas
27.34
437.50
total
1
437.50
Total
Software
437.50
Costos
Vida útil
Utilización
Valor semana
Valor
Cantidad
Valor
unitario
total
SQL server
4,825.00
36 meses
16 semanas
18.84
301.60
1
301.60
Visual Basic
3,720.00
36 meses
16 semanas
14.53
232.50
1
232.50
Total
Personal
534.10
Salario/
Salario
# de horas/
# de semanas
semana
hora
semanas
Desarrollador
160.00
8.00
20
16 semanas
2,560.00
3
7680.00
Asesor
100.00
50.00
2
16 semanas
1,600.00
1
1,600.00
Resmas de papel Total
Valor total de costos
Cantidad
Valor
total
Total
Material de oficina
Valor
total
9,280.00
Gastos
# semanas
21.87
16
Valor total
350.00 350.00
10,601.60
En base al estudio realizado a los requerimientos se requiere que la empresa videoclub RANGO cuenta con el dinero suficiente para cubrir los costos de Desarrollo, Equipo y Operación. Por lo tanto podemos concluir dicho proyecto es factible financieramente.
ESTANDAR DE CALIDAD
El aseguramiento de la calidad de software abarca todas las actividades relacionadas con el aseguramiento de calidad durante el ciclo de vida de desarrollo del software y pruebas. Durante el ciclo de vida del desarrollo de software, las actividades y tareas de pruebas nos permite asegurar que el sistema funciona como se esperaba, incluso se puede validar como se comportará ante ciertos tipos de fallos propios o ajenos. Las pruebas del software correctamente definidas y ejecutadas implican calidad, aunque ciertamente un producto de calidad no necesariamente es aquel que se ha sido testeado exhaustivamente, podrá ser robusto, pero no garantiza que el comportamiento es correcto, que cumple sus especificaciones de requerimientos. Por lo tanto podemos señalar que todo proyecto de software debe ser construido con el fin de ser utilizado de manera satisfactoria por parte del usuario, y que dicho sistema deberá proveer la calidad ineludible para poder asegurarlo. De acuerdo a nuestro proyecto de desarrollo de software Videoclub en construcción aplicaremos el estandar IEEE 1012 – 2004: Standard for Software Verification and Validation; que nos detalla los procesos de verificación y validación del software, este se aplicara en la fase de pruebas de código y testeo del software, el alcance del estándar que tendrá será la ejecución de pruebas, procesos de validación y revisiones de pruebas contra los requerimientos del proyecto.
TECNICAS DE VALIDACION
En el proyecto de desarrollo de software Videoclub RANGO la técnica de validación se realizara a los procesos de comprobación y análisis que aseguren que el software que se desarrolla este acorde a su especificación y cumple las necesidades del cliente. La verificación y validación inicia con las revisiones e inspecciones del código hasta la implementación del software. Es importante llevar a cabo la validación de los requerimientos del sistema al inicio del proyecto, debido a que es fácil cometer errores y omisiones durante la fase de análisis de requerimientos del sistema y el software final no cumplirá las expectativas del cliente. Sin embargo, la validación de los requerimientos no puede descubrir todos los problemas que presenta la aplicación en si. Algunos defectos en los requerimientos solo podrán descubrirse cuando la implementación del sistema sea realizada. En este caso, dentro del proceso de validación se utilizan dos técnicas de comprobación y análisis de sistemas:
Pruebas del Software
Consisten en contrastar las respuestas de una implementación del software a series de datos de prueba y examinar las respuestas del software y su comportamiento operacional, para comprobar que se desempeñe conforme a lo requerido. Llevar a cabo las pruebas es una técnica dinámica de la verificación y validación ya que requiere disponer de un prototipo ejecutable del sistema.
Técnicas de Inspección
Incluyen inspección de programas, análisis automatizado de código fuente y verificación formal. Sin embargo las técnicas estáticas sólo pueden comprobar la correspondencia entre un programa y su especificación (verificación) y no puede probar que el software es de utilidad operacional, y mucho menos que
las características no funcionales del software son las correctas. Por lo tanto, para validar un sistema de software, siempre se requieren llevar a cabo ciertas pruebas. En nuestro proyecto de software de Videoclub, emplearemos la técnica de pruebas de software las cuales consistirán en ejecutar el sistema con datos de entrada específicamente formulados para la prueba que se realiza. La prueba de insuficiencias o defectos del programa se obtendrán analizando las respuestas que nos proporcione el software y buscando anomalías respecto de lo esperado. Las pruebas se llevaran a cabo durante la fase de prueba e implementación para verificar que el software se comporta tal como lo pretendió el programador. Por el contrario declinaremos en utilizar las técnicas de inspección ya que no nos garantiza la funcionalidad operacional del software.
En la fase de pruebas e implementación del proyecto de software ejecutaremos dos tipos diferentes de prueba, que se utilizan en las diferentes etapas de desarrollo del software: Pruebas de Defectos
Pretenden encontrar las inconsistencias entre un programa y su especificación. Estas inconsistencias se deben habitualmente a los fallos o defectos en el código del programa. Las pruebas se diseñan para revelar la presencia de defectos en el sistema, más que para evaluar su capacidad operacional. Pruebas Estadísticas
Se utilizan para probar el desempeño y la fiabilidad del programa y comprobar como trabaja bajo condiciones operacionales. Las pruebas se diseñan para reflejar las entradas de los usuarios y su frecuencia. Después de llevar a cabo las pruebas, se puede hacer una estimación de la fiabilidad operacional del sistema contando el número de caídas observadas en el sistema. La capacidad del programa se valora midiendo el tiempo de ejecución y el tiempo de respuesta del sistema cuando procesa los datos estadísticos de la prueba. Descripción: Software de verificación y validación (V & V) Procesos
determinar si los productos de desarrollo de una determinada actividad se ajustan a los requisitos de dicha actividad y si el software satisface su uso previsto y necesidades de los usuarios. Software V & V Requisitos del ciclo de vida del proceso se especifica para los diferentes niveles de software de integridad. El alcance de los procesos de V & V incluye sistemas basados en software, programas informáticos, hardware e interfaces. Esta norma se aplica a software a desarrollar, mantener, o reutilizados [Legacy, comercial off-theshelf (COTS), no-desarrollo artículos]. El término software también incluye firmware, microcódigo, y documentación. Software V & V incluyen los procesos de análisis, evaluación, revisión, inspección, evaluación y pruebas de productos de software