Uma ferramenta CASE para o Desenvolvimento de Software Orientado a Aspectos

Tamanho: px
Começar a partir da página:

Download "Uma ferramenta CASE para o Desenvolvimento de Software Orientado a Aspectos"

Transcrição

1 Uma ferramenta CASE para o Desenvolvimento de Software Orientado a Aspectos Vinicius Cardoso Garcia 1, Daniel Lucrédio 1, Luíza Frota de Paula Pinto 1, Alexandre Alvaro 2, Eduardo Santana de Almeida 2, Antonio Francisco do Prado 1 1 GOES Grupo de Engenharia de Software Departamento de Computação Universidade Federal de São Carlos Caixa Postal 676 São Carlos, SP vinicius@dc.ufscar.br, lucredio@dc.ufscar.br, luiza@comp.ufscar.br, prado@dc.ufscar.br 2 Centro de Informática Universidade Federal de Pernambuco Centro de Estudos e Sistemas Avançados do Recife C.E.S.A.R. Caixa Postal 7851 Recife, PE aa2@cin.ufpe.br, esa2@cin.ufpe.br Abstract. This paper shows a tool to support Aspect-Oriented Software Development at the first process phases. Like this, a notation was defined, through the UML extension for the aspect-oriented paradigm, which enables the aspect identification in a high-level abstraction. An aspect-oriented implementation of the Observer design pattern is used to present how the tool supports this process. Resumo. Este artigo apresenta uma ferramenta para apoiar o Desenvolvimento de Software Orientado a Aspectos nas primeiras fases do processo. Para isto, foi definida uma notação, por meio da extensão da UML, para o paradigma orientado a aspectos, que permite a identificação de aspectos em um alto nível de abstração. Uma implementação orientada a aspectos do padrão de projeto Observer é utilizada para apresentar como a ferramenta dá suporte a esse processo. 1. Introdução A Programação Orientada a Aspectos (POA) [2] é um novo paradigma para o desenvolvimento de software que procura aumentar a modularidade reduzindo os problemas com entrelaçamento e espalhamento de código, tornando a estrutura do software mais clara e de mais fácil manutenção [2]. A POA pode ser aplicada para a implementação de vários interesses multi-dimensionais (crosscutting concerns) como, por exemplo, interação entre objetos, segurança, persistência, distribuição e tratamento de exceções, por meio de uma unidade modular chamada de aspecto. AspectJ 1 é uma linguagem de programação de apoio à POA por meio de novas construções para implementar os interesses multi-dimensionais. Enquanto AspectJ é uma Financiado pela Fundação de Amparo à Pesquisa do Estado da Bahia (FAPESB) - Brazil Financiado pela Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP) - Brazil Financiado pelo Programa Institucional de Bolsas de Iniciação Científica - PIBIC/CNPq 1

2 poderosa linguagem para a POA, não existe ainda uma linguagem de modelagem orientada a aspectos que apóie o projeto orientado a aspectos, em um nível mais alto de abstração. Alguns projetos vêm sendo desenvolvidos para modelar aspectos em um alto nível de abstração, na fase de projeto. As pesquisas que estão em andamento ainda não propuseram uma padronização e não estão maduras o suficiente, entretanto, ainda sim, algumas vêm destacando-se, como, por exemplo [6] e [4]. Sendo assim, este artigo apresenta uma ferramenta CASE para apoiar o Desenvolvimento de Software Orientado Aspectos (DSOA) por meio de uma notação estendida da UML com os conceitos da POA e da semântica da linguagem AspectJ. Nas demais seções deste artigo são feitas considerações sobre o projeto orientado a aspectos e sua implementação em uma ferramenta CASE. 2. Projeto de Software Orientado a Aspectos O projeto orientado a aspectos organiza o processo de DSOA e possibilita a identificação de aspectos em um alto nível de abstração nas primeiras fases do processo, favorecendo assim a aprendizagem e a documentação do projeto de aspectos de uma forma mais intuitiva. A partir de então, esta documentação e o conhecimento adquirido no processo, facilitam e estimulam o reuso de aspectos [6]. Os conceitos básicos do paradigma orientado a aspectos, como pontos de combinação (join points), pontos de corte (pointcuts), entrelaçamento (crosscutt), sugestões (advices) e aspectos são fundamentos que devem estar presentes em todo o processo de desenvolvimento de software, desde a especificação até a implementação. Porém, sabe-se que estes conceitos foram originalmente propostos considerando-se apenas a sua implementação, por meio de uma linguagem de programação [1]. Contudo, a definição de um padrão para o projeto de software orientado a aspectos, a partir de modelos e técnicas de modelagem orientadas a aspectos independentes da linguagem de programação, vem despertando o interesse de pesquisadores. Todavia, ainda é uma área onde a pesquisa foi pouco desenvolvida. 3. A notação UAE A principal construção em AspectJ é o aspecto. Um aspecto define uma funcionalidade específica que pode afetar diferentes partes de um sistema, como, por exemplo, persistência em banco de dados. Além disso, os aspectos podem alterar a estrutura dinâmica de um sistema por meio dos pontos de combinação (join points) ou, ainda, alterar a estrutura estática por meio da declaração de introduções (introductions). Um aspecto normalmente define um ponto de corte (pointcut) que identifica os pontos de combinação e adiciona comportamentos a eles por meio de sugestões (advices). A partir do estudo das diferentes propostas para a modelagem orientada a aspectos, alguns pontos em comum foram identificados, indicando uma conformidade na representação de alguns conceitos da POA. Esta seção apresenta a notação UAE (UML-based Aspect Engineering) para a modelagem de sistemas orientados a aspectos, por meio da extensão da UML. Para dar suporte a esta notação, a ferramenta de modelagem MVCASE [3] foi estendida para apoiar o projeto orientado a aspectos através da notação UAE. Primeiramente o engenheiro de software deve, a partir do projeto já criado, inserir um novo diagrama na

