Princípios de modelagem de Domínio e Projeto(design) de Software Parte 1

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

Download "Princípios de modelagem de Domínio e Projeto(design) de Software Parte 1"

Transcrição

1 Princípios de modelagem de Domínio e Projeto(design) de Software Parte 1 Prof. Gustavo Willam Pereira ENG10082 Programação II Créditos: Prof. Clayton Vieira Fraga Filho

2 Apesar de todas as vantagens que a OO pode trazer ao desenvolvimento de software, um problema fundamental ainda persiste: identificar corretamente e completamente objetos (classes), atributos e operações.

3 Projeto Um projeto de software é uma descrição da estrutura de software a ser implementada, dos dados que são partes do sistema, das interfaces entre os componentes do sistema e, algumas vezes, dos algoritmos utilizados.

4 Modelos de Domínio: na análise! É o modelo mais importante em análise OO Ilustra importantes conceitos em um domínio; Pode agir como fonte de inspiração para projetar alguns objetos; O modelo de domínio é a representação visual de classes conceituais, ou objetos do mundo real em um domínio. Também são chamados de modelos conceituais.

5 Modelos de Domínio class modelodominio Modelo de Domínio - data Venda 1 1..* LinhadeVenda - quantidade Requisitos e Casos de Uso Conceitos, associações Realizar venda Importar produtos Emitir Nota Fiscal Inspiram Nomes de Classes de projeto class proj eto Projeto Venda - data: Date 1 +itens 1..* LinhadeVenda - quantidade: double + calculatotal() : void

6 Modelos de Domínio Regra: Evite um esforço grande de modelagem pensando na abordagem para fazer um modelo completo ou correto ele nunca será. Esforços excessivos de modelagem levam à paralisia de análise com pequeno ou nenhum retorno.

7 Modelos de Domínio Descreve: Objetos do domínio ou classes conceituais; Associações entre classes conceituais; Atributos de classes conceituais;.

8 Técnicas de Identificação de Classes Uma das tarefas mais importantes e difíceis no desenvolvimento de software OO é a identificação das classes necessárias e suficientes para compor o sistema. Independentemente da técnica utilizada, esta tarefa se subdivide em duas: Classes candidatas (entidades que podem vir a se tornar classes) são identificadas; São aplicados alguns princípios para eliminar classes candidatas que são desnecessárias.

9 Técnicas de Identificação de Classes Várias técnicas (de uso não exclusivo) são usadas para identificar classes: 1. Categorias de Conceitos 2. Análise Textual de Abbott (Abbott Textual Analysis) 3. Análise de Casos de Uso Categorização BCE 4. Padrões de Análise (Analisys Patterns) 5. Identificação Dirigida a Responsabilidades 9

10 Categorias de Conceitos Estratégia: usar uma lista de conceitos comuns. Conceitos concretos. Por ex., edifícios, carros, salas de aula, etc. Papéis desempenhados por seres humanos. Por exemplo, professores, alunos, empregados, clientes, etc. Eventos, ou seja, ocorrências em uma data e em uma hora particulares. Por exemplo, reuniões, pedidos, aulas, etc. Lugares: áreas reservadas para pessoas ou coisas. Por exemplo: escritórios, filiais, locais de pouso, salas de aula, etc. Organizações: coleções de pessoas ou de recursos. Por exemplo: departamentos, projetos, campanhas, turmas, etc. Conceitos abstratos: princípios ou idéias não tangíveis. Por exemplo: reservas, vendas, inscrições, etc. 10

11 Análise Textual de Abbott Estratégia: identificar termos da narrativa de casos de uso e documento de requisitos que podem sugerir classes, atributos, operações. São utilizadas diversas fontes de informação sobre o sistema: documento de requisitos, modelos do negócio, glossários, conhecimento sobre o domínio, etc. Para cada documento, os nomes (substantivos e adjetivos) que aparecem no mesmo são destacados (são também consideradas locuções equivalentes a substantivos.) Após isso, os sinônimos são removidos (permanecem os nomes mais significativos para o domínio do negócio em questão). 11

12 Análise Textual de Abbott Cada termo remanescente se encaixa em uma das situações a seguir: O termo se torna uma classe (ou seja, são classes candidatas); O termo se torna um atributo; O termo não tem relevância alguma com a SSOO (solução de software orientada a objetos). Técnica análoga foi sugerida pelo mesmo autor para a identificação de operações de uma classe e de associações entre classes. Para isso, sugere que se destaquem os verbos no texto o Verbos com sentido de ação (e.g., calcular, confirmar, cancelar, comprar, fechar, estimar, depositar, sacar, etc.) operações em potencial. A classe à que a operação pertencerá é aquela que ocupa o valor de sujeito na frase do verbo em questão. Outras informações relevantes podem ser encontradas no complemento da frase. o Verbos com sentido de ter agregações ou composições em potencial. o Verbos com sentido de ser generalizações em potencial. 12 o Demais verbos associações em potencial

13 Análise Textual de Abbott

14 Análise Textual de Abbott Vantagem: simplicidade da sua aplicação. Desvantagem: seu resultado (as classes candidatas identificadas) depende de os documentos utilizados como fonte serem completos. Dependendo do estilo que foi utilizado para escrever os documentos, essa técnica pode levar à identificação de diversas classes candidatas que não gerarão classes reais, ou o que é mais grave, pode omitir uma classe crucial para o sistema. A análise do texto de um documento pode não deixar explícita uma classe importante para o sistema. Em linguagem natural, as variações lingüísticas e as formas de expressar uma mesma idéia são bastante numerosas. 14

15 Análise Textual de Abbott: Exemplo Desenvolva a modelagem de uma sistema para controle de processos jurídicos, através do diagrama de classes, de acordo com as seguintes informações: O escritório possui um cadastro de diversas pessoas que participam de processos como clientes ou com partes contrárias. Uma pessoa pode ser tanto física como jurídica e pode ter sido cliente do escritório em uma determinada época e parte contrária em outra. Existe uma grande quantidade de processos cadastrados, alguns concluídos outros em andamento. Cada processo deve armazenar informações como o número do processo, o tribunal e a vara em que ele tramita, o cliente ao qual o processo se refere, a parte contrária envolvida, a data de abertura do processo e sua possível data de conclusão.

16 Análise Textual de Abbott: Exemplo Escritório de Advocacia (cont.) Um processo deve tramitar em um determinado tribunal e em uma determinada vara, no entanto um tribunal pode julgar muitos processos e uma vara pode possuir diversos processos tramitando nela. Um tribunal pode possuir diversas varas, porem um processo julgado por um determinado tribunal só pode tramitar em uma das varas pertencentes ao mesmo. O advogado pode achar necessário emitir relatórios de todos os processos em andamento em um determinado tribunal e tramitando em uma determinada vara.

17 Análise Textual de Abbott: Exemplo Escritório de Advocacia (cont.) Cada processo possui no mínimo uma audiência e pode possuir diversas. Cada audiência é relativa a um determinado processo. Para fins de histórico do processo, cada audiência deve ser registrada, devendo-se cadastrar a data e a recomendação do tribunal relativa a cada uma das audiências do processo. Um processo pode gerar custas (despesas com xerox, viagens, etc.). Cada custa deve ser armazenada de forma a ser cobrada da parte contrária caso o processo seja ganho. O registro de uma custa deve conter a data em que ela foi gerada, sua descrição e o valor gasto.

18 Análise Textual de Abbott: Exemplo 2 Desenvolva a modelagem de uma sistema para controle de vendas de passagens aéreas por uma empresa aérea, através do diagrama de classes, de acordo com as seguintes informações: Uma empresa aérea realiza venda de passagens a diversos clientes. No entanto uma passagem se refere a um cliente específico. A empresa mantém um cadastro de todos os clientes que já foram passageiros de algum vôo. Para cada cliente deve-se armazenar informações como: nome, telefone, endereço, CPF, cidade e estado. Um vôo pode ter muitos passageiros, no entanto cada passagem se refere exclusivamente a um vôo específico. Ao adquirir uma passagem o cliente pode realizar seu pagamento através de dinheiro ou cartão de crédito, podendo ser parcelada.

19 Análise Textual de Abbott: Exemplo 2 Venda de Passagens Aereas (cont.) Um vôo pode fazer escalas em diversos aeroportos, ou seja, pode ter diversos destinos e um aeroporto pode ser destino de muitos vôos. Os vôos são identificados através de um Número, contendo também a data. A empresa mantém um cadastro de todos os aeroportos para onde oferece vôos. Para cada escala de um vôo deve-se armazenar o horário de saída e o horário de chegada. Um aeroporto está localizado em uma cidade específica, mas uma cidade pode possuir muitos aeroportos. Um aeroporto pode ser a origem ou o destino de muitas escalas, no entanto, um determinado aeroporto só pode ser a origem ou o destino de uma determinada escala, nunca os dois ao mesmo tempo. Ao adquirir uma passagem em um vôo, ela pode compreender apenas à um trecho do vôo (escala), ou à vários trechos. O preço total da passagem será calculada de acordo com o valor de cada trecho compreendido.

20 Análise de Casos de Uso Também chamada de identificação dirigida por casos de uso Técnica preconizada pelo Processo Unificado. Modelos de casos de uso utilizado como ponto de partida. Premissa: um caso de uso corresponde a um comportamento específico do SSOO esse comportamento só pode ser produzido por objetos que compõem o sistema. Ou seja: a realização de um caso de uso é responsabilidade de um conjunto de objetos que devem colaborar para produzir o resultado daquele caso de uso. Com base nisso, aplica-se a técnica de análise dos casos de uso para identificar as classes necessárias à produção do comportamento que está documentado na descrição do caso de uso. 20

21 Casos de Uso Níveis de detalhamento de um Caso de Uso Descrição Alto Nível; Descrição Casual; Descrição Expandida.

22 Casos de Uso Descrição Alto Nível Consiste em um parágrafo que explica sucintamente o objetivo e o funcionamento do caso de uso. Não é objetivo da descrição alto nível o detalhamento de todas as possíveis exceções do processo. Caso de Uso: Emprestar Fitas Um cliente solicita a locação de algumas fitas. Após se identificar e escolher as fitas, ele pode levá-las para casa, ciente do prazo de devolução e do valor a ser pago.

23 Casos de Uso Descrição Casual Indica algumas exceções importantes, mas não necessariamente todas. Apenas a versão expandida da fase de elaboração é que vai tentar esgotar todas as possibilidades. Caso de Uso: Emprestar Fitas Um cliente solicita a locação de algumas fitas. Após se identificar e se não houver problemas no seu cadastro e se as fitas não estiverem reservadas para outro cliente, ele pode levá-las para casa, ciente do prazo de devolução e do valor a ser pago.

24 Casos de Uso Expansão dos Casos de Uso A expansão consiste basicamente de: Identificar a seqüência de passos principal (fluxo principal) Identificar as seqüências alternativas e exceções, ou seja, os fluxos específicos para tratamento de exceções.

25 Casos de Uso Exemplo: Caso de Uso Emprestar Fitas Fluxo Principal 1.O cliente chega ao balcão com as fitas que deseja locar. 2.O cliente informa o seu nome e entrega as fitas ao funcionário. 3.O funcionário registra o nome do cliente e inicia a locação. 4.O funcionário registra cada uma das fitas. 5.O funcionário finaliza a locação, devolve as fitas ao cliente e lhe informa a data de devolução e o valor total da locação. 6.O cliente deixa a locadora com as fitas. Exceções O cliente não possui cadastro 1.O cliente deve informar seus dados para cadastro. 2.O funcionário registra o cadastro 3.Retorna ao Fluxo Principal no passo 3. O cliente possui pendências (débito) 1.O cliente paga seu débito. 2.O funcionário registra a quitação do débito, eliminando assim a pendência 3.Retorna ao fluxo principal no passo 3.

26 Casos de Uso Fluxo Principal 1. Duas pessoas podem descrever casos de uso com uma sequência de passos diferente. 2. Todo caso de uso possui passos obrigatórios e esses passos envolvem informações que passam dos atores para o sistema e vice-versa. 3. Passos como Perguntar o nome do cliente são opcionais.

27 Casos de Uso Fluxo Principal Como o caso de uso é uma descrição da interação entre os atores e o sistema, deve-se evitar descrever passos internos do sistema, por exemplo O sistema armazena a informação no banco de dados. System

28 Casos de Uso Fluxo Principal: passos obrigatórios Todos os passos que indicam troca de informações entre os atores e o sistema. Por que esses passos são obrigatórios? Caso de Uso: Reservar um filme (errado) 1.O cliente entre em contato com o funcionário da videolocadora. 2.O cliente informa seu nome. 3.O cliente solicita uma reserva. 4.O funcionário confirma a reserva.

29 Casos de Uso Fluxo Principal: passos obrigatórios Como seria um dialógo entre um cliente e o funcionário? Reservar um filme (errado) Cliente:Boa tarde! Funcionário: Boa tarde! Em que posso serví-lo? Cliente: Meu nome é João e eu gostaria de reservar um filme. Funcionário: Pois não, senhor. Acabo de efetuar a reserva. Cliente: Grato! Exemplo: No fluxo principal da locação de fitas deve conter obrigatoriamente os passos que indicam os momentos nos quais o funcionário registra o nome do cliente e a identificação das fitas.

30 Casos de Uso Fluxo Principal: passos obrigatórios O Caso de Uso correto seria: Caso de Uso: Reservar um filme 1.O cliente entre em contato com o funcionário da videolocadora 2.O cliente informa seu nome. 3.O cliente solicita uma reserva, informando o nome do filme. 4.O funcionário confirma a reserva, informando o prazo de validade. 1. A informação obrigatória precisa estar presente no Caso de Uso, pois será necessário estabelecer quais serão os métodos que devem ser implementados pelo sistema.

31 Casos de Uso Fluxo Principal: passos obrigatórios Os passos obrigatórios em um caso de uso pode ser de dois tipos: a)eventos de Sistema: são passos indicativos de que alguma informação é passada dos atores para o sistema. b)respostas Caso de Uso: do Reservar sistema: um São filme passos indicativos de que alguma informação é passada do sistema para os atores. 1.O cliente entre em contato com o funcionário da videolocadora 2.[EV] O cliente informa seu nome. 3.[EV] O cliente solicita uma reserva, informando o nome do filme. 4.[RS] O funcionário confirma a reserva, informando o prazo de validade.

