Projeto de Software Orientado a Objeto



Documentos relacionados
Linguagem de Programação III

Orientação a Objetos

Java. Marcio de Carvalho Victorino

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

CONVENÇÃO DE CÓDIGO JAVA

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

POO Programação Orientada a Objetos. Classes em Java

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

ESTRUTURA BÁSICA DE UM PROGRAMA JAVA

Objetivos: Entender o funcionamento dos programas Java via linha de comando

Prof. Esp. Adriano Carvalho

2 Orientação a objetos na prática

Programação de Computadores - I. Profª Beatriz Profº Israel

Introdução a Java. Hélder Nunes

Programação por Objectos. Java

Programação Orientada a Objetos em Java

NetBeans. Conhecendo um pouco da IDE

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

CURSO DE PROGRAMAÇÃO EM JAVA

Linguagens de. Aula 02. Profa Cristiane Koehler

Orientação a Objetos

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Orientação a Objetos com Java

Guia de Fatores de Qualidade de OO e Java

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce

RevISTa: Publicação técnico-científica do IST-Rio. nº 05 Data: Dezembro / 2012 ISSN

Implementando uma Classe e Criando Objetos a partir dela

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido

Módulo 07 Características Avançadas de Classes

Exercícios de Revisão Java Básico

Prof. Jhonatan Fernando

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza

Sintaxe Básica de Java Parte 1

Encapsulamento de Dados

DEFINIÇÃO DE MÉTODOS

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

3 Classes e instanciação de objectos (em Java)

Análise de Programação

Noções sobre Objetos e Classes

BC0501 Linguagens de Programação

Java 2 Standard Edition Como criar classes e objetos

Programação online em Java

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

Feature-Driven Development

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ

FBV - Linguagem de Programação II. Um pouco sobre Java

Um pouco do Java. Prof. Eduardo

Lógica de Programação

Primeiro programa em Java (compilação e execução)

Prática em Laboratório N.01 Criando um Serviço Web via Console

Roteiro do Programa e Entrada/Saída

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

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

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

BSI UFRPE Prof. Gustavo Callou

Introdução à Programação

Reuso com Herança a e Composiçã

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Sobre o Professor Dr. Sylvio Barbon Junior

Roteiro 1: Dados, variáveis, operadores e precedência

Lógica de Programação

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Manual SAGe Versão 1.2 (a partir da versão )

Análise e Projeto Orientados por Objetos

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

Faculdade de Computação Programação Orientada à Objetos 1 Laboratório de Programação Orientada à Objetos Prof. Fabíola Gonçalves Coelho Ribeiro

Uma visão mais clara da UML Sumário

Engenharia de Software III

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Roteiro 3: Sistemas Linux arquivos e diretórios

1.6. Tratamento de Exceções

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Desenvolvimento OO com Java Orientação a objetos básica

Como usar o bluej. Laboratório I Prof.ª Vera Alves

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

Manual do Painel Administrativo E-commerce

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

1 Essa é a tela de login do Sistema de Atendimento Online, siga o passo a passo abaixo.

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Módulo Vendas Balcão. Roteiro passo a passo. Sistema Gestor New

Manual do Ambiente Moodle para Professores

GUIA INTEGRA SERVICES E STATUS MONITOR

Especificação de Requisitos

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Prof. Esp. Adriano Carvalho

Especificação do 3º Trabalho

Transcrição:

Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira

Estágios do Ciclo de Vida de Produto de Software RUP XP TDD (Design Orientado a Teste) PLC Análise Design Desenvolvimento Teste Implementação Manutenção Fim de linha (EOL)

Análise Investigação de um problema que se deseja resolver com um produto de software: Definir de maneira clara o problema a ser resolvido O O nicho de mercado a ser atendido O O Sistema a ser criado O O limite de um problema também é conhecido como o escopo de um projeto Identificação dos sub-componentes chaves para compor o produto de software como um todo

Design, Desenvolvimento e Teste Design Criar o modelo a partir dos requisitos encontrados na etapa de analise Desenvolvimento Criar os componentes a partir dos modelos gerados na etapa de design Teste Verifica se os componentes atendem aos requisitos funcionais e não funcionais modelados na etapa de design Teste de Unidade Teste de Integração

Implementação, manutenção e EOL Implementação Tornar o programa disponível ao usuário através de um release (distribuição); FCS (Primeira Aquisição do Cliente) Manutenção Corrigir problemas do produto; Distribuir o produto como uma nova versão. End-of-Life (EOL) Fim de linha Indica aos usuário do produto que não existirá mais atualização; Indica aos usuários que outro produto, melhorado, já está sendo distribuído.

Por que seguir uma metodologia? Garante que o produto será criado e entregue Reduzindo o tempo de desenvolvimento Aumentando a qualidade do produto de software Aumentando o retorno sobre o investimento (ROI) Não seguir uma metodologia pode acarretar: Auto custo de manutenção Revisão: Ciclo de Vida de Produto de Software

Análise orientada a objeto Estudo de Caso Identificando o domínio problema e os objetos envolvidos Identificando atributos e operações de objetos Modelando e executando classes Java Prof. Gilberto B. Oliveira

Estudo de caso Aplicação para controlar a venda de camisas de uma loja de roupas Cada camisa tem um código de identificação, uma ou mais cores (identificadas por código) um ou mais tamanhos, uma descrição do produto e um preço. A A loja aceita cheques e os principais cartões de crédito Os consumidores podem fazer seus pedidos por telefone através do Serviço de Atendimento ao Cliente ou através de um formulário enviado por e-mail ou por fax A A loja gostaria de automatizar os pedidos a partir de um catálogo criado para a Internet

Estudo de caso Assim que os pedidos fossem feitos no sistema seriam feitas as verificações das quantidades dos itens pedidos. Se um ou mais itens não estiverem disponíveis então o pedido é suspenso até o reabastecimento do estoque. Após todos os itens serem disponibilizados o pagamento é verificado e o pedido é submetido ao estoque para ser empacotado e enviado ao endereço do cliente. Se o pedido for feito por telefone é emitido um número de pedido ao cliente para que ele possa acompanhar o processo.

Análise do sistema Identificando o domínio do problema Identificando os objetos Coisas relevantes para o domínio do problema Está contido no domínio do problema? É É necessário para que o sistema funcione? É É útil para a iteração entre o usuário e o sistema? Existência independente de outros objetos ATENÇÃO aos atributos que possuem outros atributos ATENÇÃO aos objetos que não possuem atributos

Análise do sistema Identificando atributos e operações dos objetos Atributos Descrevem o estado do objeto Podem ser dados (Descrição, Cor, etc) Podem ser outros objetos (Pedido, Produto, etc) Operações Comportamentos que modificam o estado dos objetos Atributos que referenciam outros objetos Obs: Crie nomes que definem de maneira clara os atributos e objetos representados

Classe Grupo cujos membros têm certos atributos em comum. Cada objeto é uma instância de uma classe Tem os mesmos atributos e executa as mesmas operações que outros objetos da mesma classe Pode ter atributos com valores diferentes em relação a outros objetos

Modelagem de Classes

Modelagem de Classes

Desenvolvimento Classes Primeira letra maiúscula e as demais minúsculas Palavras compostas: As primeiras letras de cada palavra maiúsculas Sem cedilha, sem espaço, sem acento! Normalmente é um substantivo. Exemplo: Veiculo, FormaPagamento, etc. Evite usar Anacrônico (siglas) exceto em caso de siglas usuais DVD, CPF, URL, etc.

Desenvolvimento Atributos Substantivos Definem as características de um objeto Primeiras letras minúsculas Sem espaço, sem cedilha e sem acento Palavras compostas com as primeiras letras minúsculas e a primeira letra da segunda palavra maiúscula. Exemplo: nome, idade, datanascimento, etc.

Desenvolvimento Métodos Verbos Ações que os objetos das classes podem executar. Nomes dos métodos seguidos de parênteses Primeiras letras minúsculas Sem espaço, sem cedilha e sem acento Palavras compostas com as primeiras letras minúsculas e a primeira letra da segunda palavra maiúscula. Exemplo: subir( ), calcular( ), exibirdetalhes( ), etc.

