Diferencia entre revisiones de «Usuario:ManuelRomero/is/UML»

De WikiEducator
Saltar a: navegación, buscar
Línea 1: Línea 1:
= Ingeniería de software orientada a objetos =
+
= Ingeniería de software orientada a objetos =
 
<br>
 
<br>
 
{{Objetivos|
 
{{Objetivos|
Línea 6: Línea 6:
 
#usar los diagramas dentro del desarrollo de software orientado a objetos
 
#usar los diagramas dentro del desarrollo de software orientado a objetos
 
}}
 
}}
 +
 
== UML ==
 
== UML ==
''Unified Modling Lenguage ''Lenguaje de modelado unificado. Es un ''lenguaje ''que de forma ''unificada ''mediante elementos gráficos nos va a permitir ''modelar ''un sistema de software.
+
''Unified Modling Lenguage ''Lenguaje de modelado unificado. Es un ''lenguaje ''que de forma ''unificada ''mediante elementos gráficos nos va a permitir ''modelar ''un sistema de software.
  
Es decir, con '''UML''' vamos a generar '''un modelo '''para informatizar con softwre un determinado sistema. Este modelo contendrá varios diagramas u documentos textuales. Para ello seguiremos una metodología como '''UP''' ''Unified Process'' (Proceso Unificado).
+
Es decir, con '''UML''' vamos a generar '''un modelo '''para informatizar con softwre un determinado sistema. Este modelo contendrá varios diagramas u documentos textuales. Para ello seguiremos una metodología como '''UP''' ''Unified Process'' (Proceso Unificado).
  
'''UML''' no es una metodología, pero se aplica dentro de una metodología.
+
'''UML''' no es una metodología, pero se aplica dentro de una metodología.
  
 
Es decir '''UML''' no dice ''lo que hay que hacer'' para desarrollar un proyecto software:
 
Es decir '''UML''' no dice ''lo que hay que hacer'' para desarrollar un proyecto software:
Línea 17: Línea 18:
 
* Pasos a seguir ,forma de proceder
 
* Pasos a seguir ,forma de proceder
 
* Actividades que hay que realizar,  
 
* Actividades que hay que realizar,  
* Documentos que hay que producir, …;
+
* Documentos que hay que producir, ;
  
 
pero en con este lenguaje podremos realizar '''esas '''''actividades ''y producir '''esos''' ''documentos ''necesarios para desarrollar '''ese proyecto software.'''
 
pero en con este lenguaje podremos realizar '''esas '''''actividades ''y producir '''esos''' ''documentos ''necesarios para desarrollar '''ese proyecto software.'''
  
'''UML''' es independiente de la metodología, pero tanto '''''UP''''' como '''''RUP''''' son metodologías orientadas a objetos que utilizan '''UML''', que expondremos posteriormente. Hay más metodologías que lo usan, y se puede utilizar UML con criterio propio, es decir sin seguir una metodología concreta, aunque no sea muy recomendado en proyecto de gran envergadura.  
+
'''UML''' es independiente de la metodología, pero tanto '''''UP''''' como '''''RUP''''' son metodologías orientadas a objetos que utilizan '''UML''', que expondremos posteriormente. Hay más metodologías que lo usan, y se puede utilizar UML con criterio propio, es decir sin seguir una metodología concreta, aunque no sea muy recomendado en proyecto de gran envergadura.  
  
 
== Aspectos de un sistema software orienteado a objetos ==
 
== Aspectos de un sistema software orienteado a objetos ==
Siempre que hablamos de software pensamos en valores que son modificados por operaciones, pero ya hemos visto que en un ''sistema orientado a objetos'' esa conceptualización cambia; Ahora concebimos el sistema como ''un conjunto de objetos que interactúan entre ellos''. Un ''objeto ''es una elemento software que '''tiene o presenta comportamiento'''.  
+
Siempre que hablamos de software pensamos en valores que son modificados por operaciones, pero ya hemos visto que en un ''sistema orientado a objetos'' esa conceptualización cambia; Ahora concebimos el sistema como ''un conjunto de objetos que interactúan entre ellos''. Un ''objeto ''es una elemento software que '''tiene o presenta comportamiento'''.  
  
 
No obstante el sistema software orientado a objetos completo, lo podemos ver desde dos puntos de vista ''diferenciados'' aunque ''intimamente'' unidos:
 
