Download - UML - Facultad de Ciencias de la Documentación y la ...alcazaba.unex.es/~svicente/UML.doc · Web viewin Object-Oriented Software Engineering), por Terry Quatrani, Michael Chonoles

Transcript
Page 1: UML - Facultad de Ciencias de la Documentación y la ...alcazaba.unex.es/~svicente/UML.doc · Web viewin Object-Oriented Software Engineering), por Terry Quatrani, Michael Chonoles

PREFACIO- Definiciones .- UML

-UML es un lenguaje para especificar, construir, visualizar y documentar los artefactos de un sistema software orientado a objetos (OO), así como para “business modeling” y para sistemas de otros tipos.. Artefacto es una información que se utiliza o produce mediante un proceso de desarrollo de software. Pueden ser artefactos un modelo, una descripción o un software.

UML (unificado modelando lenguaje) es una notación estándar para modelar de objetos del mundo realen primer lugar en desarrollar un programa orientado al objeto. La definición de UML consiste en los siguientes documentos :

- La Semántica del UML.- define la riqueza de la semántica y la expresiva sintáxis del UML. Su arquitectura se organiza por paquetes, dentro de cada cual los elemntos del modelo son definidos en términos de su sintáxis abstracta (usando la notación del diagrama de clase UML), con reglas bien asentadas (usando texto y expresiones de OCL) y semántica (usando un texto preciso). Dos apéndices se incluyen : el glosario UML Elementos Estándar.

- Guía de Notación UML.- Define la notación y provee ejemplos de apoyo.

- Extensión UML para el “Objetory Process” para la Ingeniería de software y la extensión para el “Business Modeling”. Estas extensiones incluyen procesos -y dominios- y extensiones específicas del UML, en términos de sus mecanismos de extensión y de los iconos de diagrama específico de proceso.

UML pretende consolidarse como estándar . Es decir, sequiere convertir en una seria alternativa a otras metodologías de modelado como son OM. Se quiere convertir en un lenguaje estándar con el que sea posible modelar todos los T, Booch, Yourdon, etc.

Una diferencia fundamental con estas otras metodologías es que UML no pretende definir un proceso estándar de desarrollo, pues no es lo mismo crear una aplicación en tiempo real que una aplicación de gestión. UML recomienda usar los procesos que otras metodologías tienen definidos. Aprovechando la experiencia de sus creadores, se pretende eliminar aquellos componentes que resultan de poca utilidad práctica y añadir componentes conocidos de otros elementos que supongan una mejora efectiva.

El cambio de una metodología a otra (migración) no pretende ser traumático, es decir, no deberá haber cambios importantes. Esto es debido a que el nuevo lenguaje de especificación no supone un cambio radical con respecto a las otras metodologías existentes. Pero una cosa que no debe olvidarse es que un estándar no se convierte en tal porque sus creadores lo decidan, sino que conlleva un tiempo y la colaboración de muchas personas interesadas en mejorar su trabajo.

OBJETIVO O PROPÓSITO DEL UML-.

El objetivo central del lenguaje es abstraer cualquier tipo de sistema, sea informático o no, mediante diagramas. Un diagrama es una representación gráfica de una colección de elementos del modelo, que habitualmente toma forma

Page 2: UML - Facultad de Ciencias de la Documentación y la ...alcazaba.unex.es/~svicente/UML.doc · Web viewin Object-Oriented Software Engineering), por Terry Quatrani, Michael Chonoles

de grafo donde los arcos que conectan sus vértices son las relaciones entre los objetos y los vértices se corresponden con otros elementos del modelo. Los distintos puntos de vista de un sistema real que se quieren representar para obtener el modelo se dibujan de forma que resalten los detalles necesarios para entender el sistema. La manera en que se modela un sistema para ser construido y la elección de los puntos importantes que se reflejan en el modelo junto con los desechados determinan cómo se solucionará el problema y la dificultad de su posterior implementación.

DIAGRAMAS - TIPOLOGÍA.-

Los distintos diagramas que se pretenden obtener de un sistema mediante UML son:

* Diagramas de casos de uso * Diagramas de clases * Diagramas de comportamiento o interacción. Entre ellos: - Diagramas de estado - Diagramas de actividad - Diagramas de secuencia - Diagramas de colaboración * Diagramas de implementación - Diagrama de componente - Diagrama de plataforma

Explicar cómo se construyen y para qué se utilizan cada uno de los diagramas ocuparía probablemente más de un libro. Sólo vamos a introducir brevemente algunos aspectos importantes.

-- Diagramas de casos de uso Un caso de uso es una secuencia de operaciones que son desarrolladas por un sistema en respuesta a un evento que inicia un actor sobre el propio sistema. Los diagramas de casos de uso sirven para especificar la funcionalidad y el comportamiento de un sistema mediante su interacción con los usuarios y otros sistemas. Un actor es una entidad externa al sistema que se modela y que puede interactuar con él. Un ejemplo de actor puede ser un usuario o cualquier otro sistema.

-- Diagramas de clases Muestra un conjunto de elementos del modelo que son estáticos, como las clases y los tipos, junto con sus contenidos y las relaciones que se establecen entre ellos. En OMT se podría identificar con el modelo de objetos, ya que muestra la estructura estática del sistema en abstracto.

-- Diagramas de interacción o comportamiento Muestran las interacciones entre objetos ocurridas en un escenario (parte) del sistema. Hay varios tipos: + Diagramas de secuencia Modelan las interacciones entre un conjunto de objetos, ordenadas según el instante en que tienen lugar. + Diagramas de colaboración Muestran la interacción entre varios objetos y los enlaces que existen entre ellos. + Diagramas de actividad Son similares a los diagramas de flujo de otras metodologías OO.

Page 3: UML - Facultad de Ciencias de la Documentación y la ...alcazaba.unex.es/~svicente/UML.doc · Web viewin Object-Oriented Software Engineering), por Terry Quatrani, Michael Chonoles

+ Diagramas de estado Representan la secuencia de estados por los que un objeto o una interacción entre objetos pasa durante su tiempo de vida en respuesta a los eventos recibidos.

-- Diagramas de componentes Muestran las dependencias entre los distintos componentes software, incluyendo componentes de código fuente, binarios y ejecutables. Un componente es un fragmento de código software que se utiliza para mostrar dependencias en tiempo de compilación o en tiempo de ejecución.

-- Diagrama de plataformas Muestran la configuración de los componentes hardware, los procesos, los elementos de procesamiento en tiempo de ejecución y los objetos existentes en tiempo de ejecución.

Nuevas características de UML Aunque los conceptos que se incluyen en UML son en su mayoría extraídos de los métodos de diseño anteriores, aparecen nuevos conceptos importantes:

- Definición de estereotipos - Responsabilidades - Mecanismos de extensibilidad - Tareas y procesos - Distribución y concurrencia - Patrones / colaboraciones - Diagramas de actividad - Separación clara de tipo, clase e instancia - Refinamiento - Interfaces y componentes

METODOLOGÍAS.-

Su notación se deriva de y unifica las notaciones de tres metodologías orientadas al objeto del diseño y del análisis:

Metodología de Grady Booch para describir un conjunto de objetos y de sus lazos (véase el método de Booch) Técnica De James Rumbaugh Object-Modeling (Omt) Acercamiento de Ivar Jacobson que incluye una metodología del caso del uso

Otras ideas también contribuidas a UML, que era el resultado de un esfuerzo del trabajo de Booch, Rumbaugh, Jacobson, y aotros para combinar sus ideas, trabajando bajo patrocinio del software lógica racional. **time-out** UML tener ser fomentar yahora ser uno validar estándar objeto gerencia grupo (OMG), que ser también hogar CORBA, principal industria estándar paradistribuir objeto programar. Los vendedores de los productos del CASO ahora están utilizando UML y ha sido endosado porcasi cada fabricante de los productos del desarrollo del software lógica, incluyendo la IBM y Microsoft (para su ambientebásico visual).

Page 4: UML - Facultad de Ciencias de la Documentación y la ...alcazaba.unex.es/~svicente/UML.doc · Web viewin Object-Oriented Software Engineering), por Terry Quatrani, Michael Chonoles

**time-out** Martin Fowler, en su libro UML destilar, observar que, aunque UML ser uno notación sistema de modo quecada uno poder comunicar sobre uno modelo, él ser desarrollar metodología que también describir proceso en desarrollar yutilizar modelo. Mientras que hay nadie proceso validado, los contribuidores a UML todos describen acercamientos algosimilares y éstos se describen generalmente junto con las guías sobre UML sí mismo.

Entre los conceptos de modelar ese UML especifica cómo describir es: clase (de objetos), objeto, asociación, responsabilidad,actividad, interfaz, caso del uso, conjunto, secuencia, colaboración, y estado. El libro de Fowler proporciona a una buenaintroducción a UML. Booch, Rumbaugh, y Jacobson todo tienen o pronto habrán publicado el " offficial " fijaron de libros enUML.

Keith Dawson señala en su boletín de noticias, dígitos binarios sabrosos del frente de la tecnología, que los libros de UML son bestsellers en las secciones de ordenador de librerías.

---------------------------------------------______________________________-----------------------------------------

Motivation to define the UML This section describes several factors motivating the UML. We discuss why modeling is essential, highlight a few key trends in the software industry, and describe the issues caused by divergence of modeling approaches.

Why we model Developing a model for an industrial-strength software system prior to its construction or renovation is as essential as having a blueprint for large building. Good models are essential for communication among project teams and to assure architectural soundness. We build models of complex systems because we cannot comprehend any such system in its entirety. As the complexity of systems increase, so does the importance of good modeling techniques. There are many additional factors of a projectâs success, but having a rigorous modeling language standard is one essential factor. A modeling language must include:

Model elements ÷ fundamental modeling concepts and semantics Notation ÷ visual rendering of model elements Guidelines ÷ idioms of usage within the trade

In the face of increasingly complex systems, visualization and modeling become essential. The UML is a well-defined and widely accepted response to that need. It is the visual modeling language of choice for building object-oriented and component-based systems.

Page 5: UML - Facultad de Ciencias de la Documentación y la ...alcazaba.unex.es/~svicente/UML.doc · Web viewin Object-Oriented Software Engineering), por Terry Quatrani, Michael Chonoles

Industry trends in software As the strategic value of software increases for many companies, the industry looks for techniques to automate the production of software. We look for techniques to improve quality and reduce cost and time-to-market. These techniques include component technology, visual programming, patterns, and frameworks. We also seek techniques to manage the complexity of systems as they increase in scope and scale. In particular, we recognize the need to solve recurring architectural problems, such as physical distribution, concurrency, replication, security, load balancing, and fault tolerance. Development for the worldwide web makes some things simpler, but exacerbates these architectural problems.

Complexity will vary by application domain and process phase. One of the key motivations in the minds of the UML developers was to create a set of semantics and notation that adequately addresses all scales of architectural complexity, across all domains.

Prior to industry convergence Prior to the UML, there was no clearly leading modeling language. Users had to choose from among many similar modeling languages with minor difference in overall expressive power. Most of the modeling languages shared a set of commonly accepted concepts that are expressed slightly differently in different languages. This lack of agreement discouraged new users from entering the OO market and from doing OO modeling, without greatly expanding the power of modeling. Users longed for the industry to adopt one, or a very few, broadly supported modeling languages suitable for general-purpose usage. They wanted a lingua franca for modeling.

Some vendors were discouraged from entering the OO modeling area because of the need to support many similar, but slightly different, modeling languages. In particular, the supply of add-on tools has been depressed because small vendors cannot afford to support many different formats from many different front-end modeling tools. It is important to the entire OO industry to encourage broadly based tools and vendors, as well as niche products that cater to the needs of specialized groups.

The perpetual cost of using and supporting many modeling languages motivated many companies producing or using OO technology to endorse and support the development of the UML.

