Sei sulla pagina 1di 84

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO

Laboratório de Programação

Professor
João Ferreira
Chefe do Setor de
T.I. da
UFRPE/UAST

joao.ferreira@uast.ufrpe
Introdução a Java
A plataforma JAVA

• O que é a plataforma Java?


–É uma infra-estrutura para
programação baseada no poder das
redes de computadores e na idéia de
que uma mesma aplicação possa
executar em diferentes máquinas,
aparelhos e dispositivos eletrônicos.

– “Write once, run anywhere.”

Oct 23, 2008


Porque utilizar Java?

• Simplicidade
• Portabilidade
• Distribuição
• Robustez
• Concorrência
• Performance
• Paradigma de Orientação a
Objetos
Oct 23, 2008
Java é Simples

• Sintaxe familiar a vários programadores


(baseada em C e C++).
• Elimina várias redundâncias de C++
• Não é necessário gerenciar memória
explicitamente.
– Distribuição de objetos em memória.
• Simples para muitas aplicações, desde
que se conheça algumas API’s.

Oct 23, 2008


Java é Portável

• Redução de custos com migração,


Instalação, treinamento, etc.
• Algumas vezes ainda é necessário
depurar programas antes de migrar
para outras plataformas
• Java tem se tornado cada vez mais
portável: aplicações desenvolvidas e
testadas uma única vez têm rodado em
dezenas de plataformas.

Oct 23, 2008


Java é Distribuída

• Oferece suporte de alto nível para


acesso a Internet/ Web

• Suporte para acesso a arquivos


remotos, banco de dados, etc.

Oct 23, 2008


Java é Robusta

• Ausência de ponteiros
• Fortemente tipada
• Coleta de lixo automática
(garbage collection)
• Exceções tipadas
• Variáveis (member variables) são
inicializadas automaticamente.

Oct 23, 2008


Java é concorrente

• Facilidade em criar aplicações


com concorrência.
• Métodos sincronizados.
• Monitores (construções essenciais
para o controle de concorrência).

Oct 23, 2008


Alta Performance

• Código no cliente pode ser interpretado


– Compiladores JIT aumentam performance
– Cliente universal
– Código móvel, carregado pela rede,
evitando instalações, conflitos entre
versões, etc.
• Código no servidor pode ser compilado
para código de máquina.
– Performance similar a C++
• A performance de java vem
aumentando rapidamente!

Oct 23, 2008


Java é Orientada a Objetos

• Objetos e Classes
• Encapsulamento
• Herança e Subtipos
• Polimorfismo
• Ligações dinâmicas (dynamic
binding)
• Criação e remoção dinâmica de
objetos
• Exceções.
Oct 23, 2008
Como funciona um compilador e um
interpretador Java?
O compilador gera um O bytecode deve
arquivo denominado Código Java
ser interpretado
bytecode, e este é um para a linguagem
arquivo neutro e de máquina do
independente de sistema operacional
plataforma. Compilador no qual o mesmo
Java deve ser
executado.

Bytecode

Interpretador Interpretador Interpretador Dispositivos


Windows Linux Mac Portáteis
Oct 23, 2008
Como funciona um compilador e um
interpretador Java?

As linguagens de programação, na sua maioria, ou são


compiladas ou interpretadas. Com Java acontecem as duas
transformações: o código fonte Java é inicialmente compilado
produzindo um código intermediário chamado Java bytecode
conhecido por arquivos com a terminação .class; só então um
interpretador faz um parse (tradução) e executa o Java
bytecode.
Oct 23, 2008
A plataforma Java
• Java Virtual Machine (JVM)
– Componente da plataforma
Java que assegura a
independência das
aplicações entre diferentes
plataformas
– É uma espécie de tradutor
existente nos dispositivos
para traduzir comandos da
linguagem Java para a
linguagem de máquina
• Plataformas compatíveis
com Java
– Implementam o tradutor da
linguagem Java para sua
linguagem de máquina.

Oct 23, 2008


Arquitetura Java
Programa Java Código Fonte

Plataforma Java

Compilação

Programa
Bytecodes Compilado

Máquina Virtual Java Interpretador

Sistema Operacional
Oct 23, 2008
Ambiente de Desenvolvimento Java
típico
• Os programas em java, em geral,
passam por 5 fases:
– Editor
– Compilador
– Carregador de classe
– Verificador de bytecode
– JVM

Oct 23, 2008


Java

