Sistemas de Gerenciamento de Banco de Dados

Propaganda
Sistemas de Gerenciamento de
Banco de Dados
AULA: CRIAÇÃO DE BANCO DE DADOS REQUISITOS FUNCIONAIS E OPERACIONAIS
PROF.: ANDRÉ LUIZ MONTEVECCHI
Criação de Banco de Dados
Programadores e gerentes de projeto frequentemente
subestimam a importância da coleta e da
compreesão dos requisitos de negócio no processo de
desenvolvimento de softwares – com efeitos
devastadores.
Criação de Banco de Dados
Estudos da indústria estimam que entre 35% a 50%
das falhas de projeto estão relacionadas à falta de
entrada do usuário, a requisitos incompletos ou à
alteração dos requisitos.
O Standish Group International Inc., no Chaos
Report and Extreme Chaos Report, estimou que
apenas 29% de todos os projetos foram bem
sucedidos (finalizados a tempo, dentro do
orçamento, com os recursos e funções requeridas).
Entendendo os processos do negócio
 Definir o problema do negócio:
 Porque estou construindo esta solução?
 A melhor maneira de entender seus motivos é definir um
problema de negócio que você resolverá.
 Formalize escrevendo um caso de negócio que descreve a
necessidade do negócio. Inclua fatores como benefícios do
negócio, custos esperados e riscos.
 Casos de negócio eficientes convencem a gerência de que o
investimento no tempo e nos recursos está alinhado com as
estratégias do negócio e é financeiramente viável.
Entendendo os processos do negócio
 Coletar requisitos:
 Um requisito é uma descrição do que uma solução deve fazer.
Podem ser descritos como funcionais ou operacionais.

Requisitos funcionais são atributos que a solução de software
precisa conter a fim de ser aceitável aos interessados.

Entre as técnicas utilizadas para coletar requisitos estão as
pesquisas, entrevistas, e observação dos usuários.
Entendendo os processos do negócio
 Escrevendo os requisitos:
 É importante que você declare explicitamente os requisitos em
um documento formal.
 Esse documento formal também é um canal de comunicação
aberto com usuários.
Entendendo os dados e seus tempos de vida
Além dos requisitos funcionais, há um outro
conjunto de requisitos: requisitos operacionais.
Requisitos operacionais são atributos que uma
solução deve possuir para que possam ser aceitáveis
a partir da tecnologia da informação.
Requisitos operacionais incluem disponibilidade,
interoperabilidade, gerenciabilidade, desempenho,
confiabilidade, escalabilidade e segurança.
Entendendo os dados e seus tempos de vida
 Exemplos de requisitos operacionais:
 Os cálculos de folha de pagamento devem demorar menos de
15 minutos.

O aplicativo estará disponível por meio da intranet aos
usuários previamente autenticados.

O aplicativo estará disponível e funcionará adequadamente
99% das vezes.
Entendendo os dados e seus tempos de vida
Uma maneira de avaliar os requisitos operacionais é
analisar o impacto sobre o negócio se o requisito não
for atendido.
Por exemplo:

Qual será o impacto sobre o negócio se o aplicativo não estiver
disponível por três horas? Por três dias?
Entendendo os dados e seus tempos de vida
 Requisitos operacionais:
 Disponibilidade;
 Interoperabilidade;
 Gerenciabilidade;
 Desempenho;
 Confiabilidade;
 Escalabilidade;
 Segurança.
Disponibilidade
A Disponibilidade refere-se à capacidade da solução,
do sistema ou do componente de permanecer
operacional pelo tempo necessário. Pode ser definida
como o tempo que uma solução está disponível para
uso.
Interoperabilidade
Os requisitos da interoperabilidade demando que o
software tenha a capacidade de se comunicar com
outros programas utilizando protocolos comuns ou
formatos comuns de arquivos.
No SQL SERVER 2005 temos os seguintes exemplos:


SQL Server Integration Services
SQL Reporting Services
Gerenciabilidade
A gerenciabilidade refere-se à capacidade de o
software ser gerenciado ou controlado. Soluções
gerenciáveis incluem definições da configuração,
contadores de desempenho, logs de aplicativo e
assim por diante.
Desempenho
Os requisitos de desempenho identificam a rapidez
com que a solução deve completar um processo sob
uma carga de trabalho particular. Há duas maneira
de medir o desempenho: throughput e tempo de
resposta. O throughput mede quanto trabalho um
aplicativo pode realizar, e o tempo de resposta mede
a quantidade de tempo entre a solicitação do usuário
e o resultado dessa solicitação.
Desempenho
Um exemplo de requisito de desempenho é que uma
home page deve carregar dentro de cinco segundos
sob uma carga de 150 usuários. Então são duas
medidas: cinco segundos (tempo de resposta) e um
throughput implícito para tratar uma determinada
quantidade de dados para uma carga de 150
usuários.
Desempenho
Você deve ter o desempenho em mente ao projetar
um aplicativo porque alguns elementos que afetam o
desempenho são difíceis de otimizar depois que um
banco de dados está em produção.
Desempenho
Dicas importantes:




Estabeleça os requisitos de desempenho para gerenciar as
expectativas do usuário e do desenvolvedos.
Desenvolva um plano de teste que verifique os requisitos de
desempenho.
Projete seu banco de dados apropriadamente e use a
normalização para reduzir redundância dos dados.
Otimize as consultas mais significativas e projete seus índices
apropriadamente.
Desempenho
Dicas importantes:

Algumas questões de desempenho podem ser resolvidas
aumentando os recursos de hardware, mas aplicativos com
sérios defeitos de projeto terão problemas de desempenho
independentemente do quanto você aumenta o hardware.
Confiabilidade
Os requisitos de confiabilidade estabelecem os
objetivos da qualidade do software que o ajudam a
medir como os usuários e os aplicativos dependem
da solução.
A confiabilidade e a disponibilidade estão
relacionadas, mas elas especificam os requisitos
diferentemente. Do ponto de vista da confiabilidade,
as causas de uma falha podem incluir não apenas a
falta do serviço, mas também a provisão de serviços
imprecisos.
Confiabilidade
Por
exemplo,
se
um
aplicativo
calcular
incorretamente o imposto sobre vendas sob certas
condições, ele afetará a confiabilidade do software,
mas não afetará a disponibilidade. Por outro lado, se
um problema no HD resultar na indisponibilidade do
aplicativo por dois ou três dias, a confiabilidade será
afetada somente com uma falha, mas a
disponibilidade será seriamente afetada.
Escalabilidade
Escalabilidade é a capacidade da solução de
aumentar o throughput total (quantidade de
trabalho) quando recursos de hardware são
adicionados. Em um aplicativo escalável ideal, um
aumento nos recuros de harware aumenta o
throughput proporcionalmente.
Escalabilidade
Aplicativos da Internet e aplicativos que suportam
modelos de negócios com uma alta probabilidade de
crescimento econômico devem incluir os requisitos
de escalabilidade.
Segurança
Os requisitos operacionais de segurança determinam
como controlar o acesso dos usuários às
informações.
Prevendo o uso do banco de dados
Na construção de softwares, você precisa estimar a
quantidade de trabalho que o software e o hardware
tratarão. Semelhante a um engenheiro que calcula o
peso que uma ponte deve suportar, os
desenvolvedores de software prevêem e analisam a
carga de trabalho que o aplicativo deve tratar.
Prevendo o uso do banco de dados
Planejar o crescimento e a previsão do pico de uso de
um aplicativo envolve testes extensos do
desempenho e a mensuração do uso dos recursos e o
throughput das transações sob cargas diferentes.
Prevendo o uso do banco de dados
Todas essas informações o ajudarão a decidir quais
tecnologias de banco de dados seu aplicativo utilizará
e o hardware que a solução exigirá.
Download