UML UML. O problema. Modeling Language) (Unified. O problema. Modelagem. Modelagem. Modelagem

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

Download "UML UML. O problema. Modeling Language) (Unified. O problema. Modelagem. Modelagem. Modelagem"

Transcrição

1 Universidade de Passo Fundo Instituto de Ciências Exatas e Geociências Pós s em Desenvolvimento de Software (Unified Modeling Language) Prof. Cristiano Roberto Cervi O problema O grande problema do desenvolvimento de sistemas utilizando a orientação a objetos nas Fases de análise de requisitos Análise de sistemas Design Não existe uma notação padronizada e realmente eficaz que abranja qualquer tipo de aplicação que se deseje 2 O problema Cada simbologia existente possui seus próprios conceitos, gráficos e terminologias, resultando numa grande confusão Especialmente para aqueles que querem utilizar a orientação a objetos não só sabendo para que lado aponta a seta de um relacionamento, mas sabendo criar modelos de qualidade para ajudá-los a construir e manter sistemas cada vez mais eficazes Modelagem Por que fazer a modelagem? Construímos modelos para compreender melhor o sistema que estamos desenvolvendo O que é um modelo? Um modelo é uma simplificação da realidade São esquemas gráficos que representam o sistema 3 4 Modelagem Como fazer a modelagem? A escolha dos modelos a serem criados tem profunda influência sobre a maneira como um determinado problema é atacado e como uma solução é definida Cada modelo poderá ser expresso em diferentes níveis de precisão Modelagem Como fazer a modelagem? Os melhores modelos estão relacionados à realidade Nenhum modelo único é suficiente Deve-se usar um conjunto de modelos independentes 5 6 1

2 Modelando com a A é o sucessor de um conjunto de métodos de análise e projeto orientados a objetos A é um modelo de linguagem, não um método A é uma linguagem-padrão para a elaboração da estrutura de projetos de software Modelando com a Um método pressupõe um modelo de linguagem e um processo O modelo de linguagem é a notação que o método usa para descrever o projeto O processo são os passos que devem ser seguidos para se construir o projeto O modelo de linguagem corresponde ao ponto principal da comunicação Se uma pessoa quer conversar sobre o projeto, com outra pessoa, é através do modelo de linguagem que elas se entendem Nessa hora, o processo não é utilizado 7 8 Modelando com a A define uma notação e um meta-modelo A notação são todos os elementos de representação gráfica vistos no modelo (retângulos, setas, o texto, etc.) É a sintaxe do modelo de linguagem Um meta-modelo é um diagrama que define de maneira mais rigorosa a notação Modelando com a A pode ser empregada para Visualização Especificação Construção Documentação de artefatos Que façam uso de sistemas complexos de software 9 é uma linguagem de modelagem e não uma metodologia 10 História A teve seu início na década de 90 quando três metodologias foram unificadas, OMT, Booch e OOSE OMT (Object Modeling Technique) James Rumbaugh Booch Grady Booch OOSE (Object-Oriented Software Engineering) Ivar Jacobson História OMT Técnica de Modelagem de Objetos É um método desenvolvido pela GE (General Electric) onde James Rumbaugh trabalhava O método é especialmente voltado para o teste dos modelos, baseado nas especificações da análise de requisitos do sistema

3 História Booch Booch definiu a noção de que um sistema é analisado a partir de um número de visões, onde cada visão é descrita por um número de modelos e diagramas O Método de Booch trazia uma simbologia complexa de ser desenhada a mão História OOSE/Objectory Os métodos OOSE e o Objectory foram desenvolvidos baseados no mesmo ponto de vista formado por Ivar Jacobson O método OOSE é a visão de Jacobson de um método orientado a objetos O Objectory é usado para a construção de sistemas tão diversos quanto eles forem Ambos os métodos são baseados na utilização de use cases (casos de uso), que definem os requisitos iniciais do sistema, vistos por um ator externo História Cada um destes métodos possui Sua própria notação Seus próprios símbolos para representar modelos orientado a objetos Processos Que atividades são desenvolvidas em diferentes partes do desenvolvimento Ferramentas As ferramentas CASE (Computer Aided Software Engineering) que suportam cada uma destas notações e processos 15 História Diante desta diversidade de conceitos, os três amigos decidiram criar uma linguagem de modelagem unificada Grady Booch Ivar Jacobson James Rumbaugh Disponibilizaram inúmeras versões preliminares da para a comunidade de desenvolvedores As respostas incrementaram muitas novas idéias que melhoraram ainda mais a linguagem 16 História (Evolução) Feedback Público Aprovado em out/97 Submissão à OMG set/97 Submissão à OMG jan/ De 2000 a 2003 foi produzida a 2.0 e a OMG a adotou como padrão no início de 2005 Introdução A é usada no desenvolvimento dos mais diversos tipos de sistemas Abrange sempre qualquer característica de um sistema em um de seus diagramas É aplicada em diferentes fases do desenvolvimento de um sistema Desde a especificação da análise de requisitos até a finalização com a fase de testes

4 Introdução O objetivo da é descrever qualquer tipo de sistema Em termos de diagramas orientado a objetos Naturalmente, o uso mais comum é para criar modelos de sistemas de software Mas a também é usada para representar sistemas mecânicos sem nenhum software Utilização Sistemas de Informação Sistemas Técnicos Sistemas de Tempo Real Integrados Sistemas Distribuídos Utilização A é Uma linguagem Uma notação Não tem uma regra para sua utilização Permite que o desenvolvedor/analista/gerente use os diagramas como bem entender, dependendo do sistema que pretende desenvolver Diagramas O modo para descrever os vários aspectos de modelagem para a é através da notação definida pelos seus vários tipos de diagramas Um diagrama é Uma apresentação gráfica de uma coleção de elementos de modelo Frequentemente mostrado como um gráfico conectado de arcos (relacionamentos) e vértices (outros elementos do modelo) Diagramas até a Diagrama de casos de uso 2.Diagrama de atividades 3.Diagrama de classes 4.Diagrama de sequência 5.Diagrama de colaboração 6.Diagrama de estados 7.Diagrama de objetos 8.Diagrama de componentes 9.Diagrama de implantação 23 Diagramas da Diagrama de casos de uso 2.Diagrama de atividades 3.Diagrama de classes 4.Diagrama de sequência 5.Diagrama de estados 6.Diagrama de comunicação (antigo Diagrama de colaboração) 7.Diagrama de objetos 8.Diagrama de componentes 9.Diagrama de implantação 10.Diagrama de pacotes 11.Diagrama de estruturas compostas 12.Diagrama de temporização 13.Diagrama de visão geral de interação 24 4

5 Diagramas Para dar início a construção de qualquer diagrama da, primeiro deve-se conhecer a sua notação ou seja A forma de representação Sua semântica Diagrama de casos de uso É o diagrama mais importante da construção de software orientado a objetos Os casos de uso são, talvez, o único instrumento que acompanha um software do seu início até a sua conclusão O limite de um caso de uso é uma decisão pessoal e só com experiência de sua utilização é que se aprende a distinguir um caso de uso de outro Diagrama de casos de uso Descreve o que um sistema deve fazer ou o que um sistema já está fazendo É construído através de um processo iterativo durante discussões entre os desenvolvedores do sistema e os usuários As discussões conduzem a uma especificação de requisitos sobre os quais, o sistema deve ser projetado e desenvolvido Diagrama de casos de uso Na modelagem de casos de uso, o sistema é visto como uma caixa-preta que fornece uma funcionalidade através de atividades O modo como o sistema implementa os casos de uso, não é relevante nesse ponto do trabalho, tornando o caso de uso uma técnica mais para a análise do que para o projeto Uma das grandes vantagens é a documentação da análise dos requisitos do sistema Diagrama de casos de uso Um caso de uso deve ser muito bem detalhado, mas sem ser longo demais para ser lido A objetividade não deve sacrificar a compreensão e a composição do detalhe Em análise OO, quando utiliza-se o conceito de abstração, divide-se um problema em partes e essas partes são os casos de uso Quando se aborda o detalhamento dos casos de uso tem-se a análise de suas tarefas, atividades ou aquilo que ele irá desempenhar no âmbito do sistema Diagrama de casos de uso A extração de um caso de uso pode ser feita ou por observação ou por entrevista A observação somente é possível em casos onde a atividade é repetitiva, realizadas por um operador ou por uma máquina A entrevista somente é possível entre humanos e é a forma mais utilizada na extração dos casos de uso de um sistema

6 Diagrama de casos de uso A aprovação de um caso de uso deve ser feita pelo cliente que está contratando o serviço Antes de mostrar os casos de uso ao cliente, mostre para um colega/gerente de projetos Se ele compreender o que foi descrito sem questionamento, o trabalho está bom Se ele questionar alguma coisa, fique esperto, veja o que pode ter saído errado e submeta a uma nova apreciação Lembre que se fizer isso estará ganhando tempo ao invés de perder Diagrama de casos de uso (princípios) Decide e descreve os requisitos funcionais do sistema, resultando em um acordo entre o usuário e o desenvolvedor do sistema Fornece uma descrição clara e consistente da funcionalidade do sistema O que o sistema faz Serve de orientação para as próximas fases Demonstra a interação do sistema com agentes externos Diagrama de casos de uso (composição) É composto de quatro elementos básicos Ator Caso de uso Interação Sistema Diagrama de casos de uso (visualização) Abrir conta corrente Cadastrar cliente Abrir conta poupança Fechar conta corrente Fechar conta poupança Cadastrar agência Remover cliente 33 Remover agência 34 Diagrama de casos de uso (sistema) Significa um sistema de software, um negócio ou uma máquina Como parte da modelagem, os limites do sistema desenvolvido são definidos A fase de definição dos limites e responsabilidades de um sistema nem sempre é um processo fácil, pois nem sempre é óbvio quais tarefas são melhor automatizadas pelo sistema e quais tarefas são melhor tratadas manualmente ou por outros sistemas Diagrama de casos de uso (atores) Um ator é alguém ou algo que interage com o sistema É quem ou o quê usa o sistema A interação com o sistema significa que o ator envia ou recebe mensagens para/do sistema, ou troca informações com o sistema Um ator pode ser um departamento, um profissional, uma máquina, etc

7 Diagrama de casos de uso (atores) O ator se comunica com o sistema pelo envio e recebimento de mensagens, de forma similar aos métodos usados na programação orientada a objetos Para identificar atores, estabelece-se quais objetos estão interessados no uso e interação com o sistema A partir desta lista, é possível levantar a posição do ator em relação ao sistema tentando identificar os requisitos do ator e de quais casos de uso o ator necessita Diagrama de casos de uso (atores) Quando observa-se os usuários de um sistema, não deve-se considerar somente os indivíduos que estão sentados na frente do computador O usuário do sistema pode ser qualquer pessoa ou coisa que interage direta ou indiretamente com o sistema e usa os serviços disponíveis pelo sistema Diagrama de casos de uso (como encontrar atores) Algumas perguntas podem ser feitas para auxiliar na identificação dos atores quem usa as funções principais do sistema? quem necessita suporte do sistema para realizar suas tarefas diariamente? quem se responsabiliza pela manutenção, administração e conservação do funcionamento do sistema? quais são os dispositivos de hardware necessários? quem ou o quê se interessa pelos resultados produzidos pelo sistema? Diagrama de casos de uso Representa uma funcionalidade completa como percebida por um ator É definido como um conjunto de seqüências de ações de um sistema que rende um resultado observável por um ator Diagrama de casos de uso (como encontrar) Para cada ator identificado se faz as seguintes perguntas quais funções o ator requisita do sistema? e o quê o ator necessita fazer? o ator necessita ler, criar, destruir, modificar ou armazenar algum tipo de informação no sistema? o ator deve ser notificado sobre eventos realizados pelo sistema ou o ator necessita notificar ao sistema quando algo ocorre? pode o trabalho do ator ser simplificado ou ser feito com melhor eficiência através de novas funções? o quê o sistema necessita de entrada e de saída? Diagrama de casos de uso (relacionamento) Extensão Inclusão Generalização

8 Diagrama de casos de uso (relacionamento) Extensão Diagrama de casos de uso (relacionamento) Inclusão Atendente Cadastrar venda << Extend >> Emitir nota Atendente Cadastrar venda Cadastrar serviço << Include >> << Include >> Emitir Nota O desenho informa que a emissão da nota pode ser chamada diretamente do cadastro da venda, mas esta é uma ação que pode ocorrer ou não O caso de uso que estende tem uma relação de dependência com o caso de uso estendido (seta tracejada), ou seja, o Emitir nota só pode ser executado se Cadastrar venda for executado antes 43 Utilizado para demonstrar que um caso de uso pode ser utilizado por vários outros casos de uso, quando este representa uma atividade comum a mais casos de uso Apresenta uma relação de dependência, ou seja, se Cadastrar Venda e Cadastrar Serviço forem executados, Realizar Pagamento obrigatoriamente será executado O caso de uso Realizar pagamento pode ser chamado por Cadastrar venda ou por Cadastrar serviço 44 Diagrama de casos de uso (relacionamento) Generalização Diagrama de casos de uso (visualização) <<extend>> Atendente Receber pagamento Atendente Realizar locação <<include>> Pagar locação Receber Pagamento em dinheiro Receber Pagamento em cheque Receber Pagamento em cartão Cadastrar clientes Cliente Avisar cliente de filme já assistido <<extend>> Receber pagamento em dinheiro, Receber pagamento em cheque e Receber pagamento em cartão são especializações do caso de uso Receber Pagamento 45 Cadastrar autorizados 46 Diagrama de casos de uso Possibilidades de relacionamentos Caso de uso e caso de uso Ator e ator Caso de uso e ator Comunicação X Extensão X Inclusão X Generalização X X Diagrama de atividades É utilizado para criar boas descrições de casos de uso É a especificação de um caso de uso Se equivalente a um algoritmo Sequência de passos para demonstrar alguma coisa Dificilmente haverá um diagrama de atividades para todos os casos de uso de um sistema

9 Diagrama de atividades Utiliza-se para os casos de uso em cenários mais complexos Onde o negócio a ser modelado é de difícil compreensão Um caso de uso interpretado ou escrito de maneira equivocada gerará um diagrama de atividades igualmente equivocado Ao escrever o diagrama de atividades pode ser necessário retornar ao caso de uso para reescrevê-lo Diagrama de atividades (composição) Representa uma atividade Representa passagens de uma atividade para outra Representa uma decisão Representa o ponto de entrada de um processo Representa o ponto de saída de um processo Sincronização com Fork Uma atividade é dividida em mais de uma 49 Sincronização com Join Mais de uma atividade foram unidas em uma 50 Diagrama de atividades (visualização 1) Inicio Diagrama de atividades (visualização 2) Cliente entrega o filme ao atendente [Se já viu e não quer locar novamente] O cliente se dirije ao balcao e entrega o filme ao atendente Atendente verifica se o cliente já locou aquele filme [Se não viu] [Se já viu] [Se já viu e quer locar novamente] Atendente registra filme como devolvido Atendente verifica se o filme está pago Atendente verifica pendência financeira [Se há pendência] [Se não há pendência] Registrar mídia como locada [ Se sim ] Finaliza [Se acertar pendência] Acertar pendência [ Se não ] Registrar locação como paga [Se pagar] [Se não pagar] Regis trar loc ação como não paga Pagar locação 51 [Se não acertar pendência] 52 Finaliza locação 2 Diagrama de atividades (visualização 3) Diagrama de Classes Classe (notação) Calcular valor total [se valor >= 100] Solicitar aprovação [se valor < 100] [ se aprovado] Efetuar compra Pessoa nome data_nascimento endereco get_data_nasc ( ) set_data_nasc ( ) informar_idade ( ) Nome Atributos Métodos [ se não aprovado] 53 Essa notação não foi definida pela 54 9

10 Classe É similar a uma tabela no modelo relacional somente até o ponto onde representa uma coleção de dados armazenados com um tema em comum Diagrama de classes É uma estrutura lógica estática, mostrando uma coleção de elementos declarativos de modelo como as classes seus tipos seus atributos seus métodos seus relacionamentos Diagrama de classes Como localizar classes? Na funcionalidade especificada através dos casos de uso Os substantivos indicam candidatos à classes e objetos Os adjetivos desses substantivos indicam os atributos Os verbos representando as ações desses substantivos indicam os métodos Diagrama de classes (visualização) Pessoa Nome : String Endereco : String Telefone : String CPF : String cadastrarpessoa() atualizarpessoa() excluirpessoa() Venda Numero : Integer Data : Date ValorTotal : Currency ItensVenda Quantidade : Integer Produto Descricao : String Estoque : Integer Preco : Currency Professor Titulacao : String Estudante Naturalidade : String Funcionario Cargo : String 57 calcularsalario() calcularsalario() 58 Relacionamentos entre classes As classes não coexistem isoladamente em uma aplicação Os relacionamentos existentes entre classes podem ser Herança Generalização/Especialização Agregação Agregação por Composição Associação Herança Define que uma classe é uma especialização de outra classe Exemplo As classes Pessoa, Estudante, Funcionário e Professor Estudante, Funcionário e Professor são um tipo de pessoa Pessoa (generalização) Estudante, Funcionário e Professor (especialização, particularização) Dica É um, É um tipo de

11 Herança (papéis das classes) Superclasse Representa a generalização Subclasse Representa a especialização/particularização Exemplo Relacionamento de herança entre as classes Pessoa e Estudante, Funcionário e Professor Pessoa: superclasse de Estudante, Funcionário e Professor Estudante, Funcionário e Professor: subclasse de Pessoa Herança (vantagens) Economia de descrição Facilidade de gerenciamento da estrutura Reutilização Herança (exemplo) Pessoa matricula nome endereco informar_nome ( ) Superclasse Herança (significado) Atributos da superclasse são herdados pela subclasse Pessoa possui o atributo nome Em consequência, estudante, funcionário e professor também possuem o atributo nome Todos os atributos da superclasse são herdados pela subclasse Todos os métodos da superclasse são herdados pela subclasse Estudante Funcionario Professor Subclasses Herança (características) A superclasse implementa atributos e métodos genéricos que servem para todas as subclasses e estas, implementam atributos e métodos específicos ao seu contexto Este tipo de relacionamento é um dos pontos chaves do paradigma de orientação a objetos, pois contempla a propriedade de reuso de software Herança (características) A generalização é um relacionamento entre classes e não entre objetos, ou seja Cada instanciação de um objeto da subclasse gera uma estrutura composta por atributos e métodos públicos da superclasse acrescidos dos atributos e métodos da subclasse

12 Herança Múltipla Quando uma subclasse herda atributos ou métodos de duas ou mais superclasses É um tipo de relacionamento que pode apresentar problemas se não for bem utilizado Colisão de nomes provindos de atributos da superclasse Colisão de métodos provindos das superclasses Java e Smalltalk não implementam Eifell e C++ implementam 67 Herança Múltipla (exemplo) Automóvel numportas dirhidraulica dirigir ( ) Subclasse e Superclasse Veículo marca modelo ano dirigir ( ) Anfíbio dirigir ( ) Barco tamanho tipomotor dirigir ( ) Superclasse Subclasse Subclasse e Superclasse 68 Herança Múltipla (como evitar) Em Java existem duas saídas para o problema da herança múltipla A primeira é aumentar o número de classes e isso é feito em 50% dos casos (MEDEIROS, 2004) A segunda é a utilização de Interfaces Interfaces Utilizada em Java para contornar a falta da herança múltipla Não é uma classe Não possui atributos É um arquivo que define valores constantes e operações que outra classe deve implementar Interfaces Define somente as operações, sem os métodos Não podem ser instanciadas (não tem objetos) Só podem ser Public e Abstract Não podem ser Private e Protected Se não forem declaradas como Public e Abstract, serão automaticamente transformados desse maneira 71 Interfaces (exemplo) Superclasse Automóvel numportas dirhidraulica dirigir (int ( ) x) Subclasse/Superclasse Veículo marca modelo ano dirigir (int x) Anfíbio dirigir (int x) Barco tamanho tipomotor dirigir (int x) <<Interface>> Barco dirigir (double x) Subclasse Métodos com assinaturas diferentes 72 12

13 Agregação Relação que pode ocorrer entre duas classes Caracteriza uma relação todo-parte Exemplo Relação entre as classes Carro e Roda Um Carro possui rodas Agregação (papéis das classes) Classe todo ou agregada É a classe resultante da agregação Classe parte É a classe cujas instâncias formam a agregação Exemplo entre as classes Carro e Roda Classe Carro: todo ou agregada Classe Roda: parte Agregação (exemplo) Carro Roda Agregação (significado) A classe todo existe, independentemente da classe parte (e vice-versa) Não existe uma ligação forte entre as duas classes Objetos da classe todo são independentes da classe parte O objeto parte pode estar em mais de 1 objeto todo Classe todo Classe parte Agregação (como encontrar) Dica Consiste em, Contém, É parte de Perguntas é uma relação todo-parte? um objeto vive sem o outro? Em uma relação entre as classes X e Y X tem um ou mais Y? Y é parte de X? Agregação por Composição Ocorre quando tem-se uma situação semelhante à da agregação entre duas partes Ambas as classes vivem unidas, de forma dependente, ou seja, existe uma ligação forte entre as duas A parte pode compor apenas 1 todo em um determinado instante do tempo

14 Agregação por Composição O todo é responsável pela vida de suas partes (criação e destruição) A parte não tem vida independente do todo Os objetos da classe parte são dependentes, em termos de vida, da classe todo Os objetos da classe parte não podem continuar vivendo quando o todo é destruído Agregação por Composição (exemplo) Venda Parcela Classe todo Classe parte Agregação por Composição (como encontrar) Dica Consiste em, Contém, É parte de Perguntas é uma relação todo-parte? um objeto vive sem o outro? Não tem sentido os objetos parte continuarem existindo sem o objeto todo Agregação x Composição (diferença) Agregação Os objetos parte podem estar em mais de 1 objeto todo Os objetos parte continuam existindo se o objeto todo não mais existir Composição Os objetos parte podem compor apenas 1 objeto todo em um determinado instante do tempo Os objetos parte só existem se o objeto todo existir Agregação e Composição (exemplo 1) Agregação e Composição (exemplo 2) Venda Parcela Empresa Equipe de Projeto Itens da Venda Produto Empregado -A A venda possui parcelas e itens. Se excluir a venda, são excluídos também m seus itens e suas parcelas -Uma empresa é composta por empregados e equipes. Se excluir a empresa, o empregado egado e a equipe -Os itens da venda são formados por produtos, mas se excluir um item i o produto continua existindo 83 são excluídos juntos 84 -Uma equipe é formada por empregados. Se excluir uma equipe, os empregados continuam existindo 14

15 Associação É uma relacionamento entre classes que não pode ser caracterizado como herança, nem como agregação e nem como composição Não apresenta significado preciso Mais comum em aplicações voltadas para comércio e serviços Associação (exemplo) Cliente Cidade Como saber qual relacionamento deve ser utilizado? Pense se existe herança Existem atributos ou métodos sendo aproveitados por outras classes? A subclasse é do tipo da superclasse? Sim: Isso é herança Não: Existe todo-parte? Sim: A parte vive sem o todo? Sim: Isso é agregação Não: Isso é uma composição Não: Isso é associação Diagrama de classes (multiplicidade) Define quantos objetos participam do relacionamento É o número de instâncias de uma classe relacionada a uma instância de outra classe Diagrama de classes (multiplicidade) Possibilidades * * * 1..6 Zero ou um Zero ou muitos Muitos (mesmo que zero ou muitos) Um e somente um Um e somente um Um ou muitos Não especificada No mínimo 1 e no máximo 6 89 Diagrama de classes (navegabilidade) Define que a instância de uma classe pode navegar à instâncias de outras classes e vice-versa Uma seta é ligada entre duas classes para indicar o caminho de navegação entre elas Representa que o objeto de uma classe contém um apontador para o objeto da outra classe Sentido da navegação: de Pessoa para Cidade Uma Pessoa busca a cidade A Pessoa tem a responsabilidade de informar a qual cidade pertence 90 15

16 Diagrama de classes (navegabilidade) Possibilidades Diagrama de sequência Modela a seqüência de eventos e a interação de mensagens existentes em uma transação do sistema Uma interação é uma especificação comportamental que inclui uma sequência de trocas de mensagens entre um conjunto de objetos dentro de um contexto para realizar um propósito específico, tal como a realização de um caso de uso Diagrama de sequência A partir de uma linha do tempo, o diagrama mostra a ativação de mensagens entre objetos Os objetos são desenhados como linhas verticais, as mensagens como linhas horizontais e a sequência de mensagem é lida de cima para baixo na página : Locacao Objeto Diagrama de sequência O objeto é desenhado como um retângulo ao topo de uma linha vertical tracejada, projetada para baixo Essa linha vertical é chamada de linha de vida do objeto e representa o ciclo de vida de um objeto durante uma interação Cada mensagem é representada por uma linha com seta dirigida horizontalmente entre as linhas de vida de dois objetos [Devolver filme] Mensagem Diagrama de sequência (visualização) Diagrama de sequência (visualização) : Cliente : Atendente : Locacao : ItensLocacao : Usuário inserepedido( ) Pedido:Pedido Itens: Itens Pedido Produto: Produto insereitens( ) [Busca Locação] buscaproduto( ) verificaitem( ) [Devolver filme]

17 Diagrama de estados Diagrama de estados capturam os ciclos de vida de objetos Eles distinguem os estados que um objeto pode ter e quais os eventos (mensagem recebida, tempo, erros e condições verdadeiras) afetam esses estados ao mesmo tempo Um diagrama de estado existe para todas as classes que possuem, claramente, estados identificáveis e comportamentos complexos Cada classe possui, somente, um diagrama de estados Diagrama de estados Todos objetos tem um estado O estado é o resultado de atividades anteriores realizadas pelo objeto, e é tipicamente determinada por valores de seus atributos Uma classe pode possuir um atributo específico para indicar o estado (forma explícita), como pode o estado ser determinado por valores de atributos normais no objeto (forma implícita) Diagrama de estados Exemplos de estados de objetos O pedido (objeto) é atendido (estado) O carro (objeto) está andando (estado) A máquina (objeto) está parada (estado) Diagrama de estados Um objeto muda de estado quando alguma coisa acontece, o que é chamado de evento Há duas dimensões de dinamicidade Interação: descreve o comportamento externo do objeto e como ele interage com outros objetos Por exemplo: enviando mensagens Mudança de estado interno: descreve como os objetos tem alteração de estados através de eventos internos Diagrama de estados (representação) Diagramas de estado podem ter um ponto de início e vários pontos de encerramento Cada estado é representado, no diagrama, através de um retângulo com as bordas arredondadas Diagrama de estados (representação) Chegar no térreo No Térreo subir (andar) Chegar no andar Subindo V subir (andar) Indo para o térreo Descendo Chegar no andar Parado descer (andar) tempo de espera

18 Diagrama de estados (representação) Diagrama de estados (representação) Vazia Preparar(Erva/Bomba) Esvaziar Preparada Seca Pode quebar (descartar) Encher Pode quebar (descartar) Limpar Cheia Encher Tomar(Erva Boa) Tomar(Erva Lavada) Limpar Disponível (molhada/vazia) Erva Lavada Limpar Diagrama de comunicação Diagramas de sequência e comunicação expressam informações semelhantes mas as apresentam de modo diferente As associações mostram os objetos atuais e como eles estão inter-relacionados Como o diagrama de seqüência, o diagrama de comunicação pode ser usado para ilustrar a execução de uma operação ou a execução de um caso de uso Diagrama de comunicação (visualização) : Computador : Servidor de Impressão 1: Imprimir (arq) [Impressora Ocupada] 1.2: Armazenar (arq) [Impressora Livre] 1.1: Imprimir (arq) : Fila : Impressora Diagrama de objetos O diagrama de objetos é uma variação do diagrama de classes A diferença é que o diagrama de objetos mostra os objetos que foram instanciados das classes Sua finalidade é descrever um conjunto de objetos existentes em algum momento da execução do software, como uma espécie de fotografia do tempo de execução Diagrama de objetos (visualização) Midia 1:Itens Locacao DataPrevDevol DataDevol Valor = 11/03/2009 = 11/03/2009 = 4,00 Locacao 1:Locacao Número Data ValorPago ValorTotal Pago = 125 = 10/03/2009 = 8,00 = 8,00 = S Midia 2:Itens Locacao DataPrevDevol DataDevol Valor = 11/03/2009 = 11/03/2009 = 4,

19 Diagrama de componentes O diagrama de componente mostra a organização e as dependências existentes entre um conjunto de componentes É um dos dois tipos de diagramas disponíveis para modelagem de aspectos físicos de sistemas orientados a objetos São tipicamente os arquivos implementados no ambiente de desenvolvimento Diagrama de componentes Um componente é qualquer arquivo que contenha uma parte necessária ao software Se um software necessita de uma página HTML para ser executado ou de um arquivo.txt, estes arquivos são um componente Um componente não necessariamente é um arquivo executável, como um.exe Diagrama de componentes É usado quando se deseja Mostrar o sistema por um lado funcional, expondo as relações entre seus componentes e a organização de seus módulos durante sua execução Descrever os componentes de software e suas dependências entre si Diagrama de componentes (visualização) Produtos Financeiro Aplicação Vendas Arquivo Inicialização Diagrama de implantação É o diagrama com a visão mais física da Também chamado de Diagrama de Execução É um diagrama que mostra a configuração dos nós de processamento em tempo de execução e os componentes que neles existem É a última descrição física da topologia do sistema, descrevendo a estrutura de hardware e software que executam em cada unidade Os nós significam objetos físicos que fazem parte do sistema, onde um ou mais módulos do sistema será executado, pode ser uma máquina cliente numa LAN, uma máquina servidora, uma impressora, um roteador etc Um nó é mostrado como uma figura que apresenta visão tridimensional como um cubo 113 Diagrama de implantação (visualização) Impressora 1 1 Cliente 1 Servidor Leitor de cartao Scanner

20 Diagrama de pacotes Pacote é um mecanismo de agrupamento, onde todos os modelos de elementos podem ser agrupados Classes, componentes, implantação, casos de uso Pode representar um módulo do sistema, um subsistema, ou simplesmente uma pasta para organização das informações do modelo Este diagrama é utilizado normalmente em sistemas de maior complexidade Diagrama de pacotes (visualização) Pacote 1 Classe1 Classe2 Classe3 Classe4 Pacote 3 Pacote 2 Classe1 Classe2 Classe1 Classe Diagrama de estruturas compostas Representa a colaboração entre classes, objetos ou interfaces para realizar uma tarefa Diagrama de temporização (ou de Tempo) Utilizado para mostrar a interação entre objetos em determinado ponto do tempo É a fusão do diagrama de seqüência e de estado Apresenta o comportamento dos objetos e sua interação em uma escala de tempo O estado dos objetos em relação ao tempo e as mensagens que modificam esse estado Elaborar edital de concurso Divulgar edital e abrir inscrições Aplicar prova de seleção Avaliar provas Publicar resultados 117 {05/01..30/01} {01/02..31/03} {10/04 14: /04 18:00} {12/04..30/04} {03/05} 118 Diagrama de visão geral de interação Mostra uma interação entre os diagramas de sequência e atividades Pesquisar Livros <<control>> controlador [Registrar Item] [Verdadeiro] [Livro não encontrado] [Adicionar livro] Itens: Carrinho 119 Vantagens & Desvantagens da Perdas Maior trabalho na modelagem Mais tempo gasto Ganhos Menos trabalho na construção A solução está pronta Menos tempo gasto Os problemas são encontrados em tempo hábil para sua solução As dúvidas são sanadas mais cedo e são levantadas na sua totalidade

21 Referências DEBONI, J. E. Z. Modelagem Orientada a Objetos com a. 1ª ed., Futura, 2003 FURLAN, J. D. Modelagem de Objetos Através da : The Unified Modeling Language. 1ª ed., Makron Books, 1998 GUEDES, GT. A. G. Uma Abordagem Prática. 2ª ed., Novatec, 2006 MEDEIROS, E. S. Desenvolvendo Software com 2.0: Definitivo. 1ª ed., Makron Books, 2004 PRESSMAN, R. Engenharia de Software. 6ª ed., McGraw-Hill, 2006 SILVA, R. P. Notas de aula da disciplina de Engenharia de Software. PPGCC/UFSC SILVA, R. P. 2 em Modelagem Orientada a Objetos. 1ª ed., Visual Books, 2007 SOMMERVILLE, I. Engenharia de Software. 8ª ed., Pearson Education,

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

Sumário. Uma visão mais clara da UML

Sumário. Uma visão mais clara da UML Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo V Unidade Curricular: Engenharia de Software Professora: Lara P. Z. B. Oberderfer Uma visão mais clara da

Leia mais

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

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

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

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

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

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

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

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet) UML Felipe Denis M. de Oliveira Fonte: Alice e Carlos Rodrigo (Internet) 1 Programação O que é UML? Por quê UML? Benefícios Diagramas Use Case Class State Interaction Sequence Collaboration Activity Physical

Leia mais

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem

Leia mais

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo? O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação

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

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. 1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. 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 Classes Autoria:Aristófanes Corrêa Silva Adaptação:

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

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

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Modelagem OO com UML Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Unified Modeling Language Benno Eduardo Albert benno@ufrj.br O que é modelagem Tripé de apoio ao desenvolvimento. Notação: UML Ferramenta: Rational Rose. 2 O que é modelagem

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

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

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML UML (Unified Modeling Language Linguagem de Modelagem Unificada) é uma linguagem-padrão para a elaboração da estrutura de

Leia mais

Micro Mídia Informática Fevereiro/2009

Micro Mídia Informática Fevereiro/2009 Micro Mídia Informática Fevereiro/2009 1 UML Introdução Fases de Desenvolvimento Notação Visões Análise de Requisitos Casos de Uso StarUML Criando Casos de Uso Orientação a Objetos Diagrama de Classes

Leia mais

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC CURSO: Bacharelado em Ciência da Computação DISCIPLINA: ANPS Análise e Projeto de Sistemas AULA NÚMERO: 3 DATA: PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Revisão...1 2.1.1

Leia mais

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

Levantamento, Análise e Gestão Requisitos. Aula 04 Levantamento, Análise e Gestão Requisitos Aula 04 Agenda Linguagem de Modelagem Unificada (UML) Modelagem Visual Síntese Histórica da UML Conceitos da UML Notações da UML Diagramas Estruturais Diagramas

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

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

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

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

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

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

