Desenvolvimento de Software Orientado a Características e Dirigido por Modelos Revisitado

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

Download "Desenvolvimento de Software Orientado a Características e Dirigido por Modelos Revisitado"

Transcrição

1 Desenvolvimento de Software Orientado a Características e Dirigido por Modelos Revisitado Autor: Rodrigo Reis Pereira 1 Orientador: Marcelo Almeida Maia 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal do Uberlândia (UFU) Uberlândia MG Brasil Nível: Mestrado Ano de ingresso no programa: 2007 Época esperada de conclusão: Março / 2010 Etapa concluída: Defesa da proposta de dissertação Resumo. O desenvolvimento de software orientado a características e dirigido por modelos (FOMDD - Feature Oriented Model Driven Development) [Trujillo et al. 2007] é uma abordagem que une FOP (Feature Oriented Programming - programação orientada a características) [Batory et al. 2003] e MDD (Model Driven Development - desenvolvimento dirigido por modelos) [Kleppe et al. 2003]. MDD utiliza modelos para especificação de programas e transformações sobre modelos para síntese de executáveis. FOP é um paradigma para linhas de produtos de software no qual programas são construídos através da composição de características. FOMDD propõe que produtos de uma linha de produtos de software sejam construídos pela criação de modelos compostos por características e que estes sejam transformados em executáveis. Este trabalho é uma proposta de generalização para o método de FOMDD apresentado em [Trujillo et al. 2007]. Palavras-Chave. Desenvolvimento de software orientado a características, modelagem de características, arquiteturas dirigidas por modelos, metaprogramação, linhas de produto de software.

2 1. Introdução e Motivação Um dos principais objetivos da Engenharia de Software é gerenciar e controlar a complexidade dos sistemas. Neste contexto, considerando o baixo nível de rastreabilidade entre os artefatos utilizados ao longo dos processos tradicionais de desenvolvimento, a crescente complexidade dos sistemas e, consequentemente, maior dificuldade na compreensão das estruturas de implementação das funcionalidades dos sistemas, cada vez mais, técnicas avançadas de desenvolvimento se fazem necessárias para auxílio aos profissionais envolvidos tanto nas tarefas de modelagem quanto nas tarefas de codificação [Batory 2003]. No contexto de linha de produtos de software, i.e., um conjunto de produtos que possuem funcionalidades em comum, mas que no entanto apresentam outras diferenciadas, a utilização de técnicas capazes de expressar em código fonte a variabilidade de características de forma modular, tal qual o raciocínio de projeto em alto nível de abstração, é alternativa fundamental, considerando principalmente a necessidade de refinamento gradual dos sistemas. Uma das alternativas possíveis é o uso do ambiente AHEAD, apresentado em [Batory et al. 2003]. MDD é outro paradigma avançado de produção de software e baseia-se na utilização de modelos e transformações sucessivas entre modelos para obtenção de código fonte. Estas duas abordagens em conjunto formam o núcleo conceitual deste trabalho e o resultado pretendido com esta fusão é um alto grau de automação do processo de desenvolvimento de software. 2. Caracterização do Problema As instâncias de uma linha de produtos de software podem ser diferenciadas pelas características (capacidades) que cada um deles apresenta. Diferentes composições de características levam a diferentes produtos. A modelagem de características é a atividade de especificar a variabilidade de propriedades dos conceitos e suas interdependências através de um modelo [Czarnecki et al. 2000]. FOP é um paradigma para linhas de produtos de software no qual programas são construídos através da composição de características. Uma linha de produtos é especificada em função de um domínio de aplicação e considera-se a existência de uma característica base, que representa a estrutura inicial para a aplicação de refinamentos. Por exemplo, considerando uma linha de produtos simplificada para a construção de carros. Considerando que carros fossem obrigatoriamente constituídos por Motor e Transmissão e opcionalmente por Som. Poderíamos obter dois tipos de modelos de carro: Base (Base=Trasmissão Motor) e um outro refinado, composto por Base e Som: (BaseSom=Base Som). FOMDD envolve modelagem e composição de características bem como a transformação destes modelos com o objetivo final de obtenção do código executável. O estudo de caso apresentado em [Trujillo et al. 2007], mostra uma forma de se obter portlets (componentes de portais web) [Díaz et al. 2007] através da utilização de diagramas de estados a serem transformados em modelos intermediários refináveis que antecedem o processo de geração de código. Naquele estudo, o processo de desenvolvimento inicia com a especificação de um diagrama de estados que representa o fluxo de computação do componente (sendo cada estado a representação abstrata de uma característica), e que é posteriormente transformado em modelos intermediários, em conformidade com uma linguagem de domínio específico para portlets, definindo a estrutura básica de implementação de cada um dos estados, segundo arquitetura de código previamente definida. Estes modelos intermediários são refinados pela combinação com modelos de configuração específicos de plataforma escritos manualmente, completando a especificação e possibilitando a geração de código funcionalmente completo.

3 Figure 1. Adordagem FOMDD de Trujillo, et al. Este trabalho pretende generalizar o método de FOMDD apresentado em [Trujillo et al. 2007](Figura 1) através da especificação de linhas de produtos de software pelo uso de modelos independentes de plataforma descritos em UML 1, DSLs para especificação dos metamodelos a serem usados nos passos intermediários de transformação, modelos adicionais de entrada como de entrelaçamento e layout, além de transformações de modelo para combinação (i.e., transformações endógenas) e tradução entre modelos de diferentes tipos (i.e., transformações exógenas), como síntese de código. 3. Metamodelos Propostos Nossa abordagem utiliza os seguintes modelos abstratos de entrada mostrados na Figura 2 a seguir: Modelo de Dados do Domínio (MD), Modelo de Estados do Domínio (ME), Modelos de Características Independentes de Plataforma para o Domínio (DPIM 2 ) e para o Produto (PPIM 3 ) e Modelos de Características Específicas de Plataforma para Domínio (DPSM 4 ) e para o Produto (PPSM 5 ). Os modelos PPIM e PPSM contém a seleção de características para um produto específico escolhido a partir das características do domínio de aplicação presentes em DPIM e DPSM, respectivamente. MD é caracterizado por tabelas e visões, que contém campos e métodos, além de relacionamentos entre as entidades. Sua função é descrever a representação dos dados persistentes do domínio de aplicação possibilitando gerar esquemas de bancos de dados, bem como dirigir a geração de entidades de código para manipulação destes dados. ME é constituído por estados que representam telas para interação com o usuário, elementos componentes dos estados que representam os widgets que compõe a tela, sub-estados que determinam a configuração de widgets das telas e transições que descrevem o fluxo de navegação entre as telas do sistema (domínio), incluindo comportamento em resposta a eventos. Os modelos de dados e estados não são orientados por características. Para possibilitar a seleção de elementos destes modelos com base na seleção de características, é necessário relacioná-los às características do domínio. O modelo de características DPIM define as características independentes de plataforma presentes na linha de produtos e é utilizado como referência para a representação do entrelaçamento entre características e os elementos dos modelos de dados e estados. Esta representação é feita através de modelos extras de entrada, que descrevem a relação entre os nomes das características e os nomes dos elementos dos modelos Do inglês, Domain s Platform Independent Model 3 Do inglês, Product s Platform Independent Model 4 Do inglês, Domain s Platform Specific Model 5 Do inglês, Product s Platform Specific Model

