Transaction Scripts: Uma Forma mais Simples de Organizar Lógica de Domínio

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

Download "Transaction Scripts: Uma Forma mais Simples de Organizar Lógica de Domínio"

Transcrição

1 Roberto Perillo é bacharel em Ciência da Computação e está atualmente cursando mestrado no ITA, onde já concluiu o curso de especialização em Engenharia de Software. Trabalha com Java há mais de 5 anos, possui as certificações SCJP, SCWCD, SCJD e SCBCD, e é moderador no JavaRanch, onde participa ativamente dos fóruns. Já trabalhou com JEE em grandes empresas, como Avaya e IBM. Nesta última, foi co-fundador do time de inovação de ibm.com GWPS LA. Atualmente, trabalha na GSW Soluções Integradas como líder técnico de desenvolvimento OO e Senior Java Developer. Transaction Scripts: Uma Forma mais Simples de Organizar Lógica de Domínio Uma opção simples quando não é possível (ou necessário) utilizar um modelo de domínio Existem alguns padrões arquiteturais que objetivam organizar a lógica de domínio de aplicações, dois que se destacam são o Domain Model e o Transaction Script. O padrão Domain Model organiza a lógica de domínio através de um modelo de objetos rico e é indicado principalmente quando essa lógica é complexa. Entretanto, existem algumas situações nas quais um modelo de domínio não se aplica. Na maioria dessas situações, o padrão Transaction Script pode ser utilizado. Ele propõe uma abordagem mais procedural, mas que pode ser considerada mais adequada nesses casos. Neste artigo, o padrão Transaction Script é apresentado e é exemplificado como ele pode ser utilizado, e são ilustrados alguns benefícios que podem ser alcançados com a sua utilização. o excelente livro Patterns of Enterprise Application Architecture, Martin Fowler aborda alguns padrões de organização de lógica de domínio, sendo que os que mais se destacam por serem amplamente utilizados na indústria são o Domain Model e o Transaction Script. O Domain Model é uma excelente forma de organizar lógica de domínio, pois sugere uma estrutura que permite refletir efetivamente o modelo de domínio no código, utilizando assim todas as forças e benefícios que a orientação a objetos oferece. Consequentemente, o desenvolvimento se torna mais produtivo e o código fica mais fácil de manter e evoluir com o passar do tempo. O Domain Model é indicado principalmente quando a lógica de domínio é complexa. Entretanto, existem algumas situações em que o Domain Model não é o padrão mais indicado, como quando a lógica de domínio é simples, ou a equipe de desenvolvimento não possui a maturidade necessária em relação à orientação a objetos, por exemplo. Na maioria desses casos, o padrão Transaction Script, que é uma abordagem mais procedural, pode ser considerado o padrão mais apropriado. O objetivo deste artigo é introduzir o padrão Transaction Script como uma forma mais simples de se organizar lógica de domínio e está organizado da seguinte forma: primeiramente, é apresentada uma discussão sobre design orientado a objetos versus design procedural. 16

2 Em seguida, é apresentado o padrão Transaction Script, no qual são apresentadas considerações sobre organização em camadas da arquitetura de aplicações e uma breve discussão sobre quando o padrão Transaction Script pode ser o padrão de organização de lógica de domínio mais apropriado a ser aplicado. Logo após, é apresentado um exemplo de aplicação do padrão Transaction Script e é mostrado como um projeto que o utiliza normalmente é organizado. Em seguida, é apresentado um exemplo de como ele pode ser utilizado em uma aplicação real. E, finalmente, são apresentadas as considerações finais, finalizando o presente trabalho. Apresentação Negócios Persistência Base de Dados Figura 1. Organização da arquitetura tradicional de quatro camadas. Para Saber Mais Consulte o artigo Domain Model: Uma Forma Mais Eficiente de Construir Aplicações Enterprise, publicado na edição 42 da revista MundoJ, para ter uma visão mais detalhada sobre o padrão Domain Model. Design Orientado a Objetos Vs. Design Procedural Existem algumas formas de organizar a arquitetura de uma aplicação orientada a objetos, mas a indústria convergiu para a arquitetura em camadas. O grande benefício da organização em camadas é que cada camada pode ser projetada especificamente para cada interesse, promovendo assim um design mais coeso. A essência dessa organização é que elementos das camadas superiores comuniquem-se somente entre si ou que sejam auxiliados pelas camadas inferiores. As camadas inferiores não devem saber que as camadas superiores existem, para que haja mais flexibilidade e coesão e para que o acoplamento seja baixo. Em algumas situações, pode ser necessário que uma camada de nível inferior se comunique com uma camada de nível superior, por exemplo, em um cenário no qual clientes estão conectados a um servidor e a camada de domínio precisa comunicar a todos os clientes que os dados sendo exibidos foram alterados por um determinado cliente. Nesses casos, pode-se utilizar mecanismos de callback ou o padrão Observer. No excelente livro EJB 3 In Action, os autores abordam um estilo de arquitetura chamado arquitetura tradicional de quatro camadas, que é bastante conhecido entre designers de aplicações enterprise. As quatro camadas que compõem este estilo de arquitetura são: camada de apresentação, camada de negócios, camada de persistência e camada de banco de dados, como é mostrado na figura 1. A camada de apresentação é responsável por lidar com interesses de UI (User Interface), como exibir mensagens visuais para o usuário, habilitar ou desativar campos-texto, lidar com botões do tipo radio etc. Esta camada deve conter somente lógica de UI, e não propriamente de negócios, que deve se concentrar somente na camada de negócios (ou domínio). Essa camada representa o coração deste estilo de arquitetura e é responsável por concentrar todas as regras de negócio implementadas pela aplicação. Esta camada não recupera ou persiste informações no banco de dados; ao invés disso, todas as operações de banco de dados são intermediadas pela camada de persistência, que é uma abstração orientada a objetos sobre a camada de banco de dados. Esta camada não deve conter regras de negócio, e deve burramente obedecer a todas as requisições da camada de negócio. Assim, a camada de negócios/domínio concentra todas as regras de negócio implementadas em uma aplicação. Para a organização dos componentes dessa camada, existem alguns padrões de organização de lógica de domínio que podem ser utilizados, sendo que os mais utilizados na indústria são o Domain Model e o Transaction Script. O Domain Model sugere implementar um modelo de domínio através de um modelo de objetos rico que utiliza plenamente todas as forças que a orientação a objetos oferece, e é adequado principalmente quando a lógica de domínio é complexa. Ele permite refletir efetivamente o modelo de domínio no código, que é o princípio do Model-Driven Design. Basear a implementação do código em um modelo proporciona alguns benefícios. A conexão entre o modelo e o código permite verificar se a análise feita no modelo se aplica no código criado, facilitando assim a contínua evolução e manutenção do modelo e do software criado. Entretanto, existem algumas situações em que utilizar o Domain Model pode não ser o mais adequado. Basear a implementação em um modelo é uma tarefa difícil que exige experiência em modelagem de sistemas e orientação a objetos. Em algumas situações, não é necessário basear a implementação em um modelo, pelo fato de que a lógica é muito simples (como CRUDs, por exemplo). Para esses casos, o padrão Transaction Script pode ser utilizado. Ele propõe organizar a lógica de domínio de uma forma mais procedural, porém simples e que existe especificamente para esses casos. O Padrão Transaction Script O padrão Transaction Script organiza a lógica de domínio em um conjunto de métodos, em que cada método lida com uma requisição da camada de apresentação e organiza a lógica de negócios implementada pela aplicação. Idealmente, os transaction scripts devem ser agrupados em classes que lidam com tarefas similares. Essas classes conterão somente os transaction scripts, e assim possuirão somente comportamento. Por exemplo, em um cadastro de funcionários, poderia existir uma classe chamada TransactionScriptsCadastroFuncionarios que conteria métodos como cadastrarfuncionario(funcionario), alterarda dosfuncionario(funcionario) etc. Martin Fowler deu esse nome a esse padrão porque, na maioria dos casos, haverá um transaction script por transação de banco de dados. Logo, na maioria dos casos, o tratamento de cada requisição da camada de apresentação implica em uma transação, ou um conjunto atômico de operações. Em um projeto usual, os Transaction Scripts efetuam computações e podem lidar diretamente com o banco de dados. No entanto, uma forma mais eficiente é utilizar DAOs para encapsular o acesso a dados. Cada Transaction Script utiliza objetos burros que existem somente 17

3 para transferir dados entre as camadas (os chamados DTOs). Dessa forma, dada uma requisição da camada de apresentação, um Transaction Script preenche ou recebe um DTO, utiliza seus dados para efetuar computações, podendo passá-lo para um DAO caso o método lide com persistência, e pode devolver um DTO para a camada de apresentação. Um modelo de domínio que contém somente DTOs que só existem para a transferência de dados entre as camadas e não possuem nenhuma inteligência é chamado de modelo de domínio anêmico. A utilização do padrão Transaction Script é bastante simples, pois sua aplicação é direta e não é preciso se preocupar em identificar classes e atribuir a elas responsabilidades, como acontece quando o padrão Domain Model é utilizado. Assim, não é necessário possuir muita experiência com orientação a objetos. Ao mesmo tempo, a simplicidade desse padrão também é uma limitação. Pelo fato de que transaction scripts são rotinas que tratam requisições da camada de apresentação, o código pode ficar difícil de manter e entender. Além disso, é bastante comum ter código duplicado quando esse padrão é utilizado. Por isso, sua utilização é indicada principalmente quando a lógica de domínio for simples. Para Saber Mais No artigo Desmistificando a Certificação SCJD: a certificação que merece mais atenção da comunidade Java, publicado na edição 40 da revista MundoJ, é apresentada uma forma de resolver a atribuição dessa certificação utilizando o padrão Transaction Script. Um exemplo de aplicação do Padrão Transaction Script da aplicação é efetuar reservas de quartos de hotel para clientes online. Embora seja perfeitamente válido aplicar na mesma aplicação o Domain Model (para lidar com a lógica de domínio complexa) e o Transaction Script (para lidar com a lógica de domínio simples) em conjunto, a lógica de domínio nesse caso é simples; logo, somente o padrão Transaction Script se faz necessário.o modelo apresentado na figura 2 corresponde a um modelo de domínio anêmico, pois não contém nenhuma inteligência. As classes que o compõem existem somente para a transferência de dados entre as camadas, e toda a inteligência da aplicação é concentrada nos transactions scripts. Na Listagem 1 é apresentada a classe que contém o transaction script que reserva o quarto de hotel para um determinado cliente. Caso novas funcionalidades referentes a reservas precisassem ser adicionadas, elas seriam naturalmente adicionadas à classe apresentada na Listagem 1. Listagem 1. Classe que contém o transaction script que efetua a reserva do quarto de hotel. package br.com.mj.hotel.business; // imports omitidos... public class TransactionScriptsReservasQuartosDefault implements TransactionScriptsReservasQuartos { private DaoReservas daoreservas; private DaoClientes daoclientes; private DaoQuartos daoquartos; public TransactionScriptsReservasQuartosDefault( DaoReservas daoreservas, DaoClientes daoclientes, DaoQuartos daoquartos) { super(); this.daoreservas = daoreservas; this.daoclientes = daoclientes; this.daoquartos = daoquartos; public void reservarquarto(int idcliente, int numeroquarto, Date inicioreserva, Date fimreserva) throws QuartoJaReservadoException { Reserva reserva = daoreservas.find(numeroquarto, inicioreserva, fimreserva); if (reserva!= null) { String mensagem = Este quarto já contem uma reserva + no período indicado. ; throw new QuartoJaReservadoException(mensagem); Cliente cliente = daoclientes.find(idcliente); Quarto quarto = daoquartos.find(numeroquarto); 18 Figura 2. Modelo de domínio utilizado na aplicação de reservas de quartos de hotel. Para exemplificar a utilização do padrão Transaction Script, consideremos o exemplo apresentado a seguir. Pelo fato de que cada Transaction Script lida com uma requisição da camada de apresentação, não importa se a aplicação é web ou desktop, mas o exemplo proposto pelo presente artigo apresenta uma aplicação web. O objetivo Periodo periodo = new Periodo(inicioReserva, fimreserva); Reserva novareserva = new Reserva(); novareserva.setcliente(cliente); novareserva.setquarto(quarto); novareserva.setperiodo(periodo); daoreservas.save(novareserva);

