Entradas

Mostrando las entradas con la etiqueta Modelado

Extendiendo Visual Studio 2010, una mirada a los comandos..

Imagen
En este artículo vamos a trabajar con el SDK de Visual Studio 2010 y con el SDK de visualización y modelado de Visual Studio 2010 que nos simplifica el desarrollo de extensiones para los escenarios de modelado dentro del IDE anteriormente nombrado. Tecnología utilizada: Visual Studio 2010 – ultimate edition SDK Visual Studio 2010 SDK de Visualización y modelado de Visual Studio 2010 En esta oportunidad vamos a crear un comando de extensión, esto nos permite invocar al hacer clic con el botón secundario del mouse elementos de un diagrama de UML. Los comandos pueden actualizar el modelo y los diagramas o realizar otras operaciones en Visual Studio. Para esta implementación vamos a generarnos una extensión que me permita trabajar sobre un diagrama de clases y que me permita crear clases con determinada estructura dentro de un modelo. Veamos el entorno de desarrollo: Fig.1 – Creación de proyecto en VS 2010 [ Export ( typeof ( ICommandExtension ))] Definir sobre q...

Googlerator – Chair in the Cloud

¿Cómo enseñamos con Google? Sabemos que la docencia no es nada sencillo, y llevar la responsabilidad de dirigir una cátedra universitaria es algo muy importante que requiere de mucha dedicación. Este tipo de escenarios tiene una complejidad inherente de su naturaleza colaborativa, representada por las relaciones entre docentes y alumnos. Luego de varios años de estar en circuitos educativos iniciando con el rol de alumno, siguiendo por graduado, docente, instructor y coordinador les traigo un artículo con análisis a interrogantes muy interesantes que se enfocan a la resolución de problemáticas de interacción entre docentes y alumnos aplicando toda la suite de herramientas google del mercado actual. Sin lugar a dudas para que este enfoque muestre escenarios satisfactorios, es requerido que se propongan metodologías de interacción, en mi caso particular les voy a detallar algunos escenarios y a representar el marco conceptual de la idea de googlerator, una metodología para el manejo do...

Una vista rápida a BPMN, guiado por un caso de estudio

El modelado de procesos de negocio es una actividad muy importante al analizar las organizaciones actuales, es tan vital como esto es el realizar de forma estandarizada. BPMN (Business Process Modeling Notation) nos permite acercar este concepto. ¿Qué es BPMN? Rápidamente podemos decir que es un lenguaje estándar impulsado por los consorcios de empresas OMG (Object Management Group – www.omg.org ) y BPMI (Business Process Management Initiative – www.bpmi.org ), como propósitos tiene, el recrear una notación fácilmente entendible por los diferentes usuario implicados, desde analistas de negocio hasta desarrolladores de software, colocar el énfasis en los aspectos del negocio, lograr la estandarización para comunicar modelos de procesos de negocio, ser independiente de la tecnología, posibilitar la generación de especificaciones de procesos en BPEL y ser independiente de metodologías de re/diseño de procesos de negocio. Para que se conozca un poco más este lenguaje les preparé algunos ...

Visual Studio 2010 – Modelando UC

Imagen
Para este articulo les traigo una visión sobre lo que propone el paquete de modelado de Visual Studio 2010 aún en Beta 1, la idea es trabajar con un UC Simple y comparar prestaciones con otros marcos de modelado tradicional particularmente EA. Con respecto a la historia, realmente me preguntaba particularmente porque MS no proponía alguna solución de modelado integrada a su IDE estrella Visual Studio, además, al repasar los SDK de VS2008 analizando los conceptos de DSL aparecían ejemplos de modelado y se me ocurría que era un buen momento de incluir estas soluciones en el IDE, en fin esto ya se materializó en VS 2010, veamos algunas prestaciones…. En primer lugar vamos a crear un proyecto de modelado: (Como podemos observar tengo un segmento específicamente reservado para los proyectos de modelado) Una vez seleccionado "Modeling Project" bien lo tradicional de nombre y ubicación de la solución, generamos el escenario. Bien, este es el resultado que nos queda, ahora tend...

Ingeniería para una Familia de Producto

Imagen
Las organizaciones actuales en este mercado del desarrollo de software tienen que privilegiar algunos factores claves para el desarrollo de soluciones de software donde el escenario arquitectónico juega un rol preponderante y crítico, desde mi punto de vista: Analizar los cambios severos del mercado actual Definir una estrategia con respecto al avance tecnológico Privilegiar las necesidades del negocio Esta realidad nos lleva a deducir que nuestra solución tiene que tener un balance en costo, calidad y debe salir al mercado en un tiempo aceptable. El interrogante es, ¿Como preparamos este escenario de desarrollo de soluciones tecnológicas? La propuesta es introducirnos en el concepto de Familia de Productos, veamos este gráfico: Figura 1 - Managing the complexity of variability in software product families, Deelstra –Sinnema El escenario propuesto supone una categorización para ubicarnos en qué tipo de sofisticación queremos lograr en el desarrollo de la solución, pero para lograr esto...