While the UML does not guarantee project success, it does improve many things. For example, it significantly lowers the perpetual cost of training and retooling when changing between projects or organizations. It provides the opportunity for new integration between tools, processes, and domains. But most importantly, it enables developers to focus on delivering business value and provides them a paradigm to accomplish this.

---------------------------------------------------________________________________________--------------------

Page 6: UML - Facultad de Ciencias de la Documentación y la ...alcazaba.unex.es/~svicente/UML.doc · Web viewin Object-Oriented Software Engineering), por Terry Quatrani, Michael Chonoles

ENLACES INTERESANTES RELACIONADOS.-

http://www.soleri.com/soleri98/espagne/solecl.htmhttp://domino.ericsson.se/rationalhttp://www.uml-zone.com/http://www.platinum.com/corp/uml/uml.htmhttp://uml.systemhouse.mci.com/http://www.omg.org/techprocess/meetings/schedule/Technology_Adoptions.html#tbl_UML_Specificationhttp://whatis.com/objector.htmhttp://www.trgi.com/Training/022.htmlhttp://www.informatik.fh-luebeck.de/~st/UML1.1/notation8.htmlhttp://www.lattice.co.uk/uml.htmlhttp://www.eng.uml.edu/~ATP/overview.htmhttp://www.objectnews.com/uml_reference.htm http://www.spc.ca/training/courses/980330-UML.htmhttp://www.freepage.total.co.jp/UML/draft/semantics2/semantics-0302.htmlhttp://141.24.76.100/owiswww/www/UML.htmlhttp://www.editions-hermes.fr/p0705054.htm(http://www.rational.comhttp://www.rational.com/uml/)--- Éstas no las incluimos porque son las que he traducido.

BIBLIOGRAFÍA.- EN TRES NIVELES DE DIFICULTAD : INFERIOR, MEDIO Y ELEVADO.

DIFICULTAD INFERIOR.-

- Visual Modeling with Rational Rose and UML, por Terry Quatrani In complex software development, you need a comprehensive "blueprint" to visualize the scope of your project. This new book introduces the most popular and influential of these elements--the Rational Objectory Process, the Unified Modeling Language (UML), and Rational Rose--and offers practical direction on specifying, visualizing, documenting, and creating software solutions.

- Beginning Object-Oriented Analysis and Design : With C++, por Jesse Liberty This is a readable tutorial which discusses the software engineering process and object-oriented design and includes real-world examples. Liberty covers analysis, class design, and use cases. He also details architectural issues, including Web deployment, such as HTTP and CGI; he discusses using CORBA and DCOM to handle distributed processing. The author relies on UML notation throughout the book for his notational diagrams. The book also includes tips for testing, debugging, and deployment for software.

- Beginning Objects with Visual Basic 5, por Peter Wright

Page 7: UML - Facultad de Ciencias de la Documentación y la ...alcazaba.unex.es/~svicente/UML.doc · Web viewin Object-Oriented Software Engineering), por Terry Quatrani, Michael Chonoles

Peter Wright's Beginning Objects with Visual Basic 5 details how to use Visual Basic (VB) 5 with today's object-oriented programming techniques. VB can model most real-world problems because it supports classes. The author gives a tour of object-oriented programming techniques and information on how to use classes in VB 5. Also covered are the basics of the Unified Modeling Language (UML) and how it can be used to design objects for VB software applications using modeling tools. This book introduces the beginning VB programmer to more advanced techniques for using objects to write more easily maintainable software.

DIFICULTAD INTERMEDIA

- Succeeding with the Booch and OMT Methods: A Practical Approach (The Addison-Wesley Series in Object-Oriented Software Engineering), por Terry Quatrani, Michael Chonoles Order Succeeding with the Booch and OMT Methods

- Instant UML, por Pierre-Alain Muller Instant UML offers not only a complete description of the notation and proper use of UML, but also an introduction to the theory of object-oriented programming, and the way to approach object-oriented application development. This book is written for programmers in all OO languages, novice Rational Rose users, and Microsoft Visual Modeler users.

