Introdução à modelagem orientada a objetos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente RELEMBRANDO... INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Visão geral da UML INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Profª. Ana Paula Lima Técnico Subsequente Objetivo • Apresentar de forma sumária a linguagem UML O que é? Histórico Conjunto de diagramas Classificação do diagramas Comparação entre as versões 1 e 2 da linguagem INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente O QUE É? • É uma linguagem gráfica, para visualização, especificação, construção e documentação de artefatos de sistemas complexos de software (BOOCH,2000) INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente UML – Linguagem de Modelagem Unificada • Principais autores do processo: Grady Booch, James Rumbaugh (OMT), Ivar Jacobson (OOSE) • Chamados os 3 amigos • Aproveitar o melhor das características das notações preexistentes INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína 6 UML – Linguagem de Modelagem Unificada • Diagramas: Os documentos gerados em um processo de desenvolvimento são chamados de artefatos na UML Os artefatos compõe as visões do sistema A UML define 14 diagramas Esta quantidade de diagramas é justificada pela necessidade de analisar o sistema por meio de diferentes perspectivas Cada diagrama fornece uma perspectiva parcial do sistema. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Engenharia de software orientada a objetos 7 Comparação entre as versões de UML UML 2 Diagrama de casos de uso Modelagem Diagrama de sequência dinâmica Diagrama de comunicação Diagrama de máquina de estados Diagrama de atividades Diagrama de visão geral de interação Diagrama de temporização INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente UML 1 Possui Possui Possui, mas chamado de diagrama de colaboração Possui, mas chamado de diagrama statechart Possui Não possui Não possui UML Diagramas da UML Diagramas estruturais Diagramas comportamentais Diagramas de Implementação Diagramas de Interação Diagramas de perfil Diagramas de objetos Diagramas de classes Diagramas de pacotes Diagramas de estrutura composta UML 2.0 Diagramas de Componentes Diagramas de Seqüência Diagramas de Casos de Uso Diagramas de Implantação Diagramas de Colaboração Diagramas de Transições de estados Diagramas de Visão geral Da Interação UML 2.0 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Diagramas de Atividades Engenharia de software orientada a objetos Diagramas de Temporização UML 2.0 9 1º Modelo: Diagrama de Casos de Uso INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Introdução Modelos de Casos de Uso - MCU Exibe um conjunto de atores e casos de uso e seus relacionamentos que expressam a funcionalidade do sistema. É um modelo de análise que representa um refinamento dos requisitos funcionais. Idealizado por Ivar Jacobson em 1970 e inserida na UML na década de 90. É o modelo mais popular para a documentação de requisitos funcionais O MCU representa os possíveis usos de um sistema. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Engenharia de software orientada a objetos 11 COMPONENTES • Composto por: Ator Caso de Uso Associação (Relacionamento) Funcionário • CENÁRIOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Controlar Clientes Notação da UML INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Engenharia de software orientada a objetos 13 Ator • Qualquer pessoa, departamento, sistema computacional e dispositivos que utilizam funcionalidades do sistema. Pode ser usuário humano ou um outro sistema. • Notação utilizada para representar um ator: Funcionário Cliente Acervo Biblioteca INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Engenharia de software orientada a objetos Ator • Não representar para o mesmo ATOR mais do que uma missão Funcionário e Cliente INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Funcionário Engenharia de software orientada a objetos Cliente Cenário 1: Procure quem são os atores • Quem está pressionando a tecla (interagindo com o sistema)? Estudante INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Operador Engenharia de software orientada a objetos Sistema de Registro Cenário 2: Procure quem são os atores • Se o sistema for online? Estudante INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Sistema online de Registro Engenharia de software orientada a objetos Casos de Uso Um caso de uso é representado por uma elipse e um rótulo com o nome do caso de uso. A nomeação de um caso de uso inicia-se por um verbo no infinitivo. Modela um diálogo entre um ator e o sistema. Define uma funcionalidade do sistema. 05/11/2015 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Engenharia de software orientada a objetos 18 Casos de Uso Não representar para o Caso de Uso mais do que uma funcionalidade. Controlar Clientes e Fornecedores INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Controlar Clientes Técnico Subsequente Controlar Fornecedores Casos de Uso Cenários É a descrição de uma das maneiras pelas quais o caso de uso pode ser utilizada. É um episódio de utilização de uma funcionalidade. Pode ser utilizada posteriormente na fase de testes 1. 2. 3. 4. 5. 6. 7. 8. Cliente insere seu cartão no caixa eletrônico. O sistema apresenta a tela de requisição de senha do Cliente. Cliente digita sua senha Sistema valida a senha e exibe o menu com as opções de saque, pagamento ou transferência. O Cliente seleciona a opção saque. Sistema apresenta tela com a requisição do valor a ser sacado. O Cliente digita o valor da quantidade que deseja sacar. ... INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Engenharia de software orientada a objetos 20 Outros modelos de Casos de Uso Formato: estrutura utilizada para organizar a sua narrativa textual: Contínuo, numerado, tabular Formato contínuo Este caso de uso inicia quando o Cliente chega ao caixa eletrônico e insere seu cartão. O sistema requisita a senha do Cliente. Após o Cliente fornecer sua senha e esta ser validada, o Sistema exibe as opções de operações possíveis. O Cliente opta por realizar um saque. Então o Sistema requisita o total a ser sacado. O Cliente fornece o valor da quantidade que deseja sacar. O sistema fornece a quantia desejada e imprime o recibo para o Cliente. O Cliente retira a quantia e o recibo , e o caso de uso termina. 05/11/2015 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Engenharia de software orientada a objetos 21 Casos de Uso Formato numerado 1) 2) 3) 4) 5) 6) 7) 8) 9) Cliente insere seu cartão no caixa eletrônico. O sistema requisita a senha do Cliente. Cliente fornecer sua senha Sistema valida a senha e exibe as opções de operações possíveis. O Cliente opta por realizar um saque. Sistema requisita o total a ser sacado. O Cliente fornece o valor da quantidade que deseja sacar. O sistema fornece a quantia desejada e imprime o recibo para o Cliente. O Cliente retira a quantia e o recibo , e o caso de uso termina. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Engenharia de software orientada a objetos 22 Casos de Uso Formato Tabular Cliente Sistema Insere seu cartão no caixa eletrônico. Requisita a senha do Cliente. Fornecer sua senha Valida a senha e exibe as opções de operações possíveis. Solicita realização de um saque. Requisita o total a ser sacado. Fornece o valor da quantidade que deseja sacar. Fornece a quantia desejada e imprime o recibo para o Cliente. Retira a quantia e o recibo Tenta prover alguma estrutura à descrição INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Engenharia de software orientada a objetos 23 Vamos praticar... Exercício 01 • Leia o texto abaixo: A Computer & CIA é uma pequena empresa prestadora de serviços em manutenção de computador. Possui 6 colaboradores, sendo: • 3 técnicos, 1 atendente, 1 gerente e 1 entregador. Atualmente, possui um sistema de controle de OS. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Vamos praticar... Exercício 01 • Identifique apenas os atores: O cliente chega no balcão e o Atendente faz a abertura da Ordem de Serviço (OS). O técnico acessa o sistema do laboratório para verificar as OS’s abertas. O Gerente tem acesso total ao sistema. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente NA PRÁTICA... • Vamos criar um cenário de exemplo para vermos a notação de um diagrama de caso de uso: • “A clínica médica Saúde Perfeita precisa de um sistema de agendamento de consultas e exames. Um paciente entra em contato com a clínica para marcar consultas visando realizar um check-up anual com seu médico de preferência. A recepcionista procura data e hora disponível mais próxima na agenda do médico e marca as consultas. Posteriormente o paciente realiza a consulta, e nela o médico pode prescrever medicações e exames, caso necessário”. • INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Passos para o digrama 1. Identificar quem são os atores do sistema; 2. Quais são as funcionalidades que cada ator irá executar? INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Atores do Sistema • Secretária Consultar a agenda Agendar a consulta Cancelar a consulta • Médico Realiza a consulta Prescreve Medicação Solicita Exames INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Construindo o diagrama... INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Exercício prático para amanha!! INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente DÚVIDAS? INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Relacionamentos Componente responsável por representar a interação entre os atores e casos de usos. (Ator <-> Caso de Uso) Também representa ligações entre casos de uso ou entre atores. (Ator <--> Ator; Caso de Uso <-->Caso de Uso) Tipos de Relacionamentos : Comunicação Inclusão Extensão Generalização INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Ator Caso de Uso Associação (Relacionamento) Controlar Clientes Funcionário Engenharia de software orientada a objetos 32 Relacionamentos Comunicação: Informa a que caso de uso o ator está associado Representa as trocas de informação entre os atores e casos de uso É o mais utilizado nos MCU Um ator pode estar associado a vários casos de uso Unidirecional: seta indica onde iniciou a comunicação. Bidirecional: falta-se a seta indica comunicação nos dois sentidos. Caso de Uso A Caso de Uso B Ator INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Engenharia de software orientada a objetos 33 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Engenharia de software orientada a objetos Relacionamentos - Include • Relacionamento de um caso de uso base para um caso de uso de inclusão. • O caso de uso incluído é sempre abstrato. • A execução do caso de uso incluído é obrigatória. • O caso de uso base depende do resultado retornado pelo caso de uso incluído. Inclusão Ator INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Base seria a relação de um <<include>> caso de uso que para te sua funcionalidade executada precisa chamar outro caso de uso. Relacionamentos - Include • Exemplo: • Include: Quando um caso de uso “A” inclui (include) outro caso de uso “B”. Isto implica que ao executar o caso de uso “A” executa-se também o caso de uso “B”. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Relacionamentos - Extend • O caso de uso de extensão é geralmente abstrato. • A execução do caso de uso de extensão é opcional. Base <<extend>> Extensão INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Relacionamentos - Extend • Exemplo: • Extends: Quando um caso de uso “A” tem um relacionamento do tipo extends com outro caso de uso “B”. Implica que ao executar o caso de uso “A” não necessariamente “B” será executado. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína RelacionamentosGeneralização • É um relacionamento de um caso de uso filho para o caso de uso pai (Herança). • Compartilha objetivos comuns. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína RelacionamentosGeneralização • Exemplos: • O ator pode herdar as funcionalidades (casos de uso) de outro ator. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Diagrama de Caso de Uso • Ex.: • O ator cliente executará os casos de uso “realizar saque” e “consultar saldo”, enquanto o gerente poderá interagir com os casos de uso “abrir conta” e “vender seguro”. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Aspectos a Considerar • Um dos aspectos mais perigosos é o abuso de <<inclui>> <<estende>> e • Um diagrama de caso de uso deve ser o mais simples possível. Detalhes devem ser deixados para outros diagramas, pois eles foram idealizados justamente com este objetivo. • A fronteira do negócio ou sistema é muito importante, pois ajuda a diminuir a complexidade do contexto global. • Conclusão: diagramas de caso de uso são ferramentas que nos ajudam a enxergar o todo por intermédio da constatação das responsabilidades que os usuários diretos têm. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Sol, Mar e UML INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Vamos praticar... Exercício 02 • Preencha as palavras cruzadas conforme o enunciado: 1. Qualquer pessoa, departamento, sistema computacional e dispositivos que utilizam funcionalidades do Sistema. 2. A execução do caso de uso ________ é obrigatória. 3. A execução do caso de uso ________ é opcional. 4. O ator pode herdar as funcionalidades (casos de uso) de outro ator. 5. O relacionamento de ____________ representa a informação de quais atores estão associados a que casos de usos. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Vamos praticar... Exercício 02 1 2 3 4 5 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Vamos praticar... Exercício 03 • Deseja-se modelar um sistema para um pequeno hotel que atenda aos seguintes requisitos: Quando o cliente chega no hotel para fazer o check-in, o funcionário verifica se existe um quarto reservado para o cliente, caso contrário, verifica a disponibilidade do quarto e, existindo quarto disponível, efetua o registro de hospedagem, e faz o registro do cliente. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Vamos praticar... Exercício 03 Quando o cliente deixar o hotel e solicitar que providencie sua saída, será encerrada a conta e o quarto tornará disponível para a limpeza. Quais os atores e os casos de uso? INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Revisando... • Observe o diagrama abaixo e responda algumas perguntas: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Perguntas... 1. 2. 3. 4. O Ator 1 consegue enxergar o caso de uso UC3? O Ator 2 tem acesso ao caso de uso UC1 e UC2? Os casos de usos UC1, UC2, UC3 são abstratos? Os casos de usos UC4, UC5, UC6, UC7 são concretos? 5. Se você colocar um ator se comunicando com o caso de uso UC7, ele deixa de ser abstrato? 6. Os casos de usos UC6, UC7 são casos generalizados do UC3? INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Vamos praticar... Exercício 04 • Construa um modelo de casos de uso para a seguinte situação fictícia: "Estamos criando um serviço de entregas. Nossos clientes podem nos requisitar a entrega de volumes. Alguns volumes são considerados de maior valor por nossos clientes, e, portanto, eles querem ter tais volumes segurados durante o transporte. Contratamos uma companhia de seguro para segurar volumes de valor". INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Resposta... INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente REFERÊNCIA BIBLIOGRÁFICA • SILVA, Ricardo P. e. UML 2 em modelagem orientada a objetos. Florianópolis, SC: Visual Books, 2007. 232p. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente