- ValidaState Validação de Diagrama de
Máquina de Estados UML
Aretuza Amin de Miranda Alves
Orientador: Alan Kelon Oliveira de Moraes
Novembro / 2006
Itens
* Apresentação do papel do Diagrama de Máquina de
Estados no contexto da UML e o reflexo da
inconsistência deste diagrama em um projeto de
desenvolvimento de software
* Apresentação de análise de ferramentas de
modelagem de software descrevendo as elaborações
de Diagramas de Máquina de Estados
* Apresentação do ValidaState no contexto da
validação de um Diagrama de Máquina de Estados
Engenharia de Software
Requisitos de Software
Projeto (Design) de Software
Construção de Software
Teste de Software
Manutenção de Software
Gerência de Configuração de Software
Gerência de Engenharia de Software
Processos de Engenharia de Software
Ferramentas e Métodos de Engenharia de
Software
Qualidade de Software
Projeto (Design) de Software
“Mais vale uma imagem do que mil palavras”
Amizade:
[Do lat. vulg. *amicitate.]
S. f.
1.
Sentimento fiel de afeição, simpatia, estima ou ternura entre
pessoas que geralmente não são ligadas por laços de família ou por
atração sexual: 2
2.
Estima, simpatia ou camaradagem entre grupos ou entidades:
2
3.
Pessoa amiga; amigo: 2
4.
Vinculação de caráter exclusivamente social; relações: 2 [M.
us. no pl.]
5.
Mancebia, concubinato; amasio.
6.
Entendimento, fraternidade: 2
7.
Benevolência, bondade: 2
8.
Dedicação de certos animais ao homem: 2
9.
Bras. Pop. F. de tratamento: meu amigo, meu chapa; nossaamizade: &
Amizade colorida. Bras.
1.
Relacionamento íntimo, amoroso, sem compromisso social: &
Projeto (Design) de Software
Modelos de representação visual do sistema: UML
* Início : 1994 (Booch, Rumbaugh e Jacobson)
* Propósito: possibilitar a comunicação entre as
pessoas, documentar o sistema e testar
* Versão atual: 2.0
Diagramas UML
* Propósito: apresentar de forma gráfica o
funcionamento do sistema
Diagramas UML
Diagrama de Caso de Uso
Diagrama de Classes
Diagrama de Objetos
Diagrama de Estrutura Composta
Diagrama de Sequência
Diagrama de Comunicação
Diagrama de Máquina de
Estado
Diagrama de Atividades
Diagrama de Integração Geral
Diagrama de Componentes
Diagrama de Implantação
Diagrama de Pacotes
Contribuição ao Open Source
Diagramas –> facilidade de desenvolvimento
distribuído
Projeto Apache – pouca documentação e inexistência
de modelos visuais para descrever o software.
Apenas 12 pessoas no core team
(a existência da modelagem do sistema –> poderia
facilitar o ingresso de novos integrantes levando a
uma maior contribuição no desenvolvimento do
servidor Apache)
Inconsistência de modelos
Consistência
Inconsistência
Inconsistência de modelos
Defeitos em um modelo UML podem afetar o
resultado do software mediante o cliente.
Custo
Prazo
Diagrama de Máquina de Estado
* Apresenta o comportamento de um elemento
(objeto) através de um conjunto de transições de
estado.
* É composto obrigatoriamente por elementos
formadores:
Estado Inicial
Estado Final
Estado(s)
Transições entre os estados
Análise de ferramentas de modelagem UML
* ArgoUML
* Gentleware Poseidon for UML
* Omondo EclipseUML
* IBM Rational Software Modeler
* IBM Rational Software Architect
* Borland Together Architect
* Borland Together Designer
* Magicdraw
Análise de ferramentas de modelagem UML
Análise de ferramentas de modelagem UML
Análise de ferramentas de modelagem UML
Análise de ferramentas de modelagem UML
ValidaState - Proposta
A proposta deste trabalho é
um aplicativo que realize
Diagrama de Máquina de
melhor aproveitamento do
projeto do sistema.
o desenvolvimento de
a validação de um
Estados, visando um
tempo de análise e
ValidaState
Será utilizado como fonte da análise da validação do
Diagrama de Máquina de Estados um arquivo XMI
(XML Metadata Interchange), que é um padrão para
codificação de metadados de ferramentas orientadas
a objetos.
ValidaState
XMI
ValidaState
Resultado da execução do
ValidaState
ValidaState
São características consideradas válidas pelo
ValidaState:
* Deve existir um estado inicial
* Deve existir ao menos um estado final
* Deve existir ao menos um estado
* Devem existir transições entre os estados
considerando-se as particularidades de cada
estado.
ValidaState
Especificações técnicas:
* Aplicativo desenvolvido na linguagem Java,
portanto multiplataforma na versão 1.5.0 ou
superior.
* Interface atual através da linha de comando.
* Ferramenta utilizada para a geração dos
arquivos XMI:
ArgoUML versão 0.20.
ValidaState - Execução
ValidaState - Execução
ValidaState - Execução
Conclusão
Há indícios de que haja uma maior consistência nos
dados componentes dos Diagramas de Máquina de
Estados submetidos ao ValidaState, o que pode ter como
resultado o ganho de produtividade e integridade dos
dados validados e encaminhados para desenvolvimento.
Trabalhos futuros
* Unificação do ValidaState para os arquivos XMI gerados
por outras ferramentas de modelagem.
* Expansão da validação dos Diagramas de Máquina de
Estados.
* Utilização da OCL (Object Constraint Language) .
ValidaState
http://code.google.com/p/aretuza/
http://code.google.com/p/monografiavalidastate/
Download

ValidaState