4 Figure 2. Nossa abordagem FOMDD A partir dos modelos de dados e estados anotados com características, obtemos através de transformações específicas uma representação abstrata da arquitetura do sistema, a partir da qual é possível iniciar a geração de produtos. Neste ponto, considera-se inicialmente o modelo de características PPIM, que descreve a constituição funcional do produto, ou seja, quais são as características necessárias para a sua realização. Em função destas características, os elementos descritos na representação abstrata intermediária serão selecionados para tradução em artefatos específicos de plataforma. O modelo de características específicas de plataforma PPSM (expresso em conformidade com DPSM) define o componente de tradução a ser usado para a transformação da especificação abstrata em código fonte orientado por características.

5 4. Transformações A transição entre cada etapa do processo de geração envolve transformações de modelos. Uma transformação no contexto de MDD é definida como o processo de geração de um modelo destino a partir de um ou mais modelos fonte [Kleppe et al. 2003] e podem ser implementadas através de diversos mecanismos como programas executáveis ou linguagens específicas para definição de transformações como XSLT 6, ATL [Jouault et al. 2008], SmartQVT 7, JET templates 8, etc. Os passos de transformação definidos por nossa abordagem são descritos a seguir Passo 1: Simplificação dos Modelos de Dados e Estados Os modelos de dados e estados são entradas para o processo e são definidos através da utilização de diagramas UML estendidos (UML profiles), descritos em XMI. Este passo consiste em simplificar a notação destes modelos, com objetivo de manter apenas informações relevantes ao processo de geração. Ao final desta fase, obtemos os modelos de dados e estado simplificados. A seguir apresenta-se as equações de transformação correspondentes a este passo, onde MD e ME são os modelos de dados e estados, respectivamente e T SimplifyDataModel e T SimplifyStateModel são as funções de simplificação. SimpleDataModel = T SimplifyDataModel (MD) SimpleStateModel = T SimplifyStateModel (ME) 4.2. Passo 2: Geração de Templates de Entrelaçamento A informação de entrelaçamento entre dados e características, é definida como uma relação entre os nomes das características e os nomes dos membros (campos e métodos) das entidades. Da mesma forma, o entrelaçamento entre estados e características é definido como uma relação entre os nomes das características e os nomes dos elementos constituintes deste modelo, ou seja, telas, sub-estados, widgets e transições. É esperado que todas as características se relacionem com um ou mais membros/elementos dos modelos, bem como que cada membro e elemento esteja relacionado com uma ou mais características. O objetivo desta fase é gerar templates para facilitar a declaração manual dos pares da relação entre membros/elementos e características. Abaixo seguem as equações de transformação usando os resultados do Passo 1. DataModelAnnotationTemplate = T GenerateDataModelAnnotationT emplate (SimpleDataModel) StateModelAnnotationTemplate = T GenerateStateModelAnnotationT emplate (SimpleStateModel) 4.3. Passo 3: Entrelaçamento de Características com Modelos de Dados e Estados As relações entre DPIM com MD e ME, declaradas no passo anterior, devem ser incorporadas à estrutura dos modelos de dados e estados simplificados. O resultado ao final desta fase são os modelos orientados por características. AnnotatedDataModel = T AnnotateDataModel (SimpleDataModel,DataModelAnnotations) AnnotatedStateModel = T AnnotateStateModel (SimpleStateModel,StateModelAnnotations) 6 http : //www.w3.org/t R/xslt 7 8 http : //www.eclipse.org/articles/article JET/jet tutorial1.html

6 4.4. Passo 4: Geração do Template de Layout Os modelos de dados e estados orientados por características contém informação que possibilita a geração de estruturas específicas de plataforma, faltando apenas a lógica para os métodos da aplicação e a lógica para estruturação visual de cada uma das telas (visão). A lógica dos métodos a serem gerados deverá ser adicionada em passos finais do processo, já em notação específica de plataforma. No entanto, a lógica de estruturação visual é associada neste passo a cada uma das telas através de um modelo abstrato de layout, que possui nome e um conjunto de elementos identificados, que configuram os containers disponíveis para organização da informação (i.e., widgets). No Passo 6, estes modelos de organização visual serão substuídos por implementações específicas que devem estar em conformidade com a especificação abstrata. LayoutTemplate = T State2LayoutT emplate (AnnotatedStateModel) 4.5. Passo 5: Geração de Modelo da Arquitetura Independente de Plataforma A partir dos modelos de dados e estados orientados por características e do modelo complementar de layout, é gerado um modelo de arquitetura independente de plataforma. Para esta geração deve ser escolhida uma transformação que define um estilo arquitetural específico, por exemplo, Model-View-Control [Gamma et al. 1995], Presentation-Abstraction- Control [Buschmann et al. 1996], dentre outros. Este modelo contém abstrações de elementos de projeto que permitem a geração de artefatos específicos de plataforma e é a última representação independente de plataforma utilizada no processo. ArchitecturalArtifacts = T HighLevelModels2Architecture (AnnotatedDataModel, AnnotatedStateModel, LayoutTemplate) 4.6. Passo 6: Aplicação dos Componentes de Tradução PSM O objetivo desta fase é transformar a notação abstrata em código fonte orientado por características. Para isto o componente, utiliza como entradas as representações de arquitetura geradas do Passo 5 e os modelos de características DPIM e DPSM, que identificam as características do domínio de aplicação e as propriedades dos componentes de tradução disponíveis (Figura 3), respectivamente. Estas propriedades definem especifidades do projeto de código como mostrado no exemplo da Figura 4. As transformações definidas pelo componente de tradução encapsulam templates descritos em linguagens específicas de plataforma, para cada tipo de artefato existente na arquitetura, que mapeiam os elementos da representação abstrata de arquitetura (APIM) em elementos de implementação representados através de arquivos JAK e XAK, disponíveis no ambiente AHEAD. A equação a seguir define este passo transformação. FOTemplateArtifacts= T Architecture2Artifacts (ArchitecturalArtifacts,DPIM,DPSM)