32 Casos de Uso Fluxo Principal: passos complementares Corresponde normalmente à comunicação entre os atores (sem envolvimento do sistema), exemplo O cliente chega ao balcão com as fitas que deseja locar. Descrição de ações ou atitudes dos atores, por exemplo O cliente chega ao balcão com as fitas que deseja locar, ou o cliente vai embora com as fitas. Perguntas ou interações cujo objetivo não é passar informação, mas indicar a mudança de estado, como por exemplo: O sistema informa que a reserva foi feita com êxito.

33 Casos de Uso Fluxo Principal: passos complementares Os passos complementares não são fundamentais na versão essencial do Caso de Uso, mas podem ser importantes no caso de uso de projeto (Real), exemplo: O cliente seleciona a opção reserva no menu de opções. O exemplo não representa uma operação do sistema, pois o cliente não passou nenhuma informação ao sistema. A ação consiste apenas em uma mudança de estado, que possivelmente corresponderá a uma navegação na interface.

34 Casos de Uso Fluxo Principal: passos não recomendados Caso de Uso: Emprestar fitas (errado) 1.O cliente chega ao balcão com as fitas que deseja emprestar. 2.O cliente informe o nome. 3.O funcionário registra o nome do cliente. 4.O sistema verifica se o cliente tem cadastro e se o cliente não está suspenso por não-pagamento de empréstimos anteriores. 5.O funcionário registra cada uma das fitas. 6.O sistema verifica no banco de dados o registro das fitas e marca cada uma como emprestada. Posteriormente, o sistema adiciona cada fita ao empréstimo corrente e soma o valor das fitas ao total do empréstimo. 7.O funcionário encerra o empréstimo. 8.O cliente vai embora com as fitas.

35 Casos de Uso Tratamento de exceções Fluxo Principal Fluxo alternativo Fluxo de exceção 35

36 Casos de Uso Tratamento de exceções Após elaborar o fluxo principal é preciso descrever o que poderia dar errado em cada um dos passos descritos. Uma exceção não é necessariamente um evento que ocorra raramente, mas um evento capaz de impedir o prosseguimento do caso de uso se não for devidamente tratado. Exemplo: No pagamento de uma conta pode ser usado cheque, cartão ou dinheiro. Mesmo que 1% das contas sejam recebidas em dinheiro e 99% em cheque ou cartão, isso não torna o pagamento em dinheiro uma exceção, mas uma opção pouco freqüente. O fato do cliente não ter meios para pagar a conta é uma exceção, pois impede que o processo seja concluído. 36

37 Tratamento de exceções Exceções ocorrem normalmente nos passos que correspondem aos eventos dos sistema [EV], ou seja quando a informação é passada do ator para o sistema. Nestes casos o sistema normalmente realiza algumas validações, exemplo do caso de uso Emprestar fitas: OK OK FE1 OK OK OK Casos de Uso FLUXO PRINCIPAL 1. O cliente chega ao balcão com as fitas que deseja locar. 2. O cliente informa o seu nome e entrega as fitas ao funcionário. 3. [EV] O funcionário registra o nome do cliente e inicia a locação. 4. [EV] O funcionário registra cada uma das fitas. 5. O funcionário finaliza a locação, devolve as fitas ao cliente e lhe informa a data de devolução e o valor total da locação. FE1. O cliente não possui cadastro 1. O cliente deve informar seus dados p/ cadastro. 2. [EV] O funcionário registra o cadastro 3. Retorna ao Fluxo Principal no passo 3. Neste momento o sistema realiza uma consulta (que não é representada no caso de uso) para verificar se o cliente está cadastrado: O cliente é cadastrado? NÃO!!! 37

38 Casos de Uso Tratamento de exceções Outras exceções possíveis para o caso de uso Emprestar fitas O cliente tem crédito? O número máximo de locações foi excedido? 38

39 Casos de Uso Tratamento de exceções Um tratamento de exceção tem pelo menos 4 elementos: Identificador: Corresponde ao número da linha do fluxo principal ou do fluxo alternativo onde a exceção ocorre. Exemplo: Fluxo Principal 1.O cliente chega ao balcão com as fitas que deseja locar. 2.O cliente informa o seu nome e entrega as fitas ao funcionário. 3.[EV] O funcionário registra o nome do cliente e inicia a locação. 4.[EV] O funcionário registra cada uma das fitas. 5.O funcionário finaliza a locação, devolve as fitas ao cliente e lhe informa a data de devolução e o valor total da locação. 6.O cliente deixa a locadora com as fitas. 3a. O cliente não possui cadastro 1.O cliente deve informar seus dados para cadastro. 2.[EV] O funcionário registra o cadastro 3.Retorna ao Fluxo Principal no passo 3. 39

40 Casos de Uso Tratamento de exceções Fluxo Principal 1.O cliente chega ao balcão com as fitas que deseja locar. 2.O cliente informa o seu nome e entrega as fitas ao funcionário. 3.[EV] O funcionário registra o nome do cliente e inicia a locação. [FE1] 4.[EV] O funcionário registra cada uma das fitas. 5.O funcionário finaliza a locação, devolve as fitas ao cliente e lhe informa a data de devolução e o valor total da locação. 6.O cliente deixa a locadora com as fitas. FE1: O cliente não possui cadastro 1.O cliente deve informar seus dados para cadastro. 2.[EV] O funcionário registra o cadastro 3.Retorna ao Fluxo Principal no passo 3. 40

41 Casos de Uso Tratamento de exceções Exceção: Uma frase que explica qual exceção ocorreu, pois em uma mesma linha podem ocorrer diferentes tipos de exceções. Exemplo: Ações corretivas: uma seqüência de ações que devem ser executadas para corrigir a exceção. Finalização: última linha do fluxo que indica se e como o caso de uso retorna ao fluxo principal depois das ações corretivas. Fluxo Principal 1.O cliente chega ao balcão com as fitas que deseja locar. 2.O cliente informa o seu nome e entrega as fitas ao funcionário. 3.[EV] O funcionário registra o nome do cliente e inicia a locação. [FE1] [FE2] 4.[EV] O funcionário registra cada uma das fitas. 5.O funcionário finaliza a locação, devolve as fitas ao cliente e lhe informa a data de devolução e o valor total da locação. 6.O cliente deixa a locadora com as fitas. FE1: O cliente não possui cadastro 1.O cliente deve deve informar informar seus seus dados dados para cadastro. para cadastro. funcionário registra o cadastro 2.[EV] O funcionário registra o cadastro 3.Retorna ao Fluxo Principal - passo 3. 3.Retorna ao Fluxo Principal - passo 3. FE2: O cliente possui pendências (débito) cliente paga seu débito. 1.O cliente paga seu débito. 2.[EV] funcionário registra a quitação do débito, eliminando assim a 2.[EV] pendência O funcionário registra a quitação do débito, eliminando assim a pendência 3.Retorna ao fluxo principal no passo 3. 3.Retorna ao fluxo principal no passo 3. 41

