2 a Lista de Exercícios



Documentos relacionados
Documento de Projeto de Sistema

Documento de Projeto de Software

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

Documento de Arquitetura

3 a Lista de Exercícios

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

Documento de Análise e Projeto VideoSystem

Documento de Definição de Requisitos

2 a Lista de Exercícios

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

Roteiro do Trabalho Prático

O Processo Unificado: Captura de requisitos

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Histórico da Revisão. Data Versão Descrição Autor

Padrões de Projeto WEB e o MVC

Especificação de Requisitos

Relatório do GPES. Arquitetura Geral do Framework

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

MANUAL DO GERENCIADOR ESCOLAR WEB

IES-200. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br

HIBERNATE EM APLICAÇÃO JAVA WEB

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Controle de Almoxarifado

Engenharia de Requisitos Estudo de Caso

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

2 Diagrama de Caso de Uso

Rock In Rio - Lisboa

Agora todas as Unimeds vão falar uma só língua. Unimed do Brasil Federação São Paulo Portal Unimed

Especificação do Trabalho

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

Eduardo Bezerra. Editora Campus/Elsevier

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

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

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

Engenharia de Software 2006/2

Grécia Um Framework para gerenciamento de eventos científicos acadêmicos utilizando componentes

Manual do sistema SMARsa Web

Projeto Arquitetural do IEmbedded

Clique no botão para iniciar o treinamento TAREFAS CONTRAT OS RELACIO NAMENT CONFIGURAÇÕES. A ideia é usar os próprios ícones do CGW.

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

Introdução ao Modelos de Duas Camadas Cliente Servidor

InfoMix Tecnologia. Soluções em Tecnologia da Informação. SYSFARM Sistema de Gerenciamento de Farmácias. Documento Requisitos Versão 1.

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

Engenharia de Software III

Plano de Gerenciamento do Projeto Baseado na 5ª edição do Guia PMBOK

A ferramenta que você necessitava para seu Buffet Infantil.

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Projeto Disciplinar de Infra-Estrutura de Software SISCOP TORRE FORTE CONSTRUÇÕES LTDA.

Engenharia de Software I

Análise de Dados do Financeiro

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Projeto Disciplinar de Infra-Estrutura de Software BELLA DONNA CENTRO DE ESTÉTICA

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

SISTEMA HOTELEIRO. Deseja-se modelar um sistema para um pequeno hotel que atenda aos seguintes. requisitos:

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

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

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

TERMO DE REFERÊNCIA CG ICP-BRASIL COMITÊ GESTOR DA ICP-BRASIL

Passo-a-passo para acesso ao novo sistema de reservas de salas no Rochaverá

Sistema de de Bilhetagem Eletrônica MANUAL MÓDULO PDV

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

MVC e Camadas - Fragmental Bliki

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

Documento de Requisitos

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

LINGUAGEM DE BANCO DE DADOS

Especificação do 3º Trabalho

NGIN Mobile Portal Gestão Usuário

Tarciane Andrade.

Capítulo 6. Criando um Diagrama de Caso de Uso Inicial

1. O que é a integração de processos

Sumário. Apresentação O que é o Centro de Gerenciamento de Serviços (CGS) NTI? Terminologia Status do seu chamado Utilização do Portal Web

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

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

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

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Manual do Almoxarifado SIGA-ADM

Padrões de projeto 1

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Especialização em Engenharia de Software com Ênfase em Software Livre ESL2/2008. Projeto Agenda Saúde Requisitos e Modelagem UML

QUESTÃO 01 - DIAGRAMA DE SEQUENCIA (CONCEITOS)

Plano de Gerenciamento do Projeto

INFORMATIZAÇÃO DE FARMÁCIAS PÚBLICAS UTILIZANDO SOFTWARE

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

Qualidade de Software

Guia de utilização da notação BPMN

A ABESO está oferecendo mais um serviço dentro do seu Portal WEBPAGES PARA SÓCIOS! TERMO DE SERVIÇO

Apresentação. E&L ERP Protocolo, Documentos Eletrônicos e Processos. PostgreSQL 8.2/ 8.3. Domingos Martins ES. v. 1.0

Documentação. Programa de Evolução Contínua Versão 1.72

