UML-01-Generalidades.pdf

9
1 1 Transparencias basadas en: “UML Distilled” (Second Edition) Martin Fowler, Kendall Scott Addison-Wesley © 2000 Otros … http://www.omg.com http://www.rational.com http://www.google.com + search “UML …. ” 2 Objetivo Presentar los principales elementos de UML Reflexionar sobre el proceso de desarrollo de sistemas de información usando las nuevas tecnologías

Transcript of UML-01-Generalidades.pdf

  • 11

    Transparencias basadas en:

    UML Distilled (Second Edition)Martin Fowler, Kendall ScottAddison-Wesley 2000

    Otros http://www.omg.com http://www.rational.com http://www.google.com + search UML .

    2

    Objetivo

    Presentar los principales elementos de UML

    Reflexionar sobre el proceso de desarrollo de sistemas de informacin usando las nuevas tecnologas

  • 23

    Antecedentes:

    Lenguajes en elCiclo de Vida del Software

    UML

    JavaC C++ C#

    PascalVisualBasic

    ...

    Planeacin EstratgicaCorporativa

    Planeacin Estratgicade Sistemas de Informacin

    Diseo Detallado

    Diseo Global

    Anlisis de Requerimientos

    Programacin

    Pruebas

    Operacin y Mantenimiento

    4

    Cuatro conceptos relacionados pero distintos:

    Lenguaje

    Herramienta

    Metodologa Proceso

  • 35

    Aclarando algunos conceptos (1)

    Lenguaje (de programacin, especificacin, ...): Sintaxis (elementos del lenguaje) + Gramtica (reglas para combinar dichos elementos) + Semntica (significado de las frases del lenguaje).

    Metodologa: Lenguaje + forma de plantear problemas + forma de construir poco a poco una solucin + forma de verificar que una solucin es correcta + conjunto de patrones (paradigmas deseables)

    6

    Aclarando algunos conceptos (2)

    Herramienta: Editor de un lenguaje + Librera de elementos reutilizables + Ayudas inteligentes + Traductor a otro lenguaje

    Proceso de software:Secuencia de actividades, mas un conjunto de documentos, criterios de decisin, entregables, , usados para producir sistema de software.

  • 47

    Qu es UML ?

    Lenguaje grfico para visualizar y especificar los artefactos de un sistema de software.

    Obtenido por combinacin de: Mtodo de Booch, de Grady Booch. OMT Object Modeling Technique de Jim Rumbaugh. Objectory: Casos de Uso, de Ivar Jacobson. aportes de varias compaas y centros de investigacin.

    Adoptado, despus de intensos debates, por el OMT (Object Management Group) [http://www.omt.com]

    Estndar de facto para arquitectura, anlisis y diseo de sistemas de software.

    8

    Historia de UMLNov 97 UML approved by the OMG

  • 59

    Evolucin prevista de UML

    UML 1.11997

    UML 1.21998

    UML 1.31999

    UML 1.4

    2001Q1

    UML 2.0

    Infraestructure

    UML 2.0

    Superstructure

    UML 2.0

    OCL2001

    Q4

    UML 2.0

    2002

    Relacin deDependencia

    Revisin editorialsin cambiossignificativos

    Relacin deComposicin(todo-partes)

    10

    Beneficios de UML(comprobados !!) (1)

    Basado en conceptos y modelos bien conocidos (Orientacin a Objetos, Autmatas finitos, ).

    Abierto: Definicin formal pblica, y abundante informacin disponible (muchas fuentes).

    Estndar: No tiene un dueo (un grupo mixto decide su evolucin).

    Independiente de la plataforma tecnolgica. Independiente del Proceso de Desarrollo.

  • 611

    Beneficios de UML(comprobados !!) (2)

    Escalable: til desde sistemas pequeos hasta sistemas grandes.

    Extensible: admite nuevos elementos. Existen bastantes herramientas para UML que

    cubren varias etapas (includo desarrollo de cdigo): Rational Rose [Rational] TogetherJ [Together] JDevelopper [Oracle] Visual Studio .NET [Microsoft] Visio [Microsoft] ....

    12

    Beneficios de UML(comprobados !!) (3)

    Entendible por usuarios, administradores, programadores.

    til para pensar y discutir entre desarrolladores. til para documentacin. Presenta diversas vistas del sistema (esttica,

    dinmica, despliegue, ..).

  • 713

    Sin embargo :

    UML puede llegar a volverse esotrico, exagerado, y convertirse en un objetivo en s mismo.

    En consecuencia:

    Concentrarse en lo esencial de UML. Escoger lo simple sobre lo sofisticado. No enredarse (ni dejarse enredar !) en los detalles

    de UML. Buscar la elegancia.

    14

    Procesos de Desarrollo de Software

    Un Proceso de Software es: Una secuencia de actividades, + Un conjunto de:

    documentos estndares mecanismos de intercambio de informacin entregables mecanismos de toma de decisiones criterios, ...

    que usa un grupo durante el desarrollo de un sistema de software

  • 815

    Madurez de un Proceso de Desarrollo

    Un Proceso Desarrollo de Software es MADUROen la medida que: Est escrito Cubre todas las etapas del desarrollo Es usado por TODO el grupo Es efectivo Es repetible Es eficiente, ...

    Ver Capability Maturity Model [http://www.sei.carnegie.edu]

    16

    Vistas y Observadores de un SistemaEl enfoque 4 + 1 (UML y RUP)

    DeploymentView

    ImplementationView

    LogicalView

    ProcessView

    Usuario Final- Funcionalidad Programador

    - Compromiso de desarrollo- Administracin del software

    Analista/Probador- Comportamiento- Correccin

    Gerente Tcnico- Productividad- Desempeo- Escalabilidad

    Arquitecto- Topologa del sistema- Instalacin- Communicacion

    Use CaseView

    Gerente General- Costo- Tiempo- Rentabilidad

  • 917

    Diagramas de UML

    DeploymentView

    ImplementationView

    LogicalView

    ProcessView

    Use Case View

    Diagrama deClases

    Diagrama deActividad

    Diagrama deColaboracin

    Diagrama deDespliegueDiagrama deSecuencia

    Diagrama deEstados

    Diagrama dePaquetes

    Diagrama deCasos de Uso

    Diagrama deComponentes