Análise de Programação
Modelagem Orientada a Objetos com
UML
Prof. Gilberto B. Oliveira
Modelagem Orientada a
Objetos
O problema
O objetivo
A importância de um
projeto
Conceitos de
modelagem
O que é um modelo
Princípios da
modelagem de software
Origem da UML
O que é UML
Aplicação da UML
Blocos de construção
UML
Exemplo de item
Exemplo de
relacionamento
Regras UML
Mecanismos básicos
UML
Arquitetura de software
Ciclo de
desenvolvimento de
2
software
O problema
3
O objetivo
O que é desenvolver software com sucesso?
Software de qualidade
Capaz de atender as necessidades do usuário
Dentro do prazo, custo e recursos planejados
Interagir com usuários de maneira disciplinada
Expor os requisitos do sistema
Arquitetura sólida que permite alterações
4
A importância de um
projeto
5
Conceitos de Modelagem
Por que modelar?
Comunicar a estrutura e o comportamento
desejado do sistema
Visualizar e controlar a arquitetura do sistema
Compreender melhor o sistema a ser elaborado
expondo oportunidades de simplificação e
reaproveitamento
Gerenciar os riscos
6
O que é um modelo
Simplificação da realidade
Permitem compreender melhor o sistema que estamos
construindo
Visualizar o sistema como ele é ou como desejamos que
ele seja
Especifica a estrutura ou o comportamento de um sistema
Orienta a construção do sistema
Documenta as decisões tomadas
Modelos de sistemas complexos permitem
compreendê-los em sua totalidade
7
Princípios da modelagem
de software
A escolha do modelo influencia
A maneira de resolver problemas
A definição das soluções encontradas
Cada modelo poderá ter diferentes níveis de
precisão
Melhores modelos estão relacionados à
realidade
Sistemas minimamente complexos usam um
conjunto de modelos.
8
Origem da UML
Década de 90:
Projetos de software mais complexos
Desenvolvimento de linguagens de programação
orientada a objetos
Desenvolvimento de novos métodos para
programação orientada a objetos
Booch
OOSE (Object Oriented Software Engineering)
OMT (Object Modeling Technique) etc...
9
Origem da UML
Por que criar uma Linguagem de Modelagem
Unificada
Métodos convergentes
Foco na padronização de mercado
Resolução de problemas que não poderiam ser resolvidos
com os métodos existentes.
Objetivo da UML
Modelar o sistema desde o conceito até o artefato com
técnicas de orientação a objeto
Resolver problemas complexos e de tarefas críticas
Linguagem de modelagem que possa ser usada por pessoas
e máquinas
10
O que é UML?
Linguagem de
modelagem de
artefatos de software:
Visualizar
Especificar
Construir
Documentar
Requisitos
Arquitetura
Projeto
Código Fonte
Planos do projeto
Testes
Protótipos
Versões
11
Aplicação da UML
Sistemas de informação complexos:
Sistemas de informação corporativos
Sistemas bancários e financeiros
Telecomunicações
Transportes
Defesa/espaço aéreo
Vendas e varejo
Eletrônica médica
Científicos
Serviços distribuídos baseados em Web
A UML pode modelar um sistema legal,
comportamental e de hardware
12
Blocos de construção UML
Itens
Estruturais
Comportamentais
De agrupamentos
Anotacionais
Relacionamentos
Dependência
Associação
Generalização
Diagramas
De classes
De caso de uso
De objetos
De iteração
De seqüência
De colaboração
De gráficos de estado
De atividades
13
Exemplo de Item
Classe:
Descrição de conjuntos
de objetos que
compartilham os mesmos
atributos, operações,
relacionamentos e
semântica
Implementam uma ou
mais interfaces
14
Exemplo de Relacionamento
Generalização
Objetos filhos
relacionados com objetos
pais
Os filhos compartilham a
estrutura e o
comportamento dos pais
15
Regras UML
Nomes
De Itens, Relacionamentos e Diagramas
Escopo
Contexto que dá significado a um nome
Visibilidade
Nomes vistos pelos demais escopos
Integridade
Relacionamento consistente entre os itens
Execução
Simular um modelo dinâmico
16
Mecanismos básicos da UML
Adorno:
Classes ornamentadas
facilitam a compreensão
do modelo
Exemplo:
Classe Abstrata
Método público
Método protegido
Método privado
17
Arquitetura de software
Organização do sistema de software
Seleção de elementos estruturais e interfaces que
compõem o sistema
O comportamento do sistema conforme especificado
na colaboração entre esses elementos
A composição dos elementos estruturais e
comportamentais em subsistemas cada vez maiores
O estilo da arquitetura que orienta a organização:
elementos estáticos e dinâmicos.
18
Arquitetura de software
vocabulário
funcionalidade
gerenciamento de configurações
montagem do sistema
Visão de Projeto
comportamento
Visão de Caso de Uso
Visão do Processo
desempenho
escalabilidade
Visão de
Implementação
Visão da
Implementação
topologia do sistema
distribuição
fornecimento
19
instalação
Ciclo de
desenvolvimento
Concepção
vida
de software
Elaboração
Construção
Transição
Modelagem do negócio
Requisitos
Análise e projeto
Implementação
Teste
Implantação
Gerenciamento de
configuração de alteração
Gerenciamento de projeto
Ambiente
20
Download

Análise e Projeto de Sistemas II