Estrutura de Classes Declaração da classe Declaração e inicialização de atributos variáveis (opcional) Métodos (opcional) Comentários (opcional) Obs: Uma classe não precisa obrigatoriamente conter métodos e atributos.

Estrutura de Classes: public class Camisa { } public int codcamisa = 0; public char cor = 'B'; public String descricao = Informe Descrição ; public double preco = 0.00; public char tamanho = 'M'; public void mostracamisa() { System.out.println( Código: + codcamisa);.. System.out.println( Tamanho: + tamanho); }

Restrições: Desenvolvimento de Classes Uso de arquivos de texto para a criação de classes: Cada arquivo de texto deve ter uma única classe. A A classe deve ter o mesmo nome do arquivo O O nome do arquivo deverá ter a extensão.java definida Exemplo: A A classe Camisa deverá estar contida em um arquivo chamado Camisa.java Exemplo: Desenvolvimento da classe Camisa

Método: Desenvolvimento de Classes Exemplo de implementação: Classe Camisa [modificador] tipo_retorno nomemetodo([argumentos]){ //comentário de linha /* comentário de bloco */ comando1;.. }. comandon;

Modificador: Métodos Modo como o método será acessado (public( public, private, protected ou package) Tipo_retorno: Tipos de dado que o método retorna (int( int, double,, ou void para nulo, etc) Nome do método: Qualquer nome que não seja uma palavra reservada Java. Argumentos: Variáveis cujos valores são passados para o método Comando: Sequência de comandos que o método executa.

Objetivo: Classe de Teste Criar e instanciar objetos da classe a ser testada. Criar e usar um método main Método main: Toda classe a ser diretamente executada precisa ter um método main Tem os modificadores public static O tipo de retorno do método main é void O nome do método main não pode ser diferente de main O método main deve ter um ou mais objetos do tipo String em um vetor de comprimento indeterminado (String args[ ]) args nome do vetor indeterminado do tipo String pode ser mudado. Outros métodos main podem ser criados na mesma classe (sobrecarga de método) Exemplo de classe de teste é a classe TesteCamisa.

Estrutura da Classe de Teste: public class TesteCamisa { } /* Variável ou atributo variável global public int i = 0; */ public static void main(string[] args) { //Criação, instância e manipulação de objetos Camisa c1 c1 = new Camisa(); Camisa c2 = new Camisa(); c1.tamanho = 'G'; c1.mostrarcamisa(); }

Compilando e executando classes Java Crie arquivos.java com o mesmo nome da classe Salve-os Compile o arquivo Execute a classe de teste

Testando classes Java Acesse a ferramenta Crie o projeto e o pacote que acondicionarão as classes Crie os arquivos que representam as classes Compile e execute o arquivo de teste (o outro arquivo será automaticamente compilado). Se houver algum erro: Abra o(s) arquivo(s) de texto (.java) com as classes e corrija o(s) erro(s) apontado(s) pelo compilador. Senão Observe a saída no console da ferramenta.

Desenvolvendo classes Java Atenção ao escrever o código: O O Java é case sensitive difere entre maiúsculas e minúsculas Classes devem ter a primeira letra maiúscula Atributos e métodos: Primeira letra minúscula e a primeira letra do segundo nome maiúscula Métodos têm parênteses junto ao nome. Tanto na sua implementação quanto ao serem invocados.

Testando classes Java Se certifique de que o nome da classe é o mesmo nome do arquivo salvo: Inclusive em relação às letras: maiúsculas e minúsculas. Verifique se o arquivo foi salvo com a extensão.java Atenção ao escolher o diretório onde o arquivo será salvo. Ao compilar o arquivo de teste outras classes com objetos criados e instanciados nessa classe serão compiladas também Leia as mensagens de erro que o compilador gerar. São gerados arquivos.class (bytecodes) ao compilar arquivos.java

Dicas para resolver erros em código Java Observe o número da linha informado na mensagem de erro gerada pelo compilador: O O erro pode estar: uma linha antes, na linha indicada ou uma linha depois. Verifique se todas as linhas de comando têm ponto e virgula no final. Revise a abertura e fechamento de chaves Comente o código sempre que necessário IMPORTANTE: Sempre idente o código!