• Criar um programa
– Programa editor – para editar o
código-fonte. O nome do arquivo
deve terminar com a extensão.java.
– Existem os Ambientes de
Desenvolvimento Integrado (IDEs
´Integrated Development
Environments)

Oct 23, 2008


Java

• Compilando um programa java


– No windows xp – prompt de
comando.
• Javac oi.java
• Se o programa compilar é gerado um
arquivo com extensão.class.
extensão.class
• O compilador converte o código-fonte
em java em bytecodes.
– Os bytecodes representam as tarefas a
serem realizadas durante a fase de
execução
– São executados pelo JVM
Oct 23, 2008
Java Virtual Machine

Oct 23, 2008


Java
– Bytecodes
• São instruções que tornam o programa
independente da plataforma.
• Podem ser executados em qualquer
plataforma contendo uma JVM que entende a
versão do Java que os bytecodes foram
compilados.
– Java oi
• Carregar o programa na memória
– Carga – o carregador de classe carrega o
arquivo .class para a memória principal (e
os arquivos .class que seu programa
também utilize)

Oct 23, 2008


Java
• Verificar bytecodes - Enquanto as classes são
carregadas o verificador de bytecodes examina
os bytecodes para verificar se os mesmos
estão válidos e não violam as restrições de
segurança do java.
• Executar – JVM executa os bytecodes
utilizando uma combinação de interpretação e
a chamada compilação just-in-time (JIT).
– Neste processo a JVM analisa os bytecodes à
medida que eles são interpretados, procurando
hot spots (pontos ativos) (parte dos bytecodes
que são executados com freqüência)

Oct 23, 2008


Instalando e configurando o Java
• Para baixar o java:
– Java.sun.com/j2se/5.0/download.jsp
• Para instalar o J2se
– Execute o arquivo para instalar
– Escolha o diretório de instalação para o JDK
• C:\Arquivos de Programas\Java\jdk1.6.0\
– Se alterar o diretório padrão certifique-se de anotar o
nome exato.
– Escolha o diretório de instalação do JRE
• C:\Arquivos de Programas\Java\jre1.6.0\

– Selecione o navegador padrão


• Como parte da instalação, vc pode tornar o plug-in
Java o ambiente de tempo de execução para
programas Java chamados applets.

Oct 23, 2008


Instalando e configurando o Java

• Configurando a variável PATH


– Meu computador – propriedades
(menu)
• PROPRIEDADES DO SISTEMA - avançado
– Variáveis de Ambiente.
– Variáveis de Sistema – seleciona PATH –
clique em editar.
» Valor da Variável – digite o nome do
diretório onde vc instalou o JDK
acrescido de /bin e clique em ok.
ok
» C:\Arquivos de
Programas\Java\jre1.6.0\bin
Oct 23, 2008
Primeiro Programa Java

• Hello World (Oi mundo!)


Cada programa Java consiste em pelo
menos uma declaração de classe. public class Oi1
O nome de uma classe é um identificador. {
Um bloco de construção (método). public static void main( String args[] )
{
System.out – é reconhecido como System.out.println( "oi mundo“ );
objeto de saída padrão. } // fim do método principal
} // fim da classe Oi1

Oct 23, 2008


Criando um programa em Java
• Editar um arquivo utilizando um editor
– Para organizações que desenvolvem sistemas de
informações substanciais IDEs (integrated
development environments) Fornecem
ferramentas importantes que suportam todo o
processo de desenvolvimento de software.
• Compilação do programa Java em bytecodes
– Javac NomePrograma.java
• Digitar no prompt de comando do windows ou
shell do unix/linux
• Produz arquivo: nomeprograma.class
• Para executar o programa
– Java NomePrograma

Oct 23, 2008


Declaração import
• É uma declaração que ajuda o compilador a localizar
uma classe utilizada nos programas.
– Classes são agrupadas em pacotes – coleção de
classes
• Pacotes do Java são chamados de biblioteca
de classes do Java
– API do Java (Java Application
Programming Interface)

import java.util.Scanner; Classe

Ajuda compilador Um pacote que possui


encontrar classe várias classes pré-definidas. Oct 23, 2008
Exemplos

Operação Operadores
• Programa para
somar 2 números
Adição +
inteiros.
Subtração - • Programa para
somar,
Multiplicação * multiplicar, dividir
e calcular o resto
Divisão / da divisão de 2
números inteiros.
Resto %
Oct 23, 2008
Exemplos
Operação Operadores • Programa para
comparar 2 inteiros
Igualdade ==
usando as
Diferença != instruções if e todos
os operadores
É maior > relacionais ao lado.

É menor <

É maior ou >=
igual
É menor ou <=
igual Oct 23, 2008
Tipos primitivos
Tipo Tamanho em bits Valores
Boolean Depende da True ou false
plataforma
Char 16 Conj. de caracteres
Unicode ISO
Byte 8 -128 a 127
Short 16 -32768 a +32767
Int 32 -231 a 231-1
Long 64 -263 a 263-1
Float 32 IEEE 754
Double 64 IEEE 754

Oct 23, 2008


Exercícios
1° ) Escreva um programa que lê um número inteiro
e determina se o mesmo é par ou ímpar.