No obstante el sistema software orientado a objetos completo, lo podemos ver desde dos puntos de vista ''diferenciados'' aunque ''intimamente'' unidos:
  
* '''Estático''': En esta parte vemos '''''qué objetos '''''y '''''cómo se relacionan'''''
+
* '''Estático''': En esta parte vemos '''''qué objetos '''''y '''''cómo se relacionan'''''
* '''Dinámico''':''''' '''''Observamos el '''''ciclo de vida''''' y como interactúan entre ellos para alcanzar el comportamiento deseado del sistema  
+
* '''Dinámico''':''''' '''''Observamos el '''''ciclo de vida''''' y como interactúan entre ellos para alcanzar el comportamiento deseado del sistema  
  
 
== Estructura ==
 
== Estructura ==
Vamos a estudiar cuáles son los elementos que constituyen un '''modelo '''UML. Como todo lenguaje tiene unos lexemas, que son los elementos que los constituyen, con su sintaxis o reglas de construcción y semántica que nos habla de su significado.  
+
Vamos a estudiar cuáles son los elementos que constituyen un '''modelo '''UML. Como todo lenguaje tiene unos lexemas, que son los elementos que los constituyen, con su sintaxis o reglas de construcción y semántica que nos habla de su significado.  
  
Según vayamos profundizando en su práctica (ya que practicando con él es como aprenderemos su uso y comprenderemos su significado y utilidad ), iremos viendo los diferentes diagramas que podemos generar. En ellos es donde estudiaremos esos lexemas o símbolos . Son propios del lenguaje UML, pero particulares de uno o varios diagramas concretos. Por ejemplo un '''actor '''es un lexema o símbolo de UML, propio para ser usado en un diagrama de ''caso de uso.''
+
Según vayamos profundizando en su práctica (ya que practicando con él es como aprenderemos su uso y comprenderemos su significado y utilidad ), iremos viendo los diferentes diagramas que podemos generar. En ellos es donde estudiaremos esos lexemas o símbolos . Son propios del lenguaje UML, pero particulares de uno o varios diagramas concretos. Por ejemplo un '''actor '''es un lexema o símbolo de UML, propio para ser usado en un diagrama de ''caso de uso.''
  
Vamos a continuación a analizar la '''estructura de UML'''
+
Vamos a continuación a analizar la '''estructura de UML'''
  
[[Image:|thumb|''Ilustración 1: estructura1.png'']]
+
[[Image:|thumb|''Ilustración 1: estructura1.png'']]
  
En este diagrama vemos los componentes estructurales de más alto nivel. UML se compone de  
+
En este diagrama vemos los componentes estructurales de más alto nivel. UML se compone de  
  
# '''Bloques de construcción'''
+
# '''Bloques de construcción'''
  
Son los elementos básicos del modelo. El lenguaje ,más básico de UML. Lo constituyen los lexemas para diagramar, elementos relaciones y diagramas
+
Son los elementos básicos del modelo. El lenguaje ,más básico de UML. Lo constituyen los lexemas para diagramar, elementos relaciones y diagramas
  
 
# '''Mecanismos comunes'''
 
# '''Mecanismos comunes'''
  
Forma de proceder o estrategias para poder conseguir objetivos específicos y acercarse al modelo de objetos deseado
+
Forma de proceder o estrategias para poder conseguir objetivos específicos y acercarse al modelo de objetos deseado
  
 
# '''Arquitectura'''
 
# '''Arquitectura'''
  
La visión o forma de ver la estructura del sistema al más alto nivel en su entorno.
+
La visión o forma de ver la estructura del sistema al más alto nivel en su entorno.
  
=== Bloques de construcción ===
+
=== Bloques de construcción ===
Como hemos comentado son los elementos básicos del sistema.
+
Como hemos comentado son los elementos básicos del sistema.
  
 
Dado que el software que vamos a desarrollar no es de mucha complejidad, nos centraremos bastante en estos elementos, en especial en algunos tipos de diagramas.
 
Dado que el software que vamos a desarrollar no es de mucha complejidad, nos centraremos bastante en estos elementos, en especial en algunos tipos de diagramas.
  
