Estudo de Caso TPV Projetando uma solução com objetos e Padrões GRASP

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

Download "Estudo de Caso TPV Projetando uma solução com objetos e Padrões GRASP"

Transcrição

1 UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Projeto e Desenvolvimento de Sistemas de Informação Estudo de Caso TPV Projetando uma solução com objetos e Padrões GRASP

2 Atividades da Fase Projetar Refinar Plano Sincronizar artefatos Analisar Projetar Construir Testar 1. Definir Casos de Uso Reais 3. Refinar a arquitetura do sistema 5. Definir Diagramas de Classes de Projeto 2. Definir Relatórios, IU e Storyboards 4. Definir diagramas de interação 6. Definir o Esquema Do Banco de Dados

3 Como Criar Diagramas de Comunicação Atribuir responsabilidades e criar os diagramas de comunicação são as atividades mais criativas da fase de projeto. Não há soluções mágicas ou não justificadas. Elas devem ser baseadas em raciocínios lógicos e racionais.

4 Diagramas de Comunicação e artefatos anteriores Caixa Sistema entraritem(cup, quantidade) Operação: entraritem Pós-condições: 1. Se for uma nova venda, uma nova venda foi criada... entraritem(cup, qtd) :TPV terminarvenda() Operação: registrarpagamento Pós-condições: registrarpagamento ( quantia) :TPV registrarpagamento (quantia) Diagrama de seqüência do sistema Contratos Diagrama de comunicação

5 Criação dos Diagramas de Comunicação Crie um diagrama separado para cada operação do sistema em desenvolvimento no passo iterativo corrente. Para cada evento do sistema, crie um diagrama com o evento como a mensagem inicial. Se o diagrama se tornar complexo, separe-o em diagramas menores. Usando as responsabilidades e as póscondições dos contratos, projete um sistema de objetos que interagem entre si para executar as tarefas. Use GRASP (e outros conhecimentos) para apoiar a sua decisão.

6 Diagramas de Comunicação para a aplicação TPV Na iteração corrente: dois casos de uso estão sendo tratados: Comprar Itens entraritem terminarvenda EfetuarPagamento Inicializar Inicializar

7 Diagramas de Comunicação para a aplicação TPV Lembretes: As pós-condições são somente uma pista inicial. Use o modelo conceitual como apoio. O contrato é a base para o diagrama de colaboração Comece escolhendo a classe controladora do evento (ou método)

8 Eventos de Sistema do TPV entraritem :TPV 1:???() terminarvenda :TPV 1:???() registrarpagamento :TPV 1:???() inicializar :TPV 1:???()

9 Modelo Conceitual e Diagrama de Comunicação Ponto de partida para os objetos que interagem entre si Novos conceitos poderão surgir, assim como conceitos previamente identificados poderão ser ignorados. É um guia, porém pode conter erros e omissões.

10 Modelo Conceitual do TPV * * LinhadeItemdeVenda quantidade Contido-em Paga-por Venda data tempo 1 Pagamento quantia * 1 1 Iniciada-por Registra-Dados-da v Cliente Registra-venda-de Catálogo de Produtos Usado-por Capturada-em 1 Descritos-por 1 * 1 Loja endereço nome Possui 1 TPV 1..* * Contém 1..* Estoca Iniciado por 1 1 < Registra-Vendas-do Especificação de Produto descrição preço CUP * Descreve Item Gerente Caixa * 1 1

11 Contrato da operação entraritem Nome: entraritem (cup:number, quantidade:integer) Responsabilidades: entrar(registrar) a venda de um item e acrescentá-lo à venda. Exibir a descrição e o preço do item. Pós-condições: Se for uma nova venda, uma Venda foi Criada (c.i.) Se for uma nova venda, a nova Venda foi associada ao TPV (f.a) Uma LinhadeItemdeVenda foi criada (c.i) A LinhadeItemdeVenda foi associada à Venda (f.a) LinhadeItemdeVenda.quantidade recebeu o valor de quantidade (m.a) A LinhadeItemdeVenda foi associada a um(a) (Especificaçãode) Produto, com base no CUP (f.a)

12 Diagrama de Comunicação de entraritem (Cont) Escolhendo a classe Controlador: Opções: TPV ou nova classe SistemadeVarejo, Loja, Caixa, Controlador-ComprarItens Escolha: TPV Satisfatório se houver poucas operações de sistema e o controlador fachada não estiver assumindo muita responsabilidade Tenha em mente que agora o TPV é um objeto no mundo do software. Ele é uma abstração de software que representa o registrador.

13 Diagrama de Comunicação de entraitem segundo o padrão Controlador entraritem(cup,qtd) :TPV

14 Diagrama de Comunicação de entraritem (Cont) Exibir a descrição e o preço do item Não é responsabilidade dos objetos do domínio (TPV ou VENDA) se comunicarem com a camada de interface do usuário (Padrão Separação entre Modelo e Visão): Tudo o que é necessário, com relação a essa responsabilidade, é que os dados sejam conhecidos (ou sejam calculados, conforme as necessidades). A apresentação da descrição e do preço será ignorada, por enquanto.