2° ) Escreva um programa que lê a entrada do raio


de um círculo como um inteiro e imprime o
diâmetro do círculo, a circunferência e a área,
usando o valor de ponto flutuante 3,14159 para
π
Vc tbm pode utilizar a constante Math.PI.
A classe Math é definida no pacote
java.lang (as classes nesse pacote são
importadas automaticamente, logo vc não
precisa usar a declaração import).
Diâmetro = 2r
Circunferência = 2 π r
Área = π 2

Oct 23, 2008


Exercícios

3°) Escreva um programa que calcule o quadrado


e o cubo dos números de 0 a 10. (este
programa não requer entrada)

4°) Escreva um programa que lê 5 números e


informa o maior e o menor número.

• Enviar por e-mail até as 23:59 do dia


30/08/2007. Documentem as classes
com vossos nomes.

Oct 23, 2008


Análise de Requisitos

Laboratório de
Programação
Prof. João Ferreira
Motivação

–No início da computação não havia


nenhuma organização para a
descoberta dos requisitos.

–Os programadores sentavam-se e


começavam a codificar.

Oct 23, 2008


Motivação

• Correções
– 80% do tempo de um típico produto
de software é gasto com erros
– A maioria dos re-desenvolvimentos
são relatados por inadequação,
inconsistência e requisitos
imprecisos.
– Corrigindo um erro tarde no ciclo de
desenvolvimento de software pode
custar de 30 a 1000 vezes mais.
Oct 23, 2008
O que é a Engenharia de Requisitos?

• Disciplina para desenvolver uma


especificação completa,
consistente e não ambígua –
que sirva como base para um
acordo entre todas as partes
envolvidas – descrevendo o que
o produto de software irá fazer
(mas não como ele será feito).

Oct 23, 2008


Requisitos
• É o 1º passo no modelo do processo. O
que devo fazer e não a forma como
será implementado. Serve como
contrato entre desenvolvedor e
comprador.
• É o processo de aquisição, refinamento
e verificação das necessidades do
sistema.
• O objetivo é sistematizar o processo
de definição dos requisitos, obtendo
uma especificação correta e completa
do mesmo para elaboração do
Documento de Requisitos.
Oct 23, 2008
Requisitos

Oct 23, 2008


Tipos de Requisitos
Requisitos de Software
• Definem o que o software é solicitado a
fazer e quais suas limitações. Exemplo:
– O sistema deve manter registro de todos os
materiais da biblioteca incluindo livros,
séries, jornais, áudios, relatórios, coleções
de transparências, discos de computadores,
e CD- ROM’s;
– O sistema deve permitir que os usuários
pesquisem um item através do título , autor
ou ISBN;
– O sistema deve suportar pelo menos 20
transações por segundo.
Oct 23, 2008
Níveis de abstração dos requisitos
Necessidades dos usuários (User Needs)

Requisitos do produto (Features)

Requisitos de Software (Funcionais e Não-Funcionais)

• Need é a “dor” do cliente. Nem sempre uma


need vai ser atendida pelo produto, mas pode
vir a ser uma feature quando esta for atendida.
• Feature é um serviço do produto (Ex. consulta
pré-definida por área, exportação de dados
entre bases,...) Ou seja, está relacionada aOctum
23, 2008
conjunto de funcionalidades correlatas.
Requisitos Funcionais

• São declarações de funções de como o


sistema deve reagir a entradas
específicas e como deve se comportar
em determinadas situações. É uma
interação entre o sistema e o seu
ambiente.
• Algumas vezes, os requisitos funcionais
podem também explicitamente declarar
o que o sistema não deve fazer. A
especificação deve ser completa e
consistente.