7 Figure 3. Modelo de Características PSM do Domínio Figure 4. Modelo de Características PSM do Produto 4.7. Passo 7: Geração do Template de Produto Neste passo de geração, a estrutura de arquivos resultante do Passo 6, é combinada através dos mecanismos de programação orientada por características. Basicamente, consiste na invocação de ferramentas específicas de combinação para cada tipo de artefato, que irão efetuar a junção de todas as ocorrências de um artefato específico, considerando o componenente de tradução selecionado pelo modelo de características PPSM e sua estrutura de implementação, seguindo ordem pré-definida pelo modelo de características do produto PPIM. ProductTemplateArtifacts= T MergeF OArtifacts (FOTemplateArtifacts,PPIM,PPSM) 4.8. Passo 8: Transformações Finais Após a combinação das características específicas de um produto, pode ser necessário a utilização de transformações extras. No estudo de caso apresentado na seção 5, os arquivos de script(javascript) gerados, não são diretamente suportados pelo ambiente de programação orientada por características AHEAD. Dessa forma, foi necessário definir uma notação de representação intermediária XML, para que estes artefatos pudessem ser combinados através da ferramenta XAK. Assim, ao final do processo de combinação, é preciso retornar os artefatos resultantes deste tipo à notação original. FinalProductTemplateArtifacts = T IntermediateNotation2OriginalNotation (ProductTemplateArtifacts)

8 4.9. Passo 9: Definição e Preenchimentos Manuais Neste passo final, a lógica dos métodos gerados nas representações específicas de plataforma deve ser preenchida manualmente. FinalArtifacts = T ManualMethodBodyF ill (FinalProductTemplateArtifacts) 5. Estudo de Caso Para a validação do nosso trabalho está sendo realizado um estudo de caso envolvendo a geração do sistema JavaPetStore 9, com o objetivo de comparar nossa abordagem e a abordagem apresentada em [Trujillo et al. 2007] com relação aos pontos positivos e negativos, tomando-se como parâmetros de análise a complexidade dos artefatos desenvolvidos, a rastreabilidade entre os artefatos e o grau de automação no processo. Para tal, devem ser desenvolvidos os modelos de características PIM e PSM para o domínio de aplicação WebStore (Figuras 5 e 3) e para o produto JavaPetStore (que contém a seleção de características dos modelos de domínio que caracteriza o produto específico), os diagramas de dados (Figura 6) e estados (Figura 7) que representam a aplicação (domínio), as definições de entrelaçamento entre dados/estados e características, os modelos complementares de layout e as transformações que definem a transição entre cada passo de geração. Figure 5. Fragmento do Modelo de Características PIM do Domínio O sistema alvo a ser gerado neste estudo é uma aplicação exemplo usada para ilustrar como a plataforma JavaEE pode ser utilizada para o desenvolvimento de aplicações. Mais especificamente, este sistema é implementado seguindo a arquitetura definida pelo framework para aplicações web JSF 10, estruturado segundo o padrão MVC [Gamma et al. 1995]. Neste caso, a representação abstrata da arquitetura do Passo 5 é composta por três modelos: Modelo Abstrato (MA), Visão Abstrata (VA) e Controlador Abstrato (CA), que constituem a entrada principal para o Passo 6, onde as abstrações dos elementos de projeto são efetivamente transformadas em notação específica de plataforma. O componente de tradução criado para o estudo de caso, é composto por transformações que mapeiam os elementos de uma representação independente de plataforma MVC em e- lementos de código como classes Java (modelo e controlador), JSPs (visão) e Javascripts (controlador), além de arquivos de configuração XML específicos de JSF. Estas transformações

9 Figure 6. Fragmento do Modelo de Dados do Domínio Figure 7. Fragmento do Modelo de Estados do Domínio foram implementadas através de templates JET, que definem a estrutura base e de refinamento para cada tipo de artefato, a serem utilizadas de acordo com a ordem de características do domínio (DPIM) e a intersecção entre características e elementos dos modelos de dados e estados, presente na abstração de arquitetura por transitividade. As equações seguintes detalham o processo de geração do Passo 6 realizado no estudo de caso, uma vez que as transformações a seguir são específicas para o estilo arquitetural MVC. FOModels = T ArchitectureModels2F OModels (ArchitecturalModel,PPIM,PPSM) FOViews = T ArchitecturalV iews2f OV iews (ArchitecturalView,PPIM,PPSM) FOControllers = T ArchitecturalControllers2F OControllers (ArchitecturalController,PPIM,PPSM) FOConfigurations = T ArchitecturalArtifacts2F OConfigurations (ArchitecturalModel,ArchitecturalView,ArchitecturalController,PPIM,PPSM) 6. Discussão e Trabalhos Relacionados Refatoração de programas, síntese de software baseada em características e/ou aspectos, e MDD são áreas disjuntas. Entretanto, todas elas são tecnologias de metaprogramação arquitetural por