Dentro de los bloques, podemos clasificar en '''elementos '''o propios lexemas o símbolos graficos o textuales del modelo y '''relaciones '''manera en la que dos o mas elementos establecen vículo
+
Dentro de los bloques, podemos clasificar en '''elementos '''o propios lexemas o símbolos graficos o textuales del modelo y '''relaciones '''manera en la que dos o mas elementos establecen vículo
  
[[Image:|thumb|''Ilustración 2: bloques_construccion.png'']]
+
[[Image:|thumb|''Ilustración 2: bloques_construccion.png'']]
  
 
==== Elementos ====
 
==== Elementos ====
Como hemos comentado constituyen los símbolos del modelo. Serían pues los lexemas a partir de los cuales vamos a poder construir nuestro modelo.
+
Como hemos comentado constituyen los símbolos del modelo. Serían pues los lexemas a partir de los cuales vamos a poder construir nuestro modelo.
  
 
Vemos que tenemos cuatro tipo de simbolos
 
Vemos que tenemos cuatro tipo de simbolos
  
* Elementos '''estructurales. '''Son varios los elementos y los iremos viendo en los diferentes diagramas. Definen elementos estáticos del modelo
+
* Elementos '''estructurales. '''Son varios los elementos y los iremos viendo en los diferentes diagramas. Definen elementos estáticos del modelo
  
Por ejemplo una clase (en la imagen la clase persona), un actor, un caso de uso, colaboración, componente.
+
Por ejemplo una clase (en la imagen la clase persona), un actor, un caso de uso, colaboración, componente.
  
[[Image:|thumb|''Ilustración 3: elementos.png'']] Cada diagrama tiene sus propios elementos, los cuales pueden aparecer en más de un tipo de diagrama
+
[[Image:|thumb|''Ilustración 3: elementos.png'']] Cada diagrama tiene sus propios elementos, los cuales pueden aparecer en más de un tipo de diagrama
  
* Elementos de '''comportamiento. '''Sirven para aportar el comportamiento del modelo. Normalmente son identificado con verbos. Ejemplos serían maquina de estados actividades interacciones
+
* Elementos de '''comportamiento. '''Sirven para aportar el comportamiento del modelo. Normalmente son identificado con verbos. Ejemplos serían maquina de estados actividades interacciones
* Elementos de '''agrupación. '''El paquete que nos permite agrupar elementos semánticamente relacionados  
+
* Elementos de '''agrupación. '''El paquete que nos permite agrupar elementos semánticamente relacionados  
  
* [[Image:|thumb|''Ilustración 4: paquete.png'']]Elementos de '''anotación''' un texto que se anexa al modelo y permite capturar información rápida y no perderla.
+
* [[Image:|thumb|''Ilustración 4: paquete.png'']]Elementos de '''anotación''' un texto que se anexa al modelo y permite capturar información rápida y no perderla.
  
 
==== Relaciones ====
 
==== Relaciones ====
Línea 85: Línea 86:
 
==== Adornos ====
 
==== Adornos ====
 
==== Divisiones comunes ====
 
==== Divisiones comunes ====
==== Mecanismos de extensión ====
+
==== Mecanismos de extensión ====
 
=== Arquitectura ===
 
=== Arquitectura ===
 
==== Vista 4+1 ====
 
==== Vista 4+1 ====
===== Vista lógica =====
+
===== Vista lógica =====
===== Vista implementación =====
+
===== Vista implementación =====
 
===== Vista de despliegue =====
 
===== Vista de despliegue =====
 
===== Vista de proceso =====
 
===== Vista de proceso =====
 
===== Vista caso de uso =====
 
===== Vista caso de uso =====

Revisión de 10:29 26 mar 2012

Ingeniería de software orientada a objetos



Icon objectives.jpg

Objetivos

  1. comprender la estructura de UML
  2. detectar la necesidad de seguir una metodología
  3. usar los diagramas dentro del desarrollo de software orientado a objetos




UML

Unified Modling Lenguage Lenguaje de modelado unificado. Es un lenguaje que de forma unificada mediante elementos gráficos nos va a permitir modelar un sistema de software.

Es decir, con UML vamos a generar un modelo para informatizar con softwre un determinado sistema. Este modelo contendrá varios diagramas u documentos textuales. Para ello seguiremos una metodología como UP Unified Process (Proceso Unificado).

UML no es una metodología, pero se aplica dentro de una metodología.

Es decir UML no dice lo que hay que hacer para desarrollar un proyecto software:

  • Pasos a seguir ,forma de proceder
  • Actividades que hay que realizar,
  • Documentos que hay que producir, …;