Entendiendo el Negocio…

Imagen
Para este artículo la idea es trabajar con un estándar para el modelado de procesos de negocio, en el desarrollo de soluciones sabemos muy bien que es de vital importancia conocer el dominio del problema, lógicamente mientras más concreta sea esta actividad, simple, flexible y con opciones de ingreso al software, más nos acercamos a cumplir el objetivo del cliente. Bien, ahora para comenzar el desarrollo, la idea es analizar BPMN (Business Process Modeling Notation) provisto por la OMG (Object Management Group), no voy a desarrollar el estándar ya que el objetivo del articulo es ver una implementación, les dejo algunos vínculos para descargar información específica si es que lo requieren. http://www.bpmn.org/ http://www.omg.org/docs/formal/08-01-17.pdf Ahora les voy a presentar las herramientas de la demo: EA 7.0 Enterprise Architect BizAgi Process Modeler 1.3 En la primera de las opciones tendremos toda una suite de modelado en donde BPMN se compone de un profile que permite a la herr...

Secuencias…Modelado indispensable

Imagen
En este artículo les traigo un repaso sobre modelado, donde como eje central vamos a trabajar con diagramas de secuencia. Siempre es interesante un pequeño repaso para situarnos en tema, y para hablar de diagramas de secuencia vamos a hablar de UML, ya en v2.0 y de interacciones. Los diagramas de interacción de UML se pueden utilizar para modelar cualquier tipo de interacción entre instancias de clasificador. Existen 4 tipos de diagramas de interacción, cada uno de los cuales enfatiza un aspecto diferente de la interacción. Diagramas de secuencia Diagramas de comunicación Diagramas de visión de interacción Diagramas de tiempo En este segmento voy a trabajar sobre los diagramas de secuencia como les mencioné en el inicio del artículo, para ello voy a utilizar EA 7.0 como herramienta de modelado. "Los diagramas de secuencia muestran interacciones entre líneas de vida como una secuencia ordenada en el tiempo de eventos." Algo que me gustaría nombrar, es la diferencia de las secu...

Principios de diseño, ¿Los tenemos en cuenta?

