Framework Java Analizer Code

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
UML DCU -DS Alvaro Garrido V..
Red Social: “Un millón de Amigos”.
Plan de Implantación Sistemas de Información III
Lenguaje Unificado de Modelado
Introducción a las Tecnologías Informáticas Oscar Bedoya
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Arquitectura CLARO-TECNOTREE
Metodologías OMT Republica bolivariana de Venezuela
DIAGRAMA DE COMPONENTES
Empresa: Liebre Primer ciclo Proyecto TripleC. Conseguir soluciones inteligentes para satisfacer de una manera rápida y segura las necesidades de nuestros.
Etapas y actividades en el desarrollo OO basado en UML
Java 2 Platform Enterprise Edition
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
DESCRIPCION DEL PROBLEMA
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Erique Gaspar, Carlos Alfredo
Desarrollo Orientado a Objetos con UML
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Profesor: Miguel Angel Vidal
Introducción a la programación Orientada a objetos
Modelado Arquitectónico
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Ingeniería de Software
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Las etapas de un proyecto
LA IMPORTANCIA DE LAS PyMEs
1 Diseño Orientado a Objetos Agustín J. González ELO-329: Diseño y Programación Orientados a Objetos 1er. Sem
Unidad VI Documentación
Metodología para el desarrollo de Software educativo POO
Proyecto de Ingeniería de Software Grupo 9 Septiembre 2009
Plan de Sistemas de Información (PSI)
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Ingeniería de software
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
Desarrollo de Software Orientado a Objetos (deficiencias)
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
PROYECTO INGENIERIA DE SOFTWARE Facultad de Ingeniería UDELAR
Análisis y diseño de sistemas Diagrama de componentes
Proyecto de Carrera Tecnólogo en Informática 2012 Grupo 02 Luis Conde Juan Urtiaga Jorge Melnik Álvaro Vallvé Prof. Ing. Dra. Andrea Delgado.
PROYECTO TECNOLÓGICO Mateo Guerra Alzate Cristian Herrera 9-D I
Introducción a UML Departamento de Informática Universidad de Rancagua
Ingeniería de Requisitos
Jairo Pinto Ing. sistemas
UML.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.
Prof. Joel Moreno Molina
Actividades en el Proceso de desarrollo de Software
ANÁLISIS ESTRUCTURADO
Proceso de Diseño de Interfaces
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Preocupaciones del Analista Programador & Usuarios
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
Proceso de desarrollo de Software
Investigación preliminar  Entender la naturaleza del problema  Definir el alcance y las restricciones o limitaciones del sistema  Identificar los beneficios.
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
MODELAMIENTO VISUAL Y UML
Integrantes: Castro José República Bolivariana De Venezuela Ministerio Del Poder Popular Para La Educación Superior Instituto Universitario Tecnológico.
ELO-329: Diseño y Programación Orientados a Objetos1 Proceso de Desarrollo de SW Agustín J. González ElO329: Diseño y Programación Orientados a Objeto.
Entregables del Proyecto
Flujos de Trabajo Fundamentales Proceso Unificado de Desarrollo de Software.
Transcripción de la presentación:

Framework Java Analizer Code UNIVERSIDAD NACIONAL DE SAN AGUSTIN ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS TECNOLOGIA DE OBJETOS Framework Java Analizer Code Alexander Ocsa Mamani aocsa@episunsa.edu.pe Christian Portugal Zambrano cportugal@episunsa.edu.pe Jonathan Miranda Campos jmiranda@episunsa.edu.pe Alexander Machaca Huancco amachaca@episunsa.edu.pe Claudia Luque Ventura cluque@episunsa.edu.pe Ernesto Suarez López esuarez@episunsa.edu.pe Gustavo Bravo Esquivias gbravo@episunsa.edu.pe Enero, 2009

Agenda Resumen Introducción Objetivos y restricciones de la arquitectura Representación de la Arquitectura Vista de Casos de Uso Vista Lógica Vista de Despliegue Arquitectura del Proyecto Diseño del framework OO Diagrama de clases Diseño de código fuente Preguntas de Discusión Conclusiones Referencias

Palabras clave: Framework JAC, Java Analizer Code, Plugin Resumen Se propone realizar un framework el cual nos ayudara a corregir errores de un programa en Java, para lo cual si tienen en cuenta algunas reglas las cuales serán implementadas y estas se dividen en el análisis de POO y análisis de excepciones El cual esta siendo desarrollado en la plataforma Java. El resultado esperado del proyecto será un Framework para desarrolladores y un Plug-in para eclipse. Palabras clave: Framework JAC, Java Analizer Code, Plugin

Introducción (...1) Propósito El presente documento de arquitectura, tiene como finalidad presentar la arquitectura del framework JAC, el cual se detalle en diferentes vistas que tienen como fin describir el comportamiento del framework desde diferentes contextos.  

Introducción (...1) Alcance La descripción del documento se encuentra basado en la vista lógica del framework, por tal motivo se incluye aspectos relevantes de cada una de la vistas. Por el contrario no se detalla aspectos relacionados con el lenguaje de programación.

Representación de la Arquitectura El modelo propuesto utiliza el siguiente conjunto de vistas Vista de Casos de Uso Vista Lógica Vista de Procesos Vista de Deployment Vista de Implementación Vista de Datos

Objetivos de la arquitectura El objetivo principal del desarrollo del Java Analizer Code es revisar código java sin ejecutar el código. Identificar errores y mostrar la forma correcta de la implementación. Componentes altamente reutilizables. Implementación de reglas. Visualizar análisis de los resultados

Restricciones de la arquitectura El analizador solo analiza Código Java IDE de uso Eclipse, ya que será integrado a este como un Plugin. Solo son implementadas 15 reglas. Está basado en las implementaciones de jdk 1.6.

VISTA DE CASOS DE USO Identificación de casos de uso Iniciar Java Analizer Code Este caso de Uso inicia el funcionamiento del Java Analizer Code aquí ingresamos el código fuente en java que será analizado. Detener Java Analizer Code Este caso de Uso detiene el funcionamiento del Java Analizer Code. Limpiar Java Analizer Code Este caso de Uso funcionara cuando se desee limpiar cualquier información ya sea errores o mensajes de advertencias Analizar Reglas Este caso de Uso funcionara cuando se desee limpiar desea analizar con el código java con una determinada regla. Se analizará: Analizar POO Analizar Excepciones Visualizar Resultados del análisis Este caso de uso es el resultado del análisis del código, si el código esta errado JAC nos corregirá, y si el código es correcto nos mostrará el siguiente mensaje “Código listo para ser utilizado”.

VISTA DE CASOS DE USO (cont …)

Casos de Uso Relevantes para la Arquitectura Iniciar JAC La realización del caso se uso queda a cargo del subsistema Interfaz y el subsistema analizador de codigo.

Casos de Uso Relevantes para la Arquitectura (cont …) Detener JAC Limpiar JAC

Casos de Uso Relevantes para la Arquitectura (cont …) Analizar Reglas Visualizar resultados de análisis.

Descripción de los subsistemas VISTA LÓGICA Descripción de los subsistemas Subsistema analizador de código.- Este subsistema es el analizador de código propiamente dicho que contiene un tree para recorrer el código y contiene las reglas implementadas que analizaran dicho código. Este subsistema está formado por Api-AST y las reglas que analizaran el código. Subsistema Plug-in.- Este subsistema es el plug in desarrollado, que será integrado al analizador y ambos conformaran el plug in final, que podrá ser incorporado a eclipse. Este subsistema está formado por View y Menu.

Subsistema Analizador de Reglas VISTA LÓGICA (cont …) Subsistema Analizador de Reglas Subsistema Plug-in

Vista de Despliegue La siguiente figura presenta el escenario de distribución esperado para la instalación del framework. El mismo se ubica en el contexto de una organización, sobre una LAN privada y se prevé el acceso vía Internet a un repositorio de servicios

Arquitectura del Proyecto En la siguiente figura presenta una vista global de los subsistemas del framework y las herramientas externas que se utilizaron para lograr cumplir los cometidos definidos para cada subsistema.

Vista de Deployment La siguiente figura ilustra el deployment del Sistema JAC sobre la base del escenario de distribución presentado en la figura pasada como parte del desarrollo de la vista de deployment del Framework JAC.

