Framework para jogos de cartas

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

Download "Framework para jogos de cartas"

Transcrição

1 Framework para jogos de cartas por André Luís Knabben e Thiago Robert Professor Doutor Ricardo Pereira e Silva Orientador Resumo Projetar artefatos de software visando a reusabilidade é uma tarefa complexa. Frameworks e padrões de projeto são artefatos de software reusáveis que buscam facilitar o desenvolvimento de aplicações. O presente documento consiste na descrição do desenvolvimento de um framework OO generalizando o domínio dos jogos de cartas, utilizando padrões de projeto. Abstract Designing reusable software artifacts is a complex task. Frameworks and design patterns are reusable software artifacts that can be used to speed application development. The present paper consists in the description of the development of a card games OO framework, using design patterns. Introdução Há décadas, a reusabilidade vem sendo uma das principais metas dos engenheiros de software. Entretanto, reusar software não é nada simples e a maior parte dos esforços nesse sentido acabou gerando apenas pequenos componentes caixa-preta. Com a popularização do paradigma OO, tornou-se possível desenvolver componentes reusáveis de maior

2 granularidade, entre eles os frameworks OO. Atualmente existem frameworks para uma grande variedade de domínios, entre eles podemos citar o MVC do Smalltalk e o AWT do Java. Frameworks são artefatos reusáveis de alta granularidade. A utilização de um framework tem como objetivo a redução no tempo e no custo de criação e manutenção de novas aplicações que pertençam ao domínio tratado por esse framework. Além disso, a utilização desses artefatos de software resulta em aplicações mais confiáveis, pois, estando o framework depurado, o desenvolvimento deixa pouca margem à inserção de erros. Frameworks Orientados a Objetos Um framework é um conjunto de classes integradas que define uma estrutura reusável para um domínio específico de aplicações. O framework provê uma arquitetura particionada em classes abstratas e define as responsabilidades e um modelo de colaboração para essas classes. O desenvolvedor adapta o framework para uma aplicação particular especializando e agregando instâncias de suas classes. A figura abaixo ilustra uma aplicação desenvolvida a partir de um framework. A estrutura em azul corresponde ao framework e o restante é o que foi produzido pelo usuário do framework no desenvolvimento dessa aplicação específica. Figura 1. Uma aplicação desenvolvida sob um framework OO. Frameworks portam a infra-estrutura de projeto, característica que reduz a quantidade de código a ser desenvolvida na criação de aplicações. O modelo de colaboração entre as

3 classes de um framework define a arquitetura da aplicação livrando o desenvolvedor dessa responsabilidade. A arquitetura dinâmica de um framework é caracterizada por uma inversão de controle. A inversão de controle permite que o framework (e não a aplicação) determine que métodos invocar em resposta a eventos. Desenvolvimento de Frameworks O desenvolvimento de um framework é ligeiramente diferente do desenvolvimento de uma aplicação comum. A grande diferença é que um framework tem que cobrir os conceitos relevantes a um domínio enquanto uma aplicação cobre apenas os conceitos mencionados nos seus requisitos. O desenvolvimento de um framework pode ser dividido da seguinte maneira: Análise do Domínio A análise de domínio é o processo de identificação e organização de conhecimentos a respeito de uma classe de problemas um domínio de aplicações para suportar a descrição e solução desses problemas. É um passo fundamental na criação de artefatos de software reusáveis, pois elementos gerados através de uma análise de domínio capturam a funcionalidade essencial requerida por um domínio. Uma análise de domínio é um passo importante no desenvolvimento de frameworks, pois faz com que o desenvolvedor do framework obtenha uma maior compreensão dos conceitos do domínio, funcionalidades e hot spots que um framework deve possuir. Modelagem A modelagem de um framework consiste na especificação da estrutura de classes

4 desse framework. Essa estrutura de classes deve possuir algumas características importantes: Generalidade reflete a capacidade do framework de alterar suas funcionalidades, tendo em vista as necessidades de uma aplicação específica. Extensibilidade refere-se à manutenibilidade do framework. O desenvolvimento de frameworks é um processo iterativo, isto é, à medida que o framework é utilizado novos recursos podem ser agregados a sua estrutura. Assim, durante o projeto de um framework, deve-se tentar prever futuras utilizações para este framework e futuras extensões no domínio tratado. Implementação A implementação de frameworks segue as linhas gerais da implementação de uma aplicação comum. Todas as técnicas e padrões para o desenvolvimento de código podem ser usados na implementação de um framework. É importante ressaltar que o sucesso da implementação de um framework depende da qualidade do projeto desse framework. Todas as características definidas durante a fase de projeto devem ser mantidas na fase de implementação para que o framework não perca sua capacidade de generalizar um domínio de aplicações. Testes Um framework é validado através da criação de aplicações teste, usadas para determinar se o framework provê as funcionalidades desejadas e para avaliar sua usabilidade. Se, no processo de criação de aplicações, forem encontradas características do domínio tratado que não estão presentes no framework deve-se reavaliar o projeto e atualizar a implementação do framework para que essas características sejam adicionadas.