Notas de Aula 04: Casos de uso de um sistema

Notas de Aula 04: Casos de uso de um sistema Notas de Aula 04: Casos de uso de um sistema Objetivos da aula: Aprender os elementos básicos da modelagem por casos de uso Utilizar as associações entre casos de uso, atores e demais artefatos Compreender

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

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

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

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

UML: Unified Modeling Language. Graduação em Informática 2008 Profa. Itana Gimenes

UML: Unified Modeling Language. Graduação em Informática 2008 Profa. Itana Gimenes UML: Unified Modeling Language Graduação em Informática 2008 Profa. Itana Gimenes Unified Modelling Language (UML) Não é uma linguagem de programação. Linguagem de modelagem visual utilizada para especificar,

Leia mais

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML. MODELAGEM ORIENTADA A OBJETOS APLICADA À ANÁLISE E AO PROJETO DE SISTEMA DE VENDAS ALTEMIR FERNANDES DE ARAÚJO Discente da AEMS Faculdades Integradas de Três Lagoas ANDRE LUIZ DA CUNHA DIAS Discente da

Leia mais

Unified Modeling Language UML - Notações

Unified Modeling Language UML - Notações Unified Modeling Language UML - Notações Prof. Ms. Elvio Gilberto da Silva elvio@fmr.edu.br UML Ponto de Vista É gerada com propósito geral de uma linguagem de modelagem visual usada para especificar,

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