4 Por exemplo, supondo-se que as informações de pagamento seriam adicionadas somente no momento do check-in ou check-out, o método reservarquarto efetuaria a reserva com as informações de pagamento nulas, e poderiam ser adicionados mais dois métodos à interface TransactionScriptsReservasQuartos, checkin e checkout, que receberiam as informações de pagamento e atualizaram corretamente o registro da reserva. Assim, transaction scripts são métodos que compõem classes de negócios de granularidade grossa e cada transaction script lida com uma requisição da camada de apresentação. Esse estilo pode ser considerado procedural, pois, nesse caso, a classe de negócios possui interesses que deveriam estar distribuídos em classes do modelo de domínio implementado, onde cada classe cuidaria de interesses específicos. Um transaction script pode não ser um método de uma classe Java; pode ser uma rotina de um script CGI, por exemplo. Se existe uma rotina que lida com uma requisição da camada de apresentação e implementa regras de negócio, sendo que essa rotina cuida de interesses que deveriam estar distribuídos em classes (ou outras estruturas), em que cada classe (ou estrutura) cuidaria somente dos interesses que fossem de sua competência, então essa rotina pode ser considerada um transaction script. Em uma aula da disciplina de Fundamentos de Engenharia de Software do curso de mestrado do ITA, o professor Clovis Torres Fernandes falou sobre atribuição de responsabilidades. Uma responsabilidade é tudo que uma classe sabe ou faz. No exemplo apresentado acima, a classe TransactionScriptsReservasQuartosDefault efetua a reserva de um quarto para um cliente. Caso o Domain Model estivesse sendo utilizado, essa responsabilidade seria da classe Quarto (que seria uma entidade) e seria invocada a partir de uma classe de serviços. As classes seriam mais coesas e de granularidade menor, e cada classe do modelo teria somente as responsabilidades que fossem de sua competência. Utilizando os Transaction Scripts Para exemplificar a utilização do transaction script proposto pelo presente artigo, consideremos sua utilização a partir de um Controller (Servlet), que recebe requisições da tela de reservas de quartos de hotel. Idealmente, poderia ser construído um Front Controller (padrão do catálogo Core J2EE Patterns), que receberia todas as requisições da aplicação e delegaria a descoberta do componente responsável pelo tratamento de cada requisição a um Application Controller (outro padrão do catálogo Core J2EE Patterns), que também seria responsável por direcionar o usuário ao componente de visualização correto, mas como o exemplo proposto aborda uma aplicação simples, tal modelagem não se faz necessária. Embora atualmente não seja mais tão comum a utilização direta desses padrões, pode-se observar sua utilização em vários frameworks que objetivam controlar aplicações web. Por exemplo, o padrão Application Controller pode ser observado no framework Struts, que utiliza mapeamento declarativo para facilitar o gerenciamento de ações e componentes de visualização. Para promover flexibilidade, a aplicação pode se utilizar de injeção de dependência via construtor, que é uma das três formas possíveis de injeção de dependência. Para arranjar os objetos no momento em que a aplicação é iniciada, o framework Spring pode ser utilizado. Ele também pode ser utilizado para tornar cada transaction script transacional, para que as operações realizadas por eles sejam processadas de forma atômica. Nesse caso, deve-se definir um arquivo XML e definir algumas configurações no web.xml da aplicação, para que objetos sejam corretamente instanciados e arranjados pelo Spring quando a aplicação for iniciada. Na Listagem 2, é apresentado o Servlet que corresponde ao Controller que recebe as requisições da tela de reservas de quartos de hotel e, na Listagem 3, é apresentado o XML consumido pelo Spring no momento em que a aplicação é iniciada. Listagem 2. Controller que recebe as requisições de reservas de quartos de hotel. package br.com.mj.hotel.controllers; // imports omitidos... public class ControllerReservasQuartos extends HttpServlet public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { String xmlspring = getservletconfig().getinitparameter( xmlspring ); ApplicationContext context = new ClassPathXmlApplicationContext(xmlSpring); TransactionScriptsReservasQuartos scripts = (TransactionScriptsReservasQuartos) context.getbean( transactionscriptsreservasquartos ); int idcliente = Integer.parseInt(request.getParameter( idcliente )); int numeroquarto = Integer.parseInt(request.getParameter( numeroquarto )); Date inicioreserva = converterparadata(request.getparameter( inicioreserva )); Date fimreserva = converterparadata(request try {.getparameter( fimreserva )); scripts.reservarquarto(idcliente, numeroquarto, inicioreserva, fimreserva); RequestDispatcher dispatcher = request.getrequestdispatcher( /SucessoReserva.jsp ); dispatcher.forward(request, response); catch (QuartoJaReservadoException exception) { request.setattribute( mensagem, exception.getmessage()); RequestDispatcher dispatcher = request.getrequestdispatcher( /QuartoJaReservado.jsp ); dispatcher.forward(request, response); private Date converterparadata(string data) {... 19