3 visão lógica (Logical View), por meio da seqüencia de menus: New -> Aspect Diagram. A seguir, um novo diagrama é criado, permitindo ao engenheiro de software utilizar os estereótipos criados para representar as construções da POA, são eles: <<aspect>>, <<crosscuts>> e <<introduces>>, conforme mostra a Figura 1. Figura 1: Extensão da MVCASE para o Projeto Orientado a Aspectos Para facilitar a apresentação da notação, será utilizado como exemplo a modelagem orientada a aspectos do padrão de projeto Observer [5] aplicado para um problema envolvendo a visualização de temperaturas. Considere-se um conjunto de termômetros que colhem informação de uma fonte de temperatura. A todo momento que a temperatura mudar, o display do termômetro deve ser atualizado. A Figura 2 mostra esta modelagem, onde os elementos sombreados são específicos da notação UAE. Nesta notação, um aspecto possui uma representação diferente da classe, o que permite diferenciar mais facilmente os elementos, resultando em uma melhor qualidade visual do modelo. Uma interface do tipo Observer é definida para descrever a regra Observer. Todos os observadores devem implementar esta interface. O objetivo é permitir a cada observer ter um subject correspondente. Este exemplo não trata múltiplos subjects para um observer. Do mesmo modo, tem-se uma interface Subject, onde todos os subjects devem implementá-la. Figura 2: Notação UAE Na Figura 2 tem-se a classe Celsius que é uma fonte de dados de temperatura. Esta classe armazena as informações sobre a temperatura corrente em graus centígrados, que podem ser acessadas pelos métodos setdegrees e getdegrees. Outra classe importante é a classe Thermometer, que é a classe base para o conjunto de termômetros no exemplo, que vão implementar o Observer, as classes CelsiusThermometer e FahrenheitThermometer. Estas classes estendem a classe Thermometer.

4 Usando as técnicas de POA, é possível separar os elementos relacionados ao padrão Observer dos demais elementos. Para isso são utilizadas as seguintes construções: 3.1. Aspecto Um aspecto abstrato chamado ObserverPattern é definido para implementar a funcionalidade do padrão de projeto. O aspecto ConcreteObserverPattern estende o aspecto abstrato ObserverPattern e indica quais classes são observers, quais são subjects e em que casos os observers serão notificados Pontos de corte O aspecto abstrato ObserverPattern cria um ponto de corte abstrato, especificado pela etiqueta valorada com o nome +statechanges, e que é estendido no aspecto concreto para informar em quais situações os observers serão notificados. Ele implementa ainda uma sugestão do tipo after, especificada pela etiqueta valorada +after, que irá notificar todos os observers quando estes pontos de corte foram alcançados. O ponto de corte abstrato definido no aspecto ObserverPattern (linha 1, Figura 2) também é estendido no aspecto concreto e define que os observers irão ser notificados toda vez que o método setdegrees() for chamado (linha 2, Figura 2) Introduções É possível também especificar introduções, por meio do estereótipo <<intruduced>> e do relacionamento <<introduces>>. No caso so aspecto abstrato ObserverPattern, os seguintes atributos e métodos são criados dinamicamente na interface Subject: observers, add(..), remove(..) e getobservers(), e na interface Observer: subject, setsubject(..) e getsubject. Por meio de introduções também é possível mudar a estrutura das classes, conforme ocorreu com a classe Celsius, que passou a implementar a interface Subject, especificado por um relacionamento do tipo realize com o estereótipo <<introduced>>. Ainda sobre a classe Celsius, o método getdata() é introduzido, e tem sua implementação de acordo com a interface Subject. O mesmo ocorreu com a classe Thermometer, que passa a implementar a interface Observer e tem o método update() definido de acordo com a interface Observer. Após o engenheiro de software ter o modelo orientado a aspecto especificado, é possível gerar o código automaticamente em uma linguagem orientada a aspectos, no caso AspectJ. O código gerado é testado e caso erros sejam encontrados, ou novos requisitos sejam identificados, o engenheiro de software pode trabalhar no modelo, especificado na ferramenta CASE, e novamente gerar o código em AspectJ. Na Figura 3 é apresentada a geração do código do aspecto abstrato ObserverPattern, na MVCASE. 4. Trabalhos Correlatos A necessidade de uma notação satisfatória para o projeto de software orientado a aspectos foi reconhecida anos após o paradigma ter sido criado. Dentre as diferentes propostas para estender a UML destaca-se a proposta de Suzuki e Yammamoto [6] e a de Pawlak et al.[4].

5 Figura 3: Geração de código em AspectJ na MVCASE 4.1. Suzuki e Yammamoto A primeira proposta de extensão da UML com conceitos para o projeto de software orientado a aspectos foi apresentada por Suzuki e Yammamoto [6]. Nesta abordagem, uma nova meta-classe UML chamada aspect é introduzida. Esta meta-classe está relacionada à classe base por meio de um relacionamento de realização. Esta proposta tem dois problemas. Primeiro, os autores apresentam somente uma notação que pode ser usada para representar o conceito de introduções. Não está claro como os pontos de corte e as sugestões podem ser especificados na UML e como será representada a forma que os relacionamentos de entrecorte (crosscutts) afetam o comportamento das classes. Segundo, o uso de um relacionamento de realização para modelar a relação entre um aspecto e as classes que ele entrecorta não está totalmente de acordo com a semântica da AspectJ. Na UML uma realização é um relacionamento entre um elemento de modelo específico e o elemento de modelo que o implementa [7]. Em AspectJ, entretanto, uma sugestão não é uma pura declaração de um entrecorte. Em AspectJ, uma sugestão declara e implementa as características de um entrecorte Pawlak et al. A proposta de Pawlak et al. [4] para o Projeto de Software Orientado a Aspectos por meio da extensão da UML é a que se apresenta mais interessante. São definidos três novos conceitos na UML: (1) grupos (groups), que provêm meios de classificação para entidades distribuídas e heterogêneas, (2) relações de ponto de corte (pointcut relations) que permitem ao engenheiro de software definir entrecortes (crosscutts) dentro do programa funcional, e (3) a metaclasse aspecto (aspect-classes) que implementa a extensão do programa nos pontos de entrecorte (crosscutting points) especificados pelas relações de ponto de corte. Porém, alguns pontos sobre o trabalho de Pawlak et al. apresentam problemas: a utilização do papel de um relacionamento para representar os pontos de combinação acaba poluindo visualmente o modelo, visto que a definição de pontos de combinação normalmente envolve um grande número de caracteres. Outro ponto é a utilização de caracteres especiais como, por exemplo, sinal de exclamação (! ) que pode possuir outro significado em um linguagens de programação, resultando em confusão. A notação UAE busca solucionar estes problemas, oferecendo uma notação simples, onde a representação de aspectos é diferenciada em relação à de classes, com pouca

6 poluição visual e voltada à linguagem AspectJ. 5. Conclusões e Trabalhos Futuros Neste artigo foi apresentada uma ferramenta CASE para apoiar o DSOA e uma nova abordagem para representar os conceitos da POA e a semântica da AspectJ na UML. Na ferramenta é possível especificar as construções disponíveis pela linguagem para implementar os interesses multi-dimensionais em aspectos. São utilizados estereótipos específicos, e em alguns casos etiquetas valoradas, que estendem os conceitos da UML. Deste modo os interesses multi-dimensionais podem ser especificados em um alto nível de abstração, proporcionando em nível de modelo as vantagens que a POA já provê em nível de código (melhora na manutenibilidade, legibilidade do código, adaptabilidade e reuso, entre outras). A MVCASE foi modificada e agora possui uma interface específica para a criação de modelos orientados a aspectos. Além disto, também é possível gerar o código automaticamente em AspectJ, acelerando o DSOA. Na maioria das ferramentas de modelagem existentes não existe suporte para a geração de código nem para a modelagem de aspectos, sendo necessário utilizar os próprios mecanismos de extensão da UML, o que além de mais trabalhoso não resulta em boa legibilidade do modelo. Atualmente mais testes estão sendo realizados, para verificar a validade tanto da extensão da MVCASE como da notação UAE. Como trabalhos futuros, têm-se a adição de técnicas de modelagem para representar também o processo de weaving, que consiste na combinação, em tempo de compilação dos diferentes interesses multi-dimensionais. Isso facilitará o trabalho do engenheiro de software, possibilitando a geração automática de scripts de compilação, acelerando o processo de DSOA. Referências [1] G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. In J. L. Knudsen, editor, Proceedings of 15th European Conference on Object-Oriented Programming (ECOOP 2001), Lecture Notes in Computer Science (LNCS) 2072, pages , Berlin, jun 2001b. Springer-Verlag. [2] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect- Oriented Programming. In Proceedings of the 11st European Conference Object-Oriented Programming (ECOOP 97), volume 1241 of LNCS, pages Springer Verlag, [3] D. Lucrédio, E. S. Almeida, C. P. Bianchini, A. F. Prado, and L. C. Trevelin. Orion - a component based software engineering environment. Journal of Object Technology, Special issue: TOOLS USA 2003, 3(4):51 74, April [4] R. Pawlak, L. Duchien, G. Florin, F. Legond-Aubry, L. Seinturier, and L. Martelli. A UML notation for aspect-oriented software design. In Proceedings of the 1st International Conference on Aspect-Oriented Software Development (AOSD 2002). ACM Press, April [5] E. K. Piveta and L. C. Zancanella. Observer pattern using aspect-oriented programming. In The Third Latin American Conference on Pattern Languages of Programming (SugarLoafPLOP 2003), [6] J. Suzuki and Y. Yamamoto. Extending UML with aspects: Aspect support in the design phase. In Proceedings of 13rd the European Conference Object-Oriented Programming (ECOOP 99). International Workshop on Aspect-Oriented Programming, June [7] UML. Unified Modeling Language (UML) - version 1.5. Object Management Group, May 2004.

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 Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

