lunes, 21 de noviembre de 2011

Herramientas de modelado y generación de código a partir de los modelos

Herramienta CASE a utilizar
Utilizare ArgoUML,  ya que es una herramienta que cuenta con todos los recursos suficientes y  necesarios que se requieren para el desarrollo del software desde la parte de diagramación como la parte de generación de código.
 
Cuadro comparativo

Software
Disponibilidad
Características
Lenguajes
Dia con Dia2Code
Dia

Dia2Code

·         No incorpora directamente una herramienta de generación de código, pero existen varias herramientas que trabajan conjuntamente con él.
·         Es un programa ejecutable desde línea de comandos que toma los siguientes parámetros.
·         Para que Dia2Code interprete correctamente el diagrama UML, éste debe realizarse con las herramientas específicas UML que proporciona Dia.
·         Soporte de Python y PHP, no muy habituales en estas herramientas, ni tan siquiera en las comerciales.
·         Generación de código en Java
Umbrello

·         Umbrello es una aplicación totalmente orientada al modelado UML y por ello dispone de herramientas que facilitan mucho la creación de todos los tipos de diagramas.










·         Generación de código de calidad.
·         Generación de código Java
·         Dispone de un asistente que nos presenta multitud de opciones.
·         Soporte diferenciado de PHP4 y PHP5, Perl y XMLSchema
·         El código fuente de las clases generadas es muy completo. Los  comentarios están en formato JavaDoc,
ArgoUML

ArgoUML

·         El enfoque de ArgoUML es totalmente hacia UML como notación y el diseño de aplicaciones orientadas a objeto.

·         Es quizá el más completo en términos de cumplimiento con el estándar

·         La generación de código no ofrece muchas opciones, y se limita a crear simplemente los métodos representados.

·         Tiene versiones comerciales mejoradas como PoseidonUML, tiene mejor generación de código e integración con entornos de  desarrollo como Eclipse.
·         Sólo genera código Java y la propia notación UML 1.3


Evaluación comparativa de herramientas CASE para UML desde el punto de vista notacional


¿Qué podemos esperar de una herramienta CASE (Computer-Aided Software Engineering) para UML?

UML es un lenguaje visual de modelado para "visualizar, especificar, construir y documentar los artefactos de un sistema de software"

Lo primero que podemos esperar de una herramienta es que facilite la tarea de dibujar diagramas, su corrección sintáctica y la coherencia entre los distintos diagramas.


Herramientas UML


Herramientas gráficas. Las herramientas meramente gráficas son aquéllas que proporcionan algún tipo de ayuda para dibujar diagramas UML

Herramientas sintácticas. Las herramientas sintácticas son aquéllas que, en general, sólo permiten dibujar diagramas correctos según las reglas notacionales de UML

Herramientas semánticas. El tercer grupo lo constituyen las herramientas semánticas, es decir, aquellas que tratan de garantizar la construcción de un modelo que esté correctamente expresado en diagramas que además sean coherentes entre sí.

·    Integración con herramientas ofimáticas (como copiar y pegar los diagramas en documentos de texto).
·         Posibilidad de trabajo multiusuario (para que los diversos implicados en un proyecto puedan acceder simultáneamente a distintas partes de un modelo).
·         Exportación en formato XMI (XML Metadata Interchange).
·         Integración dentro del entero proceso de desarrollo de software, desde la obtención de requisitos de usuario hasta la  generación automática de código, estimación de esfuerzo necesario para acometer la implementación de un modelo dado, planificación, mantenimiento, pruebas, etc.
·         Reutilización de todo tipo de artefactos software (no sólo código fuente o ejecutable, sino también modelos de análisis o  diseño, definición de pruebas, etc., e incluso requisitos).

Algunas herramientas CASE












 

Criterios al evaluar una herramienta CASE

N: la herramienta no puede representar la característica especificada.
G: se puede representar gráficamente la característica especificada, pero ésta no queda registrada en el modelo subyacente.
M: no se puede representar gráficamente la característica especificada, pero sí es posible hacerlo en el modelo subyacente.
S: la herramienta sí puede representar la característica especificada, tanto de modo gráfico como en el modelo subyacente.


Mejores herramientas

seCAKE, Enterprise Architect, Visio 2003 Professional y, muy especialmente, MagicDraw, que ha resultado vencedora en todas y cada una de las fases de evaluación: sin duda se trata de una de las mejores herramientas del mercado, que procura mantenerse además siempre al día con continuas actualizaciones (ha sido una de las primeras en sacar una versión compatible con UML2).

Naturalmente, cuando las herramientas comerciales empiecen a adaptarse a la nueva versión 2.0 del estándar de UML, habrá que reformular la lista de criterios obtenidos y repetir las evaluaciones para las nuevas versiones de las herramientas ya estudiadas.

Diseño

Para documentar la etapa de diseño, se seguirá la metodología basada en UML (Lenguaje Unificado de Modelado) por sus siglas en inglés (Unified Modeling Language), se ha establecido como un estándar de facto para el modelado orientado a objetos de sistemas informáticos.

UML es un lenguaje visual de modelado para "visualizar, especificar, construir y documentar los artefactos de un sistema software", es decir, UML es ante todo un lenguaje gráfico que estandariza la forma de crear diagramas, el significado preciso de los mismos, y las relaciones existentes entre ellos.

UML abarca los siguientes diagramas:

  • Diagrama de casos de uso
  • Diagrama de clases
  • Diagramas de comportamiento
               -Diagrama de estados
               -Diagrama de actividad
               -Diagramas de interacción
                     - Diagrama de secuencia
                     - Diagrama de colaboración
  • Diagramas de implementación
              -Diagrama de componentes
              -Diagrama de despliegue