Leia mais

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

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

Orientação à Objetos. Aécio Costa

Orientação à Objetos. Aécio Costa Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual

Leia mais

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

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Diagrama de Caso de Uso e Diagrama de Sequência

Diagrama de Caso de Uso e Diagrama de Sequência Diagrama de Caso de Uso e Diagrama de Sequência Milena Alexandre dos Santos Baesso (Mestranda em Engenharia Elétrica) Agenda Ciclo de Vida de um Sistema A Fase de Análise Análise Orientada à Objetos Diagramas

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

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

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

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language)

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language) Programação com Objectos Processamento de Dados I 3. UML (Unified Modeling Language) 1 Modelo UML Diagrama de classes Programação com Objectos / Processamento de Dados I 2 Modelo O desenvolvimento de programas

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

O modelo unificado de processo. O Rational Unified Process, RUP.

O modelo unificado de processo. O Rational Unified Process, RUP. Cursos: Sistemas de Informação Disciplina: Administração ADM Prof. Jarbas Avaliação: Prova B1, 5º/6º semestres Data: 27/09/2010 Nome: Gabarito RA: Assinatura: Turma: 1) Segundo as afirmações a seguir,

Leia mais

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER Objetivo dessa aula é descrever as características e a simbologia dos diagramas UML e MER na modelagem de sistemas de informação de uma forma a permitir a comunicação entre técnicos e gestores. Modelagem