CLÁUDIO ROSSE PANDOLFI SUPORTE DE INTERESSES TRANSVERSAIS PARA FRAMEWORK CODEIGNITER

CLÁUDIO ROSSE PANDOLFI SUPORTE DE INTERESSES TRANSVERSAIS PARA FRAMEWORK CODEIGNITER FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA UNIVEM CURSO DE CIÊNCIA DA COMPUTAÇÃO CLÁUDIO ROSSE PANDOLFI SUPORTE DE INTERESSES TRANSVERSAIS PARA FRAMEWORK CODEIGNITER

Leia mais

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Visão Geral da UML SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Introdução Ferramentas de Apoio Diagramas da UML Elementos Genéricos Material sobre UML

Leia mais

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

Leia mais

!!!!! " #!!!! $ +!!!!!! *!! * -! %!! - %.! % - "!! ) $ $ / - %!!0$ 1 - '& 2( - *! * *!0$ - '&.( - *! #

!!!!!  #!!!! $ +!!!!!! *!! * -! %!! - %.! % - !! ) $ $ / - %!!0$ 1 - '& 2( - *! * *!0$ - '&.( - *! # " # $ $ % # & '( ) # * + * $ *, * - % - %. % - " ) $ $ / - % 0$ 1 - '& 2( - * * * 0$ - '&.( - * # 2 1 3 4 5 6 * 7 8 5 / # 7 4 9 &* 5 * # % * ) 7 &* : ; 5 - * < # - 7 4 = 6 5 # * - ) )- 3 $ 1 > 5 = 5 %

Leia mais

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão Sumário Introdução à UML BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida hmossri_cursos@yahoo.com.br Marcelo Nassau Malta nassau_cursos@yahoo.com.br

Leia mais

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas

Leia mais

Tipos para uma Linguagem de Transformação

Tipos para uma Linguagem de Transformação Universidade Federal de Pernambuco Graduação em Ciência da Computação Centro de Informática Proposta de Trabalho de Graduação Tipos para uma Linguagem de Transformação Aluno: Orientador: Alexandra Barreto

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs 1 Introdução Os sistemas multiagentes (SMAs) estão tendo cada vez mais aceitação no setor da engenharia de software e no meio acadêmico como um paradigma para o desenvolvimento e a criação de sistemas

Leia mais

Introdução à Análise e Projeto de Sistemas

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

Leia mais

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e

Leia mais

UML Unified Modeling Language Linguagem de Modelagem Unificada

UML Unified Modeling Language Linguagem de Modelagem Unificada UML Unified Modeling Language Linguagem de Modelagem Unificada Prof. Gilberto Porto e-mail: porto@gilbertoporto.com.br A linguagem UML n UML (Unified Modeling Language) Linguagem de Modelagem Unificada

Leia mais

Programação Orientada a Aspectos em AspectJ

Programação Orientada a Aspectos em AspectJ Programação Orientada a Aspectos em AspectJ Elaine da Silva Monteiro 1, Eduardo Kessler Piveta 1 1 Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA), Tocantins, Brasil

Leia mais

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. JADEX: A BDI REASONING ENGINE Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. 149-174 Volume 15 Motivação Existem muitas plataformas para desenvolvimento

Leia mais

Requisitos de Sistemas

Requisitos de Sistemas Requisitos de Sistemas Unidade II - Processos de Negócio Identificação Conceitos Modelagem - BPM - UML Processos x Requisitos 1 Processo de negócio CONCEITO Um processo de negócio, processo organizacional

