Professional Documents
Culture Documents
Varginha
2009
WILLIAN HENRY GATES III
Varginha
2009
WILLIAN HENRY GATES III
_________________________________
Prof. Hlio Lemes Costa Jr. - Orientador
_________________________________
Membro
_____________________________________
Membro
Varginha, de de 2009
Dedico este trabalho em primeiro lugar a Linus Torvalds, por ter sido uma
inspirao para que eu continuasse buscando aprimorar meus conhecimentos em
Engenharia de Software. Dedico tambm ao Presidente Lula, que me fez acreditar
que sendo brasileiro, eu no deveria desistir nunca.
ABSTRACT
This work aims to develop the Management System Library LIBSYS to the
library of the Harvard Business School. To do so it supports and is elaborated
addressing all steps necessary to develop a robust and efficient design of data
systems, culminating in a system with quality and, fully achieving the institution
expectations.
1 Contextualizao................................................................................................... 11
1.1 Descrio do Projeto .......................................................................................... 11
1.2 Objetivo do Projeto ............................................................................................. 13
1.3 Justificativa para o Projeto ................................................................................. 13
1.4 Levantamento preliminar de requisitos ............................................................... 13
1.5 Estimativa de Tamanho de Software .................................................................. 17
2 Plano do Projeto ................................................................................................... 27
2.1 Plano de Processo de Desenvolvimento ............................................................ 27
2.2 Cronograma ....................................................................................................... 28
2.3 Plano de Recursos Humanos ............................................................................. 30
2.4 Plano de Recursos Gerais ................................................................................. 30
2.5 Plano de Custo................................................................................................... 31
2.6 Plano de Gerncia de Riscos ............................................................................. 32
2.7 Plano de Garantia da Qualidade ........................................................................ 35
2.8 Plano de Testes ................................................................................................. 42
3 Especificao de Requisitos ................................................................................. 45
3.1 Requisitos do Cliente ......................................................................................... 45
3.2 Requisitos do Software ...................................................................................... 46
4 Modelagem e Anlise ............................................................................................ 77
4.1 Consideraes Preliminares............................................................................... 77
4.2 Modelagem Adotada .......................................................................................... 77
4.3 Diagrama de Casos de Uso ............................................................................... 79
4.4 Diagrama de Classes ......................................................................................... 80
4.5 Diagrama de Seqncia ..................................................................................... 81
4.6 Diagramas de Estado ......................................................................................... 96
4.7 Diagrama de Tabelas e Relacionamentos (D.T.R) ............................................. 97
5 Modelagem de Projeto .......................................................................................... 98
5.1 Consideraes Iniciais ....................................................................................... 98
5.2 Arquitetura do software ...................................................................................... 98
5.3 Estrutura de Dados .......................................................................................... 101
5.4 Detalhes Procedimentais ................................................................................. 104
6 Processo de Testes ............................................................................................ 105
6.1 Consideraes Gerais sobre os testes ............................................................. 105
6.2 Projeto de Testes ............................................................................................. 105
7 Implementao e Testes ..................................................................................... 113
7.1 Implementao................................................................................................. 113
7.2 Realizao dos Testes ..................................................................................... 117
8 Documentao .................................................................................................... 125
8.1 Consideraes Preliminares............................................................................. 125
8.2 Manual de Instalao ....................................................................................... 125
8.3 Manual do Sistema .......................................................................................... 125
9 Fechamento do Projeto ....................................................................................... 126
9.1 Consideraes Preliminares............................................................................. 126
9.2 Resultados Alcanados .................................................................................... 126
10 Consideraes Finais ........................................................................................ 130
Referncias Bibliogrficas ...................................................................................... 132
Anexo I Tabelas relativas ao FPA ....................................................................... 133
LISTA DE FIGURAS
Figura 12- MOR de Item, Mapa, Peridico, Livro e Multimdia ....................... 101
LISTA DE QUADROS
Quadro 16 - Pessoa......................................................................................... 72
Quadro 22 - Mapa............................................................................................ 73
Quadro 29 - Obra............................................................................................. 74
1 Contextualizao
1.1 Descrio do Projeto
O projeto de desenvolvimento de um software, requisito final do curso de
bacharel em Sistemas de Informao, se desenvolve com intuito de melhorar e
agilizar, a partir da informatizao das atividades administrativas da biblioteca da
HARVARD BUSINESS SCHOOL, instituio beneficiada, sendo que todas as
atividades rotineiras da referida biblioteca so executadas de forma manual,
demandando um grande esforo e perda de tempo por parte das bibliotecrias da
escola. vlido ressaltar ainda que a direo da escola no podia contar com
informaes e relatrios acerca da situao do acervo e dos usurios da biblioteca,
pois tais informaes e relatrios so gerados atravs de uma longa e difcil
pesquisa pelo acervo e fichas de papel presentes at ento.
Diante dessa situao foi proposto um projeto denominado LibSys (Sistema
de Biblioteca) que culminaria com a informatizao da biblioteca da escola. O
sistema resolveria os problemas supracitados e traria grande benefcio para a
Instituio.
A partir das entrevistas com a diretora e as bibliotecrias, foram obtidas as
informaes necessrias para que pudesse ser traado todo o contexto que o
sistema seria inserido, alm de caracterizar todas as suas necessidades principais
como:
Permitir o cadastramento de todo acervo da biblioteca, alm dos livros
didticos fornecidos pelo governo estadual alm de administrar o
emprstimo dos mesmos;
Servir aos alunos, funcionrios e a comunidade no intuito de encontrar
a obra desejada de forma rpida e precisa, para que esses possam
ser beneficiados pela reserva e emprstimo;
Atender diretoria e bibliotecrias, gerando informaes consistentes
a respeito de todo acervo da biblioteca e da situao de cada usurio
dentro desse contexto;
Organizar a biblioteca de forma que se tenha um atendimento eficiente
e eficaz para com os usurios em geral.
13
06 Relatrio de Acervo;
07 Relatrio de Emprstimos;
08 Relatrio de Inadimplncia;
09 Relatrio de Reservas;
1.4.1.2 Limites do software
O software aqui especificado foi solicitado na verso desktop devido s
caractersticas e a estrutura de funcionamento da biblioteca e, portanto, no
atender aos seguintes requisitos:
Sistema disponvel na Web: Sua no implantao se deve atual situao de
falta de estrutura para tal. A escola no pode contar com recursos por parte
do estado para oferecer conexo Internet para a biblioteca.
Sistema integrado em rede local: Devido indisponibilidade de outros
microcomputadores. Porm o sistema dever ser capaz de trabalhar em rede,
pois o acrscimo de outros estaes de trabalho pode proporcionar no futuro
maior dinamismo para o uso dirio do sistema, tanto pelas bibliotecrias e
alunos quanto pela direo e professores.
Esse tpico visa expor os benefcios que viro com a implantao do LibSys.
Rapidez e eficincia no
05 essencial
atendimento
03 RD Requisitos de dados
N Nome Funo
Controla as 4 operaes bsicas para os dados do Aluno:
01 Controle de Aluno
incluir, excluir, editar e consultar.
Controla as 4 operaes bsicas para os dados do
02 Controle de Funcionrio
Funcionrio: incluir, excluir, editar e consultar.
Controle de Usurio da Controla as 4 operaes bsicas para os dados de Usurio
03
Comunidade da comunidade: incluir, excluir, editar e consultar.
Controle de Livros (leitura e Controla as 4 operaes bsicas para os dados de
04
didticos) Administrador: incluir, excluir, editar e consultar.
Controla as 4 operaes bsicas para os dados do Livros:
05 Controle de Peridicos
incluir, excluir, editar e consultar.
Controla as 4 operaes bsicas para os dados do aluno:
06 Controle de Multimdia
incluir, excluir, editar e consultar.
Controla as 4 operaes bsicas para os dados de Mapa:
07 Cadastro de Mapa
incluir, excluir, editar e consultar.
Controla as 4 operaes bsicas para os dados de
08 Controle de Emprstimo
Emprstimo incluir, excluir, editar e consultar.
Controla as 4 operaes bsicas para os dados de
09 Controle de Reserva
Reserva: incluir, excluir, editar e consultar.
Gerar relatrio acerca dos usurios cadastrados: Aluno,
10 Relatrio de Usurios
Funcionrio e Usurio da Comunidade.
Gerar relatrio dos itens que compem o acervo: Livro,
11 Relatrio do Acervo
Peridicos, Multimdia e Mapas.
Gerar relatrio dos inadimplentes quanto devoluo dos
12 Relatrio de Inadimplncia
itens de acervo.
13 Relatrio de Reservas Gerar relatrio das reservas efetuadas.
14 Relatrio de Emprstimos Gerar relatrio dos emprstimos efetuados.
15 Tela de Help Exibir tela de auxlio utilizao do Sistema.
Quadro 3 Interface de usurio
17
O FPA foi escolhido pela equipe do projeto para dimensionar o tamanho desta
aplicao.
Para que tal tcnica pudesse ser utilizada foi tomado como base os requisitos
de dados (RD), necessrios ao sistema, que foram extrados junto ao cliente. So
eles:
RD01: Os alunos devem possuir os seguintes dados: cdigo, nome do aluno,
data de nascimento, endereo (logradouro, nmero, complemento, bairro, cep,
cidade e estado), nome do responsvel, telefone fixo, telefone celular, e-mail, turma
e srie em que estuda, data da incluso do registro, data da ltima alterao e o
login do funcionrio responsvel pela ltima alterao e (ativo, inativo ou suspenso);
bairro, cep, cidade e estado), telefone fixo, telefone celular, e-mail, CPF, data da
incluso do registro, data da ltima alterao e o login do funcionrio responsvel
pela ltima alterao e status (ativo, inativo ou suspenso) ;
RD04: Os livros devem possuir os seguintes dados: cdigo, ttulo, isbn, ms,
ano, nmero, edio, editora, categoria, rea, descrio, estado (disponvel ou
indisponvel), tipo (didtico ou literatura), obs, data da incluso do registro, data da
ltima alterao e o login do funcionrio responsvel pela ltima alterao;
Cadastro de Funcionrio
Cadastro de Usurios
Cadastro de Livros
Cadastro de Peridicos
Cadastro de Multimdia
Cadastro de Mapa
Cadastro de Emprstimo
Cadastro de Reservas
Editar Peridicos
Excluir Peridicos
Incluir Multimdia
Editar Multimdia
Excluir Multimdia
Incluir Mapa
Editar Mapa
Excluir Mapa
Efetuar Emprstimo
Efetuar Devoluo
Efetuar Reserva
Cancelar Reserva
Entradas Externas
Total de Simples : 11
Total de Mdios : 12
Total de Complexos : 2
Quadro 5 - Entradas Externas
22
Sadas Externas
Qtde Qtde Grau da
Descrio da Funo Arquivos Itens Funo
Relao de Alunos 1 16 Simples
Relao de Usurios da Comunidade 1 16 Simples
Relao de Funcionrio 1 16 Simples
Relao de Livros 1 12 Simples
Relao de Peridicos 1 12 Simples
Relao de Multimdia 1 9 Simples
Relao de Mapas 1 7 Simples
Relao de Emprstimos 4 10 Complexo
Relao de Reservas 4 9 Complexo
Relao de Inadimplncia 4 10 Complexo
Total de Simples : 7
Total de Mdios : 0
Total de Complexos : 3
Quadro 6 - Sadas Externa
Registros Qtde
Descrio da Funo Grau da Funo
Lgicos Itens
Cadastro de Alunos 1 20 Simples
Relao de Usurios 1 8 Simples
Relao de Funcionrio 1 19 Simples
Relao de Usurios da Comunidade 1 18
Cadastro de Livros 1 20 Simples
Cadastro de Peridicos 1 20 Simples
Cadastro de Multimdia 1 13 Simples
Cadastro de Mapa 1 10 Simples
Cadastro de Emprstimo 1 7 Simples
Cadastro de Reservas 1 6 Simples
Total de Simples : 10
Total de Mdios : 0
Total de Complexos : 0
Quadro 7 - Arquivos Lgicos Internos
Consultas Externas
Qtde Qtde Grau da
Descrio da Funo Arquivos Itens Funo
Consulta de Aluno 1 23 Mdio
Consulta de Funcionrio 1 22 Mdio
Consulta de Usurio da Comunidade 1 21 Mdio
23
Total de Simples : 3
Total de Mdios : 5
Total de Complexos : 2
Quadro 8 - Consultas Externas
1
Produtividade por Linguagem
Produtividade (HH/PF)
Ambiente/Linguagem
Baixa Mdia Alta
Mainframe
COBOL 26,4 h 17,6 h 13,2 h
NATURAL 13,2 h 8,8 h 6,6 h
CICS 13,2 h 8,8 h 6,6 h
Assembler 26,4 h 17,6 h 13.2 h
Laser Xerox 30 h 30 h 30 h
DOS Batch Files 26,4 h 17,6 h 13,2 h
LTD 30 h 30 h 30 h
Micro e Cliente/Servidor
Visual Basic 8,8 h 6,8 h 5,7 h
Delphi 8,8 h 6,8 h 5,7 h
CLIPPER DB 13,2 h 8,8 h 6,6 h
CLIPPER 8,3 h 5,9 h 4,3 h
EXCEL 4,4 h 3,3 h 2,6 h
C 26,4 h 17,6 h 13,2 h
C ++ 13,2 h 8,8 h 6,6 h
BASIC 26,4 h 17,6 h 13.2 h
Visual C++ 8,8 h 6,8 h 5,7 h
Access 8,8 h 6,8 h 5,7 h
ORACLE 13,2 h 8,8 h 6,6 h
SQL 8,3 h 5,9 h 4,3 h
UNIX Shell Scripts 8,8 h 6,8 h 5,7 h
Visual Gen 8,3 h 5,9 h 4,3 h
WEB/Documentos
VBScript 12 h 12 h 12 h
ASP 12 h 12 h 12 h
HTML 8,3 h 5,9 h 4,3 h
1
Em http://www2.iesam-pa.edu.br/pids/Treinamentos/EDNew_Teste2.xls acessado em 19/08/08
24
Simples 0 * 5= 0
Interface Externa Mdia 0 * 7= 0
Complexa 0 * 10 = 0 0
Simples 11 * 3 = 33
Entrada Externa Mdia 12 * 4 = 48
Complexa 2 * 6 = 12 93
Simples 7 * 4 = 28
Sada Externa Mdia 0 * 5= 0
Complexa 3 * 7 = 21 49
Simples 3 * 3= 9
Consulta Externa Mdia 5 * 4 = 20
Complexa 2 * 6 = 12 41
Total Ponto de Funo No-Ajustados 253
Quadro 11 - Clculo do FPA No-Ajustado
Estimativa do Tamanho
1 Pontos Funo no-Ajustados 253
2 Fator de Ajuste 0,77
3 Pontos de Funo Ajustados 195
Estimativa de Esforo
Fator hh/pf (Utilizao da Linguagem Delphi e considerando a
4 8,8
produtividade baixa).
5 Esforo total em hh (hora/homem) 8,8 * 195 = 1.716
(Considerando aproximadamente: 4 horas por dia, 5 dias por
6 semana e 4,5 semanas por ms) 19,07
Esforo total em hm (homem/ms) 1.716/90 =
Estimativa de Prazo
Equipe composta por 1 integrante: WILLIAN HENRY GATES III +
7 2
um auxiliar
H /M
8
Tamanho da Equipe =
Pr azo
H / M 19,07
9 Prazo = = = 9,53 meses
Equipe 2
Prazo em meses (considerado 21 dias por ms)
10 9 meses e 11dias
hd: Homem-dia - hh: Homem-hora - pf: Ponto-de-funo
Quadro 12 - Resultado final do FPA
27
2 Plano do Projeto
2.2 Cronograma
Case Studio 2;
Borland Delphi 7;
Firebird 1.5;
Custo de Software
Software Custo Licena
(R$)
Firebird 1.5 0
Borland Delphi 7 0
MS Project 2003 0
Case Studio 2 0
Rational Rose 200323 375,84
Total 375,84
Tabela 2 - Despesas com software
1
http://www.curriculum.com.br/00.asp acessado: 03/09/2009. Salrio mdio nacional
2
http://www142.ibm.com/software/dre/ecatalog/detail.wss?locale=en_US&synkey=M221280M46834Z
27 acessado: 03/09/2009. Valor de $4,640.00 com dlar a R$ 1,62, perfazendo um total de: R$
7.516,80. O custo da ferramenta foi rateado para 20 projetos para melhor diluir os custos.
32
Despesas Gerais
Descrio Valor Total (R$)
Energia Eltrica 20,00
Aluguel de Imvel 0,00
Telefone 51,00
Internet 89,00
Transporte 50,00
Material e Escritrio 20,00
Total 230,00
Tabela 3 - Despesas Gerais
Obs.: O custo com despesas gerais foi estimado seguindo a experincia da equipe.
2.5.4 Hardware
Hardware
Descrio Custo unitrio Unidades Valor (R$)
(R$)
Notebook 1.500,00 1 1.500,00
Micro Computadores 1.500,00 2 3.000,00
Desktop
Total 3.000,00 3 4.500,0020=225,00
Tabela 4 - Despesas de Hardware
Custo do Projeto
Descrio Valor (R$)
Mo-de-obra 22.860,24
Software 375.84
Despesas Gerais 230,00
Hardware 225,00
Total 23.691,08
Tabela 5 - Despesas do Projeto
4
Em http://www.euax.com.br/artigos/2006.017-FMEA_Gestao_Riscos.pdf acessado em
19/08/2009
34
pode falhar, dos efeitos da falha, do impacto provocado pela falha e das aes
recomendadas para evitar que as falhas ocorram.
Plano de Riscos
Probabilid
Mdia
Efeito da ade de Exposio Aes
rea Afetada Modo da falha de 0 a Impacto
falha ocorrncia de 0 a 100 Recomendadas
100
at 100%
A prioridade ser dada aos riscos que apresentam maior mdia em relao
probabilidade de ocorrncia, exposio e que apresente maior impacto. A equipe do
projeto deve estar atenta e disponibilizar recursos para prevenir e controlar riscos
como impossibilidade de contar com recursos humanos, pois este apresenta uma
mdia de 70, alm de poder causar um grande impacto no projeto caso venha a
ocorrer.
Figura 3 - PDCA
38
Engenharia de Sistemas
A Especificao do Sistema visa atribuir funo e desempenho a
muitos elementos do sistema. A seguinte lista de conferncia trata de
algumas das reas de preocupao mais importantes:
1. As funes principais so definidas de uma forma delimitada e sem
ambigidades?
2. As interfaces entre os elementos do sistema esto definidas?
3. As melhores alternativas foram selecionadas?
4. A soluo tecnologicamente vivel?
5. Foi estabelecido um mecanismo de validao e verificao para o
sistema?
6. H consistncia entre todos os elementos do sistema?
Projeto de Software
As revises de projeto de software concentram-se no projeto de dados,
arquitetura e procedimental. A reviso avalia a converso dos requisitos em
projeto de dados e arquitetural e concentra-se na corretude procedimental dos
algoritmos quando forem implementados nos mdulos do programa. Para isso
a seguinte lista de conferncia apresentada:
1. Os requisitos de software se refletem na arquitetura de software?
2. conseguida uma efetiva modularidade?
3. Os mdulos so funcionalmente independentes?
4. A estrutura de dados consistente com o domnio da informao?
5. A estrutura de dados consistente com os requisitos de software?
6. Os fatores de qualidade foram explicitamente avaliados?
7. O algoritmo executa a funo desejada?
8. O algoritmo est logicamente correto?
9. As estruturas de dados locais foram adequadamente definidas?
42
Codificao
Erros de interface;
3 Especificao de Requisitos
3.1.3 Restries
R03. O sistema deve ser reiniciado normalmente caso haja eventual falha no
fornecimento de energia ao microcomputador;
R04. O sistema deve ser tolerante a falhas, prevendo-as sempre que possvel
e auxiliando o usurio com mensagens de erro consistentes.
Tecnolgicos
RNF10 - O sistema dever ser implantado como uma aplicao desktop
(RC01);
49
RF03 - necessrio efetuar login no sistema para que qualquer usurio opere
o mesmo;
Tipo de Pessoa;
Pessoa;
Turma;
Categoria;
Obra;
Autor;
Item;
Matrcula;
Reservas;
50
Emprstimos;
Devolues;
Tipo de Pessoa;
Pessoa;
Turma;
Categoria;
Obra;
Autor;
Item;
Matrcula;
Reservas;
Emprstimos;
Devolues;
51
3.5. Excluir
3.5.1.O operador localiza a informao que deseja excluir seguindo os procedimentos
relacionados no [FP 3.3];
3.5.2.O operador dever clicar no boto Excluir;
3.5.3.O Sistema apresentar uma caixa de dilogo solicitando a confirmao da
excluso das informaes do tipo de pessoa, atualmente selecionada, do banco
de dados, com a seguinte mensagem: "Confirma excluso da informao?
Caso o usurio confirme a excluso das informaes do tipo de pessoa, dever ser
validado o procedimento de excluso atravs do [FA3]
Caso o processo de excluso seja vlido, as informaes sobre o tipo de
pessoa sero apagadas do banco de dados e o Sistema retornar ao
[FP2];
Caso Contrrio a operao ser cancelada e o controle do Sistema
retornar ao [FP2];
Caso Contrrio o processo dever ser cancelado e o controle do Sistema retornar
ao [FP2].
Fluxo Alternativo
Extenses: No existem.
Ps-Condies: Manuteno do tipo de pessoa efetuada com xito.
Regras de Negcio:
1. [RN1] O cdigo de identificao do tipo de pessoa ser gerado automaticamente pelo sistema.
3.2. Incluir
3.2.1.O operador dever clicar no boto Incluir;
3.2.2.O Sistema dever alterar o formulrio para o modo de incluso;
3.2.3.O operador dever informar os dados solicitados para efetuar a incluso de uma
nova Turma seguindo os seguintes critrios:
3.2.3.1. O Turno da Turma de preenchimento obrigatrio;
3.2.3.2. A Srie da Turma de preenchimento obrigatrio;
3.2.3.3. O Ano-Base da Turma de preenchimento obrigatrio;
3.2.3.4. Letra da Turma de preenchimento obrigatrio;
3.2.4.O operador dever selecionar a operao desejada, podendo ser:
3.2.4.1. O operador confirma a incluso dos dados clicando no boto Incluir; nesse
momento, o sistema dever efetuar a validao dos dados informados [FA1];
Caso as informaes fornecidas estejam corretas, o Sistema inclui as
informaes da Turma no banco de dados e retorna [FP2];
Caso Contrrio a controle do fluxo dever retornar ao formulrio a fim de que o
operador corrija as informaes fornecidas, retornando ao [FP3.2.3];
3.2.4.2. O operador cancela a operao de alterao dos dados da Turma clicando no
boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas
e retorna ao [FP2].
3.3. Pesquisar
3.3.1.O formulrio inicial j exibe em modo de pesquisa listando todos as turmas, caso
operador queira utilizar algum filtro basta preencher e clicar no boto Buscar;
3.3.2.O operador informa o argumento de pesquisa e clica no boto Buscar, sendo que
busca realizada com resultados em que o argumento de pesquisa esteja em
qualquer parte;
3.3.3.O Sistema apresenta a relao de itens que atendem ao argumento e tipo da
pesquisa informado;
Caso no seja encontrada informao para o argumento de pesquisa informado, a
grid de resultado aparece vazia;
3.3.4.Para selecionar um registro especifico o usurio deve clicar linha do referido
item.
3.3.5.Para exibir todos os dados do item siga o [FP 3.4].
3.4. Consultar
3.4.1.Para escolher a turma desejada seguir os procedimentos relacionados no item
3.3;
3.4.2.Clique no boto consultar para exibir todos os dados do item.
3.5. Excluir
3.5.1.O operador localiza a informao que deseja excluir seguindo os procedimentos
relacionados no [FP3.3];
3.5.2.O operador dever clicar no boto Excluir;
3.5.3.O Sistema apresentar uma caixa de dilogo solicitando a confirmao da
excluso das informaes da Turma, atualmente selecionada, do banco de
dados, com a seguinte mensagem: "Confirma excluso da informao?
Caso o usurio confirme a excluso as informaes da Turma, dever ser validado o
procedimento de excluso atravs do [FA2]
Caso o processo de excluso seja vlido, as informaes sobre a Turma
sero apagadas do banco de dados e o Sistema retornar ao [FP2];
Caso Contrrio a operao ser cancelada e o controle do Sistema
retornar ao [FP2];
Caso Contrrio o processo dever ser cancelado e o controle do Sistema retornar
ao [FP2].
Fluxo Alternativo
Base da Turma;
1.3 Caso a Letra da Turma no seja informada, apresentar a mensagem Informe a Letra da
Turma;
3.3.2.O operador informa o argumento de pesquisa e clica no boto Buscar, sendo que
busca realizada com resultados em que o argumento de pesquisa esteja em
qualquer parte;
3.3.3.O Sistema apresenta a relao de itens que atendem ao argumento e tipo da
pesquisa informado;
Caso no seja encontrada informao para o argumento de pesquisa informado, a
grid de resultado aparece vazia;
3.3.4.Para selecionar um registro especifico o usurio deve clicar linha do referido
item.
3.3.5.Para exibir todos os dados do item siga o [FP 3.4].
3.3.6.O Sistema retornar ao [FP2] aps o operador selecionar um registro.
3.4. Consultar
3.4.1.Para escolher a obra desejada seguir os procedimentos relacionados no item 3.3;
3.4.2.Clique no boto consultar para exibir todos os dados do item.
3.5. Excluir
3.5.1.O operador dever localizar a informao que deseja excluir seguindo os
procedimentos relacionados no [FP3.3];
3.5.2.O operador dever clicar no boto Excluir;
3.5.3.O Sistema apresentar uma caixa de dilogo solicitando a confirmao da
excluso das informaes da obra, atualmente selecionada, do banco de dados,
com a seguinte mensagem: "Confirma excluso da informao?
Caso o usurio confirme a excluso as informaes da obra, dever ser validado o
procedimento de excluso atravs do [FA2]
Caso o processo de excluso seja vlido, as informaes sobre a obra
sero apagadas do banco de dados e o Sistema retornar ao [FP2];
Caso Contrrio a operao ser cancelada e o controle do Sistema
retornar ao [FP2];
Caso Contrrio o processo dever ser cancelado e o controle do Sistema retornar
ao [FP2].
Fluxo Alternativo
Extenses: No existem.
Ps-Condies: Manuteno do autor efetuada com xito.
Regras de Negcio:
1. [RN1] O cdigo de identificao do autor ser gerado automaticamente pelo sistema.
3.2. Incluir
3.2.1.O operador dever clicar no boto Incluir;
3.2.2.O Sistema dever alterar o formulrio para o modo de incluso;
3.2.3.O operador dever informar os dados solicitados para efetuar a incluso de um
novo item seguindo os seguintes critrios:
3.2.3.1. O estado de conservao de preenchimento obrigatrio;
3.2.3.2. O Status inicial de preenchimento obrigatrio;
3.2.3.3. O tipo do item de preenchimento obrigatrio;
3.2.4.O operador dever selecionar a operao desejada, podendo ser:
3.2.4.1. O operador confirma a incluso dos dados clicando no boto Incluir; nesse
momento, o sistema dever efetuar a validao dos dados informados [FA1];
Caso as informaes fornecidas estejam corretas, o Sistema inclui as
informaes do item no banco de dados e retorna ao [FP2];
Caso Contrrio o controle do fluxo dever retornar ao formulrio a fim de que o
operador corrija as informaes fornecidas, retornando ao [FP3.2.3];
3.2.4.2. O operador cancela a operao de incluso dos dados do item clicando no
boto Cancelar; nesse caso o sistema desconsidera as informaes fornecidas
e retorna ao [FP2].
3.3. Pesquisar
3.3.1.O formulrio inicial j exibe em modo de pesquisa listando todos os itens, caso
operador queira utilizar algum filtro basta preencher e clicar no boto Buscar;
3.3.2.O operador informa o argumento de pesquisa e clica no boto Buscar, sendo que
busca realizada com resultados em que o argumento de pesquisa esteja em
qualquer parte;
3.3.3.O Sistema apresenta a relao de itens que atendem ao argumento e tipo da
pesquisa informado;
Caso no seja encontrada informao para o argumento de pesquisa informado, a
grid de resultado aparece vazia;
3.3.4.Para selecionar um registro especifico o usurio deve clicar linha do referido
item.
3.3.5.Para exibir todos os dados do item siga o [FP 3.4].
3.4. Consultar
3.4.1.Para escolher o item desejado, seguir os procedimentos relacionados no [FP
3.3];
3.4.2.Clique no boto consultar para exibir todos os dados do item.
3.5. Excluir
3.5.1.O operador dever localizar a informao que deseja excluir seguindo os
procedimentos relacionados no [FP 3.4];
3.5.2.O operador dever clicar no boto Excluir;
3.5.3.O Sistema apresentar uma caixa de dilogo solicitando a confirmao da
excluso das informaes do item, atualmente selecionada, do banco de dados,
com a seguinte mensagem: "Confirma excluso da informao?
Caso o usurio confirme a excluso as informaes do item, dever ser validado o
procedimento de excluso atravs do [FA2]
Caso o processo de excluso seja vlido, as informaes sobre o item
sero apagadas do banco de dados e o Sistema retornar ao [FP2];
Caso Contrrio a operao ser cancelada e o controle do Sistema
retornar ao [FP2];
Caso Contrrio o processo dever ser cancelado e o controle do Sistema retornar
ao [FP2].
Fluxo Alternativo
Extenses: No existem.
Ps-Condies: Manuteno do item efetuada com xito.
Regras de Negcio:
1. [RN1] O cdigo de identificao do item ser gerado automaticamente pelo sistema.
pesquisa informado;
Caso no seja encontrada informao para o argumento de pesquisa informado, a
grid de resultado aparece vazia;
3.4.3.Para selecionar um registro especifico o usurio deve clicar no cone selecionar, ou
clicar em marca todos;
3.4.4.O Sistema retornar ao [FP 3.1.7] aps o operador selecionar um registro.
Extenses: No existem.
Ps-Condies: Matricula da pessoa (aluno) efetuada com xito.
Fluxo Alternativo
Extenses: Emitir comprovante.
Ps-Condies: Obra reservada com sucesso.
Reserva cancelada com sucesso.
Regras de Negcio:
1. A Pessoa s poder reservar uma obra quando ela j esteja emprestada para outra Pessoa ou
com algum impedimento temporrio, mas nunca quando o mesmo possuir itens disponveis no
acervo.
67
Fluxo Alternativo
[FA1] Pessoa ou item impossibilitados para emprstimos
1. Vai para o [UC16] e se a Pessoa possuir um estado que o impea de efetuar algum emprstimo,
o sistema exibir a mensagem Emprstimo indisponvel no momento: motivo XXXXXX.
2. Vai para o [UC15] e se o item no estiver disponvel para ser emprestado, o sistema exibir a
mensagem Item indisponvel no momento: motivo XXXXXX.
Extenses: Emitir comprovante.
Ps-Condies: Obra reservada com sucesso.
Reserva cancelada com sucesso.
Regras de Negcio:
1. A Pessoa s poder efetuar o emprstimo de um item se no possuir impedimento.
Extenses: Emitir comprovante.
Ps-Condies: Item emprestado com sucesso.
1 Itens no localizados
1.1 Caso no exista nenhum item emprestado a Pessoa o operador encerra o caso de uso.
Regras de Negcio:
1. Pessoa bloqueada no pode efetuar emprstimo ou reservas;
2. Pessoa liberada deve ser validada para emprstimo desde que no possua mais
emprstimos do que permitido para seu perfil e no possuam emprstimos em atraso;
3. Pessoa liberada deve ser validada para reserva desde que no possua mais reservas do
que permitido para seu perfil
RD03: O Item deve possuir os seguintes dados: IdItem, IdObra, status, Estado
de Conservao, Obs e tipo;
RD04: O Livro deve possuir os seguintes dados alm dos dados do item:
IdItem e tipo do livro;
RD06: O Multimdia deve possuir os seguintes dados alm dos dados do item:
tipo multimdia, idItem e tempo;
71
RD07: O Mapa deve possuir os seguintes dados alm dos dados do item: tipo
mapa e iditem;
PESSOA
Atributo Tipo Descrio
IdPessoa Iteger Identificador interno do aluno no sistema
IdTipoPessoa Integerr Identificador da tabela Tipo_Pessoa
Nome String Nome do aluno
DtNasc Date Data de nascimento
Logradouro String Nome do logradouro (Rua, Av., etc)
Numero Integer Nmero
Complemento String Complemento do endereo
Bairro String Bairro
Cep String Cep
Cidade String Cidade
UF String Unidade Federativa = Estado
Telefone String Telefone fixo
Celular String Telefone mvel
email String Correio eletrnico
Status String Status da pessoa = Liberado ou Bloqueado
Obs Blob Informaes complementares desejadas
73
Quadro 16 Pessoa
TIPO_PESSOA
Atributo Tipo Descrio
IdTipoPessoa Integer Identificador interno do tipo de pessoa
Descrio String Descrio do tipo de pessoa
NumeroEmprestimos Integer Determina o numero mximo de emprstimos
PrazoEmprestimo Integer Numero de dias para emprstimo
NumeroReservas Integer Nmero mximo de reservas
PrazoReserva Integer Nmero de dias para reservas
Acesso String Permisso ao sistema do tipo de pessoa
Controle Integer Identificador da tabela Modulos
Quadro 17 Tipo_Pessoa
TURMA
Atributo Tipo Descrio
IdTurma Integer Identificador interno da turma
Turno String Manh, Tarde ou Noite
AnoBase Integer Ano de operao da turma
Letra String Identificador adicional das turmas
Serie Integer Srie da turma
Ensino String Fundamental ou mdio
Quadro 18 Turma
ITEM
Atributo Tipo Descrio
74
Quadro 19 Item
PERIDICO
Atributo Tipo Descrio
Periodicidade String Periodicidade
IdItem Integer Identificador da tabela Item
Quadro 20 Peridico
MULTIMDIA
Atributo Tipo Descrio
TipoMultimidia Integer Descrio da multimdia
Tempo Time Tempo de durao
IdItem Integer Identificador da tabela Item
Quadro 21 Multimdia
MAPA
Atributo Tipo Descrio
TipoMapa String Descrio do mapa
IdItem Integer Identificador da tabela Item
Quadro 22 Mapa
LIVRO
Atributo Tipo Descrio
TipoLivro String Livro literrio ou Didtico
IdItem Integer Identificador da tabela Item
Quadro 23 Livro
EMPRSTIMO
Atributo Tipo Descrio
IdEmprestimo Integer Identificador interno do emprstimo no sistema
DataEmprestimo Date Data do efetivo emprstimo
HoraEmprestimo Time Hora do efetivo emprstimo
IdPessoa Integer Identificador da tabela Pessoa
Quadro 24 Emprstimo
75
RESERVA
Atributo Tipo Descrio
IdReserva Integer Identificador interno da reserva no sistema
IdPessoa Integer Identificador da tabela Pessoa
Data Date Data da reserva
Quadro 25 Reserva
OBRA_CATEGORIA
Atributo Tipo Descrio
IdCategoria Integer Identificador da tabela Categoria
IdObra Integer Identificador da tabela Obra
Quadro 26 Obra_Categoria
AUTOR
Atributo Tipo Descrio
IdAutor Integer Identificador interno do autor
Nome String Nome do autor
Quadro 27 Autor
CATEGORIA
Atributo Tipo Descrio
IdCategoria Integer Identificador interno da categoria
Descricao String Descrio resumida da categoria
Quadro 28 Categoria
OBRA
Atributo Tipo Descrio
IdObra Integer Identificador interno da Obra
IsbnIsnn String Cdigo individual da obra
Titulo String Titulo da obra
Descricao String Descrio resumida da Obra
Edicao String Edio da Obra
Editora String Editora da Obra
Ano Integer Ano de publicao da obra
Quadro 29 Obra
OBRA_AUTOR
Atributo Tipo Descrio
IdObra Integer Identificador da tabela Obra
IdAutor Integer Identificador da tabela Autor
Quadro 30 Obra_Autor
76
PESSOA_TURMA
Atributo Tipo Descrio
IdTurma Integer Identificador da tabela Turma
IdPessoa Integer Identificador da tabela Pessoa
Sala String Sala fsica de lotao
Atual String Sim/No
IdPessoaTurma Integer Identificador interno da tabela Pessoa_Turma
DataCadastro Date Data da matricula
Quadro 31 Pessoa_Turma
RESERVA_OBRA
Atributo Tipo Descrio
IdObra Integer Identificador da tabela Obra
IdReserva Integer Identificador da tabela Reserva
IdReservaObra Integer Identificador interno da tabela Reserva_Obra
Status String Status da reserva (aguardando...)
DataProvavel Date Data provvel para emprestimo
Quadro 32 Reserva_Obra
ITEM_EMPRESTIMO
Atributo Tipo Descrio
IdEmprestimo Integer Identificador da tabela Emprestimo
IdItem Integer Identificador da tabela Item
DataParaDevolucao Date Data prevista para devoluo do item emprestado
DataDevolvida Date Data efetiva da devoluo
IdItemEmprestimo Integer Identificador interno da Tabela Item_Emprestimo
Quadro 33 Item_Emprestimo
LOG
Atributo Tipo Descrio
IdLog Integer Identificador interno do log
Tabela String Tabela que o operador acessou
Operao realizada na tabela (Update, Delete, Insert ou
Operacao String
Select)
Query String SQL realizada
Quadro 34 Log
MODULOS
Atributo Tipo Descrio
Controle Integer Identificador interno do mdulo
Incluir String Permisso para incluir
Alterar String Permisso para alterar
Excluir String Permisso para excluir
Consultar String Permisso para consultar
Descricao String Consideraes sobre o mdulo
Quadro 35 Modulos
77
4 Modelagem e Anlise
5
Em http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/index.htm acessado em 12 de
agosto de 2009 e Giglio (2006).
78
Figura 10 D.T.R
98
5 Modelagem de Projeto
Para esse Projeto ser utilizado o banco de dados FireBird 2.1 e a linguagem de
programao Delphi 7.
Quanto arquitetura, para Jazayeri et al. (2000) ela tida como uma ferramenta
para lidar com a complexidade do software alm de enfatizar que ela deve satisfazer
os requisitos funcionais e no funcionais do sistema, incrementando a definio de
que arquitetura de software o conjunto de componentes e seus relacionamentos.
Portanto, possvel notar que ela mais do que a descrio dos componentes que
a compem e do relacionamento entre eles.
View Controller
Model
Modelo MVC
VIEW
CONTROLLER
MODEL
BANCO DE DADOS
6
Impedncia (< ingls impedance < to impede = "imped-[ir]" + "-ncia" [sufixo substantivador]),
genericamente, significa uma medida de impedimento ou oposio. Disponvel em:
http://dicionario.babylon.com/
102
Figura 14 DTR
104
Figura 15 Pessoa
7
Singleton: Assegura que uma classe possua somente uma instncia e fornece um ponto
global de acesso a essa instncia.
105
6 Processo de Testes
O processo de testes um componente crucial em um processo de qualidade
de software alm de ser uma das atividades mais desafiadoras e custosas
cumpridas durante o desenvolvimento e manuteno de um produto de software.
Para Pressman (2006), uma estratgia de teste de software integra mtodos
de projeto de casos de teste em uma planejada srie de passos, que resultam em
uma construo bem-sucedida do software. Tal estratgia visa fornecer um roteiro
que descreve os passos a serem conduzidos como parte do teste, quando esses
passos so planejados e depois executados, e quanto de esforo, recurso e tempo
sero necessrios.
Itens de Teste
Efetuar Login
o Login;
o Logouf.
Incluso, alterao e excluso de informaes no banco de dados:
o Tipo de pessoa;
o Pessoa;
o Turma;
o Categoria;
o Obra;
o Autor;
o Item (livro, mapa, peridico ou multimdia);
o Operador;
o Associao de Aluno e Turma;
o Reserva;
o Emprstimo;
o Devoluo.
Emisso de comprovante:
o Reserva ;
o Emprstimo;
o Devoluo.
Emisso de relatrio:
o Obras;
o Pessoas;
o Reserva;
o Emprstimo;
o Devoluo.
Caractersticas Descrio
Funcionalidades Verificar se o sistema executa corretamente suas
funes normais, alm da integridade e armazenamento
dos dados inseridos no sistema. Portanto, os casos de
testes sero desenvolvidos e introduzidos no sistema;
as sadas sero examinadas para testar sua correo.
Foram definidos todos os Casos de Uso para o projeto LibSys no item 3.2.3.4.
A partir deles, sero observados os fluxos de dados principais e alternativos atravs
de Diagramas de Atividades UML e sero criados casos e procedimentos de testes
que avaliam todos os caminhos dos fluxos observados para cada Caso de Uso com
o objetivo de test-lo pelo menos uma vez.
107
7 Implementao e Testes
7.1 Implementao
de dados
untCadastroCategoria Implementao do
frmCadastroCategoria
untCategoria Implementao do
frmPesquisaCategoria
Categoria Classe que Implementa a camada de
controller, em que toda a regra de
negcio se encontra (mtodos e
validaes)
CategoriaDAO Classe que Implementa a camada
responsvel pela interao com o bando
de dados
untCadastroItens Implementao do frmCadastroItens
untPesquisaItens Implementao do frmPesquisaItens
Item Classe que Implementa a camada de
controller, em que toda a regra de
negcio se encontra (mtodos e
validaes)
ItemDAO Implementao a camada responsvel
pela interao com o banco de dados
untCadastroObras Implementao do frmCadastroObras
untPesquisaObras Implementao do frmPesquisaObras
Obra Classe que Implementa a camada de
controller, em que toda a regra de
negcio se encontra (mtodos e
validaes)
ObraDAO Classe que Implementa a camada
responsvel pela interao com o banco
de dados
untCadastroPessoas Implementao do frmCadastroPessoas
untPesquisaPessoas Implementao do frmPesquisaPessoas
Pessoa Classe que Implementa a camada de
controller, em que toda a regra de
negcio se encontra (mtodos e
validaes)
PessoaDAO Classe que Implementa a camada
responsvel pela interao com o banco
de dados
untCadastroTipoPessoa Implementao do
frmCadastroTipoPessoa
untPesquisaTipoPessoa Implementao do
frmPesquisaTipoPessoa
TipoPessoa Classe que Implementa a camada de
controller, em que toda a regra de
negcio se encontra (mtodos e
validaes)
TipoPessoaDAO Classe que Implementa a camada
responsvel pela interao com o banco
de dados
115
ReservaDAO
EmprestimoDAO
TurmaDAO
VerificaReservas
VerificaDesbloqueios
Controller Autor
Categoria
Item
Turma
Obra
Pessoa
TipoPessoa
Reserva
Emprstimo
Livro
Mapa
Peridico
Multimdia
untBiblioteca
View untCadastroAutor
untPesquisaAutor
untCadastroCategoria
untPesquisaCategoria
untCadastoItens
untPesquisaItens
untCadastroTurma
untPesquisaTurma
untCadastroMatricula
untPesquisaMatricula
untCadastroObras
untPesquisaObras
untCadastroPessoas
untPesquisaPessoas
untCadastroTipoPessoa
untPesquisaTipoPessoa
untCadastroReservas
untListagemReservas
untReservas
untExibeReservas
untCadastroEmprestimo
untEmprestimos
untControleAcesso
untListagemDesbloqueados
Passos Passou
Passos Passou
8 Documentao
Para a instalao do LibSys foi entregue ao cliente uma mdia CD-R, na qual
encontra-se gravado um executvel Install_LibSys.exe gerado atravs da
ferramenta Inno Setup 5.
Neste mesmo CD-R encontra-se o Manual de instalao.
9 Fechamento do Projeto
A coleta dos dados foi realizada tomando-se por base duas situaes: uma
existente antes da implantao do sistema e outra, aps sua implantao. Para tanto
foram analisados os seguintes aspectos:
1. Levantamento de emprstimos em atraso: Tempo gasto para fazer o
levantamento dos emprstimos de itens que no foram devolvidos na
data prevista;
Pesquisa no Acervo
Medio Data Hora Inicial Hora Final Tempo
1 18/09/2009 19:50 19:55 0:05
2 18/09/2009 20:15 20:24 0:09
3 18/09/2009 20:53 20:57 0:04
4 18/09/2009 21:03 21:10 0:07
Emprstimo de Itens
Medio Data Hora Inicial Hora Final Tempo
1 18/09/2009 18:00 18:12 0:12
2 18/09/2009 18:12 18:22 0:10
3 18/09/2009 18:30 18:44 0:14
4 18/09/2009 19:01 19:14 0:13
Pesquisa no Acervo
Medio Data Hora Inicial Hora Final Tempo
1 17/11/2009 19:30:00 19:30:29 0:0:29
2 17/11/2009 19:47:02 19:47:50 0:0:48
3 17/11/2009 19:59:52 20:00:28 0:0:36
4 17/11/2009 20:09:00 20:09:16 0:0:16
Emprstimo de Itens
Medio Data Hora Inicial Hora Final Tempo
1 17/11/2009 19:33:00 19:34:14 0:01:14
2 17/11/2009 19:40:50 19:42:00 0:01:10
3 17/11/2009 19:43:04 19:44:20 0:01:16
4 17/11/2009 19:45:00 19:46:29 0:01:29
128
2000
1500
Tempo em
1000
minutos
Antes
500
0 Depois
1
2
medies
Pesquisa no Acervo
600
500
400
Tempo em
300
segundos
200
100
Antes
0
1 Depois
2
3
4
Medies
Emprstimo de Itens
1000
800
600
Tempo em
segundos 400
200
Antes
0
1 Depois
2
3
4
Medies
9.2.3 Concluso
10 Consideraes Finais
Ao longo do planejamento deste Projeto, foram colocados em prtica os
ensinamentos recebidos, em sala de aula, referentes s disciplinas de Engenharia
de Softtware, Controle de Qualidade, Banco de Dados, Anlise de Sistemas e
Linguagens de Programao, sendo possvel a real aplicao dos contedos
ministrados pelos professores.
Traando um paralelo entre a teoria da sala de aula e a prtica no
desenvolvimento da etapa de planejamento do projeto, pode-se dizer que o
contedo disponibilizado pelos professores serviu de ponto de partida para a
execuo dos trabalhos e que a sua concluso s foi possvel aps o
aprofundamento dos ensinamentos anteriormente recebidos.
Durante a etapa de implementao, foram encontrados diversos desafios, que
se trabalhou para que fossem superados. Por exemplo, a construo de um projeto
em Delphi seguindo a metodologia orientada a objetos, exigiu muito esforo de
aprendizagem, o que foi alcanado em um curto espao de tempo, sendo isso
possvel devido ajuda de colegas mais experientes.
De forma geral, preciso destacar que este projeto contribui de maneira
significativa para minha formao profissional, pois se sustenta e elaborado
contemplando todas as etapas necessrias para o desenvolvimento, slido e
eficiente, de projetos de sistemas de informao.
O fechamento deste projeto foi a etapa mais gratificante para mim, uma vez
que pude perceber que tal projeto culminou em um sistema que veio a atender as
131
Referncias Bibliogrficas