-UML Toolkit, de Hans-Erik Eriksson y Magnus Penker This book will show you how to move to UML from Booch, OMT, and Objectory, provides numerous real-world examples and a complete case study that walks you through the project life cycle- analysis, design, and construction, and includes a CD-ROM with a Rational Rose 4.0 demo, analysis and design models in UML, and Java(TM) code.

- Designing Object-Oriented C++ Applications Using the Booch Method, de Robert C. Martin This book presents the fundamental concepts of object-oriented design and shows how to apply those concepts using C++ and the Booch notation.

Page 8: UML - Facultad de Ciencias de la Documentación y la ...alcazaba.unex.es/~svicente/UML.doc · Web viewin Object-Oriented Software Engineering), por Terry Quatrani, Michael Chonoles

DIFICULTAD ELEVADA.-

- Software Project Management: A Unified Framework, por Walker Royce Order Software Project Management: A Unified Framework from Amazon.com, Computer Literacy, or Addison Wesley Longman

- The Unified Modeling Language User Guide, por Grady Booch, Ivar Jacobson, y James Rumbaugh With this book you'll understand what the UML is and isn't, learn the language, and how to apply it to common modeling problems. This example-driven approach helps readers quickly understand and apply the UML. For more advanced developers, the book includes a learning track focused on -The Unified Software Development Process,de Ivar Jacobson, Grady Booch, and James Rumbaugh This book describes, apart from the unified generic process and the different activities in developing a software system, the different models developed and evolved during the lifecycle of a system. It describes in an easy-to-understand way the different higher-level constructs -- notation as well as semantics -- used in the models.

- The Unified Modeling Language Reference Manual, de James Rumbaugh, Ivar Jacobson, y Grady Booch This book will provide a complete, integrated description of the concepts and notation of the Unified Modeling Language. It book will be organized both for learning UML as well as for reference to specific features.

Page 9: UML - Facultad de Ciencias de la Documentación y la ...alcazaba.unex.es/~svicente/UML.doc · Web viewin Object-Oriented Software Engineering), por Terry Quatrani, Michael Chonoles

- Object Solutions, por Grady Booch

Written for the OO manager, this is a practical guide for the construction of complex, efficient systems using the visual modeling technique.

-Object-Oriented Analysis and Design,de Grady Booch

This book is a valuable source of information on the concept, methodology, and application of OOAD. It also contains expert advice on issues such as implementation, classification, and product management.

- The Best of Booch, por Grady Booch This collection of columns will be of special interest to software professionals with concerns about their object-oriented projects. It contains a thorough discussion of all aspects of the Booch method and the importance of modeling in a design process.

- OMT Insights,por Jim Rumbaugh This collection of columns is a hands-on guide to the use of the OMT, showing how modeling can help you solve software problems cleanly and effectively.

- Object-Oriented Modeling and Design,de Jim Rumbaugh The classic definition of the OMT, this work offers both practical advice and examples for industrial applications of visual modeling.

- The Object Advantage,por Ivar Jacobson

This book has been called essential reading for anyone thinking about reengineering their business and concerned about the practical implementation of such a plan. Reengineering teams, systems analysts, and designers seeking to expand their use of the OMT will also find this book extremely useful.

- Software Reuse : Architecture Process and Organization for Business Success, por Ivar Jacobson, Martin Griss, y Patrik Jonsson

This book is geared for software engineers and shows how to apply Unified Modeling Language (UML) techniques to help enhance software reuse in organizations.

- Object-Oriented Software Engineering: A Use Case Driven Approach, por Ivar Jacobson

Page 10: UML - Facultad de Ciencias de la Documentación y la ...alcazaba.unex.es/~svicente/UML.doc · Web viewin Object-Oriented Software Engineering), por Terry Quatrani, Michael Chonoles

This book presents the classic definition of use-case analysis, taking a global view of system development throughout a system's lifecycle.

-De Merise a UML, por Nasser Kettani, Dominique Mignet, Pascal Pare y Camille Rosenthal-Sabroux

The purpose of this book is to demonstrate how UML applies both to business process modeling and information system architecture. Also, the authors present a process for business, both process reeingineering and software engineering, making UML a full methodology.