scieee AI-readable full text Open interactive document viewer

Histórico proyectos para oficina técnica

Martínez, Oliver

Abstract

Mitjançant aquesta memòria es cerca recopilar, definir i concretar els requisits i les funcionalitats del sistema per la gestió històrica de projectes per la oficina técnica d’ITC-2,el nostre client. ITC-2 és una empresa dedicada al món de l’enginyeria, concentren la major part dels seus recursos a realitzar projectes per subestacions elèctriques. Els seus principals clients són empreses transportadores y generadores d’energia, com per exemple Red Electrica Española, Iberdrola o Fecsa-Endesa. ITC-2 pretén realitzar un aplicatiu que li permeti emmagatzemar les dades referents als projectes del seu departament de subestacions, aquestes dades es faran en consultes futures, amb el fi de re aprofitar el treball realitzat en el departament. Per això ITC-2 necessita un aplicatiu que permeti consultar els projectes realitzats a la pròpia oficina, y que emmagatzemen en un servidor, informen al usuari sobre l’ ubicació lògica del projecte. Els objectius d’aquest sistema consisteixen en oferir una solució Informàtica basada en satisfer les necessitats proposades pel client. Desenvolupant un anàlisis dels diferents requeriments y persones que faran ús del sistema. Utilitzant unes metodologies y mecanismes que ens permetin visualitzar de manera general el problema plantejat, i a la seva vegada analitzar-lo per donar una solució correcta a aquest problema, definint una arquitectura software y hardware adequada. A més, tant a nivell de funcionalitat com també a nivell econòmic. L’arquitectura escollida ha sigut una arquitectura client/servidor mitjançant un servidor que serà responsable de l’ integritat de les dades, i una aplicació que restarà instal·lada en el total de llocs de treball de l’oficina tècnica d’ITC-2. Aquesta aplicació serà la que contingui el conjunt de regles de negoci, utilitzat únicament el servidor per accedir a les dades persistents. El resultat final d’aquest projecte és un sistema software amb una interfície gràfica fàcil d’utilitzar, un hardware amb un cost relativament baix i amb la possibilitat de esser escalable i ampliable a una aplicació més gran segons les necessitats d’ITC-2.

Full text