Leia mais

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL 0 UNIDADE V: MAPEAMENTO OBJETO RELACIONAL Paradigma da Orientação a Objetos: Este paradigma parte do princípio que existem diversos

Leia mais

Requisitos de Software e UML Básico. Janaína Horácio

Requisitos de Software e UML Básico. Janaína Horácio Requisitos de Software e UML Básico Janaína Horácio janaina@les.inf.puc-rio.br Agenda Requisitos O que é? Objetivos? Atividades?... UML O que é? Modelos... Casos de Uso O que é? Componentes 2 Requisitos

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Prof. André Luiz Ribeiro Prof. Jorge Luis Pirolla Introdução à Computação Engenharia de Software Tópicos O que é Engenharia de Software? Engenharia de Software em camadas Processo

Leia mais

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema: Modelos de Ciclo de Vida e Metodologias de Software 33) No SCRUM, uma iteração que segue um ciclo (PDCA) e entrega incremento de software pronto é denominada: A) Backlog. B) Sprint. C) Daily scrum. D)

Leia mais

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( ) ELEMENTOS BÁSICOS DA LINGUAGEM JAVA Patricia Della Méa Plentz INE-CTC-UFSC E-Mail: plentz@inf.ufsc.br URL: http://moodle.ufsc.br INE5605-Turma 0238B Sumário 2.1 Classes e Objetos na POO 2.2 2 Revisão da

Leia mais

Modelagem de Processos. Rômulo César

Modelagem de Processos. Rômulo César Modelagem de Processos Rômulo César http://romulocesar.com.br/ romulo.andrade@upe.br Professor NOME: RÔMULO CÉSAR DIAS DE ANDRADE Mini CV: Doutorando em Ciência da Computação na Universidade Federal de

Leia mais

Introdução a UML (Unified Modeling Language)

Introdução a UML (Unified Modeling Language) Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário

Leia mais

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes Engenharia de Software I: Introdução Graduação em Informática 2009 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. Engenharia de requisitos 3. Modelagem de sistemas 4. Conceitos

Leia mais

Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos

Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos Carlos Alberto de Freitas Pereira Júnior 1 Paulo Cesar Masiero 1 Rosana Teresinha Vaccare Braga 1 1 Instituto de Ciências

Leia mais

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson Engenharia de Software Orientada a Objetos - OOSE Método de Jacobson Alunos: Amanda Lira Gomes Lucas Balbino de Melo Ferreira Mycke Richard Guntijo Renato Gomes Borges Júnior Sumário Introdução Visão Geral

Leia mais

Prof. Esp. Fabiano Taguchi

Prof. Esp. Fabiano Taguchi UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer

Leia mais

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa

Leia mais

IDENTIFICAÇÃO DE ASPECTOS EM NÍVEL DE ANÁLISE BASEADO EM ATRIBUTOS DE REQUISITOS NÃO FUNCIONAIS

IDENTIFICAÇÃO DE ASPECTOS EM NÍVEL DE ANÁLISE BASEADO EM ATRIBUTOS DE REQUISITOS NÃO FUNCIONAIS IDENTIFICAÇÃO DE ASPECTOS EM NÍVEL DE ANÁLISE BASEADO EM ATRIBUTOS DE REQUISITOS NÃO FUNCIONAIS Leandro Siqueira da Silva [Voluntário], Simone Nasser Matos [Orientadora] Departamento de Informática Câmpus

Leia mais

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

Uma Abordagem para Engenharia de Requisitos no Domínio de Software Embarcado

Uma Abordagem para Engenharia de Requisitos no Domínio de Software Embarcado Uma Abordagem para Engenharia de Requisitos no Domínio de Software Embarcado Milena R. S. Marques, Eliane Siegert, Lisane de Brisolara Ciência da Computação, Grupo de Arquiteturas e Circuitos Integrados,

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO Santa Maria, 29 de Outubro de 2013. Revisão aula passada Modelagem de sistemas Perspectiva externa Perspectiva de iteração

Leia mais

Complexidade do Software

Complexidade do Software Complexidade do Software Sistemas de software são complicados Os requisitos modernos tendem a complicálo cada vez mais: Alta confiabilidade; Alto desempenho; Desenvolvimento rápido e barato Precisamos

Leia mais

Introdução à Gestão de Processos de Negócios

Introdução à Gestão de Processos de Negócios Introdução à Gestão de Processos de Negócios Profa. Dra. Elisa Yumi Nakagawa 2. Semestre de 2016 SSC0531 - Gestão de Sistemas de Informação Slides inicialmente preparados por Roberto Rocha e Prof. João

Leia mais

Análise de Sistemas 3º Bimestre (material 2)

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

Leia mais

INF1012 MODELAGEM DE DADOS. Departamento de Informática PUC-Rio. Ivan Mathias Filho A Abordagem Entidade-Relacionamento