5 20 Listagem 3. XML de arranjo de objetos consumido pelo Spring. <?xml version= 1.0 encoding= UTF-8?> <beans...> <bean id="sessionfactory" class="org.springframework.orm.hibernate3.localsessionfactorybean"> <property name="configlocation"> <value>classpath: hibernate.cfg.xml</value> <bean id="hibernatetemplate" class="org.springframework.orm.hibernate3.hibernatetemplate"> <property name="sessionfactory" ref="sessionfactory" /> <bean id="daoreservas" class="br.com.mj.hotel.persistence.daoreservasdefault"> <bean id="daoclientes" class="br.com.mj.hotel.persistence.daoclientesdefault"> <bean id="daoquartos" class="br.com.mj.hotel.persistence.daoquartosdefault"> <bean id="transactionscriptsreservasquartos" class="br.com.mj.hotel.business.transactionscriptsreservasquartosdefault"> <constructor-arg ref="daoreservas" /> <constructor-arg ref="daoclientes" /> <constructor-arg ref="daoquartos" /> <bean id="transactionmanager" class="org.springframework.orm.hibernate3.hibernatetransactionmanager"> <property name="sessionfactory" ref="sessionfactory" /> <bean id="matchallmethods" class="org.springframework.transaction.interceptor.matchalwaystran sactionattributesource" /> <bean id="transactioninterceptor" class="org.springframework.transaction.interceptor.transactioninterceptor"> <property name="transactionmanager"> <ref bean="transactionmanager" /> <property name="transactionattributesource"> <ref bean="matchallmethods" /> <bean id="transactionproxycreator" class="org.springframework.aop.framework.autoproxy. BeanNameAutoProxyCreator"> <property name="beannames"> <list> <idref bean="transactionscriptsreservasquartos" /> </list> <property name="interceptornames"> <list> <idref bean="transactioninterceptor" /> </list> </beans> A modelagem proposta pelo presente artigo também atende ao padrão MVC, pois o Controller recebe a requisição do componente de visualização, delega seu tratamento ao componente de negócios apropriado (no caso, uma instância da classe TransactionScriptsReservasQuartosDefault) e despacha os objetos HttpServletRequest e HttpServletResponse ao componente de visualização que será exibido ao usuário como resposta à requisição feita. Do ponto de vista da arquitetura tradicional em quatro camadas, o Controller também faz parte da camada de apresentação. Nesse caso, como a criação do Servlet não é controlada pelo Spring, não é possível se utilizar de injeção de dependência. Por isso, o bean de id transactionscriptsreservasquartos, criado pelo Spring, é recuperado no Servlet através do objeto de contexto do Spring. Os parâmetros da requisição são então recuperados e passados ao objeto da classe TransactionScriptsReservasQuartosDefault que contém a lógica de negócios de reserva de quartos. Esse objeto conta com a colaboração de DAOs para recuperar e persistir informações no banco de dados. Caso fosse uma aplicação Swing, o objeto da classe TransactionScriptsReservas- QuartosDefault poderia ser, por exemplo, injetado em um objeto ActionListener através de seu construtor e utilizado para tratar ações a partir do clique do usuário em um botão. Considerações finais Neste artigo, foi apresentado o padrão Transaction Script, que é um padrão de organização de lógica de domínio indicado quando não é possível (ou necessário) utilizar um modelo de domínio. A chave desse padrão é a simplicidade e sua utilização é indicada principalmente quando a lógica de domínio é simples. Os principais padrões de organização de lógica de domínio são o Domain Model e o Transaction Script. O Domain Model, apesar de ser uma excelente forma de organizar a lógica de domínio através de um modelo de objetos rico, requer experiência em modelagem OO e é indicado quando a lógica de domínio é complexa. Em contrapartida, o Transaction Script sugere uma forma simples de lidar com a lógica de domínio, em que as classes contêm rotinas que tratam requisições da camada de apresentação. Deve-se avaliar com cuidado quando sua aplicação é apropriada, pois esse padrão é a abordagem procedural da orientação a objetos e tende a levar a duplicação de código Referências FOWLER, Martin. Patterns of Enterprise Application Architecture. Boston: Addison- Wesley Professional, PANDA, Debu; RAHMAN, Reza; LANE, Derek. EJB 3 In Action. Greenwich, CT: Manning Publ., PERILLO, Roberto. Desmistificando a Certificação SCJD: A Certificação Que Merece Mais Atenção da Comunidade Java. Revista MundoJ, Edição 40, PERILLO, Roberto. Domain Model: Uma Forma Mais Eficiente de Construir Aplicações Enterprise. Revista MundoJ, Edição 42, 2010.

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada

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

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

Domain Model: Uma Forma Mais Eficiente de Construir Aplicações Enterprise

Domain Model: Uma Forma Mais Eficiente de Construir Aplicações Enterprise Roberto Perillo (jrcperillo@yahoo.com.br) é bacharel em Ciência da Computação e está atualmente cursando mestrado no ITA, onde já concluiu o curso de especialização em Engenharia de Software. Trabalha

Leia mais

!" # # # $ %!" " & ' ( 2

! # # # $ %!  & ' ( 2 !"# # #$ %!" "& ' ( 2 ) *+, - 3 . / 4 !" 0( # "!#. %! $""! # " #.- $ 111.&( ( 5 # # 0. " % * $(, 2 % $.& " 6 # #$ %% Modelo (Encapsula o estado da aplicação) Implementado como JavaBeans Responde a consulta

Leia mais

Padrões de Interação com o Usuário