15 Criar uma nova venda -se for uma nova venda, uma Venda foi criada -se for uma nova venda, a nova Venda foi associada ao TPV entraritem(cup,qtd) segundo o padrão Criador :TPV 1:[nova_venda] criar() :Venda Coleção vazia, conterá futuramente, instâncias de Linha de Item de Venda (multiobjeto) 1.1:criar() :linhadeitemde Venda segundo o padrão Criador

16 Próximo passo Criar uma nova linhadeitemdevenda Uma LinhadeItemdeVenda foi criada (c.i) A LinhadeItemdeVenda foi associada à Venda (f.a) LinhadeItemdeVenda.quantidade recebeu o valor de quantidade (m.a)

17 Criar uma nova LinhaDeItemDeVenda entraritem(cup,qtd) :TPV 3:criarLinhadeItem(espec,qtd) 1:[nova_venda] criar() :Venda 1.1:criar() 3.1:criar(espec,qtd) segundo o padrão Criador :linhadeitemde Venda 3.2:adicionar(lv) lv:linhadeitemdevenda

18 Próximo passo Encontrar a especificação do produto A LinhadeItemdeVenda foi associada a um(a) (Especificaçãode) Produto, com base no CUP (f.a) Quem deveria ser responsável por recuperar uma EspecificaçãodeProduto a partir do CUP? Ou seja quem deveria ser responsável por conhecer uma EspecificaçãodeProduto? Quem deve ter a responsabilidade de encontrar os dados (especificação) do produto? Quais dados devem ser armazenados de forma permanente?

19 Próximo passo Encontrar a especificação do produto-> definir claramente a responsabilidade: Quem deveria ser responsável por conhecer uma Especificação de Produto baseado em uma correspondência de CUP? Que tipo de problema temos? Criação? Escolha de um Controlador? Especialista?

20 Próximo passo Encontrar a especificação do produto Padrão Especialista sugere: o objeto que tenha a informação requerida para cumprir a responsabilidade deve fazê-lo Quem sabe tudo sobre a Especificação de Produto? Observe isso no modelo conceitual:

21 Modelo Conceitual do TPV * * LinhadeItemdeVenda quantidade Contido-em Paga-por Venda data tempo Pagamento quantia * Iniciada-por Registra-Dados-da v Cliente Registra-venda-de Catálogo de Produtos Usado-por Capturada-em Descritos-por * Loja endereço nome Possui TPV 1..* 1..* Contém 1..* Estoca Iniciado por * Especificação de Produto descrição preço UPC < Registra-Vendas-do * Descreve Item Gerente Caixa

22 Próximo passo Visibilidade para um Catálogo de Produtos Quem deveria enviar a mensagem especificação para o Catálogo de Produtos solicitando uma Especificação de Produto? É razoável assumir que uma instância de TPV e de Catálogo de Produtos foram criados durante o caso de uso inicial Inicializar e que exista uma conexão permanente do objeto TPV para o objeto Catálogo de Produtos. Assumindo isso, TPV pode enviar a mensagem especificação para Catálogo de Produtos

23 Diagrama de Comunicação de entraritem (completo) entraritem(cup,qtd) :TPV 3:criarLinhadeItem(espec,qtd) 1:[nova_venda] criar() :Venda 2:espec:=especificação(cup) :Catálogode Produtos 2.1:espec:=encontrar(cup) 1.1:criar() :linhadeitemde Venda 3.2:adicionar(lv) 3.1:criar(espec,qtd) :Especificaçãode Produto lv:linhadeitemdevenda

24 Considerações Um objeto, ao enviar uma mensagem para outro objeto, deve ter visibilidade deste outro objeto. Na versão final de uma aplicação real de ponto de vendas, é improvável que todas as Especificação de Produto estarão realmente na memória. Um BD OO ou relacional será usado, e as recuperações serão realizadas sob demanda. Observe que as mensagens que estão sendo enviadas aos multiobjetos são interpretadas como mensagens ao próprio objeto Coleção.( 1.1 criar, 2.1 Encontrar, 3.2 adicionar)

25 Diagrama de Comunicação:terminarVenda Contrato da Operação: Nome: terminarvenda() Responsabilidades: Registrar que é o fim da entrada de itens de venda e exibir o total da venda Pós-condições: Venda.estáCompleta recebeu o valor true Um Diagrama de Comunicação será construído para satisfazer as pós-condições e responsabilidades de terminarvenda.

26 Diagrama de Comunicação: terminarvenda Pós-condições: Venda.estáCompleta recebeu o valor true TornarseCompleta() terminarvenda() { estácompleta := V} :TPV 1:tornarseCompleta() :Venda segundo o padrão Controlador Encerramento da entrada de itens segundo o padrão Especialista

27 Quem deve ser responsável pela exibição da informação total da venda? Isso deverá ser feito pela camada de apresentação ( a ser discutida mais adiante) Durante a criação do diagrama de comunicação, não se preocupe com a exibição de informações, exceto quando a informação requerida ainda não é conhecida. Garanta que toda informação a ser exibida seja conhecida e esteja disponível nos objetos do domínio. Exemplo: terminarvenda deve informar o total da venda.