5 Essa retro-alimentação faz parte do ciclo de vida dos frameworks. Documentação O desenvolvimento e a utilização de frameworks são tarefas complexas e, por isso, uma boa documentação é essencial. A documentação deve prover informações sobre o domínio tratado pelo framework, sua estrutura e funcionamento. Frameworks podem ser descritos a partir de notações de metodologia OOAD como, por exemplo, a UML. Essa descrição pode ser uma ótima fonte de informação sobre o framework e, portanto, uma documentação valiosa. Uma outra forma de documentação é a que ensina a usar o framework para gerar aplicações. Esse tipo de documentação dá pouca ênfase a aspectos de projeto concentrandose na descrição do processo de criação de aplicações sob o framework. Um exemplo desse tipo de documentação é o cookbook. Cookbooks são conjuntos de receitas textuais para a utilização de um framework. Sua principal vantagem é a capacidade de responder a questões chave minimizando o tempo gasto para produzir aplicações. O principal problema dessa abordagem é que ela cobre uma faixa limitada de tipos de aplicação. O auxilio proveniente do uso de um cookbook pode ser ínfimo no caso das necessidades do usuário não se ajustarem ao conjunto de problemas tratados pelo cookbook. [SIL 00] Outro modo de documentar um framework, talvez o mais elementar, é a disponibilização de código fonte aos usuários. O código fonte de um framework ou de aplicações desenvolvidas sob esse framework é uma rica fonte de documentação. Entretanto, é muito difícil entender o funcionamento de um framework apenas pelo seu código fonte e, por isso, é recomendável que o código não seja a única fonte de referência disponibilizada pelo autor do framework.

6 Padrões de Projeto Um padrão de projeto nomeia e explica sistematicamente uma solução geral para um problema recorrente em sistemas OO. O padrão de projeto descreve o problema, a solução, quando aplicar a solução e as conseqüências de sua aplicação. A solução é uma estrutura de classes e objetos que resolve o problema. Padrões de projeto capturam a essência de uma idéia que projetistas experientes usaram diversas vezes para resolver um problema comum, abstraindo-se da situação específica. Por isso, os padrões de projeto são independentes da aplicação e tem que ser mapeados para uma situação específica antes de serem implementados. Framework para Jogos de Cartas O domínio dos jogos de cartas pode parecer simples à primeira vista, entretanto, é um domínio vasto e sua análise e generalização exige muita atenção com os detalhes sutis que poderiam passar despercebidos. A generalização desse domínio em um framework tem o objetivo didático de fixar os aspectos referentes ao desenvolvimento e utilização de frameworks. Análise do Domínio Analisando várias aplicações no domínio de jogos de cartas pode-se chegar a três entidades básicas: Carta comum a todos as aplicações desse domínio, essa é a entidade básica de qualquer jogo de cartas. Baralho todas as cartas de um jogo fazem parte de um baralho.

7 Conjunto de cartas a ação mais comum de um jogador num jogo de cartas é mover uma carta de um conjunto de cartas para outro. A quantidade de entidades desses tipos, a interação entre essas entidades e a interação do usuário com essas entidades varia dependendo do jogo. Projeto Procurou-se modelar o framework tendo em vista a generalidade, extensibilidade e interoperabilidade. O projeto é genérico e pode ser usado como base para o desenvolvimento de frameworks para jogos de cartas em qualquer linguagem e para qualquer plataforma. Hierarquia de Classes Card Cartas são o elemento básico de todos os jogos de cartas. Cada jogo possui diferentes tipos de carta e por isso a classe Card é um hot spot. FourSuitCard é uma implementação concreta de Card e refere-se à carta comum (com um número e um naipe) usada na maioria dos jogos. SetOfCards é simplesmente um conjunto de cartas. PileOfCards representa uma das diferentes pilhas encontradas nos jogos, como, por exemplo, a mão de um jogador ou a pilha de compra.

8 Model AttributedModel Card * SetOfCard FourSuitCard HOT SPOT PileOfCards setaddcondition() setremovecondition() Figura 2. Hierarquia de modelos presente no framework de jogos de cartas. PileOfCards PileOfCards chainremoval : boolean defaultcardorientation : boolean LAYOUT_TYPE_HORIZONTAL : int = 2 LAYOUT_TYPE_PILE : int = 0 LAYOUT_TYPE_VERTICAL : int = 1 addcardtestingcondition() enableconditions() ischainremovalon() isdragenabled() removeandsavetestingcondition() removecardtestingcondition() restoresavedcard() setaddcondition() setdrag() setremovecondition() PileOfCards implementa um monte qualquer dentro de um jogo de cartas. Esse monte pode ter vários layouts diferentes, como uma carta sobre a outra, uma ao lado da outra ou em cascata vertical. É essa classe que contém as regras do jogo, dizendo qual carta pode ser movida para qual lugar através de condições de entrada e saída de cartas. Essas condições são implementadas através das classes descritas a seguir e seus métodos são invocados sempre que o usuário tenta remover uma carta de

9 algum PileOfCards e quando ele tenta adiciona-la em outro. Essa classe define também se a remoção de uma carta do meio do baralho (utilizado em geral com o layout cascata) deve efetuar a remoção de todas as cartas a partir dessa (para mover uma coluna no jogo Paciência, por exemplo). Além disso, o método removeandsavetestingcondition() permite a remoção de uma carta ou de um conjunto de cartas mantendo uma referência à lista removida. Dessa forma as visões são atualizadas, excluindo as cartas removidas, mas um simples método (restoresavedcard()) faz com que as cartas sejam adicionadas novamente no monte na posição em que estavam antes da remoção. Isso facilita, por exemplo, a implementação de drag and drop, pois permite anular o drag caso o destino não aceite as cartas sendo movidas. As condições para entrada e saída de cartas implementam o padrão de projeto Strategy, permitindo que um algoritmo seja trocado a qualquer hora, porém sem colocar a implementação de cada tipo de algoritmo dentro da classe que usa ele. As classes AddCardCondition e RemoveCardCondition possuem métodos que devem retornar verdadeiro se a alteração (inclusão ou remoção de carta) for aceita e falso caso contrário. Os parâmetros passados para essas funções contêm informações que possibilitam a implementação de uma grande quantidade de algoritmos, sendo que a maioria deles utilizará apenas um subconjunto dos dados fornecidos. Os parâmetros fornecidos diferem entre AddCardCondition e RemoveCardCondition. AddCardCondition testadd() testadd() * HOT SPOT SpecificSuitAddCondition InOrderAddCondition CompositeAddCondition

10 Figura 3. Hierarquia de condições para adição de cartas em um PileOfCards. RemoveCardCondition testremove() testremove() * HOT SPOT OnlyLastCardsRemoveCondition TrueRemoveCondition CompositeRemoveCondition Figura 4. Hierarquia de condições para remoção de cartas em um PileOfCards. Criação de um Jogo A criação do jogo consiste em especializar a classe CardGame implementando os seguintes métodos abstratos: createpiles inicializar as pilhas do jogos, que devem estar previamente definidas. createplayers inicializar os atributos dos jogadores. distributecards criar o baralho a ser usado no jogo e o distribuidor de cartas. Distribuir as cartas. createinterface criar a interface para o jogo definido, painéis necessários, layouts, etc. Figura 5. Classe Básica de um jogo de cartas.

11 Testes Aplicações teste foram desenvolvidas para avaliar a capacidade do framework de facilitar o desenvolvimento de aplicações no domínio proposto. Além de validar o framework para jogos de cartas, as aplicações teste serviram também para validar o framework para interface gráfica. FreeCell O FreeCell é um jogo de cartas simples e muito popular. O objetivo do jogo é ordenar as cartas em quatro pilhas, uma para cada naipe. Existem três tipos de pilhas de carta nesse jogo: Destinos existem quatro pilhas desse tipo, uma para cada naipe. Todas as cartas devem estar em um destino para que o jogo acabe. o Condição de entrada as cartas devem ser adicionadas em ordem crescente e todas as cartas de um destino devem ser do mesmo naipe. o Condição de saída depois de adicionada em um destino, uma carta não pode ser retirada. Espaços essas pilhas são usadas para armazenar temporariamente uma carta durante o jogo. O número de espaços é configurável. o Condição de entrada qualquer carta pode ser adicionada em um espaço, independentemente de seu naipe ou número. Entretanto, cada espaço comporta no máximo uma carta. o Condição de saída uma carta sempre pode ser retirada de um espaço. Pilhas de jogo essas pilhas são usadas para movimentar as cartas durante o jogo. O número de pilhas desse tipo é configurável. o Condição de entrada as cartas devem ser adicionadas em ordem decrescente. A carta adicionada deve ser de cor diferente da última carta na pilha.