Leia mais

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

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

1. Introdução 2. Desenvolvimento de Softwares orientado a objetos 3. UML A unificação dos métodos para a criação de um novo padrão 4. Uso da UML 5.

1. Introdução 2. Desenvolvimento de Softwares orientado a objetos 3. UML A unificação dos métodos para a criação de um novo padrão 4. Uso da UML 5. 1. Introdução 2. Desenvolvimento de Softwares orientado a objetos 3. UML A unificação dos métodos para a criação de um novo padrão 4. Uso da UML 5. Fases do Desenvolvimento de um Sistema em UML 1. Análise

Leia mais

Modelagemde Software Orientadaa Objetos com UML

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

Leia mais

BPMN - Business Process Modeling and Notation

BPMN - Business Process Modeling and Notation BPMN - Business Process Modeling and Notation AGENDA Notação Conceito Visão Geral da Notação BPMN Notação BPMN no Escritório de Processos NOTAÇÃO - CONCEITO Segundo o dicionário: Ação de indicar, de representar

Leia mais

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo. UML - Motivação - O que é um modelo? Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo. O que é um modelo? O que é um modelo? O

Leia mais

UML Aspectos de projetos em Diagramas de classes

UML Aspectos de projetos em Diagramas de classes UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada

Leia mais

Projeto de Software Orientado a Objeto

Projeto de Software Orientado a Objeto Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software

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

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

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

UML (Unified Modeling Language) Linguagem de Modelagem Unificada

UML (Unified Modeling Language) Linguagem de Modelagem Unificada UML (Unified Modeling Language) Linguagem de Modelagem Unificada Introdução É a padronização das metodologias de desenvolvimento de sistemas baseados na orientação a objetos. Foi criada por três grandes

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os

Leia mais

APLICAÇÃO DA MODELAGEM UML NA FASE DE ANÁLISE DE UM PROJETO DE SOFTWARE PARA AGENDAMENTO DE USO DE VEÍCULOS INTERNOS DE UMA EMPRESA

APLICAÇÃO DA MODELAGEM UML NA FASE DE ANÁLISE DE UM PROJETO DE SOFTWARE PARA AGENDAMENTO DE USO DE VEÍCULOS INTERNOS DE UMA EMPRESA APLICAÇÃO DA MODELAGEM UML NA FASE DE ANÁLISE DE UM PROJETO DE SOFTWARE PARA AGENDAMENTO DE USO DE VEÍCULOS INTERNOS DE UMA EMPRESA ANDRE APARECIDO LEAL DE ALMEIDA Discente da AEMS Faculdades Integradas

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

18º Congresso de Iniciação Científica UM ESTUDO EXPLORATÓRIO SOBRE TÉCNICAS DE MODELAGEM DE REQUISITOS DE SOFTWARE PARA SISTEMA EMBARCADO

18º Congresso de Iniciação Científica UM ESTUDO EXPLORATÓRIO SOBRE TÉCNICAS DE MODELAGEM DE REQUISITOS DE SOFTWARE PARA SISTEMA EMBARCADO 18º Congresso de Iniciação Científica UM ESTUDO EXPLORATÓRIO SOBRE TÉCNICAS DE MODELAGEM DE REQUISITOS DE SOFTWARE PARA SISTEMA EMBARCADO Autor(es) MARINA CALÇA Orientador(es) LUIZ EDUARDO GALVÃO MARTINS

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

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

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

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

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

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 de Alto Nível 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. Contexto Na fase de concepção

Leia mais

Apresentação. Nossa sugestão é que você experimente e não tenha medo de clicar!!!

Apresentação. Nossa sugestão é que você experimente e não tenha medo de clicar!!! Apresentação Este manual é uma orientação para os participantes de cursos no ambiente Moodle do INSTITUTO PRISMA. Tem como objetivo orientar sobre as ações básicas de acesso e utilização do ambiente virtual

Leia mais

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. lucelia.com@gmail.com

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. lucelia.com@gmail.com MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES lucelia.com@gmail.com Externamente ao sistema, os atores visualizam resultados de cálculos, relatórios produzidos, confirmações de requisições solicitadas,

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

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br prof@edison.eti.

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br prof@edison.eti. Engenharia de Software Engenharia de Requisitos Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br prof@edison.eti.br 1 Contextualizando... Fonte: [1] O Processo de ER pode ser

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

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