INF1012 MODELAGEM DE DADOS. Departamento de Informática PUC-Rio. Ivan Mathias Filho A Abordagem Entidade-Relacionamento INF1012 MODELAGEM DE DADOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 Modelagem Conceitual de Dados A Abordagem Entidade-Relacionamento 1 Programa Capítulo

Leia mais

Análise e projeto de sistemas

Análise e projeto de sistemas Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os

Leia mais

Modelando sistemas Multiagentes Analisando Metodologias

Modelando sistemas Multiagentes Analisando Metodologias Modelando sistemas Multiagentes Analisando Metodologias Ricardo Almeida Venieris Ricardo.almeida@les.inf.puc-rio.br Modelagem e Implementação OO de Sistemas Multi-Agentes Dissertação apresentada ao Departamento

Leia mais

MODELAGEM E DESENVOLVIMENTO DE UMA FERRAMENTA HIPERMÍDIA DE ENSINO VOLTADA AO SETOR AGROPECUÁRIO, USANDO OOHDM

MODELAGEM E DESENVOLVIMENTO DE UMA FERRAMENTA HIPERMÍDIA DE ENSINO VOLTADA AO SETOR AGROPECUÁRIO, USANDO OOHDM MODELAGEM E DESENVOLVIMENTO DE UMA FERRAMENTA HIPERMÍDIA DE ENSINO VOLTADA AO SETOR AGROPECUÁRIO, USANDO OOHDM RESUMO Rodrigo de Oliveira André Luiz Zambalde Rêmulo Maia Alves Sérgio Augusto Carvalho Gomes

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1 Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos

Leia mais

Princípios de Análise e Projeto Orientados a Objetos com UML

Princípios de Análise e Projeto Orientados a Objetos com UML Princípios de Análise e Projeto Orientados a Objetos com UML Eduardo Bezerra Editora CAMPUS Copyright 2002, 2003 Eduardo Bezerra 1 Capítulo 1 Visão Geral Um modelo é uma simplificação da realidade que

Leia mais

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de

Leia mais

Contexto. Motivação. variabilidade. variabilidade

Contexto. Motivação. variabilidade. variabilidade Representação de Variabilidades em Componentes de Negócio no Contexto da Engenharia de Domínio Regiane Oliveira Ana Paula Blois Aline Vasconcelos Claudia Werner Roteiro Contexto Motivação Variabilidade

Leia mais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

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

Leia mais

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

Leia mais

Conteúdo Minicurso. Modelo Conceitual (Alto Nível) Modelo Lógico (Nível Intermediário) Modelo Físico (Baixo Nível)

Conteúdo Minicurso. Modelo Conceitual (Alto Nível) Modelo Lógico (Nível Intermediário) Modelo Físico (Baixo Nível) Abstração II Simpósio de Informática do IF Baiano Campus Itapetinga 11 a 14 de julho de 2012 Conteúdo Minicurso Modelagem de Dados usando a Ferramenta ERwin Prof. MSc Pablo Freire Matos Informática - Instituto

Leia mais

ENGENHARIA DE SOFTWARE I AULA 3. Análise e diagramação. professor Luciano Roberto Rocha.

ENGENHARIA DE SOFTWARE I AULA 3. Análise e diagramação. professor Luciano Roberto Rocha. ENGENHARIA DE SOFTWARE I AULA 3 Análise e diagramação professor Luciano Roberto Rocha www.lrocha.com.br POR QUE DIAGRAMAR A maioria dos problemas encontrados em sistemas tem sua origem na construção do

Leia mais

Aspect-Oriented Programming AOP. Comentários Sérgio Crespo

Aspect-Oriented Programming AOP. Comentários Sérgio Crespo Aspect-Oriented Programming AOP Comentários Sérgio Crespo Separation of Concerns O princípio de Separation of Concerns já é utilizado por engenheiros de software para o gerenciar a complexidade de sistemas

Leia mais

Prof. Dr. Thiago Jabur Bittar

Prof. Dr. Thiago Jabur Bittar Prof. Dr. Thiago Jabur Bittar Uma representação abstrata e simplificada do processo de desenvolvimento software, tipicamente mostrando as principais atividades e dados usados na produção e manutenção de

Leia mais

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML Projeto OO com UML Tópicos da Aula Conceitos de programação orientada a objetos Projeto orientado a objetos com UML Orientação a objetos A orientação a objetos, também conhecida como Programação Orientada

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini   / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ENGENHARIA DE SOFTWARE Aula N : 16 Tema:

Leia mais

Avaliação da Qualidade de Documentos de Requisitos Orientado a Aspectos

Avaliação da Qualidade de Documentos de Requisitos Orientado a Aspectos Avaliação da Qualidade de Documentos de Requisitos Orientado a Aspectos Ricardo Argenton Ramos 1, André Carvalho 1, Cleviton Monteiro 1, Carla Silva 1, * Jaelson Castro 1, 2, * Fernanda Alencar 3, Ricardo