12 o Condição de saída somente a última carta da pilha pode ser retirada. Inicialmente, as cartas do baralho são distribuídas de forma aleatória entra as pilhas de jogo. Espaços Destinos Pilhas de jogo Figura 6. Screenshot do jogo FreeCell. Conclusões A estrutura de classes de um framework, bem como o modelo de colaboração entre essas classes, é bastante complexa. Projetar e implementar essa estrutura exige um alto nível de conhecimento das técnicas e ferramentas para projeto e desenvolvimento OO. Por essa razão, desenvolver um framework abrangente e extensível é um ótimo exercício dessas técnicas. Além disso, o desenvolvimento de aplicações sob um framework explicita a

13 importância do reuso. Um framework bem abrangente facilita muito o desenvolvimento de aplicações no domínio tratado. Entretanto, o desenvolvimento de um framework exige um esforço bem maior do que o desprendido para criar uma aplicação isolada. Uma análise detalhada do domínio alvo e da relação custo beneficio do desenvolvimento de um framework deve fazer parte da análise de requisitos de um projeto qualquer que tencione criar um framework para um domínio específico. Os padrões de projeto, utilizados durante a modelagem e implementação dos frameworks descritos nesse documento, são referências importantíssimas no desenvolvimento de aplicações OO. Além de facilitar o projeto e implementação, os padrões são uma boa fonte de documentação para a interação entre classes de um subsistema de uma aplicação OO qualquer. Referências Bibliográficas [DOU 99] DOUGLASS, B. P. Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns. [s.l.]: Addison Weasley, [FAY 99] FAYAD, M. et al. Building Application Frameworks. New York: Wiley, [GAM 99] GAMMA, E. Design patterns: elements of reusable object-oriented software. Reading: Addison Wesley, [LEW 95] LEWIS, T. et al. Object-oriented application frameworks. Greenwich: Manning, [MEY 97] MEYER, B. Object-oriented software construction. 2 ed. [s.l.]: Prentice Hall PTR, [SIL 98] SILVA, R. P.; PRICE, R. T. A busca de generalidade, flexibilidade e extensibilidade no processo de desenvolvimento de frameworks orientados a objetos. In: WORKSHOP IBEROAMERICANO DE ENGENHARIA DE REQUISITOS E AMBIENTES DE SOFTWARE,

14 (IDEAS), 1998, Torres. Anais... Porto Alegre: Instituto de Informática / UFRGS, v.2, p [SIL 00] SILVA, R. P. Suporte ao desenvolvimento e uso de frameworks e componentes. Porto Alegre: Instituto de Informática / UFRGS, 2000.

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas

Leia mais

Tópicos Avançados em Engenharia de Software