Padrões de Interação com o Usuário Padrões de Interação com o Usuário Granularidade dos Padrões Padrões estão relacionados a 3 elementos: Contexto ocorre Problema resolve Solução Problemas e Soluções podem ser observados em diferentes níveis

Leia mais

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side

Leia mais

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Software cliente: browser e outros Protocolo HTTP Infraestrutura de transporte

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

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

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

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

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 6 EJB Enterprise Java

Leia mais

Padrão Arquitetura em Camadas

Padrão Arquitetura em Camadas Padrão Arquitetura em Camadas Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Definição Estimula a organização

Leia mais

2 a Lista de Exercícios

2 a Lista de Exercícios Projeto de Sistemas 2011/2 2 a Lista de Exercícios (1) Um importante aspecto do projeto da camada de Lógica de Negócio (LN) diz respeito à organização das classes e distribuição de responsabilidades entre

Leia mais

Java para Desenvolvimento Web

Java para Desenvolvimento Web Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para

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

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

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

Leia mais

Java para WEB. Servlets

Java para WEB. Servlets Servlets Servlets são classes Java que são instanciadas e executadas em associação com servidores Web, atendendo requisições realizadas por meio do protocolo HTTP. Servlets é a segunda forma que veremos

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

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

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

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

Controle de Almoxarifado

Controle de Almoxarifado Controle de Almoxarifado Introdução O módulo de Controle de Almoxarifado traz as opções para que a empresa efetue os cadastros necessários referentes a ferramentas de almoxarifado, além do controle de

Leia mais

Padrões de Projeto WEB e o MVC

Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC O que são padrões? "Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele

Leia mais

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

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

Leia mais

Prof. Roberto Desenvolvimento Web Avançado

Prof. Roberto Desenvolvimento Web Avançado Resposta exercício 1: Configuração arquivo web.xml helloservlet br.com.exercicios.helloservlet

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

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

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

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

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

J550. Model View Controller

J550. Model View Controller J550 Model View Controller 1 Design de aplicações JSP Design centrado em páginas Aplicação JSP consiste de seqüência de páginas (com ou sem beans de dados) que contém código ou links para chamar outras

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

Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser

Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser A1Criando um módulo de negócio Capítulo 27 Aplicação dividida em módulos - Introdução Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser compreendido como uma solução de

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado O NetPublisher é um sistema de gerenciamento de portais e websites corporativos (intranets ou extranets), apropriado para pequenas, médias e grandes empresas. O conteúdo do website pode ser atualizado

Leia mais

Facebook. Java com o. Integrando Aplicações. Descubra como é fácil criar uma aplicação para rodar no Facebook. _capa

Facebook. Java com o. Integrando Aplicações. Descubra como é fácil criar uma aplicação para rodar no Facebook. _capa _capa Integrando Aplicações Java com o Facebook Descubra como é fácil criar uma aplicação para rodar no Facebook Desde o lançamento oficial do Facebook, em 2004, o número de usuários vem aumentando a cada

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

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

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

Projeto SIGA-EPT. Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

Projeto SIGA-EPT. Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA Projeto SIGA-EPT Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA Versão setembro/2010 Requisição de Almoxarifado Introdução Requisição é uma solicitação feita

Leia mais

2 Diagrama de Caso de Uso

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

Leia mais

Autenticação e Autorização

Autenticação e Autorização Autenticação e Autorização Introdução A segurança em aplicações corporativas está relacionada a diversos aspectos, tais como: autenticação, autorização e auditoria. A autenticação identifica quem acessa

Leia mais

BANCO DE AULAS E PROJETOS MANUAL DO APLICATIVO

BANCO DE AULAS E PROJETOS MANUAL DO APLICATIVO BANCO DE AULAS E PROJETOS MANUAL DO APLICATIVO APRESENTAÇÃO Este aplicativo possibilita o compartilhamento de planos de aulas e projetos desenvolvidos e/ou aplicados nas unidades educacionais, entre os

Leia mais

Manual do sistema SMARsa Web

Manual do sistema SMARsa Web Manual do sistema SMARsa Web Módulo Gestão de atividades RS/OS Requisição de serviço/ordem de serviço 1 Sumário INTRODUÇÃO...3 OBJETIVO...3 Bem-vindo ao sistema SMARsa WEB: Módulo gestão de atividades...4

Leia mais

2013 GVDASA Sistemas Cheques 1

2013 GVDASA Sistemas Cheques 1 2013 GVDASA Sistemas Cheques 1 2013 GVDASA Sistemas Cheques 2 AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio. Nenhuma

Leia mais

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE Padrões de Projeto J2EE J931 Introdução Helder da Rocha (helder@acm.org) argonavis.com.br Objetivos de aprender padrões J2EE Conhecer padrões para uso na plataforma J2EE Padrões permitem maior reuso, menos