Leia mais

Processos de software

Processos de software Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de

Leia mais

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso. Engenharia de Software Aula 07 Tópicos da Aula Introdução à UML e Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 28 Março 2012 A

Leia mais

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010 1 1 Introdução 1.1 Teoria dos Sistemas 1.2 Constituição dos sistemas 1.3 Natureza dos sistemas 1.4 Parâmetros do sistema 1.5 Descrição de sistemas 1.6 Desafios enfrentados no desenvolvimento 1.7 Perfil

Leia mais

Modelo Entidade Relacionamento

Modelo Entidade Relacionamento Programa DCC011 Introdução a Banco de Dados Modelo Entidade Relacionamento Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitos

Leia mais

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor PUC-GO- ADS: Prof. Vicente P. de Camargo INTRODUÇÃO Seja bem vindo ao módulo de EAD da disciplina DACC(Desenvolvimento de Aplicações Para Cliente Servidor). A Modelagem com UML foi o assunto estabelecido

Leia mais

EVERTON SIMÕES DA MOTTA

EVERTON SIMÕES DA MOTTA FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA UNIVEM BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO EVERTON SIMÕES DA MOTTA APRIMORAMENTO, VALIDAÇÃO DE UM PROCESSO DE DESENVOLVIMENTO

Leia mais

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini Unidade II MODELAGEM DE PROCESSOS Profa. Gislaine Stachissini Modelagem de sistemas A fase do desenvolvimento do sistema exige: esforço; dedicação; envolvimento; um único objetivo. Estilo de desenvolvimento

Leia mais

Princípios da Engenharia de Software aula 03

Princípios da Engenharia de Software aula 03 Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos

Leia mais

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO

Leia mais

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

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br O que é?? 2 A UML

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Nome da classe. Atributos. Serviços / métodos

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

Leia mais

Encapsulamento e Modularização

Encapsulamento e Modularização Encapsulamento e Modularização Departamento de Computação Universidade Federal de Sergipe Encapsulamento Modularização Tipos Abstratos de Dados (TADs) Objetos Classes Conteúdo Encapsulamento Programação

Leia mais

Modelagem de Casos de Uso

Modelagem de Casos de Uso Modelagem de Casos de Uso 11/04/2006 Prof. Vítor Souza Análise e Projeto Orientado a Objetos Departamento de Informática Univ. Federal do Espírito Santo Licença para uso e distribuição Este material está

Leia mais

Fábio Amado João Maio 33306

Fábio Amado João Maio 33306 Fábio Amado 33637 João Maio 33306 Universidade de Aveiro Especificação, Modelação e Projecto de Sistemas Embutidos 21-11-2009 1. UML - o que é? 2. A Natureza dos Sistemas Embutidos 1. Heterogeneidade 2.

Leia mais

UML. Adriano J. Holanda 21/3/

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

Leia mais

Levantamento de classes (Análise de casos de uso)

Levantamento de classes (Análise de casos de uso) Plano Levantamento de classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Levantamento no método APOO Projeto por padrões: MVC e Observador Estereótipos de classes Visão geral do método Engenharia

Leia mais

Introdução a Orientação a Objetos e UML

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

Leia mais

INF1404 MODELAGEM DE SISTEMAS

INF1404 MODELAGEM DE SISTEMAS INF1404 MODELAGEM DE SISTEMAS Bacharelado em Sistemas de Informação Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 Princípios de Modelagem O Paradigma Funcional O Paradigma Orientado a Objetos

Leia mais

Programação Orientada a Aspectos

Programação Orientada a Aspectos Programação Orientada a Aspectos João Manuel Bonita Pereira Loureiro Aluno do 3º ano da LEIC joao.loureiro@fe.up.pt João Pedro Couto Soares Gonçalves da Costa Aluno do 4º ano da LEIC joao.costa@fe.up.pt

Leia mais

Como Modelar com UML 2

Como Modelar com UML 2 Ricardo Pereira e Silva Como Modelar com UML 2 Visual Books Sumário Prefácio... 13 1 Introdução à Modelagem Orientada a Objetos... 17 1.1 Análise e Projeto Orientados a Objetos... 18 1.2 Requisitos para

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE EMENTA ENGENHARIA DE SOFTWARE DISCIPLINA: Estrutura e Fluxo de Informação EMENTA: A disciplina Estrutura e Fluxo de Informação se propõe a capacitar o aluno sobre os fundamentos da Gestão da Informação

Leia mais

ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML

ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML AGENDA Histórico da UML O que é e para que serve a UML Conjunto de diagramas da UML Overview Diagrama de Casos de Uso e Diagrama de Classes PROBLEMAS

Leia mais

Agenda da Aula. Desenvolvimento de Software Orientado a Aspectos. Aspectos... Motivação. Um pouco de história. Programação Estruturada