Transcrição:

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 elas, o que vai definir, em última instância, os métodos das classes dessa camada. Dentre os padrões arquitetônicos existentes para o projeto da camada de LN, dois merecem destaque: o padrão Modelo de Domínio e o padrão Camada de Serviço. Diferencie esses dois padrões, destacando que classes tipicamente ficam responsáveis pela lógica dos casos de uso em cada caso. Qual o impacto em termos da estrutura (pacotes) da Camada de Lógica de Negócio quando cada um desses padrões arquitetônicos é aplicado? (*) (2) O projeto da Camada de Interface com o Usuário (IU) considera dois tipos de funcionalidades: Visão e Controle de Interação. Como o padrão arquitetônico Modelo-Visão-Controlador (MVC) trata esses diferentes tipos de funcionalidades? Como se dá a interação entre as camadas de IU e de LN quando o padrão MVC é usado em conjunto com o padrão Modelo de Domínio? Como se dá essa interação quando o padrão MVC é usado em conjunto com o padrão Camada de Serviço? (*) (3) Durante o projeto da camada de persistência usando bancos de dados relacionais, uma importante questão a ser tratada é a definição de quais classes serão responsáveis por realizar a persistência dos objetos, interagindo com o banco de dados. Dois dos padrões aplicáveis neste contexto são o padrão Registro Ativo (Active Record) e o padrão Objeto de Acesso a Dados (Data Access Object DAO). Diferencie esses dois padrões. Que classes ficam responsáveis pela persistência dos dados em cada caso? (*) (4) A seguir são listadas três afirmações. Marque se as mesmas são verdadeiras ou falsas. Caso você não saiba, marque a opção Não Sei. Atenção: UMA RESPOSTA ERRADA ANULA UMA CERTA. (*) (a) Dois dos principais padrões arquitetônicos para o projeto da camada de Lógica de Negócio são os padrões Modelo de Domínio e Camada de Serviço. No padrão Modelo de Domínio, a lógica dos casos de uso é distribuída pelos objetos de domínio, aqueles identificados já na fase de análise, os quais residem no Componente de Domínio do Problema (CDP). No padrão Camada de Serviço, a lógica dos casos de uso é atribuída a classes gerenciadoras de tarefas, as quais residem no Componente de Gerência de Tarefas (CGT). Objetos dessas classes, por sua vez, colaboram com objetos do CDP para realizar a lógica de negócio. ( ) Verdadeiro ( ) Falso ( ) Não sei. (b) O padrão Modelo-Visão-Controlador (MVC) considera três tipos de classes. A visão refere-se à entrada e à exibição de informações na Interface com o Usuário. O controlador refere-se às classes responsáveis pelo tratamento das requisições vindas da interface e seu envio para o Componente de Domínio do Problema, funcionando como objetos controladores de casos de uso. Por fim, o modelo refere-se aos objetos de domínio, sendo responsáveis pela sua persistência. ( ) Verdadeiro ( ) Falso ( ) Não sei. (c) Do ponto de vista de manutenibilidade e portabilidade, é bastante útil isolar a lógica de negócio do mecanismo de banco de dados, criando uma camada responsável pelo mapeamento entre objetos e tabelas do banco de dados relacional. Os padrões Mapeador de Dados (Data Mapper) e Objeto de Acesso a Dados (Data Access Object - DAO) adotam esta filosofia, de modo que apenas uma parte da arquitetura de software fica ciente da tecnologia de persistência adotada. ( ) Verdadeiro ( ) Falso ( ) Não sei.

(5) A Figura 3 mostra um fragmento do diagrama de classes de análise de um sistema para uma livraria. Nesse sistema, usabilidade é um dos condutores do projeto da arquitetura e a seguinte tática deve ser empregada: minimize o número de ações de entrada requeridas e possíveis erros, permitindo, sempre que possível, a seleção de dados a partir de um conjunto pré-definido de valores de entrada. (a) Faça o projeto do Componente de Domínio do Problema. Considere que está disponível para reúso o utilitariopessoa da Figura 2 e que o sistema será implementado em Java. (*) (b) A partir do diagrama de classes elaborado no item anterior, derive o modelo relacional correspondente. (*) Figura 1 - Diagrama de Classes da Fase de Análise Figura 2 Utilitário Pessoa

(6) A Figura 3 mostra um fragmento do diagrama de classes de análise para um sistema de clínica médica. A usabilidade é um dos condutores do projeto da arquitetura desse sistema e a seguinte tática deve ser empregada: minimize o número de ações de entrada requeridas e possíveis erros, permitindo, sempre que possível, a seleção de dados a partir de um conjunto pré-definido de valores de entrada. Observação: Princípio ativo é a substância que deverá exercer efeito farmacológico. Por exemplo, o paracetamol é o princípio ativo de diversos medicamentos, dentre eles o Tylenol. (a) Faça o projeto do Componente de Domínio do Problema. Considere que está disponível para reúso o utilitariopessoa da Figura 2 e que o sistema será implementado em Java. (*) (b) A partir do diagrama de classes elaborado no item anterior, derive o modelo relacional correspondente. Figura 3 - Diagrama de Classes da Fase de Análise