CASOS DE USO


DIAGRAMA DE SECUENCIA (Alumno) 


 DIAGRAMA DE SECUENCIA (Administrador)



DIAGRAMA DE CLASES


DIAGRAMA DE ACTIVIDADES


domingo, 23 de octubre de 2011

Educación inclusiva

El reconocimiento y la valoración de la educación como un derecho esencial que ha de  garantizarse a todas las personas, sin ningún género de discriminación o exclusión, es un valor y un principio fundamental, abiertamente ideológico, no fáctico. La educación inclusiva pertenece al universo de la ética, la justicia social, la democracia profunda y la equidad, que es lo contrario a la lógica de los méritos, la rentabilidad y la eficiencia (THOMAZET, 2009).

La educación inclusiva, por lo tanto, no pertenece al dominio de los hechos corrientes en materia de desigualdad de derechos, oportunidades y logros, sino al de utopías realistas que, por complejas, difíciles y lejanas que estén, deben inspirar políticas, culturas y prácticas, con un enfoque no inspirado en opciones caritativas y particulares sino en imperativos moral y de justicia social.

La integración escolar debe ser realizada desde el punto de vista físico, social y pedagógico. Pues los niños comparten la jornada escolar completa en el aula común.
Significa que también para ellos la escuela es un lugar de aprendizaje, no solo de socialización. Y en esta tarea de apoyo y seguimiento es  el equipo interdisciplinario, quien busque mediar entre las posibilidades de cada niño integrado, las exigencias escolares, el estilo de aprendizaje del niño y el estilo de enseñanza de cada institución.
Los niños integrados aprenden más y mejor con el estímulo de sus compañeros y de un docente que no le  tema al desafío de enfrentarse sin prejuicios a una tarea enriquecedora; Aprenden desde el curriculum común lecto-escritura y cálculo, etc.
Las personas con síndrome de Down, dentro de un marco integrado, pueden aprender a ser autónomas e independientes, con autoconciencia de sus posibilidades, de sus dificultades pero también de cómo superarlas.(Cánepa, 2000-2010)

domingo, 16 de octubre de 2011

Introducción

Aprendiendo Aritmética y Geometría como Proyecto de Ingeniería de software, este proyecto de ingeniería inicia con el estudio de la problemática que presentan los niños con capacidades diferentes en su aprendizaje matemático. Por lo que se propone una solución para contribuir en un área en particular de su formación, realizando el desarrollo de un software especializado que proporcione los recursos necesarios para su desempeño académico. 

Lo que realmente me motiva en llevar a cabo este proyecto de ingeniería es  poder tener la satisfacción de contribuir en un área haciendo uso de las herramientas y conocimientos profesionales adquiridos durante mi formación como Ingeniero en Sistemas Computacionales.

Contexto de la investigación

A medida que la tecnología avanza crece la necesidad de adoptar un modelo de enseñanza a niños que presentan una discapacidad, en este caso niños con Síndrome de Down, el ponerle a su alcance las herramientas de tecnología que existen actualmente  asegura un rendimiento en su conocimiento, haciendo uso de herramientas de software.

La Fundación Orange, la Fundación Síndrome de Down de Madrid y la Universidad Carlos III de Madrid ponen en marcha en 1999 el Proyecto BIT.
El Proyecto BIT surge de la necesidad de superar las barreras de acceso que las TIC presentan a las personas con discapacidad y asegurar que los beneficios de la Sociedad de la Información se extiendan a todos los ciudadanos.

21 de marzo de 2010 se presentó 
Lucas y el caso del cuadro robado es una aventura gráfica en la que hay que ir avanzando en escenarios que emulan sitios privilegiados del planeta (París, Río de Janeiro, Nueva York…) mediante la resolución de enigmas de forma lógica, interactuando con personajes y objetos hasta completar la historia.

En noviembre de 2009 se presentó CITI en su versión para PC
En marzo de 2009 se lanzó el juego de competencia intelectual para teléfonos móviles
Se ha desarrollado un juego destinado a las personas con discapacidad intelectual, el cual no sólo sirve como modo de entretenimiento si no que pretende ayudar a mejorar las capacidades cognitivas de sus usuarios.

El CD educativo “El ARCA de los pensamientos” (Aprender, Resolver, Comprender y Aplicar), contiene un conjunto de actividades multimedia destinadas a reforzar diferentes procesos cognitivos como la memoria, la atención, el razonamiento o la discriminación visual, asociativa y auditiva; tratando de entrenar las habilidades más importantes para pensar y aprender.
Las actividades están destinadas a personas con discapacidad intelectual mayores de 12 años y para su óptimo aprovechamiento es necesario contar con conocimientos informáticos previos.

Estas son algunas de las herramientas diseñadas para mejorar  la forma de impartir clases para un  sector en específico.

Objetivo


Desarrollar un software educativo especializado en aritmética y geometría (figuras y cuerpos geométricos) para niños con Síndrome de Down.

OBJETIVOS ESPECÍFICOS
  •  Conocer las características del software educativo
  • Estudiar el ciclo de vida del software
  • Conocer las metodologías que existen en el desarrollo de software para determinar la más adecuada a seguir
  • Estudiar el Lenguaje Unificado de Modelado (UML)
  • Conocer las herramientas CASE
  • Identificar estándares aplicados al desarrollo de software
  • Analizar los requerimientos
  • Seleccionar el lenguaje de programación a utilizar
  • Implementar algoritmos
  • Determinar qué elementos intervendrán en el desarrollo
  • Definir la estructura del software
  • Definir entidades
  • Definir su comportamiento
  • Realizar la documentación