Vista de Implementación En esta sección se presentan los ejecutables y artefactos construidos para la implementación del Sistema JAC. El sistema aquí planteado es una implementación del framework descrito en las secciones anteriores que cumple con la especificación 1.4 de J2EE. Mapeo de subsistemas

Estructura del Framework La implementación del framework se empaquetó en dos JARs independientes, uno para el subsistema Ejecución de Procesos y otro para el subsistema Resolución de Servicios tal como se muestra en la siguiente figura. La implementación del Sistema JAC se enmarca en la tecnología JAVA, más precisamente el subsistema Plug-in está implementado por un conjunto de clases que utilizan los del IDE Eclipse que realizan las tareas concretas de creación del vista y menús en el mismo IDE eclipse.

Arquitectura de la Implementación Se presenta a continuación un diagrama que muestra las dependencias entre los JARs que contienen la definición de las interfaces y la implementación concreta del framework. Dependencia de JARs del sistema

diseño del framework OO Eclipse es un poderoso y extensible IDE para propósito general de construcción de aplicaciones. Eclipse tiene una extensa arquitectura permitiendo extenderse a si mismo por medio de plug-in, puede decirse así mismo que eclipse es un IDE hecho de plug-in que extienden su funcionalidad de acuerdo a las necesidades del usuario. También Eclipse PDE (Plugin Development Environment ) posee herramientas de ayuda al desarrollador para personalizar el comportamiento del plug-in y un framework de desarrollo extensible que permite a los desarrolladores reutilizar los varios componentes del workbench de eclipse.

diseño del framework OO

Diagrama de Clases(API AST)

Diagrama de Clases(Plugin)

diseño de código fuente

PREGUNTAS ?

Conclusiones El Java Analizer Code revisara el código java sin ejecutar el código. Se podrá detectar los errores y mostrar la forma correcta de la implementación. Con el JAC es posible visualizar el análisis de los resultados que se obtengan a partir de la detección de errores. JAC solo analizará Código Java. Se realizo un Plugin el cual se integrara al IDE de uso Eclipse Se puede ver que se implementaron 15 reglas las cuales nos ayudaran a corregir los errores en Código Java.

Referencias [1] Proyecto de Grado Batuta – Generador de Aplicaciones Orquestadoras. Glosario. Facultad de Ingeniería, Universidad de la República, Uruguay,2005. http://www.fing.edu.uy/~pgsoasem/documentos/PG-P2005_0026-Glosario.pdf [2] Rational Unified Process. Rational Software, IBM, 2003. http://www- 306.ibm.com/software/awdtools/rup/ [3] Proyecto de Grado Batuta – Generador de Aplicaciones Orquestadoras. Descripción del Modelo Batuta. Facultad de Ingeniería, Universidad de la República, Uruguay, 2005. http://www.fing.edu.uy/~pgsoasem/documentos/PG- P2005_0026-DescripcionModeloBatuta.pdf [4] Proyecto de Grado Batuta – Generador de Aplicaciones Orquestadoras. Estado del Arte. Facultad de Ingeniería, Universidad de la República, Uruguay, 2005. http://www.fing.edu.uy/~pgsoasem/documentos/PG- P2005_0026-EstadoDelArte.pdf   [5] Proyecto de Grado Batuta – Generador de Aplicaciones Orquestadoras. Especificación Complementaria del Modelo Batuta. Facultad de Ingeniería, Universidad de la República, Uruguay, 2005. http://www.fing.edu.uy/~pgsoasem/documentos/PG-P2005_0026- EspecificacionComplementaria.pdf

Referencias Api design confessions of a java framework architect http://www.apress.com/book/view/1430209739 http://wiki.apidesign.org/wiki/TheAPIBook http://www.way2books.com/2008/10/practical-api- design-confessions-of.html http://hudson.apidesign.org/job/samples/lastSucce ssfulBuild/artifact/samples/build/ http://www.ibm.com/developerworks/rational/libr ary/08/0429_gutz3/index.html http://mantrid.wordpress.com/projects/master- thesis/ Eclipse: Building Commercial-Quality Plug-ins, 2nd Edition