Engenharia de Software



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

2 Diagrama de Caso de Uso

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

Modelode Domínio: Identificando. Prof. Anderson Cavalcanti UFRN-CT-DCA

Uma visão mais clara da UML Sumário

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

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

Engenharia de Software III

Análise e Projeto de Sistemas

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

O Processo Unificado: Captura de requisitos

Modelagem de Casos de Uso (Parte 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.

Diagramasde Interação. Prof. Anderson Cavalcanti UFRN-CT-DCA

Engenharia de Requisitos Estudo de Caso

Questões de Concursos Públicos sobre Orientação a Objetos e UML

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

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

Análise e Projeto Orientados por Objetos

UML Diagramas. UML Diagramas. UML Diagrama Diagrama de Classes. UML Diagrama Diagrama de Classes

Engenharia de Software

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

CASO DE USO. Isac Aguiar isacaguiar.com.br

Capítulo 09. Construindo o Modelo do Domínio

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

Introdução! 1. Modelos de Domínio! 1. Identificação de classes conceituais! 2. Estratégia para identificar classes conceituais! 2

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

Diagrama de Caso de Uso e Diagrama de Sequência

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Especificação de Requisitos

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

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

FMR Faculdade Marechal Rondon Gestão de Sistemas de Informação Prof. Ms. Elvio Gilberto da Silva

1) O QUE NÃO É BANCO DE DADOS?

A Linguagem de Modelagem Unificada (UML)

Resolução da lista de exercícios de casos de uso

ProcessoUnificado: Prof. Anderson Cavalcanti UFRN-CT-DCA

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

Processo de Desenvolvimento Unificado

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

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

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

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

UML: Casos de Uso. Projeto de Sistemas de Software

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

UML - Unified Modeling Language

BPMN. Business Process Modeling Notation. Leandro C. López Agosto

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

Notas de Aula 04: Casos de uso de um sistema

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

Engenharia de Software I

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

UML. Diagrama de Seqüência

Estudo de Caso. Caixa Eletrônico. Deitel & Deitel. Java como Programar 6a edição

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

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)

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

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

Análise e Projeto de Sistemas

Orientação a Objetos com Java

Especificação do 3º Trabalho

BPMN Business Process Modeling Notation

Laboratório de ENGSOF Estudo de Caso. Prof. André Pereira, MSC, PMP

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 20 PROFª BRUNO CALEGARO

Princípios de Análise e Projeto de Sistemas com UML

Análise e Projeto de Sistemas

Modelo Entidade-Relacionamento

Profº Aldo Rocha. Banco de Dados

Modelos de Sistemas Leitura: Sommerville; Pressman

DESENVOLVENDO O SISTEMA

BPMN - Business Process Modeling and Notation

São abstrações identificadas como cidadãos de primeira classe em um modelo. Podem ser:

Casos de Uso. Professor MSc Wylliams Barbosa Santos wylliams.wordpress.com Laboratório de Programação

ENGENHARIA DE SOFTWARE I

Modelagem de Sistemas Orientado a Objetos com UML. Capítulo 8. Diagrama de Estados. Ana Paula Gonçalves Serra, Dr.

UML: Diagrama de Casos de Uso, Diagrama de Classes

Wilson Moraes Góes. Novatec

Prof.: Clayton Maciel Costa

Unified Modeling Language UML - Notações

Diagrama de Classes. Diagrama de Classes. Diagramas de Classe. POST Criando Diagramas de Classe. Como construir (2)

UML Aula III Diagramas de Estado, Atividades, Componentes e Instalação

Curso de Licenciatura em Informática

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

Guia para elaboração do Modelo de Domínio Metodologia Celepar

Orientação a Objetos

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

Desenvolvimento de uma Etapa

PROGRAMANDO EM C# ORIENTADO A OBJETOS

Requisitos de Software

Casos de Uso. Viviane Torres da Silva

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Diagrama de Classes. Viviane Torres da Silva

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL -EXERCÍCIOS. Prof. Angelo Augusto Frozza, M.Sc.

Banco de Dados. Modelagem de Dados com MER. Prof. Walteno Martins Parreira Jr

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

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.

Transcrição:

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 de Uso com os cenários Modelo Conceitual Diagrama de Classe Simplificado Diagrama de Seqüência Diagrama de Estado de Objeto Ronaldo C. Oliveira 3

Modelo Conceitual do Sistema (Diagrama de Classe Simplificado)

UML - Modelo Conceitual Um diagrama de classe ilustra as especificações de software para as classes e interfaces do sistema Inclui: Classes, associações e atributos; Interfaces (com operações e constantes); Métodos que manipulam os objetos; Informação sobre o tipo dos atributos; Navegabilidade; Dependências; UML não diferencia modelo conceitual de diagrama de classe (o termo classe de implementação é usado para distinguir o segundo do primeiro) Ronaldo C. Oliveira 5

UML - Modelo Conceitual Modelo Conceitual (diagrama de Classe Inicial) Artefato mais importante da AOO Representa conceitos relevantes (do ponto de vista do modelador) do domínio do problema Na UML, ilustrado com diagramas de estruturas estáticas contendo: Conceitos Associações entre conceitos Atributos de conceitos Ronaldo C. Oliveira 6

UML - Modelo Conceitual Conceitos Idéias, coisas, ou objetos do mundo real Loja Cliente Venda data hora Não representam componentes de software VendasDatabase artefato do software, não faz parte do modelo conceitual data hora Venda classe do software; não faz parte do modelo conceitual imprima() Ronaldo C. Oliveira 7

UML - Modelo Conceitual Identificando Conceitos Regras úteis: É melhor especificar demais do que especificar de menos; Não exclua conceitos simplesmente porque os requisitos não indicam a necessidade de guardar informações sobre eles Comece fazendo uma lista de conceitos candidatos a partir de uma lista de conceitos comuns; Considere os substantivos e frases nominais nas descrições dos cenários dos casos de uso como possíveis candidatos a conceitos ou atributos. Ronaldo C. Oliveira 8

UML - Modelo Conceitual Identificando os Conceitos Analise a descrição dos casos de uso. Identifique os substantivos ou cláusulas substantivas. Classifique os substantivos para um melhor entendimento. FACOM/UFU/BCC/ESofEngenharia de Software Ronaldo C. Oliveira 9

UML - Modelo Conceitual Categoria Objeto físico ou tangível Lugares Transações Itens de transação Papéis de pessoas Container de coisas Coisas em um container Sistemas externos Nomes abstratos Organizações Eventos Catálogos Registros contratuais Serviços financeiros Manuais, livros Exemplos Terminal de ponto-de-venda; Avião Loja; Aeroporto Venda, Pagamento; Reserva Itens de venda; Parcelas de pagamento Operador; Piloto Loja; Avião Item; Passageiro Serviço de crédito; Controle de tráfego aéreo Fome; Aracnofobia Departamento de vendas; Companhia aérea Política de devolução; Política de cancelamento Catálogo de produtos; Catálogo de peças Recibo, Contrato de trabalho; Registro de manutenção Linha de crédito; Ações Manual do empregado; Manual de reparos Ronaldo C. Oliveira 10

UML - Modelo Conceitual Critérios para definição de conceitos Possui atributos? Guarda informação? Há atributos comuns a outros conceitos? O conceito é essencial ao sistema? FACOM/UFU/BCC/ESofEngenharia de Software Ronaldo C. Oliveira 11

UML - Modelo Conceitual Criando um Modelo Conceitual Passos sugeridos: 1. Liste os conceitos candidatos para os casos de usos em questão usando a lista de categorias comuns e identificação textual de nomes; 2. Desenhe-os em um modelo conceitual; 3. Adicione as associações necessárias para registrar os relacionamentos para os quais é preciso preservar alguma memória; 4. Adicione os atributos necessários para cumprir os requisitos de informação. Ronaldo C. Oliveira 12

UML - Diagrama de Classe Modelo Conceitual Identificando Associações Regras úteis: Focar nas associações cujo conhecimento deve ser preservado; Usar nomes baseados em expressões verbais que façam sentido quando lidas no contexto do modelo; Evitar mostrar associações deriváveis ou redundantes; É mais importante identificar conceitos do que associações; Associações demais tendem a confundir um modelo conceitual ao invés de iluminá-lo. Ronaldo C. Oliveira 13