Oct 23, 2008


Requisitos Funcionais
• Exemplos
– O sistema deve permitir a inclusão, alteração
e remoção de funcionários com os seguintes
atributos: nome, endereço, cidade,etc).
– O usuário deve ser capaz de buscar todo o
conjunto inicial do BD ou selecionar um
subconjunto a partir dele.
– O sistema fornecerá telas apropriadas para o
usuário ler documentos.
– Cada pedido tem um único identificador.

Oct 23, 2008


Requisitos não-funcionais

• Requisitos especiais que podem incluir


requisitos legais ou referentes a algum
regulamento, aplicação de padrões e
também atributos de qualidade do
sistema a ser construído.

Oct 23, 2008


Requisitos não-funcionais
• Organizacionais: Referem-se a políticas e
procedimentos nas organizações do cliente e
do desenvolvedor.
– de entrega, de implementação, padrões de
processo
• Externos: Referem-se a fatores externos ao
sistema e ao seu processo de
desenvolvimento.
– éticos, legais (privacidade e de segurança)
• De produto: Especificam o comportamento do
produto.
– eficiência (desempenho, espaço, rapidez,
memória), confiabilidade, portabilidade.

Oct 23, 2008


Requisitos não-funcionais
• Exemplos:
– Organizacional: O processo de
desenvolvimento de sistema e os documentos a
serem entregues deverão estar de acordo com o
processo e os produtos a serem entregues
definidos em XYZKL.
– Essa documentação deve ser on-line, no formato
de livro, ou ambos?
– Externo: o sistema não deverá revelar aos
operadores nenhuma informação pessoal sobre
os clientes.
– De produto: toda comunicação necessária entre
o ambiente X e o usuário deve ser expressa no
conjunto padrão de caracteres XYZ.

Oct 23, 2008


Requisitos não-funcionais

• Exemplos:
• Usabilidade (Facilidade de Uso)
– Interface com o usuário, material de
treinamento e documentação do
sistema(Help, Instalação automática).
• Desempenho
– Relacionado com
• Eficiência
• Tempo de resposta de processamento.
• Restrição de HW e SW
– Relacionamento com o hw e sw para
desenvolver e executar o sistema. Oct 23, 2008
• Plataforma Cliente (Windows? Linux? Web?)
Principais características dos RNF

• Subjetividade: podem ter


significados diferentes para
pessoas diferentes.
• Relatividade: Sua interpretação e
importância dependem de cada
sistema e sua realização e
relativa.
• Interatividade: Interagem entre
si, afetando negativamente ou
positivamente uns aos outros.
Oct 23, 2008
Testabilidade dos RNF

• Redefinindo os requisitos
– Desempenho:
• O Sistema deve responder em menos de
10s
OU
• 80% dos usuários que participarem da
etapa de beta-testes devem avaliar o
tempo de resposta do sistema no
mínimo como satisfatória.

Oct 23, 2008


Conflitos entre RNF

• Conflitos entre RNF diferentes são


comuns em sistemas complexos.
• Ex.: Em um sistema de controle de
tempo real acessado via web.
– Para garantir o acesso via web, o sistema
tem que ser implementado em uma
tecnologia portável.
– A implementação nesta tecnologia degrada
a performance do sistema.
– Para o sistema ser de tempo-real, o mesmo
tem que ter uma alta performance.
– Qual o requisito mais crítico?
Oct 23, 2008
Uma classificação para os RNF
• Requisitos de Produto
– Requisitos que especificam que o produto
entregue tem que se comportar de ummodo
particular. Por exemplo, velocidade de exe.,
confiabilidade, usabilidade, etc.
• Requisitos de Processo
– Requisitos que estão com restrições sobre o
processo de desenvolvimento do sistema (são
conseqüências de políticas e procedimentos
organizacionais). Ex.,padrões de processo
usados, requisitos de implementação.
• Requisitos externos
– Requisitos que surgem de fatores que são
externos ao sistema e ao seu processo de
desenvolvimento. Por ex., exigências de
interoperabilidade, requisitos legislativos, etc.
Oct 23, 2008
Quem tem interesse nos requisitos?
(stakeholders)
• Engenheiros de software responsáveis
pelo desenvolvimento do sistema.
• Usuários finais do sistema que iram usar
o sistema depois dele ser entregue.
• Os gerentes dos usuários finais do
sistema, que será responsável pelo
trabalho deles.
• Fiscais externos que verificam se o
sistema satisfaz os requisitos legais.
• Especialistas de domínio que possuem
informações essenciais sobre o domínio
da aplicação.
Oct 23, 2008
Requisitos de Dados

