Escolar Documentos
Profissional Documentos
Cultura Documentos
CursoUML Intro
CursoUML Intro
A Crise do Software
O que a Crise do Software?? Quais as razes desta crise? Como podemos solucionar (se que
podemos)?
Engenharia de Software
O que Engenharia de Software? Onde ela pode ajudar? Comunicao o problema?
O que so modelos???
Uma simplificao da realidade. Oferece um desenho de um sistema em um determinado nvel de abstrao Exemplos de modelos:
z z z z z
Modelo planetrio Modelo atmico Modelo de um sistema de transporte coletivo Modelo de um sistema operacional Modelo de um sistema de gerenciamento de alunos
ele ou como desejamos que seja Nos permite especificar a estrutura ou o comportamento de um sistema Na construo de um guia para a construo do sistema Na documentao das decises tomadas no projeto
Princpios da modelagem
A escolha dos modelos a serem criados tem profunda influncia sobre a maneira como um determinado problema atacado e como uma soluo definida Cada modelo poder ser expresso em diferentes nveis de preciso Os melhores modelos esto relacionados realidade Nenhum modelo nico suficiente. Qualquer sistema no-trivial ser melhor investigado por meio de um pequeno conjunto de modelos quase independentes
Ferramentas (freeware)
MagicDraw Poseidon for UML ArgoUML Visual Paradigm for UML JUDE UML Modeling Tool.
O que UML?
UML = Unified Modeling Language (Linguagem de Modelagem Unificada) Desenvolvida inicialmente no final de 1994 por Grady Booch e James Rumbaugh Ivar Jacobson, juntou-se ao grupo e iniciou o trabalho de unificao das metodologis Booch, OMT (Object Modeling OOSE (Object-Oriented Software Technique) e Engineering)em 1995.
O que UML?
UML uma linguagem padro para elaborao da estrutura de projetos de software UML adequada a modelagem de sistemas UML apenas uma linguagem e, portanto, somente uma parte de um mtodo para o desenvolvimento de software.
Booch, Rumbauch, Jacobson
UML permite elaborar modelos explcitos que facilitam a comunicao UML utiliza um conjunto de smbolos que permite comunicar idias sem ambigidade Ex: Um modelo escrito por um desenvolvedor pode ser interpretado por outro desenvolver.
Especificar construir modelos precisos, sem ambigidades e completos UML atende a todas as decises importantes em termos de anlise, projeto e implementao de sistemas de software.
Modelos gerados em UML podem ser conectados a vrias linguagens de programao possvel mapear modelos UML em linguagens de programao e vice-versa (engenharia reversa, mas nem sempre possvel).
Auxilia na documentao de artefatos de software como: requisitos, arquitetura e projeto UML proporciona uma linguagem para expresso de requisitos e para a realizao de testes UML auxilia na modelagem das atividades de planejamento do projeto e gerenciamento e verses.
Itens
z z z z
Diagramas
z z z z
Relacionamentos
z z z z
z z z z z
Classes Objetos Casos de Uso Seqncias Colaboraes Grficos de estados Atividades Componentes Implantao.
Itens em UML
So abstraes identificadas como cidados de primeira classe em um modelo So utilizados para escrever modelos bem formados Os relacionamentos renem Itens Os diagramas agrupam colees de Itens Itens so os blocos de construo bsicos orientados a objetos da UML
Itens Estruturais
estticas elementos
do modelo, conceituais ou
Itens Estruturais
Itens Comportamentais
So as partes dinmicas dos modelos de UML So verbos de um modelo representando comportamento no tempo e no espao Existem 2 (dois) tipos principais de itens comportamentais:
z
Interao: Comportamento que abrange um conjunto de mensagens trocadas entre objetos num contexto especfico Mquina de estados: Especifica as seqncias de estados pelas quais objetos e interaes passam durante sua existncia em resposta a eventos.
Itens Comportamentais
mensagem
Itens de Agrupamento
So partes organizacionais dos modelos de UML So blocos em que os modelos podem ser descompontos Existe apenas 1 (um) item principal de agrupamento:
z
Pacotes:
So mecanismos de propsito geral organizao de elementos em grupo para a
Itens de Agrupamento
Fonte: http://www.smartdraw.com/
Itens Notacionais
So partes explicativas dos modelos de UML So comentrios, includos para descrever, esclarecer e fazer alguma observao sobre qualquer elemento do modelo Existe apenas um item notacional, chamado Notas.
Relacionamentos em UML
So blocos relacionais bsicos de construo da UML Como os Itens, os relacionamentos so utilizados para escrever modelos bem-formado
Relacionamento de Dependncia
Relacionamento de Dependncia
um relacionamento semntico entre dois itens nos quais a alterao de um (o item independente) pode afetar a semntica do outro item (o item dependente) O relacionamento de dependncia representado por linhas tracejadas.
Relacionamento de Associao
um relacionamento estrutural descreve um conjunto de ligaes So conexes entre objetos Agregao associao um tipo especial
que
de
Relacionamento de Generalizao
um relacionamento especializao / generalizao nos quais os objetos dos elementos especializados (filhos) so substituveis por objetos do elemento generalizado (pais) Os filhos compartilham a estrutura e o comportamento dos pais O relacionamento de associao representado por linha slida com uma seta apontando para o pai.
Relacionamento de Realizao
um relacionamento semntico entre classificadores, em que um classificador especifica um contrato que outro classificador garante executar So encontrados em dois lugares: z Entre interfaces e as classes ou componentes que as realizam z Entre casos de uso e as colaboraes que os realizam O relacionamento de realizao representado por linha tracejada com uma seta entre a generalizao e um relacionamento de dependncia.
Diagramas em UML
So apresentaes grficas de um conjunto de elementos So desenhados para permitir a visualizao de um sistema sob diferentes perspectivas Apresenta uma viso parcial dos elementos que compe o sistema O mesmo elemento pode aparecer em vrios diagramas (todos, alguns ou em nenhum).
Diagrama de Classes
Exibe conjunto de classes, interfaces e colaboraes, bem como seus relacionamentos Mostram uma viso esttica do sistema.
Fonte: http://www.smartdraw.com/
Diagrama de Objetos
Exibe um conjunto de objetos e seus relacionamentos Descrevem fotografias estticas de instncias de itens encontrados nos diagramas de classes Abrangem a viso esttica da estrutura ou do processo de um sistema.
Fonte: http://www.smartdraw.com/
Exibe um conjunto de caso de uso e atores, e seus relacionamentos Fornecem um meio para organizao e modelagem de comportamento do sistema Abrangem a viso esttica de casos de usos do sistema.
Fonte: http://www.smartdraw.com/
Diagrama de Interao
Diagramas de seqncia e colaborao so tipos de diagramas de interao Abrangem uma viso dinmica do sistema Exibe uma interao consistindo de um conjunto de objetos e seus relacionamentos, incluindo mensagens trocadas entre eles.
Fonte: http://www.smartdraw.com/
Exibem uma mquina de estados, formada por estados, transies, eventos e atividades Abrangem uma viso dinmica de um sistema Modelam comportamento interfaces, classes colaboraes. de ou
Fonte: http://www.smartdraw.com/
Diagrama de Atividades
Tipo especial de diagrama de grfico de estados Exibe o fluxo de uma atividade para outra no sistema Modela a funo de um sistema e enfatiza o fluxo de controle entre objetos.
Fonte: http://www.smartdraw.com/
Diagrama de Componentes
Exibe as organizaes e as dependncias existentes em um conjunto de componentes Viso esttica da implementao de um sistema Relaciona-se com os diagramas de classes, uma vez que os componentes so mapeados para uma ou mais classes, interfaces e colaboraes.
Fonte: http://www.smartdraw.com/
Diagrama de Implementao
Mostra a configurao dos ns de processamento em tempo de execuo e os componentes neles existentes Viso esttica arquitetura Relaciona-se componentes. do com funcionamento os de uma de
diagramas
Fonte: http://www.smartdraw.com/
Regras da UML
Como combinar os blocos de construo? Modelos bem-formados so aqueles autoconsistentes semanticamente e em harmonia com todos os modelos a eles relacionados Regras para:
z z
Quais nomes podem ser atribudos as coisas (nomes) O contexto que termina um significado especfico para um nome (escopo) Como tais nomes podem ser vistos e utilizados (visibilidade) Como os itens se relacionamento entre si de forma adequada e consistente (integridade) O que significa executar ou simular um modelo dinmico (execuo).
Parciais: Certos elementos ficam ocultos para simplificar a viso do modelo Incompletos: Certos elementos podem ser omitidos Inconsistentes: A integridade do modelo no assegurada.
(dicotomia
interface
Mecanismos de extenso
z z z
Arquitetura de um sistema
Arquitetura de um sistema
Referncias
Booch,
G., Rumbaugh, J., Jacobson, I. UML Guia do Usurio 11a Tiragem. Editora Campus, Rio de Janeiro, 2000. Pender, T. UML Bible, Wiley Publishing Inc. Indianapolis, 2003. Larman, C. Utilizando UML e Padres, 1a edio. Bookman, So Palulo, 2002.
Referncias na Web