Este documento describe tres puntos principales:
1. Explica las técnicas de análisis orientadas a objetos y capacita en los métodos, notación y símbolos de UML para el diseño de aplicaciones informáticas.
2. Lleva los conceptos a la práctica usando Visual Modeler, la herramienta de Microsoft para el modelado de objetos.
3. Va dirigido a personas con experiencia en desarrollo de aplicaciones desde la perspectiva de la programación orientada a objetos y UML.
Esquema de Metadatos para la Gestión del Documento Electrónico (e-EMGDE) PDF Imprimir E-mail
Documentación complementaria a la Norma Técnica de Interoperabilidad de Política de gestión de documentos electrónicos.
1. DEFINICIÓN Y CARACTERÍSTICAS PRINCIPALES DEL e-EMGDE
1 Según el Real Decreto 4/2010, un esquema de metadatos es un instrumento que define la incorporación y gestión de los metadatos de contenido, contexto y estructura de los documentos electrónicos a lo largo de su ciclo de vida.
2 El Esquema de Metadatos para la Gestión del Documento Electrónico (e-EMGDE), que se desarrolla en este anexo, establece:
i. El modelo conceptual en el que se apoya el modelo de metadatos, sus propiedades y su lógica subyacente.
ii. Descripción de cada uno de los elementos y sub-elementos de metadatos, a través de la descripción de cada una de sus características: definición, propósito, obligatoriedad, etc.
iii. Los esquemas de valores necesarios para cumplimentar los valores de los elementos de metadatos pertinentes.
iv. Las referencias a las normas utilizadas como base, así como a otras normas de posible utilidad.
Esquema de Metadatos para la Gestión del Documento Electrónico (e-EMGDE) PDF Imprimir E-mail
Documentación complementaria a la Norma Técnica de Interoperabilidad de Política de gestión de documentos electrónicos.
1. DEFINICIÓN Y CARACTERÍSTICAS PRINCIPALES DEL e-EMGDE
1 Según el Real Decreto 4/2010, un esquema de metadatos es un instrumento que define la incorporación y gestión de los metadatos de contenido, contexto y estructura de los documentos electrónicos a lo largo de su ciclo de vida.
2 El Esquema de Metadatos para la Gestión del Documento Electrónico (e-EMGDE), que se desarrolla en este anexo, establece:
i. El modelo conceptual en el que se apoya el modelo de metadatos, sus propiedades y su lógica subyacente.
ii. Descripción de cada uno de los elementos y sub-elementos de metadatos, a través de la descripción de cada una de sus características: definición, propósito, obligatoriedad, etc.
iii. Los esquemas de valores necesarios para cumplimentar los valores de los elementos de metadatos pertinentes.
iv. Las referencias a las normas utilizadas como base, así como a otras normas de posible utilidad.
Material para Excel muy bueno para practicar y aprender todo las funciones con la versión 2010, con la cual se podrà desarrollar un total aprendizaje de esta herramienta. Con estos ejercicios podrás disfrutar del total aprendizaje de Excel en un nivel intermedio y avanzado
Material para Excel muy bueno para practicar y aprender todo las funciones con la versión 2010, con la cual se podrà desarrollar un total aprendizaje de esta herramienta. Con estos ejercicios podrás disfrutar del total aprendizaje de Excel en un nivel intermedio y avanzado
OnePointech is a small business consulting firm that specializes in helping you runs your business. It was established with the aim to be a “OnePointech is a small business consulting firm that specializes in helping you runs your business. It was established with the aim to be a “One Point Shop” for all the needs of small business operators.
The Telecommunications Explosion: Toward a Global Brainwalterfarah
This article gives a global summary of the evolution of telecommunications around the world. It is a quick review of this vital industry from its
past to its future.The invention of the telephone allowed the immediate and simultaneous interconnection of many people around the world for the first time
in human history. This produced many major benefits, such as the unprecedented rates of economic growth experienced in the last century. Therefore,
the twentieth century could be called the “Age of the Telephone.” Finally, some implications of an increasingly interconnected world
are considered, such as even faster development and knowledge creation.New mobile forms of communication in the twenty-first century are substituting
the old fixed landline telephones of the twentieth century, bringing cheaper, faster, better, and more-efficient ways to communicate in our
rapidly connecting planetary civilization.
Michael Rottmann, Senior Consultant Namics, stellt anhand von Praxisbeispielen die Controlling-
Herausforderungen sozialer Medien dar und bindet dies in dengesamten Kommunikations-Mix ein. Sie erhalten konkrete Ideen,
wohin Ihr eigenes Communications Controlling gehen kann
THE ART OF THE PERFUMER IS A SORT OF ALCHEMY . THERE IS SOMETHING TRULY MAGICAL IN THE SKILL AND CRAFTSMANSHIP OF THE ARTIST WHO FUSES THE ESSENCE OF FLOWERS AND HERBS INTO A FRAGRANT LIQUID THAT STIRS THE SENSES AND QUICKENS THE HEART.
Es para difundir esta información, lo que implicará grandes cambios en nuestra vida en la tierra, los verdaderos cambios que se sufrirán en 2012, no el fin del mundo, al menos para algunos si lo será y para otros no.. lean con atención.
Reeditado y Re publicado
Edgar Larios Apatzingán Michoacán México
The following research presents: a Domain Specific Language Modeling (DSLM) for Lotus Notes applications and a software tool that implements it.
This tool allows to design applications using the DSL for Lotus Notes Applications, and create the application code.
El siguiente trabajo de investigación presenta: un lenguaje de modelado de dominio específico para aplicaciones Lotus Notes y una herramienta de software que lo implementa. Esta herramienta permitirá a partir de un determinado modelo generar el código de la aplicación correspondiente.
El desarrollo de aplicaciones empresariales presenta complejidades como: integración de diferentes plataformas tecnológicas, ambientes de desarrollo y procesos de ingeniería de software.
El correcto modelado de dichas aplicaciones antes de su codificación, beneficia el aseguramiento de la calidad del software, mejora la arquitectura, facilita el mantenimiento y ayuda a la transferencia tecnológica al cliente.
Lenguajes de modelado genérico o de propósito general pueden emplearse para describir una gran parte de las características de los sistemas. Este es el caso del Lenguaje Unificado de Modelado: UML (Por sus siglas en inglés Unified Modeling Language).
Existen herramientas tanto libres como propietarias que permiten diseñar aplicaciones en cada uno de los lenguajes de modelado existentes.
Es común que cada plataforma o tecnología presenten características propias que requieren de una técnica o lenguaje de modelado en particular. Así para los sistemas de bases de datos relacionales un modelo Entidad-Relación o un modelo de clases de UML pueden ser suficientes.
Sin embargo en determinadas tecnologías o dominios tecnológicos un lenguaje de modelado general puede ser insuficiente para describir todas las características deseadas.
Ante esta situación puede definirse un lenguaje de dominio específico, el cual provea de los elementos que permitan describir con mayor precisión dichas características.
Lotus Domino es la plataforma líder en aplicaciones colaborativas. Presenta un ambiente de desarrollo orientado a objetos y una base de datos documental.
El siguiente trabajo de investigación presenta: un lenguaje de modelado de dominio específico para aplicaciones Lotus Notes y una herramienta de software que lo implementa. Esta herramienta permitirá a partir de un determinado modelo generar el código de la aplicación correspondiente.
1. Desarrollo de software
Este texto muestra las
distintas técnicas que
se necesitan para
diseñar aplicaciones
informáticas desde la
perspectiva de la
orientación a objetos,
usando lo que se
denomina UML
(Lenguaje Unificado de
Modelado).
Pretende adiestrar en
las técnicas de análisis
orientadas al objeto así
como capacitar en los
métodos, notación y
símbolos de UML.
Los conceptos se llevan
a la práctica con Visual
Modeler, la
herramienta de
Microsoft para el
modelado de objetos.
Va dirigido a personas
con amplia experiencia
en desarrollo de
aplicaciones desde la
perspectiva de la
UML
programación.
DISEÑO ORIENTADO A
OBJETOS CON UML
RAÚL ALARCÓN
5. Índice
ÍNDICE ... ................................................................................................................................................... ...5
INTRODUCCIÓN AL MODELADO ORIENTADO A OBJETOS ... ..................................................... .9
MODELADO ... ................................................................................................................................... .10
PRINCIPIOS BÁSICOS DEL MODELADO ... ......................................................................................... ...11
ORIENTACIÓN A OBJETOS ... ........................................................................................................... ...11
VENTAJAS DE LA ORIENTACIÓN A OBJETOS ... ................................................................................ ...12
CONCEPTOS BÁSICOS DE LA ORIENTACIÓN A OBJETO... .................................................................. ...12
INTRODUCCIÓN AL LENGUAJE UNIFICADO DE MODELADO, UML ... ................................... .15
VISTA GENERAL DE UML ... ........................................................................................................... ...16
BLOQUES DE CONSTRUCCIÓN DE UML ... ....................................................................................... ...17
Elementos Estructurales ... ................................................................................................................. .17
Clases ... ........................................................................................................................................ ..17
Interfaz ... ..................................................................................................................................... ...18
Colaboración... ............................................................................................................................. ...18
Casos de Uso... ............................................................................................................................. ...18
Clase Activa ... ............................................................................................................................... .19
Componentes ................................................................................................................................ ..19
Nodos ... ........................................................................................................................................ ..19
Elementos de comportamiento... ....................................................................................................... .20
Interacción ... ................................................................................................................................ ...20
Maquinas de estados ... ................................................................................................................ ...20
Elementos de agrupación ... .............................................................................................................. ..20
6. Elementos de anotación ... ................................................................................................................ ..21
Relaciones... ...................................................................................................................................... ..21
Dependencia ... ............................................................................................................................. ...21
Asociación ... ................................................................................................................................ ...21
Generalización ... ......................................................................................................................... ...22
Realización ... ................................................................................................................................ ..22
Diagramas .......................................................................................................................................... .22
Diagramas de Clases ... ................................................................................................................ ...22
Diagramas de Objetos ... ................................................................................................................ .23
Diagramas de Casos de Usos ... .................................................................................................... ..23
Diagramas de Secuencia y de Colaboración ... ........................................................................... ...23
Diagramas de Estados ... ................................................................................................................ .23
Diagramas de Actividades ... ....................................................................................................... ...23
Diagramas de Componentes ... .................................................................................................... ...23
Diagramas de Despliegue ... .......................................................................................................... .23
ARQUITECTURA ... ................................................................................................................................ ...24
CICLO DE VIDA ... ................................................................................................................................... .25
MODELADO ESTRUCTURAL ... .......................................................................................................... ..27
REPRESENTACIÓN DE LAS CLASES EN UML... ..................................................................................... ..28
RESPONSABILIDADES ... ......................................................................................................................... .29
RELACIONES ... ...................................................................................................................................... ..30
Relación de Dependencia ................................................................................................................. ..30
Relación de Generalización... ........................................................................................................... ..31
Relación de Asociación.................................................................................................................... ...33
INTERFACES ... ...................................................................................................................................... ...35
ROLES ... ............................................................................................................................................... ...36
PAQUETES ... ......................................................................................................................................... ...37
Términos y conceptos ... ................................................................................................................... ..37
Elementos Contenidos ... ................................................................................................................... .38
INSTANCIAS... ......................................................................................................................................... .39
Operaciones ... ................................................................................................................................... ..39
Estado ... ............................................................................................................................................ ..39
Modelado de instancias concretas... .................................................................................................. .40
Modelado de instancias prototípicas ............................................................................................... ...40
DIAGRAMAS DE CLASES Y DE OBJETOS ... .................................................................................. ...43
DIAGRAMAS DE CLASES ....................................................................................................................... ..43
Usos comunes ................................................................................................................................... ..44
Modelado de colaboraciones simples ... ........................................................................................... ..44
Modelado de un Esquema Lógico de Base de Datos ... .................................................................. ...45
DIAGRAMAS DE OBJETOS ... ................................................................................................................. ...46
Usos comunes ................................................................................................................................... ..48
Modelado de estructuras de objetos .................................................................................................. .48
MODELADO DEL COMPORTAMIENTO ... ........................................................................................ .51
INTERACCIONES ................................................................................................................................... ...51
Contexto ... ........................................................................................................................................ ..52
Objetos y Roles ... ............................................................................................................................ ...53
Enlaces................................................................................................................................................ .53
Mensajes ... ......................................................................................................................................... .54
Modelado de un flujo de control........................................................................................................ .55
CASOS DE USO ... ................................................................................................................................... ..56
Casos de uso y actores... .................................................................................................................... .58
Casos de uso y flujo de eventos ... .................................................................................................... ..58
6
7. Casos de uso y escenarios ... .............................................................................................................. .59
Casos de uso y colaboraciones ........................................................................................................ ...59
Modelado del Comportamiento de un Elemento ... ........................................................................ ...60
DIAGRAMAS PARA EL MODELADO DEL COMPORTAMIENTO ... ............................................ .63
DIAGRAMAS DE CASOS DE USO ... ....................................................................................................... ...64
Usos comunes ................................................................................................................................... ..64
Modelado del contexto de un sistema ... .......................................................................................... ..65
Modelado de los requisitos de un sistema ... ..................................................................................... .66
DIAGRAMAS DE INTERACCIÓN.............................................................................................................. ..67
Diagramas de Secuencia ... .............................................................................................................. ...67
Diagramas de Colaboración ... ......................................................................................................... ...68
Modelado de flujos de control por ordenación temporal ... ............................................................. ..69
Modelado de flujos de control por organización... .......................................................................... ...70
DIAGRAMAS DE ACTIVIDADES ... .......................................................................................................... ..72
Estados de la acción y estados de la actividad... ............................................................................. ...73
Transiciones... ................................................................................................................................... ..74
Bifurcación ... ................................................................................................................................... ...75
División y Unión ... ............................................................................................................................ .75
Calles (Swimlanes) ... ...................................................................................................................... ...76
Usos comunes ................................................................................................................................... ..76
VISUAL MODELER... ............................................................................................................................ ...79
CONCEPTOS... ......................................................................................................................................... .80
Sistemas cliente servidor en tres capas ... ......................................................................................... ..80
Vistas de Visual Modeler ... ............................................................................................................. ...81
Vista Lógica (Logical View) ... ................................................................................................... ...81
Vista de Componentes (Component View) ................................................................................. ..82
Vista de Despliegue (Deployment View) ..................................................................................... .83
BARRA DE HERRAMIENTAS DE VISUAL MODELER ... ........................................................................... .84
Sobre Archivo ... ............................................................................................................................... ..84
Sobre Edición... ................................................................................................................................ ...84
Sobre Utilidades ... ............................................................................................................................. .85
Sobre Diagramas ... .......................................................................................................................... ...85
Sobre Visualización ... ...................................................................................................................... ..85
BARRA DE HERRAMIENTAS PARA LOS DIAGRAMAS ... ........................................................................ ..86
Elementos comunes a todos los diagramas ... .................................................................................. ..86
Elementos para los Diagramas de Clases ... ...................................................................................... .86
Clases (Class)... ............................................................................................................................. ..87
Interfaces... ................................................................................................................................... ...91
Clases de Utilidades (Class Utility) ... ........................................................................................... .92
Asociaciones (Asociation) ... ....................................................................................................... ...92
Asociación unidireccional (Unidirectional Association) ... ......................................................... ..93
Agregación (Agregation) ... .......................................................................................................... ..94
Generalización (Generalization) ... .............................................................................................. ...94
Dependencia (Dependency) .......................................................................................................... .95
Paquetes Lógicos (Package) ... .................................................................................................... ...96
Elementos para los Diagramas de Componentes ... ......................................................................... ..96
Componente (Component)... ....................................................................................................... ...96
Dependencia (Dependency) .......................................................................................................... .98
Paquetes de Componentes (Package) ... ........................................................................................ .98
Elementos para los Diagramas de Despliegue ... ............................................................................ ...99
Nodo (Node) ... ............................................................................................................................ ...99
Conexión (Conection)... .............................................................................................................. ..100
8. INGENIERÍA DIRECTA E INVERSA CON VISUAL MODELER ... ............................................... .101
VISUAL MODELER ADD-IN PARA VISUAL BASIC... ............................................................................ ..102
GENERACIÓN DE CÓDIGO DESDE VISUAL MODELER ......................................................................... .103
Propiedades para las Clases ... ......................................................................................................... .103
OptionBase ... ............................................................................................................................. ...103
OptionExplicit... .......................................................................................................................... ..103
OptionCompare... ....................................................................................................................... ...104
Creatable ...................................................................................................................................... .104
GenerateInitialization y GenerateTermination ......................................................................... ...104
CollectionClass ... ...................................................................................................................... ...104
Propiedades para la relación de Generalización ... ........................................................................ ...106
ImplementsDelegation ... ............................................................................................................. .106
Propiedades para los Métodos ... ..................................................................................................... .107
OperationName ... ...................................................................................................................... ...107
LibrayName ... ............................................................................................................................ ..107
AliasName ... ................................................................................................................................ .107
IsStatic ... ...................................................................................................................................... .107
EntryCode y ExitCode ... ............................................................................................................. .107
Propiedades para la especificación del Modulo ... .......................................................................... .108
Module Specification ... ............................................................................................................. ...108
Propiedades para la definición de una Propiedad o Rol ............................................................... ...108
IsConst ... ......................................................................................................................................... ..108
New... ......................................................................................................................................... ...108
WithEvents ... ............................................................................................................................. ...108
Subscript ... ................................................................................................................................... .109
NameIfUnlabeled... .................................................................................................................... ...109
GenerateDataMember ... ............................................................................................................. ..109
GenerateGet/Let/SetOperation... ................................................................................................. .109
ASISTENTE PARA LA GENERACIÓN DE CÓDIGO VISUAL BASIC ... ..................................................... .109
8
9. Introducción al modelado orientado a
objetos
El desarrollo de proyectos software ha sufrido una evolución desde los primeros sistemas de calculo,
implementados en grandes computadores simplemente ayudados mediante unas tarjetas perforadas
donde los programadores escribían sus algoritmos de control, hasta la revolución de los sistemas de
información e Internet. Han existido dos grandes cambios desde aquellos sistemas meramente
algorítmicos donde todo el esfuerzo de desarrollo se centraba en la escritura de programas que
realizaran algún tipo de calculo. El primero de ellos es la aparición del modelo relacional, un modelo
con fuerte base matemática que supuso el desarrollo las bases de datos y propició la aparición de los
grandes sistemas de información. El segundo cambio es sobre los lenguajes de programación, la
aparición de los Lenguajes Orientados a Objetos (aunque los primero lenguajes con características de
orientación a objetos aparecieron en la década de los setenta, por ejemplo Simula 67) supuso una
revolución en la industria software. El problema entonces radicaba en poder sacarle partido a los
lenguajes orientados a objetos por lo que aparecieron numerosas metodologías para el diseño
orientado objetos, hubo un momento en el que se podía decir que el concepto de orientación a objetos
estaba “de moda” y todo era orientado a objetos, cuando realmente lo que ocurría es que las grandes
empresas que proporcionaban los compiladores y lenguajes de programación “lavaban la cara" a sus
compiladores, sacaban nuevas versiones que adoptaran alguno de los conceptos de orientación a
objetos y los vendían como orientados a objetos.
Para poner un poco de orden, sobre todo en lo que respecta a la modelización de sistemas software,
aparece UML (Unified Modeling Languaje, Lenguaje Unificado de Modelado) que pretende unificar
las tres metodologías más difundidas (OMT, Bootch y OOSE) e intentar que la industria software
termine su maduración como Ingeniería . Y lo consigue en tal manera que lo que UML proporciona
son las herramientas necesarias para poder obtener los planos del software equivalentes a los que se
utilizan en la construcción, la mecánica o la industria aeroespacial. UML abarca todas las fases del
15. Introducción al lenguaje unificado de
modelado, UML
UML es un lenguaje estándar que sirve para escribir los planos del software, puede utilizarse para
visualizar, especificar, construir y documentar todos los artefactos que componen un sistema con gran
cantidad de software. UML puede usarse para modelar desde sistemas de información hasta
aplicaciones distribuidas basadas en Web, pasando por sistemas empotrados de tiempo real. UML es
solamente un lenguaje por lo que es sólo una parte de un método de desarrollo software, es
independiente del proceso aunque para que sea optimo debe usarse en un proceso dirigido por casos de uso,
centrado en la arquitectura, iterativo e incremental.
UML es un lenguaje por que proporciona un vocabulario y las reglas para utilizarlo, además es un
lenguaje de modelado lo que significa que el vocabulario y las reglas se utilizan para la representación
conceptual y física del sistema.
UML es un lenguaje que nos ayuda a interpretar grandes sistemas mediante gráficos o mediante texto
obteniendo modelos explícitos que ayudan a la comunicación durante el desarrollo ya que al ser
estándar, los modelos podrán ser interpretados por personas que no participaron en su diseño (e
incluso por herramientas) sin ninguna ambigüedad. En este contexto, UML sirve para especificar,
modelos concretos, no ambiguos y completos.
Debido a su estandarización y su definición completa no ambigua, y aunque no sea un lenguaje de
programación, UML se puede conectar de manera directa a lenguajes de programación como Java, C++
o Visual Basic, esta correspondencia permite lo que se denomina como ingeniería directa (obtener el
código fuente partiendo de los modelos) pero además es posible reconstruir un modelo en UML partiendo
de la implementación, o sea, la ingeniería inversa.
27. Modelado Estructural
A la hora de modelar un sistema es necesario identificar las cosas más importantes eligiendo un nivel
de abstracción capaz de identificar todas las partes relevantes del sistema y sus interacciones. En este
primer acercamiento no debemos contar con los detalles particulares de las cosas que hemos
identificado como importantes, estos detalles atacarán posteriormente en cada una de las partes
elegidas.
Por ejemplo, si estuviésemos trabajando en una tienda que vende ordenadores como proveedor final y
nuestro jefe nos pidiera que montáramos un ordenado, directamente la división que tendríamos es la
siguiente: necesitamos un monitor, un teclado, un ratón y una CPU, sin importarnos (inicialmente,
claro) que la CPU este compuesta por varios elementos más. Una vez que tenemos claro que partes
forman un ordenador nos daríamos cuenta que tanto el teclado como el ratón y el monitor son parte
más o menos atómicas ya que, aunque estos tres objetos están compuestos por un montón de
componentes electrónicos, la composición de estos no nos interesa para al nivel de abstracción que
estamos trabajando (el de proveedor final). Al darnos cuenta de esto prepararíamos el monitor, el
teclado y el ratón, pero en nuestro almacén tenemos monitores de 15 y 17 pulgadas, teclados
ergonómicos y estándares y ratones de diferentes tamaños, colores, etc. Una vez que hemos
determinado las propiedades de cada uno de ellos pasaríamos a preocuparnos por la CPU, ahora es
cuando veríamos que para montar la CPU nos hacen falta una placa base, un microprocesador, una
disquetera, un disco duro y un CD-ROM, cada uno de estos elementos con sus propiedades, disquetera
de 1,44Mb, disco duro de 4Gb, microprocesador a 500Mhz y un CD-ROM 32x.
Una vez que tenemos todo el material en el banco de trabajo tendríamos que montar el ordenador
sabiendo que cada una de las partes interactúa con el resto de alguna manera, en la CPU la disquetera, el
CD-ROM y el disco duro van conectados al bus de datos, este además está conectado a la placa base y el
micro tiene un lugar bien definido también en la placa base, después conectaríamos el teclado, el monitor y
el ratón a la CPU y ¡ya esta!, nuestro ordenador está montado.