• Requisitos que se referem à


estrutura estática do software.
– Tipos de informação usadas por
várias funções.
– Freqüência de uso.
– Capacidade de acesso.
– Restrição de integridade.

Oct 23, 2008


Requisito de Interface

• Requisito que se refere a todas as


interfaces externar ao sistema,
como outros sistemas de
software ou de hardware de
comunicação com os quais o
sistema vai interagir.
– A saída vai para outro ou outros
sistemas ?

Oct 23, 2008


Técnicas Existentes

• Entrevista
– Usado quanto poucas pessoas
conhecem as informações
necessárias para o desenvolvimento
do sistema.
– Precisa ser preparada
antecipadamente
– Ter perguntas objetivas
– Evitar constrangimento dos
participantes.
Oct 23, 2008
Exercício sobre requisitos

Oct 23, 2008


O processo “padrão” da engenharia de
Requisitos
• O que é um processo?

– Conjunto organizado de atividades


que transformam entradas em
saídas.

– Descrições de processos encapsulam


conhecimento e permitem que
sejam reusados.

Oct 23, 2008


Processo de Engenharia de Requisitos:
Entradas e Saídas
Informações
Sobre sistemas
existentes

Necessidades
dos stakeholders

PROCESSO DE
Padrões ENGENHARIA DE Requisitos
Organizacionais REQUISITOS Documentados

Leis e
Regulamentos

Informações Oct 23, 2008

sobre o domínio
O Processo de Engenharia de
Requisitos: Etapas
Esboço dos Requisitos

Analise e Negociação
Elicitação

Requisitos
Documento
Acordados
de Requisitos

Validação Documentação

Oct 23, 2008


Esboço do Documento de Requisitos
Engenharia de Requisitos
O Processo de Engenharia de
Requisitos: Etapas
Esboço dos Requisitos

Analise e Negociação
Elicitação

Requisitos
Documento
Acordados
de Requisitos

Validação Documentação

Oct 23, 2008


Esboço do Documento de Requisitos
Engenharia de Requisitos
Elicitação de requisitos

• Elicitar: Descobrir, tornar


explícito, obter o máximo de
informações para o conhecimento
do objeto em questão.
• Cabe à elicitação a tarefa de
identificar os fatos relacionados
aos requisitos do sistema, de
forma a prover o mais correto e
mais completo entendimento do
que é demandado daquele
software. Oct 23, 2008
Elicitação de requisitos: Dificuldades

• Usuários podem não ter uma idéia


precisa do sistema por eles requerido.
• Usuários têm dificuldades para
descrever seu conhecimento sobre o
domínio do problema.
• Usuários e Analistas têm diferentes
pontos de vista do problema (por
terem diferentes formações).
• Usuários podem antipatizar-se com o
novo sistema e se negarem a participar
da elicitação (ou mesmo fornecer
informações errôneas).

Oct 23, 2008


Estágios da Elicitação
1. Definição dos objetivos
• Os objetivos organizacionais devem ser estabelecidos
incluindo objetivos gerais do negócio, uma descrição
geral do problema a ser resolvido, porque o sistema
é necessário, e as limitações do sistema.
2. Aquisição de conhecimento do contexto
• Inclui informação acerca da organização onde o
sistema será instalado, o domínio de aplicação do
sistema, e informação acerca de outros sistemas
existentes.
3. Organização do conhecimento
• A grande quantidade de conhecimento que foi
coletada nos estágios anteriores deve ser organizada
e colocada em ordem.
4. Coleta dos requisitos dos stakeholders
• Os stakeholders do sistema são consultados para
descoberta de seus requisitos.
Oct 23, 2008
Algumas técnicas de Elicitação

• Entrevistas
• Questionários
• Observação direta
• Brainstorm
• Leitura de Documentos
• Cenários
• Observações e análises
sociais(etnografia)
• Reuso de Requisitos
• Prototipação Oct 23, 2008
Algumas técnicas de Elicitação

A Entrevista
• Antes: planejar, identificar a posição e
responsabilidade do entrevistado, marcar
horário, escolher local sossegado.
• Durante: apresente-se informando a
finalidade da entrevista, explique as
anotações que fizer, não demore mais do
que 2 horas, agradeça a contribuição.
• Depois: documente os pontos
relevantes; envie a documentação ao
entrevistado (aprovação final), envie os
resultados para os usuários e seus
Oct 23, 2008
gerentes
Algumas técnicas de Elicitação

• Questionário
– Usado quanto muitas pessoas
conhecem as informações
necessárias para o desenvolvimento
do sistema.
– Preparar antecipadamente com
questões objetivas
– Desvantagem:
• comunicação restrita com o usuário e
não há troca de informação face a face.
• A preparação exige tempo.

Oct 23, 2008


Algumas técnicas de Elicitação

• Questionário
– Preparação: identificar o tipo de informação
que deseja obter.
• Enviar carta acompanhando o questionário
enfatizando a sua importância.
– Identificar quem responderá: nome, função
e localização.
– Distribuir com instruções detalhadas de
como preencher e o prazo de devolução
– Analisar e consolidar as informações
recebidas, documentar as principais
descobertas e enviá-las juntamente com
cópia do relatório para todos os
respondentes.

Oct 23, 2008


Algumas técnicas de Elicitação

• Observação direta
– Utilizada como processamento e
confirmação de outros resultados
(entrevista e questionário).
– Identificar documentos que devem
ser coletados para posterior análise.
– Observar diretamente quem
desenvolve o trabalho.
– Deve ter aprovação antecipada das
gerências.
Oct 23, 2008
Algumas técnicas de Elicitação

• Brainstorming (Tempestade de idéias)


– Útil para obter rapidamente informações
sobre a atual situação.
– Reunir pessoas com diferentes níveis de
informação e conhecimento sobre o sistema
desejado.
– A discussão em grupo é conduzida por um
mediador.
– Aceite todo tipo de sugestão e filtre depois!
– Conceito: diversas cabeças pensam
melhor do que uma.

Oct 23, 2008


Algumas técnicas de Elicitação

• Prototipação
– Um protótipo é uma versão inicial do um
sistema que poderá ser usado para
experimentação.
– Protótipos são úteis para elicitação de
requisitos porque os usuários poderão
experimentar o “sistema” e mostrar os
pontos fortes e fracos.Eles terão algo
concreto para criticar
– O desenvolvimento rápido dos protótipos é
essencial para que eles fiquem disponíveis
logo para o processo de elicitação
Oct 23, 2008
O Processo de Engenharia de
Requisitos: Etapas
Esboço dos Requisitos

Elicitação Analise e Negociação

Requisitos
Documento
Acordados
de Requisitos

Validação Documentação

Oct 23, 2008


Esboço do Documento de Requisitos
Engenharia de Requisitos
Análise de Requisitos
• O objetivo da análise é descobrir problemas,
incompletude e inconsistência nos requisitos
elicitados.
• Outro objetivo importante da análise de
requisitos é descobrir as
interações(rastreamento) entre requisitos e
informar os conflitos e sobreposições
encontradas.
• Uma análise é intercalada com elicitação, pois
problemas são descobertos quando os requisitos
são elicitados.
• Uma lista de verificação de problemas (checklist)
poderá ser usada para ajudar a análise. Cada
requisito poderá ser avaliado contra esta lista.
Oct 23, 2008
Estágios da análise dos requisitos

• Verificação da necessidade
• Verificação de consistência e
completude.
• Verificação de Viabilidade
• Negociação dos requisitos
– Discussão dos requisitos
– Priorização dos requisitos
– Concordância dos requisitos

Oct 23, 2008


O Processo de Engenharia de
Requisitos: Etapas
Esboço dos Requisitos

Elicitação
Analise e Negociação

Requisitos
Documento
Acordados
de Requisitos

Validação Documentação

Oct 23, 2008


Esboço do Documento de Requisitos
Engenharia de Requisitos
Documentação de requisitos

• É a documentação oficial que


descreve os requisitos do
sistema.
• Na medida do possível, ele deve
definir O QUE o sistema deve
fazer em vez do COMO ele deve
fazer.
• Funciona como um acordo
contratual entre os clientes e
fornecedores de um software.
Oct 23, 2008
Documentação de requisitos

• Requisitos são lidos mais


