A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Validação de Diagrama de

Apresentações semelhantes


Apresentação em tema: "Validação de Diagrama de"— Transcrição da apresentação:

1 Validação de Diagrama de
- ValidaState - Validação de Diagrama de Máquina de Estados UML Aretuza Amin de Miranda Alves Orientador: Alan Kelon Oliveira de Moraes Novembro / 2006

2 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

3 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 Segundo o SWEBOK, as áreas de conhecimento da Engenharia de Software são

4 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: &

5 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 Os modelos funcionam como partes de um cenário completo onde cada um tem sua particularidade e seus objetivos de apresentação. Como um conjunto conseguem de maneira única apresentar todas as características do sistema.

6 Diagramas UML Diagrama de Máquina de Estado 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

7 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) Com a existência de diagramas UML é possível a distribuição do desenvolvimento pois está definido e apresentado de maneira uniforme como deve ser implementado.

8 Inconsistência de modelos
Segundo Lange, o grande grau de liberdade permitido pelos modelos UML permite a existência de conflitos entre os vários diagramas. Estes conflitos aumentam os problemas de má interpretação.

9 Inconsistência de modelos
Defeitos em um modelo UML podem afetar o resultado do software mediante o cliente. Custo Conforme [Sommerville (2000)], como conseqüência de erros nos requisitos, os erros identificados no desenvolvimento podem custar muitas vezes mais para reparar. Se esses erros e problemas são descobertos durante a validação dos requisitos, ocorrerá uma redução importante de retrabalho, se estes erros e problemas são descobertos durante a validação dos requisitos. Quanto mais tarde são descobertos os erros, mais caro fica o projeto Prazo

10 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 Conforme [Guedes 2005], o O Diagrama de Máquina de Estados procura acompanhar as mudanças sofridas nos estados de uma instância de uma classe, de um Caso de Uso ou mesmo de um subsistema ou sistema completo. Muitas vezes baseia-se em um Caso de Uso e apóia-se no Diagrama de Classes [Guedes 2005]. Um Estado é uma situação de vida de um objeto durante a qual ele satisfaz alguma condição ou realiza alguma atividade. Cada Estado de um objeto é normalmente determinado pelos valores de seus atributos e (ou) pelas suas ligações com outros objetos. Um Estado tem uma certa duração, corresponde ao intervalo entre dois eventos recebidos pelo objeto e reflete o comportamento do objeto naquele instante [Fowler 2005].

11 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 A metodologia utilizada para a constatação da validação ou não de um Diagrama de Máquina de Estados nas diversas ferramentas de análise e projeto constituiu-se de uma elaboração de um Diagrama de Máquina de Estados incompleto, seguida da e tentativa de validação do mesmo através das ferramentas. Foram consideradas por Guedes (2005) as necessidades básicas para a existência de um Diagrama de Máquina de Estados, tais como, um Diagrama de Máquina de Estados deve conter um estado inicial, um estado final, estados e transições. Um Diagrama de Máquina de Estados que não possua um destes quatro componentes não é considerado um Diagrama de Máquina de Estados válido conforme a UML.

12 Análise de ferramentas de modelagem UML
Somente na ArgoUML foi acusado a inconsistência

13 Análise de ferramentas de modelagem UML
Somente na ArgoUML foi acusado a inconsistência e somente no primeiro teste (figura 4) Na figura 5 nenhuma das ferramentas de modelagem avaliadas apresentaram crítica quanto à integridade do diagrama

14 Análise de ferramentas de modelagem UML
Nenhuma das ferramentas de modelagem avaliadas apresentaram crítica quanto à integridade do diagrama

15 Análise de ferramentas de modelagem UML
Em todos os testes descritos, o Diagrama de Máquina de Estados é considerado inválido pelas regras de formação de um Diagrama de Máquina de Estados conforme a UML, mas nenhum foi apontado como tal pelas ferramentas analisadas, conseqüentemente não foram encontrados subsídios suficientes para garantia da integridade do diagrama em questão.

16 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. O aplicativo ValidaState tem como objetivo a necessidade de validação de um Diagrama de Máquina de Estados visando um melhor aproveitamento do tempo de duração da fase de análise e projeto, considerando inexistente a possibilidade de apresentação de um Diagrama de Máquina de Estados inválido para o desenvolvimento, o que poderia levar a um retrabalho.

17 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. O padrão XMI é especialmente considerado neste projeto de pesquisa, pois proporciona diversos benefícios, indo ao encontro das necessidades do Engenheiro de Software, facilitando a interoperabilidade entre ferramentas e oferecendo um meio flexível para a execução do ValidaState.

18 ValidaState ValidaState XMI Resultado da execução do ValidaState
O arquivo XMI é utilizado como entrada para a execução do validastate. O validastate analisa o diagrama de máquina de estados existente no arquivo XMI. O validastate retorna o resultado da validação do diagrama de máquina de estados. Tanto para diagramas válidos quanto inválidos, o validastate retorna da mesma forma visual o resultado, sendo o resultado inválido detalhado contendo os pontos inválidos de forma individual. Resultado da execução do ValidaState

19 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. A partir da utilização do ValidaState, há indícios de que a validação e verificação da integridade de um Diagrama de Máquina de Estados sejam feitas com sucesso.

20 ValidaState Especificações técnicas:
* Aplicativo desenvolvido na linguagem Java, portanto multiplataforma na versão ou superior. * Interface atual através da linha de comando. * Ferramenta utilizada para a geração dos arquivos XMI: ArgoUML versão 0.20.

21 ValidaState - Execução

22 ValidaState - Execução

23 ValidaState - Execução

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

25 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) . Expansão do ValidaState para efetuar também a validação de Atividades Externas (quando um estado pode executar uma ou mais atividades), Transições internas (que não produzem modificação no estado de um objeto), Auto-transições (que saem do estado e retornam ao mesmo) e Pseudo-estado de escolha (representa um ponto de Transição de Estados de um objeto em que deve ser tomada uma decisão, a partir da qual um estado será ou não gerado). Utilização da OCL (Object Constraint Language) como parceira na validação de atributos e valores assumidos, operações realizadas nos atributos e nas transições e análise dos eventos, condições de guarda e atividades dos estados .

26 ValidaState http://code.google.com/p/aretuza/
Expansão do ValidaState para efetuar também a validação de Atividades Externas (quando um estado pode executar uma ou mais atividades), Transições internas (que não produzem modificação no estado de um objeto), Auto-transições (que saem do estado e retornam ao mesmo) e Pseudo-estado de escolha (representa um ponto de Transição de Estados de um objeto em que deve ser tomada uma decisão, a partir da qual um estado será ou não gerado). Utilização da OCL (Object Constraint Language) como parceira na validação de atributos e valores assumidos, operações realizadas nos atributos e nas transições e análise dos eventos, condições de guarda e atividades dos estados .


Carregar ppt "Validação de Diagrama de"

Apresentações semelhantes


Anúncios Google