uml modelando um sistema. fases do desenvolvimento de software análise de requisitos análise...
TRANSCRIPT
UML
Modelando um sistema
Fases do desenvolvimento de Software
Análise de requisitos Análise Projeto Desenvolvimento Testes
Análise de Requisitos
Esta fase captura as intenções e necessidades dos usuários do sistema
Marcada por uma entrevista com cliente Os interesses do cliente devem ser
formalizados para próxima fase Para formaliza-los é usado o digrama UML
de “casos de uso”
Analise
A fase de análise está preocupada com as primeiras abstrações (classes e objetos)
Estas abstrações estarão presentes no domínio do problema
As classes são modeladas e ligadas através de relacionamentos com outras classes,
As colaborações entre classes também são mostradas neste diagrama para desenvolver os “casos de uso" modelados anteriormente
Estas colaborações são criadas através de modelos dinâmicos em UML
Analise
Na análise, só serão modeladas classes que pertençam ao domínio principal do problema
Estas são classes técnicas que gerenciem banco de dados, interface, comunicação, concorrência
As demais classes não estarão presentes na modelagem dessa fase
Projeto
O resultado da análise é expandido em soluções técnicas
Novas classes serão adicionadas para prover uma infra-estrutura técnica
As classes do domínio do problema modeladas na fase de análise são mescladas nessa nova infra-estrutura técnica
O design resulta no detalhamento das especificações para a fase de programação do sistema
Modelagem
Desenvolver o modelo de uma aplicação antes de construí-la, é tão essencial quanto ter uma planta para a construção de uma casa
Com o aumento da complexidade dos sistemas, é importância conhecer boas técnicas de modelagem
A UML se tornou uma notação padrão da indústria de arquitetura de software
Notação UML
Visões: Mostram os diferentes aspectos do sistema, dando enfoque a ângulos e níveis de abstrações diferentes
Modelos de Elementos: São os conceitos utilizados nos diagramas
Mecanismos Gerais: Provém comentários, informações ou semântica sobre os elementos dos modelos.
Diagramas: São gráficos que descrevem o conteúdo em uma visão
Visões
Cada visão é descrita por um número de diagramas que contém informações que dão ênfase aos aspectos particulares do sistema
Tipos:– Visão de Casos de Uso– Visão de Componentes– Visão Lógica– Visão de Organização– Visão de Concorrência
Visão de caso de Uso
Descreve as funcionalidades do sistema desempenhada pelos atores externos
É a visão central, base para as outras visões do sistema
Descrita pelos diagramas: – de Casos de Uso – de Atividades
Diagrama de caso de uso
Elementos
Nome do Caso
ATOR ASSOCIAÇÂO
Caso de Uso
Diagrama de caso de uso
Exemplo: Sistema EscolaCadastrar aluno
Cadastrar professor
Calcular média
Listar alunos
Listar professoresGerente da
escola
Diagrama de Atividades
O Diagrama de Atividades mostra o fluxo de controle
Eles capturam ações e seus resultados Eles focam o trabalho executado na
implementação de uma operação (método) Tipicamente as atividades são estados de
ação – estados que transitam para outro estado
Diagrama de Atividades
Elementos
Nome do Estado
TRANSIÇÂO
ESTADO
INICIO
FIM
FLUXO PARALELO TOMADA de DECIÇÂO
Diagrama de Atividades
Exemplo
Visão Lógica
Descreve como as funcionalidades do sistema serão implementadas
Especifica a estrutura estática e dinâmica Representada pelos diagramas:
– de Classe – de Objetos – de Estado – Seqüência– Colaboração – Atividades
Diagrama de Classes
É a descrição de conjunto de objetos que compartilham os mesmos atributos e relacionamentos (estado), operações e semântica (comportamento)
O Diagrama de Classes mostra a estrutura estática do modelo da aplicação
Este diagrama exibe as classes do sistema e o grau do relacionamentos entre elas
Diagrama de Classes
ElementosCliente
Nome : StringIdade : Num
Criar()Destruir()
Nome da Classe
Atributos
Operações
ASSOCIAÇÂO
AGREGAÇÃO
COMPOSIÇÃO
GENERALIZAÇÃODEPENDENCIA
Diagrama de Classes
Diagrama de classe (simples)
Escola
ProfessorAluno
matricula contrata
Diagrama de Classes
Exemplo Pessoa
Principal Mundo
Pessoas
exibe
abriga
Animais
Local
abriga
ocupam
ocupam
Diagrama de Classes
Cardinalidade– Quantidade de objetos na relação
Principal Mundo
Pessoa
exibe
abriga
Animal
Local
abriga
ocupam
1 *
1
*
ocupam
1 1
1
1
1 *
Diagrama de Classes
AnimalAnimal
- nome: String
- peso: float
+ mover(passos: int, direção: String) : local
+ comer(pesoDaComida:float ): float
- Posição: Local
proteção
+ Define Publico
- Define Privado
Diagrama de Classes
Exemplo: Sistema escolaEscola
alunos: Alunos[ ]
professores: Professores[ ]
adicionarProfessor (Professor p) : void
adicionarAlunos(Aluno a) : void
executar( ) : void
listarAlunos( ): void
Aluno
nome: Stringmatricula: int
construtor( ):
nota1: intnota2: int
Professor
nome: String
matricula: int
turmas: int
construtor( ):
1 1
* *
Diagrama de Classes
Exemplo
Diagrama de Objetos
O Diagrama de Objetos é muito similar ao Diagrama de Classes e utiliza quase a mesma notação
Este diagrama mostra uma “fotografia” dos objetos existentes em um determinado momento na execução do sistema
São muito úteis para exemplificar relacionamentos complexos entre objetos em determinado momento
Diagrama de Objetos
Exemplo
Utilizando o JUDE
Interface inicial
JUDE
Criando um Projeto
JUDE
Criando um Projeto
JUDE
Interface do Projeto
JUDE
Criando Diagramas
JUDE
Criando Diagramas
JUDE
Criando Diagramas
JUDE
Criando Diagramas
JUDE
Criando Diagramas
JUDE
Atividade– Fazer o diagrama de atividades do Sistema
Escola