PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE
|
|
|
- Isadora Sacramento Tomé
- 10 Há anos
- Visualizações:
Transcrição
1 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 seu desenvolvimento seja de maneira rápida e eficaz, os padrões de projeto e os frameworks surgem neste cenário como grandes aliados provendo subsídios para que o desenvolvimento de software possa ocorrer dentro deste objetivo esperado. Neste artigo, os conceitos relacionados aos padrões de projetos e de framework serão discutidos de maneira a prover um entendimento global deste paradigma. Palavras-chave: Framework, Desenvolvimento de Software, Padrões de Projeto 1. INTRODUÇÃO A reutilização do software é um dos temas que tem recebido maior destaque no meio especializado cujo objetivo é reaproveitar em projetos futuros grande parte dos métodos e classes produzidas bem como as informações associadas ao mesmo, de forma a diminuir o custo e aumentar a produtividade no desenvolvimento e na própria evolução do produto. Desta maneira a idéia básica deste paradigma é de que componentes de software sejam projetados e implementados de forma que possam ser reusados em muitos sistemas diferentes [Gamm95]. Nesta perspectiva os padrões de projeto e os frameworks têm sido pesquisados na última década como uma forma promissora de reuso, não 1 Mestre em Modelagem Matemática Computacional pelo CEFET-MG. Especialista em Engenharia de Software pela PUC-MG. Graduação em Ciência da Computação pela UNIPAC-Barbacena. Analista de Sistemas da PRODEMGE. [email protected]
2 2 somente de código mas também de projeto, análise, arquitetura e processo de desenvolvimento. Através da utilização de padrões e framework é possível encontrar soluções para diferentes tipos de problemas que ocorrem ao longo do processo de desenvolvimento de software. Tais soluções, podem ser reusadas por outros desenvolvedores ao confrontarem-se com problemas similares aos problemas já resolvidos e documentados. As seções seguintes destinam-se a dar uma visão geral sobre padrões de projeto e frameworks discutindo de forma sucinta os conceitos relacionados a este paradigma e a grande influência deles no desenvolvimento de software de qualidade. Desta forma tais seções estão organizadas da seguinte maneira. Na seção 2 são apresentadas as definições relativas aos padrões. Na seção 3 é apresentada a definição de frameworks, 4 traz alguns conceitos interessantes relacionados aos padrões de projetos, e por fim a seção 5 traz uma conclusão a respeito do trabalho desenvolvido. 2. PADRÕES 2.1 Conceito A origem dos padrões de projeto surge ao final da década de 70 através dos livros escritos por [Alex77], livros estes que descrevem seu método para que a documentação de padrões possa ser realizada. Apesar deste trabalho estar ligado diretamente à arquitetura, o mesmo possui uma fundamentação básica que pode ser abstraída e perfeitamente aplicada à área de software. Porém este conceito fica adormecido por um período e ressurge em meados da década de 80 em um Workshop sobre Especificação e Projeto para Programação Orientada a Objetos [Beck87], onde neste workshop é apresentado uma Linguagem de Padrões para projetar janelas em Smaltalk. A partir deste momento muitos artigos, revistas e livros surgem com o intuito de abordar de forma detalhada este tema. Tais trabalhos passam a descrever uma série de soluções para problemas que ocorrem frequentemente no
3 3 processo de desenvolvimento de software e que podem ser utilizados por outros desenvolvimentos, de forma a simplificar o desenvolvimento de novas aplicações. [Busc96] descreve um padrão como sendo uma solução para um problema que ocorre com freqüência durante o desenvolvimento de software, considerando o mesmo como sendo um par problema/solução. Desta forma projetistas de software que estejam familiarizados com determinados padrões podem aplicá-los diretamente a problemas de projeto, sem ter que redesenhar uma solução que já existe. 2.2 Componentes de um padrão Apesar dos padrões de software estarem definidos em categorias diferentes, a descrição dos padrões, independentemente da categoria na qual estejam inseridos, segue um linha comum onde são definidos os componentes essenciais para que um padrão possa ser identificado. Abaixo estes componentes são descritos [Appe97]: Name indica o nome do padrão, sendo que este deve ser o mais significativo possível, de maneira a referi-se ao padrão e ao conhecimento ou estrutura descritos por ele. Problem este parâmetro estabelece o problema a ser resolvido pelo padrão, descrevendo a intenção e objetivos do mesmo. Context estabelece as pré-condições dentro das quais o problema e sua solução costumam ocorrer e para as quais a solução é desejável, refletindo assim a aplicabilidade do padrão.
4 4 Forces descreve os impactos, influências e restrições relevantes para o problema a ser resolvido. Bem como se elas se interagem ou são conflitantes entre si e com os objetivos a serem encontrados. Solution descreve os relacionamentos estáticos e a regras dinâmicas descrevendo como obter o resultado desejado. Na verdade fornece instruções que descrevem como o problema é resolvido, podendo utilizar para isto texto, diagramas e figuras. Exemples descreve uma ou mais aplicações do padrão, ilustrando desta maneira como o padrão é aplicado e transforma um determinado contexto em um contexto final. Resulting Context denota o retrato do sistema, estado ou configuração, após a aplicação do padrão, ou seja, descreve as pós-condições e efeitos colaterais do padrão. Rationale descreve uma explicação das regras ou passos do padrão que explicam como e porque ele trata suas influências contrárias, definidas em Forces para alcançar os objetivos, princípios e filosofia propostos. Related Patterns: relata os relacionamentos estáticos e dinâmicos desse padrão com outros dentro da mesma linguagem ou sistemas de padrões Know Users: relata as ocorrências conhecidas do padrão e sua aplicação em sistemas existentes, ajudando desta maneira a validar o padrão, verificando assim se o mesmo é realmente uma solução provada para um problema recorrente.
5 5 3. FRAMEWORK 3.1 Conceito Framework ou arcabouço é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica, um framework pode atingir uma funcionalidade específica durante a programação de uma aplicação, ao contrário das bibliotecas é o framework quem dita o fluxo de controle da aplicação, chamado de Inversão de Controle(UFCG,2009). O framework atua onde há funcionalidades em comum a várias aplicações, porém para isso as aplicações devem ter algo razoavelmente grande em comum para que o mesmo possa atingir á várias aplicações como mostra a figura abaixo: 3.2 Características O framework por ser criado a partir de um conjunto de classes possui características peculiares para cada aplicação com um proposito em comum, as principais características são: Deve ser reusavel, possibilitando seu uso para varias outros métodos e aplicações. Deve ser extensível, ele contém funcionalidades abstratas (sem implementação) que deve ser implementada. Deve ser de uso seguro, o desenvolvedor de aplicações não pode destruir o framework. Devem ser eficiente, devido a seu uso em muitas situações, algumas das quais poderão necessitar de eficiência Deve ser completo para endereçar o domínio do problema pretendido
6 6 4.APLICAÇÃO 4.1. Padrões de Projeto Um sistema de padrões na verdade não passa de um conjunto coeso de padrões co-relacionados que trabalham juntos com o intuito de apoiar a construção e evolução de arquiteturas completas. Além dos sistemas de padrões serem organizados em grupos de subgrupos relacionados em múltiplos níveis, a seguir abordaremos os principais tipos com seus principais padrões que são: Padrões de criação: abstraem o processo de criação de objetos a partir da instanciação de classes, exemplos: Abstract Factory:: Fornece uma interface para a criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas. Buillder: Ou seja de modo que o mesmo processo de construção possa criar diferentes representações Padrões estruturais: tratam da forma como classes e objetos estão organizados para a formação de estruturas maiores, exemplos: Adapter: Converte a interface de uma classe em outra interface esperada pelos clientes, permitindo que certas classes trabalhem em conjunto, pois de outra forma seria impossível por causa de suas interfaces incompatíveis. Bridge: Separa uma abstração da sua implementação, de modo que as duas possam variar independentemente. Padrões comportamentais: preocupam-se com algoritmos e a atribuição de responsabilidade entre objetos. Strategy: Define uma família de algoritmos, encapsula cada um deles e os faz intercambiáveis, permitindo que o algoritmo varie independentemente dos clientes que o utilizam.
7 7 Templlate Method: Define o esqueleto de um algoritmo em uma operação, postergando a definição de alguns passos para subclasses. Permite que as subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura Framework O framework por ser criado a partir de um conjunto de classes possui características peculiares para cada aplicação com um proposito em comum, as principais características são: Deve ser reusavel, possibilitando seu uso para varias outros métodos e aplicações. Deve ser extensível, ele contém funcionalidades abstratas (sem implementação) que deve ser implementada. Deve ser de uso seguro, o desenvolvedor de aplicações não pode destruir o framework. Deve ser eficiente, devido a seu uso em muitas situações, algumas das quais poderão necessitar de eficiência Deve ser completo para endereçar o domínio do problema pretendido Atualmente no mercado existem vários frameworks, prometendo facilitar o dia a dia dos desenvolvedores de software e tornar mais ágil e eficazes suas aplicações mas como vimos anteriormente não é nada fácil encontrar um framework que atenda e supre todas as necessidades das empresas. Apesar disto vamos ver alguns frameworks que se consolidam no mercado e de certa forma atende as necessidades da empresas que o adquiriram, são eles: Microsoft NET (mais comumente conhecido.net Framework) é uma iniciativa da Microsoft em que visa uma plataforma única para
8 8 desenvolvimento e execução de sistemas e aplicações. A plataforma.net se baseia em um dos principios utilizados na tecnologia Java (compiladores JIT), os programas desenvolvidos para ela são duplocompilados, ou seja são compilados duas vezes, uma na distribuição (gerando um código que é conhecido como "bytecodes") e outra na execução(wikipedia,2009). NEO é um framework web focado na produtividade. Seu desenvolvimento foi realizado para atender às necessidades dos programadores. Várias ideias foram utilizadas com o objetivo de facilitar a criação de sistemas. O NEO é um framework que possui seus códigos vísiveis e bem distribuídos. Sendo assim, podemos observar melhor seus relacionamentos e fluxos de mensagens internas (wikipedia,2009).. jcompany Developer Suite é um conjunto de elementos Java EE especialmente escrito para otimizar o esforço de criação e manutenção, que vão de sistemas de suporte a processos de negócio. Seu principal diferencial é a solução de produtividade completa para desenvolvimento corporativo em Java EE, cujo principal componente é um framework de integração, responsável por reutilizar, integrar e especializar dezenas de outros com base em bibliotecas open source (wikipedia,2009). 4.3 Diferenças entre Framework e Padrões de Projeto A diferença principal entre os Padrões de Projeto e os Frameworks é: Padrões de Projeto é mais abstrato não possuindo codificação diferentemente do framework, Framework pode conter vários Padrões de Projeto, mas o contrário nunca ocorrerá. Framework sempre terá um domínio de aplicação particular, enquanto Padrões de Projeto não ditam uma arquitetura de aplicação particular.
9 9 5. CONCLUSÃO Padrões e Frameworks são criados para auxiliar uma parte repetida de um determinado projeto de software, permitindo desta forma seu entendimento e aplicação em um contexto particular. Sendo assim eles fornecem aos projetistas e desenvolvedores de sistema uma ferramenta comum, facilitando a comunicação entre projetistas e desenvolvedores. Além de que, constituem uma base sólida de experiência para construção de software reutilizável, atendendo assim a um dos grandes objetivos atuais da engenharia de software. Padrões e Frameworks deixam explícito o conhecimento sobre a construção de softwares adquiridos ao longo dos anos por especialistas no assunto, permitindo assim que o processo de desenvolvimento de software possa ocorrer de forma mais reutilizável possível, sem que haja perdas neste processo. REFERÊNCIAS BIBLIOGRÁFICAS [Alex77]- Christopher Alexander et. al., A Pattern Language, Oxford University Press, New York, [Appe97]- Appleton, Brad. Patterns and Software: Essential Concepts and Terminology, disponível na WWW na URL: [Beck87]- Beck, Kent; Cunningham, Ward. Using Pattern Languages for Object-Oriented Programs, Technical Report nº CR-87-43, 1987, disponível na WWW na URL: [Busc96]- Buschmann, F. et at. A System of Patterns, Wiley, [Copl98]- James O. Coplien. Software Design Patterns: Common Questions and Answers. In Linda Rising, editor, The Patterns Handbook: Techniques, Strategies, and Applications, p Cambridge University Press, New York, January [Gamm95]-Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J. Design Patterns - Elements of Reusable Object-Oriented Software. Reading-MA, Addison-Wesley, 1995.
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
2 Diagrama de Caso de Uso
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 Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
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 [email protected], [email protected] Resumo.
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
Prototype, um Design Patterns de Criação
Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe
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?
Fábrica de Software 29/04/2015
Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se
Programação Orientada a Objetos. Padrões de Criação
Programação Orientada a Objetos Padrões de Criação Cristiano Lehrer, M.Sc. Objetivos Apresentar cada um dos 23 padrões clássicos descrevendo: O problema que solucionam. A solução. Diagramas UML (Unified
Padrões de Projeto. Prof. Jefersson Alex dos Santos ([email protected]) http://www.dcc.ufmg.br/~jefersson
Padrões de Projeto Prof. Jefersson Alex dos Santos ([email protected]) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos
UML - Unified Modeling Language
UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril
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,
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 [email protected] http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação
ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie
1 INTRODUÇÃO 1.1 ORGANIZAÇÃO E PROCESSOS A administração está diretamente ligada às organizações e aos processos existentes nas mesmas. Portanto, para a melhor compreensão da Administração e sua importância
Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:
1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que
Processos de Desenvolvimento de Software
Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e
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
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.: ([email protected]) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Padrões GoF. Leonardo Gresta Paulino Murta [email protected]
Padrões GoF Leonardo Gresta Paulino Murta [email protected] 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
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
UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite [email protected] (81 )9801-6619
Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite [email protected] (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o
Introdução à Engenharia de Software
Introdução à Engenharia de Software Professor: Rômulo César [email protected] www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia
Frameworks O que é um framework?
Frameworks Qual é o problema? Programar é difícil Onde está a maior dificuldade? "Interface design and functional factoring constitute the key intelectual content of software and is far more difficult
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-
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
)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR
6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,
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
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
Projeto de Sistemas I
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:[email protected] Requisitos: base para todo projeto, definindo o
Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)
Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo
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
Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA)
Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA) Apresentação O programa de Pós-graduação Lato Sensu em Engenharia de Software Orientada a Serviços
Requisitos de Software
Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais
J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha ([email protected])
Padrões de J930 Projeto Introdução Helder da Rocha ([email protected]) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas
UML Aspectos de projetos em Diagramas de classes
UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada
1Introdução Helder da Rocha ([email protected])
J930 Padrões Projeto de 1Introdução Helder da Rocha ([email protected]) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas
Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#
Linguagem de Programação 3 Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Prof. Mauro Lopes 1-31 35 Objetivos Nesta aula iremos apresentar a tecnologia.net, o ambiente de desenvolvimento
ENGENHARIA DE SOFTWARE I
ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [[email protected]] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis
Orientação à Objetos. Aécio Costa
Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual
UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas
UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar
Prof.ª Esp. Talita Pagani
Especialização em Engenharia de Software Prof.ª Esp. Talita Pagani [email protected] @talitapagani 21/02/2014 Design Patterns Aula 1 Prof.ª Esp. Talita Pagani 1 Informações gerais 1. Definição de Design
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
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
Modelo para Documento de. Especificação de Requisitos de Software
Modelo para Documento de Especificação de Requisitos de Software Prof. Dr. Juliano Lopes de Oliveira (Baseado na norma IEEE Std 830-1993 - Recommended Practice for Software Requirements Specifications)
SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária
SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA
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
Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva. [email protected]. Http://e-academy.com.br
Faculdade Pitágoras Engenharia de Software Prof.: Julio Cesar da Silva [email protected] Http://e-academy.com.br Evolução do Software (1950 1965) - O hardware sofreu contínuas mudanças - O
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
PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos
Análise e Projeto de Sistemas de Informação. Andrêza Leite [email protected]
Análise e Projeto de Sistemas de Informação Andrêza Leite [email protected] Roteiro Sistemas de Informação Ciclo de Desenvolvimento de SI Projeto Análise Estruturada Análise Orientada a Objetos Como
Engenharia de Software
Engenharia de Software O que é a engenharia de software É um conjunto integrado de métodos e ferramentas utilizadas para especificar, projetar, implementar e manter um sistema. Método É uma prescrição
Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc [email protected]
Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc [email protected] 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.
UNIVERSIDADE FEDERAL DE SANTA CATARINA
UNIVERSIDADE FEDERAL DE SANTA CATARINA CIÊNCIAS DA COMPUTAÇÃO MÁQUINAS DE COMITÊ APLICADAS À FILTRAGEM DE SPAM Monografia submetida à UNIVERSIDADE FEDERAL DE SANTA CATARINA para a obtenção do grau de BACHAREL
UNIVERSIDADE DE SÃO PAULO E S C O L A D E A R T E S, C I Ê N C I A S E H U M A N I D A D E
UNIVERSIDADE DE SÃO PAULO E S C O L A D E A R T E S, C I Ê N C I A S E H U M A N I D A D E Trabalho proposto pela disciplina de Orientado por Professor Dr. Fernando Coelho Mário Januário Filho 5365372
Universidade Paulista
Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen
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
Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate
Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil [email protected],
Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza
Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I Prof. MSc. Hugo Souza Como já vimos, os sistemas distribuídos são apresentados considerando um planejamento bem mais complexo relacionado aos
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
CURSO DE PROGRAMAÇÃO EM JAVA
CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro
02/10/2012. Padronização de interfaces. Referências
Referências Engenharia de Usabilidade Prof.: Clarindo Isaías Pereira da Silva e Pádua Contribuição: Cláudio Márcio de Souza Vicente Gestus Hix, D.; Hartson, H. R. Developing User Interfaces: ensuring usability
CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE
CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma
Eduardo Bezerra. Editora Campus/Elsevier
Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES
Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software
Introdução à Engenharia de Gidevaldo Novais ([email protected]) Introdução à Engenharia de Objetivo Depois desta aula você terá uma noção geral do que é a engenharia de software e dos seus objetivos
Análise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Apresentação da Disciplina Edirlei Soares de Lima Objetivos da Disciplina Apresentar e discutir técnicas avançadas de Análise e Projeto de
Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr
Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia
PLANOS DE CONTINGÊNCIAS
PLANOS DE CONTINGÊNCIAS ARAÚJO GOMES Capitão SC PMSC ARAÚJO GOMES [email protected] PLANO DE CONTINGÊNCIA O planejamento para emergências é complexo por suas características intrínsecas. Como
Orientação a Objetos
Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.
Uma Noção Intuitiva dos Padrões de Desenho de Software
1 1 Uma Noção Intuitiva dos Padrões de Desenho de Software Prof. Dr. Italo S. Vega [email protected] 5 de dezembro de 2001 São Paulo, SP 2 Agenda Motivação (5 min.) Padrões (20 min.) Exemplo (10 min.) Conclusões
Padrões de Software (Software Patterns)
Padrões de Software (Software Patterns) Cleidson de Souza - [email protected] Departamento de Informática Universidade Federal do Pará Agenda! Definição! Histórico! Motivação! Exemplo Estratégia MVC! Forma
Requisitos de Software
Requisitos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama [email protected] Slides originais elaborados por Ian Sommerville e adaptado pelos professores Márcio Cornélio,
Wilson Moraes Góes. Novatec
Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,
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
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
Governança de TI. ITIL v.2&3. parte 1
Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia [email protected] ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços
1 UML (UNIFIED MODELING LANGUAGE)
1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida
Pasteur Ottoni de Miranda Junior. Alguns Padrões de Projeto Gamma
Pasteur Ottoni de Miranda Junior Alguns Padrões de Projeto Gamma Padrões Gamma de Projeto(ou Gang-of-Four, gof) Os padrões gof foram publicados por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides
ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br [email protected]
ANÁLISE E PROJETO ORIENTADO A OBJETOS Isac Aguiar isacaguiar.com.br [email protected] Análise Descrição do problema a ser implementado Descrição dos objetos e classes que fazem parte do problema, Descrição
Requisitos. Sistemas de Informações
Requisitos Sistemas de Informações Definindo o Sucesso do Software Clientes satisfeitos Eles estão satisfeitos quando você: Atende às expectativas Entrega no prazo Entrega no orçamento O Sucesso começa
Semântica para Sharepoint. Busca semântica utilizando ontologias
Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...
USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE
USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE SUMÁRIO usando o izcode... 1 para gerar software rapidamente... 1 introdução... 2 o que é o izcode?... 2 Como funciona o izcode?... 2 os tipos diferentes
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
ARQUITETURA DE SOFTWARE
ARQUITETURA DE SOFTWARE Em seu livro, que constitui um referencial sobre o assunto, Shaw e Garlan discutem arquitetura de software da seguinte maneira: Desde quando o primeiro programa foi dividido em
Engenharia de Requisitos Estudo de Caso
Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este
MUDANÇAS NA ISO 9001: A VERSÃO 2015
MUDANÇAS NA ISO 9001: A VERSÃO 2015 Está em andamento o processo de revisão da Norma ISO 9001: 2015, que ao ser concluído resultará na mudança mais significativa já efetuada. A chamada família ISO 9000
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) [email protected] Everaldo Artur Grahl (FURB/DSC) [email protected] Resumo. Uma das grandes
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
UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2
UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem
Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos
Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton
4 O Workflow e a Máquina de Regras
4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu
ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA
ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do
FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios
FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. [email protected]
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes
