Projeto de Software Orientado a Objetos

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Projeto – Parte II - Exemplos de Diagrama de Colaboração
Princípios da Orientação a Objetos e a Linguagem UML
DIAGRAMA DE COLABORAÇÃO
Requisitos de Software
UML Diagramas de Seqüência
UML Modelando um sistema.
UML Visões – Parte 2.
UML – Visões Parte 1 Modelando um sistema.
Análise de Casos de Uso.
Diagrama de Classes.
Diagramas de Seqüência
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos: Encapsulamento e Classificação
DIAGRAMA DE ESTADOS DIAGRAMA ESTADO TRANSIÇÃO ENTRE ESTADOS.
Linguagens de Modelagem para SMA
Cartões CRC (Class Responsibility Card)
Diagrama de Sequência.
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Atribuição de Responsabilidades em Projeto OO
Professora: Aline Vasconcelos IF Fluminense
Contratos em Projeto OO
Professora: Aline Vasconcelos
Professora: Aline Vasconcelos
Atividade de Projeto Design
Objetivo: compreender e aplicar um modelo sequencial
Objetivo: compreender e aplicar um modelo sequencial
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Projeto da Camada de Domínio
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Modelagem de Interações
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
Análise de Casos de Uso Alexandre Motnteiro.
Diagramas de Sequência e Comunicação
Diagramas de Seqüência
DIAGRAMA DE COMPONENTES
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
JAVA: Conceitos Iniciais
UML - Unified Modeling Language
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados.
Estrutura de dados, pseudocódigo
Entendendo as definições de classe
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 11. Comunicação Objetivo: compreender a notação do diagrama de.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Diagrama de Atividades
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Arquitetura do Software
Projeto de Banco de Dados
UNIDADE 2 UML MODELAGEM TEMPORAL
Marcio de Carvalho Victorino
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Interpretação de Projetos de Software Professor: Cheli dos S. Mendes.
Marcio de Carvalho Victorino
UML - Unified Modeling Language
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
O Processo Unificado (UP)
Padrão- MVC Model, View, Controller
Utilizando UML e Padrões Prof. Fábio Botelho, MSc Redes e Sistemas Distribuídos Recife, Março de 2010.
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
© Nabor C. Mendonça Análise e Design Orientados a Objeto com a metodologia (R)UP + UML.
Diagrama de Sequência. Definição: Usado em UML(Unified Modeling Language). Mostra como as mensagens entre os objetos são trocadas no decorrer do tempo.
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Análise e Projeto de Sistemas
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Modelagem de Sistemas Orientada a Objeto Com UML
Interações entre objetos
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Transcrição da apresentação:

Projeto de Software Orientado a Objetos Professora: Aline Vasconcelos Cefet Campos aline.vasconcelos@terra.com.br

Da Análise para o Projeto Atividades do Projeto OO Roteiro Da Análise para o Projeto Atividades do Projeto OO Atribuição de Responsabilidades às Classes Diagramas de Seqüência  

Da Análise para o Projeto Durante a Análise, o foco do desenvolvimento estava na investigação e representação do conhecimento sobre o problema, enfocando questões do tipo: “O que?”, “Quais?”: Que funcionalidades o sistema deve oferecer? Quais são os conceitos do domínio? Na fase de Projeto, o foco passa a ser no “Como?”, onde se busca uma solução computacional para o problema especificado. Nesta fase, as seguintes questões devem ser respondidas: Como implementar as funcionalidades definidas? Como atender aos atributos de qualidade (desempenho, portabilidade, etc.) do sistema? Que tecnologia/plataforma é mais adequada para atender aos requisitos do sistema?  

=> projeto, codificação e testes. Projeto de Software Primeira das três atividades que compõem o núcleo técnico do desenvolvimento de software: => projeto, codificação e testes. Enquanto na Análise trabalhamos no “espaço problema” (ou no domínio do problema), no Projeto trabalhamos no “espaço solução” (ou domínio da solução).  

Projeto de Software Orientado a Objetos: Atividades Atribuição de Responsabilidades às Classes Definição da Arquitetura da Aplicação Seleção da Tecnologia/Plataforma a ser utilizada na Implementação do Sistema Projeto das Interfaces do Sistema Interfaces Gráficas de Usuário – GUI Interfaces com Sistemas e Dispositivos Externos  

Projeto de Software Orientado a Objetos: Atividades Projeto de Banco de Dados Para Bancos de Dados Relacionais, esta atividade requer o mapeamento do Diagrama de Classes para o Modelo Relacional (Mapeamento Objeto-Relacional) Refinamento do Diagrama de Classes de Alto Nível (Modelo Conceitual) em um Diagrama de Classes de Projeto, acrescentando-se características de projeto (como navegabilidade, métodos, tipos de atributos, etc.) e classes técnicas (classes de interface, persistência, etc.)  

Atribuição de Responsabilidades às Classes Iniciaremos o Projeto OO pela elaboração dos Diagramas de Interação, o que requer uma adequada atribuição de Responsabilidades às Classes do Software. Segundo LARMAN (2000): Os diagramas de interação são um dos mais importantes artefatos criados no projeto OO. A atribuição habilidosa de responsabilidades é muito importante.  

