Upload
flavio-fraga-conceicao
View
262
Download
7
Embed Size (px)
Citation preview
UML (Unified Modeling Language)Linguagem Unificada de Modelagem
Prof: Ivan Fontainha Aula 2
Site: http://sites.google.com/site/ivanfontainha/ http://ivan.fontainha.googlepages.com email: [email protected]
Bibliografia
BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML: guia do usuário. 2.ed. rev. e atual. Rio de Janeiro: Elsevier, Campus, c2006.
MELO, Ana Cristina. Desenvolvendo aplicações com UML 2.2: do conceitual à implementação. 3.ed. Rio de Janeiro: Brasport, 2010.
LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos e ao desenvolvimento iterativo. Porto Alegre: Bookman, 2007.
UML - Introdução
O que é? A UML é uma linguagem para:
Especificar Visualizar Construir Documentar
os artefatos de um sistema de software
UML - Introdução
Quando surgiu? Surgiu no final dos anos oitenta e no inicio
dos anos noventa
UML - Introdução
A UML não tem as características de um método.
A UML não representa uma sequência de passos para a resolução de um problema, como deveria ser no caso de um método
Então, a UML não é um método e sim uma linguagem
UML - Introdução
A UML pode ser utilizada tanto no desenvolvimento de software como representar sistemas mecânicos sem nenhum software, descrevendo-os em termos de diagramas orientados a objetos
UML - Introdução
Existem várias metodologias de modelagem orientadas a objeto que, até o surgimento da UML, causavam uma guerra entre a comunidade de desenvolvedores orientado a objetos
A UML acabou com esta guerra, trazendo as melhores idéias de cada uma destas metodologias
UML - Introdução
A UML é uma tentativa de padronizar a modelagem orientada a objetos de uma forma que qualquer sistema, seja qual for o tipo, possa ser modelado corretamente, com consistência, fácil de se comunicar com outras aplicações, simples de ser atualizado e compreensível
UML - Objetivos
O objetivos da UML são: A modelagem de sistemas (não apenas de
softwares) usando os conceitos da orientação a objetos
Estabelecer uma união fazendo com que métodos conceituais sejam também executáveis
Criar uma linguagem de modelagem usável tanto pelo homem quanto pela máquina
UML – Uso da UML
A UML é usada no desenvolvimento dos mais diversos tipos de sistemas
Ela abrange sempre qualquer características de um sistema em um de seus diagramas
É também aplicada em diferentes fases do desenvolvimento de um sistema, desde a especificação de análise de requisitos até a finalização com a fase de testes
UML – Uso da UML
Um dos objetivos da UML é descrever qualquer tipo de sistema, em termos de diagramas orientados a objetos
O uso mais comum é para criar modelos de software, mas também é usada para representar sistemas mecânicos
UML – Uso da UML
Tipos de Sistemas que são utilizados a UML e suas características mais comuns: Sistemas de Informação: Armazenar, pesquisar,
editar e mostrar informações para usuários Sistemas Técnicos: Manter e controlar equipamentos
técnicos como de telecomunicações, equipamentos militares e ou processos industriais. Eles devem possuir interfaces especiais do equipamento e menos programação de software
UML – Fases de Desenvolvimento
Existem cinco fases no desenvolvimento de sistemas de software (devem ser executadas nesta ordem):Análise de RequisitosAnáliseDesign (projeto)ProgramaçãoTestes
UML – Fases de Desenvolvimento
Análise de Requisitos: Captura as intenções e necessidades dos usuários
do sistema a ser desenvolvido através do uso de funções chamadas “use-cases”
Através do desenvolvimento de use-cases, as entidades externas ao sistema (atores externos) que interagem e possuem interesse no sistema são modelados entre as funções que eles requerem, funções estas chamadas de use-cases
UML – Fases de Desenvolvimento
Análise de Requisitos: Os atores externos e os use-cases são modelados
com relacionamentos que possuem comunicação associativa entre eles ou são desmembrados em hierarquia
O diagrama de use-cases mostrará o que os atores externos, ou seja, os usuários do futuro sistema deverão esperar do aplicativo, conhecendo TODA a sua funcionalidade, sem importar como será implementada
UML – Fases de Desenvolvimento
Análise: A fase de análise está preocupada com as primeiras
abstrações (classes e objetos) e mecanismos que estarão presentes no domínio do problema
As classes são modeladas e ligadas através de relacionamentos com outras classes, e são descritas no diagrama de Classes
UML – Fases de Desenvolvimento
Análise: As colaborações entre classes também são
mostradas neste diagrama para desenvolver os use-cases modelados anteriormente
Nesta fase somente serão modeladas classes que pertençam ao domínio principal do problema do software, ou seja, classes técnicas que gerenciem banco de dados, interface, comunicação, concorrência e outros não estarão presentes neste diagrama
UML – Fases de Desenvolvimento
Design (Projeto): Nesta fase, o resultado da análise é expandido em
soluções Novas classes serão adicionadas para prover uma
infra-estrutura técnica: a interface do usuário e de periféricos, gerenciamento de banco de dados, comunicação com outros sistemas etc
UML – Fases de Desenvolvimento
Design (Projeto): As classes do domínio do problema modeladas na
fase de análise são mescladas nessa nova infra-estrutura técnica tornando possível alterar tanto o domínio do problema quanto à infra-estrutura
Resulta no detalhamento das especificações para a fase de programação do sistema
UML – Fases de Desenvolvimento
Programação: Nesta fase as classes provenientes do design são
convertidas para o código da linguagem orientada a objeto escolhida
O grau de dificuldade depende da escolha da linguagem
Não é aconselhável traduzir mentalmente os modelos de análise e design em UML no momento de sua criação
UML – Fases de Desenvolvimento
Programação: Os modelos criados nas fases passadas são o
significado do entendimento e da estrutura do sistema, porém ainda podem ser alterados caso o analista julgue necessário, o que não pode é alterar a programação sem alterar os modelos anteriores senão estes não estarão mais demonstrando o real perfil do sistema
È uma fase separada e distinta onde os modelos criados são convertidos em código
UML – Fases de Desenvolvimento
Testes – temos 3 tipos de testes: Unidade: são para classes individuais ou grupos de
classes e são geralmente testados pelo programador Integração: são aplicados já usando as classes e
componentes integrados para se confirmar se as classes estão cooperando uma com as outras como especificado nos modelos
Aceitação: observam o sistema como uma “caixa preta” e verificam se o sistema esta funcionando como o especificado nos primeiros diagramas de use-cases
UML – Ferramentas
Comerciais e “Free Editions”:MagicDrawTogheterPoseidonEnterprise ArchitectRatinal RoseJudeOmondo Eclipse UML
Fonte: http://www.objectsbydesign.com/tools/umltools_byPrice.html
UML – Ferramentas
Livres:UmbrelloArgoUMLDiaBOUMLFajubaStarUML
Fonte: http://www.objectsbydesign.com/tools/umltools_byPrice.html