10 tratarem programas como valores e usarem funções (transformações) para mapear programas para outros programas [Batory 2007]. Uma abordagem similar, baseada em templates, é proposta em [Czarnecki 2005]. Uma família de produtos é representada pelo modelo de características e um template do modelo. O modelo de características define a hierarquia de características bem como as restrições em suas possíveis configurações. O template contém a união dos elementos do modelo em todas as instâncias válidas do template (i.e., esqueletos expressos na notação destino para cada uma das possíveis combinações de características válidas). Uma instância do modelo de características pode ser especificada pela criação de uma configuração baseada no modelo de características. De acordo com a configuração de características, o template do modelo é instanciado automaticamente. O processo de instanciação é uma transformação entre modelos de mesma DSL, expressos na notação destino específica de plataforma. Em contraste com abordagens baseadas em variabilidade em que modelos distintos correspondentes a diferentes características são compostos, a abordagem [Czarnecki 2005] utiliza um modelo que representa a superimposição de todos os variantes cujos elementos estão relacionados a características através de anotações (i.e., um grande modelo anotado que contém conjuntamente as diferentes possibilidades). Em [Trujillo et al. 2007] é mostrado um estudo de caso onde modelos especificados por diagramas de estados são combinados pela transformação dos modelos iniciais em modelos intermediários específicos de plataforma que são combinados a refinamentos manuais e posteriormente transformados em código que representa a união entre os modelos descritos pelos diagramas de estados. Nossa abordagem difere da abordagem apresentada em [Trujillo et al. 2007] pela utilização de modelos extras de entrada (dados, estados e layout - expressos através de UML e DSLs) para a geração de um modelo de arquitetura independente de plataforma a ser traduzido em código por componentes de tradução PSM descritos a partir de um modelo de características específicas de plataforma, que define propriedades do projeto de código como mostrado no modelo da Figura 3. Atualmente, a abordagem proposta neste trabalho não avaliou a composição dos modelos de dados e estados, ou seja, não foi avaliado o caminho B mostrado na Figura 2. Ao invés disso, a composição baseada em características destes modelos é descrita pela seleção de elementos, de acordo com o entrelaçamento de características definido por anotações nos elementos que constituem cada um destes modelos. Assim, a composição de um conjunto de características específico é configurada pela seleção dos elementos anotados referentes a cada uma destas características. Independentemente da abordagem utilizada para combinação dos modelos de alto nível, a principal diferença entre nossa abordagem e a de [Trujillo et al. 2007], é que a informação que compõe os modelos de entrada no primeiro nível de transformação, é mais consistente com a caracterização de elementos de implementação, o que mantém alto o nível de rastreabilidade entre os artefatos do início ao fim dos passos de transformação e que possibilita a obtenção de elementos específicos de plataforma através de transformações MDD, ao invés de refinamentos manuais descritos em linguagens específicas, diminuindo assim, o grau de intervenção humana no processo de geração. Também, a criação de uma representação abstrata intermediária de arquitetura, possibilita a geração de implementações distintas (i.e., diferentes plataformas) a partir de um projeto único de características para linha de produtos de software e tradutores específicos de plataforma. 7. Perspectivas Neste trabalho apresentamos uma abordagem para generalização da proposta de FOMDD a- presentada em [Trujillo et al. 2007], que utiliza modelos complementares associados aos mo-

11 delos de características utilizados para expressar a variabilidade de propriedades do domínio de aplicação. Como complemento a este trabalho, pretende-se ainda avaliar o processo de geração utilizando composição de características em alto nível de abstração (caminho B, Figura 2) e generalizar os modelos de entrada utilizados na abordagem para a aplicação da mesma na geração de linhas de produtos que não sejam caracterizados por interação com o usuário através de interfaces gráficas como, por exemplo, servidores de aplicação. Ainda, pretende-se comparar a abordagem desenvolvida com outras abordagens para controle de variabilidade em linhas de produtos de software. Como trabalho futuro podemos citar o estudo dos benefícios da estruturação dos geradores PSM através da composição gradual de características independentes de plataforma. References Batory, D. (2003). A tutorial on feature oriented programming and product-lines. In ICSE 03: Proceedings of the 25th International Conference on Software Engineering, pages , Washington, DC, USA. IEEE Computer Society. Batory, D. (2007). Program refactoring, program synthesis, and model-driven development. pages Batory, D., Sarvela, J. N., and Rauschmayer, A. (2003). Scaling step-wise refinement. In Software Engineering, Proceedings. 25th International Conference on, pages Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M., Sommerlad, P., and Stal, M. (1996). Pattern-Oriented Software Architecture, Volume 1: A System of Patterns. John Wiley & Sons. Czarnecki, K. (2005). Mapping features to models: A template approach based on superimposed variants. In GPCE 05, volume 3676 of LNCS, pages Czarnecki, K., Eisenecker, U., and Czarnecki, K. (2000). Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional. Díaz, O., Trujillo, S., and Pérez, S. (2007). Turning portlets into services: the consumer profile. In WWW 07: Proceedings of the 16th international conference on World Wide Web, pages , New York, NY, USA. ACM. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design patterns: elements of reusable object-oriented software. Addison-Wesley Professional. Jouault, F., Allilaire, F., Bézivin, J., and Kurtev, I. (2008). Atl: A model transformation tool. Science of Computer Programming, 72(1-2): Kleppe, A. G., Warmer, J., and Bast, W. (2003). MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. Trujillo, S., Batory, D., and Diaz, O. (2007). Feature oriented model driven development: A case study for portlets. In ICSE 07: Proceedings of the 29th international conference on Software Engineering, pages 44 53, Washington, DC, USA. IEEE Computer Society.

Desenvolvimento de software orientado a características e dirigido por modelos

Desenvolvimento de software orientado a características e dirigido por modelos Desenvolvimento de software orientado a características e dirigido por modelos Universidade Federal de Uberlândia Rodrigo Reis Pereira Prof. Dr. Marcelo Almeida Maia Agenda Motivação Introdução Modelagem

Leia mais

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais

Transformação de modelos em processos de desenvolvimento de software

Transformação de modelos em processos de desenvolvimento de software 1068 X Salão de Iniciação Científica PUCRS Transformação de modelos em processos de desenvolvimento de software Vinycio de Correa Lunelli 1, Profa. Dra. Ana Paula Terra Bacelo 1 1 Faculdade de Informática,

Leia mais