42 Casos de Uso: Devolver Fitas Variantes do fluxo principal (Fluxos alternativos) Admite-se que o Fluxo Principal seja uma seqüência não ramificadas de passos, mas algumas vezes é necessário representar fluxos alternativos. 1. O cliente entrega as fitas que deseja devolver FLUXO PRINCIPAL 2. [EV] O funcionário identifica cada uma das fitas. 3. [EV] O funcionário indica que não há mais fitas para devolver. 4. [RS] O sistema informa o valor total a ser pago. 5. O cliente realiza o pagamento 6. O funcionário conclui a devolução. Dinheiro? Cheque? Cartão? 42

43 Casos de Uso Exemplo: Caso de Uso: Devolver fitas Fluxo Principal 1.O cliente entrega as fitas que deseja devolver 2.O funcionário identifica cada uma das fitas. 3.O funcionário indica que não há mais fitas para devolver. 4.O sistema informa o valor total a ser pago. 5.O cliente realiza o pagamento: 1. Dinheiro - Ver variante Cheque - Ver variante Cartão - Ver variante O funcionário conclui a devolução. 5.1: Dinheiro: O cliente entrega a quantia em dinheiro O funcionário registra a quantia O sistema informa o troco O funcionário entrega o troco ao cliente. 5.2: Cheque: O cliente entrega o cheque O funcionário solicita a presença do gerente O gerente dá o visto no cheque. 5.3: Cartão: O cliente entrega o cartão de crédito O funcionário envia a informação sobre o cartão para o serviço de autorização, com o valor e o nome da loja O serviço de autorização envia o código O cliente confirma a autorização. 43

44 Casos de Uso Variantes do fluxo principal (Fluxos alternativos) Caso de Uso: Devolver fitas Fluxo Principal 1.O cliente entrega as fitas que deseja devolver 2.O funcionário identifica cada uma das fitas. 3.O funcionário indica que não há mais fitas para devolver. 4.O sistema informa o valor total a ser pago. 5.O cliente realiza o pagamento [FA1] [FA2] [FA3] 6.O funcionário conclui a devolução. [FA1] : Pagamento com Dinheiro: O cliente entrega a quantia em dinheiro O funcionário registra a quantia O sistema informa o troco O funcionário entrega o troco ao cliente. [FA2] : Pagamento com Cheque: O cliente entrega o cheque O funcionário solicita a presença do gerente O gerente dá o visto no cheque. [FA3] : Pagamento com Cartão: O cliente entrega o cartão de crédito O funcionário envia a informação sobre o cartão para o serviço de autorização, com o valor e o nome da loja O serviço de autorização envia o código O cliente confirma a autorização. 44

45 Análise de Casos de Uso Procedimento de aplicação: O modelador estuda a descrição textual de cada caso de uso para identificar classes candidatas. Para cada caso de uso, seu texto (fluxos principal, alternativos e de exceção, pós-condições e pré-condições, etc.) é analisado. Na análise de certo caso de uso, o modelador tenta identificar classes que possam fornecer o comportamento do sistema (de cada caso de uso). Na medida em que os casos de uso são analisados um a um, as classes do SSOO são identificadas. Quando todos os casos de uso tiverem sido analisados, todas as classes (ou pelo menos a grande maioria delas) terão sido identificadas. Na aplicação deste procedimento, pode-se utilizar a 45 categorização BCE.

46 Análise de Casos de Uso (continuação) Caso de Uso Essencial Cadastrar um cliente Fluxo principal 1. O cliente chega ao balcão para fazer seu cadastro 2. O atendente informe o procedimento e solicita o nome do cliente e um comprovante de renda (com valor total da renda atualizado) 3. [EV] O atendente registrar o nome e a renda do cliente 4. [RS] O sistema exibe a classificação do cliente e o percentual de desconto autorizado. 5. O atendente informa ao cliente que seu registro foi feito com sucesso. Fluxos de exceção FE1 - Cliente não lembra sua renda 1. O cliente não tem um comprovante de renda 2. O atendente solicita que seja providenciado 3. O cliente se dispõe a providenciar 4. O registro é suspenso. Fluxos alternativos Não há

47 Análise de Casos de Uso Categorização BCE Na categorização BCE, os objetos são agrupados de acordo com o tipo de responsabilidade a eles atribuída. Objetos de entidade: usualmente objetos do domínio do problema Objetos de fronteira: atores interagem com esses objetos Objetos de controle: atuam como intermediários entre objetos de fronteira e de entidade, definindo o comportamento de um caso de uso específico Categorização proposta por Ivar Jacobson em 1992 Possui correspondência com o framework model-viewcontroller (MVC) 47

48 Análise de Casos de Uso Categorização BCE Estereótipos na UML: «boundary», «entity», «control» 48

49 Análise de Casos de Uso Categorização BCE Objetos de Entidade Representam conceitos encontrados no domínio do problema (domínio do negócio) Servem como repositórios para informações e regras de negócio manipuladas pelo sistema. Características: Normalmente armazenam informações persistentes. Várias instâncias da mesma entidade existem no sistema. Participam de vários casos de uso e têm ciclo de vida longo. Exemplo: Um objeto Pedido participa dos casos de uso Realizar Pedido e Atualizar Estoque. Este objeto pode existir por diversos anos ou mesmo tanto quanto o próprio sistema. 49

50 Análise de Casos de Uso Categorização BCE Objetos de Entidade Responsabilidades típicas: 1. Informar valores de seus atributos a objetos requisitantes 2. Realizar cálculos ou impor restrições relativas a regras do negócio, normalmente com a colaboração de objetos entidade associados 3. Criar e destruir objetos-parte (para o caso de objetos-todo) 50

51 Análise de Casos de Uso Categorização BCE Objetos de Fronteira Realizam a comunicação do sistema com os atores traduzem os eventos gerados por um ator em eventos relevantes ao sistema eventos de sistema apresentam os resultados de uma interação dos objetos em algo que pode ser facilmente compreendido pelo ator Existem para que o sistema se comunique com o mundo exterior. Por conseqüência, são altamente dependentes do ambiente. 51

52 Análise de Casos de Uso Categorização BCE Objetos de Fronteira Dois tipos principais de objetos de fronteira: Os que se comunicam com o usuário (atores humanos): relatórios, páginas web, interfaces gráfica desktop, etc. Os que se comunicam com atores não-humanos: protocolos de comunicação. Sistemas externos Dispositivos atrelados ao sistema 52

53 Análise de Casos de Uso Categorização BCE Objetos de Fronteira Responsabilidades típicas Notificar aos demais objetos os eventos gerados pelo ambiente do sistema Notificar aos atores o resultado de interações entre os demais objetos Nomes de classes de Fronteira não devem conter verbos ou sugerir ações Devem lembrar qual o canal de comunicação com o mundo externo que a classe representa. Ex.:FormularioMatricula, SistemaFaturamento, LeitoraCartoes 53

54 Análise de Casos de Uso Categorização BCE Objetos de Controle São a ponte de comunicação entre objetos de fronteira e objetos de entidade. Responsáveis por controlar a lógica de execução correspondente a um caso de uso. Decidem o que o sistema deve fazer quando um evento de sistema ocorre. Eles realizam o controle do processamento Agem como gerentes (coordenadores, controladores) dos outros objetos para a realização de um caso de uso. Traduzem eventos de sistema em operações que devem ser realizadas pelos demais objetos. 54

55 Análise de Casos de Uso Categorização BCE Objetos de Controle Responsabilidades típicas: Realizar monitoramentos, a fim de responder a eventos do sistema (gerados por objetos de fronteira) Coordenar a realização de um caso de uso através do envio de mensagens a objetos de fronteira e objetos de entidade. Assegurar que as regras do negócio estão sendo seguidas corretamente. 55

56 Análise de Casos de Uso Categorização BCE Objetos de Controle Responsabilidades típicas: Coordenar a criação e remoção de associações entre objetos de entidade (embora isso possa ser feito pelos objetos de entidade). Criar e destruir objetos de entidade. Manter valores acumulados ou derivados durante a realização de um caso de uso. Manter o estado da realização do caso de uso. 56

57 Análise de Casos de Uso Importância da Categorização BCE A categorização BCE parte do princípio de que cada objeto em um SSOO é especialista em realizar um de três tipos de tarefa: comunicar com atores (fronteira), manter as informações (entidade) ou coordenar a realização de um caso de uso (controle). A categorização BCE é uma receita de bolo para identificar objetos participantes da realização de um caso de uso. A importância dessa categorização está relacionada à capacidade de adaptação a eventuais mudanças. Se cada objeto tem atribuições específicas dentro do sistema, mudanças podem ser menos complexas e mais localizadas. Uma modificação em uma parte do sistema tem menos possibilidades de resultar em mudanças em outras partes. 57

Casos de Uso. Prof. Clayton Vieira Fraga Filho site: www.claytonfraga.pro.br e-mail: claytonfraga@gmail.com ENG10015 Engenharia de Software

Casos de Uso. Prof. Clayton Vieira Fraga Filho site: www.claytonfraga.pro.br e-mail: claytonfraga@gmail.com ENG10015 Engenharia de Software Prof. Clayton Vieira Fraga Filho site: www.claytonfraga.pro.br e-mail: claytonfraga@gmail.com ENG10015 Engenharia de Software Um caso de uso descreve o que seu sistema faz para atingir determinado objetivo

Leia mais

Ricardo Roberto de Lima UNIPÊ 2008.1 APS-I. Históricos e Modelagem Orientada a Objetos

Ricardo Roberto de Lima UNIPÊ 2008.1 APS-I. Históricos e Modelagem Orientada a Objetos Históricos e Modelagem Orientada a Objetos Histórico Diversas metodologias e métodos surgiram para apoiar OO. Evolução a partir de linguagens C++ e SmallTalk. Anos 80 Anos 80-90: diversidade de autores.

Leia mais

O Processo Unificado: Captura de requisitos

O Processo Unificado: Captura de requisitos O Processo Unificado: Captura de requisitos Itana Gimenes Graduação em Informática 2008 Captura de Requisitos Modelagem do negócio: Visão de negócios Modelo de objetos de negócio de negócio Especificação

Leia mais

Princípios de modelagem de Domínio e Projeto(design) de Software Parte 2

Princípios de modelagem de Domínio e Projeto(design) de Software Parte 2 Princípios de modelagem de Domínio e Projeto(design) de Software Parte 2 Prof. Gustavo Willam Pereira ENG10082 Programação II Créditos: Prof. Clayton Vieira Fraga Filho Análise de Casos de Uso (continuação)

Leia mais

Modelagem de Casos de Uso (Parte 2)

Modelagem de Casos de Uso (Parte 2) Modelagem de Casos de Uso (Parte 2) Roteiro (1) Método para Modelagem de Casos De Uso Estudo de Caso: Sistema de Controle para Videolocadora Levantamento Inicial dos Casos de Uso Identificação dos Casos

Leia mais

Modelagem de Casos de Uso (Parte 2)

Modelagem de Casos de Uso (Parte 2) Modelagem de Casos de Uso (Parte 2) Roteiro (1) Método para Modelagem de Casos De Uso Estudo de Caso: Sistema de Controle para Videolocadora Levantamento Inicial dos Casos de Uso Identificação dos Casos

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

Modelagem de Casos de Uso (Parte 1)

Modelagem de Casos de Uso (Parte 1) Modelagem de Casos de Uso (Parte 1) Roteiro Introdução Descrição: Sistema de Ponto de Vendas Casos de Usos Atores Fluxo de Eventos Cenários Formato de Documentação de Casos de Uso Diagramas de Casos de

Leia mais

Unified Modeling Language UML

Unified Modeling Language UML Unified Modeling Language UML Classe e Objeto Atributo Operação Associações (Delegações [SANTOS, 2003]) Dependência Simples: multiplicidade, papel, navegabilidade Com valor semântico adicional: agregação

Leia mais

Casos de Uso - definições

Casos de Uso - definições Casos de Uso - definições Um caso de uso é uma descrição narrativa de uma seqüência de eventos que ocorre quando um ator (agente externo) usa um sistema para realizar uma tarefa [Jacobson 92] Um caso de

Leia mais

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com ANÁLISE E PROJETO ORIENTADO A OBJETOS Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Análise Descrição do problema a ser implementado Descrição dos objetos e classes que fazem parte do problema, Descrição

Leia mais

Modelo de interações no processo de desenvolvimento

Modelo de interações no processo de desenvolvimento Modelo de interações no processo de desenvolvimento Modelo de interações no processo de desenvolvimento Em um processo incremental e iterativo, os modelos evoluem em conjunto. Embora estes modelos representem

Leia mais

Os casos de uso dão conta da maioria dos requisitos de um sistema computacional.

Os casos de uso dão conta da maioria dos requisitos de um sistema computacional. Unidade 3: Modelagem de requisitos e de soluções (Parte a) 1 Casos de uso 1.1 Conceitos básicos e parâmetros de descrição Os casos de uso dão conta da maioria dos requisitos de um sistema computacional.

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 2000 Slide 1 Casos de Uso Objetivos Principais dos Casos de Uso: Delimitação do contexto de

Leia mais

Diagrama de Classes. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Diagrama de Classes. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Diagrama de Classes Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 O que é? Diagrama mais utilizado da UML Representa os tipos (classes) de objetos de um

Leia mais

Estudo de Caso Sistema de Caixa Automático

Estudo de Caso Sistema de Caixa Automático Estudo de Caso Sistema de Caixa Automático Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Notas de Aula Ulrich Schiel Notas de Aula Ariadne

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

UML & Padrões Aula 7. UML & Padrões - Profª Kelly C C Silva

UML & Padrões Aula 7. UML & Padrões - Profª Kelly C C Silva UML & Padrões Aula 7 UML & Padrões - Profª Kelly C C Silva Divisão das classes do Modelo de Análise Jacobson propõe a divisão das classes do Modelo de Análise de acordo com os seguintes estereótipos: entidades

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 Análise Orientada a Objetos Exercícios Exercício 1 Defina o diagrama

Leia mais

Engenharia de Softwares e Sistema IF682 (2012.1) Bruno Medeiros(bmo@cin.ufpe.br)

Engenharia de Softwares e Sistema IF682 (2012.1) Bruno Medeiros(bmo@cin.ufpe.br) Engenharia de Softwares e Sistema IF682 (2012.1) Bruno Medeiros(bmo@cin.ufpe.br) Algumas definições Engenharia de Software conjunto de tecnologias e práticas usadas para construir software de qualidade

Leia mais

ESPECIFICAÇÕES DE CASOS DE USO

ESPECIFICAÇÕES DE CASOS DE USO ESPECIFICAÇÕES DE CASOS DE USO CASO DE USO: INCLUIR CLIENTE Sumário: este caso de uso se inicia quando o usuário precisa incluir um cliente no sistema. Atores: Atendente Pré-condições: Documentação do

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 UML Linguagem Unificada de Modelagem Análise Orientada a Objetos com UML Análise Orientada a Objetos com UML Diagrama de Caso

Leia mais

A Linguagem de Modelagem Unificada (UML)

A Linguagem de Modelagem Unificada (UML) Aécio Costa A Linguagem de Modelagem Unificada (UML) Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Surge a UML (Unified Modeling Language)

Leia mais

Diagramas de Casos de Uso

Diagramas de Casos de Uso Diagramas de Casos de Uso Não diga pouco em muitas palavras, mas sim, muito em poucas. Pitágoras Casos de uso O modelo de casos de uso modela os requisitos funcionais do sistema. É uma técnica de modelagem

Leia mais

Concepção e Elaboração

Concepção e Elaboração 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 Orientado a Objetos Concepção e Elaboração Estudo

Leia mais

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem? UML e Diagramas de Casos de Uso e Classes Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem de modelagem

Leia mais

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. Casos de Uso Expandidos Prof. Raul Sidnei Wazlawick UFSC-CTC-INE 2010 Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. Expansão dos Casos de Uso Corresponde

Leia mais

EXERCÍCIOS SOBRE DIAGRAMAS DE CLASSES Construa Diagramas de Classes para os seguintes domínios de problemas

EXERCÍCIOS SOBRE DIAGRAMAS DE CLASSES Construa Diagramas de Classes para os seguintes domínios de problemas Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita EXERCÍCIOS SOBRE DIAGRAMAS DE CLASSES Construa Diagramas de Classes

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 Exemplo de Diagrama de Caso de Uso Sistema de Locadora de Filmes Sistema de Vídeo Locadora Você foi contratado para desenvolver

Leia mais

UML: Casos de Uso. Projeto de Sistemas de Software

UML: Casos de Uso. Projeto de Sistemas de Software UML: Casos de Uso Projeto de Sistemas de Software UML Casos de Uso Introdução Casos de uso Elementos do diagrama de casos de uso Descrição de casos de uso Exemplo: Blog Ferramentas de modelagem Bibliografia

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 5 Modelagem de Classes de Análise O engenheiro de software amador está sempre à procura da

Leia mais

Unified Modeling Language UML

Unified Modeling Language UML Unified Modeling Language UML Requisito Ator Caso de uso Associações Entre atores e casos de uso Entre casos de uso Inclusão: estereótipo Extensão: estereótipo Generalização Diagrama

Leia mais

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

Análise e Projeto Orientado a Objetos. Modelagem de Domínio + Análise e Projeto Orientado a Objetos Modelagem de Domínio Introdução 2 n A modelagem do domínio está relacionada à descoberta das informações que são gerenciadas pelo sistema. O resultado dessa investigação

Leia mais

Unioeste Universidade Estadual do Oeste do Paraná

Unioeste Universidade Estadual do Oeste do Paraná Unioeste Universidade Estadual do Oeste do Paraná CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Informática Curso de Bacharelado em Informática Especificação de Requisitos e Modelagem Orientada

Leia mais

Modelagem de Sistemas Prof. Marcos Roberto e Silva

Modelagem de Sistemas Prof. Marcos Roberto e Silva Modelagem de Sistemas Prof. Marcos Roberto e Silva Diagrama de Casos de Uso Demonstra o comportamento externo do sistema, através de uma linguagem simples. Apresentando o sistema sobre a perspectiva do

Leia mais

DOCUMENTO DE REQUISITOS

DOCUMENTO DE REQUISITOS DOCUMENTO DE REQUISITOS ID documento: Data: / / Versão : Responsável pelo documento: ID Projeto: HISTÓRICO DE REVISÕES Data de criação/ atualização Descrição da(s) Mudança(s) Ocorrida(s) Autor Versão do

Leia mais

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas Sistemas de Informação e Tecnologia em 3º Semestre Análise Orientada aos Objetos Modelagem de Casos de Uso Objetivo: Apresentar

Leia mais

Engenharia de Software Folha 1 - UML - Casos de Uso/Utilização DI-UBI

Engenharia de Software Folha 1 - UML - Casos de Uso/Utilização DI-UBI 1. Considere o diagrama de casos de uso/utilização para um controlo remoto de TV, o qual garante que inclui todas as funções do controlo remoto como casos de uso/utilização do seu modelo. 2. Descreva textualmente

Leia mais

Expansão dos Casos de Uso

Expansão dos Casos de Uso Expansão dos Casos de Uso Casos de Uso no Contexto do UP Análise Casos de Uso Expandidos Projeto Projeto da Camada de Aplicação Prof. Leandro Buss Becker Email: lbecker@das.ufsc.br Modelo Conceitual Contratos

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 2000 Slide 1 Modelagem de Sistema UML Unified Modeling Language (Linguagem de Modelagem Unificada)

Leia mais

CASO DE USO. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

CASO DE USO. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com CASO DE USO Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Caso de Uso Descreve o modelo funcional (comportamento) do sistema Técnica de especificaçao de requisitos Especifica um serviço que o sistema

Leia mais

Modelagem do Processo de Negócio

Modelagem do Processo de Negócio Análise e Projeto 1 Modelagem do Processo de Negócio Modelos de processos de negócios descrevem as diferentes atividades que, quando combinados, oferecem suporte a um processo de negócio. Processos de

Leia mais

Modelagem de Casos de Uso! Um modelo funcional

Modelagem de Casos de Uso! Um modelo funcional Modelagem de Casos de Uso Diagrama de Casos de Uso Especificação de Cenários! Um modelo funcional! Mostra como os valores são processados, sem preocupações com:! ordenamento (seqüência) das ações;! as

Leia mais

Estudo de Caso 1: Sistema de Controle de Cinema

Estudo de Caso 1: Sistema de Controle de Cinema Estudo de Caso 1: Sistema de Controle de Cinema Desenvolva o diagrama de casos de uso sabendo que: I. Um cinema pode ter muitas salas, sendo necessário, portanto, registrar informações a respeito de cada

Leia mais

Análise estruturada de sistemas

Análise estruturada de sistemas Análise estruturada de sistemas Prof. Marcel O que é Engenharia de software Engenharia de software é uma área do conhecimento da computação voltada para a especificação, desenvolvimento e manutenção de

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 Análise e Projeto Orientados a Objetos Análise e Projeto Orientados a Objetos O que é Análise e Projeto? Análise o quê Investigação

Leia mais

No artigo anterior explicamos. Desenvolvimento de Software Dirigido por Caso de Uso. Parte II: Especificando Caso de Uso

No artigo anterior explicamos. Desenvolvimento de Software Dirigido por Caso de Uso. Parte II: Especificando Caso de Uso Desenvolvimento de Software Dirigido por Caso de Uso Parte II: Especificando Caso de Uso Vinicius Lourenço de Sousa viniciuslsousa@gmail.com Atua no ramo de desenvolvimento de software há mais de 10 anos,

Leia mais

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