Tópicos Avançados em Engenharia de Software Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Programa de Pós-Graduação em Ciência da Computação Tópicos Avançados em Engenharia de Software Padrões e Frameworks (Aula 01-

Leia mais

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Padrões de Projeto Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos

Leia mais

Figura 5 - Workflow para a Fase de Projeto

Figura 5 - Workflow para a Fase de Projeto 5. Fase de Projeto A Fase de Projeto caracteriza-se por transformar as informações modeladas durante a Fase de Análise em estruturas arquiteturais de projeto com o objetivo de viabilizar a implementação

Leia mais

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

A construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da

A construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da 6 Conclusões No âmbito do framework teórico da Engenharia Semiótica, este trabalho faz parte de um esforço conjunto para desenvolver ferramentas epistêmicas que apóiem a reflexão do designer durante o

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

Resumo de TCC: MAGIC: Um framework para jogos de cartas. Ademir Coelho

Resumo de TCC: MAGIC: Um framework para jogos de cartas.  Ademir Coelho Resumo de TCC: MAGIC: Um framework para jogos de cartas http://www.lisha.ufsc.br/~robert/tcc/relatorio.pdf Autores: André Luís Knabben Thiago Robert Orientador: Professor Doutor Ricardo Pereira e Silva

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

Análise e Projeto Orientados a Objeto

Análise e Projeto Orientados a Objeto Análise e Projeto Orientados a Objeto Objetivos Comparar e contrastar Análise e Projeto Definir O que vamos fazer na disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente

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

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.

Leia mais

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004 Introdução ao RUP Rational Unified Process por Denize Terra Pimenta Outubro/2004 1 Contexto Não é suficiente apenas a presença de desenvolvedores altamente treinados: Precisamos de uma linguagem para a

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

Padrões. Projeto (Design) de Software

Padrões. Projeto (Design) de Software Padrões Projeto de Softwares Categorias de Padrões Processo de Tradução de modelos de análise (isentos de tecnologia, lógicos) para modelos de projeto (development-ready, físicos) Qual a Tecnologia Alvo

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 11 APRESENTAÇÃO Nesta aula serão discutidos os conceitos relacionados

Leia mais

Uma visão mais clara da UML Sumário

Uma visão mais clara da UML Sumário Uma visão mais clara da UML Sumário 1 Método...2 2 Análise de requisitos...2 2.1 Diagramas de Casos de Uso...3 2.1.1 Ator...3 2.1.2 Casos de Uso (Use Case)...4 2.1.3 Cenário...4 2.1.4 Relacionamentos...6

Leia mais

1/26/2009. Baseadas em http://www.voelter.de/services/mdsdtutorial.html. Experiência pessoal/profissional/acadêmica

1/26/2009. Baseadas em http://www.voelter.de/services/mdsdtutorial.html. Experiência pessoal/profissional/acadêmica Baseadas em http://www.voelter.de/services/mdsdtutorial.html Experiência pessoal/profissional/acadêmica 1 Metamodelo UML Meu Metamodelo Meu processo de negócios Meu processo de negócios Stereotypes Perfis

Leia mais

UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB

UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB Adriano Schulter Moenster 1, Tiago Piperno Bonetti 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil adrmoenster@gmail.com,

Leia mais

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

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

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

Curso - Padrões de Projeto Módulo 1: Introdução

Curso - Padrões de Projeto Módulo 1: Introdução Curso - Padrões de Projeto Módulo 1: Introdução Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

Leia mais

Capítulo 1 - Introdução 14

Capítulo 1 - Introdução 14 1 Introdução Em seu livro Pressman [22] define processo de software como um arcabouço para as tarefas que são necessárias para construir software de alta qualidade. Assim, é-se levado a inferir que o sucesso

Leia mais

4 Ferramenta de Ajuste Elástico

4 Ferramenta de Ajuste Elástico 4 Ferramenta de Ajuste Elástico A ferramenta de ajuste foi desenvolvida com o objetivo de dar suporte às necessidades de ajuste das aplicações descritas na Seção 1.1. A Figura 44 ilustra o contexto de

Leia mais

Prof. Vitório Bruno Mazzola INE/CTC/UFSC 1. INTRODUÇÃO

Prof. Vitório Bruno Mazzola INE/CTC/UFSC 1. INTRODUÇÃO Capítulo 6 ENGENHARIA DE SOFTWARE CONCEITOS BÁSICOS Prof. Vitório Bruno Mazzola INE/CTC/UFSC 1. INTRODUÇÃO Nos anos 40, quando se iniciou a evolução dos sistemas computadorizados, grande parte dos esforços,

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

Leia mais

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias Engenharia de Software Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias Sistemas Computacionais Automatiza ou apóia a realização de atividades humanas (processamento da informação)

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

Sistema de Memorandos On-Line. (Projeto Arquitetural)

Sistema de Memorandos On-Line. (Projeto Arquitetural) Universidade Federal de Campina Grande Pb Departamento de Sistemas e Computação Disciplina: Projeto em Computação I 2111185 Professora: Francilene Procópio Garcia, P.Sc Alunos: Arnaldo de Sena Santos;

Leia mais

Abordagem de Frameworks e Design Patterns para desenvolvimento de Aplicações Approach Frameworks and Design Patterns for Application Development

Abordagem de Frameworks e Design Patterns para desenvolvimento de Aplicações Approach Frameworks and Design Patterns for Application Development Abordagem de Frameworks e Design Patterns para desenvolvimento de Aplicações Approach Frameworks and Design Patterns for Application Development Demetrio da Silva Passos 1 Augusto Nogueira Zadra 2 Resumo:

Leia mais

Thânia Clair de Souza Vargas. Suporte à Edição de UML 2 no Ambiente SEA

Thânia Clair de Souza Vargas. Suporte à Edição de UML 2 no Ambiente SEA Thânia Clair de Souza Vargas Suporte à Edição de UML 2 no Ambiente SEA Florianópolis - SC 2008 Thânia Clair de Souza Vargas Suporte à Edição de UML 2 no Ambiente SEA Orientador: Ricardo Pereira e Silva

Leia mais

Curso de Especialização em Tecnologia da Informação. Engenharia de Software

Curso de Especialização em Tecnologia da Informação. Engenharia de Software Universidade Federal de Pernambuco Departamento de Informática Curso de Especialização em Tecnologia da Informação Engenharia de Software Questionário para Discussão e Reflexão Aluna: Danielle Novaes de

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

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

Banco de Dados Orientado a Objetos

Banco de Dados Orientado a Objetos Banco de Dados Orientado a Objetos MODELAGEM, ANÁLISE, PROJETO e CLASSIFICAÇÃO Interação combinando lógica, através de objetos que contém os dados. Estes divididos conforme seus tipos e métodos (classe),

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

Desenvolvimento de Software requer Processo e Gestão

Desenvolvimento de Software requer Processo e Gestão Desenvolvimento de Software requer Processo e Gestão Antonio Mendes da Silva Filho * If Edison had a needle to find in a haystack, he would proceed at once with the diligence of the bee to examine straw

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

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

PROFESSOR: CRISTIANO MARIOTTI

PROFESSOR: CRISTIANO MARIOTTI PROFESSOR: CRISTIANO MARIOTTI Conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software; Considerado um dos principais mecanismos para se obter software de qualidade

Leia mais

Levantamento, Análise e Gestão Requisitos. Aula 06

Levantamento, Análise e Gestão Requisitos. Aula 06 Levantamento, Análise e Gestão Requisitos Aula 06 Agenda Técnicas de Levantamento de Requisitos: Entrevista Workshop, Brainstorming, Storyboarding e Roleplaying Prototipação JAD Joint Application Design

Leia mais

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

Unidade II MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Prof Márcio Bueno poonoite@marciobueno.com Ementa Levar o aluno a discutir, exercitar e consolidar o uso de técnicas de programação que tenham um impacto considerável sobre

Leia mais

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr Processos de Desenvolvimento de Software Objetivos Descrever o processo de desenvolvimento de software Orientado a Objetos (Object Oriented Software Development - OOSD) Descrever como a modelagem suporta

Leia mais

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Pessoal, fiz uma coletânea das questões mais recentes de concursos públicos de TODO o Brasil de várias bancas diferentes sobre os assuntos Orientação

Leia mais

Objetivos desta Aula. Introdução a Engenharia de Software Capítulo 1. Sumário. Engenharia de Software. Custos do Software. Custos do Software

Objetivos desta Aula. Introdução a Engenharia de Software Capítulo 1. Sumário. Engenharia de Software. Custos do Software. Custos do Software Objetivos desta Aula Introdução a Engenharia de Software Capítulo 1 Introduzir a engenharia de e explicar a sua importância Responder uma série de perguntas sobre engenharia de Introduzir questões éticas

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

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços 1 Introdução Nos últimos anos, houve um aumento notável de demanda por plataformas com suporte a diferentes mídias. Aplicações manipulando simultaneamente texto, vídeo e áudio são cada vez mais comuns.

Leia mais

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

Leia mais

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software Introdução à Engenharia de Gidevaldo Novais (gidevaldo.vic@ftc.br) Introdução à Engenharia de Objetivo Depois desta aula você terá uma noção geral do que é a engenharia de software e dos seus objetivos

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Slide 05 Modelos de Processos Maurício Archanjo Nunes Coelho mauricio.coelho@ifsudestemg.edu.br Instituto Federal Análise de Sistemas Por que surgiu a Engenharia de Software? Resposta

Leia mais

Fatores de Qualidade de Software

Fatores de Qualidade de Software Programação Orientada por Objetos Programação Orientada por Objetos Kecia Aline Marques Ferreira Princípios, objetivos e filosofia 2007 Kecia A. M. Ferreira POO 1 Kecia A. M. Ferreira POO 2 Princípios,

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

Análise e Projeto Orientados a Objeto

Análise e Projeto Orientados a Objeto Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Análise, Projeto, e Processo Baseado em Craig Larman 1 Aplicando UML, Padrões e APOO Objetivo Desenvolver habilidades práticas na utilização

Leia mais

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP Conceitos RUP RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational), é um processo de Engenharia de software criado pela Rational Software Corporation(a qual foi incorporada pela

Leia mais

EDV (Estruturas de Dados com Vetores) um protótipo de aplicativo Educacional

EDV (Estruturas de Dados com Vetores) um protótipo de aplicativo Educacional EDV (Estruturas de Dados com Vetores) um protótipo de aplicativo Educacional Luis Arturo Pérez Lozada 1 1 Centro de Matemática, Computação e Cognição Universidade Federal do ABC CEP 09210-580 Santo André

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos e Metodologias para Desenvolvimento de Software Cascata, Prototipação, Espiral e RUP Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 14 Revisão http://www.ic.uff.br/~bianca/engsoft2/ Aula 14-07/05/2006 1 Processo de Software Qual é a diferença entre uma atividade de arcabouço e uma atividade guarda chuva?

Leia mais

Desenvolvimento estruturado versus orientado a objetos.

Desenvolvimento estruturado versus orientado a objetos. Desenvolvimento estruturado versus orientado a objetos. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Objetivos Identificar diferenças entre: Desenvolvimento

Leia mais

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares André Assis Lôbo de Oliveira Francisco Guerra Fernandes Júnior Faculdades Alves Faria, 74445190, Brasil andrelobin@hotmail.com,

Leia mais

PROJECT FRAMEWORK MODEL PMF: PARA O DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO ORIENTADOS A OBJETOS Leandro Doutor Branquinho Sérgio Teixeira de

PROJECT FRAMEWORK MODEL PMF: PARA O DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO ORIENTADOS A OBJETOS Leandro Doutor Branquinho Sérgio Teixeira de PROJECT FRAMEWORK MODEL PMF: PARA O DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO ORIENTADOS A OBJETOS Leandro Doutor Branquinho Sérgio Teixeira de Carvalho Leandro D. Branquinho e Sérgio Teixeira de Carvalho

Leia mais

Ontologias na Computação

Ontologias na Computação Ontologias na Computação Claudio Akio Namikata, Henrique Sarmento, Marcio Valença Ramos cjnamikata90@hotmail.com, rique-182@hotmail.com, maxtr3m3@hotmail.com Resumo: Este trabalho tem como objetivo apresentar

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

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

Requisitos de Software

Requisitos de Software Requisitos de Software (Cap 6 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Requisitos funcionais e não funcionais

Leia mais

Metodologia de Desenvolvimento de Sistemas

Metodologia de Desenvolvimento de Sistemas Metodologia de Desenvolvimento de Sistemas Aula 1 Ementa Fases do Ciclo de Vida do Desenvolvimento de Software, apresentando como os métodos, ferramentas e procedimentos da engenharia de software, podem

Leia mais

Palavras-chave: Experiência. Dificuldade. Programação. Projeto. Colaboração.

Palavras-chave: Experiência. Dificuldade. Programação. Projeto. Colaboração. Gestão de projetos técnicos de baixa complexidade: a relação entre projeto, gestão e desenvolvimento do site SETIS Bruno Bergmann bernemano@gmail.com Felipe Valtl de Mello valtlfelipe@gmail.com Gabriel

Leia mais

MVC e Camadas - Fragmental Bliki

MVC e Camadas - Fragmental Bliki 1 de 5 20-03-2012 18:32 MVC e Camadas From Fragmental Bliki Conteúdo 1 Introdução 2 Camadas: Separação Entre Componentes 3 MVC: Interação Entre Componentes 4 Conclusão 5 Referências Introdução A Arquitetura

Leia mais

Motivação. O Uso de Jogos. Problems & Programmers (PnP) Visão Geral do PnP. Exemplo. Jogos para Simulação em Engenharia de Software

Motivação. O Uso de Jogos. Problems & Programmers (PnP) Visão Geral do PnP. Exemplo. Jogos para Simulação em Engenharia de Software Reuso de Software Aula 12 Motivação Jogos para Simulação em Engenharia de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 16 Abril 2012 Ensino tradicional de Engenharia

Leia mais

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. - DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho

Leia mais

Analista de Negócio Pleno

Analista de Negócio Pleno Analista de Negócio Pleno Formação: Nível Superior na área de informática ou áreas afins. Desejável Pós Graduação em Gestão de Projetos, Tecnologia de Informação ou Negócios. Atividades: Realizar atividades

Leia mais

Customização de Software como um Meio para o Desenvolvimento de Sistemas de Software

Customização de Software como um Meio para o Desenvolvimento de Sistemas de Software Customização de Software como um Meio para o Desenvolvimento de Sistemas de Software Thiago Bianchi 1 Elisa Yumi Nakagawa 2 1 IBM - International Business Machines 04753-080, São Paulo, SP, Brazil tbianchi@br.ibm.com

Leia mais

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML. MODELAGEM ORIENTADA A OBJETOS APLICADA À ANÁLISE E AO PROJETO DE SISTEMA DE VENDAS ALTEMIR FERNANDES DE ARAÚJO Discente da AEMS Faculdades Integradas de Três Lagoas ANDRE LUIZ DA CUNHA DIAS Discente da

Leia mais

Práticas de. Engenharia de Software. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.

Práticas de. Engenharia de Software. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu. "Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE." Engenharia de Software Práticas de Engenharia de Software Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha

Leia mais

Faculdades Adamantinenses Integradas (FAI) www.fai.com.br

Faculdades Adamantinenses Integradas (FAI) www.fai.com.br Faculdades Adamantinenses Integradas (FAI) www.fai.com.br OLIVEIRA, Eliane Vendramini; AFFONSO, Elaine Parra. Sistema baseado em componente Java para monitoramento de acesso a internet. Omnia Exatas, v.4,

Leia mais

QUESTÕES PROVA 2 (28 a 44)

QUESTÕES PROVA 2 (28 a 44) QUESTÕES PROVA 2 (28 a 44) 28) A orientação a objetos é uma forma abstrata de pensar um problema utilizando-se conceitos do mundo real e não, apenas, conceitos computacionais. Nessa perspectiva, a adoção

Leia mais

Técnicas de Programação Avançada TCC-00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo

Técnicas de Programação Avançada TCC-00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo Técnicas de Programação Avançada TCC-00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo:Introdução a Frameworks para Aplicações Baseado em Building Application Frameworks Mohamed E. Fayad

Leia mais

Padrões de Desenho (Design Patterns)

Padrões de Desenho (Design Patterns) Padrões de Desenho (Design Patterns) O que são padrões de desenho Porque são úteis Conhecer alguns padrões 1 Padrões (Patterns) Design Patterns Explained: A New Perspective on Object-Oriented Design, Alan

Leia mais

Processos de Software

Processos de Software Processos de Software Prof. Márcio Lopes Cornélio Slides originais elaborados por Ian Sommerville O autor permite o uso e a modificação dos slides para fins didáticos O processo de Um conjunto estruturado

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

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

9º ENTEC Encontro de Tecnologia: 23 a 28 de novembro de 2015

9º ENTEC Encontro de Tecnologia: 23 a 28 de novembro de 2015 SOFTWARE DE CONTROLE DE ARMAMENTO EM QUARTEL MILITAR Kahic Ribeiro de Almeida Rocha 1 ; Montgomery Scofield Ferreira Furletti; Luiz Fernando Ribeiro de Paiva¹ ¹Universidade de Uberaba - UNIUBE, Uberaba

Leia mais

TechProf Documento de Arquitetura

TechProf Documento de Arquitetura TechProf Projeto SuporteProf Versão 1.0 15 de junho de 2016 Responsáveis: Adelson Santos de Melo Filho, Edvaldo Nicolau da Silva, Moisés Luis da Silva Histórico de Revisões Data Versão Descrição Autor

Leia mais

Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação

Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação Use of UML modeling in a management system for a food franchising Richard B. N. Vital, Tatiane M. Vital.

Leia mais

4 Desenvolvimento da ferramenta

4 Desenvolvimento da ferramenta direcionados por comportamento 38 4 Desenvolvimento da ferramenta Visando facilitar a tarefa de documentar requisitos funcionais e de gerar testes automáticos em uma única ferramenta para proporcionar

Leia mais

SISTEMAS DE INFORMAÇÃO GERENCIAIS

SISTEMAS DE INFORMAÇÃO GERENCIAIS SISTEMAS DE INFORMAÇÃO GERENCIAIS Aluno: Luiza Cavalcanti Marques Orientador: Silvio Hamacher Introdução A modelagem e a utilização de bancos de dados em atividades gerenciais têm sofrido um aumento significativo

Leia mais

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS Aluno: Ricardo Gomes Leal Costa Orientadora: Noemi de la Rocque Rodriguez Introdução A biblioteca DALua [1], fruto do projeto anterior, tem por objetivo oferecer

Leia mais

METODOLOGIAS ÁGEIS - SCRUM -

METODOLOGIAS ÁGEIS - SCRUM - METODOLOGIAS ÁGEIS - SCRUM - André Roberto Ortoncelli ar_ortoncelli@hotmail.com 2010 Organização da Apresentação Introdução as Metodologias Ágeis Scrum Conceitos Básicos Artefatos Papeis Cerimônias Estórias

Leia mais

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

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

Leia mais

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

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

Padrões de Projeto de Software Orientado a Objetos

Padrões de Projeto de Software Orientado a Objetos Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho

Leia mais