Refatoração de Software
|
|
|
- Maria de Lourdes Alcântara di Azevedo
- 9 Há anos
- Visualizações:
Transcrição
1 Refatoração de Software O que é? Atividade em que a estrutura interna de um software é modificada de modo que seu comportamento externo seja preservado; O objetivo é melhorar a qualidade do software; Cada reestruturação realizada também é chamada de refatoração. T H A I N Á M A R I A N I, O que é? Atividade em que a estrutura interna de um software é modificada de modo que seu comportamento externo seja preservado; O objetivo é melhorar a qualidade do software; Cada reestruturação realizada também é chamada de refatoração. Refatoração Renomear Método Em que artefatos pode ser aplicada? Código Java C++ C C# Python PHP AspectJ Em que artefatos pode ser aplicada? Modelos Diagramas da UML Estruturais Comportamentais Refatoração em modelos é difícil pois às vezes o comportamento só pode ser observado por meio dos diagramas comportamentais. Outros Requisitos; Banco da dados; HTML. Quando é realizada? Regra de três; Antes de adicionar uma funcionalidade; Tempo necessário maior que o estimado; Encontrar e corrigir um bug; Revisão de código.
2 Quando é realizada? Métodos Ágeis; Desenvolvimento Orientado a Testes (TDD); Reengenharia; Quando não realizar? Código tão confuso que é mais fácil programar de novo; Código não funciona pois possui muitos bugs; Prazo final próximo. Fases Manutenção; Desenvolvimento; Projeto. Reduz o número de bugs; Reduz o tamanho do código; Reduz o tempo para a entrega do software. Atributos de Qualidade Entendimento Manutenibilidade Flexibilidade Extensibilidade Modularidade Reusabilidade Princípios de Projeto Coesão Acoplamento Métricas podem ser utilizadas para medir atributos de qualidade e propriedades de projeto. Exemplo: Quality Model for Object-Oriented Design (QMOOD)
3 Reduz a quantidade de bad smells. Bad smells são decisões ruins de design. Duplicated Code Long Method Comments Lazy Class God Class Long Parameter List God Class Long Parameter List user = usermanager.create(user_name, group, USER_NAME, "joshua", USER_NAME, LANGUAGE, false, false, new Date(), "blah", new Date()); Reduz a quantidade de anti-patterns; Anti-patterns são soluções inefetivas para um problema. Diferem-se dos bad smells por serem: Processos, estruturas ou padrões; Existir outra solução documentada já conhecida como efetiva. Catálogo de anti-patterns: Classificação dos anti-patterns: Negócio Organizacionais Gerência de Projeto Engenharia de Software Projeto Programação Programação Orientada a Objetos Metodologia Gerência de Configuração Anti-patterns de Projeto Swiss army knife: Projetar uma interface muito complexa e extremamente difícil de implementar; Stovepipe system: Sistema difícil de ser mantido devido aos componentes mal relacionados.
4 Anti-patterns de Programação Blind faith: Não checar a correção de um bug; Boat anchor: Parte do sistema sem uso; Lava flow: Código ruim colocado em constante mudança; Gold Hammer: Tecnologia familiar aplicada em todos os problemas; Cargo cult programming: Usar padrões sem saber o motivo; Lasagna code: Código com muitas camadas desnecessárias; Spaghetti code: Estruturas de código pouco compreensíveis. Anti-patterns de Programação Orientada a Objetos Yo-yo problem: Herança muito complexa; Poltergeists: Objetos em que o único propósito é passar informações para outro objeto; Circular dependency: Dependências desnecessárias entre objetos. Poltergeists Circular dependency Atividades 1) Identificar o artefato e os elementos que receberão a refatoração; 2) Determinar quais refatorações serão aplicadas e o que deverá ser feito para garantir que o comportamento seja preservado; 3) Aplicar as refatorações; 4) Verificar o impacto nos atributos de qualidade; 5) Manter a consistência com os outros artefatos do software. Suporte em IDEs Eclipse (Java, C++, PHP, Ruby) Plugin AutoRefactor para refatoração automática; Netbeans (Java, C++, PHP, Ruby, HTML, CSS); IntelliJ IDEA (Java); Visual Studio (C#).
5 Refatorações Documentadas Banco de Dados S. W. Ambler, P. J. Sadalage, Refactoring Databases, HTML E. R. Harold, Refactoring HTML, Refatorações Documentadas Modelos UML G. Sunyé et al., Refactoring UML Models, Orientação a Objetos C++: W. F. Opdyke, Refactoring Object-Oriented Frameworks, Java: M. Fowler et al., Improving the Design of Existing Code, Exemplos de Refatorações ORIENTAÇÃO A OBJETOS Renomear Método Muda o nome do método. O nome do método não revela o seu propósito; O nome do método é muito confuso. Pode melhorar o entendimento e manutenibilidade do software. Pode ser aplicado em outros contextos, como por exemplo, modelos. Outras variações: Renomear Classe, Renomear Atributo, etc. Renomear Método Mecanismos: I. Renomear o método; II. Verificar se o método é implementado em uma subclasse ou superclasse, caso sim, renomeá-las; III. Mudar as chamadas do antigo método para o novo; IV. Compilar e testar.
6 É importante para evitar... boolean returntrue(){ return false; } Xunxu() DoSomething() SomeMethod() OtherMethod() GetCustomerOrderDeliveryDetailsByCustomerIdAndDeliveryDateAndOrderStatus() Extrair Método Extrai um fragmento de um método para um novo método. Um método é muito longo; Um método necessita de muitos comentários para que seu propósito seja entendido; Um método possui muitas funcionalidades diferentes. Extrair Método Mecanismos: I. Criar um novo método e nomeá-lo conforme seu propósito; II. Extrair o código para o novo método; III. Procurar variáveis utilizadas e ajustá-las como parâmetros ou variáveis locais; IV. Compilar; V. Substituir o código extraído por uma chamada para o novo método; VI. Compilar e testar.
7 Extrair Método Bad smells e anti-patterns que podem ser impactados: Long Method; God Class; Comments; Spaghetti Code. Extrair Método Atributos de qualidade que podem ser impactados: Entendimento; Manutenibilidade; Flexibilidade; Extensibilidade; Modularidade; Reusabilidade. Extrair Classe Cria uma nova classe e move métodos e atributos para ela. Classe com muitas funcionalidades; Classe difícil de entender. Extrair Classe Mecanismos: I. Decidir como separar as responsabilidades da classe; II. Criar uma nova classe; III. Relacionar as duas classes; IV. Mover todos os atributos necessários (Mover Atributo); V. Compilar e testar após cada refatoração; VI. Mover todos os métodos necessários (Mover Método); VII. Compilar e testar após cada refatoração; VIII. Revisar as interfaces das classes; IX. Decidir o local (pacote, por exemplo) da nova classe;
8 Extrair Classe Bad smells e anti-patterns que podem ser impactados: God Class; Spaghetti Code. Extrair Classe Atributos de qualidade que podem ser impactados: Entendimento; Manutenibilidade; Extensibilidade; Reusabilidade; Modularidade. Agrupar Classe Move todas as funcionalidades de uma classe para outra e a deleta. Uma classe possui poucas responsabilidades. Agrupar Classe Bad smells e anti-patterns que podem ser impactados: Lazy Class; Yo-yo problem; Poltergeists; Circular Dependency; Duplicated Code. Agrupar Classe Atributos de qualidade que podem ser impactados: Entendimento; Manutenibilidade; Flexibilidade.
9 Pull Up Método Move métodos que são idênticos de subclasses para a superclasse. Remover código duplicado; Prevenir bugs quando apenas um método é alterado. Pull Up Método Mecanismos: I. Verificar se existem métodos duplicados; II. Criar a o mesmo método na superclasse; III. Compilar; IV. Excluir métodos das subclasses; V. Compilar e testar; VI. Mudar as chamadas ao método. Pull Up Método Bad smells e anti-patterns que podem ser impactados: Yo-yo problem; Duplicated Code. Pull Up Método Atributos de qualidade que podem ser impactados: Entendimento; Manutenibilidade.
10 Push Down Método Move o método da superclasse para uma subclasse. Um método de uma superclasse é relevante apenas para parte das subclasses. Push Down Método Mecanismos: I. Declarar o método nas subclasses relevantes; II. Remover o método da superclasse; III. Compilar e testar; IV. Remover o método das subclasses que não precisam dele; V. Compilar e testar. Push Down Método Bad smells e anti-patterns que podem ser impactados: God class; Comments; Spaghetti Code. Push Down Método Atributos de qualidade que podem ser impactados: Entendimento; Manutenibilidade; Flexibilidade; Extensibilidade; Reusabilidade; Modularidade. Referências M. Fowler, K. Beck, Refactoring: Improving the Design of Existing Code, Addison-Wesley, Boston, MA, USA, T. Mens, T. Tourwe, A survey of software refactoring, IEEE Transactions on Software Engineering 30 (2) (2004) W. F. Opdyke, Refactoring Object-oriented Frameworks, Ph.D. thesis, Champaign, IL, USA (1992). E. Harold, Refactoring HTML: Improving the Design of Existing Web Applications, Addison-Wesley, G. Sunyé, D. Pollet, Y. L. Traon, J.-M. Jézéquel, Refactoring UML Models, in: Proceedings of the International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, UML, 2001, pp S. W. Ambler, P. J. Sadalage, Refactoring Databases: Evolutionary Database Design, Addison-Wesley, William J. Brown, Hays W. McCormick, and Scott W. Thomas Anti-Patterns Project Management (1st ed.). John Wiley & Sons, Inc., New York, NY, USA.
11 Referências William J. Brown, Hays W. Skip McCormick, III, and Scott H. Thomas Antipatterns and Patterns in Software Configuration Management. John Wiley & Sons, Inc., New York, NY, USA. William H. Brown, Raphael C. Malveau, Hays W. "Skip" McCormick, and Thomas J. Mowbray Antipatterns: Refactoring Software, Architectures, and Projects in Crisis (1st ed.). John Wiley & Sons, Inc., New York, NY, USA. Bill Dudney, Joseph Krozak, Kevin Wittkopf, Stephen Asbury, and David Osborne J2EE Antipatterns (1 ed.). John Wiley & Sons, Inc., New York, NY, USA. Catálogos de Anti-Patterns Catálogos de Refatorações Exercício Exercício Exercício Push Down Atributo Atributos: cpf, aniversario Classe de origem: Pessoa Classe destino: Pessoa Fisica Atributos: cnpj Classe de origem: Pessoa Classe destino: PessoaJuridica Exercício Pull Up Método Método: mandar () Classe de origem: PessoaFisica e PessoaJuridica Class destino: Pessoa Renomer Método Método: listdependents... Classe: PessoaFisica Exercício Agrupar Classe Classes: PessoaJuridicaDesativa e Pessoa Juridica Extrair Método: Método: ValidaCPFCNPJ() Classe origem: Pessoa; Classes destino: PessoaFisica e PessoaJuridica
Refatoração: Melhorando código existente
Refatoração: Melhorando código existente AgilCoop Cursos de Verão 2010 Mariana Bravo IME/USP Refatoração Uma mudança no sistema que não altera seu comportamento funcional, mas melhora sua estrutura interna
Reengenharia, Refatoração e Bad Smell
DCC / ICEx / UFMG Reengenharia, Refatoração e Bad Smell Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Reengenharia de Sistemas Reestruturação ou reescrita de parte ou de todo um sistema legado
JAVA. Tópicos Especiais de Programação Orientada a Objetos. sexta-feira, 26 de outubro de 12
JAVA Tópicos Especiais de Programação Orientada a Objetos 1 REFATORAÇÃO DE CÓDIGOS 2 REFATORAÇÃO O QUE É REFATORAR? Refatorar é alterar o código de um projeto existente, sem mudar o seu comportamento,
Refatorando
Refatorando TUDO! @marcosbrizeno @marcosbrizeno A única maneira de ir rápido é ter qualidade https://pt.wikipedia.org/wiki/procrastinação esforço tempo esforço prazo tempo esforço tempo O Scrum resolve
Refatoração Melhorando o sistema e preparando pra a Web
POO Programação Orientada a Objetos Refatoração Melhorando o sistema e preparando pra a Web Jefferson S. Silva IFET - PI Copyright Jefferson S. Silva Slide 1 Refatoração Uma prática bastante comum e difundida
Engenharia de Software Experimental 2013.2
Engenharia de Software Experimental 2013.2 Avaliação de introdução de anomalias de software, após aplicação de refatorações automáticas para remoção de code smells Chrystinne Fernandes Sumário Conceitos
BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa
BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa Dairton Bassi, Kelly Braghetto, Eduardo Colli, Fabio Kon, João Eduardo Ferreira Instituto de Matemática e Estatística Universidade
A empresa brasileira de PostgreSQL
Bad Smells (mal cheiros) em Bancos de Dados A empresa brasileira de PostgreSQL TDC2013, Porto Alegre, 2013-10-26 Palestrante Fabrízio de Royes Mello Desenvolvedor PostgreSQL Líder do PostgreSQL Brasil
AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.
AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos
Introdução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Modelagem De Sistemas
Modelagem De Sistemas UNIP Tatuapé - SP Aplicações em Linguagem de Programação Prof.Marcelo Nogueira Uma empresa de software de sucesso é aquela que consistentemente produz software de qualidade que vai
Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota
Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução à UML Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM Introdução
Análise de Sistemas 3º Bimestre (material 2)
Análise de Sistemas 3º Bimestre (material 2) Professor: José Ronaldo Leles Júnior Turma: 2º ano do curso de Sistemas de Informação UEG Universidade Estadual de Goiás Campus Posse POO Paradigma Orientado
NextFlow: Um Framework para Mapeamento de Processos de Negócio e Objetos
NextFlow: Um Framework para Mapeamento de Processos de Negócio e Objetos Rógel Garcia de Oliveira, Marco Túlio Valente 1 Universidade Federal de Minas Gerais (UFMG) Belo Horizonte MG Brasil {rogelgarcia,mtov}@dcc.ufmg.br
Diagrama de Componentes e Implantação
Diagrama de Componentes e Implantação Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User
Facetas da Reusabilidade de Software
Facetas da Reusabilidade de Software Daremos um breve panorama da disciplina inteira: reusabilidade de software Qual é o problema? Fazer software é difícil Fazer software é lento e caro Não temos tecnologia
Visualização de Software com o KDevelop 4
Live Blue (http://liveblue.wordpress.com) Visualização de Software com o KDevelop 4 Sandro Santos Andrade [email protected] http://liveblue.wordpress.com [email protected] 1 Um desafio inicial
Notas de Aula 03: Introdução a Orientação a Objetos e a UML
Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas
Especificação de Sistemas de Software e a UML
Modelagem de sistema Especificação de Sistemas de Software e a UML A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema Modelo => visão simplificada e abstrata de um sistema
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO Santa Maria, 08 de Novembro de 2013. Contextualização Nas próximas aula iremos começar a modelar e projetar sistemas
UML Diagramas Estruturais Diagrama de Componentes
UML Diagramas Estruturais Diagrama de Componentes Representa um modelamento físico dos componentes de software de um determinado Sistema Um componente realiza um conjunto de interfaces e contém em seu
Introdução a Orientação a Objetos e UML
UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Introdução a Orientação a Objetos e UML 879SCC Projeto e Desenvolvimento
Python Sistemas legados, qualidade de código e bad smells Gisele Zomer Rossi
Python Sistemas legados, qualidade de código e bad smells Gisele Zomer Rossi Gisele Zomer Rossi Mestre em computação aplicada Trabalho 10 anos com desenvolvimento Professora Cesusc Programação com python,
Nome da classe. Atributos. Serviços / métodos
Classes são descrições de conjuntos de objetos que compartilham os mesmos atributos, operações, relacionamentos e semântica. Janela Origem Tamanho Abrir ( ) Fechar ( ) Mover ( ) Exibir ( ) Nome da classe
UML (Unified Modelling Language)
UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide
Java Standard Edition (JSE)
Java Standard Edition (JSE) Capítulo 07. Classes abstratas Esp. Márcio Palheta MSN: [email protected] 1 Novos recursos a aprender Conceito de classes abstratas; Declaração e uso de classes abstratas;
Ferramenta para cálculo de métricas em softwares orientados a objetos codificados em Object Pascal
Ferramenta para cálculo de métricas em softwares orientados a objetos codificados em Object Pascal Patrícia Regina Ramos da Silva Seibt (FURB) patrí[email protected] Marcel Hugo (FURB) [email protected] Everaldo
Arquitetura de Software
Arquitetura de Software A arquitetura de um software é uma estrutura de componentes interconectados através de interfaces Componentes são compostos de componentes menores e interfaces A interação entre
Um Método para Identificação de Bad Smells a partir de Diagramas de Classes
Um Método para Identificação de Bad Smells a partir de Diagramas de Classes Henrique Gomes Nunes 1, Mariza A. S. Bigonha 1, Kecia A. M. Ferreira 2, Flávio Airjan Madureira 1 1 Departamento de Ciência da
Modelos em Sistemas de Informação. Aula 2
Modelos em Sistemas de Informação Aula 2 Referências básicas da aula Paulo Cougo - Modelagem conceitual e Projeto de Banco de Dados. Craig Larman - Utilizando UML e padrões. Roger Pressman - Engenharia
UML e seus diagramas
UML e seus diagramas A UML Unified Modeling Language (Linguagem de Modelagem Unificada), como o próprio nome já diz, é uma linguagem para modelagem de objetos do mundo real, usada para especificar, construir,
Introdução à UML. Prof. Jesus José de Oliveira Neto
Introdução à UML Prof. Jesus José de Oliveira Neto UML Linguagem de Modelagem Unificada Linguagem visual utilizada para modelar softwares baseados no paradigma de orientação a objetos UML não é uma linguagem
POO Fundamentos Parte III. Professor Vicente Paulo de Camargo
POO Fundamentos Parte III Professor Vicente Paulo de Camargo PROGRAMAÇÃO ORIENTADA A OBJETOS HERANÇA SIMPLES Mecanismo que permite a uma classe, denominada de SUBCLASSE ou CLASSE FILHA, herdar todos os
UML. Adriano J. Holanda 21/3/
UML Adriano J. Holanda 21/3/2016 UML Introdução UML - Unified Modeling Language Linguagem Unificada de Modelagem. Adquiriu maturidade na segunda década de 1990 pela fusão dos métodos e diagramas de Grady
Oracle Database 10g: Fundamentos de SQL e PL/SQL
Oracle University Contact Us: 0-800-167225 Oracle Database 10g: Fundamentos de SQL e PL/SQL Duration: 5 Dias O que é que gostaria de aprender Conheça os fundamentos de SQL e PL/SQL usando o SQL Developer
ESTUDO DO PADRÃO DE PROJETO OBSERVER NO DESENVOLVIMENTO DE SOFTWARES UTILIZANDO A ARQUITETURA MVC RESUMO
Mostra Nacional de Iniciação Científica e Tecnológica Interdisciplinar III MICTI Fórum Nacional de Iniciação Científica no Ensino Médio e Técnico - I FONAIC-EMT Camboriú, SC, 22, 23 e 24 de abril de 2009
Utilização de técnicas de Process Mining em Sistemas de Middleware Adaptativos Proposta de Trabalho de Graduação
UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2017.1 Utilização de técnicas de Process Mining em Sistemas de Middleware Adaptativos Proposta de Trabalho de
Programação Orientada a Objetos
Programação Orientada a Objetos Programação Orientada a Objetos Na aula passada vimos: Introdução a linguagem java; Introdução ao Eclipse IDE; Revisão sobre programação; Programação Orientada a Objetos
Programação em Comunicações. Programação Orientada por Objectos. Ademar Aguiar.
Programação em Comunicações Programação Orientada por Objectos www.fe.up.pt/~aaguiar [email protected] 1 Objectivos Apresentar os princípios e conceitos base sobre orientação por objectos (objectos,
JUnit: framework de testes unitários. Fred Lopes
JUnit: framework de testes unitários Fred Lopes Agenda Parte 1 - teoria Testes unitários JUnit Introdução Arquitetura API resumida Boas práticas Exemplos de uso Parte 2 prática (Eclipse) Criando testes
Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli
Técnico em Informática Web JavaScript Profª Ana Paula Mandelli [email protected] Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela
A Web, o Design, o Software Livre e outras histórias... Eduardo Santos - www.agni.art.br
A Web, o Design, o Software Livre e outras histórias... Eduardo Santos - www.agni.art.br Surgimento da WEB e HTML Início da década de 90 HTML (acrônimo para a expressão HyperText Markup Language, que significa
CASOS DE TESTE PALESTRANTE: MARCIA SILVA [email protected] WWW.EMERSONRIOS.ETI.BR
CASOS DE TESTE PALESTRANTE: MARCIA SILVA [email protected] WWW.EMERSONRIOS.ETI.BR CONCEITOS BÁSICOS - TESTES O que é Teste de Software? Teste é o processo de executar um programa com o objetivo
Introdução à Orientação a Objetos e UML
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação SSC 124: Análise e Projeto Orientados a Objetos Introdução à Orientação a Objetos e UML Profa. Dra. Elisa Yumi Nakagawa 2º semestre
MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)
MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) g BREVE HISTÓRICO g CARACTERÍSTICAS g CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS g MODELAGEM DE ANÁLISE E DE PROJETO 1 I. BREVE HISTÓRICO Em fins dos anos
Especificação de Sistemas e SysML
Especificação de Sistemas e SysML Centro de Informática - Universidade Federal de Pernambuco Engenharia da Computação Kiev Gama [email protected] Slides elaborados pelos professores Marcio Cornélio e Kiev
Refatoração: uma introdução. Prof. André Luiz Peron Martins Lanna
Refatoração: uma introdução Prof. André Luiz Peron Martins Lanna Agenda Introdução Idéias preliminares Um primeiro exemplo Conclusões Bibliografia Introdução Em DSW o assunto principal foi o Projeto de
Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto
Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto Versão 1.0.0 1 ÍNDICE Sumário INTRODUÇÃO... 3 PRINCIPAIS CARACTERÍSTICA DA ASTAH... 3 COMO BAIXAR... 4 PRINCIPAIS FUNCIONALIDADES...
Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004
Introdução ao RUP Rational Unified Process por Denize Terra Pimenta Outubro/2004 1 Contexto Não é suficiente apenas a presença de desenvolvedores altamente treinados: Precisamos de uma linguagem para a
Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes
Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: [email protected] Resumo Este artigo apresenta a ferramenta CASE
Programação Orientada a Objetos Relacionamentos entre classes
Programação Orientada a Objetos Relacionamentos entre classes Prof. Vicente Paulo de Camargo RELACIONAMENTO ENTRE CLASSES Interface agregação Dependencia composição generalização associação RELACIONAMENTO
Análise de Sistemas. Aula 5
Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles
Capítulo 5 Modelação do Sistema 1
Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos
UMA PESQUISA SOBRE FERRAMENTAS CASE PARA ENGENHARIA REVERSA ESTÁTICA
UMA PESQUISA SOBRE FERRAMENTAS CASE PARA ENGENHARIA REVERSA ESTÁTICA Juliana da Silva Cindra Especialista em Análise de Projeto e Gerência de Sistemas de Informação/IFF Quali-EPT/ IFF [email protected]
Orientação a Objetos e UML
Orientação a Objetos e UML Aula #8.1. EBS 211 POO e UML Prof. Luiz Fernando S. Coletta [email protected] Campus de Tupã Roteiro Análise e projeto OO; Engenharia de software e UML; Diagrama de classes.
Arquitetura de Software: Introdução
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Introdução SSC-121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012 Conteúdo
Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves
Tópicos Apresentação Entidade, Atributo e Relacionamento Cardinalidade Representação simbólica Generalizações / Especializações Agregações Apresentação O Modelo Entidade-Relacionamento tem o objetivo de