Agenda da Aula. Desenvolvimento de Software Orientado a Aspectos. Aspectos... Motivação. Um pouco de história. Programação Estruturada Engenharia de Software Aula 23 Agenda da Aula Desenvolvimento de Software Orientado a Aspectos Introdução a desenvolvimento de software orientado a aspectos Interesses centrais e interesses transversais

Leia mais

Desenvolvimento de Software Orientado a Aspectos João Roberto Silva de Almeida

Desenvolvimento de Software Orientado a Aspectos João Roberto Silva de Almeida Desenvolvimento de Software Orientado a Aspectos João Roberto Silva de Almeida Universidade Federal de Juiz de Fora Instituto de Ciências Exatas Departamento de Ciência da Computação Bacharelado em Ciência

Leia mais

Composição de UML Profiles

Composição de UML Profiles Composição de UML Profiles Kleinner Silva Farias de Oliveira 1 Orientador: Toacy Cavalcante de Oliveira 1 1 Faculdade de Informática Pontifícia Universidade Católica do Rio Grande do Sul (PUC-RS) Av. Ipiranga

Leia mais

4.6. UML Diagramas de componentes

4.6. UML Diagramas de componentes Engenharia de Software 4.6. UML Diagramas de componentes Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Componentes são partes, executáveis e substituíveis, (idealmente reutilizáveis) de um sistema

Leia mais

Diagrama de Atividades. Professor: André Gustavo Bastos Lima

Diagrama de Atividades. Professor: André Gustavo Bastos Lima UML Unified Modeling Language Diagrama de Atividades Professor: André Gustavo Bastos Lima Diagrama de Atividades Representação de fluxo de atividades seqüenciais i e concorrentes; Ênfase na transferência

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Modelo

Leia mais

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais

Leia mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

Leia mais

Mo#vação. Objec#vo. Estudar uma abordagem de desenvolvimento de so9ware orientada pelos objectos. Linguagens usadas: UML (Unified Modeling Language)

Mo#vação. Objec#vo. Estudar uma abordagem de desenvolvimento de so9ware orientada pelos objectos. Linguagens usadas: UML (Unified Modeling Language) Mo#vação Esta disciplina mostra como construir um bom alicerce para desenvolver so9ware orientado pelos objectos Ensina técnicas de análise e desenho para ajudar a produzir so9ware orientado pelos objectos

Leia mais

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o Universidade Estadual de Mato Grosso do Sul Ciência da Computação Banco de Dados Prof. Nilton nilton@comp.uems.br Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo

Leia mais

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias

Leia mais

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas Engenharia de Software Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas Thiago P. da Silva thiagosilva@ufmt.br Agenda Modelagem de Sistemas Modelos de contexto Diagramas de Atividades Modelos

Leia mais

Modelagem Conceitual Orientada a Objetos. Classes e Tipos. Classe x Tipo x Instância...

Modelagem Conceitual Orientada a Objetos. Classes e Tipos. Classe x Tipo x Instância... Modelagem Conceitual Orientada a Objetos Fernanda Baião UNIRIO Material parcialmente extraído a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Vieira e Maria Cláudia Cavalcanti 1 Classes e

Leia mais

Introdução a UML e seus diagramas

Introdução a UML e seus diagramas Introdução a UML e seus diagramas A Unified Modelling Language (UML) é uma linguagem ou notação de diagramas para especificar, visualizar e documentar modelos de software orientados por objetos. O UML

Leia mais

Programação Orientada a Aspectos Aplicada. Charles Wellington de Oliveira Fortes chalkmaster@gmail.com

Programação Orientada a Aspectos Aplicada. Charles Wellington de Oliveira Fortes chalkmaster@gmail.com Programação Orientada a Aspectos Aplicada. Charles Wellington de Oliveira Fortes chalkmaster@gmail.com Resumo: Demonstrar de forma clara e prática como a Programação Orientada a Aspectos pode ajudar a

Leia mais

Lista Diagrama de Casos de Uso

Lista Diagrama de Casos de Uso Lista Diagrama de Casos de Uso 1. Qual é a notação da UML para um caso de uso? Qual é a notação da UML para um ator? Qual a notação utilizada na UML para o relacionamento de generalização? 2. Defina o

Leia mais

Engenharia de Software

Engenharia de Software 1 Engenharia de Software CURSO: Sistemas de Informação PERÍODO LETIVO: 2009-1 SEMESTRE: 4º PROFESSOR(A): Francisco Ildisvan de Araújo Introdução METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS Uma metodologia

Leia mais

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas

Leia mais

Teste Funcional: Uma abordagem Auxiliada por Aspectos

Teste Funcional: Uma abordagem Auxiliada por Aspectos Teste Funcional: Uma abordagem Auxiliada por Aspectos André Dantas Rocha, Adenilso da Silva Simão, José Carlos Maldonado, Paulo Cesar Masiero [rocha,adenilso,jcmandon,masiero]@icmc.usp.br Laboratório de

Leia mais