- ValidaState - Validação de Diagrama de Máquina de Estados UML Aretuza Amin de Miranda Alves...

Post on 22-Apr-2015

102 views 0 download

Transcript of - ValidaState - Validação de Diagrama de Máquina de Estados UML Aretuza Amin de Miranda Alves...

- 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 SoftwareProjeto (Design) de Software

Construção de SoftwareTeste de SoftwareManutenção de SoftwareGerência de Configuração de SoftwareGerência de Engenharia de SoftwareProcessos de Engenharia de SoftwareFerramentas e Métodos de Engenharia de SoftwareQualidade 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; nossa-amizade: &

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 UsoDiagrama de ClassesDiagrama de ObjetosDiagrama de Estrutura CompostaDiagrama de SequênciaDiagrama de Comunicação

Diagrama de Máquina de EstadoDiagrama de AtividadesDiagrama de Integração GeralDiagrama de ComponentesDiagrama de ImplantaçãoDiagrama 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 InicialEstado FinalEstado(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 é o desenvolvimento de um aplicativo que realize a validação de um Diagrama de Máquina de Estados, visando um melhor aproveitamento do tempo de análise e projeto do sistema.

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) .