Imagen
En este articulo me pareció interesante repasar algunos principios de diseño desde la óptica de componentes, particularmente que son para mi punto de vista son "no negociables" en la ingenieria de software. Hay cuatro principios básicos de diseño aplicables al diseño al nivel de componentes y se han adoptado ampliamente cuando se aplica ingenieria de software orientada a objetos. La idea es lograr diseños que sean más sensibles al cambio y reducir la propagación de efectos secundarios cuando ocurren cambios. El objetivo del artículo es cubrir uno de los principios nombrados, "el principio abierto-cerrado (PAC)". ¿Qué dice este principio? "El componente de un módulo debe estar abierto para la extensión, pero cerrado para modificación" Para expresarlo de manera simple, el diseñador debe especificar el componente de manera que permita extenderlo (dentro del dominio funcional que atiende) sin necesidad de modificaciones internas al propio componente (al nivel ...

Incorporando Material de Modelado - EA

Imagen
Este no es un artículo técnico como los tengo acostumbrados, pero les dejo referencias a material desarrollado sobre modelado de aplicaciones. Realicé algunos "how to" introductorios para tratar temas específicos de modelado, la idea es recrear diversos escenarios a lo largo de las entregas. La herramienta de modelado utilizada es Enterprise Architect en su versión 7.0 Veamos: Video de Manejo del IDE - EA http://sites.google.com/site/nbortolotti/how-to/howtomanejoideea Video de Creación de un Equipo de Trabajo – EA http://sites.google.com/site/nbortolotti/how-to/howtocreacionequipotrabajoea Video de Agregación de un Atributo a una clase – EA http://sites.google.com/site/nbortolotti/how-to/howtoagregaratributoclaseea Video de Agregación de un método a una clase – EA http://sites.google.com/site/nbortolotti/how-to/howtoagregarmetodoclaseea (El audio está un poco distorsionado por la compresión) Espero les sea de utilidad esta nueva forma de exponer información….

Modelando relaciones en UML, un acercamiento a las Asociaciones

Imagen
En este artículo les traigo un análisis sobre las relaciones típicas de UML, como trabajar con ellas y algunas nociones de modelado. Al modelar los elementos que constituyen el vocabulario de un sistema, también hay que modelar como se relacionen entre si estos elementos. Pero típicamente encontramos complejidad en estas redes de relaciones, para sortear este inconveniente tenemos que tener un acabado conocimiento del uso de la relaciones. Hablando con diseñadores en diversos escenarios manifiestan conocimiento sobre relaciones, "utilizo a diario en mis diseños, dependencias, generalizaciones y asociaciones", pero el interrogante que emerge "¿Es suficiente la utilización básica de las relaciones para capturar los detalles de los sistemas actuales?" Para niveles aceptables de diseño, muchas veces es necesario profundizar sobre las relaciones y este objetivo intentaré cubrir en este artículo, como sería muy extenso tratar todas las relaciones voy a optar por definir c...

Modelado de Colecciones, Enfoque práctico

Imagen
Para este artículo les tengo preparado un análisis de modelo pensando comparativamente para resolver problemáticas derivadas de esquemas donde participan colecciones de objetos. Este tipo de escenarios es muy común en el desarrollo de soluciones de software de la actualidad, y existen muchas maneras de modelar variantes, por lo tanto es bueno tener opciones y poder evaluar la mejor solución de un tópico en particular. Veamos una aproximación interesante con respecto a este tema. La solución la realicé con las siguientes herramientas: Herramienta de modelado: Enterprise architect 7.0, herramienta de programación Visual Studio 2005 y lenguaje para el desarrollo: C#. En primer lugar les voy a exponer la problemática a resolver, tiene que ver con un esquema universitario, donde vamos a trabajar para acotar la solución sobre la entidad estudiante, de esta entidad el sector administrativo desea visualizar los estudiantes según su estado (regular, libre, etc). Veamos el diagrama de clases y e...

Requerimientos con EA, algo de técnica…

Imagen
La idea de este artículo es introducirnos en la herramienta de modelado Enterprise Architect, en esta oportunidad el objetivo puntual es registrar requerimientos que nos llegan para la realización de una solución de software. Como vemos en la captura anterior existen diversos parámetros que debemos configurar en la definición del requerimiento planteado. En primer lugar tenemos algo muy importante que es la descripción del requerimiento, generalmente debe ser descripto de forma simple y particularmente concisa, pero además tenemos un estado del requerimiento y es bueno para implantar validaciones y seguimiento al mismo, en este ejemplo se muestra en un estado de implementado, siguiendo con el análisis tenemos la dificultad que trae aparejada el requerimiento en relación al flujo detectado por el analista y la prioridad del mismo también en correlación con el análisis detectado. El ejemplo muestra un requerimiento de tipo funcional, muy importante en el desarrollo de soluciones de softw...

Arquitectura de software, fundamentando el concepto…

Como introducción al artículo voy a detallar el porqué de nombre especificado, creo que actualmente se definen de diversas maneras los conceptos de arquitectura de software y ni hablar de las responsabilidades del arquitecto de software. En mi semana laboral he asistido a una charla sobre arquitectura en donde tenía esperanzas de encontrar conceptos sólidos y bien fundados sobre que comprende la arquitectura del software y principalmente el rol y actividades del arquitecto. En cierta forma encontré respuestas pero poco fundadas y que en un 80% se contradecían. En fin voy a intentar recrear una óptica de arquitectura de software para poder entender las funciones de un arquitecto. ¿Qué se entiende por arquitectura? En primer lugar voy a colocar un enfoque muy interesante definido por (Bennett, McRobb y Frarmer) en donde se cita a RIBA (The Royal Institute of British Architects) para la definir que hacen los arquitectos: "Los arquitectos están entrenados para entender sus explicacion...

¿Es importante el Negocio? Modelemos….

Imagen
Cada artículo que decido escribir tiene objetivos puntuales y la idea es resolver problemáticas del desarrollo actual, esta óptica que les traigo en esta presentación tiene que ver con una mezcla de conceptos que intentan aproximar el modelado de negocio de una problemática organizacional a un esquema ingenieril de desarrollo de software. Desde hace un tiempo que estoy manejando varias opciones para dotar a los desarrollos de análisis del negocio, existen incluso estándares formulados en cuanto al tema, para una introducción al artículo como es ya una tradición les voy a nombrar algo de teoría, finalmente voy a desarrollar algunas opciones prácticas. ¿Qué es el modelado de Negocio? En algo estamos seguros, el entorno organizacional no es simple y mi postura es, la complejidad es más fácil de comprender si se visualiza en alguna manera, no simplemente descripta con palabras. Sabemos que es imposible capturar completamente la esencia del ser de una organización y además la información su...