UML - Diagrama de Classe Modelo Conceitual Atributo Um atributo é um dado lógico de um objeto do domínio Definidos para conceitos cujos requisitos (casos de uso) sugerem a necessidade de preservar algum tipo de informação Ex.: atributos data e hora para o conceito Venda Notação na UML Venda data horainicial : Time atributos Ronaldo C. Oliveira 14

UML - Diagrama de Classe Modelo Conceitual Identificando Atributos Atributos devem preferencialmente representar tipos primitivos de dados ou de valores simples Ex.: Data, Número, Texto, Hora, Endereço, etc. Atributos não devem ser usados para: Representar um conceito complexo Relacionar conceitos (atributo chaveestrangeira ) Ronaldo C. Oliveira 15

UML - Diagrama de Classe Modelo Conceitual Um atributo deve ser de tipo não-primitivo quando: É composto de seções separadas Ex.: endereço, data Precisa ser analisado ou validado Ex.: CPF, número de matrícula Possui outros atributos Ex.: Um preço promocional com prazo de validade É uma quantidade com uma unidade Ex.: valores monetários, medidas Ronaldo C. Oliveira 16

UML - Diagrama de Classe Exemplo de Modelo Conceitual responsavel Escola nome : Nome endereco : Sequencia de Caracteres telefone : Numero tem 1 1..* 0..* Departamento nome : Nome 1 1..* atribuido a 1..* possui memb ro * Aluno matricula : Número fre quenta * * Curso 1..* códigocurso: Número nome: Nome ensina * 1..* 1..* 1 Instrutor titulo : Nome Pess oa Nom e En dereço Telefone Ronaldo C. Oliveira 17

UML - Diagrama de Classe Exemplo de Modelo Conceitual Exercício: Construir o Modelo Conceitual do Sistema de Vídeo Locadora Ronaldo C. Oliveira 18

Diagrama de Interação

UML Diagrama de Interação O Diagrama de Interação visa construir a modelagem comportamental ou dinâmica do sistema, mostrando o comportamento dos objetos, considerando a seqüência da troca de mensagens entre estes objetos, para que cumpra um determinado papel ou se atenda a um determinado contexto; Favorecem a identificação das responsabilidades que as classes poderão ter, uma vez que as mensagens trocadas pelos objetos correspondem a métodos da classe ao qual pertencem; O diagrama de interação tem o foco em um caso de uso, onde busca-se identificar quais os objetos participam da interação. Ronaldo C. Oliveira 20

UML Diagrama de Interação Um diagrama de interação ilustra as interações de mensagens entre instâncias (e classes) no modelo de classes Atribuição de responsabilidades aos objetos Ponto de partida é o cumprimento das pós-condições especificadas nos contratos de operação A UML defines dois tipos de diagramas de interação: Diagramas de seqüência (faz parte da análise) Diagramas de colaboração entre os objetos (faz parte do projeto) Ronaldo C. Oliveira 21

Diagrama de Seqüência

UML Diagrama de Seqüência Mostra como diversos objetos se relacionam (interagem, colaboram) no ambiente de negócios para a realização de um caso de uso; Auxilia na identificação de serviços/métodos e delegação de responsabilidades; Elementos: Objetos; Mensagens; Linha da vida; Foco de controle; Retorno. Ronaldo C. Oliveira 23

UML Diagrama de Seqüência Diagramas de seqüência Representa interações entre objetos através de mensagens envidadas :Instância da Classe A :Instância da Classe B mensagem1() mensagem2() mensagem3() Ronaldo C. Oliveira 24

UML Diagrama de Seqüência Um diagrama de seqüência ilustra a ordem das interações dos atores externos com o sistema (representado como uma caixa-preta ) e os eventos que eles geram sistema como uma caixa preta Ator Comprar Ítens Caixa :Sistema Repita até não existir mais itens entraritem(código, quantidade) encerrarvenda() Texto explicativo Lógica, controle, Iteração Deve ser trazido do Use case fazerpagamento(valor) Ronaldo C. Oliveira 25

UML Diagrama de Seqüência Eventos e Operações Um evento de sistema é um evento externo de entrada gerado por um ator do sistema Inicia uma operação de resposta de mesmo nome Uma operação de sistema é uma operação que é executada em resposta a um evento de sistema Comprar Itens Caixa :Sistema entraritem(código, quantidade) Ronaldo C. Oliveira 26

UML Diagrama de Seqüência Representando Operações: O conjunto necessário de operações de sistema é determinado através da identificação dos eventos de sistema Exemplos de operações: entraritem(código, quantidade) encerrarvenda() fazerpagamento(quantia) Na UML, representado como operações de um objeto denominado Sistema: Sistema As mensagens que chegam a um determinado objeto farão parte dos métodos da classe ao qual o objeto pertence. entraritem() encerrarvenda() fazerpagamento() Ronaldo C. Oliveira 27

UML Diagrama de Seqüência Como fazer Diagramas de Seqüência Regras úteis: 1. Identificar os atores que operam diretamente com o sistema. Desenhar uma linha vertical representando cada um desses atores; 2. Desenhar uma linha vertical representando cada um dos objeto (classes) que o caso de uso manipula; 3. A partir da descrição das seqüências típicas de eventos dos casos de uso, identificar os eventos de sistema que cada ator gera. Ilustrar os eventos no diagrama através de mensagens.; 4. Opcionalmente, incluir o texto do caso de uso à esquerda do diagrama. Ronaldo C. Oliveira 28

UML Diagrama de Seqüência Nomeando Eventos e Operações Regras úteis: Começar com um verbo Enfatizar intenção em vez do meio físico de entrada ou componente gráfico da interface com o usuário Ex.: encerrarvenda em vez de pressionarteclaenter Expressar intenção no nível mais alto de abstração Ex.: fazerpagamento em vez de entrarquantia Ronaldo C. Oliveira 29

UML - Diagrama de Seqüência Exemplo Ronaldo C. Oliveira 30

UML - Diagrama de Seqüência Exemplo Clinica Médica Paciente MarcarConsulta() Secretária ObterHorariosVagos() :Agenda SelecionarHorario() [Horario selecionado] EfetivarAgendamento(horario, Nome,Telefone) Agendar(ConsultaMarcada) Ronaldo C. Oliveira 31

Diagrama de Estados

UML Diagrama de Estados Normalmente um sistema reage a estímulos provenientes de fora dele ou ainda estímulos temporais por ele mesmo desencadeados. Essa reação pode originar respostas externas ao sistema. Esta dinâmica é fruto da colaboração entre os objetos, os quais estarão em determinado estado em um certo período de tempo. O Diagrama de Estados é usado para mostrar os possíveis estados dos objetos de uma classe. A mudança de um estado para outro é chamada de Transição de Estado. Ronaldo C. Oliveira 33

UML Diagrama de Estados Componentes de um diagrama de estado Estado representação de uma situação de um determinado objeto em determinado tempo estado 1 Início do diagrama Final do diagrama Ronaldo C. Oliveira 34

UML Diagrama de Estados Todo diagrama de estado deve conter uma indicação de início e pode conter uma ou mais situações de finalização; Durante a vida de um objeto, pode vir a existir controle sobre várias situações, cada qual podendo assumir diversos estados possíveis; Um objeto permanece em um determinado estado por um tempo finito. Ronaldo C. Oliveira 35

UML Diagrama de Estados A transição de um estado para outro deve conter algumas características: Condição ou evento que ocasiona a mudança de estado; A ação ou operação que deverá ser executada para que a mudança de estado aconteça. Estado 1 Estado 2 Condição Ação Ronaldo C. Oliveira 36

UML - Diagrama de Estados Exemplo Mat riculado efetivar matricula Cursando Disciplina matricular matricular aprovar reprovar Aprovado Reprovado concluir curs o deseistir do curso Ronaldo C. Oliveira 37

UML - Diagrama de Estados Exemplo Clinica Médica Ronaldo C. Oliveira 38