UMA ABORDAGEM PARA DESENVOLVIMENTO DE LINHAS DE PRODUTOS DE SOFTWARE ORIENTADA A CARACTERÍSTICAS E DIRIGIDA POR MODELOS

UMA ABORDAGEM PARA DESENVOLVIMENTO DE LINHAS DE PRODUTOS DE SOFTWARE ORIENTADA A CARACTERÍSTICAS E DIRIGIDA POR MODELOS UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE CIÊNCIA DA COMPUTAÇÃO PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UMA ABORDAGEM PARA DESENVOLVIMENTO DE LINHAS DE PRODUTOS DE SOFTWARE ORIENTADA A

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Contribuições do MDA para o desenvolvimento de software Anna Carla Mohr Verner Helder Eugenio dos Santos Puia Florianópolis,

Leia mais

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. Pasteur Ottoni de Miranda Junior Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem

Leia mais

Um Modelo Conceitual bem Fundamentado para Adequação do Método FrameWeb a Múltiplos Frameworks

Um Modelo Conceitual bem Fundamentado para Adequação do Método FrameWeb a Múltiplos Frameworks Um Modelo Conceitual bem Fundamentado para Adequação do Método FrameWeb a Múltiplos Frameworks Beatriz Franco Martins Souza (mbeatrizfranco@yahoo.com.br) Computer Science Department Federal University

Leia mais

5 Um Modelo Generativo Orientado a Aspectos

5 Um Modelo Generativo Orientado a Aspectos 71 5 Um Modelo Generativo Orientado a Aspectos Nesse capítulo é apresentado um modelo generativo orientado a aspectos que é usado para instanciação de variabilidades OO e OA encontradas em arquiteturas

Leia mais

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

Linhas de Produtos de Software. Professor: Uirá DIMAp / UFRN, 2009.2

Linhas de Produtos de Software. Professor: Uirá DIMAp / UFRN, 2009.2 Linhas de Produtos de Software Professor: Uirá DIMAp / UFRN, 2009.2 Aula 4: Modelagem de Variabilidades em Requisitos Modelagem de Requisitos Documentação textual Não limita a expressividade dos requisitos

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Ricardo Terra 1 1 Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Campus da Pampulha 31.270-010

Leia mais

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael E. N. Maia, Ana Paula B. Blois, Cláudia M. Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68.511

Leia mais

Planejamento da disciplina: Modelagem de processos de negócio

Planejamento da disciplina: Modelagem de processos de negócio UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira

Leia mais

Suporte a Padrões no Projeto de Software

Suporte a Padrões no Projeto de Software Suporte a Padrões no Projeto de Software Alexandre Dantas, Gustavo Veronese Alexandre Correa, José Ricardo Xavier, Cláudia Werner {alexrd, veronese, alexcorr, xavier, werner}@cos.ufrj.br COPPE/UFRJ Programa

Leia mais

Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação

Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação Valdemar Vicente GRACIANO NETO 1 ; Juliano Lopes DE OLIVEIRA 1 1 Instituto de Informática

Leia mais

Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software. Eduardo Barbosa da Costa

Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software. Eduardo Barbosa da Costa Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software Eduardo Barbosa da Costa Juiz de Fora, MG Julho de 2008 Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software

Leia mais

7 Trabalhos Relacionados A idéia é tentar dar todas as informações que ajudem os outros a julgar o valor da sua contribuição; não apenas as informações que levem o julgamento a uma direção em particular.

Leia mais

Um Arcabouço open source em Python para DBC com

Um Arcabouço open source em Python para DBC com Um Arcabouço open source em Python para DBC com Suporte à Evolução Dinâmica não Antecipada Yguaratã C. Cavacanti 1, Hyggo Oliveira de Almeida 1, Evandro Costa 2 1 Instituto de Computação Universidade Federal

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

3 OOHDM e SHDM 3.1. OOHDM

3 OOHDM e SHDM 3.1. OOHDM 32 3 OOHDM e SHDM Com a disseminação em massa, desde a década de 80, de ambientes hipertexto e hipermídia, principalmente a Web, foi identificada a necessidade de elaborar métodos que estruturassem de

Leia mais

DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS

DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL DEPARTAMENTO DE COMPUTAÇÃO E ESTATÍSTICA DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS LÍCIO SÉRGIO FERRAZ DE BRITO MARCELO AUGUSTO SANTOS TURINE

Leia mais

Uma Abordagem para Tratamento de Regras de Negócio nas Fases Iniciais do Desenvolvimento

Uma Abordagem para Tratamento de Regras de Negócio nas Fases Iniciais do Desenvolvimento Uma Abordagem para Tratamento de Regras de Negócio nas Fases Iniciais do Desenvolvimento Marco Antonio De Grandi, Valter Vieira de Camargo, Edmundo Sérgio Spoto Centro Universitário Eurípides de Marília

Leia mais

Arquitetura de Software

Arquitetura de Software Agenda de Software - Fundamentos e Tendências - Objetivos e Contexto de Software (A.S.) A.S. no Processo de Desenvolvimento Passado, Presente e Futuro Prof. Marco Fagundes mfagunde@tre-pa.gov.br 1 2 Objetivos

Leia mais

Uma Estensão do STREAM para Escolha de Padrões Arquiteturais baseada em Requisitos Não-Funcionais

Uma Estensão do STREAM para Escolha de Padrões Arquiteturais baseada em Requisitos Não-Funcionais Uma Estensão do STREAM para Escolha de Padrões Arquiteturais baseada em Requisitos Não-Funcionais Fábio Silva 1,2, Marcia Lucena 1, Leonardo Lucena 2, Roniceli Moura 1 1 Universidade Federal do Rio Grande

Leia mais

Linha de Produtos de Software (SPL) em Java: Teoria e Prática

Linha de Produtos de Software (SPL) em Java: Teoria e Prática Linha de Produtos de Software (SPL) em Java: Teoria e Prática Prof. Me. Djan Almeida Santos Prof. Me. Pablo Freire Matos Slides baseados no material elaborado pelos professores: Ingrid Oliveira de Nunes,

Leia mais

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados 1021 X Salão de Iniciação Científica PUCRS Engenharia de Domínio baseada na Reengenharia de Sistemas Legados Cássia Zottis¹, Profa. Dra. Ana Paula Terra Bacelo 1 (orientadora) 1 Faculdade de Informática,

