- 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/