Responsabilidades Um contrato ou obrigação de um tipo ou classe. O que é Responsabilidade? Um contrato ou obrigação de um tipo ou classe. Responsabilidades definem o comportamento do objeto! Há basicamente dois tipos de Responsabilidades: Fazer O objeto faz algo ele próprio. O objeto inicia ações em outros objetos. O objeto controla e coordena atividades em outros objetos. Conhecer O objeto conhece e gerencia os seus dados privados encapsulados. O objeto conhece objetos relacionados. O objeto conhece coisas que ele pode derivar ou calcular.  

Atribuição de Responsabilidades às Classes A atribuição de responsabilidades influencia na manutenibilidade e reusabilidade de uma classe. Responsabilidades bem distribuídas => Classes Coesas => Classes com Baixo Acoplamento Avaliação da Modularidade em Projeto: Acoplamento: grau de interdependência entre dois módulos. Deve ser baixo! Coesão: grau de relacionamento entre as tarefas realizadas por um módulo. Deve ser alto!  

Diagramas de Interação: Reflete as interações, ou seja, trocas de mensagens, entre objetos; Enquanto o Diagrama de Classes é estático, o de Interação é dinâmico: reflete as ações executadas no sistema; Casos de uso são traduzidos através dos diagramas de Interação . Nos diagramas de Interação é que são mostradas as operações que o sistema executa para realizar o caso de uso.

Diagramas de Modelagem Dinâmica: A UML apresenta Diagramas para a Modelagem de Aspectos Dinâmicos de um Sistema. São eles: Diagramas de Interação: Seqüência e Colaboração; Diagrama de Estado; Diagramas de Atividades.

Interações: Uma interação é uma especificação comportamental que mostra trocas de mensagens entre objetos para a execução de uma tarefa , como a realização de um caso de uso, por exemplo. Mensagens representam chamadas de método. Dentro do código de uma operação há uma chamada para a execução de outra operação.

Envio de Mensagem: Deve ser mostrada como uma seta do objeto que contém a operação chamadora (sender ou emissor) para o objeto que contém a operação chamada(receiver ou receptor). Obter o Título()

Diagramas de Interação: A UML apresenta dois tipos de Diagramas de Interação: Diagrama de Seqüência e Diagrama de Colaboração. Diagramas de Seqüência enfatizam a ordenação temporal das mensagens. Diagramas de Colaboração enfatizam a organização espacial dos objetos que enviam e recebem mensagens.

Caso de Uso: Informar Total de Pedido Fluxo de Eventos Principal: O Caixa solicita ao sistema o total de um pedido já registrado. O sistema calcula o total do pedido, calculando o total de cada item e somando. Para calcular o total de cada item, o sistema multiplica a quantidade vendida do item pelo preço do produto. O sistema apresenta o total na tela.

Exemplo de Diagrama de Seqüência:

Notação do Diagrama de Seqüência: A ordem das mensagens é mostrada da parte superior à parte inferior do diagrama, na vertical. Os objetos são mostrados no topo do diagrama na horizontal. A Linha Vertical é chamada de linha de vida do objeto. Ela representa a vida do objeto durante a interação.

Notação do Diagrama de Seqüência: Mensagens são representadas por flechas entre as linhas de vida de dois objetos. Apresentam a assinatura do método ou operação chamada. Obs.: a assinatura engloba o nome do método, os parâmetros recebidos com seus tipos, o tipo de retorno e a visibilidade. Ex: Na Classe Pedido: public double calcularTotal(); public static double calcularTotal(int ano);

Notação do Diagrama de Seqüência: Uma autochamada (“mensagem para self”) representa uma mensagem que um objeto envia para si mesmo, remetendo a seta de mensagem de volta para a mesma linha de vida. Ex:

Notação do Diagrama de Seqüência: Caixa de ativação mostra o tempo de ativação do objeto para a execução de uma operação. Para uma interação procedimental, isto indicaria que o procedimento é o que está na vez na pilha do processador. Ex:

Notação do Diagrama de Seqüência: Condição de guarda (ou somente condição): indica uma condição para o envio de uma mensagem. A mensagem é enviada somente se a condição for verdadeira. Representada entre colchetes. Um asterisco representa um marcador de iteração, que mostra que a mensagem é enviada várias vezes para múltiplos objetos receptores. É possível ainda escrever: *[para todos os itens de pedido]

Exemplo de Diagrama de Seqüência com Condição e Iteração:

Notação do Diagrama de Seqüência: Retorno são representados através de linhas tracejadas. Somente deve ser representado para acrescentar clareza ao diagrama. Objetos são representados na parte superior do Diagrama. Escreve-se o objeto: nome da classe, tudo sublinhado. Ex: obj1: C1

Notação do Diagrama de Seqüência: Criação de objetos podem ser representadas colocando-se a seta que contém a mensagem de criação apontando para o objeto diretamente. Representação: obj1: C1 Criar() obj2: C2

Notação do Diagrama de Seqüência : Destruição de Objetos: representada através de um x. obj1: C1 obj2: C2 op1() destruir()

Condição com Ramificação Condicional: uma condicional é indicada dividindo uma seta de mensagem em dois objetivos paralelos e, tal como em máquinas de estado finitas, em qualquer ponto de ramificação as expressões condicionais não devem ser ambíguas. obj1: C1 obj2: C2 obj3: C3 [x > 0] op1() [x < = 0] op2()