Leia mais

LINX POSTOS AUTOSYSTEM

LINX POSTOS AUTOSYSTEM LINX POSTOS AUTOSYSTEM Manual Menu Configurações - Multi-Empresa Sumário 1 CONCEITO... 3 2 REQUISITOS... 3 3 CONFIGURAÇÕES... 3 3.1 Cadastrar Empresas... 3 3.2 Agendar Sincronização... 3 4 FUNCIONALIDADES...

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

UML Aspectos de projetos em Diagramas de classes

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

Leia mais

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart.

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. 16/08/2013 BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. Versão 1.0 19/12/2014 Visão Resumida Data Criação 19/12/2014 Versão Documento 1.0 Projeto

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

Prototype, um Design Patterns de Criação

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

Leia mais

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos

Leia mais

Índice. Para encerrar um atendimento (suporte)... 17. Conversa... 17. Adicionar Pessoa (na mesma conversa)... 20

Índice. Para encerrar um atendimento (suporte)... 17. Conversa... 17. Adicionar Pessoa (na mesma conversa)... 20 Guia de utilização Índice Introdução... 3 O que é o sistema BlueTalk... 3 Quem vai utilizar?... 3 A utilização do BlueTalk pelo estagiário do Programa Acessa Escola... 5 A arquitetura do sistema BlueTalk...

Leia mais

Manual de Utilização ZENDESK. Instruções Básicas

Manual de Utilização ZENDESK. Instruções Básicas Manual de Utilização ZENDESK Instruções Básicas Novembro/2013 SUMÁRIO 1 Acesso à ferramenta... 3 2 A Ferramenta... 4 3 Tickets... 8 3.1 Novo Ticket... 8 3.2 Acompanhamentos de Tickets já existentes...

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

Nova Central de Atendimento Logicorp

Nova Central de Atendimento Logicorp 1. INICIAR O NAVEGADOR DE INTERNET Acessar a página da Logicorp no link: http://www.logicorp.net.br/index.html 2. ACESSANDO A ÁREA DE ATENDIMENTO DO NOSSO SITE Na parte superior clique em Atendimento.

Leia mais

Manual de utilização do Sistema de gerenciamento de inspeção de equipamentos (SGIE) Conteúdo

Manual de utilização do Sistema de gerenciamento de inspeção de equipamentos (SGIE) Conteúdo Manual de utilização do Sistema de gerenciamento de inspeção de equipamentos (SGIE) Conteúdo Introdução... 2 Sistemática de utilização do pacote SGIE... 2 Projeto de inspeção... 2 Instalação do projeto

Leia mais

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃO À TECNOLOGIA SERVLETS PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores

Leia mais

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

Leia mais

Engenharia de Requisitos Estudo de Caso

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

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

Manual do e-dimed 4.0

Manual do e-dimed 4.0 Manual do e-dimed 4.0 Instalação e Configuração - Módulo Cliente Após a instalação do e-dimed ser efetuada, clique no atalho criado no desktop do computador. Será exibida a janela abaixo: A instalação

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Projeto Arquitetural do IEmbedded

Projeto Arquitetural do IEmbedded Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Disciplina: Projeto I Professora: Francilene Garcia Equipe: Carolina Nogueira de

Leia mais

Padrões de Projeto em Aplicações Web Desenvolvendo projetos web consistentes baseados em reuso de soluções

