terça-feira, 10 de fevereiro de 2009

Lendo um arquivo de texto.

Um exemplo de uma classe em java pra ler um arquivo de texto:
Linha por linha.

Nome: Lista.java

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;

public class Lista {

public ArrayList lerArquivo(){
ArrayList lista = new ArrayList();
File afile = new File ("valores.txt");
FileReader fileread = null;
BufferedReader bufread = null;
try {
fileread = new FileReader(afile);
bufread= new BufferedReader(fileread);
String str = new String();
while( (str = bufread.readLine()) != null ){
lista.add(str);
}
}catch (Exception e) {
e.printStackTrace();
}finally{
if (fileread != null) {
try {
fileread.close();
} catch (Exception e){}
}
if (bufread != null){
try {
bufread.close();
} catch (Exception e){}
}
return lista;
}
}
}

sexta-feira, 6 de fevereiro de 2009

Orientação a Objetos II (Casos de uso)

Continuando a falar de orientação a objetos,

Para a definir os objetos de um software é muito importante estudar a descrição de casos de uso.

Os casos de uso com ajuda do "levantamento de requisitos" (post anterior), podemos descrever funcionalidades do sistema.

Atores executam tarefas sobre o sistema.

Em sistemas simples e complexos encontramos atores, que podem ser módulos do
sistema, um outro sistema, um perfil de usuário (administrador, atendente...).

No estudo de caso do nosso simulador P2P, temos em exemplo:
Requisito:
Construir um software que troque arquivos entre um servidor em um cliente pela
rede independente da implementação do cliente e do servidor, usando um
protocolo para padronização.

Atores: Cliente e Servidor.
(Se quisermos ir mais a fundo podemos colocar até mesmo o usuário que lida com o cliente como um ator)

Casos de uso do Ator Cliente:
Case 1: Enviar um protocolo de pedido com a lista de arquivos do Servidor P2P
Case 2: Enviar um protocolo com o pedido de download de um arquivo
Case 3: Aceitar download de arquivo.
E assim por diante....

Casos de uso do Ator Servidor:
Case 1: Enviar um protocolo com a lista arquivos do servidor;
Case 2: Enviar arquivo para download.
...

Próximo post: sobre como usar os casos de uso para criar os métdos (funções, ações) e como montar um classe.