pero en con este lenguaje podremos realizar esas actividades y producir esos documentos necesarios para desarrollar ese proyecto software.

UML es independiente de la metodología, pero tanto UP como RUP son metodologías orientadas a objetos que utilizan UML, que expondremos posteriormente. Hay más metodologías que lo usan, y se puede utilizar UML con criterio propio, es decir sin seguir una metodología concreta, aunque no sea muy recomendado en proyecto de gran envergadura.

Aspectos de un sistema software orienteado a objetos

Siempre que hablamos de software pensamos en valores que son modificados por operaciones, pero ya hemos visto que en un sistema orientado a objetos esa conceptualización cambia; Ahora concebimos el sistema como un conjunto de objetos que interactúan entre ellos. Un objeto es una elemento software que tiene o presenta comportamiento.

No obstante el sistema software orientado a objetos completo, lo podemos ver desde dos puntos de vista diferenciados aunque intimamente unidos:

  • Estático: En esta parte vemos qué objetos y cómo se relacionan
  • Dinámico: Observamos el ciclo de vida y como interactúan entre ellos para alcanzar el comportamiento deseado del sistema

Estructura

Vamos a estudiar cuáles son los elementos que constituyen un modelo UML. Como todo lenguaje tiene unos lexemas, que son los elementos que los constituyen, con su sintaxis o reglas de construcción y semántica que nos habla de su significado.

Según vayamos profundizando en su práctica (ya que practicando con él es como aprenderemos su uso y comprenderemos su significado y utilidad ), iremos viendo los diferentes diagramas que podemos generar. En ellos es donde estudiaremos esos lexemas o símbolos . Son propios del lenguaje UML, pero particulares de uno o varios diagramas concretos. Por ejemplo un actor es un lexema o símbolo de UML, propio para ser usado en un diagrama de caso de uso.

Vamos a continuación a analizar la estructura de UML

[[Image:|thumb|Ilustración 1: estructura1.png]]

En este diagrama vemos los componentes estructurales de más alto nivel. UML se compone de

  1. Bloques de construcción

Son los elementos básicos del modelo. El lenguaje ,más básico de UML. Lo constituyen los lexemas para diagramar, elementos relaciones y diagramas

  1. Mecanismos comunes

Forma de proceder o estrategias para poder conseguir objetivos específicos y acercarse al modelo de objetos deseado

  1. Arquitectura

La visión o forma de ver la estructura del sistema al más alto nivel en su entorno.

Bloques de construcción

Como hemos comentado son los elementos básicos del sistema.

Dado que el software que vamos a desarrollar no es de mucha complejidad, nos centraremos bastante en estos elementos, en especial en algunos tipos de diagramas.

Dentro de los bloques, podemos clasificar en elementos o propios lexemas o símbolos graficos o textuales del modelo y relaciones manera en la que dos o mas elementos establecen vículo

[[Image:|thumb|Ilustración 2: bloques_construccion.png]]

Elementos

Como hemos comentado constituyen los símbolos del modelo. Serían pues los lexemas a partir de los cuales vamos a poder construir nuestro modelo.

Vemos que tenemos cuatro tipo de simbolos

  • Elementos estructurales. Son varios los elementos y los iremos viendo en los diferentes diagramas. Definen elementos estáticos del modelo

Por ejemplo una clase (en la imagen la clase persona), un actor, un caso de uso, colaboración, componente.

[[Image:|thumb|Ilustración 3: elementos.png]] Cada diagrama tiene sus propios elementos, los cuales pueden aparecer en más de un tipo de diagrama

  • Elementos de comportamiento. Sirven para aportar el comportamiento del modelo. Normalmente son identificado con verbos. Ejemplos serían maquina de estados actividades interacciones
  • Elementos de agrupación. El paquete que nos permite agrupar elementos semánticamente relacionados
  • [[Image:|thumb|Ilustración 4: paquete.png]]Elementos de anotación un texto que se anexa al modelo y permite capturar información rápida y no perderla.

Relaciones

Diagramas

Mecanismos comunes

Especificaciones

Adornos

Divisiones comunes

Mecanismos de extensión

Arquitectura

Vista 4+1

Vista lógica
Vista implementación
Vista de despliegue
Vista de proceso
Vista caso de uso