Padrões de Projeto em Aplicações Web Desenvolvendo projetos web consistentes baseados em reuso de soluções 1/ Padrões de Projeto em Aplicações Web Desenvolvendo projetos web consistentes baseados em reuso de soluções Adote as melhores práticas de reuso de soluções com a abordagem de Padrões de Projeto (Design

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando

Leia mais

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge. Projeto Demoiselle Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.net Palestrantes: Antônio Carlos Tiboni Luciana Campos Mota 20/07/2009

Leia mais

Manual do usuário. Softcall Java. versão 1.0.5

Manual do usuário. Softcall Java. versão 1.0.5 Manual do usuário Softcall Java versão 1.0.5 Sumário Iniciando SoftCall...3 Tela Principal...3 Configurando o SoftCall...4 Agenda...5 Incluindo um contato...5 Procurando um contato...6 Apagando um contato...6

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

Processo de Envio de email

Processo de Envio de email Processo de Envio de email Introdução O envio de documentos de forma eletrônica vem sendo muito utilizado, assim o envio de arquivos, relatórios, avisos, informações é realizado via e-mail. O sistema disponibiliza

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

Tecnologias Web. Padrões de Projeto - Camada de Apresentação

Tecnologias Web. Padrões de Projeto - Camada de Apresentação Tecnologias Web Padrões de Projeto - Camada de Apresentação Cristiano Lehrer, M.Sc. Padrões da Camada de Apresentação (1/2) Intercepting Filter Viabiliza pré e pós processamento de requisições. Front Controller

Leia mais

Lidando de Forma Eficiente com Validações Locais de Objetos

Lidando de Forma Eficiente com Validações Locais de Objetos Lidando de Forma Eficiente com Validações Locais de Objetos Aprenda a construir um mini-framework para validar objetos locais sem afetar a complexidade do código. Autor Paulo César M. N. A. Coutinho (pcmnac@gmail.com):

Leia mais

Arquitetura de uma Webapp

Arquitetura de uma Webapp Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação

Leia mais

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. ANEXO 11 O MATRIZ Para o desenvolvimento de sites, objeto deste edital, a empresa contratada obrigatoriamente utilizará o framework MATRIZ desenvolvido pela PROCERGS e disponibilizado no início do trabalho.

Leia mais

Manual de Utilização do TOTVS Restore

Manual de Utilização do TOTVS Restore Manual de Utilização do TOTVS Restore Atualização de Ambientes RM O TOTVS Restore é uma ferramenta desenvolvida pela equipe de Engenharia de Software do CD-BH com o intuito de permitir a criação e atualização

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

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

Leia mais

Gestão de Ativos. Manual do Usuário. Treinamento Fase 1 (TRN 01)

Gestão de Ativos. Manual do Usuário. Treinamento Fase 1 (TRN 01) Gestão de Ativos Manual do Usuário Treinamento Fase 1 (TRN 01) Índice 1. Introdução... 3 2. Movimentações de Ativos... 4 2.1. Monitoração... 4 2.1.1. Monitor de Movimentação de Ativos...4 2.2. Transações...15

Leia mais

BOLETIM INFORMATIVO TÉCNICO Cordilheira Recursos Humanos Versão 2 PLANO DE ASSISTÊNCIA A SAÚDE

BOLETIM INFORMATIVO TÉCNICO Cordilheira Recursos Humanos Versão 2 PLANO DE ASSISTÊNCIA A SAÚDE BOLETIM INFORMATIVO TÉCNICO Cordilheira Recursos Humanos Versão 2 PLANO DE ASSISTÊNCIA A SAÚDE Criada a rotina de Plano de Assistência a Saúde. Esta rotina irá possibilitar gerar a DIRF com valores descontados

Leia mais

COMO USAR DOIS MONITORES NO WINDOWS 8

COMO USAR DOIS MONITORES NO WINDOWS 8 COMO USAR DOIS MONITORES NO WINDOWS 8 Trabalhar com dois monitores no Windows tem diversas utilidades. Dentre elas podemos destacar a possibilidade de visualizar mais itens ao mesmo tempo, exibir o conteúdo

Leia mais

Orientação a Objetos

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

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE RORAIMA DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SIGRH - FREQUÊNCIA

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE RORAIMA DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SIGRH - FREQUÊNCIA SIGRH - FREQUÊNCIA Boa Vista RR, 21 novembro de 2014. É o módulo do Sistema Integrado de Gestão de Recursos Humanos (SIGRH) que tem por objetivo permitir o gerenciamento das informações relacionadas ao

Leia mais

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1 MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento Toledo PR Página 1 INDICE 1. O QUE É O SORE...3 2. COMO ACESSAR O SORE... 4 2.1. Obtendo um Usuário e Senha... 4 2.2. Acessando o SORE pelo

Leia mais

Manual de Utilização do Zimbra

Manual de Utilização do Zimbra Manual de Utilização do Zimbra Compatível com os principais navegadores web (Firefox, Chrome e Internet Explorer) o Zimbra Webmail é uma suíte completa de ferramentas para gerir e-mails, calendário, tarefas

Leia mais

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

CONSTRUÇÃO DE BLOG COM O BLOGGER

CONSTRUÇÃO DE BLOG COM O BLOGGER CONSTRUÇÃO DE BLOG COM O BLOGGER Blog é uma abreviação de weblog, qualquer registro frequênte de informações pode ser considerado um blog (últimas notícias de um jornal online por exemplo). A maioria das

Leia mais

Software. Gerenciamento de Manutenção

Software. Gerenciamento de Manutenção Software Gerenciamento de Manutenção Tutorial Passo a Passo Do Cadastro de Serviço à Consulta de Serviços Realizados Tutorial Recomendações AsinformaçõesutilizadasnestetutorialsãoasmesmasquevocêtemnoseuBancodeDados

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

Leia mais