Histórico da Revisão. Data Versão Descrição Autor Sistema de Gerenciamento de Loja - SIGEL Documento de Visão Versão 1.0.0 Histórico da Revisão Data Versão Descrição Autor 13/01/2011 0.1 Versão preliminar do levantamento de requisitos funcionais e não

Leia mais

Pontifícia Universidade Católica

Pontifícia Universidade Católica Pontifícia Universidade Católica Curso de Professor Rodrigues Neto Trabalho de Modelagem 2003.3 Turma A (Centro) Gerenciamento das Atividades da Pet Shop Boys Grupo: Evaldo Porto evaldoporto@ig.com.br

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Especificação de Requisitos

Especificação de Requisitos Projeto Locadora de Vídeo Passatempo Especificação de Requisitos 1. Introdução Este documento contém a especificação de requisitos e a modelagem de análise para o projeto de informatização da vídeo-locadora

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Figura 1 Diagrama de Casos de Uso do Sistema de Venda

Figura 1 Diagrama de Casos de Uso do Sistema de Venda Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita EXERCÍCIO 01 SOBRE DIAGRAMA DE SEQUENCIA Exercício 1: construa um

Leia mais

Análise Orientada a Objetos Modelagem Requisitos usando Casos de Uso

Análise Orientada a Objetos Modelagem Requisitos usando Casos de Uso Análise Orientada a Objetos Modelagem Requisitos usando Casos de Uso Não diga pouco em muitas palavras, mas sim, muito em poucas. Pitágoras Especificação e Modelagem de Requisitos Regras de Negócio Glossário

Leia mais

Simulador de Pagamento

Simulador de Pagamento Simulador de Pagamento Versão: VS01 Data: 10/03/13 Identificador do documento: Wytor, Náthilla, Pedro Náthilla 1 Histo rico de reviso es Versão Data Autor Descrição Localização VS01 05/006/2013 Wytor Náthilla

Leia mais

Documento de Projeto de Software

Documento de Projeto de Software Documento de Projeto de Software Projeto: Vídeo Locadora Passatempo Versão: 1.0 Responsável: Ricardo de Almeida Falbo 1. Introdução Este documento apresenta o documento de projeto (design) do sistema de

Leia mais

Diagrama de Casos de Uso

Diagrama de Casos de Uso Diagrama de Casos de Uso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide Medeiros,

Leia mais

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso Casos de Uso O que é Casos de Uso Descrições narrativas de processos do domínio da aplicação Documentam a seqüência de eventos de um ator (um agente externo) usando o sistema para completar, do início

Leia mais

IF-718 Análise e Projeto de Sistemas

IF-718 Análise e Projeto de Sistemas Centro de Informática - Universidade Federal de Pernambuco Especificação de Requisitos do Software Sistema de Gerenciamento de Restaurantes IF-718 Análise e Projeto de Sistemas Equipe: Jacinto Filipe -

Leia mais

Especificação do Caso de Uso. Manter Cliente. Versão 1.0

Especificação do Caso de Uso. Manter Cliente. Versão 1.0 Especificação do Caso de Uso Manter Cliente Versão 1.0 Histórico de Revisão Data Versão Descrição Autor 27/05/2011 1.0 Elaboração do documento Isaque J. Barbosa Índice 1. Manter Cliente 3 1.1 Breve Descrição...

Leia mais

04/07/2015 UML. Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS

04/07/2015 UML. Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS 1 REQUISITOS São os serviços fornecidos para um sistema. São classificados em requisitos

Leia mais

Engenharia Requisitos Estudo de caso

Engenharia Requisitos Estudo de caso Engenharia Requisitos Estudo de caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2000 Slide 1 Sistema de Matricula Auxiliadora Freire Fonte: Engenharia de Software 8º Edição

Leia mais

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

Guia de Especificação de Caso de Uso Metodologia CELEPAR Guia de Especificação de Caso de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiaespecificacaocasouso.odt Número de páginas: 10 Versão Data Mudanças Autor 1.0 09/10/2007

Leia mais

DIAGRAMA DE CASO DE USO

DIAGRAMA DE CASO DE USO Simulador de uma casa bancária: que faz empréstimo para aposentados, pensionistas e funcionários públicos. Onde deve-se calcular a margem de consignação, o valor das parcelas de cada empréstimo e o valor

Leia mais

Casos de Uso. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Casos de Uso. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Casos de Uso Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 O que é? Uma técnica para capturar requisitos funcionais Descreve o sistema sob a perspectiva

Leia mais

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

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 08 APRESENTAÇÃO Na aula de hoje vamos apresentar e discutir como definir

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Trabalho 1 Modelagem Estática do Sistema ViajarFácil.com.br Disciplina: INF318 - Modelagem Orientada a Objetos e Projeto Arquitetural Profa. Dra. Cecília M. F. Rubira Equipe 5 Jeniffer

Leia mais

Curso de Licenciatura em Informática

Curso de Licenciatura em Informática Curso de Licenciatura em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita EXERCÍCIOS SOBRE MODELAGEM DE CASOS DE USO Exercício 1: construa um Diagrama de Casos de

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

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO CURSO DE MESTRADO EM INFORMÁTICA FRAMEWORK DE AGENDAMENTO DE RECURSOS UTILIZANDO FILAS

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO CURSO DE MESTRADO EM INFORMÁTICA FRAMEWORK DE AGENDAMENTO DE RECURSOS UTILIZANDO FILAS PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO CURSO DE MESTRADO EM INFORMÁTICA FRAMEWORK DE AGENDAMENTO DE RECURSOS UTILIZANDO FILAS Cidiane Aracaty Lobato Rio de Janeiro, 2003 PONTIFÍCIA UNIVERSIDADE

Leia mais

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br MC302A Modelagem de Sistemas com UML Prof. Fernando Vanini vanini@ic.unicamp.br Modelamento de Sistemas e Orientação a Objetos O paradigma de Orientação a Objetos oferece um conjunto de características

Leia mais

Unidade: Finalização do Projeto. Revisor Textual: Profa. Especialista Márcia Ota

Unidade: Finalização do Projeto. Revisor Textual: Profa. Especialista Márcia Ota Unidade: Finalização do Projeto Revisor Textual: Profa. Especialista Márcia Ota Modelo de Interfaces Trata de: Aspectos de funcionalidade Não trata de: Design Ergonomia Sub-camadas de interface: Aplicação

Leia mais

QUESTÃO 2: A respeito do diagrama de caso de uso apresentado, assinale a alternativa correta.

QUESTÃO 2: A respeito do diagrama de caso de uso apresentado, assinale a alternativa correta. CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 4º PERÍODO 7º MÓDULO AVALIAÇÃO A4 DATA 22/10/2009 ENGENHARIA DE SOFTWARE 2009/2 GABARITO COMENTADO QUESTÃO 1: Podemos definir UML

Leia mais

A fim de gerenciar as vendas em uma loja, os seguintes requisitos devem ser atendidos pela modelagem de dados:

