Suporte À Edição De UML 2 No Ambiente
Total Page:16
File Type:pdf, Size:1020Kb
Thaniaˆ Clair de Souza Vargas Suporte a` Edic¸ao˜ de UML 2 no Ambiente SEA Florianopolis´ - SC 2008 Thaniaˆ Clair de Souza Vargas Suporte a` Edic¸ao˜ de UML 2 no Ambiente SEA Orientador: Ricardo Pereira e Silva UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMATICA´ E ESTAT´ISTICA Florianopolis´ - SC 2008 Trabalho de conclusao˜ de curso submetido a` Universidade Federal de Santa Catarina como parte dos requisitos para obtenc¸ao˜ do grau de Bacharel em Sistemas de Informac¸ao.˜ Profo. Dr. Ricardo Pereira e Silva Orientador Profa. Dra. Patr´ıcia Vilain Universidade Federal de Santa Catarina Profo. Dr. Raul Sidnei Wazlawick Universidade Federal de Santa Catarina Dedico a Deus, minha fam´ılia e ao meu namorado Caio. Agradecimentos Agradec¸o a Deus pela conclusao˜ deste trabalho. Obrigado por dar-me forc¸as, saude´ e muita dedicac¸ao.˜ Aos meus pais, Angela e Noli. Obrigada por me amarem, obrigada por confiarem em mim, obrigada por me darem a oportunidade de existir e de tentar fazer a diferenc¸a. A todos os meus irmaos˜ por acreditarem em mim. Ao Caio, que sempre esteve ao meu lado. Ao meu tio Alberto, que me concedeu a oportunidade de estar aqui. Ao Otavio,´ Ademir e Thiago, colegas que me deram algumas dicas neste trabalho. A todos os meus parentes e amigos por torcerem por mim. Ao professor Ricardo, pela dedicac¸ao,˜ pacienciaˆ e aux´ılio concedido a mim. E finalmente, aos membros da banca examinadora os meus agradecimentos. “Eu irei e cumprirei as ordens do Senhor, porque sei que o Senhor nunca da´ ordens aos filhos dos homens sem antes preparar um caminho pelo qual suas ordens possam ser cumpridas” O Livro de Mormon,´ I Nefi´ 3:7 Resumo O presente trabalho visa oferecer suporte a` edic¸ao˜ de UML 2 no ambiente de desenvolvi- mento de software SEA, tendo como resultado final uma nova versao˜ escrita em linguagem Java do ambiente com a construc¸ao˜ de novas ferramentas que reutilizam funcionalidades de edic¸ao˜ supridas pelo framework OCEAN. Frameworks orientados a objetos e modelagem UML sao˜ abordados de maneira a intro- duzir aspectos conceituais relacionados ao prototipo´ desenvolvido. Uma nova estrutura de especificac¸ao˜ que usa tecnicas´ atuais de modelagem UML 2 foi constru´ıda e incorporada ao ambiente SEA, agregando conceitos dos novos diagramas. Palavras-chave: engenharia de software, reuso de software, frameworks orientados a obje- tos, ambientes de desenvolvimento, UML, ferramentas CASE. Abstract The current paper is intended to offer support to the UML 2 edition in the SEA software development environment, having as its final result a new version written in Java language of the environment with the building of new tools that reuse the edition features supplied for the OCEAN framework. Object-oriented frameworks and UML modeling are approached in order to introduce the conceptual aspects related to the developed prototype. A new specification structure that uses the current techniques of UML 2 modeling was built and incorporated to the SEA environment, aggregating concepts of the new diagrams. Keywords: software engineer, software reuse, object-oriented frameworks, development environments, UML, CASE tools. Sumario´ Lista de Figuras Lista de Tabelas 1 Introduc¸ao˜ p. 18 1.1 Justificativa . p. 19 1.2 Objetivos . p. 19 1.2.1 Objetivo Geral . p. 20 1.2.2 Objetivos Espec´ıficos . p. 20 1.3 Metodologia . p. 20 1.4 Estrutura do documento . p. 21 2 Frameworks orientados a objetos p. 22 2.1 Conceitos . p. 23 2.2 Caracter´ısticas . p. 25 2.3 Classificac¸ao˜ .................................. p. 26 2.4 Utilizac¸ao....................................˜ p. 27 2.5 Vantagens . p. 27 2.6 Desvantagens . p. 28 2.7 Exemplos . p. 29 3 UML p. 30 3.1 Historia´ ..................................... p. 30 3.2 Estrutura da especificac¸ao............................˜ p. 32 3.3 Organizac¸ao˜ dos Diagramas de UML 2 . p. 33 3.4 Diagramas de UML 2 . p. 34 3.4.1 Diagrama de Casos de Uso . p. 34 3.4.2 Diagrama de Classes . p. 35 3.4.3 Diagrama de Objetos . p. 36 3.4.4 Diagrama de Pacotes . p. 36 3.4.5 Diagrama de Estrutura Composta . p. 36 3.4.6 Diagrama de Componentes . p. 37 3.4.7 Diagrama de Utilizac¸ao˜ ou Implantac¸ao˜ . p. 37 3.4.8 Diagrama de Sequ¨enciaˆ . p. 38 3.4.9 Diagrama de Comunicac¸ao.......................˜ p. 39 3.4.10 Diagrama de Maquina´ de Estados . p. 40 3.4.11 Diagrama de Atividades . p. 40 3.4.12 Diagrama de Visao˜ Geral de Interac¸ao˜ . p. 40 3.4.13 Diagrama de Temporizac¸ao˜ ...................... p. 41 3.5 Comparac¸ao˜ entre a primeira e a segunda versao˜ de UML . p. 42 3.6 Ferramentas para modelagem UML . p. 43 3.6.1 Suporte aUML1............................` p. 44 3.6.2 Suporte aUML2............................` p. 47 3.6.3 Comparativo entre as ferramentas . p. 49 4 Framework OCEAN p. 53 4.1 Caracter´ısticas . p. 53 4.1.1 Caixa Cinza . p. 53 4.1.2 Flexibilidade . p. 54 4.1.3 Extensibilidade . p. 54 4.1.4 Suporte a` edic¸ao˜ grafica´ . p. 55 4.1.5 Padrao˜ Model-View-Controller ..................... p. 56 4.2 Estrutura . p. 57 4.3 Problemas . p. 58 5 Ambiente SEA p. 60 5.1 Caracter´ısticas . p. 60 5.2 Classificac¸ao˜ .................................. p. 61 5.3 Estrutura . p. 62 5.4 Especificac¸oes..................................˜ p. 63 5.5 Problemas . p. 64 6 Suporte a` edic¸ao˜ de UML 1 no Ambiente SEA p. 65 6.1 Diagramas suportados . p. 65 6.2 Funcionalidades e ferramentas . p. 67 7 Suporte a` edic¸ao˜ de UML 2 no Ambiente SEA p. 69 7.1 Novos documentos . p. 70 7.2 Nova especificac¸ao˜ orientada a objetos . p. 72 7.3 Novos modelos e conceitos . p. 72 7.3.1 Diagrama de Objetos . p. 73 7.3.2 Diagrama de Pacotes . p. 77 7.3.3 Diagrama de Componentes . p. 84 7.3.4 Diagrama de Implantac¸ao˜ ....................... p. 87 7.3.5 Diagrama de Comunicac¸ao.......................˜ p. 91 7.3.6 Diagrama de Casos de Uso . p. 94 7.3.7 Diagrama de Sequ¨enciaˆ . p. 97 7.3.8 Diagrama de Estrutura Composta . p. 101 7.3.9 Diagrama de Maquina´ de Estados . p. 107 7.3.10 Diagrama de Atividades . p. 110 7.4 Suporte a` Internacionalizac¸ao˜ e Localizac¸ao˜ . p. 121 7.4.1 Classes utilitarias´ . p. 122 7.4.2 Arquivos de traduc¸ao..........................˜ p. 123 7.5 Modificac¸oes˜ extras . p. 125 8 Conclusao˜ p. 126 8.1 Comparativo entre ferramentas CASE e o ambiente SEA . p. 127 8.2 Resultados Obtidos . p. 128 8.3 Avaliac¸ao˜ .................................... p. 129 8.4 Trabalhos Futuros . p. 130 8.5 Considerac¸oes˜ Finais . p. 131 Apendiceˆ A -- Cookbook para criac¸ao˜ de documentos graficos´ p. 132 A.1 Passo 1: Criac¸ao˜ da especificac¸ao˜ de projeto . p. 132 A.2 Passo 2: Criac¸ao˜ do modelo . p. 133 A.3 Passo 3: Criac¸ao˜ dos conceitos . p. 135 A.4 Passo 4: Criac¸ao˜ das classes graficas´ . p. 137 A.4.1 Passo 4.1: Criac¸ao˜ da classe Drawing . p. 137 A.4.2 Passo 4.2: Criac¸ao˜ da classe DrawingView . p. 140 A.4.3 Passo 4.3: Criac¸ao˜ da classe Window . p. 142 A.4.4 Passo 4.4: Criac¸ao˜ da classe Editor . p. 144 A.5 Passo 5: Criac¸ao˜ das figuras . p. 147 A.6 Passo 6: Edic¸ao˜ da classe ReferenceManager . p. 150 Anexo A -- Artigo: A Historia´ de UML e seus diagramas p. 152 A.1 Introduc¸ao....................................˜ p. 152 A.2 Historia´ ..................................... p. 153 A.3 Estrutura da especificac¸ao............................˜ p. 154 A.4 Organizac¸ao˜ dos Diagramas de UML . p. 154 A.5 Diagramas de UML . p. 155 A.5.1 Diagrama de Casos de Uso . p. 156 A.5.2 Diagrama de Classes . p. 156 A.5.3 Diagrama de Objetos . p. 157 A.5.4 Diagrama de Pacotes . p. 157 A.5.5 Diagrama de Estrutura Composta . p. 157 A.5.6 Diagrama de Componentes . p. 157 A.5.7 Diagrama de Utilizac¸ao˜ ou Implantac¸ao˜ . p. 158 A.5.8 Diagrama de Sequ¨enciaˆ . p. 158 A.5.9 Diagrama de Comunicac¸ao.......................˜ p. 158 A.5.10 Diagrama de Maquina´ de Estados . p. 158 A.5.11 Diagrama de Atividades . p. 159 A.5.12 Diagrama de Visao˜ Geral de Interac¸ao˜ . p. 159 A.5.13 Diagrama de Temporizac¸ao˜ ...................... p. 159 A.6 Conclusao....................................˜ p. 159 Anexo B -- Codigo-fonte:´ Extensao˜ do Ambiente SEA p. 161 Referenciasˆ Bibliograficas´ p. 236 Lista de Figuras 2.1 Reuso de software. p. 23 2.2 Estrutura de uma aplicac¸ao˜ desenvolvida utilizando um framework. p. 24 2.3 Princ´ıpio de Hollywood. p. 26 3.1 Linha do Tempo de UML. p. 31 3.2 Organizac¸ao˜ geral dos diagramas de UML 2. p. 33 3.3 Diagramas estruturais. p. 33 3.4 Diagramas de comportamento. p. 34 3.5 Exemplo de diagrama de casos de uso. p. 35 3.6 Exemplo de diagrama de classes. p. 35 3.7 Exemplo de diagrama de objetos. p. 36 3.8 Exemplo de diagrama de pacotes. ..