Leia mais

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Luiz Cláudio Hogrefe Orientador: Prof. Roberto Heinzle, Doutor Roteiro Introdução Fundamentação teórica

Leia mais

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Itana M. S. Gimenes 1 itana@din.uem.br Fabrício R. Lazilha 2 fabricio@cesumar.br Edson A. O. Junior

Leia mais

Lições Aprendidas sobre Desenvolvimento Dirigido por Modelos a partir da refatoração de uma ferramenta

Lições Aprendidas sobre Desenvolvimento Dirigido por Modelos a partir da refatoração de uma ferramenta Lições Aprendidas sobre Desenvolvimento Dirigido por Modelos a partir da refatoração de uma ferramenta Valdemar Vicente Graciano Neto 1,, Sofia Larissa da Costa 1, Juliano Lopes de Oliveira 1 1 Instituto

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE Tathiana da Silva Barrére Antonio Francisco do Prado Vitor César Bonafe E-mail: (tathiana,prado,bonafe)@dc.ufscar.br

Leia mais

Exame de Qualificação para o Doutorado

Exame de Qualificação para o Doutorado Universidade Federal do Rio de Janeiro Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia Programa de Engenharia de Sistemas e Computação Exame de Qualificação para o Doutorado EVOLMANAGER:

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

Uma Abordagem para a Transformação Automática do Modelo de Negócio em Modelo de Requisitos

Uma Abordagem para a Transformação Automática do Modelo de Negócio em Modelo de Requisitos Uma Abordagem para a Transformação Automática do Modelo de Negócio em Modelo de Requisitos Felipe Dias, Gisele Morgado, Pedro Oscar, Denis Silveira, Antonio Juarez Alencar, Priscila Lima, Eber Schmitz

Leia mais

Ferramentas de monitoramento e análise de modelos espaciais dinâmicos em tempo-real

Ferramentas de monitoramento e análise de modelos espaciais dinâmicos em tempo-real Ferramentas de monitoramento e análise de modelos espaciais dinâmicos em tempo-real Antônio José da Cunha Rodrigues, Tiago Garcia de Senna Carneiro PPGCC - Programa de Pós-Graduação em Ciência da Computação

Leia mais

PL-SCIENCE: CONECTANDO ONTOLOGIAS E MODELOS DE FEATURES EM UMA LINHA DE PRODUTO PARA APLICAÇÕES CIENTÍFICAS

PL-SCIENCE: CONECTANDO ONTOLOGIAS E MODELOS DE FEATURES EM UMA LINHA DE PRODUTO PARA APLICAÇÕES CIENTÍFICAS PL-SCIENCE: CONECTANDO ONTOLOGIAS E MODELOS DE FEATURES EM UMA LINHA DE PRODUTO PARA APLICAÇÕES CIENTÍFICAS Gabriella Castro Barbosa Costa gabriellacbc@gmail.com Orientadores Regina Maria Maciel Braga

Leia mais

Questionário. A ferramenta auxilia na alocação de Não (0) x x x. Satisfatório (5) complexidade de um caso de uso? de uso (72) Sim (10)

Questionário. A ferramenta auxilia na alocação de Não (0) x x x. Satisfatório (5) complexidade de um caso de uso? de uso (72) Sim (10) Questionário Nível Avaliado Gerador de plano de teste Gerador de dados Função/característica do produto Gestão dos dados do plano de teste (51) Perguntas Pontuação Selenium BadBoy Canoo A ferramenta auilia

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE Nelson Ribeiro de Carvalho Júnior 1 RESUMO Atualmente o cenário mundial cuja dependência do software está cada vez mais evidente requer que

Leia mais

Se observarmos nos diferentes livros. Planejamento de Testes a partir de Casos de Uso

Se observarmos nos diferentes livros. Planejamento de Testes a partir de Casos de Uso Planejamento de Testes a partir de Casos de Uso Arilo Cláudio Dias Neto ariloclaudio@gmail.com É Bacharel em Ciência da Computação formado na Universidade Federal do Amazonas, Mestre em Engenharia de Sistemas

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena Trabalho Experimental Sistema de Biblioteca 1. Objetivo Este trabalho tem o objetivo de consolidar o conhecimento sobre UML e garantir

Leia mais

Grupo de Ferramentas & Implementação. Uirá Kulesza DIMAp/UFRN

Grupo de Ferramentas & Implementação. Uirá Kulesza DIMAp/UFRN Grupo de Ferramentas & Implementação Uirá Kulesza DIMAp/UFRN Par@cipantes Elder, Lucena (PUC Rio) Paulo Pires, Flávia Delicato, Mário, Sindolfo, Uirá (UFRN) Masiero, Rosana (USP SC) Leopoldo, Rodrigo,

Leia mais

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica

Leia mais

Formalismos de Grafos de Interação (Surveys)

Formalismos de Grafos de Interação (Surveys) Formalismos de Grafos de Interação (Surveys) Disciplina:Tópicos em IHC II- Interação 3D Professor :Alberto Raposo Tópicos Motivação Fontes de Pesquisa Breve Descrição Conclusões Tópicos Motivação Fontes

Leia mais

Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web

Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web } Com o forte crescimento do comércio eletrônico por

Leia mais

Palavras-chave: Desenvolvimento Baseado em Componentes (DBC), Transformação de Software, framework e ObjectPascal.

Palavras-chave: Desenvolvimento Baseado em Componentes (DBC), Transformação de Software, framework e ObjectPascal. Construção e Reutilização de de Software do Domínio de Cardiologia João L C Moraes, Daniel Lucrédio, Adriano A Bossonaro, Dr Rubens Tofano, Prof Dr Antonio F Prado DC/UFSCar - Departamento de Computação

Leia mais

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS Edi Carlos Siniciato ¹, William Magalhães¹ ¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil edysiniciato@gmail.com,

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

Leia mais

Arquitetura de Software. Silvia Regina Vergilio

Arquitetura de Software. Silvia Regina Vergilio Arquitetura de Software Silvia Regina Vergilio Atividades de Projeto Projeto Geral ou Preliminar: fase que traduz a especificação do sistema em termos da arquitetura de dados e de módulos. Descreve a organização