Histórico proyectos para Oficina Técnica    Resumen  Mediante esta memoria se busca recopilar, definir y concretar los requisitos y las funcionalidades del sistema para la gestión histórica de proyectos para la oficina técnica de ITC-2, el cliente. ITC-2 es una empresa dedicada al mundo de la ingeniería, concentrando su mayor parte de recursos a realizar proyectos para subestaciones eléctricas. Sus principales clientes son empresas transportadoras y generadoras de energía, como por ejemplo Red Eléctrica Española, Hiberdrola o Fecsa-Endesa. ITC-2 pretende crear un aplicativo que le permita almacenar los datos referentes a los proyectos de su departamento de subestaciones, estos datos serán utilizados para futuras consultas, con el fin de re aprovechar el trabajo ya realizado en el departamento. Para ello ITC-2 necesita una aplicación que permita consultar los proyectos realizados en la propia oficina, y que almacenan en un servidor, informando al usuario sobre la ubicación lógica de los mismos. Los objetivos de este sistema consisten en ofrecer una solución informática basada en satisfacer las necesidades propuestas por el cliente. Desarrollando un análisis de los diferentes requerimientos y personas que harán uso del sistema. Utilizando unas metodologías y mecanismos que nos permitan visualizar de forma general el problema planteado, y a su vez analizarlo para dar una solución correcta a este problema, definiendo una arquitectura software y hardware adecuado. Adecuadas tanto a nivel de funcionalidad como también a nivel económico. La arquitectura escogida ha sido una arquitectura cliente/servidor mediante un servidor que será responsable de la integridad de los datos, y una aplicación que estará instalada en la totalidad de los puestos de trabajo de la oficina técnica de ITC-2. Esta aplicación será la que contenga el conjunto de reglas del negocio, utilizando únicamente el servidor para acceder a los datos persistentes. El resultado final de este proyecto es un sistema software con una interfaz gráfica fácil de utilizar, un hardware con un coste relativamente bajo y con la posibilidad de ser escalable y ampliable a una aplicación mayor según las necesidades de ITC-2. Resum  Resum Mitjançant aquesta memòria es cerca recopilar, definir i concretar els requisits i les funcionalitats del sistema per la gestió històrica de projectes per la oficina técnica d’ITC-2, el nostre client. ITC-2 és una empresa dedicada al món de l’enginyeria, concentren la major part dels seus recursos a realitzar projectes per subestacions elèctriques. Els seus principals clients són empreses transportadores y generadores d’energia, com per exemple Red Electrica Española, Iberdrola o Fecsa-Endesa. ITC-2 pretén realitzar un aplicatiu que li permeti emmagatzemar les dades referents als projectes del seu departament de subestacions, aquestes dades es faran en consultes futures, amb el fi de re aprofitar el treball realitzat en el departament. Per això ITC-2 necessita un aplicatiu que permeti consultar els projectes realitzats a la pròpia oficina, y que emmagatzemen en un servidor, informen al usuari sobre l’ ubicació lògica del projecte. Els objectius d’aquest sistema consisteixen en oferir una solució Informàtica basada en satisfer les necessitats proposades pel client. Desenvolupant un anàlisis dels diferents requeriments y persones que faran ús del sistema. Utilitzant unes metodologies y mecanismes que ens permetin visualitzar de manera general el problema plantejat, i a la seva vegada analitzar-lo per donar una solució correcta a aquest problema, definint una arquitectura software y hardware adequada. A més, tant a nivell de funcionalitat com també a nivell econòmic. L’arquitectura escollida ha sigut una arquitectura client/servidor mitjançant un servidor que serà responsable de l’ integritat de les dades, i una aplicació que restarà instal·lada en el total de llocs de treball de l’oficina tècnica d’ITC-2. Aquesta aplicació serà la que contingui el conjunt de regles de negoci, utilitzat únicament el servidor per accedir a les dades persistents. El resultat final d’aquest projecte és un sistema software amb una interfície gràfica fàcil d’utilitzar, un hardware amb un cost relativament baix i amb la possibilitat de esser escalable i ampliable a una aplicació més gran segons les necessitats d’ITC-2. Histórico proyectos para Oficina Técnica    Abstract The aim of this project is to collect, identify and define the requirements and features for a project management system oriented to have technical control of them customized for technical department of ITC-2 company. The main target of this system is to provide an IT solution based on satisfying the requirements proposed by the customer, developing an analysis depending of the different requirements and the technician who will use the system. Adding the use of determinate methodologies and mechanisms that allow us to focus in the principal problem, and at the same time discuss the appropriated solution composed of hardware and software architecture. The system will take care of the economic costs as well as the logic development. Once ITC-2 has exposed the dimension of the problem, the requirements of the system will be defined following the Unified Process (UP) methodology. It consist in specify the user cases of the final solution, taking special care in the determination of the scenarios and finally chose the architecture to implement, software and hardware components. The architecture chosen for developing the system is the client/server model. The server will be the responsible of the data integrity, and a client application that will be installed on all the workstations of the technical department of ITC-2. This client application will contain the set of business rules, using only the server to query the persistent data. The final result of this project is a system with an user-friendly Graphical User interface, with the specification of a hardware with a relative low cost. The system is open and has the possibility to grow up according the necessities of ITC-2 due its scalability.  Histórico proyectos para Oficina Técnica I   Índice  1. Introducción ....................................................................................................................... 1 2. Objetivos del proyecto ....................................................................................................... 3 3. Antecedentes y ámbito del proyecto .................................................................................. 5 4. Arquitectura ....................................................................................................................... 7 4.1. Software ...................................................................................................................... 7 4.1.1 Arquitectura Cliente-Servidor ............................................................................... 7 4.1.2 Capa presentación ................................................................................................. 8 4.1.3 Capa aplicación ..................................................................................................... 8 4.1.4 Capa dominio ........................................................................................................ 9 4.1.5 Capa persistencia ................................................................................................... 9 4.2. Hardware ................................................................................................................... 10 4.2.1 Hardware de explotación ..................................................................................... 10 4.2.2 Hardware de desarrollo ....................................................................................... 11 6. Metodología ..................................................................................................................... 13 6.1. RAD (Rapid application development) .................................................................... 13 6.2. UML (Unified Modeling Language) ........................................................................ 13 6.3. UP (Unified process) ................................................................................................ 14 7. Análisis software .......................................................................................................... 15 7.1. Análisis de requerimientos, casos de uso. ................................................................. 15 7.1.1. Alta Proyecto ...................................................................................................... 16 7.1.2. Alta Subproyecto ................................................................................................ 17 7.1.3. Alta Subestación ................................................................................................. 19 7.1.4. Alta Interruptor ................................................................................................... 20 7.1.5. Alta Seccionador ................................................................................................ 21 II Índice  7.1.6. Alta Transformador de Intensidad ..................................................................... 22 7.1.7. Alta Transformador de Tensión ......................................................................... 23 7.1.8. Alta Protección ................................................................................................... 24 7.1.9. Consulta Interruptor ........................................................................................... 25 7.1.10. Consulta Seccionador ....................................................................................... 27 7.1.11. Consulta Transformador de Intensidad ............................................................ 28 7.1.12. Consulta Transformador de Tensión ................................................................ 29 7.1.13. Consulta Protección ......................................................................................... 30 7.1.14. Consulta Subestación ....................................................................................... 31 7.1.15. Consulta Proyecto ............................................................................................ 33 7.2. Modelo del Dominio ................................................................................................. 35 7.2.1 Diagrama de Clases ............................................................................................. 35 7.2.2 Clase Demarcacion ............................................................................................. 36 7.2.3 Clase Subestación ............................................................................................... 36 7.2.4 Clase Proyecto .................................................................................................... 37 7.2.5 Clase Subproyecto .............................................................................................. 38 7.2.6 Clase Aparellaje .................................................................................................. 39 7.2.7 Clase Transformador ........................................................................................... 39 7.2.8 Clase Transformador Intensidad ......................................................................... 40 7.2.9 Clase Transformador Tension ............................................................................. 40 7.2.10 Clase Maniobra ................................................................................................. 41 7.2.11 Clase Interruptor ............................................................................................... 41 7.2.12 Clase Seccionador ............................................................................................. 42 7.2.13 Clase Proteccion ................................................................................................ 42 7.3. Base de Datos ........................................................................................................... 44 7.3.1. Introducción ....................................................................................................... 44 Histórico proyectos para Oficina Técnica III   7.3.2. Modelo Conceptual ............................................................................................ 45 8 Diseño del software .......................................................................................................... 49 8.1 Diseño de la persistencia ............................................................................................ 49 8.1.1 Introducción ........................................................................................................ 49 8.1.2 Funcionalidades ................................................................................................... 49 8.1.3 Perfil usuarios ...................................................................................................... 50 8.2 Diseño de las interfaces de Usuario ........................................................................... 51 8.2.1 Interfaces generales ............................................................................................. 51 8.2.2 Interface específicas ............................................................................................ 52 8.3 Uso de patrones .......................................................................................................... 58 8.3.1 Patrón Controlador .............................................................................................. 58 8.3.2 Patrón fachada ..................................................................................................... 58 8.3.3 Patrón singleton ................................................................................................... 59 8.3.4 Bajo acoplamiento y alta cohesión ...................................................................... 59 9. Pruebas ............................................................................................................................ 61 9.1 Prueba AltaProyecto .................................................................................................. 61 9.1.1 Rellenar todos los campos necesarios en la pantalla alta proyecto ..................... 61 9.1.2 Alta de un proyecto sin respetar los campos que son de obligada cumplimentación .......................................................................................................... 62 9.1.3 Alta de un proyecto que ya existe en la base de datos ........................................ 63 9.2 Prueba alta Subproyecto ............................................................................................ 64 9.2.1 Rellenar todos los campos necesarios en la pantalla alta subproyecto ............... 64 9.2.2 Rellenar un subproyecto con los campos obligatorios y seleccionando aparellaje ...................................................................................................................................... 65 9.2.3 Alta de un subproyecto que ya existe en la base de datos ................................... 66 9.2.4 Alta de un subproyecto sin cumplimentar los campos obligatorios .................... 67 9.3 Prueba AltaSubestación ............................................................................................. 67 IV Índice  9.3.1 Alta subestación rellenando todos los campos obligatorios ............................... 68 9.3.2 Alta subestación rellenando todos los campos obligatorios ............................... 68 9.3.3 Alta subestación rellenando los campos con una subestación que existe en el sistema .......................................................................................................................... 69 9.4 Prueba Alta Interruptor .............................................................................................. 70 9.4.1 Alta interruptor rellenando todos los campos obligatorios ................................. 70 9.4.2 Alta interruptor sin rellenar todos los campos obligatorios ................................ 71 9.4.3 Alta interruptor existente rellenando todos los campos obligatorios .................. 72 9.5 Prueba Alta Seccionador ........................................................................................... 73 9.5.1 Alta seccionador rellenando todos los campos obligatorios ............................... 73 9.5.2 Alta seccionador sin rellenar todos los campos obligatorios .............................. 74 9.5.3 Alta seccionador que ya existe en el sistema, rellenando todos los campos obligatorios .................................................................................................................. 75 9.6 Prueba Alta Transformador de Intensidad ................................................................. 76 9.6.1 Alta transformador de intensidad rellenando todos los campos obligatorios ..... 76 9.6.2 Alta transformador de intensidad sin rellenar todos los campos obligatorios .... 77 9.6.3 Alta transformador de intensidad que ya existe en el sistema, rellenando todos los campos obligatorios ................................................................................................ 78 9.7 Prueba Alta Transformador Tensión ......................................................................... 79 9.7.1 Alta transformador de tensión rellenando todos los campos obligatorios .......... 79 9.7.2 Alta transformador de tensión sin rellenar todos los campos obligatorios ......... 80 9.7.3 Alta transformador de tensión que ya existe en el sistema, rellenando todos los campos obligatorios ..................................................................................................... 81 9.8 Prueba Alta Protección .............................................................................................. 82 9.8.1 Alta protección rellenando todos los campos obligatorios ................................. 82 9.8.2 Alta protección sin rellenar todos los campos obligatorios ................................ 83 9.8.3 Alta protección que ya existe en el sistema, rellenando todos los campos obligatorios .................................................................................................................. 84 Histórico proyectos para Oficina Técnica V   9.9 Prueba Consulta Interruptor ....................................................................................... 85 9.9.1 Consulta interruptor rellenando los campos obligatorios .................................... 85 9.9.2 Consulta interruptor seleccionando el interruptor de una lista. ........................... 86 9.10 Prueba Consulta Seccionador .................................................................................. 87 9.10.1 Consulta seccionador rellenando los campos obligatorios ................................ 87 9.10.2 Consulta seccionador seleccionando el seccionador de una lista. ..................... 88 9.11 Prueba Consulta Transformador Intensidad............................................................. 89 9.11.1 Consulta transformador de intensidad rellenando los campos obligatorios ...... 89 9.11.2 Consulta transformador de intensidad seleccionando el transformador de una lista. .............................................................................................................................. 90 9.12 Prueba Consulta Transformador Tensión ................................................................ 91 9.12.1 Consulta transformador de tensión rellenando los campos obligatorios ........... 91 9.12.2 Consulta transformador de tensión seleccionando el transformador de una lista. ...................................................................................................................................... 92 9.13 Prueba Consulta Protección ..................................................................................... 93 9.13.1 Consulta protección rellenando los campos obligatorios .................................. 93 9.13.2 Consulta protección seleccionando la protección de una lista. ......................... 94 9.14 Prueba consulta Subestación .................................................................................... 95 9.14.1 Consulta subestación escogiendo demarcación y subestación de un lista. ....... 95 9.15 Prueba búsqueda proyecto ....................................................................................... 96 9.15.1 Consulta proyecto escogiendo el proyecto de una lista. ................................... 96 10. Planificación y presupuesto ........................................................................................... 97 10.1 Propósito .................................................................................................................. 97 10.2 Participantes ............................................................................................................. 97 10.2.1 Jefe de proyecto ................................................................................................. 97 10.2.2 Analista de Sistemas ......................................................................................... 97 10.2.3 Programador ...................................................................................................... 97 4 2. Objetivos del proyecto   Crear una aplicación que sirva como base para futuras aplicaciones similares encaminadas a diferentes departamentos que no sea el departamento de subestaciones.   Histórico proyectos para Oficina Técnica 5    3. Antecedentes y ámbito del proyecto  ITC-2 es una oficina técnica dedicada al mundo eléctrico, en la actualidad dispone de tres departamentos. Estos tres departamentos son, el departamento de obra civil, el departamento de control y el departamento de distribución. El departamento de obra civil se encarga de la producción de proyectos de estructuras eléctricas, casetas, edificios, etc. El departamento de control se encarga de realizar proyectos de control y protección para subestaciones eléctricas. Y por último el departamento de distribución se encarga de los proyectos de baja tensión de distribución de energía entre los abonanados de una compañía eléctrica. El departamento de obra civil y el departamento de control crean sus proyectos utilizando básicamente “AutoCad 2009 electrical”, y si es necesario realizar alguna documentación adicional como presupuestos, documentos de texto..., utilizan el paquete ofimático Microsoft Office. El departamento de distribución utiliza a parte de las herramientas ofimáticas Microsoft Office, una herramienta creada por el cliente, en este caso Endesa. Además todos estos departamentos pueden utilizar un intranet del grupo SparkIberica, accesible desde todas las delegaciones del grupo. Esta intranet permite utilizar varias herramientas administrativas de la empresa, como acceder a los convenios de cada departamento, las últimas noticias sobre el grupo, solicitar las vacaciones, etc. Actualmente el departamento de subestaciones ha planteado la necesidad de ordenar el archivo de la empresa, este archivo no está desordenado ni mucho menos, pero su tamaño ha crecido de tal manera, que no es viable llevar un control exacto sobre él. Los proyectos de ITC-2 se almacenan en formato digital, básicamente planos realizados en AutoCad, en disco localizado en el servidor de la empresa denominado “m”. Allí residen todos los proyectos realizados desde los inicios de la empresa a principios de los 90. Están ordenados por cliente, cada vez que se crea un nuevo proyecto se guarda dentro de una carpeta que se nombra con su centro de coste y la subestación a la cual pertenece. Este método de almacenar los proyectos es sencilla y hasta ahora había funcionado, pero si se desea buscar algún proyecto en concreto es necesario estar un rato buscando manualmente a través del explorador de Windows. Por tanto, aprovechando el proyecto final de carrera de un empleado de la oficina, éste propone a ITC-2 realizar una aplicación que guarde la ubicación de los proyectos realizados, así como sus características técnicas principales de cada proyecto, para su 6 3. Antecedentes y ámbito del proyecto  posterior consulta. Esta aplicación por lo tanto permitirá que las consultas sobre trabajos ya realizados a modo de consulta. El sistema permitirá introducir los datos referentes a la totalidad de los proyectos que se realicen a partir de la implantación del sistema. El sistema deberá guardar un proyecto, los subproyectos asociados a este proyecto y las protecciones y el aparellaje utilizados en cada subproyecto. Los proyectos se verán asociar a una subestación, puesto que los proyectos se realizan sobre subestaciones, además estas subestaciones pertenecen a demarcaciones, zonas geográficas del ámbito nacional. El programa deberá permitir realizar diferentes tipos de consultas, ya sea por algún elemento de aparellaje, por proyecto, por subestación i o por protecciones utilizadas. Una vez se obtenga la respuesta a una consulta se podrá acceder al directorio donde está guardado directamente desde la aplicación. La aplicación deberá ser accesible por todos los empleados de la oficina técnica, y en un primer momento estará disponible únicamente desde la oficina de la calle Roger de Flor, aunque debe estar preparada para su futura posible adaptación en la intranet de la empresa. Histórico proyectos para Oficina Técnica 7    4. Arquitectura En este punto se detallará tanto la estructura global del sistema, como así también, la arquitectura software, y arquitectura hardware utilizada, diferenciando hardware de desarrollo y hardware de explotación.  4.1. Software  Se entiende como arquitectura del software, la estructura conceptual de una aplicación, de una cierta manera podemos decir que nuestra arquitectura software puede ser semejante a los planos de un edificio o construcción. Esta arquitectura pretende especificar de una manera global el sistema software desarrollado, dejando un poco más allá los algoritmos y estructuras de datos de la computación. 4.1.1 Arquitectura Cliente-Servidor  El sistema globalmente consta de dos partes bien diferenciadas, una aplicación desarrollada en lenguaje Java y una base de datos MySql. La aplicación desarrollada en Java se entenderá como una aplicación cliente, y el servidor MySql y la base de datos residirán en el servidor que ITC-2 dispones en su oficina. Es lo que comúnmente se conoce como arquitectura cliente servidor. El programa cliente, instalado en todos los puestos de trabajo de la oficina, realiza peticiones sobre el Sistema Gestor de Base de Datos, MySql, que le dará respuesta a estas peticiones. Esta misma idea se puede aplicar también a sistemas que se apliquen en un único ordenador, de echo durante la fase de desarrollo de éste se han realizado así todas las pruebas. En esta arquitectura la capacidad de proceso está repartida entre todos los clientes y el servidor de base de datos, aunque esta estructura se ha escogido principalmente por las ventajas de tipo organizativo, ya que se separa la responsabilidad de la gestión de la información y la responsabilidad del procesado de esta información. 8 4. Arquitectura  Además la aplicación cliente está dividida en capas o paquetes, estos paquetes son independientes y se comunican entre si mediante mensajes, estos mensajes pueden contener objetos de un paquete y enviarlos a otro paquete. Los paquetes o capas que se han desarrollado son la capa presentación, la capa aplicación, la capa dominio, y la capa persistencia. 4.1.2 Capa presentación  Es la capa que se encarga con interactuar con el usuario, en este caso a través de interfaces gráficas. Presenta al usuario toda la información que éste le pide al sistema, y a su vez le permite introducir datos mediante las interfaces, ya sea para realizar consultas o inserciones. La capa presentación únicamente se comunica con la capa aplicación, y la capa aplicación solo devuelve Strings o colecciones de Strings, nunca objetos. Esto es debido a que en el caso de que se quiera cambiar la capa presentación en un futuro la capa aplicación no debe porqué cambiar si ésta es correcta. Las interfaces gráficas de esta capa deben de ser “amigables”, es decir, que sean fáciles de utilizar y entender. 4.1.3 Capa aplicación  La capa aplicación es la encargada de recibir las peticiones y notificaciones solicitadas por el usuario. Entonces este capa gestiona la operación solicitada, para realizar la operación solicitado por el usuario. El controlador es el encargado de recoger la petición y demandar a la capa persistencia la ejecución del método encargado de satisfacer la petición del usuario. El controlador es el encargado de gestionar las reglas del negocio, y como ya se ha dicho anteriormente se comunica con la capa presentación únicamente mediante Strings o colecciones de Strings. Sin embargo la comunicación con la capa persistencia puede ser mediante variables primitivas o mediante objetos del Dominio. Histórico proyectos para Oficina Técnica 9   4.1.4 Capa dominio  La capa dominio es el corazón de nuestra aplicación cliente, de su buen diseño dependerá en gran medida el éxito o fracaso de nuestro sistema. Es una capa que pretende realizar una abstracción de la realidad, del dominio del problema, será en esta capa donde definiremos que queremos guardar de un proyecto, que es una subestación etc.., y la estructura conceptual de los objetos que formarán esta capa. Los objetos del dominio son utilizados por las capas aplicación y persistencia.   4.1.5 Capa persistencia  Recibe las peticiones, tanto de consulta como de inserción, por parte del controlador. Es la única capa que tiene acceso, mediante la API JDBC, a la base de datos. Se debe implementar esta capa de modo que si se modifica alguna, o algunas de sus clases, no se deba modificar el controlador ni el resto de la aplicación en la mediad de lo posible. Es la encargada de la conversión de las tuplas existentes en las tablas de la base de datos a objetos del dominio que puedan ser utilizados por la capa aplicación, o por la propia capa persistencia y del proceso de hacer persistente los objetos del dominio 10 4. Arquitectura  4.2. Hardware  Ahora se detallará la arquitectura hardware utilizada, tanto la arquitectura de empleada en el desarrollo como en la futura explotación. Como ya se ha comentado antes nuestra arquitectura hardware será un sistema distribuido entre un servidor y varios clientes, a través de una red Ethernet existente.  Figura 4.2 Arquitectura Hardware Cliente-Servidor 4.2.1 Hardware de explotación  Una vez puesto en servicio el sistema, éste será distribuido. El servidor reside en una sala específica donde se encuentran todos los dispositivos informáticos centrales de la oficina. En este mismo servidor es donde se guardarán físicamente todos los proyectos creados en la oficina técnica. Y donde residirá el sistema gestor de la base de datos. Histórico proyectos para Oficina Técnica 11   Servidor  Ordenador clónico  Intel Pentium 4 640 3.2 GHz  4 GB de memoria RAM  La red de comunicaciones interna de la oficina es una red de área local estándar Ethernet con acceso al medio por contienda CSMA/CD. Con una velocidad estándar máxima de 100Mps. Los puestos de trabajo se cambiaron hace relativamente poco tiempo, un año y medio, y en contrato de renting por cuatros años. Por lo tanto todos los puestos de trabajo son iguales, estos ordenadores tienen las siguientes características: WorkStations  Ordenador Fujitsu-Siemens  Intel Pentium D 3GHz  1 GB de memoria RAM  4.2.2 Hardware de desarrollo  Durante el desarrollo tanto el cliente como el servidor se han instalado en la misma máquina. Aunque el funcionamiento es equivalente al que se podría tener con un servidor instalado en una máquina diferente. Las características técnicas del hardware de desarrollo son:  Hewlett-Packard a6332 Pavillion  Procesador AMD-Phenom 9500 Quadcore procesor 2,20Ghz  3GB de RAM Histórico proyectos para Oficina Técnica 13   6. Metodología  Durante el desarrollo del proyecto se han aplicado varias metodologías, estándares, estas metodologías son: RAD, Rapid application development. UML, Unified modeling language. UP, Unified process.  6.1. RAD (Rapid application development)  A partir de las ideas de Barry Boehm y Scott Shultz, James Martin desarrolló el Rapid Application Development durante los años 80. El desarrollo rápido de aplicaciones aumenta la velocidad de desarrollo con el uso de herramientas CASE, y además se experimenta un aumento de la calidad con la implicación del usuario en las etapas de análisis y del diseño. Este método permite tener “sistemas funcionales” en periodos de tiempo relativamente cortos, y es ideal para grupos de trabajo muy cohesionados que trabajan en un proyecto de grandes dimensiones, o para proyectos de reducido tamaño. 6.2. UML (Unified Modeling Language) Lenguaje unificado de modelado (UML, por sus siglas en inglés) es el lenguaje de modelado de sistemas software más utilizado en la actualidad. Está amparado por el OMG (Object Management Group). Es un lenguaje gráfico para la especificación, construcción, visualización y documentación de un sistema software. Con UML se pretende construir un “plano” del sistema (modelo), donde se incluya los aspectos conceptuales tales como las funciones del sistema y los procesos del negocio, y aspectos más concretos como sentencias del lenguaje de programación, esquemas de la base de datos y componentes externos al sistema. 20 6. Metodología  Flujos Alternativos 2a. El usuario cancela la operación y se borran todos los campos. 3a. El sistema al realizar la búsqueda comprueba que la subestación ya existe. 3b. El sistema notifica al usuario de la existencia de la subestación. Se vuelve al punto 2 del caso de uso. 4a. El usuario cancela la operación, se vuelve al punto 2 del caso de uso. 5a. Se produce un error al guardar la subestación en el sistema. 5b. Se notifica que error ha ocurrido y se vuelve al punto 2 del caso de uso. Postcondiciones Se introduce en el sistema una nueva subestación con los datos (nombre, dirección, descripción y código de subestación) correctamente. Personal involucrado Usuario: Quiere introducir una nueva subestación en el sistema.  7.1.4. Alta Interruptor  Descripción i Actores principales Un usuario desea introducir un modelo de interruptor que a priori no existe en el sistema. Actor principal: Usuario, se entiende como usuario tanto un técnico como un delineante. Escenarios Flujo Básico 1. El usuario pide al sistema el inicio del caso de uso alta interruptor. 2. El sistema pide los datos marca, modelo, descripción y si el modelo es tripolar o no. 3. El sistema pide confirmación antes de introducir el interruptor en el sistema. 4. El Sistema comprueba que el interruptor en efecto no existe. 5. El sistema introduce los datos en la BD. Se genera un código único que será su identificador. 6. El Sistema notifica que el interruptor se ha guardado correctamente en la BD. Histórico proyectos para Oficina Técnica 21   7. Finaliza el caso de uso. Flujos Alternativos 2a. El usuario cancela la operación y se borran todos los campos. 3a. El usuario cancela la operación, se vuelve al punto 1 del caso de uso. 4a. El sistema al realizar la búsqueda comprueba que el interruptor ya existe. 4b. El sistema notifica al usuario de la existencia del interruptor. Se vuelve al punto 1 del caso de uso. 5a. Se produce un error al guardarlo en el sistema. 5b. Se notifica que error ha ocurrido y se vuelve al punto 1 del caso de uso. Postcondiciones Se introduce en el sistema un nuevo interruptor con los datos (marca, modelo, descripción y si el interruptor es tripolar) satisfactoriamente. Personal involucrado Usuario: Quiere introducir un nuevo interruptor en el sistema. 7.1.5. Alta Seccionador Descripción i Actores principales Un usuario desea introducir un modelo de seccionador que a priori no existe en el sistema. Actor principal: Usuario, se entiende como usuario tanto un técnico como un delineante. Escenarios Flujo Básico 1. El usuario pide al sistema el inicio del caso de uso Alta Seccionador. 2. El sistema pide los datos marca, modelo, descripción y si el modelo es tripolar o no. 3. El sistema pide confirmación antes de introducir el seccionador en el sistema. 4. El Sistema comprueba que el seccionador en efecto no existe en el sistema. 5. El sistema introduce los datos en la BD. Se genera un código único que será su identificador. 22 6. Metodología  6. El Sistema notifica que el seccionador se ha guardado correctamente. 7. El sistema finaliza el caso de uso. Flujos Alternativos 2a. El usuario cancela la operación y se borran todos los campos. 3a. El usuario cancela la operación, se vuelve al punto 1 del caso de uso. 4a. El sistema al realizar la búsqueda comprueba que el seccionador ya existe. 4b. El sistema notifica al usuario de la existencia del seccionador. Se vuelve al punto 1 del caso de uso. 5a. Se produce un error al guardar el seccionador en el sistema. 5b. Se notifica que error ha ocurrido y se vuelve al punto 1 del caso de uso. Postcondiciones Se introduce en el sistema un nuevo seccionador con todos los datos (marca, modelo, descripción y si el modelo es tripolar o no) satisfactoriamente. Personal involucrado Usuario: Quiere introducir un nuevo seccionador en el sistema. 7.1.6. Alta Transformador de Intensidad  Descripción i Actores principales Un usuario desea introducir un modelo de transformador de intensidad que a priori no existe en el sistema. Actor principal: Usuario, se entiende como usuario tanto un técnico como un delineante. Escenarios Flujo Básico 1. El usuario pide al sistema el inicio del caso de uso Alta Transformador de Intensidad 2. El sistema demanda los datos marca, modelo, relación de transformación, tipo, descripción y numero de devanados. 3. El sistema pide confirmación antes de introducir el transformador de intensidad en el sistema. Histórico proyectos para Oficina Técnica 23   4. El Sistema comprueba que el transformador de intensidad en efecto no existe. 5. El sistema introduce los datos en la BD. Se genera un código único que será su identificador. 6. El Sistema notifica que el transformador de intensidad se ha guardado correctamente. 7. El sistema finaliza el caso de uso. Flujos Alternativos 2a. El usuario cancela la operación y se borran todos los campos. 3a. El usuario cancela la operación, se vuelve al punto 1 del caso de uso. 4a. El sistema al realizar la búsqueda comprueba que el transformador de intensidad ya existe. 4b. El sistema notifica al usuario de la existencia del transformador de intensidad. Se vuelve al punto 1 del caso de uso. 5a. Se produce un error al guardar el transformador de intensidad en el sistema. 5b. Se notifica que error ha ocurrido y se vuelve al punto 1 del caso de uso. Postcondiciones Se introduce en el sistema un nuevo transformador de intensidad con los datos (marca, modelo, relación de transformación, tipo, descripción y número de devanados.) satisfactoriamente. Personal involucrado Usuario: Quiere introducir un nuevo transformador de intensidad en el sistema.  7.1.7. Alta Transformador de Tensión Descripción i Actores principales Un usuario desea introducir un modelo de transformador de tensión que a priori no existe en el sistema. Actor principal: Usuario, se entiende como usuario tanto un técnico como un delineante. Escenarios Flujo Básico 24 6. Metodología  1. El usuario pide al sistema el inicio del caso de uso alta interruptor. 2. El sistema demanda los datos marca, modelo, relación de transformación, tipo, descripción y número de devanados. 3. El sistema pide confirmación antes de introducir el transformador de tensión. 4. El Sistema comprueba que el transformador de tensión en efecto no existe. 5. El sistema introduce los datos en la BD. Se genera un código único que será su identificador. 6. El Sistema notifica que el transformador de tensión se ha guardado correctamente. 7. El sistema finaliza el caso de uso. Flujos Alternativos 2a. El usuario cancela la operación y se borran todos los campos. 3a. El usuario cancela la operación, se vuelve al punto 1 del caso de uso. 4a. El sistema al realizar la búsqueda comprueba que el transformador de tensión ya existe. 4b. El sistema notifica al usuario de la existencia del transformador de tensión. Se vuelve al punto 1 del caso de uso. 5a. Se produce un error al guardarlo en el sistema. 5b. Se notifica que error ha ocurrido y se vuelve al punto 1 del caso de uso. Postcondiciones Se introduce en el sistema un nuevo transformador de tensión con los datos (marca, modelo, relación de transformación, tipo, descripción y número de devanados) correctamente en el sistema. Personal involucrado Usuario: Quiere introducir un nuevo transformador de tensión en el sistema.  7.1.8. Alta Protección Descripción i Actores principales Un usuario desea introducir una nueva protección que a priori no existe en el sistema. Actor principal: Usuario, se entiende como usuario tanto un técnico como un delineante. Histórico proyectos para Oficina Técnica 25   Escenarios Flujo Básico 1. El usuario pide al sistema el inicio del caso de uso Alta Protección. 2. El sistema pide los datos marca, modelo, función y descripción de la protección. 3. El sistema pide confirmación antes de introducir la protección. 4. El Sistema comprueba que la protección en efecto no existe. 5. El sistema introduce los datos en la BD. Se genera un código único que será su identificador. 6. El Sistema notifica que la protección se ha guardado correctamente en el sistema. 7. El sistema finaliza el caso de uso. Flujos Alternativos 2a. El usuario cancela la operación y se borran todos los campos. 3a. El usuario cancela la operación, se vuelve al punto 1 del caso de uso. 4a. El sistema al realizar la búsqueda comprueba que la protección ya existe. 4b. El sistema notifica al usuario de la existencia de la protección en la BD. Se vuelve al punto 1 del caso de uso. 5a. Se produce un error al guardar la protección en el sistema. 5b. Se notifica que error ha ocurrido y se vuelve al punto 1 del caso de uso. Postcondiciones Se introduce en el sistema una nueva protección con los datos (marca, modelo, función y descripción de la protección) correctamente. Personal involucrado Usuario: Quiere introducir una nueva protección en el sistema. 7.1.9. Consulta Interruptor Descripción i Actores principales 26 6. Metodología  Un usuario desea realizar una consulta sobre un interruptor, con el fin de que el sistema le muestre aquellos subproyectos en los cuales se ha utilizado ese mismo interruptor. Actor principal: Usuario, se entiende como usuario tanto un técnico como un delineante. Escenarios Flujo Básico 1. El usuario pide al sistema que inicie el caso de uso Consulta Interruptor. 2. El sistema pide al usuario que rellene los campos marca y modelo, o por el contrario, que elija estos datos sobre una lista mostrada en pantalla. 3. El Sistema recoge los datos, ya sea de los campos a rellenar o de la lista, y realiza una búsqueda. Tanto de la marca como del modelo del interruptor. 4. El sistema retorna una lista con todos los subproyectos que tienen este interruptor, mostrando el centro de coste y la descripción de éste. 5. El usuario selecciona un subproyecto clicando sobre éste en la lista presentada. 6. El sistema muestra por pantalla la descripción del subproyecto, el resto de interruptores, seccionadores, protecciones, transformadores de tensión e intensidad pertenecientes a éste, y el directorio del servidor donde está guardado. 7. El usuario puede escoger abrir una ventana con un explorador, con el directorio donde está guardado el proyecto. 8. El usuario informa al sistema que desea finalizar el caso de uso. 9. El sistema finaliza el caso de uso. Flujos Alternativos 2a. El usuario cancela la operación y se vuelve a la pantalla anterior. 3a. El sistema al realizar la búsqueda sin éxito. Notifica que este interruptor no existe en el sistema. 3b. Se produce un error al realizar la consulta. El sistema notifica el error y vuelve al punto 2. Postcondiciones Se devuelve una lista con los resultados de la consulta sin cambiar la información del sistema. Personal involucrado Histórico proyectos para Oficina Técnica 27   Usuario: Quiere realizar una consulta en el sistema. 7.1.10. Consulta Seccionador  Descripción i Actores principales Un usuario desea realizar una consulta sobre un seccionador, con el fin de que el sistema le muestre aquellos subproyectos en los cuales se ha utilizado ese mismo seccionador. Actor principal: Usuario, se entiende como usuario tanto un técnico como un delineante. Escenarios Flujo Básico 1. El usuario pide al sistema que inicie el caso de uso Consulta Seccionador. 2. El sistema pide al usuario que rellene los campos marca y modelo, o por el contrario, que elija estos datos sobre una lista mostrada en pantalla. 3. El Sistema recoge los datos, ya sea de los campos a rellenar o de la lista, y realiza una búsqueda. Tanto de la marca como del modelo del seccionador. 4. El sistema retorna una lista con todos los subproyectos que tienen este seccionador, mostrando el centro de coste y la descripción de éste. 5. El usuario selecciona un subproyecto clicando sobre éste en la lista presentada. 6. El sistema muestra por pantalla la descripción del subproyecto, el resto de interruptores, seccionadores, protecciones, transformadores de tensión e intensidad pertenecientes a éste, y el directorio del servidor donde está guardado. 7. El usuario puede escoger abrir una ventana con un explorador, con el directorio donde está guardado el proyecto. 8. El usuario informa al sistema que desea finalizar el caso de uso. 9. El sistema finaliza el caso de uso. Flujos Alternativos 2a. El usuario cancela la operación y se vuelve a la pantalla anterior. 3a. El sistema al realizar la búsqueda sin éxito. Notifica que este seccionador no existe en el sistema. 3b. Se produce un error al realizar la consulta. El sistema notifica el error y vuelve al punto 2. 28 6. Metodología  Postcondiciones Se devuelve una lista con los resultados de la consulta sin cambiar la información del sistema. Personal involucrado Usuario: Quiere realizar una consulta en el sistema.  7.1.11. Consulta Transformador de Intensidad  Descripción i Actores principales Un usuario desea realizar una consulta sobre un transformador de intensidad, con el fin de que el sistema le muestre aquellos subproyectos en los cuales se ha utilizado ese mismo transformador de intensidad. Actor principal: Usuario, se entiende como usuario tanto un técnico como un delineante. Escenarios Flujo Básico 1. El usuario pide al sistema que inicie el caso de uso Consulta Transformador de Intensidad. 2. El sistema pide al usuario que rellene los campos marca y modelo, o por el contrario, que elija estos datos sobre una lista mostrada en pantalla. 3. El Sistema recoge los datos, ya sea de los campos a rellenar o de la lista, y realiza una búsqueda. Tanto de la marca como del modelo del transformador de intensidad. 4. El sistema retorna una lista con todos los subproyectos que tienen este transformador de intensidad, mostrando el centro de coste y la descripción de éste. 5. El usuario selecciona un subproyecto clicando sobre éste en la lista presentada. 6. El sistema muestra por pantalla la descripción del subproyecto, el resto de interruptores, seccionadores, protecciones, transformadores de tensión e intensidad pertenecientes a éste, y el directorio del servidor donde está guardado. 7. El usuario puede escoger abrir una ventana con un explorador, con el directorio donde está guardado el proyecto. 8. El usuario informa al sistema que desea finalizar el caso de uso. 9. El sistema finaliza el caso de uso. Histórico proyectos para Oficina Técnica 29   Flujos Alternativos 2a. El usuario cancela la operación y se vuelve a la pantalla anterior. 3a. El sistema al realizar la búsqueda sin éxito. Notifica que este transformador de intensidad no existe en el sistema. 3b. Se produce un error al realizar la consulta. El sistema notifica el error y vuelve al punto 2. Postcondiciones Se devuelve una lista con los resultados de la consulta sin cambiar la información del sistema. Personal involucrado Usuario: Quiere realizar una consulta en el sistema. 7.1.12. Consulta Transformador de Tensión  Descripción i Actores principales Un usuario desea realizar una consulta sobre un transformador de tensión, con el fin de que el sistema le muestre aquellos subproyectos en los cuales se ha utilizado ese mismo transformador de tensión. Actor principal: Usuario, se entiende como usuario tanto un técnico como un delineante. Escenarios Flujo Básico 1. El usuario pide al sistema que inicie el caso de uso Consulta Transformador de Tensión. 2. El sistema pide al usuario que rellene los campos marca y modelo, o por el contrario, que elija estos datos sobre una lista mostrada en pantalla. 3. El Sistema recoge los datos, ya sea de los campos a rellenar o de la lista, y realiza una búsqueda. Tanto de la marca como del modelo del transformador de tensión. 4. El sistema retorna una lista con todos los subproyectos que tienen este transformador de intensidad, mostrando el centro de coste y la descripción de éste. 5. El usuario selecciona un subproyecto clicando sobre éste en la lista presentada. 36 6. Metodología  Ahora se pasará una exposición más detallada de las clases del dominio, así como de sus atributos y métodos más destacados. 7.2.2 Clase Demarcacion   Figura 7.2.2 Clase Demarcacion Una demarcación es un territorio geográfico, este territorio comprende aquellas regiones geográficas en las que se distribuye la totalidad del territorio español. El mercado español de la energía eléctrica se distribuye en territorios (demarcaciones). Es importante conocer a que demarcación pertenece un proyecto, puesto que los criterios protectivos de éste pueden variar de una a otra demarcación. La clase demarcación tiene como únicos atributos el nombre de la demarcación y un código identificador, su principal característica es que no tiene caso de uso de alta asociado, puesto que las demarcaciones están creadas en la Base de Datos, y no son necesarias nuevas altas y/o modificaciones. 7.2.3 Clase Subestación   Figura 7.2.3 Clase Subestacion Histórico proyectos para Oficina Técnica 37   Una subestación eléctrica es una instalación en la cual se transforma y/o se distribuye la energía eléctrica. Estas subestaciones pertenecen a una demarcación. Y por tanto deben respetar tanto los criterios protectivos como las normas asociadas a dicha demarcación. Para ello la clase Subestación tiene como atributos, un código identificador único decretado por el cliente, un nombre, una breve descripción de las características técnicas de la subestación, y la dirección física de su localización. Además tiene un atributo de la clase Demarcación, que indica a que demarcación pertenece.  7.2.4 Clase Proyecto   Figura 7.2.4 Clase Proyecto Un proyecto siempre estará asociado a una subestación. Un proyecto a su vez estará formado por uno o varios subproyectos, aunque cabe puntualizar que puede existir un proyecto dado de alta en el sistema, que no tenga ningún subproyecto asociado debido a que los subproyectos no estén realizados, situación que será la más habitual. De un proyecto se guardará el centro de coste, dato que viene dado por la oferta económica realizada por la empresa a uno de sus clientes, una breve descripción del proyecto, y la ruta del directorio donde se guardarán todos los subproyectos. 38 6. Metodología  7.2.5 Clase Subproyecto   Figura 7.2.5 Clase Subproyecto Un subproyecto siempre formará parte de un proyecto, un subproyecto no puede existir si no se ha dado de alta el proyecto al cual pertenece. Entre las clases Proyecto y Subproyecto existe la doble navegabilidad, esto se debe a que según el caso de uso, nos interesa crear el proyecto dentro del subproyecto o viceversa. Además de un subproyecto se guarda su código de identificación, una descripción del subproyecto, el número de calle o posición que ocupa en el parque eléctrico de la subestación, y el directorio donde está guardado.   Histórico proyectos para Oficina Técnica 39   7.2.6 Clase Aparellaje   Figura 7.2.6 Clase Aparellaje La clase aparellaje es una clase abstracta, de ella extenderán las clases maniobra y transformadores. Los atributos que heredaran las demás clases serán marca, modelo, descripción y código. Se entiende como aparellaje aquellos elementos de maniobra, que nos permiten maniobrar una posición dentro de la subestación, así como también se entiende como aparellaje aquellos transformadores, ya sean de intensidad o tensión, que se utilizan para captar las tensiones e intensidades de la posición. 7.2.7 Clase Transformador   Figura 7.2.7 Clase Transformador  La clase transformador también es una clase abstracta, de la cual extenderán las clases Transformador de Intensidad y Transformador de Tensión, de esta manera nos encontramos delante de una herencia múltiple. 40 6. Metodología  El atributo que heredarán, a través de la herencia las clases Transformador de Intensidad y Transformador de Tensión, será la relación de transformación, esta relación consiste en las unidades de entrada del transformador y la intensidad o tensión que se produce a la salida de éste. 7.2.8 Clase Transformador Intensidad   Figura 7.2.8 Transformador de Intensidad Un transformador de intensidad es un elemento de aparellaje que se encarga de recoger la intensidad que pasa por la posición eléctrica, y la transforma a una intensidad adecuada para las protecciones y elementos de medida de la posición. Hereda sus atributos de la clase aparellaje y de la clase transformador.   7.2.9 Clase Transformador Tension   Figura 7.2.9 Transformador de Tension Un transformador de tensión es un elemento de aparellaje que se encarga de recoger la tensión que pasa por la posición eléctrica, y la transforma a una tensión adecuada para las protecciones y elementos de medida de la posición. Hereda sus atributos de la clase aparellaje y de la clase transformador.    Histórico proyectos para Oficina Técnica 41   7.2.10 Clase Maniobra   Figura 7.2.10 Clase Maniobra Se entiende como elementos de maniobra aquellos elementos que nos permiten realizar operaciones sobre la posición de una subestación. Estos elementos son los que conectan o desconectan un transformador o una línea. Hereda los atributos de la clase Aparellaje, y extiende a ésta con los atributos características del motor, y un atributo boleano que nos indica si un elemento de maniobra es tripolar o no. Se entiende como tripolar un elemento que efectúa la maniobra sobre las tres fases a la vez, y unipolar un elemento de maniobra que está dividido por cada fase. 7.2.11 Clase Interruptor   Figura 7.2.11 Clase Interruptor Un interruptor es un elemento de maniobra que puede efectuar ésta con la posición en carga, es decir, la posición está en servicio y tiene tensión. La clase Interruptor hereda todos sus atributos de la clase Maniobra, y a su vez de la Aparellaje. 42 6. Metodología  7.2.12 Clase Seccionador   Figura 7.2.12 Clase Seccionador Un seccionador es un elemento de maniobra que no puede efectuar ésta con la posición en carga, es decir, la posición debe estar sin tensión o fuera de servicio. La clase Seccionador hereda todos sus atributos de la clase Maniobra, y a su vez de la Aparellaje.  7.2.13 Clase Proteccion  Figura 7.2.13 Clase Proteccion Una protección es un elemento que normalmente se encuentra dentro de armarios, o casetas de relés. El conjunto de protecciones de una posición son las encargadas de controlar todos los aspectos críticos de una posición. Estas protecciones, a través de circuitos eléctricos y relés, se encargan por ejemplo, de abrir un interruptor en caso de emergencia o fallo. Por ello, la clase Protección tiene como atributos la marca, el modelo, una breve descripción de sus principales características, la función que puede desarrollar, y un código único de identificación. Histórico proyectos para Oficina Técnica 43   A pesar de compartir varios atributos con la clase aparellaje, se ha decidido que no extienda de ésta, puesto que una protección no se considera un elemento del aparellaje de una posición. 44 6. Metodología  7.3. Base de Datos   7.3.1. Introducción  A la hora de decidir qué tipo de base de datos escoger, se barajaron diferentes alternativas. En un primer momento se pensó en realizar la base de datos en Oracle, pero ésta se desestimó por su elevado coste de adquisición, ya que a priori se pretende realizar la totalidad del sistema con el menor coste posible. En la actualidad existen varias alternativas de software libre que pueden satisfacer nuestras necesidades referentes a la Base de Datos. Y finalmente se decide de implementar nuestra base con MySql bajo licencia pública GNU GPL. Esta licencia nos permite utilizar MySql de forma totalmente libre siempre, y cuando se cumpla una condición, nuestra aplicación debe ser libre, es decir, no la podemos distribuir como un producto privado. Al ser un software que se utilizará por ITC-2, y el cual ha sido desarrollado por personal interno sin ánimo de lucro, no se incumple los términos de la licencia. MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM. En esta aplicación lo que primaran serán las consultas sobre las altas de nuevos proyectos o elementos de aparellaje, lo que hace a MySQL ideal para nuestra aplicación. Sin embargo cuando realiza las inserciones y modificaciones MySql utiliza el motor InnoBD transacción en dos fases de Oracle. La base de datos estará físicamente ubicada en la oficina de que ITC-2 utiliza en la calle roger de flor, y será accesible por los usuarios, delineantes y técnicos, que trabajan en ella, a través de la red existente en ésta. Para el desarrollo de la Base de Datos se ha utilizado las herramientas “MySql WorkBench”, “MySql Administrator” y “MySql QueryBrowser”, todas estas herramientas son gratuitas y se pueden descargar libremente de la web de MySql. Histórico proyectos para Oficina Técnica 45   7.3.2. Modelo Conceptual  A continuación se presenta el diagrama conceptual de la base de datos, este diagrama conceptual se ha generado mediante MySQL WorkBench, herramienta gratuita ofrecida por MySql.  Figura 7.3.2 Diagrama Conceptual Base de Datos 52 8 Diseño del software  8.2.2 Interface específicas  Interface Alta Interruptor/Alta seccionador Interface para Alta Interruptor y Alta seccionador, estas interfaces son iguales la única diferencia reside en el titulo y en las operaciones que encapsulan. Figura 8.2.2a. Interface alta interruptor Interface Alta Transformador de Intensidad/Alta transformador de tensión Interface para Alta transformador de intensidad y Alta transformador de tensión, estas interfaces son iguales la única diferencia reside en el titulo y en las operaciones que encapsulan. Figura 8.2.2b. Interface alta transformador de tensión Histórico proyectos para Oficina Técnica 53   Interface Alta Protección Interface para el alta de una protección, es muy similar a las demás pantallas de alta de aparellaje. Figura 8.2.2c. Interface alta transformador de protección Interface Alta Subestación Esta interface nos permite introducir una nueva subestación, al iniciarse la interface se carga un jComboBox con las demarcaciones guardadas en la BD.  Figura 8.2.2d. Interface alta subestación 54 8 Diseño del software  Interface Alta Proyecto Esta interface nos permite introducir un nuevo proyecto, al iniciarse la interface se carga un jComboBox con las demarcaciones guardadas en la BD, y cuando escogemos una demarcación se carga el siguiente jComboBox con las subestaciones.  Figura 8.2.2e. Interface alta proyecto Paraelegireldirectoriodondeseguardaelproyectodebemosclicarsobreelbotónexaminar,y escogerlacarpetadondeguardaremoselproyecto.  Figura 8.2.2f. Interface seleccionar directorio Histórico proyectos para Oficina Técnica 55   Interface Alta Subproyecto Esta interface nos permite introducir un nuevo subproyecto, es necesario clicar sobre los diferentes botones que nos permiten introducir el aparellaje y las protecciones de cada subproyecto.  Figura 8.2.2g. Interface alta subproyecto 56 8 Diseño del software  Este es un ejemplo de las pantallas que nos aparecen cuando clicamos sobre los botones que nos permiten seleccionar el aparellaje, las protecciones o el centro de coste (proyecto) que queremos seleccionar.  Figura 8.2.2h. Interface selecciona interruptores Se debe clicar sobre añadir para seleccionar un interruptor, se pueden escoger tantos interruptores como sean necesarios para el subproyecto. Cuando se pulsa sobre aceptar se añaden todos los interruptores, si se pulsa borrar borramos la lista. Interfaces búsqueda Cuando realizamos una búsqueda ya sea por interruptor, por seccionador, por protección, etc. Nos aparece una pantalla en la que debemos seleccionar el elemento buscado de una lista o introducir la marca y el modelo. Todas las pantallas son similares y lo que varia son las operaciones que encapsula, sirva como ejemplo la pantalla búsqueda por interruptor. Histórico proyectos para Oficina Técnica 57    Figura 8.2.2i. Interface búsqueda por interruptor Unavezhemosseleccionadoelelementoquedeseamosbuscarnosapareceunapantallacon todoslossubproyectosdondesehautilizadoéste.Seleccionandounsubproyectoypresionando mostrarnosaparecenlosdetallasdeéste.  Figura 8.2.2j. Interface presenta resultados interruptor  58 8 Diseño del software  8.3 Uso de patrones  8.3.1 Patrón Controlador  El patrón controlador , implementado por la clase Controlador, es un patrón que sirve como intermediario entre una determinada interface ya sea gráfica o no y el resto de clases que implementan el sistema, de tal forma que es la que recibe los datos del usuario y la que los envía a las distintas clases según el método llamado. Este patrón sugiere que la lógica de negocios debe estar separada de la capa de presentación, esto para aumentar la reutilización de código y a la vez tener un mayor control.  8.3.2 Patrón fachada  El patrón fachada trata de simplificar la interface entre dos sistemas o componentes de software (en este caso la capa aplicación y la capa presentación) ocultando un sistema complejo detrás de una clase que hace las veces de pantalla o fachada. La característica principal de este patrón consiste en ocultar, en todo lo posible, un conjunto de clases que forman un paquete, de forma que solo exista un punto de entrada a las demás clases de un mismo paquete o conjunto de clases. Una ventaja del patrón fachada, es además, el aumento de la flexibilidad de la aplicación, ya que podemos cambiar las clases “tapadas por la fachada sin que el resto de la aplicación deba sufrir ningún cambio, y viceversa, que cualquier cambio en las clases que llaman a la fachada provoque cambios en las clases “tapadas”. La única clase que sigue este patrón en la aplicación es la clase FachadaBBDD, que es la clase encargada de tapar las clases de la persistencia y única clase que se comunica con el Dominio desde el paquete persistencia. Histórico proyectos para Oficina Técnica 59    8.3.3 Patrón singleton  El patrón singleton (instancia única) está diseñado para restringir la creación de objetos pertenecientes a una clase. Su función es garantizar que sólo podremos crear una única instancia de un objeto, y proporcionar un punto de acceso global accesible desde cualquier clase de la aplicación. El patrón singleton se implementa creando en nuestra clase un método que llame al constructor de la clase si todavía no existe otra instancia de la ésta. Para asegurar esto, y evitar que la clase no es instanciada más veces, se hace al constructor privado o protegido. La instrumentación del patrón puede ser delicada en programas con múltiples hilos de ejecución. Si dos hilos de ejecución intentan crear la instancia al mismo tiempo y esta no existe todavía, sólo uno de ellos debe lograr crear el objeto. La solución clásica para este problema es utilizar exclusión mutua en el método de creación de la clase que implementa el patrón. Las situaciones más habituales de aplicación de este patrón son aquellas en las que dicha clase controla el acceso a un recurso único, como puede ser una conexión a una base de datos. En esta aplicación existen varias clases “singletonas”, estas son la conexión, la fachada y la clase DTO.  8.3.4 Bajo acoplamiento y alta cohesión  Es asignar una responsabilidad de manera que el acoplamiento permanezca bajo. El Acoplamiento es la medida de fuerza con que un elemento esta conectado a, tiene conocimiento de, confía en, otros elementos. Una clase tiene bajo acoplamiento si esta no depende de demasiados otros elementos. Una clase tiene alta cohesión cuando las relaciones de esta estén muy relacionadas y no tengan mucho trabajo. Asignar responsabilidades de manera que la cohesión permanezca alta. Mantener la complejidad manejable. Los podemos separar, aunque están íntimamente ligados, de hecho si nos esforzamos en aumentar mucho la cohesión de nuestro sistema software, es muy posible que perjudiquemos el acoplamiento aumentándolo, y por el contrario si reducimos mucho el acoplamiento, se verá disminuida la cohesión. 60  Histórico proyectos para Oficina Técnica 61   9. Pruebas  La realización de las pruebas ha consistido en la comprobación de los diferentes casos de uso y su correcto funcionamiento tanto en la aplicación java como en la base de datos. 9.1 Prueba AltaProyecto  Este artefacto contempla el conjunto de pruebas realizadas para la evaluación del caso de uso Alta Proyecto. Las pruebas realizadas consisten en: 1. Rellenar todos los campos necesarios en la pantalla alta proyecto. 2. Alta de un proyecto sin respetar los campos que son de obligada cumplimentación. 3. Se intenta introducir un proyecto que ya existe en el sistema. 9.1.1 Rellenar todos los campos necesarios en la pantalla alta proyecto Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un desplegable donde seleccionamos la opción “Proyecto”. El sistema muestra la pantalla Alta Proyecto. Esta pantalla tiene aspecto de formulario. Lo primero que deberemos escoger es una demarcación, acto seguido el programa deberá mostrar las subestaciones pertenecientes a esta demarcación en un menú desplegable. Se deberá seleccionar una subestación, acto seguido deberemos introducir un centro de coste y una descripción del proyecto. Por último se deberá clicar sobre el botón examinar directorios, se abrirá una nueva ventana en la cual nos aparece el árbol de directorios de la máquina, se seleccionará la carpeta donde reside el proyecto y se pulsará el botón “seleccionar”. Aparecerá una nueva pantalla indicando el directorio seleccionado y una aceptado éste aparecerá escrito en el campo reservado para el directorio en la pantalla principal de Alta Proyecto. Una vez realizados estos pasos se procederá a clicar sobre Aceptar, informando el sistema sobre la correcta introducción del proyecto en el sistema. 68 9. Pruebas  9.3.1 Alta subestación rellenando todos los campos obligatorios  Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un desplegable donde seleccionamos la opción “Subestación”. El sistema muestra la pantalla Alta Subestación. Esta pantalla tiene aspecto de formulario. Se deberá seleccionar una demarcación de un menú desplegable, y acto seguido introducir los campos código subestación, nombre, dirección y descripción. Se pulsará entonces al botón aceptar, y el sistema retornará un mensaje indicando que la subestación se ha guardado correctamente en el sistema. Se deberá comprobar en la base de datos que esta situación se ha realizado con éxito. Entrada de datos Se introduce en la pantalla de Alta Subestación:  Demarcación: Mediterráneo  Nombre: Mataró  Código subestación: SE4906  Dirección: Ctra. NII km 145  Descripción: Subestación compuesta por parque de 125kV y grupos de cabinas de 25kV Resultado El sistema notifica que la subestación se ha insertado correctamente. Evaluación de la prueba Prueba superada con éxito. 9.3.2 Alta subestación rellenando todos los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un menú desplegable donde seleccionamos la opción “Subestación”. El sistema muestra la pantalla Alta Subestación. Esta pantalla tiene aspecto de formulario. Histórico proyectos para Oficina Técnica 69   Se deberá seleccionar una demarcación de un menú desplegable, y acto seguido introducir los campos código subestación, nombre, dirección y descripción. En un primer momento intentaremos introducir la subestación sin ningún campo rellenado, el sitema notificará que la subestación no se puede incorporar al sistema porque no se han rellenado todos los campos obligatorios. Una vez realizado esto, se rellenaran todos los campos del formulario, y se borrará un campo obligatorio; se comprueba que el sistema notifica que la subestación no puede introducirse en el sistema puesto que los campos obligatorios no se han rellenado. Se repetirá esta misma operación con todos los campos obligatorios. Resultado El sistema notifica que la subestación no se ha insertado porque los campos obligatorios no se hanrellenado. Evaluación de la prueba Prueba superada con éxito 9.3.3 Alta subestación rellenando los campos con una subestación que existe en el sistema Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un desplegable donde seleccionamos la opción “Subestación”. El sistema muestra la pantalla Alta Subestación. Esta pantalla tiene aspecto de formulario. Se deberá seleccionar una demarcación de un menú desplegable, y acto seguido introducir los campos código subestación, nombre, dirección y descripción. Se pulsará entonces al botón aceptar, y el sistema retornará un mensaje indicando que la subestación ya existe en el sistema. No se produce la inserción Entrada de datos Se introduce en la pantalla de Alta Subestación:  Demarcación: Mediterráneo  Nombre: Mataró  Código subestación: SE4906  Dirección: Ctra. NII km 145 70 9. Pruebas   Descripción: Subestación compuesta por parque de 125kV y grupos de cabinas de 25kV Resultado El sistema notifica que la subestación ya existe en el sistema. Evaluación de la prueba Prueba superada con éxito. 9.4 Prueba Alta Interruptor Este artefacto contempla el conjunto de pruebas realizadas para la evaluación del caso de uso Alta Interruptor. Las pruebas realizadas consisten en: 1. Rellenar todos los campos necesarios en la pantalla alta interruptor y dar de alta un interruptor. 2. Alta de un interruptor sin respetar los campos que son de obligada cumplimentación. 3. Se intenta introducir un interruptor que ya existe en el sistema. 9.4.1 Alta interruptor rellenando todos los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un desplegable donde seleccionamos la opción “Interruptor”. El sistema muestra la pantalla Alta Interruptor. Esta pantalla tiene aspecto de formulario. Se deberán introducir los campos marca, modelo, descripción y características del motor. Además existe un botón de opción para indicar si el interruptor es tripolar o no. Se pulsará entonces al botón aceptar, y el sistema retornará un mensaje indicando que el interruptor se ha guardado correctamente en el sistema. Se deberá comprobar en la base de datos que esta prueba se ha realizado con éxito. Histórico proyectos para Oficina Técnica 71   Entrada de datos Se introduce en la pantalla de Alta Interruptor:  Marca: ABB  Modelo: LTB-245  Descripción: Motor a resortes y gas SF6.  Características del motor: 125Vcc  Tripolar: Sí. Resultado El sistema notifica que el interruptor se ha insertado correctamente. Evaluación de la prueba Prueba superada con éxito. 9.4.2 Alta interruptor sin rellenar todos los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un desplegable donde seleccionamos la opción “Interruptor”. El sistema muestra la pantalla Alta Interruptor. Esta pantalla tiene aspecto de formulario. Se prueba de introducir un interruptor sin cumplimentar ningún campo. Se comprueba que el sistema informa que no se han rellenado los campos obligatorios. Se deberán introducir los campos marca, modelo, descripción y características del motor. Además existe un botón de opción para indicar si el interruptor es tripolar o no. Una vez rellenados todos, eliminaremos un campo obligatorio y se pulsará el botón aceptar, el sistema informará que no se han rellenado todos los campos obligatorios. Se repetirá esta misma acción con todos los campos obligatorios. Resultado El sistema notifica que el interruptor no se puede guardar en el sistema porque no se han rellenado todos los campos obligatorios. Evaluación de la prueba Prueba superada con éxito. 72 9. Pruebas  9.4.3 Alta interruptor existente rellenando todos los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un desplegable donde seleccionamos la opción “Interruptor”. El sistema muestra la pantalla Alta Interruptor. Esta pantalla tiene aspecto de formulario. Se deberán introducir los campos marca, modelo, descripción y características del motor. Además existe un botón de opción para indicar si el interruptor es tripolar o no. Estos datos deberán ser los mismos que en la prueba de alta interruptor rellenando todos los campos obligatorios. Se pulsará entonces al botón aceptar, y el sistema retornará un mensaje indicando que el interruptor ya existe en el sistema y por tanto no se puede realizar esta operación. Se deberá comprobar en la base de datos que esta prueba se ha realizado con éxito. Entrada de datos Se introduce en la pantalla de Alta Interruptor:  Marca: ABB  Modelo: LTB-245  Descripción: Motor a resortes y gas SF6.  Características del motor: 125Vcc  Tripolar: Sí. Resultado El sistema notifica que el interruptor ya existe. Evaluación de la prueba Prueba superada con éxito. Histórico proyectos para Oficina Técnica 73   9.5 Prueba Alta Seccionador  Este artefacto contempla el conjunto de pruebas realizadas para la evaluación del caso de uso Alta Seccionador. Las pruebas realizadas consisten en: 1. Rellenar todos los campos necesarios en la pantalla alta seccionador y dar de alta un seccionador. 2. Alta de un seccionador sin respetar los campos que son de obligada cumplimentación. 3. Se intenta introducir un seccionador que ya existe en el sistema. 9.5.1 Alta seccionador rellenando todos los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un desplegable donde seleccionamos la opción “Seccionador”. El sistema muestra la pantalla Alta Seccionador. Esta pantalla tiene aspecto de formulario. Se deberán introducir los campos marca, modelo, descripción y características del motor. Además existe un botón de opción para indicar si el seccionador es tripolar o no. Se pulsará entonces al botón aceptar, y el sistema retornará un mensaje indicando que el seccionador se ha guardado correctamente en el sistema. Se deberá comprobar en la base de datos que esta prueba se ha realizado con éxito. Entrada de datos Se introduce en la pantalla de Alta Seccionador:  Marca: AEG  Modelo: LTB-245  Descripción: Seccionador normalizado REE  Características del motor: 125Vcc  Tripolar: No. 74 9. Pruebas  Resultado El sistema notifica que el seccionador se ha insertado correctamente. Evaluación de la prueba Prueba superada con éxito. 9.5.2 Alta seccionador sin rellenar todos los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un desplegable donde seleccionamos la opción “Seccionador”. El sistema muestra la pantalla Alta Seccionador. Esta pantalla tiene aspecto de formulario. Se prueba de introducir un seccionador sin cumplimentar ningún campo. Se comprueba que el sistema informa que no se han rellenado los campos obligatorios. Se deberán introducir los campos marca, modelo, descripción y características del motor. Además existe un botón de opción para indicar si el seccionador es tripolar o no. Una vez rellenados todos, eliminaremos un campo obligatorio y se pulsará el botón aceptar, el sistema informará que no se han rellenado todos los campos obligatorios. Se repetirá esta misma acción con todos los campos obligatorios. Resultado El sistema notifica que el seccionador no se puede guardar en el sistema porque no se han rellenado todos los campos obligatorios. Evaluación de la prueba Prueba superada con éxito. Histórico proyectos para Oficina Técnica 75   9.5.3 Alta seccionador que ya existe en el sistema, rellenando todos los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un desplegable donde seleccionamos la opción “Seccionador”. El sistema muestra la pantalla Alta Seccionador. Esta pantalla tiene aspecto de formulario. Se deberán introducir los campos marca, modelo, descripción y características del motor. Además existe un botón de opción para indicar si el seccionador es tripolar o no. Estos datos deberán ser los mismos que en la prueba de alta seccionador rellenando todos los campos obligatorios. Se pulsará entonces al botón aceptar, y el sistema retornará un mensaje indicando que el seccionador ya existe en el sistema y por tanto no se puede realizar esta operación. Se deberá comprobar en la base de datos que esta prueba se ha realizado con éxito. Entrada de datos Se introduce en la pantalla de Alta Seccionador:  Marca: AEG  Modelo: LTB-245  Descripción: Seccionador normalizado REE  Características del motor: 125Vcc  Tripolar: No. Resultado El sistema notifica que el seccionador ya existe. Evaluación de la prueba Prueba superada con éxito.   76 9. Pruebas  9.6 Prueba Alta Transformador de Intensidad  Este artefacto contempla el conjunto de pruebas realizadas para la evaluación del caso de uso Alta transformador de intensidad. Las pruebas realizadas consisten en: 1. Rellenar todos los campos necesarios en la pantalla alta transformador de intensidad y dar de alta un transformador de intensidad. 2. Alta de un transformador e intensidad sin respetar los campos que son de obligada cumplimentación. 3. Se intenta introducir un transformador de intensidad que ya existe en el sistema. 9.6.1 Alta transformador de intensidad rellenando todos los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un desplegable donde seleccionamos la opción “Transformador de Intensidad”. El sistema muestra la pantalla Alta Transformador de Intensidad. Esta pantalla tiene aspecto de formulario. Se deberán introducir los campos marca, modelo, descripción y relación de transformación. Se pulsará entonces al botón aceptar, y el sistema retornará un mensaje indicando que el transformador de intensidad se ha guardado correctamente en el sistema. Se deberá comprobar en la base de datos que esta prueba se ha realizado con éxito. Entrada de datos Se introduce en la pantalla de Alta Transformador de Intensidad:  Marca: Arteche  Modelo: CA-245  Descripción: Transformador de Intensidad de 3 devanados  Relación de Transformación: 200-400-800/5-5-5 Histórico proyectos para Oficina Técnica 77   Resultado El sistema notifica que el transformador de intensidad se ha insertado correctamente. Evaluación de la prueba Prueba superada con éxito. 9.6.2 Alta transformador de intensidad sin rellenar todos los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un desplegable donde seleccionamos la opción “Transformador de Intensidad”. El sistema muestra la pantalla Alta Transformador de Intensidad. Esta pantalla tiene aspecto de formulario. Se prueba de introducir un transformador de intensidad sin cumplimentar ningún campo. Se comprueba que el sistema informa que no se han rellenado los campos obligatorios. Se deberán introducir los campos marca, modelo, descripción y relación de transformación. Una vez rellenados todos, eliminaremos un campo obligatorio y se pulsará el botón aceptar, el sistema informará que no se han rellenado todos los campos obligatorios. Se repetirá esta misma acción con todos los campos obligatorios. Resultado El sistema notifica que el transformador de intensidad no se puede guardar en el sistema porque no se han rellenado todos los campos obligatorios. Evaluación de la prueba Prueba superada con éxito. 84 9. Pruebas  9.8.3 Alta protección que ya existe en el sistema, rellenando todos los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú altas, nos aparece un desplegable donde seleccionamos la opción “Protección”. El sistema muestra la pantalla Alta Protección. Esta pantalla tiene aspecto de formulario. Se deberán introducir los campos marca, modelo, descripción y función. Se pulsará entonces el botón aceptar, y el sistema retornará un mensaje indicando que el transformador de tensión ya existe en el sistema. Entrada de datos Se introduce en la pantalla de protección:  Marca: Siemens  Modelo: SEL-421  Descripción: Protección normalizada por REE.  Función: Protección del Interruptor Resultado El sistema notifica que la protección ya existe en el sistema. Evaluación de la prueba Prueba superada con éxito. Histórico proyectos para Oficina Técnica 85   9.9 Prueba Consulta Interruptor Este artefacto contempla el conjunto de pruebas realizadas para la evaluación del caso de uso Consulta Interruptor. Las pruebas realizadas consisten en: 1. Rellenar todos los campos necesarios para realizar una consulta de los proyectos en los cuales se ha utilizado un interruptor determinado. 2. Elegir un interruptor de la una lista para realizar una consulta de los proyectos en los cuales se ha utilizado este interruptor. 9.9.1 Consulta interruptor rellenando los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú buscar, nos aparece un desplegable donde seleccionamos la opción “por Interruptor”. El sistema muestra la pantalla búsqueda por Interruptor. Esta pantalla tiene aspecto de formulario. Se deberán introducir los campos marca y modelo. Se pulsará entonces al botón aceptar, y el sistema abrirá una nueva ventana en la cual se presentarán todos los subproyectos en los cuales se ha utilizado este interruptor. Se deberá seleccionar un subproyecto de la lista, y clicar a mostrar aparecerán todos los elementos de aparellaje y protecciones que se han utilizado en el subproyecto. Una vez presentados los resultados, se clicará a abrir proyecto y una ventana del explorador de Windows se abrirá en el directorio donde este guardado este subproyecto. Entrada de datos Se introduce en la pantalla de búsqueda interruptor:  Marca: ABB  Modelo: LTB-245 Resultado El sistema muestra los resultados satisfactoriamente. Evaluación de la prueba Prueba superada con éxito. 86 9. Pruebas  9.9.2 Consulta interruptor seleccionando el interruptor de una lista. Descripción Se pone en funcionamiento el sistema, se clica sobre el menú buscar, nos aparece un desplegable donde seleccionamos la opción “por Interruptor”. El sistema muestra la pantalla búsqueda por Interruptor. Esta pantalla tiene aspecto de formulario. Se deberá escoger un interruptor de la lista presentada en la pantalla. Se pulsará entonces al botón aceptar, y el sistema abrirá una nueva ventana en la cual se presentarán todos los subproyectos en los cuales se ha utilizado este interruptor. Se deberá seleccionar un subproyecto de la lista, y clicar a mostrar aparecerán todos los elementos de aparellaje y protecciones que se han utilizado en el subproyecto. Una vez presentados los resultados, se clicará a abrir proyecto y una ventana del explorador de Windows se abrirá en el directorio donde este guardado este subproyecto. Entrada de datos Selección del interruptor de la lista en la pantalla búsqueda interruptor:  Marca: ABB  Modelo: LTB-245 Resultado El sistema muestra los resultados satisfactoriamente. Evaluación de la prueba Prueba superada con éxito.  Histórico proyectos para Oficina Técnica 87   9.10 Prueba Consulta Seccionador  Este artefacto contempla el conjunto de pruebas realizadas para la evaluación del caso de uso Consulta Seccionador. Las pruebas realizadas consisten en: 1. Rellenar todos los campos necesarios para realizar una consulta de los proyectos en los cuales se ha utilizado un seccionador determinado. 2. Elegir un seccionador de la una lista para realizar una consulta de los proyectos en los cuales se ha utilizado este seccionador. 9.10.1 Consulta seccionador rellenando los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú buscar, nos aparece un desplegable donde seleccionamos la opción “por Seccionador”. El sistema muestra la pantalla búsqueda por Seccionador. Esta pantalla tiene aspecto de formulario. Se deberán introducir los campos marca y modelo. Se pulsará entonces al botón aceptar, y el sistema abrirá una nueva ventana en la cual se presentarán todos los subproyectos en los cuales se ha utilizado este seccionador. Se deberá seleccionar un subproyecto de la lista, y clicar a mostrar aparecerán todos los elementos de aparellaje y protecciones que se han utilizado en el subproyecto. Una vez presentados los resultados, se clicará a abrir proyecto y una ventana del explorador de Windows se abrirá en el directorio donde este guardado este subproyecto. Entrada de datos Se introduce en la pantalla de búsqueda seccionador:  Marca: AEG  Modelo: 45E Resultado El sistema muestra los resultados satisfactoriamente. Evaluación de la prueba Prueba superada con éxito. 88 9. Pruebas  9.10.2 Consulta seccionador seleccionando el seccionador de una lista. Descripción Se pone en funcionamiento el sistema, se clica sobre el menú buscar, nos aparece un desplegable donde seleccionamos la opción “por Seccionador”. El sistema muestra la pantalla búsqueda por Seccionador. Esta pantalla tiene aspecto de formulario. Se deberá escoger un seccionador de la lista presentada en la pantalla. Se pulsará entonces al botón aceptar, y el sistema abrirá una nueva ventana en la cual se presentarán todos los subproyectos en los cuales se ha utilizado este seccionador. Se deberá seleccionar un subproyecto de la lista, y clicar a mostrar aparecerán todos los elementos de aparellaje y protecciones que se han utilizado en el subproyecto. Una vez presentados los resultados, se clicará a abrir proyecto y una ventana del explorador de Windows se abrirá en el directorio donde este guardado este subproyecto. Entrada de datos Selección del seccionador de la lista en la pantalla búsqueda seccionador:  Marca: AEG  Modelo: 45E Resultado El sistema muestra los resultados satisfactoriamente. Evaluación de la prueba Prueba superada con éxito. Histórico proyectos para Oficina Técnica 89    9.11 Prueba Consulta Transformador Intensidad Este artefacto contempla el conjunto de pruebas realizadas para la evaluación del caso de uso Consulta Transformador de Intensidad. Las pruebas realizadas consisten en: 1. Rellenar todos los campos necesarios para realizar una consulta de los proyectos en los cuales se ha utilizado un transformador de intensidad determinado. 2. Elegir un transformador de intensidad de la una lista para realizar una consulta de los proyectos en los cuales se ha utilizado este transformador de intensidad. 9.11.1 Consulta transformador de intensidad rellenando los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú buscar, nos aparece un desplegable donde seleccionamos la opción “por Transformador de Intensidad”. El sistema muestra la pantalla búsqueda por Transformador de Intensidad. Esta pantalla tiene aspecto de formulario. Se deberán introducir los campos marca y modelo. Se pulsará entonces al botón aceptar, y el sistema abrirá una nueva ventana en la cual se presentarán todos los subproyectos en los cuales se ha utilizado este trasformador de intensidad. Se deberá seleccionar un subproyecto de la lista, y clicar a mostrar aparecerán todos los elementos de aparellaje y protecciones que se han utilizado en el subproyecto. Una vez presentados los resultados, se clicará a abrir proyecto y una ventana del explorador de Windows se abrirá en el directorio donde este guardado este subproyecto. Entrada de datos Se introduce en la pantalla de búsqueda transformador intensidad:  Marca: Arteche  Modelo: CA-245 Resultado El sistema muestra los resultados satisfactoriamente. Evaluación de la prueba Prueba superada con éxito. 90 9. Pruebas  9.11.2 Consulta transformador de intensidad seleccionando el transformador de una lista. Descripción Se pone en funcionamiento el sistema, se clica sobre el menú buscar, nos aparece un desplegable donde seleccionamos la opción “por Transformador de Intensidad”. El sistema muestra la pantalla búsqueda por transformador de intensidad. Esta pantalla tiene aspecto de formulario. Se deberá escoger un transformador de intensidad de la lista presentada en la pantalla. Se pulsará entonces al botón aceptar, y el sistema abrirá una nueva ventana en la cual se presentarán todos los subproyectos en los cuales se ha utilizado este transformador de intensidad. Se deberá seleccionar un subproyecto de la lista, y clicar a mostrar aparecerán todos los elementos de aparellaje y protecciones que se han utilizado en el subproyecto. Una vez presentados los resultados, se clicará a abrir proyecto y una ventana del explorador de Windows se abrirá en el directorio donde este guardado este subproyecto. Entrada de datos Selección del transformador de intensidad de la lista en la pantalla búsqueda transformador intensidad:  Marca: Arteche  Modelo: CA-245 Resultado El sistema muestra los resultados satisfactoriamente. Evaluación de la prueba Prueba superada con éxito. Histórico proyectos para Oficina Técnica 91   9.12 Prueba Consulta Transformador Tensión  Este artefacto contempla el conjunto de pruebas realizadas para la evaluación del caso de uso Consulta Transformador de tensión. Las pruebas realizadas consisten en: 1. Rellenar todos los campos necesarios para realizar una consulta de los proyectos en los cuales se ha utilizado un transformador de tensión determinado. 2. Elegir un transformador de tensión de la una lista para realizar una consulta de los proyectos en los cuales se ha utilizado este transformador de tensión. 9.12.1 Consulta transformador de tensión rellenando los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú buscar, nos aparece un desplegable donde seleccionamos la opción “por Transformador de Tensión”. El sistema muestra la pantalla búsqueda por Transformador de tensión. Esta pantalla tiene aspecto de formulario. Se deberán introducir los campos marca y modelo. Se pulsará entonces al botón aceptar, y el sistema abrirá una nueva ventana en la cual se presentarán todos los subproyectos en los cuales se ha utilizado este trasformador de tensión. Se deberá seleccionar un subproyecto de la lista, y clicar a mostrar aparecerán todos los elementos de aparellaje y protecciones que se han utilizado en el subproyecto. Una vez presentados los resultados, se clicará a abrir proyecto y una ventana del explorador de Windows se abrirá en el directorio donde este guardado este subproyecto. Entrada de datos Se introduce en la pantalla de búsqueda transformador tensión:  Marca: Arteche  Modelo: UTF-245 Resultado El sistema muestra los resultados satisfactoriamente. Evaluación de la prueba Prueba superada con éxito. 92 9. Pruebas  9.12.2 Consulta transformador de tensión seleccionando el transformador de una lista. Descripción Se pone en funcionamiento el sistema, se clica sobre el menú buscar, nos aparece un desplegable donde seleccionamos la opción “por Transformador de Tensión”. El sistema muestra la pantalla búsqueda por transformador de tensión. Esta pantalla tiene aspecto de formulario. Se deberá escoger un transformador de tensión de la lista presentada en la pantalla. Se pulsará entonces al botón aceptar, y el sistema abrirá una nueva ventana en la cual se presentarán todos los subproyectos en los cuales se ha utilizado este transformador de tensión. Se deberá seleccionar un subproyecto de la lista, y clicar a mostrar aparecerán todos los elementos de aparellaje y protecciones que se han utilizado en el subproyecto. Una vez presentados los resultados, se clicará a abrir proyecto y una ventana del explorador de Windows se abrirá en el directorio donde este guardado este subproyecto. Entrada de datos Selección del transformador de tensión de la lista en la pantalla búsqueda transformador tensión:  Marca: Arteche  Modelo: UTF-245 Resultado El sistema muestra los resultados satisfactoriamente. Evaluación de la prueba Prueba superada con éxito.   Histórico proyectos para Oficina Técnica 93   9.13 Prueba Consulta Protección  Este artefacto contempla el conjunto de pruebas realizadas para la evaluación del caso de uso Consulta Protección. Las pruebas realizadas consisten en: 1. Rellenar todos los campos necesarios para realizar una consulta de los proyectos en los cuales se ha utilizado una protección determinada. 2. Elegir una protección de una lista para realizar una consulta de los proyectos en los cuales se ha utilizado esta protección. 9.13.1 Consulta protección rellenando los campos obligatorios Descripción Se pone en funcionamiento el sistema, se clica sobre el menú buscar, nos aparece un desplegable donde seleccionamos la opción “por Protección”. El sistema muestra la pantalla búsqueda por Protección. Esta pantalla tiene aspecto de formulario. Se deberán introducir los campos marca y modelo. Se pulsará entonces al botón aceptar, y el sistema abrirá una nueva ventana en la cual se presentarán todos los subproyectos en los cuales se ha utilizado esta protección. Se deberá seleccionar un subproyecto de la lista, y clicar a mostrar aparecerán todos los elementos de aparellaje y protecciones que se han utilizado en el subproyecto. Una vez presentados los resultados, se clicará a abrir proyecto y una ventana del explorador de Windows se abrirá en el directorio donde este guardado este subproyecto. Entrada de datos Se introduce en la pantalla de búsqueda protección:  Marca: Siemens  Modelo: SEL-421 Resultado El sistema muestra los resultados satisfactoriamente. Evaluación de la prueba Prueba superada con éxito. 100 10. Planificación y presupuesto   10.4 Presupuesto  El tiempo total de desarrollo del proyecto se ha estimado en un total aproximado de 4 meses de trabajo. Durante estos cuatro meses se asigna un tiempo en horas para cada responsable, en cada una de las diferentes tareas.  Responsable Tarea Horas Jefe de Proyecto Visión general 4 Objetivos 4 Funcionalidades 6 Modelo de casos de uso 12 Especificación casos de uso 22 Especificaciones complementarias 4 Modelo del Dominio 7 Modelo de Datos 3 Analista Visión general 6 Objetivos 6 Funcionalidades 6 Modelo de casos de uso 12 Especificación casos de uso 26 Especificaciones complementarias 10 Modelo del dominio 8 Modelo de datos 6 Prototipo de interfaces de usuario 10 Modelo de implementación 4 Histórico proyectos para Oficina Técnica 101   Casos de pruebas funcionales 4 Programador Modelo del dominio 6 Modelo de datos 12 Prototipo de interfaces de usuario 18 Modelo de implementación 14 Caso de pruebas funcionales 14 Codificación 60 Ingeniero Software Caso de pruebas funcionales 12 Generación documentación instalación 14 Instalación y configuración 8  Se obtiene como resultado del acumulado de las horas es el siguiente. Responsable Nº de Horas €/hora Total € Jefe de proyecto 73 30 2190 Analista de sistemas 98 20 1960 Programador 124 15 1860 Ingeniero software 34 10 340 En total en mano de obra se puede comprobar que se han gastado un total de 6350€. A este precio se le debe sumar además el gasto de software y hardware que se ha utilizado durante el desarrollo del sistema. Durante el desarrollo del sistema se ha utilizado un ordenador Hewlett-Packard a6332 Pavillion valorado en 575€. El periodo de amortización para hardware que no exceda de 25.000€ es de 36 meses, siendo el periodo de utilización de esta máquina de 4 meses. 102 10. Planificación y presupuesto  Aplicando la formula:   Para el desarrollo del sistema, como ya se ha comentado en otros puntos de esta memoria, el software de desarrollado ha resultado gratuito, por lo tanto no existen, a priori, más gastos generados, siendo el resultado del presupuesto. Presupuesto Final Análisis, desarrollo e implantación del sistema 6350€ Gastos de amortización 63,80€ Total 6413,80€ Histórico proyectos para Oficina Técnica 103   11. Conclusiones El desarrollo de este proyecto ofrece una solución software a ITC-2, para el Alta de proyectos y su posterior consulta, función principal de este sistema. Y que permitirá a ITC- 2 reaprovechar el trabajo ya realizado anteriormente, permitiendo un ahorro de tiempo y por tanto un coste económico menor. Este sistema proporciona las herramientas necesarias que cumplen las expectativas del cliente, ITC-2. En el desarrollo del software se han utilizado herramientas de desarrollo de fácil utilización y además gratuitas, de esta forma los costes de desarrollo e implantación se limitan únicamente a la mano de obra. Esto permite además la facilidad de uso y su futuro mantenimiento, ya que todo el proceso sigue unos estándares documentados y aceptados por la comunidad de desarrollo software. El sistema permite que cualquier persona con un mínimo de conocimientos técnicos pueda llevar a cabo la administración y mantenimiento del sistema. Además el sistema de por sí reduce los trabajos de mantenimiento a acciones puntuales, ya que una vez se halla realizado su puesta en marcha, no será necesaria una administración ni mantenimiento continuado. El sistema es integrable en las plataformas más populares del mercado, como pudiera ser una intranet, siempre y cuando se adapte la capa presentación. Al ser una aplicación desarrollada en Java permite que este software pueda instalarse en cualquier máquina, independientemente de su sistema operativo y/o arquitectura, siempre y cuando se instale la máquina virtual de java, sin coste adicional alguno. La documentación generada ofrece una descripción detallada de todo el sistema, y permitirán a los futuros desarrolladores incrementar con nuevas funcionalidades el sistema, creando pues una nueva versión de éste. Histórico proyectos para Oficina Técnica 105   12. Líneas Futuras y Mejoras  Este sistema tiene como propósito asentar las bases de un sistema más grande, un sistema que pudiera acoger todas las aplicaciones privadas de la empresa ITC-2, y si fuese el caso de todo el grupo Spark Ibérica, de esta manera se podría decir que el actual sistema sería un subsistema dentro de un sistema global de la empresa. La implementación del sistema al estar realizado mediante capas, y por su diseño permite la evolución del mismo añadiendo nuevas funcionalidades, nuevos casos de uso, según los nuevos requerimientos que se deseen desarrollar. Una nueva funcionalidad que se podría implementar, consistiría en realizar los casos de uso que permitieran la modificación de los subproyectos, de los proyectos, de la subestaciones, de los interruptores, de los seccionadores, de las protecciones, de los transformadores de intensidad y de los transformadores de tensión. Además, y como ya se ha dicho en otros puntos de esta memoria, una línea futura de importante, y casi de vital importancia, seria la modificación de la capa presentación para que este sistema se pudiera implementar en la Intranet de la empresa, o mejor dicho, en la intranet del grupo Spark Ibérica. Permitiendo a todas las delegaciones de ITC-2 y de Spark Ibérica la consulta de los proyectos realizados en todas las delegaciones. Una línea futura, consistiría también extender esta aplicación a otros departamentos, adaptando ésta a las necesidades de cada departamento, ejemplos claros de estos departamentos podrían ser los departamentos de obra civil o el departamento de distribución de energía entre otros. A raíz de esta aplicación, se podría desarrollar otra aplicación, diferente o incluirla en este mismo sistema, que fuese capaz de introducir los proyectos antiguos en el sistema de forma automática. Otra opción interesante sería añadir a este mismo sistema, las funcionalidades que nos permitieran realizar una gestión de los proyectos en sí, es decir, controlar que proyectos están en proceso, que personas realizan cada proyecto, coste de cada proyecto, beneficio neto de un proyecto. Todo lo que se podría denominar gestión de proyectos y su planificación. Histórico proyectos para Oficina Técnica 107   13. Bibliografía   13.1 Libros de Consulta  1. Graig Larman, UML Y PATRONES. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Segunda edición, PEARSON EDUCACION, S.A., 2003 2. Grady Booch, James Rumbaug y Ivar Jacobson, El lenguaje unificado modelado, ADDISON WESLEY IBEROAMERICANA 1999. 13.2 Páginas web  1. http://www.lawebdelprogramador.com/news/new.php?id=61&texto=MySQL, foro dedicado a MySQL. 2. http://www.forosdelweb.com/f86/, foro dedicado a MySQL. 3. http://www.mysql.com, página oficial de MySQL. 4. http://www.netbeans.org, página oficial NetBeans, además contiene un foro dedicado al NetBeans. 5. http:// es.wikipedia.org/, enciclopedia on-line gratis y accesible por todos. 6. http://www.lawebdelprogramador.com/news/new.php?id=44&texto=Java, foro dedicado a la programación en Java. 7. http://www.forosdelweb.com/f45/, foro dedicado a la programación Java. Histórico proyectos para Oficina Técnica 109   14. Índice CD  1. Documentación y Memoria 2. Proyecto Netbeans. 3. Proyecto UML 4. Base de Datos 5. Software de Desarrollo