freqüentemente do que são
escritos. Então, deve-se investir
tempo lendo e entendendo os
requisitos no documento.
• Não assuma que todos os leitores
dos requisitos tenham o mesmo
background e usem a mesma
terminologia que você.
Oct 23, 2008
Problemas com a documentação em
linguagem natural
• Falta de clareza
• Confusão entre requisitos
• Fusão de requisitos
• Ambigüidade
• Flexibilidade
• Falta de Modularização
• Conclusão: Necessidade de uma
notação mais apropriada.
Oct 23, 2008
O Processo de Engenharia de
Requisitos: Etapas
Esboço dos Requisitos

Elicitação
Analise e Negociação

Requisitos
Documento
Acordados
de Requisitos

Validação Documentação

Oct 23, 2008


Esboço do Documento de Requisitos
Engenharia de Requisitos
Validação de Requisitos

• Tem o objetivo de mostrar que os


requisitos realmente definem o que os
usuários desejam do sistema.
• Certifica que o documento de requisitos
é uma descrição aceitável do sistema
ser implementado.
• Verifica as seguintes propriedades do
documento:
– Completude e consistência
– Aderência a padrões
– Conflitos de requisitos
– Erros técnicos
– Existência de requisitos ambíguos Oct 23, 2008
Algumas técnicas de validação

• Revisão
– Os requisitos são analisados
semanticamente por uma equipe de
revisores.
• Prototipação
– Um protótipo do sistema é mostrado aos
usuários finais e clientes.
• Validação de modelos
– Requisitos são documentados utilizando
linguagem natural e diagramas.
• Geração de casos de teste
– Casos de teste são projetados a partir dos
requisitos.
Oct 23, 2008
Riscos e Prioridades dos Requisitos
• Determinar a prioridade do cliente em
relação a cada um dos requisitos
levantados.

• As prioridades irão ajudar na condução


do projeto e em que atividades serão
realizadas e a que tempo
– Altíssima
– Alta
– Média
– Baixa
– baixíssima

Oct 23, 2008


Riscos e Prioridades dos Requisitos

• Através do desenvolvimento de
protótipos é possível permitir que
o risco seja reduzido ou negociar
com o cliente uma nova forma de
atender aquele requisito.

Oct 23, 2008


Gerenciamento de Requisitos

• É uma atividade que permite monitorar


as necessidades apresentadas pelo
cliente e o andamento da solução
destas necessidades.
– A cada passo e conforme o sistema vai
sendo construído vai também se tornando
mais claro como o sistema deve funcionar e
que características tecnológicas deve ter.
• É de fundamental importância rastrear os
requisitos, de modo a medir o quanto um
determinado requisito (pode surgir a
qualquer momento) vai impactar no prazo
final.

Oct 23, 2008


Especificação de Requisitos
ER[f|a][F|D|I|N]0000.N
ERaFATM1.1 Sacar Dinheiro
Descrição O sistema deverá permitir que o usuário saque
dinheiro no caixa eletrônico
Descrição do risco Risco Prioridade
A implementação depende da definição da forma Altíssimo Altíssima
de comunicação entre o caixa e o sistema
servidor que fornecerá as informações a respeito
da conta do cliente.

O porque da não implementação do requisito


Descreva neste campo o porque da não implementação do requisito e quando e em
que versão se deseja implementá-lo. Caso o requisito seja atual estas duas últimas
linhas da tabela devem ser excluídas

Oct 23, 2008


Tabela 1 – Tabela de Especificação do Requisito ER[f|a][F|D|I|N].N
Especificação de Requisitos
ER[f|a][F|D|I|N]0000.N
ERaFATM1.1 Emitir extrato
Descrição O sistema deverá permitir emitir extrato com o
saldo da conta.
Descrição do risco Risco Prioridade
A implementação depende da definição da forma Baixo Média
de comunicação entre o caixa e o sistema
servidor que fornecerá as informações a respeito
da conta do cliente.

O porque da não implementação do requisito


Descreva neste campo o porque da não implementação do requisito e quando e em
que versão se deseja implementá-lo. Caso o requisito seja atual estas duas últimas
linhas da tabela devem ser excluídas

Oct 23, 2008


Tabela 1 – Tabela de Especificação do Requisito ER[f|a][F|D|I|N].N
Creditos

Baseado na compilação do Prof.


Jaelson Brelaz de Castro
PhD, Imperial College, UK
& da Profa.
Flávia Veloso

Editado pelo Prof. João Ferreira


UFRPE / UAST
joao.ferreira@uast.ufrpe.br
Oct 23, 2008

Potrebbero piacerti anche