Leia mais

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Resumo. A fim de flexibilizar o fluxo de controle e o fluxo de dados em Sistemas Gerenciadores de Workflow (SGWf),

Leia mais

SAMOA Um assistente automatizado para detecção de padrões de projetos em Diagramas UML, na WEB. Msc. Edemberg Rocha da Silva 1, Dr.

SAMOA Um assistente automatizado para detecção de padrões de projetos em Diagramas UML, na WEB. Msc. Edemberg Rocha da Silva 1, Dr. SAMOA Um assistente automatizado para detecção de padrões de projetos em Diagramas UML, na WEB Msc. Edemberg Rocha da Silva 1, Dr. Ulrich Schiel 2 1 Centro de Educação Tecnológica da Paraíba CEFET-PB Unidade

Leia mais

Software Architectures ACM Reference Format

Software Architectures ACM Reference Format Modularization of Variabilities From Software Product Lines of Web Information Systems (Modularizando Variabilidades em Linhas de Produto de Sistemas de Informação Web) DEMÓSTENES SENA (demostenes.sena@ifrn.edu.br),

Leia mais

DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT

DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT Jaqueline Rissá Franco email: jaquerifr@gmail.com Karla Marturelli Mattos Luciano Mathias Doll João Almeida Resumo: Este artigo mostra novas abordagens na

Leia mais

DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA AUXÍLIO NA PREVENÇÃO DE TRAGÉDIAS EM DECORRÊNCIA DE ENCHENTES

DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA AUXÍLIO NA PREVENÇÃO DE TRAGÉDIAS EM DECORRÊNCIA DE ENCHENTES DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA AUXÍLIO NA PREVENÇÃO DE TRAGÉDIAS EM DECORRÊNCIA DE ENCHENTES Autores: Luciano GONÇALVES JUNIOR, Natália Maria Karmierczak DA SILVA, Paulo César Rodacki GOMES,

Leia mais

Algumas propriedades dos objetos:

Algumas propriedades dos objetos: Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,

Leia mais

SABiO: Systematic Approach for Building Ontologies

SABiO: Systematic Approach for Building Ontologies SABiO: Systematic Approach for Building Ontologies Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo Agenda Preocupações Principais do

Leia mais

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS Lilian R. M. Paiva, Luciene C. Oliveira, Mariana D. Justino, Mateus S. Silva, Mylene L. Rodrigues Engenharia de Computação - Universidade de Uberaba (UNIUBE)

Leia mais

Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes

Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Ana Paula Blois 1, 2, Karin Becker 2, Cláudia Werner 1 1 COPPE/UFRJ, Universidade Federal do Rio de Janeiro,

Leia mais

UMA ABORDAGEM DE PROJETO ARQUITETURAL BASEADO EM COMPONENTES NO CONTEXTO DE ENGENHARIA DE DOMÍNIO

UMA ABORDAGEM DE PROJETO ARQUITETURAL BASEADO EM COMPONENTES NO CONTEXTO DE ENGENHARIA DE DOMÍNIO 231 UMA ABORDAGEM DE PROJETO ARQUITETURAL BASEADO EM COMPONENTES NO CONTEXTO DE ENGENHARIA DE DOMÍNIO Ana Paula Terra Bacelo Resumo Reuso de software é considerada uma forma eficiente de aumentar a produtividade