A fim de gerenciar as vendas em uma loja, os seguintes requisitos devem ser atendidos pela modelagem de dados: A fim de gerenciar as vendas em uma loja, os seguintes requisitos devem ser atendidos pela modelagem de dados: Vendas são efetuadas por um Vendedor em um determinado momento (indicado por uma data e um

Leia mais

Sumário. Capítulo 1 Introdução à UML... 17. Capítulo 2 Orientação a Objetos... 37. Agradecimentos... 6 Sobre o Autor... 6 Prefácio...

Sumário. Capítulo 1 Introdução à UML... 17. Capítulo 2 Orientação a Objetos... 37. Agradecimentos... 6 Sobre o Autor... 6 Prefácio... 7 Agradecimentos... 6 Sobre o Autor... 6 Prefácio... 15 Capítulo 1 Introdução à UML... 17 1.1 Breve Histórico da UML... 17 1.2 Por Que Modelar Software?... 18 1.2.1 Levantamento e Análise de Requisitos...

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

O Oficina Integrada é um sistema completo para o controle e gerenciamento de oficinas mecânicas. É o primeiro e único software que controla o fluxo

O Oficina Integrada é um sistema completo para o controle e gerenciamento de oficinas mecânicas. É o primeiro e único software que controla o fluxo O Oficina Integrada é um sistema completo para o controle e gerenciamento de oficinas mecânicas. É o primeiro e único software que controla o fluxo em sua oficina. O sistema foi desenvolvido para ser utilizado

Leia mais

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

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação Universidade Federal Rural de Pernambuco Bacharelado em Sistemas de Informação Disciplina: Análise e Projeto de Sistemas de Informação Docente: Rodrigo Aluna: Thays Melo de Moraes Diagramas do Projeto

Leia mais

Especificações de Casos de Uso UC04 Cadastro de Funcionários

Especificações de Casos de Uso UC04 Cadastro de Funcionários Especificações de Casos de Uso UC04 Cadastro de Funcionários Sistema Gerenciador de Locadora Documento de Caso de Uso UC04 Versão 1.1 Responsável: Gustavo Teles UC04 Cadastro de Funcionários Página 1 de

Leia mais

QUESTÃO 01 - DIAGRAMA DE SEQUENCIA (CONCEITOS)

QUESTÃO 01 - DIAGRAMA DE SEQUENCIA (CONCEITOS) Campus Cachoeiro de Itapemirim Disciplina: Análise e Projeto de Sistemas Curso Técnico em Informática Professor: Rafael Vargas Mesquita Bimestre 02 - Avaliação 03 - Assunto: Diagrama de Sequência Aluno:

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

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

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena Trabalho Experimental Sistema de Gestão Hoteleira 1. Objetivo Este trabalho tem o objetivo de consolidar o conhecimento sobre UML e

Leia mais

Modelagem Estática. Modelagem Estática. INF318 - Análise Orientada a Objetos e Projeto Arquitetural

Modelagem Estática. Modelagem Estática. INF318 - Análise Orientada a Objetos e Projeto Arquitetural Modelagem Estática Grupo 3: Caio Gomes Geovane Godoi Leonardo Tamura Roberto Honda Rosana Fagundes Talita Malaquias Página 1 1. Índice 1. Índice... 2 2. Caso de Uso #04 Reservar pacote... 3 3. Caso de

Leia mais

UML Aula I Diagramas de Caso de Uso, Sequência e Colaboração

UML Aula I Diagramas de Caso de Uso, Sequência e Colaboração UML Aula I Diagramas de Caso de Uso, Sequência e Colaboração Ricardo Argenton Ramos Engenharia de Software II 2013.1 Um Exercício Como você pode representar? Uma casa de 2 andares, 4 quartos, 2 banheiros,

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

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva UML & Padrões Aula 3 UML e Padrões - Profª Kelly Christine C. Silva 1 UML & Padrões Aula 3 Diagrama de Casos de Uso Profª Kelly Christine C. Silva O que vamos tratar: Modelos de Caso de Uso Diagrama de

Leia mais

Introdução Diagramas de Casos de Uso Diagramas de Classes Estoque Fácil

Introdução Diagramas de Casos de Uso Diagramas de Classes Estoque Fácil UFCG Introdução Diagramas de Casos de Uso Diagramas de Classes Estoque Fácil Arthur Silva Freire Caio César Meira Paes Carlos Artur Nascimento Vieira Matheus de Araújo Maciel Tiago Brasileiro Araújo Engenharia

Leia mais

Uma visão mais clara da UML Sumário

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

Leia mais

Modelo conceitual Aula 08

Modelo conceitual Aula 08 Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Modelo conceitual Aula 08 Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM

Leia mais

Modelo Funcional Essencial

Modelo Funcional Essencial Modelo Funcional Essencial Análise e Projeto - 1 Tem como objetivo definir o que o sistema deve fazer, ou seja, as funções que deve realizar para atender seus usuários. Na análise essencial fazemos essa

Leia mais

Tópicos Especiais em Sistemas de Telecomunicações IV

Tópicos Especiais em Sistemas de Telecomunicações IV Sumário Tópicos Especiais em Sistemas de Telecomunicações IV Modelagem de Sistemas de Software Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Setembro

Leia mais

Análise e Projeto Orientados a Objetos Aula IX Modelo Conceitual do Sistema (Modelo de Domínio) Prof.: Bruno E. G. Gomes IFRN

Análise e Projeto Orientados a Objetos Aula IX Modelo Conceitual do Sistema (Modelo de Domínio) Prof.: Bruno E. G. Gomes IFRN Análise e Projeto Orientados a Objetos Aula IX Modelo Conceitual do Sistema (Modelo de Domínio) Prof.: Bruno E. G. Gomes IFRN 1 Introdução Análise de domínio Descoberta das informações que são gerenciadas

Leia mais

Documento de Casos de Uso. MC436 Introdução à Engenharia de Software Profª Ariadne Maria Brito Rizzoni Carvalho

Documento de Casos de Uso. MC436 Introdução à Engenharia de Software Profª Ariadne Maria Brito Rizzoni Carvalho Documento de Casos de Uso MC436 Introdução à Engenharia de Software Profª Ariadne Maria Brito Rizzoni Carvalho 1. Índice 2. Introdução 3 3. Descrição dos atores 3 4. Diagrama de caso de uso 4 5. 5.1 5.2

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Trabalho 2 Modelagem Dinâmica do Sistema ViajarFácil.com.br Disciplina: INF318 - Modelagem Orientada a Objetos e Projeto Arquitetural Profa. Dra. Cecília M. F. Rubira Equipe 5 Jeniffer

Leia mais

É uma forma do engenheiro de requisitos especificar os limites e as funcionalidades do sistema.

É uma forma do engenheiro de requisitos especificar os limites e as funcionalidades do sistema. Definindo o Escopo: Modelo de Caso de Uso Agradei-me, particularmente, da possibilidade de que Joshua estivesse tão preso ao seu modo clássico de pensar que me permitisse realizar o incrível feito de chegar

Leia mais

Apresentação: WebTour - Sistema de Gestão de Pacotes Turísticos

Apresentação: WebTour - Sistema de Gestão de Pacotes Turísticos Apresentação: WebTour - Sistema de Gestão de Pacotes Turísticos M&M Soluções Web www.mmsolucoesweb.com.br Página 2 de 18 Apresentação Criada oficialmente em 2009, a M&M iniciou suas atividades através

Leia mais

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama DCC / ICEx / UFMG Diagrama de Diagrama de Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Adota uma linguagem simples Acessível ao cliente Objetivo é a compreensão do comportamento externo do sistema

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