28 Processo de raciocínio para encontrar um Especialista para o total da venda Defina a responsabilidade: Quem deveria ser responsável por conhecer o total da venda? Resuma a informação requerida: O total da venda é a soma dos subtotais de todas as linhas de itens de vendas. Subtotal da linha de item de vendas := quantidade da linha de item * preço na descrição do produto. Liste a informação necessária para satisfazer esta responsabilidade e as classes que conhecem esta informação.

29 Informação Requerida para calcular o total da Venda Classe Especialista EspecificaçãodeProduto.preço EspecificaçãodeProduto LinhadeItemdeVenda.quantidade LinhadeItemdeVenda Todas as LinhasdeItemdeVenda na Venda corrente Venda tot:=total() :Venda

30 Calcular o total da venda subtotal() { return quantidade*espec.preço() } tot:=total() :Venda 1*:[para cada]liv:=prox() :LinhadeItemdeVenda 2*: st:=subtotal() liv:linhadeite mdevenda total() { tot:=0 para cada linha de item de venda liv tot:= tot + liv.subtotal() } 2.1:pr:=preço espec: Especifi caçãodeproduto

31 Discussão A mensagem total não está associada a evento de sistema (não é uma operação de um diagrama de sequência) Nem todo o diagrama de comunicação começa com uma mensagem de um evento de sistema; eles podem começar com qualquer mensagem para a qual o projetista deseja mostrar as interações. Quem enviará a mensagem total para a Venda? Provavelmente será um objeto na camada de apresentação

32 Diagrama de Comunicação de registrarpagamento Contrato da Operação: Nome: RegistrarPagamento(quantia: Number) Responsabilidades: Registrar o pagamento, calcular o troco e imprimir o recibo. Pós-condições: Um Pagamento foi criado (ci) Pagamento.quantiaFornecida recebeu o valor de quantia (ma) O Pagamento foi associado à Venda (fa) A Venda foi associada à Loja, para acrescentá-la ao registro histórico de vendas completadas (fa)

33 Registrar Pagamento Controlador: TPV ou Venda? registrarpagamento(quantiafornecida) :TPV Fazer um DC Com Venda como controlador

34 Registrar Pagamento Criando o pagamento Candidatos: TPV e Venda registrarpagamento(quantia Fornecida) :TPV 1: registrarpagamento(quantia Fornecida) Criador + acoplamento baixo :Venda 1.1:criar(quantiaFornecida) :Pagamento

35 Registrando a Venda Padrão Especialista Quem é o responsável por conhecer todas as vendas registradas e fazer esse registro? - Loja - DiáriodeVendas

36 * Loja 1..* Catálogo de Produtos * Usado-por * 1..* 0..1 Especificação de Produto descrição preço UPC 1..* Contém * Descreve * LinhadeItemdeVenda quantidade 1..* Contido-em 0..1 Registra-venda-de * Descritos-por Registrando a Venda Caixa Gerente 1..* 1..* Pagamento quantia Cliente * TPV < Registra-Vendas-do 1..* Iniciado por * Loja endereço nome 1..* Possui * Venda data tempo Paga-por Iniciada-por * Registra-Dados-da v Capturada-em Item * Estoca * Contido-em

37 Registrando a venda: Alternativas Venda Venda Loja... acrescentarven da(v:venda) Registra-dados-da Loja é responsável por conhecer e acrescentar Vendas completadas Registra-dados-da DiáriodeVendas... acrescentarven da(v:venda))

38 Registrando uma venda completada registrarpagamento() 1: registrarpagamento(quantiafornecida) :TPV :Venda 2 : acrescentarvenda(v) :Loja 2.1 : acrescentrar(v) 1.1:criar(quantiaFornecida) :Pagamento VendasCompletadas: Venda

39 Calculando o Troco Quem é responsável por conhecer o troco? Troco = Dinheiro fornecido para pagamento Total da Venda Especialistas parciais: Venda e Pagamento Controlador? Pagamento -> visibilidade para venda (acréscimo de acoplamento) Venda -> visibilidade para pagamento (já possui tal visibilidade)

40 Calculando o Troco Controlador: Venda trc:=troco() Venda troco() {return pg.quantia() total() } :Venda 1: qtia:=quantia() pg:pagamento 2: t:=total() OBS: Um DC pode começar com qualquer mensagem para a qual o projetista deseja mostrar as interações.

41 Diagrama de Comunicação de Iniciar Deixe o diagrama Iniciar por último. Informações significativas relacionadas com as atividades de inicialização devem já ter sido descobertas Objetivo: criar o objeto inicial do domínio. Esse objeto cria então os demais objetos necessários. Então, a operação Iniciar deve: Enviar a mensagem criar() para o objeto inicial do domínio. No seu método de inicialização, o objeto inicial é, responsável pela criação de outros objetos do domínio do problema e por suas inicializações.

