Ingeniería de Software Docente: Piazza, Nestor. TRS1 Fecha: 4 de julio del 2014 Alumno: Juan Pablo Trinchitella Machado 1 Contenido Factibilidad ................................................................................................................................................... 3 Operativa............................................................................................................................................. 3 Legal ................................................................................................................................................... 3 Técnica ................................................................................................................................................ 3 Análisis FODA ............................................................................................................................................. 4 Fortaleza ............................................................................................................................................. 4 Debilidades ......................................................................................................................................... 4 Oportunidades ..................................................................................................................................... 4 Amenazas ............................................................................................................................................ 4 Especificación de Requerimientos................................................................................................................ 5 Introducción ........................................................................................................................................ 5 ANEXO ...................................................................................................................................................... 11 Métricas ............................................................................................................................................ 11 Ajuste de Complejidad ...................................................................................................................... 11 Tamaño y costo del proyecto ............................................................................................................ 13 Casos de Uso .............................................................................................................................................. 14 Diagramas de casos de uso ............................................................................................................... 14 Especificación contextual de los casos de uso ............................................................................................ 16 Actor del sistema. ............................................................................................................................. 16 2 Factibilidad Operativa El sistema será factible operacionalmente debido a que se va a operar en él, el mismo es solicitado en la letra del proyecto, la interface será amigable con el usuario, facilitando su manejo, reduciendo principalmente los tiempos en los que se realizan las tareas. Se buscara cubrir todas las necesidades propuestas de una forma amigable con el usuario, con el fin de reducir al mínimo las probabilidades de que el usuario sienta el sistema como una amenaza hacia su puesto de trabajo. Por las razones antes mencionadas el sistema Biblioteca es factible operacionalmente. Legal El sistema Biblioteca, a desarrollar por Juan Pablo Trinchitella, no contradice ninguna reglamentación, tanto leyes, decretos, regulaciones a nivel nacional y departamental . La ley que avala este proyecto es la siguiente: - Ley de Software Nº17616 Técnica En cuanto al sistema: Sera factible técnicamente debido a que la tecnología que hay, se podrá ejecutar en cualquier equipo que tenga un navegador web como por ejemplo Mozzilla Firefox, Internet Explorer, Google Chrome y Safari. 3 Análisis FODA Fortaleza Personal capacitado. Su personal es joven y emprendedor. Debilidades Poco capital. Poca experiencia en el ámbito. Problemas de motivación. Escaso conocimiento del mercado. Oportunidades Continuos avances de la tecnología y por esto hay mayor demanda de nuevos productos. Posibilidad de crecimiento. Amenazas Tiempo reducido para la realización del mismo. No llegar en tiempo y forma a la entrega del proyecto. 4 Especificación de Requerimientos Introducción Propósito del Documento El contenido de este documento es la Especificación de Requerimientos del Sistema de Biblioteca. En él se encuentra una descripción del sistema antes mencionado, para lo cual especificaremos su alcance y limitación, así como también requerimientos funcionales y no funcionales. Propósito del Sistema El sistema de Biblioteca, tienen como propósito proveer de una herramienta que dispone de información de Usuarios (lectores) y Ejemplares (Libros, Revistas, Fotocopias) para el préstamo de la biblioteca, que permita un manejo eficiente de todo el proceso de préstamo y asegure un eficaz seguimiento de los usuarios en cuanto al plazo de devolución y estado del ejemplar. Situación actual El sistema se desarrollara en un entorno de programación HTML y PHP sobre cualquier plataforma como sistema operativo, el gestor de base de datos será MySQL 5.5.8 sobre el servidor local dependiendo el sistema operativo del mismo.. Usuarios del sistema La Biblioteca cuenta con 2 tipos de usuarios. A continuación se encuentra una descripción del los mismos. Usuario: Pide préstamo, devuelve préstamo Bibliotecario: Chequea disponibilidad de ejemplar, ingresa usuario, préstamo, hace control de devolución préstamo y seguimiento de prestamo. Alcance y limitaciones del sistema Alcance Gestionar todo lo referido a la Biblioteca, de un ejemplar determinado con toda su información necesaria y su vinculación con un Usuario. Queda fuera del alcance del sistema cualquier tipo de facturación, el manejo de las reservas de los mismos. 5 Limitaciones Software: Bilblioteca será programado en NetBeans IDE 8.0, utilizando base de datos MySQL 5.5.8 sobre la versión de WAMPServer 2.1 . Requerimientos Requerimientos funcionales Func1 – Consulta disponibilidad. El sistema permite consultar la disponibilidad de los ejemplares. Func2 – Estado préstamo. El sistema permite ver el estado de cada préstamo. Func3 – Seguimiento de préstamo. El sistema permite hacer el seguimiento del préstamo. Func4 – Ingreso de sanción. El sistema permite realizar el ingreso a una sanción. Func5 – Buscar ejemplares. El sistema permite buscar ejemplares según el título, autor y editorial. Func6 – Buscar usuarios. El sistema permite buscar usuarios según el nombre, apellido y ci. Func7 – Actualizar stock. El sistema permite actualizar el stock de los ejemplares. 6 Func8 – Devolución ejemplares. El sistema permite ingresar la devolución de ejemplares. Func9 – Préstamo de ejemplares. El sistema permite ingresar préstamos de ejemplares. Requerimientos no funcionales Performance El sistema tiene una rápida respuesta para cada una de sus funciones, así como también para generar los listados de producto. Seguridad y control de acceso El sistema cuenta con un perfil de usuario, lo cual permite tener un control estricto sobre las acciones realizadas. Integración con otros sistemas El sistema es compatible con Linux, Windows, iOS. Interfaz con el usuario El sistema tiene una interfaz gráfica amigable que permite al bibliotecario trabajar con comodidad, teniendo un fácil y rápido acceso a todas las funciones. Requerimientos internacionales, Legales y otros: Ley de Software Nº17616: Antecedentes y contexto Con motivo de los avances tecnológicos y la necesidad de proteger en debida forma las creaciones del intelecto, fueron surgiendo diversos convenios internacionales en materia de derechos de autor. Merecen especial atención, el Convenio de Berna para la Protección de las Obras Literarias y Artísticas (Acta de París de 1971), el Acuerdo sobre los Aspectos de Propiedad Intelectual vinculados con el Comercio (ADPIC), resultante de la Ronda Uruguay del GATT, y los nuevos Tratados de la OMPI 7 sobre Derecho de Autor del año 1996 (ámbito digital e internet). Estos dos últimos prevén a texto expreso la protección de los programas de ordenador. Tanto el Convenio de Berna, como el acuerdo ADPIC, fueron aprobados por nuestro país a través de las leyes 14910 y 16671 respectivamente. Tal circunstancia determinaba, en base a los compromisos asumidos internacionalmente, que debía sancionarse una nueva ley de derecho de autor, o bien, reformarse la ya existente (No. 9739 de 17 de diciembre de 1937) antes del mes de enero del año dos mil. En efecto, la ley 9739 pese a contener soluciones de avanzada para su época, protegiendo en general todas las producciones del intelecto, necesitaba adecuarse a los nuevos instrumentos surgidos de los acuerdos internacionales. El camino tomado por el Poder Legislativo, a propuesta del Poder Ejecutivo, fue el de reformar la ley del año 1937, introduciendo las modificaciones necesarias luego de sesenta y cinco años de vigencia. Si bien el Poder Ejecutivo, nuestra doctrina y jurisprudencia no dudaron en reconocer que los programas de computación constituían obras protegidas por el derecho de autor, nuestra ley no contenía una referencia expresa en relación a los mismos. No obstante ello, como se señalaba, en sentencias del Tribunal de lo Contencioso Administrativo, Suprema Corte de Justicia, y tanto en materia civil como penal, los programas de computación han sido considerados, sin duda alguna, obras protegidas por la ley de derecho de autor. La protección legal del software en la ley 17616 En base a lo expresado, nuestro país sanciona la ley 17616 de 10 de enero de 2003, con el objeto de actualizar la ley del año 1937. Entre los cambios introducidos surge, precisamente, la inclusión a texto expreso de los programas de ordenador. El titular de un programa de computación, conforme a la ley, tiene el derecho exclusivo de autorizar su reproducción, distribución, transformación y su comunicación al público. Interesa destacar que el derecho de reproducción comprende la fijación de la obra (programa de ordenador) en cualquier forma o por cualquier procedimiento, incluyendo la obtención de copias, su almacenamiento electrónico, - sea permanente o temporario-, que posibilite su percepción o comunicación. Asimismo, a través del derecho de distribución el titular tiene el derecho exclusivo de poner a disposición del público el original o una o más copias de la obra, mediante su venta, permuta u otra forma de transmisión de la propiedad, arrendamiento, préstamo, importación, exportación o cualquier otra forma conocida o por conocerse, que implique la explotación de la obra. En lo que refiere a las medidas de protección efectiva, la ley se encarga de señalar que los titulares de los derechos podrán solicitar inspecciones judiciales con el objeto de constatar los hechos que comprueben infracciones a la misma. El Juez podrá, de esta manera, decretar el allanamiento de la finca o lugar donde se denuncia que se está cometiendo la infracción. Esta inspección tiene carácter reservado y se decretará sin noticia de la persona contra quién se pide. Medidas cautelares De igual forma, el Juez a instancia del titular del derecho podrá ordenar la práctica de medidas cautelares con el objeto de evitar que se cometa la infracción o que se continúe o repita una violación ya realizada a los derechos exclusivos del titular, particularmente: - la suspensión inmediata de las actividades de fabricación, reproducción, distribución, comunicación o importación ilícita; - el secuestro de los ejemplares producidos o utilizados y el material o equipos empleados para la actividad infractora; - el embargo de los ingresos obtenidos por la actividad ilícita. Se consagran pues, a texto expreso, medidas tendientes a facilitar la comprobación de los hechos ilícitos y evitar la continuación de los mismos. Sanciones civiles y penales 8 En relación a las sanciones civiles, la parte lesionada (titular de los derechos de autor), no sólo tiene acción para reclamar el cese de la actividad ilícita y la indemnización de los daños y perjuicios, sino también para solicitar acumulativamente una multa de hasta diez veces el valor del producto en infracción. Quien viole los derechos de autor, queda expuesto pues, no sólo a abonar los daños y perjuicios irrogados, sino una multa o pena civil de hasta diez veces el valor del programa de computación en infracción. Por último, la ley también ha modificado los delitos relativos a violaciones a los derechos de autor. El actual art. 46 de la ley 9739, en la redacción dada por el art. 15 de la ley 17616, establece que, quién edite, venda, reproduzca o hiciere reproducir por cualquier medio o instrumento -total o parcialmente-; distribuya; almacene con miras a la distribución al público, o ponga a disposición del mismo en cualquier forma o medio, con ánimo de lucro o de causar un perjuicio injustificado, una obra (programa de ordenador) inédita o publicada, sin la autorización escrita de su respectiva titular, contraviniendo en cualquier forma lo dispuesto en la ley, será castigado con pena de tres meses de prisión a tres años de penitenciaría. Por otra parte, quién reproduce o hiciere reproducir, por cualquier medio o procedimiento, sin ánimo de lucro o de causar un perjuicio injustificado un programa de ordenador sin la autorización escrita de su respectivo titular, será castigado con multa de 10 UR a 1.500 UR. Otras figuras La actual redacción dada por la ley 17616 agrega otras figuras delictivas, referidas a medidas tecnológicas e información sobre la gestión de derechos . A tales efectos señala que serán sancionados con pena de tres meses de prisión a tres años de penitenciaría quién : - fabrique, importe, venda, dé en arrendamiento o ponga de cualquier otra manera en circulación, dispositivos o productos, los componentes o herramientas de los mismos o preste cualquier servicio cuyo propósito sea impedir, burlar, eliminar, desactivar o eludir de cualquier forma, los dispositivos técnicos que los titulares hayan dispuesto para proteger sus respectivos derechos; - altere o suprima, sin autorización del titular de los derechos protegidos por esta ley, la información electrónica colocada por los titulares de los derechos de autor o conexos, para posibilitar la gestión de sus derechos patrimoniales y morales, de modo que puedan perjudicarse estos derechos. La misma pena se aplicará a quien distribuya, importe con fines de distribución, emita o comunique al público, sin autorización, ejemplares de obras, interpretaciones o fonogramas, sabiendo que la información electrónica colocada por los titulares de derechos de autor o conexos, ha sido suprimida o alterada sin autorización. Asimismo, el Tribunal interviniente ordenará en la sentencia condenatoria la confiscación y destrucción, o dispondrá cualquier otro medio de supresión de las copias de obras o producciones y de sus embalajes o envoltorios en infracción, así como de todos los artículos, dispositivos o equipos utilizados en la fabricación de las mismas. En aquellos casos en que los equipos utilizados para la comisión de los ilícitos referidos no tengan por única finalidad esta actividad, el Juez sustituirá la destrucción por la entrega de dichos equipos a instituciones docentes oficiales. Por el doctor Eduardo de Freitas, asesor legal de Software Legal Uruguay. 9 ANEXO 10 ANEXO Métricas Parámetros de medición Cuenta Simple Medio Complejo Total Número de entradas de usuario Número de salidas de usuario Número de peticiones de usuario Número de archivos lógicos Numero de interfaces externas Total: 17 3 4 6 = 51 11 4 5 7 = 44 9 3 4 6 = 27 4 7 10 15 = 28 3 5 7 10 = 15 = 165 Ajuste de Complejidad 0 1 No influencia Incidental 1. ¿Requiere el sistema copias de seguridad y recup. fiables? X 3.¿ Existen funciones de func. distribuido? X 5. ¿ Se ejecutará el sistema en un entorno operativo existente y fuertemente utilizado ? 6- ¿ Requiere el sistema entrada de datos interactiva ? 3 4 5 Moderado Medio Significativo Esencial X 2. ¿Se requiere comunicac. de datos ? 4. ¿ Es crítico el rendimiento? 2 X X X 7. ¿ Requiere la entrada 11 de datos interactivas que las transac. de entrada se lleven a cabo sobre múltiples pantallas u operaciones ? X 8. ¿ Se actualizan los archivos maestro en forma interactiva ? 9. ¿ Son complejas las entradas, las salidas, los archivos o las peticiones? X X 10. ¿ Es complejo el procesamiento interno ? X 11. ¿ Se diseñará el código para ser reutilizable ? X 12. ¿ Están incluidas en el diseño la conversión y la instalación ? 13. ¿ Se diseñará el sistema para múltiples instalaciones en diferentes organizaciones ? X X 14. ¿ Se diseñará la aplicación para facilitar los cambios y para ser fácilmente utilizada por el usuario ? X 8 1 3 0 0 0 Fi = 12 PF = Cuenta total * (0.65 + 0.001 * Sumatoria de Fi) = 109 12 Tamaño y costo del proyecto LENGUAJE DE PROGRAMACIÓN Ensamblador C COBOL FORTRAN PASCAL ADA LENGUAJES ORIENTADO A OBJET. LENGUAJES DE 4a.GENERACION GENERADORES DE CÓDIGO HOJAS DE CÁLCULO LENGUAJES GRÁFICOS (ICONOS) LDC/PF 320 128 105 105 90 70 30 20 15 6 4 TOTALES 34953,6 13981,44 11469,15 11469,15 9830,7 7646,1 3276,9 2184,6 1638,45 655,38 436,92 VALOR ESPERADO = (OPTIM +4PROBABLE+PESIMISTA )/6 VALOR ESPERADO = 3468,0525 lineas Según valores tomados de la bibliografía específica , se escriben 620 Líneas/mes por persona Tiempo total = 5.59 1.11872661 Costos = 16780.8992 Dólares Se considera un salario de U$S 15/hora y 200 horas por mes. 13 Casos de Uso Diagramas de casos de uso Paquete de caso de uso del sistema: 14 Diagrama del paquete Biblioteca 15 Especificación contextual de los casos de uso Actor del sistema. ACT-0001 Bibliotecario Versiones 1.0 (27/06/2014) Autores Juan Pablo Trinchitella Fuentes Descripción Este actor representa la persona que tiene permisos para realizar prestamos, controlar el mismo. Comentario Nunguno 16 CU-0001 Identificar Lector Versiones 1.0 (27/06/2014) Autores Juan Pablo Trinchitella Fuentes Dependencias Ninguno Descripción El sistema deberá comportarse tal como se describe en el siguiente caso de uso, cuando el actor Bibliotecario (ACT-0001) tiene que identificar al lector. - Precondición Secuencia normal Pos condición Excepciones Rendimiento Paso 1 2 3 Acción El actor Bibliotecario (ACT-0001) ingresa CI de lector El sistema muestra los datos del lector El actor Bibliotecario (ACT-0001) identifica al lector y le lista la información del mismo, el caso de uso finaliza correctamente. Paso 2 Acción Si el sistema no encuentra lector se le indica con un cartel y vuelve al paso 1, a continuación este caso de uso continúa. Tiempo máximo - - Paso - Frecuencia esperada Importancia Urgencia Estado Estabilidad Comentarios Ninguno 17 CU-0002 Entregar ejemplar Versiones 1.0 (27/06/2014) Autores Juan Pablo Trinchitella Fuentes Dependencias Ninguno Descripción El sistema deberá comportarse tal como se describe en el siguiente caso de uso, cuando el actor Bibliotecario (ACT-0001) tiene que hacer un préstamo a un lector. - Precondición Secuencia normal Postcondición Excepciones Rendimiento Paso 1 2 3 4 5 6 7 8 9 Acción El actor Bibliotecario (ACT-0001) ingresa código de ejemplar El sistema verifica la información El actor Bibliotecario (ACT-0001) introduce CI del lector El actor Bibliotecario (ACT-0001) introduce código de ejemplar El actor Bibliotecario (ACT-0001) introduce fecha de préstamo El actor Bibliotecario (ACT-0001) introduce fecha de devolución marcada El actor Bibliotecario (ACT-0001) introduce estado del material entregado El sistema guarda la información El sistema finaliza el caso de uso Paso 2 Acción Si el código de ejemplar no son válidos, el actor Bibliotecario (ACT-0001) debe volver a introducirlos, a continuación este caso de uso continua Tiempo máximo - - Paso - Frecuencia esperada Importancia Urgencia Estado Estabilidad Comentarios En cualquier momento el actor Bibliotecario puede seleccionar “cancelar“ y salir del caso de uso si realizar ningún cambio (la cancelación deberá confirmarse). Todas las modificaciones en la base de daros siguen la filosofía de todo o nada. De ocurrir un error durante la manipulación, se invertirán todos los cambios realizados. 18 CU-0003 Dar baja ejemplar Versiones 1.0 (27/06/2014) Autores Juan Pablo Trinchitella Fuentes Dependencias Ninguno Descripción El sistema deberá comportarse tal como se describe en el siguiente caso de uso, cuando el actor Bibliotecario (ACT-0001) selecciona “dar baja ejemplar”. - Precondición Secuencia normal Postcondición Excepciones Rendimiento Paso 1 2 3 4 5 6 7 8 9 Acción Se realiza el caso de uso Identificar lector(CU-0001) El actor Bibliotecario (ACT-0001) comprueba la fecha de entrega El actor Bibliotecario (ACT-0001) comprueba el estado del ejemplar El actor Bibliotecario (ACT-0001) introduce fecha de préstamo El actor Bibliotecario (ACT-0001) introduce fecha de devolución marcada El actor Bibliotecario (ACT-0001) introduce estado del material entregado El actor Bibliotecario (ACT-0001) introduce si está sancionado o no El sistema guarda la información El sistema finaliza el caso de uso Paso Acción - Paso - Tiempo máximo - Frecuencia esperada Importancia Urgencia Estado Estabilidad Comentarios Todas las modificaciones en la base de daros siguen la filosofía de todo o nada. De ocurrir un error durante la manipulación, se invertirán todos los cambios realizados. 19 MER 20