Leia mais

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Padrões GoF Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução Padrões de Criação Padrões de Estrutura Padrões de comportamento Leonardo Murta Padrões GoF 2 Introdução Os padrões GoF (Gamma

Leia mais

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET Átila Correia Cunha 1, 2, Glaucon Henrique Mauricio Maia 1, 2, Waner Ferreira Tavares 1, 2, Jorge Bergson¹, Rui Gomes Patrício 3

Leia mais

4.2. UML Diagramas de classes

4.2. UML Diagramas de classes Engenharia de Software 4.2. UML Diagramas de classes Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Um diagrama de classes serve para modelar o vocabulário de um sistema Construído e refinado ao longo

Leia mais

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados - Banco de Dados Aula 02 Modelagem de Dados Roteiro Definição Evolução Projeto de BD Abstração Esquema e Instância Definição É uma representação, normalmente gráfica, de estruturas de dados reais. Auxilia

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS. PADRÕES DE SOFTWARE 1 Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade Grupo de Padrões de Software da UECE (GPS.UECE) Julho-2009 CONTEÚDO Introdução aos Padrões de Software O quê são padrões?

Leia mais

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Design Patterns Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 Sumário Reuso de Software Introdução Benefícios e Desvantagens Visão do Reuso Padrões de Projeto

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes

Leia mais

Engenharia de Software I: Análise e Projeto de Software Usando UML

Engenharia de Software I: Análise e Projeto de Software Usando UML Engenharia de Software I: Análise e Projeto de Software Usando UML Capítulo 1 Processo de Desenvolvimento de Software Metodologia de Desenvolvimento de Software Uma metodologia é um conjunto de métodos,

Leia mais

Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software

Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software Juliano Dantas Santos Universidade Federal do Rio de Janeiro COPPE - Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa

Leia mais

Model-Driven Engineering Geração de modelos de software e especificações usando a plataforma IBM

Model-Driven Engineering Geração de modelos de software e especificações usando a plataforma IBM Model-Driven Engineering Geração de modelos de software e especificações usando a plataforma IBM Luiz Esmiralha IBM Eduardo Chiote IBM Quem somos Luiz Esmiralha Arquiteto de Aplicações / IBM 15 anos exp.

Leia mais

PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS

PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS PROFILE EM UML PARA MODELAGEM SIMPLIFICADA DE INTERFACES GRÁFICAS EM APLICATIVOS André Sandri Prof. Me. Carlos Michel Betemps UNILASALLE - www.unilasalle.com.br 30 de junho de 2006 Curso de Ciências da

Leia mais

Avaliando modelos arquiteturais através de um checklist baseado em atributos de qualidade

Avaliando modelos arquiteturais através de um checklist baseado em atributos de qualidade Avaliando modelos arquiteturais através de um checklist baseado em atributos de qualidade Aluno: Rafael Ferreira Barcelos barcelos@cos.ufrj.br Orientador: Guilherme Horta Travassos ght@cos.ufrj.br Nível:

Leia mais

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de:

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de: i Sumário 1 Introdução 1 1.1 Linguagens....................................... 1 1.2 O que é um Compilador?................................ 2 1.3 Processadores de Programas: Compiladores, Interpretadores

Leia mais

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix. UNIP Sistemas de Informação Análise Essencial de Sistemas Prof.Marcelo Nogueira Análise Essencial de Sistemas 1 Introdução A produção de Software é uma atividade build and fix. Análise Essencial de Sistemas

Leia mais

Processo de Desenvolvimento Unificado

Processo de Desenvolvimento Unificado Processo de Desenvolvimento Unificado Processo de Desenvolvimento de Software? Conjunto de atividades bem definidas; com responsáveis; com artefatos de entrada e saída; com dependências entre as mesmas

Leia mais

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes 6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes A ferramenta MAS-ML Tool surgiu com o objetivo de viabilizar o processo de desenvolvimento proposto na Seção anterior, implementando

Leia mais

O GERENCIAMENTO DE REQUISITOS E A SUA IMPORTÂNCIA EM PROJETOS DE DESENVOLVIMENTO DE SOFTWARE

O GERENCIAMENTO DE REQUISITOS E A SUA IMPORTÂNCIA EM PROJETOS DE DESENVOLVIMENTO DE SOFTWARE O GERENCIAMENTO DE REQUISITOS E A SUA IMPORTÂNCIA EM PROJETOS DE DESENVOLVIMENTO DE SOFTWARE Leonardo Manoel Mendes¹, Rogério Homem da Costa², Reinaldo Lorenso³ 1. Especializando do Curso de Pós-Graduação

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Persistir os Metadados dos Modelos de Objetos de Sistemas Distribuídos e Adaptáveis.

Persistir os Metadados dos Modelos de Objetos de Sistemas Distribuídos e Adaptáveis. Persistir os Metadados dos Modelos de Objetos de Sistemas Distribuídos e Adaptáveis. Warley R. de Almeida, Maurício G.V. Ferreira Instituto Nacional de Pesquisas Espaciais (INPE) Av. dos Astronautas,1.758

Leia mais

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

OSCAR BRANCO DENIS DESENVOLVIMENTO BASEADO EM MODELOS: DA TEORIA À PRÁTICA

OSCAR BRANCO DENIS DESENVOLVIMENTO BASEADO EM MODELOS: DA TEORIA À PRÁTICA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA - UNIVEM TRABALHO DE CONCLUSÃO DE CURSO OSCAR BRANCO DENIS DESENVOLVIMENTO BASEADO EM MODELOS: DA TEORIA À PRÁTICA MARÍLIA 2007 1 OSCAR BRANCO DENIS DESENVOLVIMENTO

Leia mais

Introdução à Plataforma Eclipse. Leandro Daflon daflon@les.inf.puc-rio.br

Introdução à Plataforma Eclipse. Leandro Daflon daflon@les.inf.puc-rio.br Introdução à Plataforma Eclipse Leandro Daflon daflon@les.inf.puc-rio.br Agenda Introdução Arquitetura da Plataforma Componentes da Plataforma JDT PDE Visão Geral do Projeto Eclipse.org 2 Introdução O

Leia mais

2 Geração Dinâmica de Conteúdo e Templates de Composição

2 Geração Dinâmica de Conteúdo e Templates de Composição 2 Geração Dinâmica de Conteúdo e Templates de Composição Alguns dos aspectos mais importantes na arquitetura proposta nesta dissertação são: a geração dinâmica de conteúdo e a utilização de templates de

Leia mais

Modelagem de Sistemas

Modelagem de Sistemas Capítulo 5 Modelagem de Sistemas slide 1 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 1 Tópicos Apresentados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais

Leia mais

Transforms: Um Ambiente de Apoio a Modelagem e Execução de Processos de Software Dirigido por Modelos

Transforms: Um Ambiente de Apoio a Modelagem e Execução de Processos de Software Dirigido por Modelos Transforms: Um Ambiente de Apoio a Modelagem e Execução de Processos de Software Dirigido por Modelos Bruno C. da Silva 1,2, Ana Patrícia F. Magalhães 2, Rita Suzana P. Maciel 3, Narciso Martins 2, Leandro

Leia mais

Uma Abordagem de Arquitetura Estilizada para Software Educacional

Uma Abordagem de Arquitetura Estilizada para Software Educacional Uma Abordagem de Arquitetura Estilizada para Software Educacional José Roberto Vasconcelos 1, Ivan Luiz Marques Ricarte 2 Gécen Dacome de Marchi 1, Rafael Alessandro Gatto 1 1 Departamento de Informática,

Leia mais

FA PorT: Um Framework para Sistemas Portfólio-Tutor utilizando Agentes

FA PorT: Um Framework para Sistemas Portfólio-Tutor utilizando Agentes FA PorT: Um Framework para Sistemas Portfólio-Tutor utilizando Agentes Fábio Nicácio de Medeiros, Flávio Mota Medeiros, Arturo Hernández Domínguez Instituto de Computação Universidade Federal de Alagoas

Leia mais

Especificação de Uma Abordagem para Desenvolvimento Distribuído de Software Utilizando SPEM

Especificação de Uma Abordagem para Desenvolvimento Distribuído de Software Utilizando SPEM Especificação de Uma Abordagem para Desenvolvimento Distribuído de Software Utilizando SPEM Gislaine Camila Lapasini Leal, Elisa Hatsue Moriya Huzita Tania Fatima Calvi Tait e César Alberto da Silva Universidade

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

EMF. Eclipse Modeling Framework. José G. de Souza Júnior. direção: Dr. Denivaldo Lopes

EMF. Eclipse Modeling Framework. José G. de Souza Júnior. direção: Dr. Denivaldo Lopes Engineering for a better life EMF Eclipse Modeling Framework José G. de Souza Júnior direção: Dr. Denivaldo Lopes LESERC (Laboratório de Engenharia de Software e Rede de Computadores) Web Site: http://www.leserc.dee.ufma.br/

Leia mais

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos

Leia mais