42 Exemplo de inicialização, a partir de um applet Java public class TPVApplet extends Applet { public void init ( ) { tpv = Loja.getTPV ( ) } // Loja é o objeto inicial do domínio // O construtor de Loja cria os outros // objetos do domínio private Loja loja = new Loja ( ); private TPV tpv; private Venda venda;

43 A Operação Inicializar da aplicação TPV Ocorre quando um gerente liga o sistema do ponto de venda e carrega o software. Suponha que exista uma interface gráfica de usuário e que um objeto da camada de apresentação será responsável pela criação do objeto inicial do domínio do problema (ex. uma instância de um applet java coordenador da aplicação e da camada de apresentação) O controle permanecerá no applet, após o objeto inicial do domínio ter sido criado. O diagrama de colaboração de Inicializar pode ser interpretado como uma mensagem criar() enviada para criar o objeto inicial.

44 Escolhendo o objeto inicial do domínio Escolha como um objeto inicial do domínio: Uma classe que representa todo o sistema de informação. Uma classe que representa todo o negócio ou organização. Nesta aplicação Loja será escolhida como objeto inicial

45 Objetos persistentes: Especificação de Produto Em uma aplicação real, as instâncias de Especificação de Produto residirão em um BD. O projeto de como carregar objetos, dinamicamente, sob demanda, de um BD OO é simples. (BD relacional é mais difícil) Por enquanto faremos uma hipótese simplificadora: todas as instâncias de Especificação de Produto podem ser magicamente criadas na memória pelo objeto Catálogo de Produtos

46 Contrato Nome: Iniciar Responsabilidades: Iniciar o sistema. Tipo: Sistema Refs cruzadas: Notas: Exceções: Saída: Pré-condições: Pós-condições: Uma Loja, TPV, CatálogodeProdutos e (Especificaçãode)Produto foram criadas (ci) CatálogodeProdutos foi associado a EspecificaçãodeProduto (af) Loja foi associada a CatálogodeProdutos (af) Loja foi associada a TPV (af) TPV foi associado a CatálogodeProdutos (af)

47 criar() Passa refer. do catálogo de produtos a TPV, que terá visibilidade permanente a ele. :Loja 2 : criar (cp) :TPV 1 :criar ( ) 1.1 criar () cp:catálogode 1.2.2* : adicionar (ep) Produtos :Especificãode Produto 1.2 : carregarespecprod( ) O asterisco, no número de seqüência, indica que a mensagem ocorre em uma seção que se repete 1.2.1* : criar(cup,preço,descrição) ep:especificaçãodeproduto

48 Comentários Multiplicidade : observe que a loja cria somente um objeto TPV. Persistência: num sistema real, Persistência: num sistema real, Especificação de Produto residirá num meio de armazenamento permanente (Disco + SGBD)

49 Como ligar a camada de apresentação à camada do domínio :TPVApplet 1: criar() Loja:Loja 2 p:= gettpv:tpv Uma vez que o applet tem uma conexão para a instância de TPV, ele pode repassar ao mesmo mensagens de eventos do sistema: entraritem(), terminarvenda() e outras.

50 Como ligar a camada de apresentação à camada do domínio Camada de apresentação (Applet Java) Camada do Domínio aoentraritem() :TPVApplet 1: entraritem(cup,qtd) Evento do sistema tpv:tpv

51 Como ligar a camada de apresentação Camada de apresentação à camada do domínio Para obter o subtotal corrente, o TPVAPPLET: aoentraritem() :TPVApplet 3: t:=total(): Float Obtém uma referência para a venda Armazena essa referência em um atributo Envia uma mensagem total para a Venda para obter a informação necessária para exibir o total corrente na janela Camada do Domínio tpdv:tpv 1:entrarItem(cup,qtd) venda:venda 2 :[nenhuma venda] venda:=getvenda ( ) : Venda

52 Responsabilidades das camadas de apresentação e do domínio A camada de apresentação não deve ter responsabilidades sobre a lógica da aplicação. Camada de apresentação deve ser responsável somente por tarefas de apresentação (interface), tais como atualizar widgets (componentes da interface) A camada de apresentação deve repassar todas as solicitações para a camada do domínio.

53 Resumo Projetar interações de mensagens e atribuir responsabilidades é a parte principal do projeto OO. Essas escolhas de projeto tem um impacto profundo sobre a capacidade de extensão, clareza, facilidade de manutenção de um sistema de software OO e sobre o grau de qualidade dos componentes reutilizáveis. Os padrões GRASP resumem alguns dos princípios mais gerais e mais comuns usados por projetistas de sistemas OO (princípios de bons projetos)

54 Próxima aula Refinar Plano Sincronizar artefatos Analisar Projetar Construir Testar 1. Definir Casos de Uso Reais 3. Refinar a arquitetura do sistema 5. Visibilidade e Diagramas de Classes de Projeto 2. Definir Relatórios, IU e Storyboards 4. Definir diagramas de interação 6. Definir o Esquema Do Banco de Dados

55

Análise e Projeto Orientados a Objetos: Visibilidade Diagrama de Classe de Projeto

Análise e Projeto Orientados a Objetos: Visibilidade Diagrama de Classe de Projeto UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientados a Objetos: Visibilidade Diagrama de Classe

Leia mais

Estudo de Caso TPV: do Projeto para a Codificação

Estudo de Caso TPV: do Projeto para a Codificação UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Projeto e Desenvolvimento de Sistemas de Informação Estudo de Caso

Leia mais

Contratos O diagrama de sequência não menciona a funcionalidade das operações. Isto é, o comportamento do sistema Contrato é um documento que

Contratos O diagrama de sequência não menciona a funcionalidade das operações. Isto é, o comportamento do sistema Contrato é um documento que Contratos Contratos O diagrama de sequência não menciona a funcionalidade das operações. Isto é, o comportamento do sistema Contrato é um documento que descreve o que uma operação promete cumprir As pré-

Leia mais

Visibilidade e Diagrama de Classe de Projeto Estudo de Caso Sistema TPV

Visibilidade e Diagrama de Classe de Projeto Estudo de Caso Sistema TPV UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Visibilidade e Diagrama de Classe de Projeto Estudo de Caso Sistema

Leia mais

GRASP: PADRÕES PARA ATRIBUIÇÃO DE RESPONSABILIDADES. SSC 124 Análise e Projeto Orientado a Objeto Profa. Dra. Elisa Yumi Nakagawa

GRASP: PADRÕES PARA ATRIBUIÇÃO DE RESPONSABILIDADES. SSC 124 Análise e Projeto Orientado a Objeto Profa. Dra. Elisa Yumi Nakagawa GRASP: PADRÕES PARA ATRIBUIÇÃO DE RESPONSABILIDADES SSC 124 Análise e Projeto Orientado a Objeto Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2016 1 RESPONSABILIDADE Responsabilidade um contrato ou

Leia mais

Diagrama de Comunicação. SSC 526 Análise e Projeto Orientado a Objeto Profa. Dra. Elisa Yumi Nakagawa

Diagrama de Comunicação. SSC 526 Análise e Projeto Orientado a Objeto Profa. Dra. Elisa Yumi Nakagawa Diagrama de Comunicação SSC 526 Análise e Projeto Orientado a Objeto Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2013 1 2 O que já foi visto até agora Casos de Uso Completo Abstrato Diagrama de Casos

Leia mais

Conteúdo. 1. Introdução. 2. Levantamento de Requisitos. 3. Análise Orientada a Objetos. 4. Projeto Orientado a Objetos 5. UML. 6.

Conteúdo. 1. Introdução. 2. Levantamento de Requisitos. 3. Análise Orientada a Objetos. 4. Projeto Orientado a Objetos 5. UML. 6. Conteúdo 1. Introdução 2. Levantamento de Requisitos 3. Análise Orientada a Objetos 4. Projeto Orientado a Objetos 5. UML 6. Métodos Ágeis Projeto Orientado a Objetos Definição das Operações Responsabilidade

Leia mais

ANÁLISE E PROJETO ORIENTADO A OBJETO (Parte 3)

ANÁLISE E PROJETO ORIENTADO A OBJETO (Parte 3) ANÁLISE E PROJETO ORIENTADO A OBJETO (Parte 3) Profª Andrea Padovan Jubileu Desenvolvimento Iterativo de Software (LARMAN, 2007) Desenvolvendo Software com UML 2.0 (MEDEIROS, 2004) Modelo de Projeto O

Leia mais

DIAGRAMA DE COMUNICAÇÃO. SSC 124 Análise e Projeto Orientado a Objeto Profa. Dra. Elisa Yumi Nakagawa

DIAGRAMA DE COMUNICAÇÃO. SSC 124 Análise e Projeto Orientado a Objeto Profa. Dra. Elisa Yumi Nakagawa DIAGRAMA DE COMUNICAÇÃO SSC 124 Análise e Projeto Orientado a Objeto Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2016 1 O QUE JÁ FOI VISTO ATÉ AGORA Casos de Uso Completo Abstrato Diagrama de Casos

Leia mais

Análise e Projeto de Software Parte II. Marcos Dósea

Análise e Projeto de Software Parte II. Marcos Dósea Análise e Projeto de Software Parte II Marcos Dósea marcosdosea@gmail.com Agenda Aula III Análise de Software Orientado à Objetos Motivação Marcos Dósea marcosdosea@gmail.com O que é análise e projeto?

Leia mais

DIAGRAMA DE COMUNICAÇÃO

DIAGRAMA DE COMUNICAÇÃO Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação DIAGRAMA DE COMUNICAÇÃO SSC 621: Análise e Projeto Orientados a Objetos Prof. Dr. Lucas Bueno R. Oliveira 2º Semestre 2015 O

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Modelo Conceitual 879 Projeto e Desenvolvimento de Sistemas de Informação

Leia mais

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.

Leia mais

PROJETO DE ARQUITETURA

PROJETO DE ARQUITETURA PROJETO DE ARQUITETURA Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Próximas aulas: Seminários de Padrões de Projeto GoF 1º Dia: 10/11/2017, 08h 10h, Sala 04 2º Dia:

Leia mais

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

PROJETO DE ARQUITETURA (PARTE 2)

PROJETO DE ARQUITETURA (PARTE 2) PROJETO DE ARQUITETURA (PARTE 2) Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... 5ª Lista de Exercícios Já está disponível no site a 5ª Lista de Exercícios Entrega: dia

Leia mais

Análise Orientada a Objetos. Análise e Projeto

Análise Orientada a Objetos. Análise e Projeto Análise Orientada a Objetos Análise e Projeto Análise versus Projeto Foco no entendimento do problema Projeto idealizado Comportamento Estrutura do sistema Requisitos funcionais Modelos simples Foco no

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador) Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual

Leia mais

Padrões para atribuir responsabilidades: Expert

Padrões para atribuir responsabilidades: Expert Padrão para atribuir responsabilidades: Expert Introdução Um sistema OO é composto de objetos que enviam mensagens uns para os outros Uma mensagem é um método executado no contexto de um objeto Escolher

Leia mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos Banco de Dados Parte 2 Prof. Leonardo Vasconcelos - Conceitos e Arquiteturas de SBD Modelos de dados: conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados. Permitem

Leia mais

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

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP AULA 2 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

Padrões de Projeto de Software

Padrões de Projeto de Software Padrões de Projeto de Software Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático Padrões Básicos Information Expert Creator High Cohesion Low Coupling Controller Padrões Avançados

Leia mais

Aula 7 Visibilidade entre objetos e Diagramas de Classes

Aula 7 Visibilidade entre objetos e Diagramas de Classes Departamento de Sistemas de Computação Universidade de São Paulo SSC 124 Análise e Projeto Orientados a Objetos Aula 7 Visibilidade entre objetos e Diagramas de Classes Responsável Prof. Seiji Isotani

Leia mais

Engenharia de Software II

Engenharia de Software II Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Engenharia de Software II Aula 01 (rogerio@fct.unesp.br) Bibliografia Básica PRESSMAN, R.

Leia mais

Diagrama de Colaboração Exemplos - Padrões GRASP Diagrama de Classes

Diagrama de Colaboração Exemplos - Padrões GRASP Diagrama de Classes Diagrama de Colaboração Exemplos - Padrões GRASP Diagrama de Colaboração Exemplos - Padrões GRASP Diagrama de Colaboração Exemplos - Padrões GRASP Diagrama de Classes Modelo de classes de especificação

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

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

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de

Leia mais

Sistema de Reparo de Buracos

Sistema de Reparo de Buracos IBILCE UNESP Departamento de Ciências de Computação e Estatística Profa. Dra. Inês Ap.Gasparotto Boaventura 879 - PROJETO E DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO Projeto para ser Desenvolvido em Grupo

Leia mais

Diagramas de Sequência e Contrato das Operações

Diagramas de Sequência e Contrato das Operações UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Projeto e Desenvolvimento de Sistemas de informação Comportamento

Leia mais

Persistência de Objetos

Persistência de Objetos Persistência de Objetos Objetos Persistentes ì Objetos Persistentes: são objetos que requerem armazenamento persistente. Exemplo: Instâncias da classe Descrição Produto devem ser armazenadas em uma base

Leia mais

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011 Banco de Dados Aula 2 - Prof. Bruno Moreno 19/08/2011 Aula passada.. Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza

Leia mais

Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java

Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java Grupo de Usuários Java do Noroeste Paulista Tópicos Avançados em Java Aula 1 Objetivos Programa exemplo; Programação Orientada a Objetos. Conceitos Orientada a Objetos Mundo real Conceitos Orientada a

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

UML. Rodrigo Leite Durães.

UML. Rodrigo Leite Durães. UML Rodrigo Leite Durães. rodrigo_l_d@yahoo.com.br O que é Análise de Software? UML: É o estágio de um sistema que captura os requisitos e o domínio do problema, focalizando no que deve ser feito, não

Leia mais

Orientação a Objetos e Java

Orientação a Objetos e Java Orientação a Objetos e Java Daves Martins davesmartins@yahoo.com.br Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características

Leia mais

27/02/2016 UML. Prof. Esp. Fabiano Taguchi DIAGRAMAS DE SEQUÊNCIA

27/02/2016 UML. Prof. Esp. Fabiano Taguchi  DIAGRAMAS DE SEQUÊNCIA UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DIAGRAMAS DE SEQUÊNCIA DIAGRAMA DE SEQUENCIA Preocupa-se com a ordem temporal em que as mensagens são trocadas,

Leia mais

Projeto de Sistemas; Projeto Orientado a Objetos; Estruturação em Camadas; Projeto Orientado a Objetos em Camadas; Um Exemplo Ilustrativo.

Projeto de Sistemas; Projeto Orientado a Objetos; Estruturação em Camadas; Projeto Orientado a Objetos em Camadas; Um Exemplo Ilustrativo. ESPECIALIZAÇÃO EM GESTÃO DE TECNOLOGIAS DA INFORMAÇÃO Projeto Orientado a Objetos AULA 04 Projeto de Sistemas; Projeto Orientado a Objetos; Estruturação em Camadas; Projeto Orientado a Objetos em Camadas;

Leia mais

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,

Leia mais

3 Ferramenta Proposta 3.1. Objetivos

3 Ferramenta Proposta 3.1. Objetivos 3 Ferramenta Proposta 3.1. Objetivos O objetivo deste trabalho é a criação de um framework de testes que incorpore algumas das novas idéias encontradas na literatura. Sua principal característica deve

Leia mais

MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão

MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão Unidade 4 Modelo de Classes de Projeto Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático Definição da Visibilidade entre Objetos Adição de Operações às Classes de Projeto Adição

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador) Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado

Leia mais

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Matéria Introdutória Banco de Dados Motivação Necessidade de armazenar grandes quantidades de dados Necessidade de acessar as informações de maneira eficiente e segura Evolução histórica: desenvolvimento

Leia mais

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Paradigmas de Programação Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Paradigmas de Programação: Programação sequencial A solução para o problema se da através

Leia mais

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Banco de Dados (BD) é o arquivo físico, em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para

Leia mais

GRASP. Nazareno Andrade (baseado em Hyggo Almeida e Jacques Sauvé)

GRASP. Nazareno Andrade (baseado em Hyggo Almeida e Jacques Sauvé) GRASP Nazareno Andrade (baseado em Hyggo Almeida e Jacques Sauvé) O que vimos na última aula? Introdução a padrões O que são? Por que utilizá-los? Padrões GRASP O que são? Quais serão apresentados na disciplina?

Leia mais

Backup e Recuperação Guia do Usuário

Backup e Recuperação Guia do Usuário Backup e Recuperação Guia do Usuário Copyright 2009 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada da Microsoft Corporation nos Estados Unidos. As informações contidas neste documento

Leia mais

Levantamento de classes (Análise de casos de uso)

Levantamento de classes (Análise de casos de uso) Plano Levantamento de classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Levantamento no método APOO Projeto por padrões: MVC e Observador Estereótipos de classes Visão geral do método Engenharia

Leia mais

Modelagem de Sistemas. Análise de Requisitos. Modelagem

Modelagem de Sistemas. Análise de Requisitos. Modelagem Modelagem de Sistemas Teoria Geral de Sistemas TADS 2. Semestre Prof. André Luís Para abordarmos de forma mais profunda os conceitos de Modelagem de Sistemas de Informação, precisamos também falar na Engenharia

Leia mais

Unidade 4 Projeto de Banco de Dados

Unidade 4 Projeto de Banco de Dados Unidade 4 Projeto de Banco de Dados Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José

Leia mais

GEQ Prof. Paulo R. Coelho. Lista para prova

GEQ Prof. Paulo R. Coelho. Lista para prova GEQ007 2013 Prof. Paulo R. Coelho Lista para prova 7. Defina uma estrutura empregado para armazenar nome, data de nascimento, idade e salário de um empregado de uma empresa. Leia informações sobre 10 empregados

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 4 Design Baseado em Responsabilidades 1 Programa Capítulo 4 Design Baseado em Responsabilidades

Leia mais

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA Disciplina: Banco de Dados Prof: Márcio Palheta, Esp.

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br O que é?? 2 A UML

Leia mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

Leia mais

Revisando Banco de Dados. Modelo Relacional

Revisando Banco de Dados. Modelo Relacional : Revisando Banco de Dados Banco de Dados (BD) é o arquivo físico, em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para consulta e atualização pelo usuário. Sistema Gerenciador

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de POO Professor: Charles Leite Motivação Na Programação OO, um OBJETO é considerado a entidade central de um programa Assim, o desenvolvimento de

Leia mais

5 Arquitetura de implementação

5 Arquitetura de implementação Arquitetura de implementação 103 5 Arquitetura de implementação 5.1 Visão geral Nossa arquitetura é caracterizada pela construção de um ambiente para execução de aplicações hipermídia definidas segundo

Leia mais

Introdução ao Java. Prof. Herbert Rausch Fernandes

Introdução ao Java. Prof. Herbert Rausch Fernandes Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos

Leia mais

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ Centro de Tecnologia - CTC Departamento de Informática - DIN Programa de Pós-Graduação em Ciência da Computação PCC ESTÁGIO DE DOCÊNCIA II Disciplina: Engenharia

Leia mais

Processos ca 3 pítulo

Processos ca 3 pítulo Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém

Leia mais

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real: Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos

Leia mais

DIAGRAMAS DE CLASSE UML

DIAGRAMAS DE CLASSE UML DIAGRAMAS DE CLASSE UML Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Calendário de Reposições Aula 1: 27/10/2017, 8h-10h, Sala 8 Aula 2: A verificar Aula 3: A verificar

Leia mais

Interações entre objetos

Interações entre objetos Interações entre objetos 1 Interações! Interações mostram os aspectos dinâmicos de um sistema, enfatizando a troca de mensagens entre objetos! Dois diagramas podem ser usados para modelar as interações:

Leia mais

Engenharia de Software I

Engenharia de Software I FCT-UNESP Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 04 In a calm sea every man is a pilot. Engenharia de Software I Aula 4 Revisão

Leia mais

Modelagem Orientada a Objeto

Modelagem Orientada a Objeto UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Modelagem Orientada a Objeto Engenharia de Software 2o. Semestre de

Leia mais

Modelos de Sistemas Casos de Uso

Modelos de Sistemas Casos de Uso Modelos de Sistemas Casos de Uso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Casos de Uso Objetivos Principais dos Casos de Uso: Delimitação do contexto de

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

Análise e projeto de sistemas

Análise e projeto de sistemas Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os

Leia mais

Notação Básica dos Diagramas de Comunicação

Notação Básica dos Diagramas de Comunicação UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Notação Básica dos Diagramas de Comunicação Projeto e Desenvolvimento

Leia mais

Programação I 2º Bimestre (material 1)

Programação I 2º Bimestre (material 1) Programação I 2º Bimestre (material 1) Professor: José Ronaldo Leles Júnior Turma: 2º ano do curso de Sistemas de Informação UEG Universidade Estadual de Goiás Campus Posse Arranjos e matrizes - Arrays

Leia mais

Aula 3 POO 1 Classe e Objeto. Profa. Elaine Faria UFU

Aula 3 POO 1 Classe e Objeto. Profa. Elaine Faria UFU Aula 3 POO 1 Classe e Objeto Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

DMS - DOCUMENTO DE MODELAGEM DE SISTEMA VERSÃO: [NOME DO SISTEMA] [SIGLA] [AUTORES]

DMS - DOCUMENTO DE MODELAGEM DE SISTEMA VERSÃO: [NOME DO SISTEMA] [SIGLA] [AUTORES] DMS - DOCUMENTO DE MODELAGEM DE SISTEMA Este documento foi criado seguindo as recomendações e orientações do livro UML na Prática Do Problema ao Sistema e do modelo PRISM do MPDS (Modelo Prático para Desenvolvimento

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Classes, Atributos e Métodos Msc. Paulo de Tarso F. Júnior 1 Introdução Programas eram lineares e com poucos módulos: PE Programação Estruturada Aumento da complexidade

Leia mais

Interfaces e Classes Abstratas

Interfaces e Classes Abstratas Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos

Leia mais

Modelagem de Sistemas Web. Modelagem de BD

Modelagem de Sistemas Web. Modelagem de BD Modelagem de Sistemas Web Aula 9 Modelagem de BD OBS: Pré-requisito: noções intermediárias em BD e de modelo ER Fonte: Proj. e Mod. BD 4/E Capítulo: Análise de Req. E Mod. Dados Conceit. - Toby Teorey

Leia mais

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Prof. Dr. Ronaldo C. de Oliveira ronaldo.co@ufu.br www.facom.ufu.br/~ronaldooliveira FACOM - 2018 Diagramas de Interação de Objetos Diagramas de Interação O Diagrama de Interação

Leia mais

Infor LN Service Guia do usuário para o nivelamento da carga de trabalho

Infor LN Service Guia do usuário para o nivelamento da carga de trabalho Infor LN Service Guia do usuário para o nivelamento da carga de trabalho Copyright 2017 Infor Todos os direitos reservados. As marcas e logomarcas definidas aqui são marcas comerciais e/ou marcas comerciais

Leia mais

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática

Leia mais

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Lista de exercícios 6 Exercícios sobre repetição 1. Escreva um método que lê via teclado 8 números e retorna

Leia mais

Tópicos da Aula. Alguns Diagramas UML. Diagramas Principais. Diagramas de Interação: Sequência e Colaboração. Tipos de Diagramas de Interação

Tópicos da Aula. Alguns Diagramas UML. Diagramas Principais. Diagramas de Interação: Sequência e Colaboração. Tipos de Diagramas de Interação Engenharia de Software Aula 10 Tópicos da Aula Diagramas de Interação: Sequência e Colaboração Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 09 Abril 2012 Alguns Diagramas UML

Leia mais

ANÁLISE E PROJETO ORIENTADO A OBJETO

ANÁLISE E PROJETO ORIENTADO A OBJETO ANÁLISE E PROJETO ORIENTADO A OBJETO Profª Andrea Padovan Jubileu Desenvolvimento Iterativo de Software (LARMAN, 2007) Modelo de Domínio O que aconteceu na fase de Concepção? Duração: no máximo semana

Leia mais

Modelo de Dados Wendel Melo

Modelo de Dados Wendel Melo Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I Modelo de Dados 2 Modelos de Dados Modelo de dados: coleção de conceitos que podem ser

Leia mais

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação

Leia mais

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO REVISÃO POO INTRODUÇÃO À LINGUAGEM JAVA CRIANDO CLASSES EM JAVA Convenção de Nomes em Java Classes iniciam com letras maiúsculas Métodos, atributos e variáveis locais iniciam com minúsculas. Declaração

Leia mais

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto

Leia mais

Banco de Dados Relacional

Banco de Dados Relacional Centro Federal de Educação Tecnológica de Pernambuco Curso de Tecnologia em Sistemas de Informação Banco de Dados Relacional Renata Lúcia Mendonça Ernesto do Rêgo rlrego@yahoo.com 1 Plano de Ensino Objetivo

Leia mais

Análise e Projeto Orientados a Objetos

Análise e Projeto Orientados a Objetos Análise e Projeto Orientados a Objetos Modelagem conceitual do domínio Diretoria Acadêmica de Gestão e Tecnologia da Informação Introdução A modelagem do domínio está relacionada à descoberta das informações

Leia mais

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos

Leia mais

Aula 08 Relacionamento entre Objetos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Aula 08 Relacionamento entre Objetos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes Aula 08 Relacionamento entre Objetos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Antes de Iniciar... Vamos aprender um pouco de modelagem

Leia mais