UML Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes [email protected] 2 Por que modelamos? Simplificar realidade; Enfatizar o que é importante e suprimir o que se considera irrelevante; Nos permite aumentar o nível de abstração: » Pode representar uma visão superficial do cenário estudado, ou; » Representar detalhes de componentes do sistema. Problemas da Linguagem Informal x Modelagem Formal; Facilitar a resolução de problemas através de modelos.Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 3 O que é um modelo? Modelos são abstrações que retratam a essência de um problema; Engenheiros, arquitetos, mecânicos montam modelos antes de criar algo; Por quê o Desenvolvimento de Sistemas de Software deve ser uma exceção? » A UML vem para responder a questão. Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 4 UML Unified Modelling Language (Linguagem de Modelagem Unificada); Linguagem de modelagem não proprietária de terceira geração; Conjunto de convenções de comunicação que um processo de desenvolvimento pode utilizar; Não é uma metodologia de desenvolvimento; Sozinha não resolve nada. » Ela deve ser usada dentro de um processo de desenvolvimento Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 5 Antes da UML O Método Booch: » Método de análise orientada a objetos que incluia um “microprocesso de desenvolvimento” quanto um “macroprocesso de desenvolvimento”; » Define que um sistema deve ser analisado com uma série de visões diferentes, e cada uma delas pode ser escrita por meio de uma série de modelos de diagramas. Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 6 Antes da UML O Método Rumbaugh: » Técnica de modelagem de objetos conhecida como OMT (Object Modelling Technique); » Propôs que as atividades de análise deveriam crias 3 modelos: • Objetos: que representa os objetos, classe, hierarquia e relacionamentos; • Dinâmico: que representa o comportamento de objetos e do próprio sistema; • Funcional: representa o fluxo de informação através do sistema. Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 7 Antes da UML O Método de Jacobson: » Também chamado de engenharia de software orientada a objetos (OOSE); » Enfatizava o uso dos chamados casos de uso, que representam uma descrição do cenário que mostra como o usuário e os demais atores envolvidos interagem com o sistema. Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 8 UML e seus criadores 1987: Ivar Jacobson deixa a Ericsson e funda a Objective Systems; 1991: Jacobson vende a maioria das ações para a própria Ericsson e a empresa é renomeada para Objectory AB; 1992: Jacobson desenvolve um processo de software denominado de OOSE (Object Oriented Software Engineering); 1993: Booch começa a estudar uma aproximação com o trabalho de Rumbaugh; Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 9 UML e seus criadores 1994: Rumbaugh se junta a Booch na Rational Software e lançam a versão 0.8 de seus métodos unificados; 1995: Ericsson vende a Objectory AB para a Rational Software; Ivar Jacobson se junta a Grady Booch e James Rumbaugh na Rational Software unificando a OOSE com a versão 0.8 e criam a UML 0.9; 1997: A OMG (Object Management Group), organização de padrnização de assuntos ligados à orientação a objetos, adota a UML 1.0. Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 10 Objetivos da UML De acordo com Grady Booch, a UML deve atingir quatro objetivos básicos: » Ajudar a equipe de projeto a visualizar um sistema como ele é ou como ele pretende ser; » Ajudar a especificar a estrutura ou comportamento do sistema; » Proporcionar um modelo que sirva de guia para a construção do sistema; » Documentar as decisões tomadas pela equipe de desenvolvimento do projeto. Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 11 Grady Booch Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 12 Elementos básicos da UML A UML disponibiliza de uma série de artefatos que são utilizados para modelar uma sistema; Dentre desses artefatos estão os conhecidos diagramas. Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 13 Diagramas da UML Diagramas Estruturais: » Diagrama de classes, Diagrama de objetos, Diagrama de componentes, Diagrama de instalação, Diagrama de pacotes, Diagrama de estrutura Diagramas Comportamentais: » Diagrama de Caso de Uso, Diagrama de transição de estados, Diagrama de atividade, Diagramas de Interação: » Diagrama de seqüência, Diagrama de Interatividade, Diagrama de colaboração ou comunicação, Diagrama de tempo Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 14 Diagramas da UML Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet