Orientação a objetos identidade abstração classificação encapsulamento

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Análise e Projeto Orientado a Objetos
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Princípios da Orientação a Objetos e a Linguagem UML
Engenharia de Software
UML no CICLO de DESENVOLVIMENTO
UML Visões – Parte 2.
Desenvolvimento de Sistemas Baseado na Transformação de Modelos
Tipos de sistemas de Lehman
Identificando requisitos
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Testando o sistema Teste funcional: o sistema integrado realiza as funções especificadas nos requisitos? Teste de desempenho: os requisitos não-funcionais.
Por que a engenharia de software?
Abordagens de avaliação
Prentice Hall Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 8 Defeitos e falhas de software Especificação errada: pode não.
Processo inclui: Todas as principais atividades do processo
Padrões e procedimentos de programação
Tipos de treinamento Treinamento do usuário Treinamento do operador
Diagrama de Classes.
Engenharia de Software
UML Material retirado da apostila do Professor Cesar Augusto Tacla
Metodologias Equipe do Curso de ES para SMA
Análise Orientada a Objetos
Modelagem Orientada a Objetos
Cartões CRC (Class Responsibility Card)
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.
Metodologias Orientadas a Agentes
Atribuição de Responsabilidades em Projeto OO
Projeto de Software Orientado a Objetos
Introdução a diagrama de classes e UML
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
Fortium Sistemas da Informação Engenharia de Software II
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
Linguagem de Programação
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Aspectos Avançados em Engenharia de Software Aula 2 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
TÉCNICAS DE PROGRAMAÇÃO II
Especificação de Requisitos de Software com Casos de Uso
DIAGRAMA DE COMPONENTES
Análise Orientada a Objetos
Diagrama de Classes e Colaboração
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Referências: Booch, G. et al. The Unified Modeling Language User Guide
Marcio de Carvalho Victorino
Programação Orientada a Objetos - Java
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
UML – Engenharia de Software 1
UML Diagrama de Caso de Uso Profª. Marcelo Siedler
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Modelando Sistemas em UML
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Modelo de Análise e Projeto
Análise de Casos de Uso Rafael Duarte Alexandre Mota [rmd,
Introdução a Orientação a Objetos
Copyright © 2006 Qualiti. Todos os direitos reservados. Projetar Classes.
Diagrama de Objetos.
20/04/2017 Orientação a Objetos 1 1.
Módulo II Capítulo 1: Orientação a Objetos
Engenharia de Software Orientada a Objetos
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
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.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
IDENTIFICANDO REQUISITOS ENGENHARIA DE SOFTWARE Prof.: José Eduardo Freire.
Transcrição da apresentação:

Orientação a objetos identidade abstração classificação encapsulamento herança polimorfismo persistência Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Objetos e classes Todo objeto tem um nome (também chamado de referência ou indicador). Objetos podem ter atributos (como cor, tamanho e origem). Objetos podem ter operações e comportamentos (como decolar, aterrissar e ser consertado). Cada objeto é uma instância de uma classe. A implementação específica de uma operação para uma certa classe é chamado de método Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Projeto orientado a objetos Normalmente utiliza uma especificação de requisitos orientada a objetos Identifica e representa as classes e os objetos, inclusive os detalhes dos atributos e os comportamentos de cada um Também identifica as interações e relações Insere aspectos computacionais Insere alguns detalhes da biblioteca de classes Considera os requisitos não-funcional e aprimora o projeto de maneira adequada aos requisitos Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Casos de uso Os diagramas devem ter quatro elementos: atores casos extensões usos Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Identificando os participantes Quais usuários ou grupos utilizam o sistema para realizar uma tarefa? Quais usuários ou grupos são necessários para que o sistema possa realizar suas funções? Quais sistemas externos utilizam o sistema para realizar uma tarefa? Quais sistemas externos, usuários ou grupos enviam informações para o sistema? Quais sistemas externos, usuários ou grupos recebem informações do sistema? Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

A UML no processo OO Diagramas de workflow Modelo de objetos Diagramas de seqüência Diagramas de colaboração Diagramas de pacotes Diagramas de componentes Diagramas de implantação Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Itens que podem sugerir a primeira identificação das classes de objetos Estruturas Sistemas externos Dispositivos Papéis Procedimentos operacionais Lugares Organizações Coisas que são manipuladas pelo sistema que está sendo construído Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Diretrizes para decidir o que incluir em uma lista de classes O que necessita ser processado de uma determinada maneira? Quais itens têm vários atributos? Quando você tem mais de um objeto em uma classe? O que tem como base os próprios requisitos e não é derivado de seu entendimento dos requisitos? Quais atributos e operações são sempre aplicáveis a uma classe ou a um objeto? Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Diretrizes para identificar comportamentos Verbos no imperativo Verbos na voz passiva Ações Coisas ou eventos lembrados Papéis Procedimentos operacionais Serviços fornecidos por uma organização Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Nome da classe: abastecimento Categoria: serviço Documentos externos: Controle de exportação: Público Cardinalidade: n Hierarquia: Superclasses: serviços Associações: combustível em associação <nome> Nome da operação: preço Membro público de: abastecimento Documentação: // Calcula o preço final do combustível Pré-condições: galões > 0 diagrama de objetos: (não especificado) Semântica: preço_final = galões * preço diagrama de objeto: (não especificado) Concurrência: seqüencial Interface pública: Operações: preço Interface privada: Atributos: galões Implementação: Máquina de estado: não Concorrência: seqüencial Persistência: transitória Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Considerações para um projeto do programa Requisitos não-funcionais Componentes que podem ser reutilizados a partir de sistemas previamente construídos Componentes que podem ser reutilizados em outros sistemas além do que atualmente está em desenvolvimento Requisitos da interface com o usuário Estrutura de dados e detalhes sobre o gerenciamento Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6

Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 6