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

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

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

O Processo Unificado: Captura de requisitos

Descreve relacionamentos entre objetos de dados; conduz à modelagem de dados; atributos de cada objeto => Descrição de Objetos de Dados;

Modelo Entidade-Relacionamento

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

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

Disciplina: Unidade II: Prof.: Período:

Orientação a Objetos

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. Viviane Torres da Silva

A Linguagem de Modelagem Unificada (UML)

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

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

Engenharia de Software I

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

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

Wilson Moraes Góes. Novatec

Orientação a Objetos com Java

Engenharia de Software I

Especificação de Requisitos

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

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

Modelagem dos dados. entendo. Reino Real. Reino. Representação

2 Diagrama de Caso de Uso

Projeto de Banco de Dados

ESTÁGIO DE DOCÊNCIA II

Engenharia de Software

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

MODELO ENTIDADE - RELACIONAMENTO

UML: Diagrama de Casos de Uso, Diagrama de Classes

Modelagem de Casos de Uso (Parte 1)

ENGENHARIA DA COMPUTAÇÃO

UML: Diagrama de Classes

MODELAGEM DE SISTEMAS

Prof.: Clayton Maciel Costa

Fernando Fonseca Ana Carolina

Engenharia de Software

BANCO DE DADOS PROFESSOR MAURÍCIO - MAURICIO.MELLO@PUCPR.BR AULA 02. O Modelo Entidade-Relacionamento ( MER )

Modelo de Entidade e Relacionamento (MER) - Parte 07

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

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

Casos de Uso. Prof. Clayton Vieira Fraga Filho site: ENG10015 Engenharia de Software

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

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

UNIVERSIDADE ESTADUAL DO AMAZONAS ESPECIALIZAÇÃO EM DESENVOLVIMENTO EM SOFTWARE LIVRE CONCEITOS E PROJETOS DE BANCO DE DADOS E SQL

Profa. Daniela Barreiro Claro

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

MODELAGEM DE DADOS. Banco de Dados I. O uso da análise e do projeto Orientados a Objetos atenuou a separação! Unidade I

Introdução a Java. Hélder Nunes

Unified Modeling Language UML

Engenharia de Requisitos Estudo de Caso

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. Claudio Passos Apresentação cedida pela Ceça Moraes

UML Aspectos de projetos em Diagramas de classes

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 3. Prof. Rafael Dias Ribeiro.

Projeto de Sistemas I

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

Ciclo de Desenvolvimento de Sistemas de BD

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

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Casos de Uso - definições

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

Engenharia de Software III

TC 045 Gerenciamento de Projetos

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

Unidade III MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Concepção e Elaboração

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

Diagrama de transição de Estados (DTE)

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

DESENVOLVENDO O SISTEMA

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

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

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

Gerenciamento do Escopo do Projeto Produto do Projeto

Especificação de Requisitos

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

Tema 1: Modelo Estático

URL para teste

ViajarFácil Sistema de Reserva de Viagens

Análise e Projeto de Sistemas

Banco de Dados Básico

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

Uma visão mais clara da UML Sumário

Documento de Arquitetura

Modelagem do Processo de Negócio

Curso Superior de Tecnologia em BD

Roteiro 3 Modelagem relacional

Métodos de Construção de Software: Análise Estruturada. Graduação em Informática 2008 Profa. Itana Gimenes

Exercícios Diagrama de Casos de Uso. Disciplina: Engenharia de Requisitos

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

Especificação do 3º Trabalho

Atributos. Exercício (4.1) Angélica Toffano Seidel Calazans Abordagem Entidade-Relacionamento

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

MC536 Bancos de Dados: Teoria e Prática

Transcrição:

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 Projetos de Software 4. Gerência da Qualidade (continuação) 6. Projeto de Sistema 7. Implementação e Testes 8. Entrega e Manutenção 1

Documento de Especificação de Requisitos Documento de Especificação de Requisitos Introdução: breve introdução ao documento, descrevendo seu propósito e estrutura. Modelo de Casos de Uso: apresenta o modelo de casos de uso do sistema, incluindo os diagramas de casos de uso e as descrições de casos de uso associadas. Modelo Estrutural: apresenta o modelo estrutural do sistema, incluindo os diagramas de classes do sistema. Modelo Dinâmico: apresenta os modelos comportamentais dinâmicos do sistema, incluindo os diagramas de estados, diagramas de interação e diagramas de atividades. Dicionário do Projeto: apresenta as definições dos principais conceitos capturados pelos diversos modelos e restrições de integridade a serem consideradas, servindo como um glossário do projeto. Modelagem Conceitual Estrutural Diagrama de Classes Tem por objetivo descrever as informações que o sistema deve representar e gerenciar. Devem ser concebidos com foco no domínio do problema e não no domínio da solução. Para elaborar um diagrama de classes, é preciso: a) Identificar classes b) Identificar atributos e associações c) Especificar Hierarquias de Generalização/Especialização 2

a) Identificação de Classes Relembrando Objetos O carro do João João Classes descrevem um conjunto de objetos com as mesmas propriedades (atributos e associações) e o mesmo comportamento (operações). Objetos são instâncias das classes Pessoa Classes Carro João Cecy Carro A Carro C Carro B Maria a) Identificação de Classes Notação: Como encontrar as classes? Procurar no documento de requisitos e modelos de casos de uso: -Agentes (ex.: pessoa e organização) - Papéis (ex.: autor, contratante e analista) -Objetos (ex.: livro, contrato e curso) - Eventos (ex.: locação, matrícula e reserva). Exemplos: 3

b) Identificação de Atributos e Associações Atributos descrevem propriedades dos objetos de uma classe. Exemplos: Nota: i) Não se representam os atributos que indicam relacionamentos (ex.: atributo editora na classe Livro) Especificando Atributos Notação: visibilidade nome: tipo [multiplicidade] = valorinicial {propriedades} Visibilidade + público : o atributo pode ser acessado por qualquer classe; # protegido: o atributo só é passível de acesso pela própria classe ou por uma de suas especializações; - privado: o atributo só pode ser acessado pela própria classe; ~ pacote: o atributo só pode ser acessado por classes declaradas dentro do mesmo pacote da classe a que pertence o atributo. A visibilidade só é determinada na fase de Projeto. 4

Especificando Atributos Notação: visibilidade nome: tipo [multiplicidade] = valorinicial {propriedades} Tipo Atributos possuem tipos, que podem ser primitivos ou específicos de domínio. Exemplos de tipos primitivos: String, Boolean, Integer, Float, Currency, Date, Time, DateTime, Year, YearMonth. Exemplos de tipos específicos de domínio: CPF, ISBN, CNPJ, atributos enumerados (sexo, dias da semana, status etc) Especificando Atributos Notação: visibilidade nome: tipo [multiplicidade] = valorinicial {propriedades} Multiplicidade Informada quando um atributo for opcional ou quando puder ter mais do que uma ocorrência. Deve ser informada, indicando o valor mínimo e o valor máximo. Exemplos: nome: String instâncias da classe têm obrigatoriamente um e somente um nome. carteira: String [0..1] instâncias da classe têm uma ou nenhuma carteira. telefones: Telefone [0..*] instâncias da classe têm um ou vários telefones. pessoascontato: String [2] instâncias da classe têm exatamente duas pessoas de contato. 5

Especificando Atributos Notação: visibilidade nome: tipo [multiplicidade] = valorinicial {propriedades} Valor Inicial Valor que, quando não informado outro valor, será atribuído ao atributo. Exemplo: origem: Ponto = (0,0) a origem, quando não informado outro valor, será (0,0). Propriedades Propriedades dos atributos que vale a pena serem destacadas. Exemplo: numsocio: int {readonly} Associações são relacionamentos que ocorrem entre instâncias de duas ou mais classes. Exemplo: Cliente efetua Pedido Notação: 6

Papéis Evento Lembrado Para uma concessionária, a compra é um evento importante para o negócio e precisa ser registrado. Então, nesse caso, ela é tratada como uma classe e não como uma associação. 7

Mas Registro de Históricos 8

Restrições para Complementar o Modelo Um empregado pode ter mais de uma lotação vigente? Um empregado pode ser chefe de mais de um departamento ao mesmo tempo? Um departamento pode ter mais do que um chefe nomeado ao mesmo tempo? Infelizmente, o modelo é incapaz de responder a essas perguntas. Restrições de Integridade: então Um empregado só pode estar lotado em um único departamento em um dado momento. Um empregado só pode estar designado como chefe de um único departamento em um dado momento. Um departamento só pode ter um empregado designado como chefe em um dado momento. Exclusividade (XOR) 9

Classes Associativas Mas Não precisa de classe associativa. 10

Classes Associativas x Eventos Lembrados Situação: em um hospital, pacientes são tratados em unidades médicas. Um paciente pode ser tratado em diversas unidades médicas diferentes, as quais podem abrigar diversos pacientes sendo tratados. Assim, cada vez que um paciente é tratado em uma unidade médica diferente tem-se um tratamento. Mas, um mesmo tratamento não poderia ser realizado em diversas unidades médicas? então Associação Ternária 11

Agregação e Composição Composição Um objeto-parte só pode ser parte de um único todo. Agregação Um objeto-parte pode ser parte de mais de um todo. c) Identificação de Hierarquias de Generalização/Especialização Notação: Atributos descrevem propriedades dos objetos de uma classe. Exemplo: 12

Uso ou Não da Herança Modelagem Dinâmica Os diagramas de classes gerados pela atividade de modelagem conceitual estrutural representam apenas os elementos estáticos de um modelo de análise orientada a objetos. A modelagem dinâmica modela o comportamento dinâmico da aplicação. Diagrama de Transição de Estados Um diagrama de transição de estados mostra uma máquina de estados que consiste dos estados pelos quais objetos de uma particular classe podem passar ao longo de seu ciclo de vida e as transições possíveis entre esses estados, as quais são resultados de eventos que atingem esses objetos. Diagramas de transição de estados são usados principalmente para modelar o comportamento de uma classe, dando ênfase ao comportamento específico de seus objetos. 13

Notação Basicamente, a semântica de um diagrama de estados é: Quando o evento ocorre, se a condição de guarda é verdadeira, a transição dispara e a ação é realizada instantaneamente. O objeto passa, então, do estado origem para o estado destino. Se o estado destino possuir uma atividade a ser realizada, ela é iniciada. Um exemplo geral Um cliente faz um pedido pela Internet e o pagamento deve ser realizado em cartão de crédito. O pedido é registrado e se o pagamento for confirmado pela operadora do cartão de crédito o pedido é confirmado, caso contrário o pedido é cancelado. Após o pedido ser confirmado, os itens são enviados para o cliente. Quando é registrada a entrega dos itens o pedido é dado como atendido. Diagrama de Estados da entidade Pedido: Registrar Pedido Pedido Registrado Solicitar Autorização Cartão [pagamento não autorizado pela operadora de cartão de crédito] / Cancelar Pedido Como está representado, indica que pedidos cancelados e pedidos atendidos podem ser excluídos. Pedido Cancelado Solicitar Autorização Cartão [pagamento confirmado pela operadora de cartão de crédito]/ Confirmar Pedido Pedido Confirmado Registrar entrega dos itens do pedido Pedido Atendido 14

Um exemplo geral Um cliente faz um pedido pela Internet e o pagamento deve ser realizado em cartão de crédito. O pedido é registrado e se o pagamento for confirmado pela operadora do cartão de crédito o pedido é confirmado, caso contrário o pedido é cancelado. Após o pedido ser confirmado, os itens são enviados para o cliente. Quando é registrada a entrega dos itens o pedido é dado como atendido. Diagrama de Estados da entidade Pedido: Registrar Pedido Pedido Registrado Solicitar Autorização Cartão [pagamento não autorizado pela operadora de cartão de crédito] / Cancelar Pedido Como está representado, indica que pedidos cancelados e pedidos atendidos não podem ser excluídos. Pedido Cancelado Solicitar Autorização Cartão [pagamento confirmado pela operadora de cartão de crédito]/ Confirmar Pedido Pedido Confirmado Registrar entrega dos itens do pedido Pedido Atendido Casos de Uso e Diagramas de Transição de Estados As requisições de realização de casos de uso do sistema ou de fluxos de eventos específicos de um caso de uso podem ser eventos de transição de uma máquina de eventos. Exemplo: Locadora de Carros 15

Diagrama de Transição de Estados da Classe Carro (1) Nomes de fluxos dos casos de uso Uma mesma classe pode ter mais de uma diagrama de transição de estados, desde que sejam tratados estados distintos em cada um deles. Exemplo: Diagrama de Transição de Estados da Classe Carro (2) 16

O Dicionário do Projeto Apresenta as definições dos principais conceitos capturados pelos diversos modelos e restrições de integridade a serem consideradas*, servindo como um glossário do projeto. Tipicamente contém a definição das classes, seus atributos e operações. * As restrições podem ser definidas após apresentação do diagramas de classes. Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) 17