Home

en otra ventana

image

Contents

1. ManualEAPI AdministrarProyecto AbrirProyecto lt lt interface gt gt ActionListener JDialog GuardarProyecto MouselnputAdapter lt MouseListenerColaboracion MouseListenerClase 1 DiagramaClase TreePanel 1 1 1 2 3 1 PanelClase DiagramaColaboracion 1 V Diagrama Rectangle TextGraphic PanelDeNoSeleccion PanelColaboracion Fig 5 17 Relaciones entre las clases desarrolladas en el proyecto 107 lt lt interface gt gt Serializable 5 3 Implementaci n 5 3 1 Implementaci n del EAPI 5 3 1 1 Cuenta Sun El primer paso en la implementaci n del EAPI fue configurar e instalar las herramientas que se utilizan en la cuenta msqlroot En el sistema operativo Solaris se edit el archivo cshrc agreg ndole las siguientes variables de ambiente HRAHAMARARA RARA AR ARR RR RARA RARA AA ARA RARA RARA AMARA RARA RARAARARMARA RARA ARARAR Initial file to set proper environment edited by Joel Rea FRRRRRKT KTK RARA AA AA AAA RARA RARA RARA ARA RARA RARA IA AAA RARA RARA EEE EEEE EEEE EEEE setenv MSQLROOT HOME archivos vol880 04 m
2. construida en el Entorno de Apoyo de Proyectos Integrado que provee meqglroot Este I CASE da soporte a distintas plataformas de hardwrare software y es disponible en el web Venus utiliza las siguientes tecnolog as M AS Mysat SOLARIS Fig 5 26 Manual en l nea de Venus 5 3 2 6 Impresi n Imprimir los diagramas generados por Venus y las p ginas del manual es muy sencillo ya que se invocan a los m todos mostrarDialogoImprimir y print de la clase IPanel 123 5 2 3 Clases desarrolladas En total se desarrollaron doce clases para implementar el I CASE Venus la mayor a extiende o invoca clases del EAPD Dichas clases se encuentran distribuidas en los paquetes mx udlap msqlroot venus y mx udlap msqlroot venus diagrama El n mero tan peque o de clases y el poco tiempo de codificaci n de Venus se logr por el Ambiente Integrado que proporciona el EAPI De esta forma se demuestra que el EAPI cumple con el objetivo de permitir el r pido desarrollo de herramientas CASE basadas en el lenguaje de programaci n Java La cantidad de datos involucrados al generar diagramas UML es muy grande debido a esto se realiz un an lisis detallado de c mo representar esa informaci n en una base de datos relacional Una manera sencilla y pr ctica de almacenar esa informaci n es por medio de bytes es decir guardar los objetos Java que contienen los datos de los diagramas Toda la informaci
3. E Internet P Fig 5 22 Interfaces gr ficas de las clases del EAPI 114 Acceso Acceso EAP Login Password Aceptar Cancelar Registro Registro AAA la Dame tu nombre Joel Ivan Dame tu login joel Dame tu password ESAS Confirma tu password ES Cancelar Registro EAPI Yer 1 03 x Copyright Fundaci n Universidad de las Am ricas Puebla Seras dado de alta con la siguiente informaci n Mombre Joel v n Login joel Password re Aceptar Cancelar Administrar proyecto proyecto Hombre Venus Wwersi n Ta Privilegio a otros usuarios O Ninguno O Escritura Actualizar Cancelar Eliminar Fig 5 22 Interfaces gr ficas de las clases del EAPI continuaci n 115 AbrirProyecto Proyectos de joel XI GuardarProyecto Venus 0 0b Guardar Proyecto JE Venus 0 15b Venus 1 0 Nombre Untitled Venus 1 5beta i es 1 8 Wersi n db Venus la Venus 2 31 Aceptar Cancelar Nueva versi n N J Nombre Untitled versi n 0 0 Aceptar Cancelar Administrar proyecto x Hombre Venus Wwersi n Ta Privilegio a otros usuarios O Ninguno O Escritura Actualizar Cancelar Eliminar Fig 5 22 Interfaces gr ficas de las clases del EAPI continuaci n 116 EAPI Frame Wentorno de Apoyo a Proyectos Integrado Universidad de las Am ricas Puebla Dep
4. pointPressed Point mover false boolean resize false boolean esquinaResize int numResize int textField JTextField temporal DiagramaColaboracion null editandoTextField boolean false MouseListenerClb panelClb PanelColaboracion mouseClicked event MouseEvent mousePressed event MouseEvent mouseDragged event MouseEvent mouseReleased event MouseEvent mouseMoved event MouseEvent colocaAlFinalDiagrama obj DiagramaColaboracion posicionAnterior int borrarSelecciones getDiagramasColaboracion Vector getRectanguloDeSeleccion Rectangle Fig 5 16 Diagramas de clase del proyecto continuaci n 5 2 3 An lisis de herencias e implementaci n de interfaces lt lt interface gt gt lt Proyecto AccesoApplet JApplet v Serializable Acceso Usuario MouseListenerClase MouselnputAdapter Rectangle TextGraphic Registro MouseListenerClb Diagrama Conexion EAPI FRAME lt lt interface gt gt VS Acti cuon Static lt PanelColaboracion e DiagramaClase Diag
5. addColaborationNode panel Object addClassNode panel Object findColaborationNodeffield String boolean findClassNodef field String boolean removeCurrentNode cambiarNombreNodo nombreNuevo String getTree JTree Fig 5 16 Diagramas de clase del proyecto continuaci n mbar JMenuBar splitPane JSplitPane treePanel TreePanel usuario Usuario cambiarNombreDiagrama JMenultem borrarDiagrama JMenultem proyecto Proyecto mostrarDialogoGuardar boolean true abrir JButton nuevo JButton botonGuardar JButton menultemGuardar JMenultem guardarComo JMenultem nuevaVersion JMenultem botonlmprimir JButton nuevoDiagramaDeClase JMenultem nuevoDiagramaDeColaboracion JMenultem Venus usuario Usuario init HmakeComponents FsetupGUI toolBarVenus JToolBar splitPane JPanel getValue key String Object putValue key String value Object actionPerformed event ActionEvent FtieEvents deshabilitarArbolDeProyecto colaborationRoot DefaultMutable TreeNode classRoot DefaultMutableTreeNode deshabilitarOpcionGuardar habilitarOpcionGuardar setNotacionUMLDelproyecto_Ocupada proyectoOcupado Proyecto setNotacionUMLDelproyecto_Desocupada proyectoDesocupado Proyecto notacionOcupada proyecto Proyecto boolean TextGraphic string String font Font frc FontRenderContext rectangle Rectangle textLa
6. diagramas de colaboraci n y de clase Para construir a Venus se utiliz el proceso unificado de desarrollo de software The Unified Software Development Process invirtiendo 3 meses en an lisis dise o y 2 meses en codificaci n pruebas Venus ha sido la primera herramienta CASE constru da en el Entorno de Apoyo a Proyectos Integrado EAPI que provee msglroot 5 3 2 2 Interacci n Humano Computadora La interacci n humano computadora o HCI Human Computer Interaction se encarga de analizar y estudiar la relaci n que se presenta entre el ser humano con la computadora y sus sistemas de tal forma que puedan dise arse y desarrollarse las actividades conjuntas de forma productiva y segura La HCI de Venus est basada en el uso de men s di logos y manipulaci n de diagramas Al dise ar este tipo de comunicaci n es de suma importancia que las palabras utilizadas en los men s el dise o de los conos y la manipulaci n de diagramas sean completamente expl citos para los usuarios lo que increment considerablemente la dificultad al implementar el sistema 5 3 2 3 Men s e iconos El dise o de iconos y men s se bas en el sistema Microsoft Office por ser 119 ampliamente usado y en herramientas CASE existentes para editar manipular diagramas UML Rational Argo Fujaba y Magic Draw Los men s e iconos de Venus se pueden apreciar en la figura 5 23 Venus al igual que las herramientas comerciales que perm
7. 2 Caso de uso Agregar una hoja al rbol de proyecto Actores Usuario iniciador Venus Prop sito Permitir que el usuario agregue hojas al rbol de proyecto Un usuario selecciona la opci n nuevo diagrama EAPI pide el nombre de la hoja del rbol que contendr el conjunto de diagramas que el usuario editara el usuario da un nombre y se agrega la hoja al rbol de proyecto Curso normal de los eventos Paso Acci n Paso Acci n El usuario selecciona la opci n nuevo diagrama EAPI pide el nombre de la hoja que contendr los diagramas El usuario da el nombre Se agrega la hoja al rbol de proyecto Por cada hoja se agrega un rea de dibujo para crear editar diagramas Cursos alternos Paso 3 Ya existe una hoja con ese nombre i Venus notifica el error y pide otro nombre para la hoja En esta versi n de Venus s lo se pueden crear diagramas de clase y de colaboraci n Fig 5 2 Casos de uso de Venus Caso de uso Borrar una hoja del rbol de proyecto Actores Usuario iniciador Venus Prop sito Permitir que el usuario elimine hojas del rbol de proyecto El usuario selecciona una hoja del rbol de proyecto y le pide a Venus que sea eliminada Curso normal de los eventos Sistema Paso Acci n Paso Acci n El usuario selecciona una hoja del rbol de proyecto El usuario selecciona la opci n borrar diagrama Venus le pide al usuario que confirme la decisi n de
8. alta si los datos pasan las pruebas de validaci n son almacenados en la base de datos mx udlap msqlroot acceso Fig 5 7 Paquete acceso 5 2 1 2 Paquete Eapi EAPI_Frame muestra una lista con las herramientas CASE del EAPI permitiendo la comunicaci n del usuario con la herramienta que seleccion ManualEapi muestra el manual de usuario del entorno Y la clase Usuario almacena todos los datos de un usuario del EAPI ver Fig 5 8 mx udlap msqlroot eapi EAPI Frame ManualEAPI Usuario AAN AAN Fig 5 8 Paquete Eapi 5 2 1 3 Paquete Proyecto El paquete proyecto permite la comunicaci n de las herramientas CASE del Entorno con el dep sito de proyectos MySQL y est compuesto por cuatro clases ver Fig 5 9 AbrirProyecto es una clase que tiene un constructor privado que es invocado por dos de sus m todos p blicos su m todo mostrarDialogoAbrirProyecto funciona como un selector de archivos file chooser invocado por las clases que necesitan que el usuario seleccione un proyecto del EAPI dicho m todo regresa null cuando el usuario cancela la selecci n o cierra el dialogo puede mostrar proyectos con privilegio de lectura o escritura seg n se le especifique El segundo m todo p blico de esta clase es abrirDatosUML que es invocado por las clases que necesitan la informaci n contenida en los diagramas UML generados por Venus por el momento este m todo s lo es invocado por Venus La clase Administrar
9. n que se genera en Venus forma parte de un JTree internamente implementa un rbol que contiene dos ramas una para diagramas de colaboraci n y otra para diagramas de clase donde todas sus hojas son Vectores que contienen los datos Tomando esto en cuenta se gener un diagrama entidad relaci n que considera como atributos de la entidad proyecto la rama de diagramas de clase y la rama de diagramas de colaboraci n de dicho rbol ver Fig 5 21 124 5 3 3 P gina Web de msqlroot A lo largo del desarrollo del proyecto se recab una gran cantidad de informaci n sobre herramientas CASE UML y tecnolog as Java Esa informaci n esta disponible en la p gina de msglroot http www udlap mx msqlroot ver Fig 5 27 para que pueda ser utilizada por cualquier persona interesada en estos temas se solicit a los buscadores Google Yahoo y AltaVista que agreguen la p gina a su directorio 3 MSQLroot Microsoft Internet Explorer ioj xj Fie Edit View Favorites Tools Help Er G Back Q x E A y Search 32 Favorites GA Media ES v Address le http mail udlap mx msqlrootf y Go Links r i be x Informaci n Comentarios gt p an e Proyecto EAPI Pjk do inioras Herramientas CASE Computer Aided Software Engineering 2 Otros Proyectos e Art culos Ligas de inter s e Libros e Presentaciones Citrix sesi n X e Tesis UML Unified
10. CAP TULO V DESARROLLO DEL SISTEMA 5 1 An lisis del sistema 5 1 1 Requerimientos A continuaci n se enlistan los requerimientos del EAPI y Venus Requerimientos EAPI e Ser un entorno de desarrollo que pueda ser migrado f cilmente entre distintas plataformas Unix Windows Mac OS X Linux e Permitir el r pido desarrollo de herramientas I CASE basadas en el lenguaje de programaci n Java e Estar disponible en el Web e Implementar las capas del modelo de referencia de Integraci n propuesto por Roger Pressman Pressman 01 e Presentar una interfaz amigable para el usuario e Proporcionar componentes de software para las herramientas I CASE que se desarrollen e Que el sistema presente un buen dise o para que futuros desarrolladores puedan incrementar nuevas funcionalidades f cilmente Reguerimientos Venus e Construirlo utilizando el entorno que proporciona EAPI e Validar y evaluar la funcionalidad del EAPI e Permitir crear y editar diagramas de clase y de colaboraci n e Que los diagramas puedan ser almacenados y recuperados correctamente en y del dep sito de proyectos e Poder imprimir los diagramas e Llevar un control de versiones de los proyectos desarrollados e Presentar una interfaz amigable para el usuario e Proporcionar al usuario un rbol gr fico que permita tener un orden en los diagramas creados rbol de proyecto e Que el sistema presente un buen dise o para que futuros desar
11. Modeling Language Art culos Libros Presentaciones Tesis Tutoriales Herramientas CASE y Fig 5 27 P gina Web de msqlroot 5 4 Conclusiones Se demostr que es posible crear herramientas I CASE a trav s de los componentes de software que proporciona el EAPI Sin embargo a n queda pendiente la verdadera integraci n de la informaci n de ingenier a generada por las herramientas contenidas en el ambiente 125
12. PILookAndFeel ver Fig 5 11 se espera que en pr ximas versiones se aumente el n mero de clases mx udlap msqlroot plaf EAPILookAndFeel Fig 5 11 Paquete plaf 5 2 1 6 Paquete Theme Este paquete tiene dos clases ver Fig 5 12 que permiten personalizar el color temas del Look and Feel de las aplicaciones contenidas en el EAPI La clase BlueTheme esta basada en mi color favorito el azul La otra clase del paquete es Colors esta clase se encarga de proporcionar un conjunto de colores para los temas La lista de colores fue proporcionada por Karsten Lentzsch desarrollador del proyecto JGoodies Lentzsch 03 mx udlap msqlroot plaf theme Fig 5 12 Paquete theme 5 2 1 7 Paquete til Este paquete tiene tres clases ver Fig 5 13 La primera es la clase Conexion que como su nombre lo indica permite abrir una conexi n al DBMS MySQL La clase Manual es un IFrame del que extienden los manuales de las herramientas CASE contenidas en el EAPI tiene la ventaja que despliega la informaci n en documentos HTML es muy f cil hacer las p ginas del manual y permite hipertexto y el contenido se organiza con un rbol La ltima clase es Static esta clase almacena un Applet para que cualquier IFrame pueda usarlo para desplegar un documento HTML Servlet o JSP en el navegador browser origen de la aplicaci n mx udlap msalroot util Fig 5 13 Paquete til 5 2 1 8 Paguete Venus Para este paguete se dise a
13. Proyecto es la responsable de cambiar los privilegios de un proyecto lectura escritura o ninguno tambi n es la encargada de eliminar un proyecto del EAPI antes de eliminar un proyecto verifica si alguna herramienta CASE est utilizando una parte del mismo si esto ocurre no se elimina La ltima clase de este paquete es GuardarProyecto Esta clase tiene dos funciones principales la primera es preparar todas tablas que ocupan las herramientas CASE para almacenar la informaci n que se genera por ellas por el momento s lo se preparan las tablas del I CASE Venus y la segunda es guardar la informaci n en el dep sito de proyectos mx udlap msqlroot eapi proyecto AbrirProyecto AdministrarProyecto GuardarProyecto AAA EAN Fig 5 9 Paquete proyecto 5 2 1 4 Paquete Swing Todos los Frames y Panels del entorno extienden de las dos clases de este paquete ver Fig 5 10 La clase IFrame contiene m todos que facilitan el uso del Frame a dem s permite que pueda invocar Servlets JSP por medio de un browser Por otro lado la clase Panel puede imprimir su contenido de una forma muy sencilla s lo se necesita invocar a su m todo mostrarDialogolmprimir mx udlap msqlroot swing Fig 5 10 Paquete swing 5 2 1 5 Paquete Plaf En este paquete se encuentran las clases que modifican el Look and Feel Aspecto y Sensaci n de las herramientas contenidas en el entorno Por el momento este paquete s lo contiene la clase EA
14. a que terminaran las consultas que estaban en ejecuci n En cambio las tablas InnoDB usan bloqueo a nivel de filas para mejorar de manera notable el rendimiento SELECTs sin bloqueo InnoDB usa una t cnica conocida como multi versioning similar a PostgreSQL que elimina la necesidad de hacer bloqueos en consultas SELECT muy simples 5 1 6 3 Tomcat Tomcat es un servidor Web que permite ejecutar Servlets y JSP de r pido crecimiento y uso dentro de la comunidad de programadores Es gratuito extensible y funciona el los sistemas operativos Unix y Windows Para este proyecto se instal y configur la versi n 5 0 por ser la que brindaba mayor soporte a las nuevas especificaciones de Java para los Servlets y JSP El servidor Tomcat del EAPI se encuentra en http mailweb udlap mx 33107 5 1 6 4 Red de Computadoras Sun La direcci n de Capacitaci n y Servicios en Sistemas CASS nos proporcion una cuenta de usuario en la red de computadoras Sun msqlroot y dos puertos en el servidor mailweb udlap mx 3306 3310 para implementar el EAPI Eleg esta arquitectura para desarrollar el sistema por ser distribuida y estar basada en Unix 5 1 7 An lisis de tecnolog as Java Uno de los objetivos principales del EAPI es permitir el r pido desarrollo de herramientas I CASE basadas en el lenguaje de programaci n Java Por este motivo se realiz un an lisis detallado de tres de las principales tecnolog as de Java Applets Fra
15. abilitarToolBar actionPerformed event ActionEvent l setNombre nombre String print g Graphics pf PageFormat pi int int getNombre String deshabilitarToolBar l getPanelDibujo JPanel setNombre nombre String getBotonSeleccionado int getNombre String toString String getBotonSeleccionado int toString String Diagrama root DefaultMutableTreeNode classRoot DefaultMutableTreeNode null selected boolean false colaborationRoot DefaultMutableTreeNode null posicionInicialAlT rasladar Point null treeModel DefaultTreeModel tamanolnicialAlResize Dimension null tree JTree anchuraMinima int 10 toolkit Toolkit alturaMinima int 10 Diagrama p Point translate x int y int getRectangulosResize Vector resize pixelesX int pixelesY int esquina int setSize width int height int isSelected boolean setSelected selected boolean setSelected p Point setPosicionInicialAlTrasladar posicion InicialAlTrasladar Point getClassRoot DefaultMutableTreeNode setTamanolnicialAlResize tamanolnicialAlResize Dimension getColaborationRoot DefaultMutableTreeNode getPosicionlnicialAlTrasladar Point getRoot DefaultMutableTreeNode getTamanolnicialAlResize Dimension setRamasArbolDeProyectos rootClb DefaultMutableTreeNode rootClase DefaultMutableTreeNode fMyRenderer class TreePanel
16. ationComp Component labelNombre JLabel labelNombreAuxiliar JLabel labelVersion JLabel textFieldNombre JTextField textFieldVersion JTextField botonOK JButton botonCancelar JButton proyecto Proyecto mostrarDialogoGuardar frameComp Component locationComp Component titulo String proyecto Proyecto Proyecto mostrarDialogoNuevaVersion Component frameComp Component locationComp String titulo Proyecto proyecto Proyecto GuardarProyecto Frame frame Component locationComp String titulo Proyecto proyecto String tipoDialogo makeComponents setupGU DialogoGuardar panelPrincipal_DialogoGuardar JPanel setupGUl_DialogoNuevaVersion panelPrincipal_NuevaVersion JPanel panelBotones JPanel actionPerformed e ActionEvent validarDialogo guardarDatosProyecto boolean guardarDatosUML proyecto Proyecto colaborationRoot DefaultMutableTreeNode classRoot DefaultMutableTreeNode Fig 5 16 Diagramas de clase del proyecto continuaci n login String nombre String version String privilegio String Proyecto login String nombre String version String privilegio String setLogin login String setNombre nombre String setVersion version String setPrivilegio privilegio String getLogin String getNombre String getVersion String getPrivilegio String toString String BlueTheme HgetP
17. ava Server Pages y las firmas digitales En el EAPI se utiliz el JSDK Java Standard Development Kit 1 4 2 ya que era el m s reciente al terminar el proyecto 5 1 6 2 MySQL MySQL es un manejador de base de datos relacional robusto de c digo abierto bajo la licencia GPL The GNU General Public License MySQL puede competir con sus famosas contrapartes comerciales Oracle DB2 Informix Sybase por sus caracter sticas no requiere de una gran n mero de recursos para funcionar es extensible robusto r pido multiplataforma y f cil de administrar Proal 01 En la cuenta Sun del proyecto se instal y configuro la versi n est ndar 4 0 12 por ser la m s reciente al elaborar el proyecto y la primera versi n est ndar de MySQL que permite crear tablas tipo InnoDB algo que antes requer a recompilar el servidor de MySQL o instalar el MySQL Max Las tablas InnoDB proporciona lo siguiente Recuperaci n autom tica ante fallas Si MySQL se da de baja de una forma anormal InnoDB autom ticamente completar las transacciones que quedaron incompletas Integridad referencial Se pueden definir llaves for neas entre tablas InnoDB relacionadas para asegurarse de que un registro no puede ser eliminado de una tabla s1 a n est siendo referenciado por otra tabla Bloqueo a nivel de filas Al usar tablas MyISAM y tener consultas muy grandes que requiere de mucho tiempo simplemente no se puede ejecutar m s consultas hast
18. cter sticas se ejemplifican en la figura 5 25 121 Elen Profundidad Clase ueva Clased m O 0 0 Clase SE Clase2 Clase y m MR lasej Clase3 Clased Clased l U E EELEEw H E Modificar tama o Modificar texto al hacer utilizando el mouse doble click con el mouse Clase ueva Automovil Fig 5 25 Manipulaci n de diagramas en Venus 5 3 2 5 Manual del usuario Un aspecto importante de todo sistema es proveer al usuario de un manual de f cil acceso y que contenga la informaci n necesaria para conocer las caracter sticas del sistema as como su funcionamiento El manual de Venus ver Fig 5 26 se implement con la clase ManualVenus extiende de la clase Manual que provee el EAPI 122 Descripci n Diag Colaboraci n Diag Clase Venus es una herramienta IL CASE tegrated Computer Aided sofware Engineeringh que permite realizar dise o orientado a objetos utilizando la notaci n del UML ni ed Afodeling Language Y pe ha limitado el alcance de la herramienta al soporte de diagramas de colaboraci n y de clase En este proyecto se utiliz el proceso unificado de desarrollo de software he Lhnified sofware Development Process invirtiendo 5 meses en an lisis dise o y 4 Meses en codificaci n pruebas Venus fue la primera herramienta CASE
19. de Diagrama e implementan m todos y propiedades de cada uno de los tipos de diagrama que representan La clase TextGraphic permite crear editar texto en la notaci n UML mx udlap msqlroot venus diagrama DiagramaClase DiagramaColaboracion E O TextGraphic a E Fig 5 15 Paguete diagrama 5 2 2 Diagramas de clase Para desarrollar este proyecto se utiliz el proceso unificado de desarrollo de software descrito en el cap tulo III Al momento de redactar este documento el proyecto se encontraba en su tercer ciclo iterativo y se hab an desarrollado las clases descritas en la figura 5 16 botonOK JButton botonCancelar JButton botonRegistro JButton loginField JTextField passwordField JPasswordField loginLabel JLabel passwordLabel JLabel Acceso init HmakeComponents HtieEvents FsetupGUI formPanel JPanel buttonPanel JPanel getValue key String Object putValue key String value Object actionPerformed event ActionEvent FvalidarUsuario login String password String main args String nombreLabel JLabel loginLabel JLabel passwordLabel JLabel confirmaPasswdLabel JLabel nombre JTextField login JTextField password JPasswordField confirmaPassword JPasswordField botonOK JButton botonCancelar JButton Registro init HmakeComponents HtieEvents FsetupGUI formPanel JPanel buttonPanel JPanel getVa
20. de audio o video de un URL Crear una firma digital para el EAPI de esta forma todas las clases que se desarrollen en el EAPI tienen garantizado si el usuario lo autoriza el acceso a los recursos locales del sistema donde se ejecuten Permitir que los Frames del ambiente tengan comunicaci n con los Servlets y JSPs Realizar un dise o detallado que agregue las siguientes ventajas al EAPI o Reutilizaci n Las clases se deben dise ar para ser reutilizadas por todas las herramientas contenidas en el entorno o Programaci n m s sencilla Permitir que las herramientas CASE se puedan elaborar a partir de piezas proporcionadas por el entorno componentes o Cuidar la integridad Las estructuras de datos s lo pueden utilizar m todos espec ficos mayor seguridad o Mantenimiento m s sencillo Las clases del EAPI deben efectuar sus funciones los m s independientemente posible 5 2 Dise o del sistema 5 21 Diagramas de paguetes 5 2 1 1 Paguete Acceso El paguete acceso consta de tres clases ver Fig 5 7 Acceso muestra y valida una forma para acceder al sistema EAPI es la clase principal del archivo eap1 jar su funci n es poder ejecutar el Entorno sin necesidad de un browser muy til en la fase de desarrollo de herramientas CASE La funcionalidad de la clase AccesoApplet es similar a la de Acceso la nica diferencia es que es invocada por un browser netscape o explorer Registro muestra y valida una forma de
21. eliminar la hoja se perder toda la informaci n que contiene El usuario confirma la opci n Venus elimina permanentemente la hoja del rbol En esta versi n de Venus no existe la opci n deshacer Fig 5 2 Casos de uso de Venus continuaci n Caso de uso Dibujar diagrama Actores Usuario iniciador Venus Permitir que el usuario dibuje un diagrama en el rea de dibujo Prop sito que contienen las hojas del rbol de proyecto El usuario selecciona una hoja del rbol de proyecto Venus muestra el rea de dibujo que tiene la hoja el usuario dibuja diagramas utilizando la barra de herramientas que tiene el rea de dibujo Curso normal de los eventos Paso Acci n Paso Acci n El usuario selecciona una hoja del rbol de proyecto Venus muestra el rea de dibujo de la hoja El usuario selecciona alguna de las opciones para dibujar de la barra de herramientas del rea de moo Lo que se dibuja depende de la opci n seleccionada La barra de herramientas de diagramas de colaboraci n tiene las siguientes opciones para dibujar nuevo diagrama agregar mensaje y agregar nota P 4 OPE a La barra de herramientas de diagramas de clase tiene las siguientes opciones para dibujar nuevo diagrama agregar atributo agregar operaci n y agregar nota Fig 5 2 Casos de uso de Venus continuaci n Caso de uso Editar diagrama Actores Usuario iniciador Ven
22. gramaDeNoSeleccion JPanel nombre String abrirConexion baseDatos Strin in Stri assword String Connection PanelDeNoSeleccion nombre String paint g Graphics print g Graphics pf PageFormat pi int int dibujaTexto g2 Graphics2D toString String PanelColaboracion PanelClase panelDibujo JPanel panelDibujo JPanel mouse MouseListenerClb mouse MouseListenerClase toolBarColaboracion JToolBar toolBarClase JToolBar nombre String nombre String seleccion JButton seleccion JButton objeto JButton clase JButton mensaje JButton atributo JButton note JButton operacion JButton cortar JButton asociacion JButton copiar JButton note JButton pegar JButton cortar JButton eliminar JButton copiar JButton botonSeleccionado int 1 pegar JButton eliminar JButton botonSeleccionado int 1 ManualVenus PanelColaboracion nombre String makeComponents E ManualVenus dibuja g2d Graphics2D PanelClase nombre String ftinit_HtmiPane HtieEvents makeComponents HcreateNodes top DefaultMutableTreeNode getValue key String Object dibuja g Graphics putValue key String value Object tieEvents i actionPerformed event ActionEvent getValue key String Object int print g Graphics pf PageFormat pi int putValue key String value Object desh
23. istrar Proyecto 1 1 utiliza contiene permite Guardar Datos comparte es due o vw v y Proyecto i Tat Herramienta p CASE permite Abrir Datos Proyecto tiene 7 1 v es Notaci n UML 4 crea edita permite Imprimir proyecto 1 1 1 1 puede ser puede ser vw gt Diagrama de Clase Diagrama de Colaboraci n Fig 5 4 Modelo conceptual del sistema Modelo conceptual del rbol de proyecto de Venus 1 0 1 Pama colaboraci n Hoja colaboraci n 1 Barra de herramientas 1 colaboraci n Conjunto de diagramas 7 de colaboraci n 1 Raiz 1 Barra de herramientas 1 clase 1 1 i 0 1 Rama clase Hoja clase 1 Conjunto de diagramas j de clase Fig 5 5 Modelo conceptual del rbol de proyectos de Venus 5 1 6 Herramientas ocupadas Las herramientas tecnol gicas ocupadas para este proyecto fueron muy importantes en el resultado obtenido de ah la importancia de su elecci n Despu s de analizar varias opciones eleg las siguientes herramientas 5 1 6 1 Java Java es una tecnolog a que simplifica considerablemente la construcci n de sistemas multiplataforma pues Java es un lenguaje OO para ser usado en Internet Es distribuido interpretado robusto seguro concurrente multithread y gratuito Proporciona el API de Swing para desarrollar interfaces gr ficas de f cil uso el JDBC Java DataBase Connectivity los archivos JAR Java Archive los JSP J
24. iten crear diagramas UML cuenta con un rbol gr fico en la parte izquierda que permite dar un orden jer rquico a los diagramas creados por los usuarios Ver figura 5 24 Archrro c Guardar AAA Con prailegio de lectura Con priilegio de escritura F Guardar Como 2 Manual del Usuario Nueva Versi n 2 Salir 1 cerca de Barra de herramientas de Venus ben Barra de herramietnas diagramas de colaboraci n Mel lo Je e Barra de herramientas diagramas de clase Rs eje 0 elelu Diagramas E Nuevo Diagrama De Colaboraci n Huevo Diagrama De Clase Fig 5 23 Men s e iconos de Venus 120 43 Diagramas de Clase Ta Venus Ta paquete til 4 Diagramas de Colaboracion Ta Marte A login String password String nombre String Usuario login String password String nombre String setLogin login String setPassword pass String setiNombre nombre String getLogin getPassword getiNombre toString String TextGraphic string String font Font frc FontRender ontext PanelDibujo drawTexO getBounds TextField DiagramaClase Fig 5 24 Interfaz gr fica de Venus 5 3 2 4 Manipulaci n de diagramas Para permitir que el usuario manipule c modamente los diagramas se incluyeron en Venus caracter sticas comunes de programas para crear editar diagramas no s lo de UML Dichas cara
25. la documentaci n del proyecto En la carpeta html est n todos los archivos que forman la p gina Web del proyecto y en src se encuentra el archivo eap1 jar archivo que empaqueta todas las clases La carpeta photoshop no contiene a la aplicaci n Adobe Photoshop en realidad en ella est n los archivos PSD de las im genes creadas para el EAPI Venus y la p gina Web 109 5 3 1 2 Modelo de integraci n A continuaci n se describe brevemente como fueron implementadas cada una de las capas del modelo de referencia de integraci n de Roger Pressman Pressman 01 Ver Fig 2 2 Capa de interfaz de usuario Esta capa fue implementada por las clases ICaseLookAndFeel Frame IPanel BlueTheme y Colors estas clases permiten dar un mismo aspecto a todas las herramientas contenidas en el ambiente integrado ver Fig 5 19 OSuLnagh gt E O Fig 5 19 Iconos utilizados en el EAPI Capa de herramientas Para lograr que el entorno sea accesible por un navegador la entrada al sistema es un JApplet implementado con la clase AccesoApplet el contexto que genera se almacena en la clase Static Esto permite que cualquier instancia de la clase IFrame clase que extiende de JFrame pueda manipular el navegador invocar a un Servlet o JSP y 110 reproducir audio o video de un URL al igual que un Applet Para reducir el tama o del sistema y mejorar el rendimiento del navegador que lo ejecute se comprimiero
26. lase mediumblob gt UMLenUso char 2 DEFAULT no gt PRIMARY KEY login nombre version gt KEY pkusuario login gt FOREIGN KEY l ogin REFERENCES usuario login ON UPDATE CASCADE ON DELETE CASCADE gt Type InnoDB Query OK 0 rows affected 0 12 sec 5 3 1 3 Portabilidad y mantenimiento El sistema EAPI se implement con tecnolog as multiplataformas Java Jakarta MySQL lo que permite una migraci n a cualquier sistema operativo basado en Unix o Windows Otra caracter stica interesante del sistema es que se encuentra modulado y documentado cabe hacer notar que se invirti mucho tiempo en este aspecto ya que la arquitectura del ambiente integrado a n es b sica y se espera que posteriormente sea mejorada De ah la necesidad de excelente documentaci n 113 5 3 1 4 Interfaces gr ficas Las siguientes clases del EAPI cuentan con interfaz gr fica ver Fig 5 22 Acceso AccesoApplet Registro EAPI_Frame ManualEAPI AbrirProyecto AdministrarProyecto y GuardarProyecto AccesoApplet E MSQLroot Microsoft Internet Explorer File Edit View Favorites Tools Help Q ter r r x A j Search 5 7 Favorites EA media a A E i m a Informaci n a Comentarios 5 a Proyecto EAPI Login Otros Proyectos di E aceptar Registro Ligas de interes Citrix sesi n X E pplet ma udlap msglroot acceso AccesoApplet started
27. lue key String Object putValue key String value Object FvalidarRegistro FaltaNuevoUsuario boolean ManualEAPI init HtmlPanef HcreateNodes top DefaultMutableTreeNode AccesoApplet botonOK JButton botonRegistro JButton loginField JTextField passwordField JPasswordField loginLabel JLabel passwordLabel JLabel init HmakeComponents HtieEvents FsetupGUI formPanel JPanel buttonPanel JPanel getValue key String Object putValue key String value Object actionPerformed event ActionEvent validarUsuario login String password String EAPI Frame botonVenus JButton botonMarte JButton areaTextoVenus JTextArea areaTextoMarte JTextArea usuario Usuario mBar JMenuBar salir JButton adminProyectos JButton manual JButton acercaDe JButton EAPI_Frame usuario Usuario init HmakeComponents HtieEvents FsetupGUI headPanel JPanel listaPanel JPanel menuPanel JPanel venusPane JPanel martePane JPanel Object getValue key String putValue key String value Object actionPerformed event ActionEvent login String password String nombre String Usuario login String password String nombre String setLogin login String setPassword pass String setNombre nombre String getLogin String getPassword String getN
28. mas de clase IPanel makeButton toolTipText String pathlmagen String JButton makeMenultem text String pathlmagen String JMenultem makelmagelcon pathlmagen String Imagelcon mostrarDialogolmprimir print g Graphics pf PageFormat pi int int IFramef showURL url string String target String makeButton toolTipText String pathlmagen String JButton makeMenultem text String pathlmagen String JMenultem makelmagelcon pathlmagen String Imagelcon EAPILookAndFeel EAPlLookAndFeel getiD String getName String getDescription String HinitClassDefaults table UlDefaults Manual mbar JMenuBar salir JButton imprimir JButton splitPane JSplitPane tree JTree himiPane JEditorPane Manual init HmakeComponents Hinit_HimiPane FsetupGUI JPanel splitPane JPanel TreePanel HdisplayURL url URL HcreateNodes top DefaultMutableTreeNode HtieEvents getValue key String Object putValue key String value Object actionPerformed event ActionEvent mostrarDialogolmprimir print g Graphics pf PageFormat pi int int NodoMenu class MyRenderer class mainApplet Applet Static Static mainApplet Applet getApplet Applet setApplet mainApplet Applet del proyecto continuaci n Conexion PanelDeNoSeleccion conexion Connection null dia
29. mes Servletes JSP Las conclusiones se sintetizan el la Fig 5 6 Ventajas Desventajas Se integra a las p ginas Web No tiene acceso a los recursos locales del Al ejecutarse se genera un contexto que le sistema permite manipular el navegador reproducir archivos de audio o video de un URL Debe ser una aplicaci n peque a para estar Permite dibujar diagramas disponible en el Web Puede utilizar el API de Swing Ventajas Desventajas Tiene acceso a los recursos locales del No se integra a p ginas sistema Web Puede ser una aplicaci n grande No puede manipular un navegador reproducir Permite dibujar diagramas archivos de audio o video de un URL de una manera Puede utilizar el API de Swing sencilla Servlet JSP Ventajas Desventajas Generan p ginas html de forma din mica No pueden reproducir audio o video Pueden dar seguimiento a una sesi n de usuario de manera muy sencilla No pueden dibujar diagramas Interact an con p ginas html No pueden utilizar el API de Swing Fig 5 6 Ventajas y desventajas de Applets Frames y Servlets JSP Despu s de evaluar las ventajas y desventajas de estas tecnolog as se agregaron los siguientes requerimientos al EAPI Implementar el acceso del EAPI con un JApplet Permitir que los Frames que se generen en el EAPI tengan acceso al contexto de ejecuci n del JApplet de acceso para que tambi n puedan manipular el navegador reproducir archivos
30. n y empaquetaron todas las clases e im genes del EAPI en un archivo JAR eapi jar Se utiliz el siguiente manifiesto para el archivo JAR Class Path ibs mm mysql 2 0 4 bin jar Created By 1 4 2 Sun Microsystems Inc Main Class mx udlap msqlroot acceso Acceso mplementation Title Case I mplementation Vendor Fundaci n Universidad de las Am ricas Puebla El archivo JAR fue firmado con un certificado digital para mayor informaci n de certificados y firmas digitales ver el ap ndice III con duraci n de diez a os ver Fig 5 20 para permitir que cualquier JApplet del EAPI tenga acceso a los recursos locales del sistema operativo al igual que un Frame Y Joel Iv n Rea Cort s Joel v n F M 1 065439988 SH41wihDS4 M Joel v n Rea Cort s OU Depto From Fri Oct 17 20 19 46 CDT 2003 T CHN Jo0el v n Rea Cort s OlUi Diepto 0000 3020 021410BFB579 ODFFE From Fri Oct 17 20 19 46 COT 2003 To sun Aug 25 20 19 46 COT 2013 Fig 5 20 Certificado digital del EAPI 111 Si un Servlet o JSP necesita dibujar pueden solicitarlo a un JApplet o a un IFrame del EAPI Para proveer una simplificaci n en la transferencia de datos entre las herramientas del entorno se implementaron las clases Usuario y Proyecto Capa de gesti n de objetos Para esta capa desarroll las siguientes clases Conexion AbrirProyecto AdministrarProyecto GuardarProyecto y Proyecto Estas clases
31. nipular Cursos alternos Paso 3 No se puede recuperar la informaci n de la BD Se muestra el error Notas En esta versi n del EAPI se regresa la informaci n en estructuras de datos que Paso 3 son muy sencillas de manipular arreglos vectores rboles Fig 5 1 Casos de uso del EAPI continuaci n Caso de uso Guardar proyecto Actores Herramienta CASE iniciador EAPI Prepara las tuplas necesarias en la BD y guarda la informaci n generada por las herramientas CASE La herramienta CASE pide al EAPI que guarde la informaci n que contiene Prop sito Resumen Curso normal de los eventos Paso Acci n Paso Acci n La herramienta CASE solicita al EAPI que guarde la informaci n en la base de datos EAPI prepara todas las tuplas que se necesitan para almacenar la informaci n La herramienta CASE da la informaci n al EAPI para que sea almacenada BD Cursos alternos Paso 2 No se pueden generar la tuplas se muestra el error y se cancela el proceso No se puede guardar la informaci n en la BD Paso 3 se muestra el error y se cancela el proceso Notas Paoli En esta versi n del EAPI se necesita que los datos que se van a guardar sean serializables la informaci n se guarda en bytes Fig 5 1 Casos de uso del EAPI continuaci n 5 1 3 Casos de uso de Venus Para el I CASE Venus se identificaron cuatro casos de uso b sicos que se detallan en la Fig 5
32. ntas CASE Actores Usuario EAPI iniciador Mostrar a los usuarios del EAPI una lista secuencial con las herramientas CASE del entorno Despu s de validar el acceso de un usuario EAPI muestra una lista con todas las herramientas que puede ocupar Cuando el usuario selecciona una herramienta CASE EAPI crea una instancia de dicha herramienta Prop sito Curso normal de los eventos EAPI muestra una interfaz gr fica que le permite al usuario seleccionar una herramienta CASE El usuario selecciona una herramienta EAPI crea una instancia de dicha herramienta Actores Usuario iniciador EAPI Mostrar a un usuario el Manual de una herramienta contenida en el ambiente El usuario solicita el manual en ese momento el sistema EAPI construye un manual con p ginas html y lo muestra al usuario Prop sito Resumen Curso normal de los eventos Actor Sistema Paso Acci n Paso Acci n El usuario presiona el bot n Manual de alguna de las herramientas del Entorno El EAPI construye el manual con p ginas html mostrando el ndice en un rbol Muestra al usuario el manual Cursos alternos Paso 2 No se encuentran las p ginas html Se muestra el error y se construye en manual con las paginas encontradas El que desarrolla la herramienta es el que indica donde est n las p ginas html que necesita su manual Fig 5 1 Casos de uso del EAPI continuaci n Caso de uso Imprimir Ac
33. ombre String toString String Fig 5 16 Diagramas de clase del proyecto AbrirProyecto dialog AbrirProyecto value Proyecto hayProyectos boolean locationComp Component DEL USUARIO int 0 LECTURA int 1 ESCRITURA int 2 list JList usuario Usuario abrirButton JButton mostrarProyectos int mostrarDialogoAbrirProyecto frameComp Component locationComp Component usuario Usuario mostrarProyectos int Proyecto abrirDatosUML proyecto Proyecto DefaultMutableTreeNode AbrirProyecto frame Frame locationComp Component usuario Usuario mostrarProyectos int getProyectos DefaultListModel actionPerformed e ActionEvent valueChanged e ListSelectionEvent MyListCellRenderer class AdministrarProyecto proyecto Proyecto actualizar JButton cancelar JButton eliminar JButton nombre JLabel versi n JLabel ninguno JRadioButton lectura JRadioButton escritura JRadioButton contador int 0 mostrarDialogoAdministrar frame Frame locationComp Component proyecto Proyecto AdministrarProyecto frame Frame locationComp Component proyecto Proyecto Hinit HmakeComponents privilegioActual HtieEvents FsetupGUI panelPrincipal JPanel panelBotones JPanel actionPerformed ActionEvent e actualizarPrivilegio eliminarProyecto GuardarProyecto respuesta Proyecto loc
34. r fica de acceso EAPI muestra una forma de registro El usuario llena la forma de registro y presiona el bot n aceptar EAPI muestra los datos con los que el usuario ser dado de alta El usuario presiona el bot n aceptar EAPI guarda los datos en la BD Cursos alternos El usuario no llen todos los campos de la forma Se notifica al usuario solicit ndole que introduzca los datos que falten Ya existe un usuario con el mismo login Se le pide al usuario que proporcione uno nuevo Los passwords no coinciden Se le notifica al usuario pidi ndole que verifique su password La forma de registro tiene los siguientes campos nombre login password y confirmar password Fig 5 1 Casos de uso del EAPI continuaci n Mostrar lista de proyectos Actores Herramientas CASE iniciador EAPI Permitir que una herramienta del ambiente muestre a los usuarios los proyectos contenidos en el EAPI de forma gr fica Prop sito Una Herramienta solicita al EAPI una lista con los proyectos que Resumen necesita mostrar a un usuario EAPI busca los proyectos en la BD y crea una ventana con el contenido de la b squeda Curso normal de los eventos Acci n La herramienta CASE solicita al entorno una lista de proyectos de un usuario determinado EAPI busca los proyectos en la base de datos EAPI crea una interfaz gr fica con el contenido de la b squeda Cursos alternos Paso 3 No se encontraron proyecto
35. rUlResource ColorUlResource 44 73 135 BLUE MEDIUM DARK ColorUlResource ColorUlResource 49 106 196 BLUE MEDIUM MEDIUM ColorUlResource ColorUlResource 85 115 170 BLUE MEDIUM LIGHTEST ColorUlResource ColorUlResource 172 210 248 GREEN LOW DARK ColorUlResource ColorUlResource 75 148 75 GREEN LOW MEDIUM ColorUlResource ColorUlResource 112 190 112 GREEN LOW LIGHTEST ColorUlResource ColorUlResource 200 222 200 GREEN CHECK ColorUlResource ColorUlResource 33 161 33 PINK HIGH DARK ColorUlResource ColorUlResource 128 0 128 PINK LOW DARK ColorUlResource ColorUlResource 128 70 128 PINK_LOW MEDIUM ColorUlResource ColorUlResource 190 150 190 PINK LOW LIGHTER ColorUlResource ColorUlResource 233 207 233 RED LOW DARK ColorUlResource ColorUlResource 128 70 70 RED LOW MEDIUM ColorUlResource ColorUlResource 190 112 112 RED LOW LIGHTER ColorUlResource ColorUlResource 222 200 200 YELLOW LOW MEDIUMDARK ColorUlResource ColorUlResource 182 149 18 YELLOW LOW MEDIUM ColorUlResource ColorUlResource 244 214 96 YELLOW LOW LIGHTEST ColorUlResource ColorUlResource 249 225 131 BLUE FOCUS ColorUlResource BLUE MEDIUM LIGHTEST ORANGE FOCUS ColorUlResource ColorUlResource 245 165 16 YELLOW FOCUS ColorUlResource ColorUlResource 255 223 63 GRAY FOGUS ColorUlResource ColorUlResource Color lightGray Fig 5 16 Diagra
36. ramaColaboracion Colors IFrame lt Manual PanelClase lt lt interface gt gt pa a s 7 lt lt interface gt gt NodoMenu IPanel JPanel f ActionListener JFrame gt ManualVenus ManualEAPI PanelDeNoSelecci n TreePanel GuardarProyecyto AdministrarProyecto AbrirProyecto BlueTheme DefaultMetalTheme MyListCellRender DefaultListCellRenderer lt lt interface gt gt MyRender DefaultTreeCellRender EAPILookAndFeel MetalLookAndFeel JDialog gt HA MyListSelectionListener Fig 5 17 Herencias e implementaci n de interfaces en el proyecto 106 5 2 An lisis de relaciones de las clases desarrolladas IFrame N gt JFrame Acceso lt lt interface gt gt Printable lt lt interface gt gt Action AccesoApplet JApplet Registro Manual JPanel IPanel EAPI Frame ManualVenus
37. rimary1 ColorUlResource HgetPrimary2 ColorUlResource HgetPrimary3 ColorUlResource HgetSecondary1 ColorUlResource HgetSecondary2 ColorUlResource HgetSecondary3 ColorUlResource getMenultemSelectedBackground ColorUlResource getMenultemSelectedForeground ColorUlResource getMenuSelectedBackground ColorUlResource getMenuSelectedForegrouna ColorUlResource getMenultemBackgrouna ColorUlResource getFocusColor ColorUlResource getWindowTitleBackground ColorUlResource getWindowTitleForeground ColorUlResource Colors GRAY DARKEST ColorUlResource ColorUlResource 64 64 64 GRAY DARKER ColorUlResource ColorUlResource 82 82 82 GRAY DARK ColorUlResource ColorUlResource 90 90 90 GRAY MEDIUMDARK ColorUlResource ColorUlResource 110 110 110 GRAY MEDIUM ColorUlResource ColorUlResource 128 128 128 GRAY MEDIUMLIGHT ColorUlResource ColorUlResource 150 150 150 GRAY LIGHT ColorUlResource ColorUlResource 170 170 170 GRAY_LIGHTER ColorUlResource ColorUlResource 220 220 220 GRAY LIGHTER2 ColorUlResource ColorUlResource 230 230 230 GRAY LIGHTEST ColorUlResource ColorUlResource 240 240 240 BROWN_LIGHTEST ColorUlResource ColorUlResource 242 241 238 BLUE LOW MEDIUM ColorUlResource ColorUlResource 166 202 240 BLUE LOW LIGHTEST ColorUlResource ColorUlResource 195 212 232 BLUE MEDIUM DARKEST Colo
38. rolladores puedan incrementar nuevas funcionalidades f cilmente 5 1 2 Casos de Uso del EAPI Despu s de analizar detalladamente los requerimientos del EAPI se identificaron nueve casos de uso b sicos Ver Fig 5 1 Caso de uso Acceso al EAPI Actores Usuario EAPI iniciador Prop sito Permitir que un usuario tenga acceso al EAPI Se valida que el usuario est registrado en el EAPI si aprueba la validaci n se le permite el acceso Curso normal de los eventos Paso Acci n Paso Acci n EAPI muestra una interfaz gr fica 3 que permite que un usuario se identifique El usuario introduce su login y 2 password y presiona el bot n aceptar EAPI busca el login y password en la base de datos Al encontrar el login y password se permite el acceso del usuario al sistema Cursos alternos El login y o password no se encuentran en la base de datos Se notifica al usuario solicit ndole que introduzca nuevamente sus datos Paso 4 Notas asc La interfaz consiste en dos reas de texto para login y password y dos botones aceptar y registro Fig 5 1 Casos de uso del EAPI Caso de uso Registrar nuevo usuario Actores Usuario iniciador EAPI Prop sito Permitir que un usuario se registre en el EAPI Un usuario llena una forma de registro EAPI la valida y guarda los datos en la BD Curso normal de los eventos Actor Sistema usuario presiona el bot n a de la interfaz g
39. ron ocho clases ver Fig 5 14 La clase m s importante es Venus se encarga de generar la interfaz gr fica y de gestionar a las clases involucradas en este proceso La clase ManualVenus como su nombre lo indica muestra el manual del CASE Venus La clase TreePanel contiene la interfaz gr fica del rbol de proyecto para crear dicha interfaz utiliza a PanelColaboracion contiene un conjunto de diagramas de colaboraci n y a PanelClase contiene un conjunto de diagramas de clase tambi n hace uso de PanelDeNoSeleccion en realidad esta clase es un auxiliar que es invocada cuando el usuario selecciona una parte del rbol que no tiene diagramas por ejemplo la ra z del rbol la ra z de la rama de diagramas de clase o la ra z de la rama de diagramas de colaboraci n Por ltimo las clases MouseListenerClb y MouseListenerClase permiten responder a los eventos del mouse en las instancias de PanelColaboraci n y PanelClase respectivamente mx udlap msqlroot venus PanelClase PanelColaboraci n AAN AAA MouseListenerClase MouseL istenerClb AAA PAN po AAA Fig 5 14 Paquete venus 5 2 1 9 Paquete Diagrama Este paquete contiene cuatro clases ver Fig 5 15 que permiten dibujar editar los diagramas de colaboraci n y de clase La clase Diagrama implementa los m todos y propiedades generales a los diagramas como son traslaci n actualizar tama o y selecci n Las clases DiagramaClase y DiagramaClb extienden directamente
40. s Se crea un dialogo que indique que no hay proyectos Notas SPT Tambi n se puede crear una lista de los proyectos con privilegio de lectura o escritura Fig 5 1 Casos de uso del EAPI continuaci n Caso de uso Administrar proyectos Actores Usuario iniciador EAPI Permitir que el usuario cambie los privilegios de sus proyectos o los elimine del EAPI Un usuario selecciona la opci n administrar proyectos EAPI proporciona las opciones de cambiar privilegio y eliminar el usuario selecciona una opci n y EAPI actualiza los datos Prop sito Curso normal de los eventos Paso Acci n Paso Acci n 1 El usuario selecciona la opci n de administrar proyectos EAPI muestra una lista con los proyectos que son propiedad del usuario 3 El usuario selecciona un proyecto de la lista EAPI muestra una interfaz gr fica que permite que el usuario administre el proyecto seleccionado El usuario selecciona alguna de las opciones que le muestra la interfaz EAPI guarda los cambios en la base de datos Cursos alternos El usuario desea eliminar un proyecto que est ocupado Se impide que el usuario elimine el proyecto indic ndole la raz n El usuario puede elegir el privilegio que desea dar a su proyecto para otros miembros del EAPI lectura escritura o ninguno Tambi n puede eliminar el proyecto del entorno Fig 5 1 Casos de uso del EAPI continuaci n Caso de uso Mostrar herramie
41. sirven como est ndares a las herramientas CASE del EAPI para conectarse a el dep sito de proyectos Tambi n se encargan del control de cambios y versiones para conocer m s detalles leer 5 2 1 3 Capa de dep sito compartido Esta capa se implement con MySQL el demonio o guardi n del manejador se encuentra activo en el servidor mailweb udlap mx en el puerto 3306 La BD Base de Datos principal del EAPI se llama icase contiene los datos de los proyectos y usuarios El modelo Entidad Relaci n de la base de datos icase es relativamente sencillo pues s lo abarca informaci n b sica de los proyectos usuarios y la notaci n UML que genera Venus ver Fig 5 21 112 Usuario login password nombre nombre versi n privilegio lectura escritura nombre d colaboraci n d clase UMLenUsof si no Fig 5 21 Diagrama Entidad Relaci n de la BD icase A continuaci n se muestra el c digo SQL que se utiliz para crear las tablas mysql gt CREATE TABLE usuario gt login varchar 15 NOT NULL gt password varchar 15 NOT NULL gt nombre varchar 40 NOT NULL gt PRIMARY KEY login gt KEY pkusuario login gt Type InnoDB Query OK 0 rows affected 0 11 sec mysql gt CREATE TABLE proyecto gt login varchar 15 NOT NULL gt nombre varchar 40 NOT NULL gt version varchar 40 NOT NULL gt privilegio varchar 10 default ninguno gt d colaboracion mediumblob gt d c
42. sq root Developers stuff setenv JAVA DIR MSOLRO00T HOME j 2sdk setenv CLASSPATH HOME HOME ht ml setenv JAVA HOME MSOLRO00T HOME j 2sdk FRERRRKT KRK TR TR KR KRK RKK KT RR ARARKF RF RF RF RF RRRRF RF RF RF EEEE EEEE E Configuracion de JAVA VEE EEEE EEEE K TRK KR KRK RK KRK FR EEEE EEEEEEEEEEEEEEEEEE EEEE EEEE EEEE E Definicion minima de CLASSPATH setenv CLASSPATH HOME HOME h setenv JAVA HOME MSOLR00T HOME j2s Driver de MySQL para java JDBC abs CLASSPATH CLASSPATH HOME mysgl driverMySOL mm mysql 2 0 4 bin jar Archivo jar de TOMCAT ses CLASSPATH CLASSPATH HOME j akarta tomcat common ib servlet jar 25 ht t mi dk path de los paquetes del EAPI setenv CLASSPATH CLASSPATH HOME EAPI b API i n setenv CLASSPATH CLASSPATH HOME E SE Para poder trabajar c modamente en el entorno se organizaron los archivos en seis carpetas ver Fig 5 18 En cada una de las carpetas se agreg un archivo readme txt que explica detalladamente su contenido 108 msglroot Fig 5 18 Organizaci n de archivos en la cuenta msqlroot La carpeta eapi se subdivide en las carpetas bin api y src La carpeta bin contiene todos los archivos class del proyecto en la carpeta src est n todos los archivos fuente y en la carpeta api se agreg el API Aplication Programming Interface de las clases desarrolladas para que forme parte de
43. to de Ingenier a en Sistemas Computacionales Proyectos CASE Integrated Computer Aided Software Engineering Venus Herramienta CASE para dise o orientacio a objetos basada en el hl Entrar Marte Herramienta CASE para estimaciones de costo basada en COCOMO Fig 5 22 Interfaces gr ficas de las clases del EAPI continuaci n 117 Manual EAPI ES Descripci n Requerimientos El Contacto Licencia FAL l Para obtener una copia del c digo fuente se necesita la aprobaci n del autor del asesor y de la Universidad de las Am ricas Puebla 2 El c digo se proporcionar a miembros de la Unirersidad de las m ricas Puebla interesados en continuar con el proyecto s lo si el asesor lo autoriza 3 La licencia de uso del c digo contenido en la presente aplicaci n garantiza a quien tenga una copia de ella el uso ilimitado e irrestricto de la misma tanto en sus formatos binario como de c digo fuente siempre y cuando no entre en contradicci n con normas morales ticas o sociales contribuya a mejorar el sistema y se de reconocimiento al autor Fig 5 22 Interfaces gr ficas de las clases del EAPI continuaci n 5 3 2 Implementaci n de Venus 5 3 2 1 Descripci n Venus permite realizar dise o orientado a objetos utilizando la notaci n del UML 118 Unified Modeling Language Se limit el alcance de la herramienta al soporte de
44. tores Usuario iniciador EAPI Prop sito Imprimir la informaci n generada por las herramientas del EAPI El usuario presiona el bot n imprimir EAPI solicita al sistema la ventana de impresi n predeterminada y muestra al usuario las impresoras donde puede mandar el trabajo de impresi n Curso normal de los eventos Paso Acci n Paso Acci n 1 Presionar el bot n Imprimir de alguna de las herramientas del Entorno EAPI solicita al sistema operativo la ventana de impresi n predeterminada EAPI muestra la ventana de impresi n al usuario El usuario configura su trabajo de impresi n D EAPI manda al trabajo a la cola de impresi n de la impresora seleccionada por el usuario Cursos alternos El sistema operativo no permite que se inicie un trabajo de impresi n Se notifica la situaci n al usuario Fig 5 1 Casos de uso del EAPI continuaci n Caso de uso Abrir proyecto Actores Herramienta CASE iniciador EAPI Permitir que una herramienta CASE tenga acceso a la informaci n Prop sito l p generada por otras herramientas del entorno Resumen La herramienta CASE pide al EAPI la informaci n que necesite de un proyecto Curso normal de los eventos Paso Acci n Paso Acci n La herramienta CASE solicita la informaci n de un proyecto al EAPI El EAPI busca la informaci n solicitada en la BD EAPI le da a la herramienta CASE la informaci n en un formato que es f cil de ma
45. us Permitir que el usuario edite un diagrama en el rea de dibujo que contienen las hojas del rbol de proyecto El usuario selecciona una hoja del rbol de proyecto Venus muestra el rea de dibujo que tiene la hoja el usuario edita diagramas utilizando la barra de herramientas que tiene el rea de dibujo Prop sito Curso normal de los eventos Paso Acci n Paso Acci n El usuario selecciona una hoja del rbol de proyecto Venus muestra el rea de dibujo de la hoja El usuario selecciona alguna de las opciones para editar de la barra de herramientas del rea de dibujo Lo que se edita depende de la opci n seleccionada La barra de herramientas de diagramas de colaboraci n y de clase tienen las Paso 4 kase kok s s siguientes opciones para editar seleccionar mover cortar copiar y pegar Fig 5 2 Casos de uso de Venus continuaci n 5 1 4 Diagramas de casos de uso Usuario Usuario Acceso al EAPI Registrar nuevo usuario lt lt include gt gt Administrar Mostrar lista proyectos de proyectos Mostrar herramientas CASE Mostrar manual Herramientas CASE Abrir proyecto Guardar proyecto Agregar una hoja al rbol de proyecto Borrar una hoja del rbol de proyecto Dibujar diagrama Editar diagrama Fig 5 3 Diagramas de casos de uso del proyecto 5 1 5 Modelo conceptual Modelo conceptual del sistema permite 1 4 tiene Ne Usuario EAPI 1 Admin
46. yout TextLayout TextGraphic string String font Font fre FontRenderContext drawText g2d Graphics2D rectangle Rectangle getBounds Rectangle getBoundsTextField Rectangle DiagramaClase texto String textGraphic TextGraphic g2d Graphics2D null DiagramaClase p Point drawText g2d Graphics2D drawText actualizarMinimumSize getBoundsText Rectangle getBoundsTextField Rectangle setTexto texto String getTexto String DiagramaColaboracion texto String textGraphic TextGraphic g2d Graphics2D null DiagramaColaboracion p Point drawText g2d Graphics2D drawText actualizarMinimumSize getBoundsText Rectangle getBoundsTextField Rectangle setTexto texto String getTexto String MouseListenerClase panelClase PanelClase diagramasClase Vector rectanguloDeSeleccion Rectangle pointPressed Point mover boolean false resize boolean false esquinaResize int numResize int MouseListenerClase panelClase PanelClase mouseClicked event MouseEvent mousePressed event MouseEvent mouseDragged event MouseEvent mouseReleased event MouseEvent mouseMoved event MouseEvent borrarSelecciones getDiagramasClase Vector getRectanguloDeSeleccion Rectangle MouseListenerClb panelClb PanelColaboracion diagramasColaboracion Vector rectanguloDeSeleccion Rectangle

Download Pdf Manuals

image

Related Search

Related Contents

Guia del usuario de Universal Slave Driver  MRS 1616-HS 16X16 HD/SD routing switcher  User Manual  Manual de instrucciones  2 PILOGEL SS  Alcatel-Lucent OmniPCX Enterprise Communication Server  Acco 62402 wrist rest  Vieillir selon Flaubert - Dipartimento di Lingue e letterature straniere  Smart Board Operating Instructions DO NOT use markers of any sort  PLC2 Espanhol 0899.5551  

Copyright © All rights reserved.
Failed to retrieve file