(7) Considere o desenvolvimento de um sistema para apoiar as atividades de um hotel. Clientes se hospedam em quartos e podem solicitar serviços, tais como serviços de lavanderia, restaurante etc. A Figura 4 mostra o diagrama de casos de uso para o sistema proposto. Os casos de uso Cadastrar Quarto, Cadastrar Serviço e Cadastrar Cliente possuem fluxos de eventos básicos para criar, alterar, consultar e excluir as respectivas entidades. O caso de uso Efetuar Reserva possui fluxos de eventos para efetuar nova reserva, cancelar reserva e consultar reserva. O caso de uso Controlar Hospedagem possui fluxos de eventos para registrar entrada e para registrar saída. Ao se registrar uma saída, a hospedagem deverá ser paga, realizando o caso de uso Efetuar Pagamento. O pagamento pode ser feito por meio de cartão de crédito, cheque ou dinheiro. Por fim, o caso de uso Controlar Prestação de Serviço possui fluxos de eventos para registrar uma prestação de serviço, alterar dados de uma prestação de serviço e cancelar uma prestação de serviço. Figura 4 Diagrama de Casos de Uso O fluxo de eventos Registrar Saída do caso de uso Controlar Hospedagem tem a seguinte descrição: 1. O recepcionista informa o quarto que deseja encerrar a hospedagem. 2. De posse do quarto, o sistema recupera a hospedagem vigente do quarto e os serviços prestados para essa hospedagem. 3. O sistema calcula o valor a ser pago em diárias, o valor a ser pago por serviços prestados e o valor total a ser pago. 4. A hospedagem é finalizada, registrando-se a data e hora da saída. 5. Incluir Efetuar Pagamento. A Figura 5 apresenta o diagrama de classes da fase de análise.

Figura 5 Diagrama de Classes da Fase de Análise (a) Faça o projeto do Componente de Domínio do Problema. Considere que há dois utilitários disponíveis para reúso, a saber: utilitariopessoa (Figura 2) e utilitariopagamento (ver exercício da Locadora de Vídeo). Além disso, considere que o sistema será implementado em Java. (b) A partir do diagrama de classes desenvolvido na questão anterior, faça um diagrama de sequência para o fluxo de eventos Registrar Saída considerando o uso do padrão Camada de Serviço. Adicione os métodos de forma apropriada no diagrama de classes. (c) Considerando apenas os casos de uso Controlar Hospedagem e Controlar Prestação de Serviço e a aplicação do padrão Camada de Serviço, faça em um mesmo diagrama o projeto do Componente de Gerência de Tarefas e o projeto da Camada de Interface com o Usuário. (d) Os casos de uso Cadastrar Cliente e Efetuar Reserva deverão estar disponíveis pela Internet para acesso pelos clientes, na forma de uma aplicação Web tradicional. Levando em conta essa porção do sistema, considere que se deseja manter a uniformidade da apresentação das páginas web. Diga como essa questão pode ser trabalhada, justificando sua resposta. (e) Considere que um framework de mapeamento objeto-relacional será utilizado para implementar a persistência de dados do sistema em um banco de dados relacional. Faça o projeto do Componente de Gerência de Dados. Discuta também que tabelas seriam criadas no banco de dados relacional e como as mesmas seriam ligadas. Para tal, produza o modelo relacional correspondente.

(8) Seja um sistema de submissão de trabalhos para eventos científicos. Há funcionalidades que estarão disponíveis apenas para os coordenadores dos eventos (registro do evento, definição do comitê de avaliação, convite aos avaliadores), outras que serão voltadas para avaliadores (resposta a convite, acesso aos trabalhos e registro de suas avaliações) e um terceiro conjunto de funcionalidades voltado para os autores dos trabalhos (submissão de artigos e consulta às avaliações). O sistema deve rodar na Web e poderá ser acessado pelos três tipos de usuários anteriormente descritos, os quais terão de se cadastrar previamente. A Figura 6 mostra um fragmento do diagrama de classes de análise do subsistema de submissão de artigos. Nesse subsistema, deseja-se que, sempre que possível, a entrada de dados seja feita via seleção de dados a partir de um conjunto pré-definido de valores de entrada. (a) Faça o projeto do Componente de Domínio do Problema. Considere que o sistema será implementado em Java e que há um utilitário disponível para reúso, a saber o utilitariopessoa apresentado na Figura 2. (*) Figura 6 - Diagrama de Classes da Fase de Análise