Lógica e Programação Java

Lógica e Programação Java Lógica e Programação Java Agenda Orientação a Objetos Parte 2 UML (software astah) Diagramas Estruturais Diagramas Comportamentais Diagramas de Interação astah Diagrama de Classes Antigo Jude Versão Community

Leia mais

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

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Treinamento GVcollege Módulo Acadêmico - Pedagógico

Treinamento GVcollege Módulo Acadêmico - Pedagógico Treinamento GVcollege Módulo Acadêmico - Pedagógico 2015 GVDASA Sistemas Pedagógico 2 AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações

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. Visão Geral do Sistema 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. A fase de concepção do UP consiste

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Curso de Desenvolvimento de Software Prof. Alessandro J de Souza ajdsouza@cefetrn.br 1 Rational Unified Process RUP Fase Elaboração 2 VISÃO GERAL Fase Elaboração. Visão Geral 3

Leia mais

MODELAGEM DE CASOS DE USO PARA UM SISTEMA DE CLÍNICA VETERINÁRIA

MODELAGEM DE CASOS DE USO PARA UM SISTEMA DE CLÍNICA VETERINÁRIA UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA FACULDADE DE ENGENHARIA DA COMPUTAÇÃO ADAM DREYTON FERREIRA DOS SANTOS CARLOS ROGÉRIO CAMPOS ANSELMO FELIPE BATISTA CABRAL FRANK GOMES DE AZEVEDO NAGIB

Leia mais

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix. UNIP Sistemas de Informação Análise Essencial de Sistemas Prof.Marcelo Nogueira Análise Essencial de Sistemas 1 Introdução A produção de Software é uma atividade build and fix. Análise Essencial de Sistemas

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 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

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

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

Leia mais

Mapa Mental de Engenharia de Software - Diagramas UML

Mapa Mental de Engenharia de Software - Diagramas UML Mapa Mental Engenharia Software - Diagramas UML Mapa Mental Engenharia Software Diagramas UML Mapa Mental Engenharia Software Diagramas UML Mapa Mental UML - Diagramas, Fases e Detalhes Resolvi juntar

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no 1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified

Leia mais

Tutorial Moodle Visão do Aluno

Tutorial Moodle Visão do Aluno Tutorial Moodle Visão do Aluno A P R E S E N T A Ç Ã O A sigla MOODLE significa (Modular Object Oriented Dynamic Learning Environment), em inglês MOODLE é um verbo que descreve a ação ao realizar com gosto

Leia mais

MANUAL C R M ÍNDICE. Sobre o módulo de CRM... 2. 1 Definindo a Campanha... 3

MANUAL C R M ÍNDICE. Sobre o módulo de CRM... 2. 1 Definindo a Campanha... 3 ÍNDICE Sobre o módulo de CRM... 2 1 Definindo a Campanha... 3 1.1 Incluir uma campanha... 3 1.2 Alterar uma campanha... 4 1.3 Excluir... 4 1.4 Procurar... 4 2 Definindo os clientes para a campanha... 4

Leia mais